execbro 2.2.0 → 2.3.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/README.md +4 -3
- package/build/__tests__/unit/screenSpace.test.d.ts +2 -0
- package/build/__tests__/unit/screenSpace.test.d.ts.map +1 -0
- package/build/__tests__/unit/screenSpace.test.js +58 -0
- package/build/__tests__/unit/screenSpace.test.js.map +1 -0
- package/build/__tests__/unit/visibility.test.js +21 -0
- package/build/__tests__/unit/visibility.test.js.map +1 -1
- package/build/core/guides.d.ts.map +1 -1
- package/build/core/guides.js +18 -4
- package/build/core/guides.js.map +1 -1
- package/build/core/index.d.ts +1 -1
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +1 -1
- package/build/core/index.js.map +1 -1
- package/build/core/injected/visibility.d.ts +14 -1
- package/build/core/injected/visibility.d.ts.map +1 -1
- package/build/core/injected/visibility.js +28 -4
- package/build/core/injected/visibility.js.map +1 -1
- package/build/core/injectedFilters.d.ts +10 -2
- package/build/core/injectedFilters.d.ts.map +1 -1
- package/build/core/injectedFilters.js +10 -2
- package/build/core/injectedFilters.js.map +1 -1
- package/build/core/inspector.d.ts +6 -0
- package/build/core/inspector.d.ts.map +1 -1
- package/build/core/inspector.js +200 -36
- package/build/core/inspector.js.map +1 -1
- package/build/core/pressables.d.ts +0 -32
- package/build/core/pressables.d.ts.map +1 -1
- package/build/core/pressables.js +5 -1061
- package/build/core/pressables.js.map +1 -1
- package/build/core/screenLayout.d.ts +3 -0
- package/build/core/screenLayout.d.ts.map +1 -1
- package/build/core/screenLayout.js +32 -0
- package/build/core/screenLayout.js.map +1 -1
- package/build/core/screenSpace.d.ts +75 -0
- package/build/core/screenSpace.d.ts.map +1 -0
- package/build/core/screenSpace.js +84 -0
- package/build/core/screenSpace.js.map +1 -0
- package/build/core/screenSpaceDevice.d.ts +15 -0
- package/build/core/screenSpaceDevice.d.ts.map +1 -0
- package/build/core/screenSpaceDevice.js +24 -0
- package/build/core/screenSpaceDevice.js.map +1 -0
- package/build/core/screenState.d.ts.map +1 -1
- package/build/core/screenState.js +107 -8
- package/build/core/screenState.js.map +1 -1
- package/build/tools/componentTools.d.ts.map +1 -1
- package/build/tools/componentTools.js +54 -186
- package/build/tools/componentTools.js.map +1 -1
- package/build/tools/screenshotTools.d.ts.map +1 -1
- package/build/tools/screenshotTools.js +37 -72
- package/build/tools/screenshotTools.js.map +1 -1
- package/package.json +1 -1
- package/tools.json +1 -5
package/README.md
CHANGED
|
@@ -42,8 +42,8 @@ Linking your installation here is also **required to unlock [ExecBro Pro](#prici
|
|
|
42
42
|
|
|
43
43
|
- **iOS Simulator** - Screenshots, app management, URL handling, boot/terminate (via simctl)
|
|
44
44
|
- **Android Devices** - Screenshots, app install/launch, package management (via ADB)
|
|
45
|
-
- **Unified Tap** - Single `tap` tool with automatic fallback chain: fiber tree → accessibility → OCR → coordinates. Auto-detects platform, accepts
|
|
46
|
-
- **Unified Swipe** - Single `swipe` tool that auto-routes to iOS or Android based on the connected device.
|
|
45
|
+
- **Unified Tap** - Single `tap` tool with automatic fallback chain: fiber tree → accessibility → OCR → coordinates. Auto-detects platform, accepts coordinates from screenshots and layout tools unchanged. Returns post-tap screenshot and verifies visual change by default
|
|
46
|
+
- **Unified Swipe** - Single `swipe` tool that auto-routes to iOS or Android based on the connected device. Takes coordinates in the same screen space as the layout tools and screenshots — no conversion — and returns a `verification.meaningful` signal so agents detect end-of-list, non-scrollable surfaces, and missed coordinates. Essential for scrolling virtualized lists (FlatList/SectionList) where off-screen items aren't in the fiber tree
|
|
47
47
|
- **UI Automation** - Swipe, long press, key events, and text input on both platforms. On Bridgeless/Fabric apps, `dismiss_keyboard` operates on whatever has focus, and `ios_input_text` / `android_input_text` accept `replace:true` to overwrite pre-filled values — updating React state through `onChangeText` so controlled components (Formik, react-hook-form, useState) stay consistent
|
|
48
48
|
- **Accessibility Inspection** - Query UI hierarchy to find elements by text, label, or resource ID
|
|
49
49
|
- **OCR Text Extraction** - Extract visible text with tap-ready coordinates via Google Cloud Vision (works on any screen content)
|
|
@@ -110,6 +110,7 @@ See the [full tool reference](docs/tools.md) for all tools with descriptions. Ke
|
|
|
110
110
|
| `scan_metro` | **Start here** — scan for Metro servers and auto-connect |
|
|
111
111
|
| `get_logs` / `search_logs` | Capture and search console logs with filtering and summaries |
|
|
112
112
|
| `get_network_requests` | Monitor HTTP requests with method/status filtering |
|
|
113
|
+
| `get_screen_state` | **Orientation snapshot** — active route, overlays, and every element with a tap-ready `(x, y)` |
|
|
113
114
|
| `get_screen_layout` | Screen map of visible components with positions, sizes, and text content |
|
|
114
115
|
| `tap` | **Unified tap** — auto-detects platform, tries fiber → accessibility → OCR → coordinates |
|
|
115
116
|
| `ios_input_text` / `android_input_text` | Type text into the focused field. `replace:true` clears pre-filled values first (Fabric) |
|
|
@@ -163,7 +164,7 @@ See the [full tool reference](docs/tools.md) for all tools with descriptions. Ke
|
|
|
163
164
|
| [Device Interaction](docs/device-interaction.md) | Unified `tap`, platform-specific gestures, text input, key events |
|
|
164
165
|
| [OCR Text Extraction](docs/ocr.md) | Cloud Vision OCR, offline fallback, language config, workflows |
|
|
165
166
|
| [Claude Code Skills](docs/skills.md) | Pre-built skills for session setup, debugging, and automation |
|
|
166
|
-
| [Full Tool Reference](docs/tools.md) | Complete list of all
|
|
167
|
+
| [Full Tool Reference](docs/tools.md) | Complete list of all 58 tools with descriptions |
|
|
167
168
|
|
|
168
169
|
## How It Works
|
|
169
170
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenSpace.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/screenSpace.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { describe, it, expect } from "@jest/globals";
|
|
2
|
+
import { toScreenSpaceY, fromScreenSpaceY, SCREEN_SPACE_HELPER_JS } from "../../core/screenSpace.js";
|
|
3
|
+
const IOS = { platform: "ios", topInset: 59 };
|
|
4
|
+
const ANDROID = { platform: "android", topInset: 54 };
|
|
5
|
+
describe("toScreenSpaceY", () => {
|
|
6
|
+
// Android measureInWindow is relative to the app window, which starts below the
|
|
7
|
+
// status bar. Measured on device: a header button at 7dp renders at 61dp, and the
|
|
8
|
+
// screenshot formatter has always added the status bar to match.
|
|
9
|
+
it("always adds the status bar on Android", () => {
|
|
10
|
+
expect(toScreenSpaceY(7, ANDROID)).toBe(61);
|
|
11
|
+
expect(toScreenSpaceY(569, ANDROID)).toBe(623);
|
|
12
|
+
});
|
|
13
|
+
// iOS already includes the status bar for a normally-presented screen. Measured on
|
|
14
|
+
// device: get_screen_state and raw measureInWindow agree exactly (RoleButton "Yes"
|
|
15
|
+
// at (104,569) in both), so shifting here would break correct coordinates.
|
|
16
|
+
it("leaves a normally-presented iOS screen untouched", () => {
|
|
17
|
+
expect(toScreenSpaceY(75, IOS)).toBe(75);
|
|
18
|
+
expect(toScreenSpaceY(569, IOS)).toBe(569);
|
|
19
|
+
expect(toScreenSpaceY(59, IOS)).toBe(59);
|
|
20
|
+
});
|
|
21
|
+
// A react-native-screens modal measures from its own container. Measured on device:
|
|
22
|
+
// the Register button reports y=29 but renders at y=88 — one inset lower.
|
|
23
|
+
it("shifts an iOS element measured inside the safe-area band", () => {
|
|
24
|
+
expect(toScreenSpaceY(29, IOS)).toBe(88);
|
|
25
|
+
expect(toScreenSpaceY(0, IOS)).toBe(59);
|
|
26
|
+
});
|
|
27
|
+
it("is a no-op when the inset is unknown", () => {
|
|
28
|
+
expect(toScreenSpaceY(29, { platform: "ios", topInset: 0 })).toBe(29);
|
|
29
|
+
expect(toScreenSpaceY(7, { platform: "android", topInset: 0 })).toBe(7);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
describe("fromScreenSpaceY", () => {
|
|
33
|
+
it("round-trips Android", () => {
|
|
34
|
+
for (const y of [0, 7, 569, 1200]) {
|
|
35
|
+
expect(fromScreenSpaceY(toScreenSpaceY(y, ANDROID), ANDROID)).toBe(y);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
// Only the band that the forward map can produce is unshifted. Values at or above
|
|
39
|
+
// 2*inset were never shifted, so unshifting them would corrupt correct input.
|
|
40
|
+
it("round-trips the iOS modal band and leaves ordinary values alone", () => {
|
|
41
|
+
for (const y of [0, 29, 58]) {
|
|
42
|
+
expect(fromScreenSpaceY(toScreenSpaceY(y, IOS), IOS)).toBe(y);
|
|
43
|
+
}
|
|
44
|
+
expect(fromScreenSpaceY(400, IOS)).toBe(400);
|
|
45
|
+
expect(fromScreenSpaceY(118, IOS)).toBe(118);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe("SCREEN_SPACE_HELPER_JS", () => {
|
|
49
|
+
// The injected walkers must apply the identical rule; a divergent second copy is
|
|
50
|
+
// what produced the mismatch this module exists to remove.
|
|
51
|
+
it("evaluates to a function matching the Node implementation", () => {
|
|
52
|
+
const fn = new Function(`${SCREEN_SPACE_HELPER_JS} return toScreenSpaceY;`)();
|
|
53
|
+
expect(fn(29, IOS)).toBe(88);
|
|
54
|
+
expect(fn(75, IOS)).toBe(75);
|
|
55
|
+
expect(fn(7, ANDROID)).toBe(61);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=screenSpace.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenSpace.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/screenSpace.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,27 @@ describe("isHiddenNavigationScene", () => {
|
|
|
22
22
|
it("keeps an unfocused SceneView native-stack scene unchanged (existing behavior)", () => {
|
|
23
23
|
expect(isHiddenNavigationScene("SceneView", { focused: false })).toBe(true);
|
|
24
24
|
});
|
|
25
|
+
// A closed react-navigation drawer leaves its scrim mounted at full screen with
|
|
26
|
+
// opacity 0. It surfaced in get_screen_state as a tappable
|
|
27
|
+
// `<Overlay /> "[Wrap]" frame:(0,0 420x912)` sitting over the middle of every
|
|
28
|
+
// screen — in two of three real apps audited, and on iOS it was classified
|
|
29
|
+
// "blocked by overlay" while Android called the same node "reachable".
|
|
30
|
+
it("prunes an opacity:0 node (object and array style)", () => {
|
|
31
|
+
expect(isHiddenNavigationScene("View", { style: { opacity: 0 } })).toBe(true);
|
|
32
|
+
expect(isHiddenNavigationScene("RCTView", {
|
|
33
|
+
style: [{ position: "absolute" }, { backgroundColor: "rgba(0,0,0,0.5)" }, { opacity: 0 }]
|
|
34
|
+
})).toBe(true);
|
|
35
|
+
});
|
|
36
|
+
it("keeps a partially transparent node", () => {
|
|
37
|
+
expect(isHiddenNavigationScene("View", { style: { opacity: 0.01 } })).toBe(false);
|
|
38
|
+
expect(isHiddenNavigationScene("View", { style: [{ opacity: 1 }] })).toBe(false);
|
|
39
|
+
});
|
|
40
|
+
// An Animated opacity is a node object, not a number. Treating it as 0 would prune
|
|
41
|
+
// whole subtrees mid-animation, so only a literal numeric 0 counts.
|
|
42
|
+
it("keeps a node whose opacity is an Animated value rather than a number", () => {
|
|
43
|
+
expect(isHiddenNavigationScene("View", { style: { opacity: { __isAnimated: true } } })).toBe(false);
|
|
44
|
+
expect(isHiddenNavigationScene("View", { style: { opacity: "0" } })).toBe(false);
|
|
45
|
+
});
|
|
25
46
|
it("prunes display:none (object and array style)", () => {
|
|
26
47
|
expect(isHiddenNavigationScene("View", { style: { display: "none" } })).toBe(true);
|
|
27
48
|
expect(isHiddenNavigationScene("View", { style: [{ flex: 1 }, { display: "none" }] })).toBe(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/visibility.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,GAC7B,MAAM,mCAAmC,CAAC;AAE3C,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QAC/E,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,uBAAuB,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACrF,MAAM,CAAC,uBAAuB,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC1C,2FAA2F;IAC3F,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,qBAAqB,mCAAmC,CAAC,EAG9E,CAAC;IAEb,MAAM,KAAK,GAAgC;QACvC,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;QACvD,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;QACxD,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QAChC,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QAChC,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QACnC,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC9B,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACjC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;QACxC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACvD,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,CAAC,MAAM,EAAE,IAAI,CAAC;KACjB,CAAC;IAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACnE,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,8BAA8B,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,KAAK,0BAA0B,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"visibility.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/visibility.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guides.d.ts","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,KAAK;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"guides.d.ts","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,KAAK;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AA6XD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAchB,CAAC;AAEb,wBAAgB,gBAAgB,IAAI,MAAM,CAWzC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
|
package/build/core/guides.js
CHANGED
|
@@ -48,7 +48,7 @@ const guides = [
|
|
|
48
48
|
## Recommended Workflow: Identify a Component on Screen
|
|
49
49
|
1. Take a screenshot (ios_screenshot / android_screenshot) or use ocr_screenshot
|
|
50
50
|
2. Identify the target element visually, estimate its coordinates
|
|
51
|
-
3.
|
|
51
|
+
3. Pass those coordinates straight through — every layout tool, tap() and the screenshots share one screen-space coordinate system, so no conversion is needed
|
|
52
52
|
4. Pick the right tool (see decision below) and call it with (x, y)
|
|
53
53
|
|
|
54
54
|
### inspect_at_point(x, y)
|
|
@@ -79,7 +79,7 @@ looks wrong and isn't on the node itself, walk the ancestors it returns.
|
|
|
79
79
|
|
|
80
80
|
## Tips
|
|
81
81
|
- Works on Paper, Fabric, and Bridgeless / new arch.
|
|
82
|
-
- Coordinates are
|
|
82
|
+
- Coordinates are screen space: the same space screenshots, get_screen_state and tap() use. Do not convert.`
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
85
|
id: "layout",
|
|
@@ -87,6 +87,19 @@ looks wrong and isn't on the node itself, walk the ancestors it returns.
|
|
|
87
87
|
summary: "Capture screenshots, verify UI changes, inspect layout frames and styles",
|
|
88
88
|
content: `# Layout Debugging
|
|
89
89
|
|
|
90
|
+
## Orient First
|
|
91
|
+
- get_screen_state — start here after any tap or navigation. Screenshot-free: active route,
|
|
92
|
+
open overlays, and every on-screen element with a tap-ready (x, y) and frame. Reads screen
|
|
93
|
+
content (prices, labels, which image loaded) without a screenshot+OCR round-trip.
|
|
94
|
+
- pressablesOnly=true for just the tappable list.
|
|
95
|
+
- Elements under an open overlay or a raised keyboard are grouped separately — taps will
|
|
96
|
+
not reach them until it closes.
|
|
97
|
+
|
|
98
|
+
## Coordinates
|
|
99
|
+
All layout tools, tap() and the screenshots share ONE screen-space coordinate system. A frame
|
|
100
|
+
read from get_screen_state, get_screen_layout, measure or inspect_at_point can be passed to
|
|
101
|
+
tap(x, y) unchanged. Do not divide by the device pixel ratio.
|
|
102
|
+
|
|
90
103
|
## Verify UI Changes
|
|
91
104
|
1. ios_screenshot / android_screenshot — capture current screen
|
|
92
105
|
2. Compare visually against expected result or Figma design
|
|
@@ -104,6 +117,7 @@ looks wrong and isn't on the node itself, walk the ancestors it returns.
|
|
|
104
117
|
- find_components with includeLayout=true for targeted layout info
|
|
105
118
|
|
|
106
119
|
## Key Tools
|
|
120
|
+
- get_screen_state: route + overlays + every element, screenshot-free (start here)
|
|
107
121
|
- ios_screenshot / android_screenshot: visual capture
|
|
108
122
|
- tap: also returns a post-tap screenshot by default (no separate screenshot call needed after tapping)
|
|
109
123
|
- ocr_screenshot: screenshot with text recognition and tap coordinates
|
|
@@ -373,14 +387,14 @@ Suggested prompt the user can paste to trigger this:
|
|
|
373
387
|
* `instructions`. Keep this as the single source of truth.
|
|
374
388
|
*/
|
|
375
389
|
export const DECISION_TREE = [
|
|
376
|
-
"Primary tools: scan_metro, get_logs / search_logs, ios_screenshot / android_screenshot, tap,
|
|
390
|
+
"Primary tools: scan_metro, get_logs / search_logs, ios_screenshot / android_screenshot, tap, get_screen_state, get_screen_layout.",
|
|
377
391
|
"Platform-specific ios_* / android_* tools (ios_button, android_input_text, android_key_event, ios_open_url, etc.) are FALLBACKS for non-React or native-only flows — prefer the cross-platform primary tools above whenever possible.",
|
|
378
392
|
"",
|
|
379
393
|
"Call get_usage_guide(topic=...) for end-to-end workflows. Available topics:",
|
|
380
394
|
" setup — session setup (scan_metro, connect_metro, ensure_connection)",
|
|
381
395
|
" logs — console debugging (get_logs, search_logs)",
|
|
382
396
|
" interact — device interaction (tap, swipe, screenshots, android_input_text, dismiss_keyboard)",
|
|
383
|
-
" layout — on-screen layout check (
|
|
397
|
+
" layout — on-screen layout check (get_screen_state, get_screen_layout)",
|
|
384
398
|
" inspect — component inspection (find_components, inspect_component, inspect_at_point)",
|
|
385
399
|
" network — network request inspection (get_network_requests, search_network)",
|
|
386
400
|
" state — app state & JS execution (execute_in_app, list_debug_globals)",
|
package/build/core/guides.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,MAAM,GAAY;IACpB;QACI,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,yDAAyD;QAClE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA8B8B;KAC1C;IACD;QACI,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,mFAAmF;QAC5F,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"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"}
|
package/build/core/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export type { PassiveConnectionStatus, LogPipelineResult, } from "./connection.j
|
|
|
12
12
|
export { awaitAppDetection } from "./appDetection.js";
|
|
13
13
|
export { hasMetro, detectNativeDevices, buildMetroMissingHint, metroMissingHintIfAbsent, } from "./nativeOnlyHints.js";
|
|
14
14
|
export type { NativeDeviceAvailability, MetroMissingHintOptions } from "./nativeOnlyHints.js";
|
|
15
|
-
export { executeInApp, listDebugGlobals, inspectGlobal, reloadApp, getComponentTree, getScreenLayout, formatScreenLayoutTree,
|
|
15
|
+
export { executeInApp, listDebugGlobals, inspectGlobal, reloadApp, getComponentTree, getScreenLayout, formatScreenLayoutTree, getScreenState, enrichScreenshotWithLayout, inspectComponent, findComponents, pressElement, inspectAtPoint, isInspectorActive, harvestStacksAtPoint, enrichWithSource, } from "./executor.js";
|
|
16
16
|
export { isAdbAvailable, listAndroidDevices, getDefaultAndroidDevice, androidScreenshot, androidInstallApp, androidLaunchApp, androidListPackages, ANDROID_KEY_EVENTS, androidTap, androidLongPress, androidSwipe, androidInputText, androidKeyEvent, androidGetScreenSize, androidGetDensity, androidGetStatusBarHeight, androidDescribeAll, androidDescribePoint, androidTapElement, androidGetUITree, androidFindElement, androidWaitForElement, } from "./android.js";
|
|
17
17
|
export type { AndroidAccessibilityElement, AndroidDescribeResult, AndroidUIElement, FindElementResult, WaitForElementResult, FindElementOptions, } from "./android.js";
|
|
18
18
|
export { isSimctlAvailable, listIOSSimulators, getBootedSimulatorUdid, findSimulatorByName, getActiveOrBootedSimulatorUdid, iosScreenshot, iosInstallApp, iosLaunchApp, iosOpenUrl, iosTerminateApp, iosBootSimulator, isIdbAvailable, isAxeAvailable, isUiDriverAvailable, getUiDriverInstallHint, iosTap, iosTapElement, iosSwipe, iosInputText, iosButton, iosKeyEvent, iosKeySequence, iosDescribeAll, iosDescribePoint, detectIOSSystemOverlay, formatIOSSystemOverlayWarning, IOS_BUTTON_TYPES, iosGetUITree, iosFindElement, iosWaitForElement, getDevicePixelRatio, getIOSSafeAreaTop, } from "./ios.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EAEd,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EAEnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,SAAS,EACT,cAAc,EACd,UAAU,EACV,OAAO,EACP,UAAU,EACV,aAAa,GACd,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG/E,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,EAC9B,gCAAgC,EAChC,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG9F,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,SAAS,EAET,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/build/core/index.js
CHANGED
|
@@ -24,7 +24,7 @@ export { hasMetro, detectNativeDevices, buildMetroMissingHint, metroMissingHintI
|
|
|
24
24
|
// Executor
|
|
25
25
|
export { executeInApp, listDebugGlobals, inspectGlobal, reloadApp,
|
|
26
26
|
// React Component Inspection
|
|
27
|
-
getComponentTree, getScreenLayout, formatScreenLayoutTree,
|
|
27
|
+
getComponentTree, getScreenLayout, formatScreenLayoutTree, getScreenState, enrichScreenshotWithLayout, inspectComponent, findComponents, pressElement,
|
|
28
28
|
// Coordinate-based inspection
|
|
29
29
|
inspectAtPoint, isInspectorActive, harvestStacksAtPoint, enrichWithSource, } from "./executor.js";
|
|
30
30
|
// Android (ADB)
|
package/build/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,8BAA8B;AAC9B,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,cAAc;AACd,0BAA0B;AAC1B,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB;AACnB,+CAA+C;AAC/C,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,QAAQ;AACR,OAAO,EACL,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO;AACP,OAAO,EACL,SAAS,EACT,cAAc,EACd,UAAU,EACV,OAAO,EACP,UAAU,EACV,aAAa,GACd,MAAM,WAAW,CAAC;AAEnB,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,UAAU;AACV,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACL,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAC;AAIpB,aAAa;AACb,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,EAC9B,gCAAgC,EAChC,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,kGAAkG;AAClG,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,WAAW;AACX,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,SAAS;AACT,6BAA6B;AAC7B,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,20 @@
|
|
|
12
12
|
* props (aria-hidden, display:none, etc.).
|
|
13
13
|
*/
|
|
14
14
|
export declare function isHiddenNavigationScene(name: string | null, props: any): boolean;
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* A single style object that makes its subtree invisible.
|
|
17
|
+
*
|
|
18
|
+
* `opacity: 0` matters because a closed react-navigation drawer leaves its scrim
|
|
19
|
+
* mounted full-screen: it surfaced as a tappable `<Overlay />` covering the middle of
|
|
20
|
+
* every screen. Only a literal numeric 0 counts — an Animated opacity is a node object,
|
|
21
|
+
* and treating that as 0 would prune whole subtrees mid-animation.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isHiddenStyle(s: any): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* JS source defining the visibility helpers for injection into an IIFE expression.
|
|
26
|
+
* `isHiddenStyle` must be emitted too — `isHiddenNavigationScene` calls it, and a missing
|
|
27
|
+
* definition would throw inside Hermes rather than fail here.
|
|
28
|
+
*/
|
|
16
29
|
export declare const VISIBILITY_HELPERS_JS: string;
|
|
17
30
|
/** Native-presented sheets whose measureInWindow geometry is untrustworthy. `openMarkers`
|
|
18
31
|
* are host component names that appear only while the sheet is actually presented. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../src/core/injected/visibility.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAmBhF;AAED,
|
|
1
|
+
{"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../src/core/injected/visibility.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAmBhF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAK7C;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAGtB,CAAC;AAEb;uFACuF;AACvF,eAAO,MAAM,qBAAqB,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EAE9F,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQpG;AAED,2FAA2F;AAC3F,eAAO,MAAM,0BAA0B,QAAgE,CAAC"}
|
|
@@ -34,18 +34,42 @@ export function isHiddenNavigationScene(name, props) {
|
|
|
34
34
|
if (props.importantForAccessibility === "no-hide-descendants")
|
|
35
35
|
return true;
|
|
36
36
|
var s = props.style;
|
|
37
|
-
if (s && !Array.isArray(s) && s
|
|
37
|
+
if (s && !Array.isArray(s) && isHiddenStyle(s))
|
|
38
38
|
return true;
|
|
39
39
|
if (Array.isArray(s)) {
|
|
40
40
|
for (var i = 0; i < s.length; i++) {
|
|
41
|
-
if (s[i] && s[i]
|
|
41
|
+
if (s[i] && isHiddenStyle(s[i]))
|
|
42
42
|
return true;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
return false;
|
|
46
46
|
}
|
|
47
|
-
/**
|
|
48
|
-
|
|
47
|
+
/**
|
|
48
|
+
* A single style object that makes its subtree invisible.
|
|
49
|
+
*
|
|
50
|
+
* `opacity: 0` matters because a closed react-navigation drawer leaves its scrim
|
|
51
|
+
* mounted full-screen: it surfaced as a tappable `<Overlay />` covering the middle of
|
|
52
|
+
* every screen. Only a literal numeric 0 counts — an Animated opacity is a node object,
|
|
53
|
+
* and treating that as 0 would prune whole subtrees mid-animation.
|
|
54
|
+
*/
|
|
55
|
+
export function isHiddenStyle(s) {
|
|
56
|
+
if (!s)
|
|
57
|
+
return false;
|
|
58
|
+
if (s.display === "none")
|
|
59
|
+
return true;
|
|
60
|
+
if (typeof s.opacity === "number" && s.opacity === 0)
|
|
61
|
+
return true;
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* JS source defining the visibility helpers for injection into an IIFE expression.
|
|
66
|
+
* `isHiddenStyle` must be emitted too — `isHiddenNavigationScene` calls it, and a missing
|
|
67
|
+
* definition would throw inside Hermes rather than fail here.
|
|
68
|
+
*/
|
|
69
|
+
export const VISIBILITY_HELPERS_JS = [
|
|
70
|
+
`var isHiddenStyle = ${isHiddenStyle.toString()};`,
|
|
71
|
+
`var isHiddenNavigationScene = ${isHiddenNavigationScene.toString()};`
|
|
72
|
+
].join("\n");
|
|
49
73
|
/** Native-presented sheets whose measureInWindow geometry is untrustworthy. `openMarkers`
|
|
50
74
|
* are host component names that appear only while the sheet is actually presented. */
|
|
51
75
|
export const NATIVE_SHEET_REGISTRY = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../../src/core/injected/visibility.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,uFAAuF;AACvF,4EAA4E;AAE5E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAmB,EAAE,KAAU;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC7E,IAAI,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACjE,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QACtE,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,KAAK,CAAC,2BAA2B,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,KAAK,CAAC,yBAAyB,KAAK,qBAAqB;QAAE,OAAO,IAAI,CAAC;IAC3E,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../../src/core/injected/visibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,14 @@
|
|
|
18
18
|
*/
|
|
19
19
|
/** Internal/framework wrappers that must never be reported as an element's name. */
|
|
20
20
|
export declare const RN_PRIMITIVES_SRC = "/^(Animated\\(.*|withAnimated.*|AnimatedComponent.*|ForwardRef.*|memo\\(.*|Context\\.Consumer|Context\\.Provider|ScrollViewContext(Base)?|VirtualizedListContext(Resetter)?|TextInputContext|KeyboardAvoidingViewContext|RCT.*|RNS.*|RNC.*|ViewManagerAdapter_.*|VirtualizedList.*|CellRenderer.*|FrameSizeProvider.*|MaybeScreenContainer|MaybeScreen|Navigation.*|Screen$|ScreenStack|ScreenContainer|ScreenContentWrapper|SceneView|DelayedFreeze|Freeze|Suspender|DebugContainer|StaticContainer|SafeAreaProvider.*|SafeAreaFrameContext|SafeAreaInsetsContext|ExpoRoot|ExpoRootComponent|GestureHandler.*|NativeViewGestureHandler|GestureDetector|PanGestureHandler|Reanimated.*|BottomTabNavigator|TabLayout|RouteNode|Route$|KeyboardProvider|PortalProviderComponent|BottomSheetModalProviderWrapper|ThemeContext|ThemeProvider|TextAncestorContext|PressabilityDebugView|TouchableHighlightImpl|StatusBarOverlay|BottomSheetHostingContainerComponent|BottomSheetGestureHandlersProvider|BottomSheetBackdropContainerComponent|BottomSheetContainerComponent|BottomSheetDraggableViewComponent|BottomSheetHandleContainerComponent|BottomSheetBackgroundContainerComponent|DebuggingOverlay|InspectorDeferred|Inspector|InspectorOverlay|InspectorPanel|StyleInspector|BoxInspector|BoxContainer|ElementBox|BorderBox|InspectorPanelButton)$/";
|
|
21
|
-
/** Names too generic to identify anything — keep climbing past these.
|
|
22
|
-
|
|
21
|
+
/** Names too generic to identify anything — keep climbing past these.
|
|
22
|
+
*
|
|
23
|
+
* Scroll/list containers belong here: they are layout, not identity. Without them a
|
|
24
|
+
* climb out of a plain `<Pressable>` inside a `<ScrollView>` stopped on the scroll
|
|
25
|
+
* container, so every button on such a screen was reported as `<ScrollView />`
|
|
26
|
+
* ("Submit", "Cancel", "Отправить" all came back with that tag). Callers that find
|
|
27
|
+
* nothing meaningful above a pressable must fall back to naming the pressable itself
|
|
28
|
+
* rather than climbing further — the next non-generic ancestor is typically the whole
|
|
29
|
+
* screen component, which is a worse answer than "Pressable". */
|
|
30
|
+
export declare const GENERIC_COMPONENT_SRC = "/^(View|TouchableOpacity|TouchableHighlight|TouchableWithoutFeedback|Pressable|TouchableNativeFeedback|Text|RCTView|RCTText|ScrollView|FlatList|SectionList|VirtualizedList|KeyboardAvoidingView|SafeAreaView|Unknown)$/";
|
|
23
31
|
//# sourceMappingURL=injectedFilters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectedFilters.d.ts","sourceRoot":"","sources":["../../src/core/injectedFilters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,4xCAC+vC,CAAC;AAE9xC
|
|
1
|
+
{"version":3,"file":"injectedFilters.d.ts","sourceRoot":"","sources":["../../src/core/injectedFilters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,4xCAC+vC,CAAC;AAE9xC;;;;;;;;kEAQkE;AAClE,eAAO,MAAM,qBAAqB,6NAC4L,CAAC"}
|
|
@@ -18,6 +18,14 @@
|
|
|
18
18
|
*/
|
|
19
19
|
/** Internal/framework wrappers that must never be reported as an element's name. */
|
|
20
20
|
export const RN_PRIMITIVES_SRC = "/^(Animated\\(.*|withAnimated.*|AnimatedComponent.*|ForwardRef.*|memo\\(.*|Context\\.Consumer|Context\\.Provider|ScrollViewContext(Base)?|VirtualizedListContext(Resetter)?|TextInputContext|KeyboardAvoidingViewContext|RCT.*|RNS.*|RNC.*|ViewManagerAdapter_.*|VirtualizedList.*|CellRenderer.*|FrameSizeProvider.*|MaybeScreenContainer|MaybeScreen|Navigation.*|Screen$|ScreenStack|ScreenContainer|ScreenContentWrapper|SceneView|DelayedFreeze|Freeze|Suspender|DebugContainer|StaticContainer|SafeAreaProvider.*|SafeAreaFrameContext|SafeAreaInsetsContext|ExpoRoot|ExpoRootComponent|GestureHandler.*|NativeViewGestureHandler|GestureDetector|PanGestureHandler|Reanimated.*|BottomTabNavigator|TabLayout|RouteNode|Route$|KeyboardProvider|PortalProviderComponent|BottomSheetModalProviderWrapper|ThemeContext|ThemeProvider|TextAncestorContext|PressabilityDebugView|TouchableHighlightImpl|StatusBarOverlay|BottomSheetHostingContainerComponent|BottomSheetGestureHandlersProvider|BottomSheetBackdropContainerComponent|BottomSheetContainerComponent|BottomSheetDraggableViewComponent|BottomSheetHandleContainerComponent|BottomSheetBackgroundContainerComponent|DebuggingOverlay|InspectorDeferred|Inspector|InspectorOverlay|InspectorPanel|StyleInspector|BoxInspector|BoxContainer|ElementBox|BorderBox|InspectorPanelButton)$/";
|
|
21
|
-
/** Names too generic to identify anything — keep climbing past these.
|
|
22
|
-
|
|
21
|
+
/** Names too generic to identify anything — keep climbing past these.
|
|
22
|
+
*
|
|
23
|
+
* Scroll/list containers belong here: they are layout, not identity. Without them a
|
|
24
|
+
* climb out of a plain `<Pressable>` inside a `<ScrollView>` stopped on the scroll
|
|
25
|
+
* container, so every button on such a screen was reported as `<ScrollView />`
|
|
26
|
+
* ("Submit", "Cancel", "Отправить" all came back with that tag). Callers that find
|
|
27
|
+
* nothing meaningful above a pressable must fall back to naming the pressable itself
|
|
28
|
+
* rather than climbing further — the next non-generic ancestor is typically the whole
|
|
29
|
+
* screen component, which is a worse answer than "Pressable". */
|
|
30
|
+
export const GENERIC_COMPONENT_SRC = "/^(View|TouchableOpacity|TouchableHighlight|TouchableWithoutFeedback|Pressable|TouchableNativeFeedback|Text|RCTView|RCTText|ScrollView|FlatList|SectionList|VirtualizedList|KeyboardAvoidingView|SafeAreaView|Unknown)$/";
|
|
23
31
|
//# sourceMappingURL=injectedFilters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectedFilters.js","sourceRoot":"","sources":["../../src/core/injectedFilters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAC1B,yxCAAyxC,CAAC;AAE9xC
|
|
1
|
+
{"version":3,"file":"injectedFilters.js","sourceRoot":"","sources":["../../src/core/injectedFilters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAC1B,yxCAAyxC,CAAC;AAE9xC;;;;;;;;kEAQkE;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAC9B,0NAA0N,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ExecutionResult } from "./types.js";
|
|
2
2
|
import type { RawComponentStack } from "./componentSource.js";
|
|
3
|
+
import { type ScreenSpaceMetrics } from "./screenSpace.js";
|
|
3
4
|
/**
|
|
4
5
|
* Check if the Element Inspector overlay is currently active.
|
|
5
6
|
*/
|
|
@@ -25,6 +26,11 @@ export declare function inspectAtPoint(x: number, y: number, options?: {
|
|
|
25
26
|
includeProps?: boolean;
|
|
26
27
|
includeFrame?: boolean;
|
|
27
28
|
device?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Top inset used to lift raw measurements into screen space. Omit (or pass a zero
|
|
31
|
+
* inset) to hit-test in raw fiber space — the pre-normalisation behaviour.
|
|
32
|
+
*/
|
|
33
|
+
screenSpace?: ScreenSpaceMetrics;
|
|
28
34
|
}): Promise<ExecutionResult>;
|
|
29
35
|
/**
|
|
30
36
|
* Harvests raw _debugStack strings for whatever sits at (x, y). Returns an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/core/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/core/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMnF;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCzE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAChC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE;IACL,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC/B,GACP,OAAO,CAAC,eAAe,CAAC,CAmX1B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACtC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAc9B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUlC"}
|