LayoutInteractive playground
ScrollArea
A scrolling region with consistent styling.
Preparing the playground…
Text and Markdown example
ScrollArea · Example
1<ScrollArea style={{height:180,width:320}}>{Array.from({length:15}, (_,i) => <p key={i} style={{padding:12,borderBottom:"1px solid var(--color-border)"}}>Project {i + 1}</p>)}</ScrollArea>How to use it
Set a height and make the area's purpose clear. Content remains keyboard accessible. virtualized enables large lists: items, renderItem and estimateSize on web; FlatList data and renderItem on native.
Import
React / Next.js
1import { ScrollArea, ScrollBar } from "@kivora/nextjs";Interactive examples run inside a component with "use client". The playground's Copy button includes the imports needed for the current example.
API reference 0.2.0
Types from the installed published version, including component properties and common HTML attributes. “Optional” does not imply a default value; omitting a property lets the component decide.
| Property | Type | Description |
|---|---|---|
estimateSizeRequired | (index: number) => number | Estimate each row's size for virtualization. |
itemsRequired | TItem[] | Collection of items to render. |
renderItemRequired | (item: TItem, index: number) => ReactNode | Function building each item's view. |
virtualizedRequired | false | true | Configures virtualized. The type describes the supported values and structure. |
aria-label | string | Accessible name of the control. |
asChild | boolean | Apply props and behavior to a single compatible child element. |
children | ReactNode | Content or child elements of the component. |
className | string | Additional CSS classes to customize the element. |
defaultChecked | boolean | Initial selection of the control. |
defaultValue | string | number | readonly string[] | Initial value when the component manages its own state. |
dir | "ltr" | "rtl" | Interface reading direction. |
getItemKey | ((index: number) => Key) | Return a stable key for each item. |
horizontal | boolean | Configures horizontal. The type describes the supported values and structure. |
id | string | Element identifier; associates labels and descriptions. |
initialRect | Rect | Configures initialRect. The type describes the supported values and structure. |
itemClassName | string | ((item: TItem, index: number) => string) | CSS classes for the specified element. |
measureItems | boolean | Configures measureItems. The type describes the supported values and structure. |
onChange | ChangeEventHandler<HTMLDivElement, Element> | Change event. Check the type: some controls return an object, others a DOM event. |
onClick | MouseEventHandler<HTMLDivElement> | Action performed when the element is activated. |
onSubmit | SubmitEventHandler<HTMLDivElement> | Form submission event. |
overscan | number | Extra items mounted outside the visible area. |
role | AriaRole | Semantic role of the element. Keep the default role unless a change is justified. |
scrollHideDelay | number | Configures scrollHideDelay. The type describes the supported values and structure. |
style | CSSProperties | React inline styles. |
tabIndex | number | Keyboard focus order and availability. |
title | string | Title or supplementary information. |
type | "auto" | "hover" | "always" | "scroll" | Operation type or mode; values depend on the component. |
viewportClassName | string | CSS classes for the specified element. |
Subcomponents and composition
Review each component's properties and published declaration. Native and accessibility attributes are inherited from the element specified by its type.
ScrollArea28 properties
ScrollArea · TypeScript
1ScrollArea: <TItem = unknown>(props: ScrollAreaProps<TItem> & React.RefAttributes<HTMLDivElement>) => React.ReactElementScrollBar16 properties
| Property | Type | Description |
|---|---|---|
aria-label | string | Accessible name of the control. |
asChild | boolean | Apply props and behavior to a single compatible child element. |
children | ReactNode | Content or child elements of the component. |
className | string | Additional CSS classes to customize the element. |
defaultChecked | boolean | Initial selection of the control. |
defaultValue | string | number | readonly string[] | Initial value when the component manages its own state. |
forceMount | true | Configures forceMount. The type describes the supported values and structure. |
id | string | Element identifier; associates labels and descriptions. |
onChange | ChangeEventHandler<HTMLDivElement, Element> | Change event. Check the type: some controls return an object, others a DOM event. |
onClick | MouseEventHandler<HTMLDivElement> | Action performed when the element is activated. |
onSubmit | SubmitEventHandler<HTMLDivElement> | Form submission event. |
orientation | "horizontal" | "vertical" | Horizontal or vertical axis. |
role | AriaRole | Semantic role of the element. Keep the default role unless a change is justified. |
style | CSSProperties | React inline styles. |
tabIndex | number | Keyboard focus order and availability. |
title | string | Title or supplementary information. |
ScrollBar · TypeScript
1ScrollBar: React.ForwardRefExoticComponent<ScrollBarProps & React.RefAttributes<HTMLDivElement>>API generated from @kivora/nextjs 0.2.0View package