Repository navigation
Conversation
🦋 Changeset detectedLatest commit: 50ec1d5 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
jcosta33
added this pull request to stack #2858
September 23, 2026 09:44
✅ Deploy Preview for fondue-components ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
jcosta33
force-pushed
the
fix/tree-focus-prune
branch
from
September 23, 2026 11:29
0ff066b to
f30f239
Compare
jcosta33
removed this pull request from stack #2858
September 25, 2026 12:24
jcosta33
force-pushed
the
feat/tree-is-draggable
branch
from
September 25, 2026 15:02
ec2209e to
797451d
Compare
jcosta33
force-pushed
the
fix/tree-focus-prune
branch
from
September 25, 2026 15:02
bc2b98a to
dab2aba
Compare
…moved from under it
…moved The render-time prune only moved the tab stop, so DOM focus fell to the page body when the focused row unmounted.
…y tree Removing the last focused row threw in the focus effect, and removing a row while its action had focus never refocused because the tab stop did not change.
A blur that stays inside the tree is followed by focus, which already records that. The blur target check repeated it.
jcosta33
force-pushed
the
fix/tree-focus-prune
branch
from
October 6, 2026 12:18
b8c5c07 to
10d007e
Compare
…rows to the collapsed folder Visibility now comes from the items themselves instead of headless-tree's row metadata, so the fallback no longer depends on when the library rebuilds. A row hidden by a collapse hands focus to the collapsed folder, as Left Arrow would. Focus-within is one state flag that an emptied tree clears.
…talled menu A focused menu item that unmounts outside TreeRoot's own commits fires no blur, so the flag stayed true and the next commit pulled focus back into the tree after the user clicked away. An outside pointerdown or focusin now clears it; events that reach the container through the React tree, portals included, count as inside.
… gone A row's Dialog or Flyout re-rendering away its focused control left focus on body, and the restore pulled it onto the row behind the dialog. Focus that was inside a portal is now restored only when its row left the screen, as when a page is deleted from its row menu. TreeRow syncs the focused item on focus so the restore knows which row that was.
…witch A real blur to body while the window is inactive kept the flag, so the next commit pulled focus back onto the row. The click-away test now waits for Radix to arm its outside-press dismissal before clicking.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When the focused row is removed, focus moves to the next visible row (else the previous); when a collapse hides it, focus moves to the collapsed folder. The tree always keeps one tabbable row, so deleting the focused page in Frontify/web-app#16877 no longer drops the tree out of the tab order.
Tests:
getFocusFallback.spec.ts, the focus pruning cases inuseTreeController.spec.tsx, the focus recovery cases inTreeRoot.ct.tsx.