fix(ui): convert LoadMoreRow SCSS to CSS and fix tree keyboard nav#16985
Open
JarrodMFlesch wants to merge 7 commits into
Open
fix(ui): convert LoadMoreRow SCSS to CSS and fix tree keyboard nav#16985JarrodMFlesch wants to merge 7 commits into
JarrodMFlesch wants to merge 7 commits into
Conversation
9e277e3 to
6ecd076
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
6ecd076 to
2437c0e
Compare
Contributor
📦 esbuild Bundle Analysis for payloadThis analysis was generated by esbuild-bundle-analyzer. 🤖
Largest pathsThese visualization shows top 20 largest paths in the bundle.Meta file: packages/next/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_shared.json, Out file: esbuild/exports/shared.js
Meta file: packages/richtext-lexical/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_shared.json, Out file: esbuild/exports/shared_optimized/index.js
DetailsNext to the size is how much the size has increased or decreased compared with the base branch of this PR.
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Ensure the newly revealed tree item receives focus after Enter on load-more by deferring the handoff until the next frame. Add a regression covering keyboard navigation through the section's final load-more row.
…collection - Add Divisions collection with treeLimit: 3 for load-more regression tests - Remove treeLimit from Organizations and Folders to avoid affecting unrelated tests - Seed Alpha/Beta/Gamma Divisions with enough children to trigger pagination - Update e2e keyboard test to use Divisions tab instead of Organizations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Numeric suffixes (1/2/3/4) sort correctly by title; word suffixes (One/Two/Three/Four) sort as Four < One < Three < Two, causing the wrong children to be visible before load-more. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Member
JessRynkar
approved these changes
Jun 15, 2026
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.

Converts
LoadMoreRowand the tree-specificTree/LoadMorefrom SCSS to CSS, drops the dead--tree-node-padding-xdeclaration, removes the decorative elbowTreeConnector, and fixes a focus bug that broke keyboard navigation in the hierarchy tree.SCSS → CSS
Migrates legacy theme tokens to UI4 semantic tokens (
--theme-elevation-400→--color-text-secondary,--theme-text→--color-text) and folds the removed connector's offset into the tree row'spadding-left.a11y fix
The keyboard-navigation fix addresses a focus bounce: each
.tree-noderegisteredonFocus={handleFocus}, and because React'sonFocusbubbles, focusing a descendant node also fired its ancestor's handler, which synchronously re-focused the ancestor. PressingArrowDown/ArrowUpinto any expanded node's child or sibling instantly snapped focus back to the parent, making the tree feel un-navigable. The handler now only claims focus when the event targets the node's own element:Related:
treeLimit: 4to the v4FoldersandTagshierarchy configs and seeds a deeper folder tree (Root Folder→Nested Parent Folder→Branch Folder→ leaf children) so the nestedLoadMoreRowpagination and tree keyboard navigation are exercisable in the v4 suite.Before
CleanShot.2026-06-12.at.16.44.15.mp4
After
CleanShot.2026-06-12.at.16.46.52.mp4