LearnNewsExamplesServices
Frontmatter
id9625
titleMulti-Body Grid: Visually delegate native vertical scrollbar UX with CSS
stateClosed
labels
enhancementai
assigneestobiu
createdAtApr 1, 2026, 11:01 PM
updatedAtApr 2, 2026, 9:46 AM
githubUrlhttps://github.com/neomjs/neo/issues/9625
authortobiu
commentsCount1
parentIssue9486
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtApr 2, 2026, 9:46 AM

Multi-Body Grid: Visually delegate native vertical scrollbar UX with CSS

Closedenhancementai
tobiu
tobiu commented on Apr 1, 2026, 11:01 PM

When lock: end columns exist in a multi-body grid, the native vertical scrollbar visually appears between the center rows and the locked end rows. This breaks UX expectations.

Instead of reverting to a custom and slow VerticalScrollbar component, we will implement a CSS-driven visual delegation pattern:

  1. Apply a .neo-hide-scrollbar SCSS class to the bodyStart and body grid wrappers so their native overflow-y capability remains functional for mouse wheels/trackpads, but is hidden from the UI.
  2. The lock: end wrapper (or center if lock: end is absent) will remain the only visually rendered trackway.
  3. Update GridDragScroll to gracefully ignore hidden scrollbars when calculating thumb-drag boundaries.
  4. Repoint the GridRowScrollPinning Addon listener logic to attach dynamically to whichever wrapper natively holds the active scrollbar thumb.
tobiu added the enhancement label on Apr 1, 2026, 11:01 PM
tobiu added the ai label on Apr 1, 2026, 11:01 PM
tobiu added parent issue #9486 on Apr 1, 2026, 11:01 PM
tobiu assigned to @tobiu on Apr 2, 2026, 9:46 AM
tobiu
tobiu Apr 2, 2026, 9:46 AM

already resolved.

tobiu closed this issue on Apr 2, 2026, 9:46 AM
tobiu referenced in commit 534194d - "fix: Stabilize Multi-Body Grid Vertical Scrollbar UX & Synchronization (#9625)" on Apr 2, 2026, 10:26 AM