react-native-grab 0.0.5 → 0.0.6
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 +5 -4
- package/dist/cjs/react-native/dev-menu.js +4 -4
- package/dist/cjs/react-native/dev-menu.js.map +1 -1
- package/dist/cjs/react-native/grab-overlay.js +51 -21
- package/dist/cjs/react-native/grab-overlay.js.map +1 -1
- package/dist/esm/react-native/dev-menu.js +4 -4
- package/dist/esm/react-native/dev-menu.js.map +1 -1
- package/dist/esm/react-native/grab-overlay.js +52 -22
- package/dist/esm/react-native/grab-overlay.js.map +1 -1
- package/dist/types/react-native/grab-overlay.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -65,10 +65,11 @@ Notes:
|
|
|
65
65
|
## Workflow
|
|
66
66
|
|
|
67
67
|
1. Start your app in development.
|
|
68
|
-
2. Open the React Native Dev Menu and select `React Native Grab`.
|
|
69
|
-
3.
|
|
70
|
-
4.
|
|
71
|
-
5.
|
|
68
|
+
2. Open the React Native Dev Menu and select `React Native Grab: Toggle Button`.
|
|
69
|
+
3. Tap the floating `Grab` button.
|
|
70
|
+
4. Touch and move on screen to select elements, then release to capture.
|
|
71
|
+
5. Context is sent to Metro and copied to your host clipboard.
|
|
72
|
+
6. Paste into Codex/Cursor/Claude Code/Copilot with your requested change.
|
|
72
73
|
|
|
73
74
|
## Development (this repo)
|
|
74
75
|
|
|
@@ -8,21 +8,21 @@ const useDevMenu = (onToggle) => {
|
|
|
8
8
|
const onToggleRef = (0, utils_1.useLatest)(onToggle);
|
|
9
9
|
// Add to React Native Dev Menu
|
|
10
10
|
(0, react_1.useEffect)(() => {
|
|
11
|
-
react_native_1.DevSettings.addMenuItem(
|
|
11
|
+
react_native_1.DevSettings.addMenuItem("React Native Grab: Toggle Button", () => {
|
|
12
12
|
onToggleRef.current();
|
|
13
13
|
});
|
|
14
14
|
}, []);
|
|
15
15
|
// Add to Expo Dev Menu if available
|
|
16
16
|
(0, react_1.useEffect)(() => {
|
|
17
17
|
try {
|
|
18
|
-
const expoDevMenuModule = require(
|
|
18
|
+
const expoDevMenuModule = require("expo-dev-menu");
|
|
19
19
|
expoDevMenuModule.registerDevMenuItems([
|
|
20
20
|
{
|
|
21
|
-
name:
|
|
21
|
+
name: "React Native Grab: Toggle Button",
|
|
22
22
|
callback: () => {
|
|
23
23
|
onToggleRef.current();
|
|
24
24
|
},
|
|
25
|
-
}
|
|
25
|
+
},
|
|
26
26
|
]);
|
|
27
27
|
}
|
|
28
28
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-menu.js","sourceRoot":"","sources":["../../../src/react-native/dev-menu.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"dev-menu.js","sourceRoot":"","sources":["../../../src/react-native/dev-menu.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAClC,+CAA2C;AAC3C,mCAAoC;AAG7B,MAAM,UAAU,GAAG,CAAC,QAAoB,EAAE,EAAE;IACjD,MAAM,WAAW,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAC;IAExC,+BAA+B;IAC/B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,0BAAW,CAAC,WAAW,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC/D,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oCAAoC;IACpC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAA6B,CAAC;YAE/E,iBAAiB,CAAC,oBAAoB,CAAC;gBACrC;oBACE,IAAI,EAAE,kCAAkC;oBACxC,QAAQ,EAAE,GAAG,EAAE;wBACb,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,CAAC;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;QACnE,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AA3BW,QAAA,UAAU,cA2BrB"}
|
|
@@ -17,22 +17,31 @@ const BADGE_BACKGROUND = "rgba(130, 50, 255, 0.92)";
|
|
|
17
17
|
const ReactNativeGrabOverlay = () => {
|
|
18
18
|
const copyBadgeTimeoutRef = (0, react_1.useRef)(null);
|
|
19
19
|
const [state, setState] = (0, react_1.useState)({
|
|
20
|
-
|
|
20
|
+
isButtonEnabled: false,
|
|
21
|
+
isSessionEnabled: false,
|
|
21
22
|
grabbedElement: null,
|
|
22
23
|
isCopyBadgeVisible: false,
|
|
23
24
|
});
|
|
24
25
|
const startSession = (0, react_1.useCallback)(() => {
|
|
25
|
-
setState(() => ({
|
|
26
|
+
setState((prev) => ({
|
|
27
|
+
...prev,
|
|
26
28
|
grabbedElement: null,
|
|
27
|
-
|
|
28
|
-
isCopyBadgeVisible: false,
|
|
29
|
+
isSessionEnabled: true,
|
|
29
30
|
}));
|
|
30
31
|
}, []);
|
|
31
32
|
const stopSession = (0, react_1.useCallback)(() => {
|
|
32
33
|
setState((prev) => ({
|
|
33
34
|
...prev,
|
|
34
35
|
grabbedElement: null,
|
|
35
|
-
|
|
36
|
+
isSessionEnabled: false,
|
|
37
|
+
}));
|
|
38
|
+
}, []);
|
|
39
|
+
const toggleButtonEnabled = (0, react_1.useCallback)(() => {
|
|
40
|
+
setState((prev) => ({
|
|
41
|
+
...prev,
|
|
42
|
+
isButtonEnabled: !prev.isButtonEnabled,
|
|
43
|
+
isSessionEnabled: !prev.isButtonEnabled ? prev.isSessionEnabled : false,
|
|
44
|
+
grabbedElement: !prev.isButtonEnabled ? prev.grabbedElement : null,
|
|
36
45
|
}));
|
|
37
46
|
}, []);
|
|
38
47
|
(0, react_1.useEffect)(() => {
|
|
@@ -58,7 +67,7 @@ const ReactNativeGrabOverlay = () => {
|
|
|
58
67
|
copyBadgeTimeoutRef.current = null;
|
|
59
68
|
}, COPY_BADGE_DURATION_MS);
|
|
60
69
|
}, []);
|
|
61
|
-
(0, dev_menu_1.useDevMenu)(
|
|
70
|
+
(0, dev_menu_1.useDevMenu)(toggleButtonEnabled);
|
|
62
71
|
const getElementAtPoint = (nativePageX, nativePageY) => {
|
|
63
72
|
const appRootShadowNode = (0, containers_1.getAppRootShadowNode)();
|
|
64
73
|
const focusedScreenShadowNode = (0, containers_1.getFocusedScreenShadowNode)();
|
|
@@ -114,24 +123,45 @@ const ReactNativeGrabOverlay = () => {
|
|
|
114
123
|
})();
|
|
115
124
|
},
|
|
116
125
|
})).current;
|
|
117
|
-
return ((0, jsx_runtime_1.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
return ((0, jsx_runtime_1.jsx)(full_screen_overlay_1.FullScreenOverlay, { children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { pointerEvents: "box-none", style: styles.overlayRoot, children: [state.isButtonEnabled && !state.isSessionEnabled && ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { onPress: startSession, style: styles.floatingButton, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.floatingButtonText, children: "Grab" }) })), state.isSessionEnabled && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [react_native_1.StyleSheet.absoluteFill], ...panResponder.panHandlers })), state.isSessionEnabled && ((0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: styles.topBadge, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.topBadgeText, children: "Touch and move around to grab" }) })), state.isCopyBadgeVisible && ((0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: styles.topBadge, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.topBadgeText, children: "Element copied" }) })), !!state.grabbedElement && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
|
|
127
|
+
{
|
|
128
|
+
position: "absolute",
|
|
129
|
+
left: state.grabbedElement.rect[0],
|
|
130
|
+
top: state.grabbedElement.rect[1],
|
|
131
|
+
width: state.grabbedElement.rect[2],
|
|
132
|
+
height: state.grabbedElement.rect[3],
|
|
133
|
+
pointerEvents: "none",
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
backgroundColor: HIGHLIGHT_FILL,
|
|
137
|
+
borderWidth: 1,
|
|
138
|
+
borderColor: CALLSTACK_PRIMARY,
|
|
139
|
+
},
|
|
140
|
+
] }))] }) }));
|
|
132
141
|
};
|
|
133
142
|
exports.ReactNativeGrabOverlay = ReactNativeGrabOverlay;
|
|
134
143
|
const styles = react_native_1.StyleSheet.create({
|
|
144
|
+
overlayRoot: {
|
|
145
|
+
...react_native_1.StyleSheet.absoluteFillObject,
|
|
146
|
+
zIndex: 2147483647,
|
|
147
|
+
elevation: 2147483647,
|
|
148
|
+
},
|
|
149
|
+
floatingButton: {
|
|
150
|
+
position: "absolute",
|
|
151
|
+
right: 18,
|
|
152
|
+
bottom: 28,
|
|
153
|
+
borderRadius: 999,
|
|
154
|
+
paddingHorizontal: 16,
|
|
155
|
+
paddingVertical: 10,
|
|
156
|
+
backgroundColor: BADGE_BACKGROUND,
|
|
157
|
+
zIndex: 2147483647,
|
|
158
|
+
elevation: 2147483647,
|
|
159
|
+
},
|
|
160
|
+
floatingButtonText: {
|
|
161
|
+
color: "#FFFFFF",
|
|
162
|
+
fontSize: 14,
|
|
163
|
+
fontWeight: "700",
|
|
164
|
+
},
|
|
135
165
|
topBadge: {
|
|
136
166
|
position: "absolute",
|
|
137
167
|
top: 52,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grab-overlay.js","sourceRoot":"","sources":["../../../src/react-native/grab-overlay.tsx"],"names":[],"mappings":";;;;AAAA,iCAAiE;AACjE,+
|
|
1
|
+
{"version":3,"file":"grab-overlay.js","sourceRoot":"","sources":["../../../src/react-native/grab-overlay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,21 +5,21 @@ export const useDevMenu = (onToggle) => {
|
|
|
5
5
|
const onToggleRef = useLatest(onToggle);
|
|
6
6
|
// Add to React Native Dev Menu
|
|
7
7
|
useEffect(() => {
|
|
8
|
-
DevSettings.addMenuItem(
|
|
8
|
+
DevSettings.addMenuItem("React Native Grab: Toggle Button", () => {
|
|
9
9
|
onToggleRef.current();
|
|
10
10
|
});
|
|
11
11
|
}, []);
|
|
12
12
|
// Add to Expo Dev Menu if available
|
|
13
13
|
useEffect(() => {
|
|
14
14
|
try {
|
|
15
|
-
const expoDevMenuModule = require(
|
|
15
|
+
const expoDevMenuModule = require("expo-dev-menu");
|
|
16
16
|
expoDevMenuModule.registerDevMenuItems([
|
|
17
17
|
{
|
|
18
|
-
name:
|
|
18
|
+
name: "React Native Grab: Toggle Button",
|
|
19
19
|
callback: () => {
|
|
20
20
|
onToggleRef.current();
|
|
21
21
|
},
|
|
22
|
-
}
|
|
22
|
+
},
|
|
23
23
|
]);
|
|
24
24
|
}
|
|
25
25
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-menu.js","sourceRoot":"","sources":["../../../src/react-native/dev-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"dev-menu.js","sourceRoot":"","sources":["../../../src/react-native/dev-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAoB,EAAE,EAAE;IACjD,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAExC,+BAA+B;IAC/B,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,WAAW,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC/D,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oCAAoC;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAA6B,CAAC;YAE/E,iBAAiB,CAAC,oBAAoB,CAAC;gBACrC;oBACE,IAAI,EAAE,kCAAkC;oBACxC,QAAQ,EAAE,GAAG,EAAE;wBACb,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,CAAC;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;QACnE,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
-
import { PanResponder, StyleSheet, Text, View } from "react-native";
|
|
3
|
+
import { PanResponder, Pressable, StyleSheet, Text, View } from "react-native";
|
|
4
4
|
import { getAppRootShadowNode, getFocusedScreenShadowNode } from "./containers";
|
|
5
5
|
import { findNodeAtPoint, measureInWindow } from "./measure";
|
|
6
6
|
import { useDevMenu } from "./dev-menu";
|
|
@@ -14,22 +14,31 @@ const BADGE_BACKGROUND = "rgba(130, 50, 255, 0.92)";
|
|
|
14
14
|
export const ReactNativeGrabOverlay = () => {
|
|
15
15
|
const copyBadgeTimeoutRef = useRef(null);
|
|
16
16
|
const [state, setState] = useState({
|
|
17
|
-
|
|
17
|
+
isButtonEnabled: false,
|
|
18
|
+
isSessionEnabled: false,
|
|
18
19
|
grabbedElement: null,
|
|
19
20
|
isCopyBadgeVisible: false,
|
|
20
21
|
});
|
|
21
22
|
const startSession = useCallback(() => {
|
|
22
|
-
setState(() => ({
|
|
23
|
+
setState((prev) => ({
|
|
24
|
+
...prev,
|
|
23
25
|
grabbedElement: null,
|
|
24
|
-
|
|
25
|
-
isCopyBadgeVisible: false,
|
|
26
|
+
isSessionEnabled: true,
|
|
26
27
|
}));
|
|
27
28
|
}, []);
|
|
28
29
|
const stopSession = useCallback(() => {
|
|
29
30
|
setState((prev) => ({
|
|
30
31
|
...prev,
|
|
31
32
|
grabbedElement: null,
|
|
32
|
-
|
|
33
|
+
isSessionEnabled: false,
|
|
34
|
+
}));
|
|
35
|
+
}, []);
|
|
36
|
+
const toggleButtonEnabled = useCallback(() => {
|
|
37
|
+
setState((prev) => ({
|
|
38
|
+
...prev,
|
|
39
|
+
isButtonEnabled: !prev.isButtonEnabled,
|
|
40
|
+
isSessionEnabled: !prev.isButtonEnabled ? prev.isSessionEnabled : false,
|
|
41
|
+
grabbedElement: !prev.isButtonEnabled ? prev.grabbedElement : null,
|
|
33
42
|
}));
|
|
34
43
|
}, []);
|
|
35
44
|
useEffect(() => {
|
|
@@ -55,7 +64,7 @@ export const ReactNativeGrabOverlay = () => {
|
|
|
55
64
|
copyBadgeTimeoutRef.current = null;
|
|
56
65
|
}, COPY_BADGE_DURATION_MS);
|
|
57
66
|
}, []);
|
|
58
|
-
useDevMenu(
|
|
67
|
+
useDevMenu(toggleButtonEnabled);
|
|
59
68
|
const getElementAtPoint = (nativePageX, nativePageY) => {
|
|
60
69
|
const appRootShadowNode = getAppRootShadowNode();
|
|
61
70
|
const focusedScreenShadowNode = getFocusedScreenShadowNode();
|
|
@@ -111,23 +120,44 @@ export const ReactNativeGrabOverlay = () => {
|
|
|
111
120
|
})();
|
|
112
121
|
},
|
|
113
122
|
})).current;
|
|
114
|
-
return (
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
123
|
+
return (_jsx(FullScreenOverlay, { children: _jsxs(View, { pointerEvents: "box-none", style: styles.overlayRoot, children: [state.isButtonEnabled && !state.isSessionEnabled && (_jsx(Pressable, { onPress: startSession, style: styles.floatingButton, children: _jsx(Text, { style: styles.floatingButtonText, children: "Grab" }) })), state.isSessionEnabled && (_jsx(View, { style: [StyleSheet.absoluteFill], ...panResponder.panHandlers })), state.isSessionEnabled && (_jsx(View, { pointerEvents: "none", style: styles.topBadge, children: _jsx(Text, { style: styles.topBadgeText, children: "Touch and move around to grab" }) })), state.isCopyBadgeVisible && (_jsx(View, { pointerEvents: "none", style: styles.topBadge, children: _jsx(Text, { style: styles.topBadgeText, children: "Element copied" }) })), !!state.grabbedElement && (_jsx(View, { style: [
|
|
124
|
+
{
|
|
125
|
+
position: "absolute",
|
|
126
|
+
left: state.grabbedElement.rect[0],
|
|
127
|
+
top: state.grabbedElement.rect[1],
|
|
128
|
+
width: state.grabbedElement.rect[2],
|
|
129
|
+
height: state.grabbedElement.rect[3],
|
|
130
|
+
pointerEvents: "none",
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
backgroundColor: HIGHLIGHT_FILL,
|
|
134
|
+
borderWidth: 1,
|
|
135
|
+
borderColor: CALLSTACK_PRIMARY,
|
|
136
|
+
},
|
|
137
|
+
] }))] }) }));
|
|
129
138
|
};
|
|
130
139
|
const styles = StyleSheet.create({
|
|
140
|
+
overlayRoot: {
|
|
141
|
+
...StyleSheet.absoluteFillObject,
|
|
142
|
+
zIndex: 2147483647,
|
|
143
|
+
elevation: 2147483647,
|
|
144
|
+
},
|
|
145
|
+
floatingButton: {
|
|
146
|
+
position: "absolute",
|
|
147
|
+
right: 18,
|
|
148
|
+
bottom: 28,
|
|
149
|
+
borderRadius: 999,
|
|
150
|
+
paddingHorizontal: 16,
|
|
151
|
+
paddingVertical: 10,
|
|
152
|
+
backgroundColor: BADGE_BACKGROUND,
|
|
153
|
+
zIndex: 2147483647,
|
|
154
|
+
elevation: 2147483647,
|
|
155
|
+
},
|
|
156
|
+
floatingButtonText: {
|
|
157
|
+
color: "#FFFFFF",
|
|
158
|
+
fontSize: 14,
|
|
159
|
+
fontWeight: "700",
|
|
160
|
+
},
|
|
131
161
|
topBadge: {
|
|
132
162
|
position: "absolute",
|
|
133
163
|
top: 52,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grab-overlay.js","sourceRoot":"","sources":["../../../src/react-native/grab-overlay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAoB,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"grab-overlay.js","sourceRoot":"","sources":["../../../src/react-native/grab-overlay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grab-overlay.d.ts","sourceRoot":"","sources":["../../../src/react-native/grab-overlay.tsx"],"names":[],"mappings":"AAoBA,eAAO,MAAM,sBAAsB,+
|
|
1
|
+
{"version":3,"file":"grab-overlay.d.ts","sourceRoot":"","sources":["../../../src/react-native/grab-overlay.tsx"],"names":[],"mappings":"AAoBA,eAAO,MAAM,sBAAsB,+CAuLlC,CAAC"}
|