Skip to content

NXT-20955: React 19.3 Fragments - #879

Open
dan-ichim-lgp wants to merge 4 commits into
feature/functionalComponentsfrom
feature/NXT-20955
Open

dan-ichim-lgp wants to merge 4 commits into
feature/functionalComponentsfrom
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: Read popup, dropdown, and scroll nodes from React 19.3 Fragment refs.

Resolution

ContextualPopupDecorator, DropdownList, and ScrollButton no longer use WithRef. Each keeps a <Fragment ref>.

The popup helper ignores empty rects. Identical rects, including the Spottable marker when every element reports the same box, stay one measured box with its own width and height. Different rects are unioned. Dropdown fragmentContains records the last 5-way focus only when the fragment contains the target. ScrollButton passes the fragment host to Spotlight.

CI clones CLI and enact from feature/NXT-20955. Tab, color, and media specs match develop, because the Spottable marker is present again. That CI pin has to return to develop before merge.

Additional Considerations

Links

NXT-20955

Comments

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

@dan-ichim-lgp dan-ichim-lgp self-assigned this Oct 21, 2026
@dan-ichim-lgp dan-ichim-lgp changed the title NXT-20955: Test agate against the enact feature branch. NXT-20955: React 19.3 Fragments Oct 21, 2026
@codecov

codecov Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 80.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 85.87%. Comparing base (210c4e1) to head (994af4b).

Files with missing lines Patch % Lines
...ntextualPopupDecorator/ContextualPopupDecorator.js 75.00% 1 Missing ⚠️
Additional details and impacted files
@@                       Coverage Diff                        @@
##           feature/functionalComponents     #879      +/-   ##
================================================================
+ Coverage                         85.60%   85.87%   +0.27%     
================================================================
  Files                               118      118              
  Lines                              4495     4496       +1     
  Branches                           1226     1227       +1     
================================================================
+ Hits                               3848     3861      +13     
+ Misses                              503      493      -10     
+ Partials                            144      142       -2     

☔ 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.

@daniel-stoian-lgp

Copy link
Copy Markdown
Contributor

Only agate’s tests changed. Is this intended?
Its own ContextualPopupDecorator, Dropdown/DropdownList and useScroll/ScrollButton still use WithRef, while in limestone, similar components were changed

@dan-ichim-lgp

Copy link
Copy Markdown
Contributor Author

Not only tests anymore. ContextualPopupDecorator, DropdownList, and ScrollButton now use a Fragment ref, same as the limestone components. Positioning, 5-way focus restore, and the node passed to Spotlight stay on the same host element. The hidden marker is gone.

Repeated activator rects stay one measured box. CI clones the CLI and enact feature branches so tests run on React 19.3.
Comment thread ContextualPopupDecorator/ContextualPopupDecorator.js Outdated
Comment thread useScroll/ScrollButton.js Outdated
@daniel-stoian-lgp
daniel-stoian-lgp changed the base branch from develop to feature/functionalComponents October 28, 2026 15:11

This branch has not been deployed

No deployments
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.

2 participants