From 2e4cf7c800b7d397e14195ea924bb4e2c6ba404d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 12:25:49 +0000 Subject: [PATCH] Version Packages --- .changeset/olive-otters-grab.md | 5 ----- .changeset/olive-pugs-repeat.md | 7 ------- .changeset/quiet-pandas-grab.md | 5 ----- .changeset/shiny-moons-shout.md | 5 ----- CHANGELOG.md | 12 ++++++++++++ package.json | 2 +- 6 files changed, 13 insertions(+), 23 deletions(-) delete mode 100644 .changeset/olive-otters-grab.md delete mode 100644 .changeset/olive-pugs-repeat.md delete mode 100644 .changeset/quiet-pandas-grab.md delete mode 100644 .changeset/shiny-moons-shout.md diff --git a/.changeset/olive-otters-grab.md b/.changeset/olive-otters-grab.md deleted file mode 100644 index ad2de55..0000000 --- a/.changeset/olive-otters-grab.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"react-native-grab": patch ---- - -Fix selection landing below the finger on Android. Fabric measures in the coordinate space of the surface root, while touches report page coordinates in the coordinate space of the native window, and Android's main surface starts a status bar below its window. The gap is now read off the touch that starts the gesture instead of assumed to be zero, so it stays correct for natively presented surfaces (which have their own window) and on iOS (where the two spaces already coincide). diff --git a/.changeset/olive-pugs-repeat.md b/.changeset/olive-pugs-repeat.md deleted file mode 100644 index a5ea414..0000000 --- a/.changeset/olive-pugs-repeat.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"react-native-grab": patch ---- - -Resolve grab points against the selection owner instead of the window, so elements are selected under the finger when the owner is not at the window origin (a screen under a native header, or a natively presented surface). - -Let `ReactNativeGrabSurface` be sized by its host: it no longer forces a fill, and takes `flex: 1` through `style` when it should fill a presented container. Surface activation now deactivates on unmount, a failed owner registration is reported instead of failing silently, and the web entry points render their children rather than dropping the subtree. diff --git a/.changeset/quiet-pandas-grab.md b/.changeset/quiet-pandas-grab.md deleted file mode 100644 index f7f9bcc..0000000 --- a/.changeset/quiet-pandas-grab.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"react-native-grab": patch ---- - -Add `ReactNativeGrabSurface` for selecting React Native content hosted in separately presented native surfaces. diff --git a/.changeset/shiny-moons-shout.md b/.changeset/shiny-moons-shout.md deleted file mode 100644 index bd01075..0000000 --- a/.changeset/shiny-moons-shout.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"react-native-grab": patch ---- - -Render the grab controls in the window of the owner that currently resolves selection, so they stay visible above natively presented surfaces. Previously the controls were always rendered by `ReactNativeGrabRoot`, which left them stranded behind sheets on Android: a sheet is presented in its own window, and no `zIndex` inside the main window can paint over it. The control bar is also placed against the measured size of its container rather than the window's, since that container is a sheet rather than the whole screen whenever a surface owns selection. diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e35162..59ac97c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # react-native-grab +## 1.1.2 + +### Patch Changes + +- 5722d55: Fix selection landing below the finger on Android. Fabric measures in the coordinate space of the surface root, while touches report page coordinates in the coordinate space of the native window, and Android's main surface starts a status bar below its window. The gap is now read off the touch that starts the gesture instead of assumed to be zero, so it stays correct for natively presented surfaces (which have their own window) and on iOS (where the two spaces already coincide). +- 2a10576: Resolve grab points against the selection owner instead of the window, so elements are selected under the finger when the owner is not at the window origin (a screen under a native header, or a natively presented surface). + + Let `ReactNativeGrabSurface` be sized by its host: it no longer forces a fill, and takes `flex: 1` through `style` when it should fill a presented container. Surface activation now deactivates on unmount, a failed owner registration is reported instead of failing silently, and the web entry points render their children rather than dropping the subtree. + +- 2a10576: Add `ReactNativeGrabSurface` for selecting React Native content hosted in separately presented native surfaces. +- 502b064: Render the grab controls in the window of the owner that currently resolves selection, so they stay visible above natively presented surfaces. Previously the controls were always rendered by `ReactNativeGrabRoot`, which left them stranded behind sheets on Android: a sheet is presented in its own window, and no `zIndex` inside the main window can paint over it. The control bar is also placed against the measured size of its container rather than the window's, since that container is a sheet rather than the whole screen whenever a surface owns selection. + ## 1.1.1 ### Patch Changes diff --git a/package.json b/package.json index 2a0f0da..35b865c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-grab", - "version": "1.1.1", + "version": "1.1.2", "description": "Touch-to-grab context for React Native agents.", "keywords": [ "devtools",