Scroll fade
A scroll region whose scrollbar is hidden and whose top/bottom edges fade to signal off-screen content. The canonical halwel affordance for any invisible-scrollbar scroller — sidenav lists, side panels, drawers.
It owns only overflow + the fade; sizing (flex, height, min-height:0, gap) stays on your className. The fade reacts to live scroll position (0 at a reached edge, so the first/last item never dims) and auto-disables when the content fits. Part of the app-shell scroll pattern: one scrolling region, window locked via useBodyScrollLock().
import from @halwel/ui/components/dashboard/ScrollFade
Variants
Scrolls — fades the edge with more beyond (scroll it)
Fits — no mask, no fade