ScrollArea
A customizable scroll area component with native-like scrolling and custom scrollbar styling
Installation
pnpm add @choice-ui/scroll-areaImport
import { ScrollArea, type ScrollAreaProps, type ScrollbarProps, type ThumbProps, useScrollStateAndVisibility, useThumbStyle, useThumbDrag, useHasOverflow, useScrollbarShouldShow, useScrollPerformanceMonitor } from "@choice-ui/scroll-area"Basic
In Modal
In Modal With Header
Orientation
Variant
Scroll Type
Render Prop
Virtual List
Dynamic Content
Nested Scroll Area
Hover Boundary
Item 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 2
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 3
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 4
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 5
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 6
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 7
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 8
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 9
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 10
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 11
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 12
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 13
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 14
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 15
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 16
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 17
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 18
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 19
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 20
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 21
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 22
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 23
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 24
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 25
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 26
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 27
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 28
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 29
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Item 30
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
API reference
| ScrollAreaProps | Type | Default |
|---|---|---|
aria-label | string |undefined | - |
aria-labelledby | string |undefined | - |
children | ReactNode |ScrollAreaRenderProp | - |
hoverBoundary | undefined |"none" |"hover" | - |
orientation | undefined |"vertical" |"horizontal" |"both" | - |
scrollbarMode | undefined |"default" |"padding-y" |"padding-x" |"padding-b" |"padding-t" |"padding-l" |"padding-r" | - |
type | undefined |"hover" |"auto" |"always" |"scroll" | - |
variant | undefined |"default" |"light" |"dark" | - |