react-native-grab 0.0.2 → 0.0.4
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/README.md +6 -5
- package/dist/cjs/metro/withReactNativeGrab.js +31 -31
- package/dist/cjs/metro/withReactNativeGrab.js.map +1 -1
- package/dist/cjs/react-native/__tests__/dom-traversal.test.js +160 -0
- package/dist/cjs/react-native/__tests__/dom-traversal.test.js.map +1 -0
- package/dist/cjs/react-native/__tests__/mock-dom.js +65 -0
- package/dist/cjs/react-native/__tests__/mock-dom.js.map +1 -0
- package/dist/cjs/react-native/__tests__/setup.js +43 -0
- package/dist/cjs/react-native/__tests__/setup.js.map +1 -0
- package/dist/cjs/react-native/__tests__/z-index.test.js +106 -0
- package/dist/cjs/react-native/__tests__/z-index.test.js.map +1 -0
- package/dist/cjs/react-native/copy-payload.js +65 -69
- package/dist/cjs/react-native/copy-payload.js.map +1 -1
- package/dist/cjs/react-native/dom-traversal.js +170 -126
- package/dist/cjs/react-native/dom-traversal.js.map +1 -1
- package/dist/cjs/react-native/fiber.js +16 -16
- package/dist/cjs/react-native/fiber.js.map +1 -1
- package/dist/cjs/react-native/get-dev-server.js +9 -0
- package/dist/cjs/react-native/get-dev-server.js.map +1 -0
- package/dist/cjs/react-native/index.js +346 -260
- package/dist/cjs/react-native/index.js.map +1 -1
- package/dist/cjs/react-native/index.web.js +8 -0
- package/dist/cjs/react-native/index.web.js.map +1 -0
- package/dist/cjs/react-native/pointer-events.js +25 -28
- package/dist/cjs/react-native/pointer-events.js.map +1 -1
- package/dist/cjs/react-native/selection-trigger.js +1 -1
- package/dist/cjs/react-native/settings.js +7 -10
- package/dist/cjs/react-native/settings.js.map +1 -1
- package/dist/cjs/react-native/symbolicate.js.map +1 -1
- package/dist/cjs/react-native/types.js +0 -4
- package/dist/cjs/react-native/types.js.map +1 -1
- package/dist/cjs/react-native/z-index.js +23 -5
- package/dist/cjs/react-native/z-index.js.map +1 -1
- package/dist/esm/metro/index.js +1 -1
- package/dist/esm/metro/withReactNativeGrab.js +33 -33
- package/dist/esm/metro/withReactNativeGrab.js.map +1 -1
- package/dist/esm/react-native/__tests__/dom-traversal.test.js +158 -0
- package/dist/esm/react-native/__tests__/dom-traversal.test.js.map +1 -0
- package/dist/esm/react-native/__tests__/mock-dom.js +58 -0
- package/dist/esm/react-native/__tests__/mock-dom.js.map +1 -0
- package/dist/esm/react-native/__tests__/setup.js +41 -0
- package/dist/esm/react-native/__tests__/setup.js.map +1 -0
- package/dist/esm/react-native/__tests__/z-index.test.js +104 -0
- package/dist/esm/react-native/__tests__/z-index.test.js.map +1 -0
- package/dist/esm/react-native/copy-payload.js +67 -71
- package/dist/esm/react-native/copy-payload.js.map +1 -1
- package/dist/esm/react-native/dom-traversal.js +173 -127
- package/dist/esm/react-native/dom-traversal.js.map +1 -1
- package/dist/esm/react-native/fiber.js +17 -17
- package/dist/esm/react-native/fiber.js.map +1 -1
- package/dist/esm/react-native/get-dev-server.js +3 -0
- package/dist/esm/react-native/get-dev-server.js.map +1 -0
- package/dist/esm/react-native/index.js +351 -262
- package/dist/esm/react-native/index.js.map +1 -1
- package/dist/esm/react-native/index.web.js +4 -0
- package/dist/esm/react-native/index.web.js.map +1 -0
- package/dist/esm/react-native/pointer-events.js +26 -29
- package/dist/esm/react-native/pointer-events.js.map +1 -1
- package/dist/esm/react-native/selection-trigger.js +1 -1
- package/dist/esm/react-native/settings.js +6 -6
- package/dist/esm/react-native/settings.js.map +1 -1
- package/dist/esm/react-native/symbolicate.js +2 -2
- package/dist/esm/react-native/symbolicate.js.map +1 -1
- package/dist/esm/react-native/types.js +0 -4
- package/dist/esm/react-native/types.js.map +1 -1
- package/dist/esm/react-native/z-index.js +24 -6
- package/dist/esm/react-native/z-index.js.map +1 -1
- package/dist/types/metro/index.d.ts +1 -1
- package/dist/types/metro/withReactNativeGrab.d.ts.map +1 -1
- package/dist/types/react-native/__tests__/dom-traversal.test.d.ts +2 -0
- package/dist/types/react-native/__tests__/dom-traversal.test.d.ts.map +1 -0
- package/dist/types/react-native/__tests__/mock-dom.d.ts +24 -0
- package/dist/types/react-native/__tests__/mock-dom.d.ts.map +1 -0
- package/dist/types/react-native/__tests__/setup.d.ts +2 -0
- package/dist/types/react-native/__tests__/setup.d.ts.map +1 -0
- package/dist/types/react-native/__tests__/z-index.test.d.ts +2 -0
- package/dist/types/react-native/__tests__/z-index.test.d.ts.map +1 -0
- package/dist/types/react-native/copy-payload.d.ts +1 -1
- package/dist/types/react-native/copy-payload.d.ts.map +1 -1
- package/dist/types/react-native/dom-traversal.d.ts +19 -6
- package/dist/types/react-native/dom-traversal.d.ts.map +1 -1
- package/dist/types/react-native/fiber.d.ts +1 -1
- package/dist/types/react-native/fiber.d.ts.map +1 -1
- package/dist/types/react-native/get-dev-server.d.ts +3 -0
- package/dist/types/react-native/get-dev-server.d.ts.map +1 -0
- package/dist/types/react-native/index.d.ts +1 -1
- package/dist/types/react-native/index.d.ts.map +1 -1
- package/dist/types/react-native/index.web.d.ts +2 -0
- package/dist/types/react-native/index.web.d.ts.map +1 -0
- package/dist/types/react-native/pointer-events.d.ts +2 -2
- package/dist/types/react-native/pointer-events.d.ts.map +1 -1
- package/dist/types/react-native/settings.d.ts.map +1 -1
- package/dist/types/react-native/symbolicate.d.ts +1 -1
- package/dist/types/react-native/symbolicate.d.ts.map +1 -1
- package/dist/types/react-native/types.d.ts +3 -11
- package/dist/types/react-native/types.d.ts.map +1 -1
- package/dist/types/react-native/z-index.d.ts +1 -1
- package/dist/types/react-native/z-index.d.ts.map +1 -1
- package/package.json +30 -27
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import DebuggingOverlayRegistry from
|
|
2
|
-
import { getMemoizedProps, hasFiberNodeInInternalInstanceHandle, } from
|
|
3
|
-
import { getPointerEventsMode, isNodeDisplayed
|
|
4
|
-
import { getChildrenInHitTestOrder } from
|
|
5
|
-
const key = Object.getOwnPropertyNames(DebuggingOverlayRegistry).find(key => key.endsWith(
|
|
1
|
+
import DebuggingOverlayRegistry from "react-native/Libraries/Debugging/DebuggingOverlayRegistry";
|
|
2
|
+
import { getMemoizedProps, getNormalizedStyle, hasFiberNodeInInternalInstanceHandle, } from "./fiber";
|
|
3
|
+
import { getPointerEventsMode, isNodeDisplayed } from "./pointer-events";
|
|
4
|
+
import { getChildrenInHitTestOrder } from "./z-index";
|
|
5
|
+
const key = Object.getOwnPropertyNames(DebuggingOverlayRegistry).find((key) => key.endsWith("findLowestParentFromRegistryForInstance"));
|
|
6
6
|
const findLowestParentFromRegistryForInstance = DebuggingOverlayRegistry[key].bind(DebuggingOverlayRegistry);
|
|
7
|
-
const
|
|
7
|
+
const RULE_REJECT = 1 << 0;
|
|
8
|
+
const getRootNode = (anchorRef) => {
|
|
8
9
|
const anchor = anchorRef.current;
|
|
9
10
|
return anchor?.ownerDocument?.documentElement ?? null;
|
|
10
11
|
};
|
|
@@ -13,22 +14,13 @@ const buildSkipSet = (skipRefs) => {
|
|
|
13
14
|
.map((r) => r.current)
|
|
14
15
|
.filter((n) => n != null));
|
|
15
16
|
};
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
if (rect.width <= 0 || rect.height <= 0) {
|
|
17
|
+
const hasPointInBounds = (rectX, rectY, rectWidth, rectHeight, x, y) => {
|
|
18
|
+
if (rectWidth <= 0 || rectHeight <= 0) {
|
|
19
19
|
return false;
|
|
20
20
|
}
|
|
21
|
-
return
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
y <= rect.y + rect.height);
|
|
25
|
-
};
|
|
26
|
-
const hitResult = (node, rect) => ({
|
|
27
|
-
kind: 'hit',
|
|
28
|
-
node,
|
|
29
|
-
rect,
|
|
30
|
-
});
|
|
31
|
-
export const getElementHighlightRect = (element, rootViewInstance) => {
|
|
21
|
+
return x >= rectX && x < rectX + rectWidth && y >= rectY && y < rectY + rectHeight;
|
|
22
|
+
};
|
|
23
|
+
const getElementHighlightRect = (element, rootViewInstance) => {
|
|
32
24
|
const { x, y, width, height } = element.getBoundingClientRect();
|
|
33
25
|
const { x: parentX, y: parentY } = rootViewInstance.getBoundingClientRect();
|
|
34
26
|
return {
|
|
@@ -38,7 +30,7 @@ export const getElementHighlightRect = (element, rootViewInstance) => {
|
|
|
38
30
|
height,
|
|
39
31
|
};
|
|
40
32
|
};
|
|
41
|
-
const
|
|
33
|
+
const getEffectiveRectBase = (node) => {
|
|
42
34
|
const lowestParent = findLowestParentFromRegistryForInstance(node);
|
|
43
35
|
if (!lowestParent) {
|
|
44
36
|
return { x: 0, y: 0, width: 0, height: 0 };
|
|
@@ -46,10 +38,10 @@ const getEffectiveRect = (node) => {
|
|
|
46
38
|
return getElementHighlightRect(node, lowestParent.rootViewRef.current);
|
|
47
39
|
};
|
|
48
40
|
const toFiniteNumber = (value) => {
|
|
49
|
-
if (typeof value ===
|
|
41
|
+
if (typeof value === "number" && Number.isFinite(value)) {
|
|
50
42
|
return value;
|
|
51
43
|
}
|
|
52
|
-
if (typeof value ===
|
|
44
|
+
if (typeof value === "string") {
|
|
53
45
|
const parsed = Number(value);
|
|
54
46
|
if (Number.isFinite(parsed)) {
|
|
55
47
|
return parsed;
|
|
@@ -57,145 +49,199 @@ const toFiniteNumber = (value) => {
|
|
|
57
49
|
}
|
|
58
50
|
return null;
|
|
59
51
|
};
|
|
52
|
+
const toBoolean = (value) => {
|
|
53
|
+
if (typeof value === "boolean") {
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
if (typeof value === "string") {
|
|
57
|
+
if (value === "true") {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
if (value === "false") {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
};
|
|
66
|
+
const getRNSTabsScreenFocusedState = (node) => {
|
|
67
|
+
if (node.tagName !== "RN:RNSTabsScreen") {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
const props = getMemoizedProps(node);
|
|
71
|
+
return toBoolean(props?.isFocused);
|
|
72
|
+
};
|
|
60
73
|
const getRNSScreenActivityState = (node) => {
|
|
61
|
-
if (node.tagName !==
|
|
74
|
+
if (node.tagName !== "RN:RNSScreen") {
|
|
62
75
|
return null;
|
|
63
76
|
}
|
|
64
77
|
const props = getMemoizedProps(node);
|
|
65
78
|
return toFiniteNumber(props?.activityState);
|
|
66
79
|
};
|
|
67
|
-
const
|
|
68
|
-
if (skipSet.has(node)) {
|
|
69
|
-
return
|
|
80
|
+
const skipRule = (node, runtime) => {
|
|
81
|
+
if (runtime.skipSet.has(node)) {
|
|
82
|
+
return RULE_REJECT;
|
|
70
83
|
}
|
|
71
|
-
if (skipPredicate
|
|
72
|
-
return
|
|
84
|
+
if (runtime.skipPredicate(node)) {
|
|
85
|
+
return RULE_REJECT;
|
|
73
86
|
}
|
|
87
|
+
return 0;
|
|
88
|
+
};
|
|
89
|
+
const rnsVisibilityRule = (node) => {
|
|
74
90
|
const rnsScreenActivityState = getRNSScreenActivityState(node);
|
|
75
91
|
if (rnsScreenActivityState !== null && rnsScreenActivityState !== 2) {
|
|
76
|
-
return
|
|
92
|
+
return RULE_REJECT;
|
|
77
93
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
allowChildTraversal: true,
|
|
82
|
-
};
|
|
94
|
+
const rnsTabsScreenFocusedState = getRNSTabsScreenFocusedState(node);
|
|
95
|
+
if (rnsTabsScreenFocusedState !== null && !rnsTabsScreenFocusedState) {
|
|
96
|
+
return RULE_REJECT;
|
|
83
97
|
}
|
|
98
|
+
return 0;
|
|
99
|
+
};
|
|
100
|
+
const getHitTargetCapabilities = (node) => {
|
|
84
101
|
if (!isNodeDisplayed(node)) {
|
|
85
102
|
return null;
|
|
86
103
|
}
|
|
87
104
|
const pointerEvents = getPointerEventsMode(node);
|
|
88
|
-
if (pointerEvents ===
|
|
105
|
+
if (pointerEvents === "none") {
|
|
89
106
|
return null;
|
|
90
107
|
}
|
|
91
108
|
const hasFiberNode = hasFiberNodeInInternalInstanceHandle(node);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
if (pointerEvents === 'box-only') {
|
|
99
|
-
return {
|
|
100
|
-
allowSelfHit: true,
|
|
101
|
-
allowChildTraversal: false,
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
if (pointerEvents === 'box-none') {
|
|
105
|
-
return {
|
|
106
|
-
allowSelfHit: false,
|
|
107
|
-
allowChildTraversal: true,
|
|
108
|
-
};
|
|
109
|
+
const canBeTouchTarget = hasFiberNode && (pointerEvents === "auto" || pointerEvents === "box-only");
|
|
110
|
+
const canChildrenBeTouchTarget = pointerEvents === "auto" || pointerEvents === "box-none";
|
|
111
|
+
if (!canBeTouchTarget && !canChildrenBeTouchTarget) {
|
|
112
|
+
return null;
|
|
109
113
|
}
|
|
110
114
|
return {
|
|
111
|
-
|
|
112
|
-
|
|
115
|
+
canBeTouchTarget,
|
|
116
|
+
canChildrenBeTouchTarget,
|
|
113
117
|
};
|
|
114
118
|
};
|
|
115
|
-
const
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
119
|
+
const shouldClipOverflow = (node) => {
|
|
120
|
+
const style = getNormalizedStyle(node);
|
|
121
|
+
const overflow = style?.overflow;
|
|
122
|
+
// Fabric uses layout overflow insets in hit testing. Those insets are not exposed
|
|
123
|
+
// in this DOM traversal API, so we approximate by clipping when explicit overflow
|
|
124
|
+
// behavior is hidden/scroll and otherwise allow overflow hits.
|
|
125
|
+
return overflow === "hidden" || overflow === "scroll";
|
|
126
|
+
};
|
|
127
|
+
const safeAreaStateRule = (node, rectHeight, runtime, state) => {
|
|
128
|
+
if (node.tagName !== "RN:RNSSafeAreaView") {
|
|
129
|
+
return;
|
|
127
130
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
const originalRect = getEffectiveRect(node);
|
|
132
|
-
const currentYOffset = Number(context.traversalState.yOffset ?? 0);
|
|
133
|
-
const rect = {
|
|
134
|
-
x: originalRect.x,
|
|
135
|
-
y: originalRect.y + currentYOffset,
|
|
136
|
-
width: originalRect.width,
|
|
137
|
-
height: originalRect.height,
|
|
138
|
-
yOffset: currentYOffset,
|
|
139
|
-
};
|
|
140
|
-
context.effectiveRectCache.set(node, rect);
|
|
141
|
-
const policy = getTraversalPolicy(node, rect, x, y, skipSet, skipPredicate);
|
|
142
|
-
if (!policy) {
|
|
143
|
-
return MISS_RESULT;
|
|
144
|
-
}
|
|
145
|
-
const contextForChildren = { ...context };
|
|
146
|
-
if (node.tagName === 'RN:RNSSafeAreaView') {
|
|
147
|
-
const safeAreaParent = context.ancestorChain[context.ancestorChain.length - 1] ?? node.parentElement ?? null;
|
|
148
|
-
if (safeAreaParent) {
|
|
149
|
-
const safeAreaParentRect = context.effectiveRectCache.get(safeAreaParent) ?? getEffectiveRect(safeAreaParent);
|
|
150
|
-
if (safeAreaParentRect && rect.height >= 0 && safeAreaParentRect.height >= 0) {
|
|
151
|
-
const heightDelta = rect.height - safeAreaParentRect.height;
|
|
152
|
-
contextForChildren.traversalState = {
|
|
153
|
-
...context.traversalState,
|
|
154
|
-
yOffset: Number(context.traversalState.yOffset ?? 0) + heightDelta,
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
}
|
|
131
|
+
const safeAreaParent = runtime.ancestorChain[runtime.ancestorChain.length - 1] ?? node.parentElement ?? null;
|
|
132
|
+
if (!safeAreaParent || rectHeight < 0) {
|
|
133
|
+
return;
|
|
158
134
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
// Magic number - not sure why it's 8, but it is :shrug:
|
|
163
|
-
yOffset: Number(context.traversalState.yOffset ?? 0) - 8,
|
|
164
|
-
};
|
|
135
|
+
const safeAreaParentRect = getEffectiveRectBase(safeAreaParent);
|
|
136
|
+
if (safeAreaParentRect.height < 0) {
|
|
137
|
+
return;
|
|
165
138
|
}
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
139
|
+
const heightDelta = rectHeight - safeAreaParentRect.height;
|
|
140
|
+
state.yOffset += heightDelta;
|
|
141
|
+
};
|
|
142
|
+
const modalStateRule = (node, _rectHeight, _runtime, state) => {
|
|
143
|
+
if (node.tagName === "RN:RNSModalScreen") {
|
|
144
|
+
// Magic number - not sure why it's 8, but it is :shrug:
|
|
145
|
+
state.yOffset -= 8;
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const NODE_RULES = [skipRule, rnsVisibilityRule];
|
|
149
|
+
const STATE_RULES = [safeAreaStateRule, modalStateRule];
|
|
150
|
+
const applyNodeRules = (node, runtime) => {
|
|
151
|
+
let flags = 0;
|
|
152
|
+
for (let i = 0; i < NODE_RULES.length; i++) {
|
|
153
|
+
flags |= NODE_RULES[i](node, runtime);
|
|
154
|
+
if ((flags & RULE_REJECT) !== 0) {
|
|
155
|
+
return flags;
|
|
156
|
+
}
|
|
171
157
|
}
|
|
172
|
-
|
|
173
|
-
|
|
158
|
+
return flags;
|
|
159
|
+
};
|
|
160
|
+
const applyStateRules = (node, rectHeight, runtime, state) => {
|
|
161
|
+
for (let i = 0; i < STATE_RULES.length; i++) {
|
|
162
|
+
STATE_RULES[i](node, rectHeight, runtime, state);
|
|
174
163
|
}
|
|
175
|
-
return hitResult(node, rect);
|
|
176
164
|
};
|
|
177
|
-
|
|
178
|
-
const
|
|
179
|
-
|
|
165
|
+
const findHitTargetFromNode = (node, runtime, state, x, y) => {
|
|
166
|
+
const baseRect = getEffectiveRectBase(node);
|
|
167
|
+
const rectX = baseRect.x;
|
|
168
|
+
const rectY = baseRect.y + state.yOffset;
|
|
169
|
+
const rectWidth = baseRect.width;
|
|
170
|
+
const rectHeight = baseRect.height;
|
|
171
|
+
const nodeFlags = applyNodeRules(node, runtime);
|
|
172
|
+
if ((nodeFlags & RULE_REJECT) !== 0) {
|
|
180
173
|
return null;
|
|
181
174
|
}
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
175
|
+
const capabilities = getHitTargetCapabilities(node);
|
|
176
|
+
if (!capabilities) {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
const isPointInside = hasPointInBounds(rectX, rectY, rectWidth, rectHeight, x, y);
|
|
180
|
+
if (isPointInside && !capabilities.canChildrenBeTouchTarget) {
|
|
181
|
+
if (!capabilities.canBeTouchTarget) {
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
node,
|
|
186
|
+
rect: { x: rectX, y: rectY, width: rectWidth, height: rectHeight },
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
if (!isPointInside && shouldClipOverflow(node)) {
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
if (capabilities.canChildrenBeTouchTarget) {
|
|
193
|
+
const previousYOffset = state.yOffset;
|
|
194
|
+
runtime.ancestorChain.push(node);
|
|
195
|
+
applyStateRules(node, rectHeight, runtime, state);
|
|
196
|
+
const orderedChildren = getChildrenInHitTestOrder(node);
|
|
197
|
+
for (let i = orderedChildren.length - 1; i >= 0; i--) {
|
|
198
|
+
const childHit = findHitTargetFromNode(orderedChildren[i], runtime, state, x, y);
|
|
199
|
+
if (childHit) {
|
|
200
|
+
runtime.ancestorChain.pop();
|
|
201
|
+
state.yOffset = previousYOffset;
|
|
202
|
+
return childHit;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
runtime.ancestorChain.pop();
|
|
206
|
+
state.yOffset = previousYOffset;
|
|
207
|
+
}
|
|
208
|
+
if (!isPointInside || !capabilities.canBeTouchTarget) {
|
|
191
209
|
return null;
|
|
192
210
|
}
|
|
193
211
|
return {
|
|
194
|
-
|
|
195
|
-
|
|
212
|
+
node,
|
|
213
|
+
rect: { x: rectX, y: rectY, width: rectWidth, height: rectHeight },
|
|
196
214
|
};
|
|
197
215
|
};
|
|
198
|
-
export const
|
|
199
|
-
|
|
216
|
+
export const startSession = ({ anchorRef, skipRefs, skipPredicate = () => false, offset = 0, }) => {
|
|
217
|
+
const context = {
|
|
218
|
+
active: true,
|
|
219
|
+
root: getRootNode(anchorRef),
|
|
220
|
+
runtime: {
|
|
221
|
+
skipSet: buildSkipSet(skipRefs),
|
|
222
|
+
skipPredicate,
|
|
223
|
+
ancestorChain: [],
|
|
224
|
+
},
|
|
225
|
+
state: {
|
|
226
|
+
yOffset: offset,
|
|
227
|
+
},
|
|
228
|
+
defaultOffset: offset,
|
|
229
|
+
};
|
|
230
|
+
return {
|
|
231
|
+
move: ({ x, y, offset: moveOffset }) => {
|
|
232
|
+
if (!context.active || !context.root) {
|
|
233
|
+
return null;
|
|
234
|
+
}
|
|
235
|
+
context.state.yOffset = moveOffset ?? context.defaultOffset;
|
|
236
|
+
context.runtime.ancestorChain.length = 0;
|
|
237
|
+
return findHitTargetFromNode(context.root, context.runtime, context.state, x, y);
|
|
238
|
+
},
|
|
239
|
+
stop: () => {
|
|
240
|
+
context.active = false;
|
|
241
|
+
context.root = null;
|
|
242
|
+
context.runtime.ancestorChain.length = 0;
|
|
243
|
+
context.runtime.skipSet.clear();
|
|
244
|
+
},
|
|
245
|
+
};
|
|
200
246
|
};
|
|
201
247
|
//# sourceMappingURL=dom-traversal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-traversal.js","sourceRoot":"","sources":["../../../src/react-native/dom-traversal.ts"],"names":[],"mappings":"AAEA,OAAO,wBAAwB,MAAM,2DAA2D,CAAC;AACjG,OAAO,EACL,gBAAgB,EAChB,oCAAoC,GACrC,MAAM,SAAS,CAAC;AACjB,OAAO,
|
|
1
|
+
{"version":3,"file":"dom-traversal.js","sourceRoot":"","sources":["../../../src/react-native/dom-traversal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { StyleSheet } from
|
|
2
|
-
const FORWARD_REF_SYMBOL = Symbol.for(
|
|
3
|
-
const MEMO_SYMBOL = Symbol.for(
|
|
1
|
+
import { StyleSheet } from "react-native";
|
|
2
|
+
const FORWARD_REF_SYMBOL = Symbol.for("react.forward_ref");
|
|
3
|
+
const MEMO_SYMBOL = Symbol.for("react.memo");
|
|
4
4
|
const FUNCTION_COMPONENT_TAG = 0;
|
|
5
5
|
const CLASS_COMPONENT_TAG = 1;
|
|
6
6
|
const HOST_ROOT_TAG = 3;
|
|
@@ -14,7 +14,7 @@ const MEMO_COMPONENT_TAG = 14;
|
|
|
14
14
|
const SIMPLE_MEMO_COMPONENT_TAG = 15;
|
|
15
15
|
const SUSPENSE_LIST_TAG = 19;
|
|
16
16
|
const isRecord = (value) => {
|
|
17
|
-
return typeof value ===
|
|
17
|
+
return typeof value === "object" && value !== null;
|
|
18
18
|
};
|
|
19
19
|
export const getInternalInstanceHandle = (node) => {
|
|
20
20
|
const handle = node
|
|
@@ -24,7 +24,7 @@ export const getInternalInstanceHandle = (node) => {
|
|
|
24
24
|
return handle;
|
|
25
25
|
};
|
|
26
26
|
const isFiberNodeHandle = (handle) => {
|
|
27
|
-
return (typeof handle.tag ===
|
|
27
|
+
return (typeof handle.tag === "number" ||
|
|
28
28
|
handle.return != null ||
|
|
29
29
|
handle.type != null ||
|
|
30
30
|
handle.elementType != null ||
|
|
@@ -44,17 +44,17 @@ export const getMemoizedProps = (node) => {
|
|
|
44
44
|
return getFiberNodeFromInternalInstanceHandle(node)?.stateNode?.canonical?.currentProps;
|
|
45
45
|
};
|
|
46
46
|
const getDisplayName = (type) => {
|
|
47
|
-
if (typeof type ===
|
|
47
|
+
if (typeof type === "function") {
|
|
48
48
|
const value = type;
|
|
49
|
-
if (typeof value.displayName ===
|
|
49
|
+
if (typeof value.displayName === "string" && value.displayName) {
|
|
50
50
|
return value.displayName;
|
|
51
51
|
}
|
|
52
|
-
if (typeof value.name ===
|
|
52
|
+
if (typeof value.name === "string" && value.name) {
|
|
53
53
|
return value.name;
|
|
54
54
|
}
|
|
55
55
|
return null;
|
|
56
56
|
}
|
|
57
|
-
if (typeof type ===
|
|
57
|
+
if (typeof type === "string" && type) {
|
|
58
58
|
return type;
|
|
59
59
|
}
|
|
60
60
|
return null;
|
|
@@ -75,7 +75,7 @@ const resolveFiberType = (type) => {
|
|
|
75
75
|
return type;
|
|
76
76
|
};
|
|
77
77
|
const getWrappedDisplayName = (outerType, innerType, wrapperName, fallbackName) => {
|
|
78
|
-
if (isRecord(outerType) && typeof outerType.displayName ===
|
|
78
|
+
if (isRecord(outerType) && typeof outerType.displayName === "string") {
|
|
79
79
|
return outerType.displayName || fallbackName;
|
|
80
80
|
}
|
|
81
81
|
const innerName = getDisplayName(innerType);
|
|
@@ -99,24 +99,24 @@ export const getDisplayNameForFiber = (fiber) => {
|
|
|
99
99
|
case FUNCTION_COMPONENT_TAG:
|
|
100
100
|
return getDisplayName(resolvedType);
|
|
101
101
|
case FORWARD_REF_TAG:
|
|
102
|
-
return getWrappedDisplayName(elementType, resolvedType,
|
|
102
|
+
return getWrappedDisplayName(elementType, resolvedType, "ForwardRef", "Anonymous");
|
|
103
103
|
case HOST_ROOT_TAG:
|
|
104
104
|
return null;
|
|
105
105
|
case HOST_COMPONENT_TAG:
|
|
106
|
-
return typeof type ===
|
|
106
|
+
return typeof type === "string" ? type : null;
|
|
107
107
|
case HOST_TEXT_TAG:
|
|
108
108
|
return null;
|
|
109
109
|
case FRAGMENT_TAG:
|
|
110
|
-
return
|
|
110
|
+
return "Fragment";
|
|
111
111
|
case MEMO_COMPONENT_TAG:
|
|
112
112
|
case SIMPLE_MEMO_COMPONENT_TAG:
|
|
113
|
-
return getWrappedDisplayName(elementType, resolvedType,
|
|
113
|
+
return getWrappedDisplayName(elementType, resolvedType, "Memo", "Anonymous");
|
|
114
114
|
case SUSPENSE_TAG:
|
|
115
|
-
return
|
|
115
|
+
return "Suspense";
|
|
116
116
|
case SUSPENSE_LIST_TAG:
|
|
117
|
-
return
|
|
117
|
+
return "SuspenseList";
|
|
118
118
|
case PROFILER_TAG:
|
|
119
|
-
return
|
|
119
|
+
return "Profiler";
|
|
120
120
|
default:
|
|
121
121
|
return getDisplayName(resolvedType);
|
|
122
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fiber.js","sourceRoot":"","sources":["../../../src/react-native/fiber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAmB1C,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAE7C,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE;IACpE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,
|
|
1
|
+
{"version":3,"file":"fiber.js","sourceRoot":"","sources":["../../../src/react-native/fiber.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-dev-server.js","sourceRoot":"","sources":["../../../src/react-native/get-dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mDAAmD,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,CAAA"}
|