ScrollBar
ScrollBar controls a scroll position with optional arrows, keyboard input, and a draggable thumb. Use ScrollBox when the component must also own and clip scrollable children.
Availability
| Field | Availability |
|---|---|
| Package | @opentui/core |
| Core renderable | ScrollBarRenderable |
| React | Unavailable |
| Solid | Unavailable |
| Status | Built-in Core renderable |
Basic usage
Renderable API
position: 0 / 180 ▲
▀
viewport: 20 / 200 ▼Keyboard controls
When focused, the scrollbar responds to:
Up/Downork/jfor vertical barsLeft/Rightorh/lfor horizontal barsPageUp/PageDownto move by half the viewportHome/Endto jump to start/end
Properties
| Property | Type | Default | Description |
|---|---|---|---|
orientation | "vertical" or "horizontal" | - | Scrollbar direction |
showArrows | boolean | false | Show arrow buttons |
arrowOptions | ArrowOptions | - | Styling for arrow buttons |
trackOptions | Partial<SliderOptions> | - | Styling for the track and thumb |
scrollSize | number | 0 | Total scrollable size |
viewportSize | number | 0 | Visible size of the viewport |
scrollPosition | number | 0 | Current scroll position |
scrollStep | number | - | Step size when scrollBy(..., "step") |
onChange | (position: number) => void | - | Fired when scroll position changes |
Related concepts
Read Layout for viewport dimensions. Read Interaction, focus, and selection for keyboard and pointer behavior. Slider exposes the underlying continuous-value control without scroll semantics.