Skip to content

NXT-20955: React 19.3 Fragments - #456

Open
dan-ichim-lgp wants to merge 7 commits into
developfrom
feature/NXT-20955
Open

dan-ichim-lgp wants to merge 7 commits into
developfrom
feature/NXT-20955

Conversation

@dan-ichim-lgp

@dan-ichim-lgp dan-ichim-lgp commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Checklist

  • I have read and understand the contribution guide
  • A CHANGELOG entry is included
  • At least one test case is included for this feature or bug fix
  • I have run automated testing and it is passed
  • Documentation was added or is not needed
  • This is an API breaking change

Issue Resolved / Feature Added

NXT-20955: Measure the ContextualPopup activator and the Dropdown list through React 19.3 Fragment refs, without the hidden WithRef marker.

Resolution

ContextualPopupDecorator and DropdownList wrap their content in <Fragment ref> and no longer render data-withref-target or set data-withref-id.

Popup position, direction, RTL, and flipping on overflow use the union of the fragment client rects. An empty rect list is treated as a zero box, so the holepunch scrim still receives bounds. Dropdown records the last focused item only in 5-way mode, and only while the fragment contains that target. Pointer mode does not record it, and reopening restores the selected index.

react and react-dom are raised to ^19.3.1. TabGroup and Picker tests count the real children now that the shared Spottable marker is gone.

Additional Considerations

Links

NXT-20955

Comments

Enact-DCO-1.0-Signed-off-by: Dan Ichim dan.ichim@lgepartner.com

React 19.3 Fragment refs replace the hidden WithRef marker without changing positioning or focus restore.
@dan-ichim-lgp dan-ichim-lgp self-assigned this Oct 21, 2026
Fragment refs need React 19.3, and the Spottable tests need the enact branch.
@codecov

codecov Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.62%. Comparing base (14fac8f) to head (6be518d).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #456      +/-   ##
===========================================
+ Coverage    83.53%   83.62%   +0.08%     
===========================================
  Files          157      158       +1     
  Lines         7903     7928      +25     
  Branches      2445     2450       +5     
===========================================
+ Hits          6602     6630      +28     
+ Misses        1011     1007       -4     
- Partials       290      291       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Codecov reported the empty rect, unmeasurable activator, and missing containment paths.
The feature-branch pin was only needed until those changes are on develop.
Develop still has React 19.2 and the WithRef host, so Fragment ref tests fail until those branches are used.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant