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. |