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:
- 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.
- The
lock: end wrapper (or center if lock: end is absent) will remain the only visually rendered trackway.
- Update
GridDragScroll to gracefully ignore hidden scrollbars when calculating thumb-drag boundaries.
- Repoint the
GridRowScrollPinning Addon listener logic to attach dynamically to whichever wrapper natively holds the active scrollbar thumb.
When
lock: endcolumns 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
VerticalScrollbarcomponent, we will implement a CSS-driven visual delegation pattern:.neo-hide-scrollbarSCSS class to thebodyStartandbodygrid wrappers so their nativeoverflow-ycapability remains functional for mouse wheels/trackpads, but is hidden from the UI.lock: endwrapper (orcenteriflock: endis absent) will remain the only visually rendered trackway.GridDragScrollto gracefully ignore hidden scrollbars when calculating thumb-drag boundaries.GridRowScrollPinningAddon listener logic to attach dynamically to whichever wrapper natively holds the active scrollbar thumb.