Scroll Area

Native scrolling with a slim custom scrollbar that fades in on hover, plus optional edge fades.

Data DisplayRadix Scroll Area

Releases

v2.40.0latest
v2.39.0
v2.38.0
v2.37.0
v2.36.0
v2.35.0
v2.34.0
v2.33.0
v2.32.0
v2.31.0
v2.30.0
v2.29.0
v2.28.0
v2.27.0
v2.26.0
v2.25.0
v2.24.0
v2.23.0
v2.22.0
v2.21.0
v2.20.0
v2.19.0
v2.18.0
v2.17.0
v2.16.0
v2.15.0
v2.14.0
v2.13.0
v2.12.0
v2.11.0
v2.10.0
v2.9.0
v2.8.0
v2.7.0
v2.6.0
v2.5.0
v2.4.0
v2.3.0
v2.2.0
v2.1.0

Playground

Tweak the props, the preview and the code follow.

Releases
v1.40.0
v1.39.0
v1.38.0
v1.37.0
v1.36.0
v1.35.0
v1.34.0
v1.33.0
v1.32.0
v1.31.0
v1.30.0
v1.29.0
v1.28.0
v1.27.0
v1.26.0
v1.25.0
v1.24.0
v1.23.0
v1.22.0
v1.21.0
v1.20.0
v1.19.0
v1.18.0
v1.17.0
v1.16.0
v1.15.0
v1.14.0
v1.13.0
v1.12.0
v1.11.0
v1.10.0
v1.9.0
v1.8.0
v1.7.0
v1.6.0
v1.5.0
v1.4.0
v1.3.0
v1.2.0
v1.1.0
Props
220
<ScrollArea fade className="h-[220px] w-48 rounded-lg border">
  …
</ScrollArea>

Installation

npx @plumsydev/plum-ui add scroll-area

Also pulls in separator automatically.

Usage

import { ScrollArea } from "@/components/ui/scroll-area"
<ScrollArea fade className="h-72 w-48 rounded-md border">
  …
</ScrollArea>

Examples

Horizontal

orientation="horizontal" with a masked edge.

Dashboard
Analytics
Settings
Billing
Team
Logs

Live log

Follows new lines only when you're at the bottom, with a jump button otherwise.

1Build #482 started on main
2Installing dependencies…
3Lockfile is up to date
4Compiling 1,204 modules

API Reference

ScrollArea

Accepts every Radix ScrollArea.Root prop.

PropTypeDefault
orientation

Which scrollbars to render.

"vertical" | "horizontal" | "both""vertical"
fade

Masks the edges of the viewport to hint at more content.

booleanfalse
type

When scrollbars are visible.

"auto" | "always" | "scroll" | "hover""hover"