Skip to content

Support getBoundingClientRect for TextShadowNode#55278

Open
andrewdacenko wants to merge 1 commit intofacebook:mainfrom
andrewdacenko:export-D91087220
Open

Support getBoundingClientRect for TextShadowNode#55278
andrewdacenko wants to merge 1 commit intofacebook:mainfrom
andrewdacenko:export-D91087220

Conversation

@andrewdacenko
Copy link
Contributor

Summary:
When getBoundingClientRect() is called on a nested <Text> component
(TextShadowNode), return the parent paragraph's bounding rect instead of
empty/invalid metrics.

TextShadowNode is a virtual node that doesn't have its own layout metrics.
This matches web behavior where inline elements return their container's
rect. Use getClientRects() (added in a follow-up diff) to get the
individual fragment rects for text that spans multiple lines.

Differential Revision: D91087220

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jan 22, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 22, 2026

@andrewdacenko has exported this pull request. If you are a Meta employee, you can view the originating Diff in D91087220.

@andrewdacenko andrewdacenko force-pushed the export-D91087220 branch 2 times, most recently from a33be80 to 1b6caf1 Compare January 27, 2026 03:53
Summary:
Changelog: [General][Added] - Add DOM getBoundingClientRect() for nested text

When `getBoundingClientRect()` is called on a nested `<Text>` component
(TextShadowNode), return the parent paragraph's bounding rect instead of
empty/invalid metrics.

TextShadowNode is a virtual node that doesn't have its own layout metrics.
This matches web behavior where inline elements return their container's
rect. Use `getClientRects()` (added in a follow-up diff) to get the
individual fragment rects for text that spans multiple lines.

Differential Revision: D91087220
andrewdacenko added a commit to andrewdacenko/react-native that referenced this pull request Jan 28, 2026
Summary:
Changelog: [General][Added] - Add DOM getBoundingClientRect() for nested text

When `getBoundingClientRect()` is called on a nested `<Text>` component
(TextShadowNode), return the parent paragraph's bounding rect instead of
empty/invalid metrics.

TextShadowNode is a virtual node that doesn't have its own layout metrics.
This matches web behavior where inline elements return their container's
rect. Use `getClientRects()` (added in a follow-up diff) to get the
individual fragment rects for text that spans multiple lines.

Differential Revision: D91087220
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants