A scrollable container with a native feel but custom styled scrollbars.
import { ScrollArea } from "@/components/ui/scroll-area" import { Separator } from "@/components/ui/separator" export function ScrollAreaDemo() { const tags = Array.from({ length: 50 }).map( (_, i, a) => `v1.2.0-beta.${a.length - i}` ) return ( <ScrollArea className="h-72 w-48 rounded-md border"> <div className="p-4"> <h4 className="mb-4 text-sm font-medium leading-none">Tags</h4> {tags.map((tag) => ( <> <div key={tag} className="text-sm">{tag}</div> <Separator className="my-2" /> </> ))} </div> </ScrollArea> ) }
Prop | Type | Default | Description |
---|---|---|---|
type | auto | always | scroll | hover | hover | When scrollbars should be visible. |
scrollHideDelay | number | 600 | Duration in ms to hide scrollbars after scrolling. |
dir | ltr | rtl | - | Text direction of the scrollbar. |