Scroll Area

A native scroll container with custom scrollbars.

Vernacular architecture is building done outside any academic tradition, and without professional guidance. It is not a particular architectural movement or style, but rather a broad category, encompassing a wide range and variety of building types, with differing methods of construction, from around the world, both historical and extant and classical and modern. Vernacular architecture constitutes 95% of the world's built environment, as estimated in 1995 by Amos Rapoport, as measured against the small percentage of new buildings every year designed by architects and built by engineers.

This type of architecture usually serves immediate, local needs, is constrained by the materials available in its particular region and reflects local traditions and cultural practices. The study of vernacular architecture does not examine formally schooled architects, but instead that of the design skills and tradition of local builders, who were rarely given any attribution for the work. More recently, vernacular architecture has been examined by designers and the building industry in an effort to be more energy conscious with contemporary design and construction—part of a broader interest in sustainable design.

API reference

Import the component and assemble its parts:

Anatomy
import { ScrollArea } from '@base-ui-components/react/scroll-area';
<ScrollArea.Root>  <ScrollArea.Viewport />  <ScrollArea.Scrollbar>    <ScrollArea.Thumb />  </ScrollArea.Scrollbar>  <ScrollArea.Corner /></ScrollArea.Root>

Root

Groups all parts of the scroll area. Renders a <div> element.

PropTypeDefault
className

string | (state) => string

undefined

render

| React.ReactElement
| (props, state) => React.ReactElement

undefined

CSS Variable
Description
--scroll-area-corner-height
--scroll-area-corner-width

Viewport

The actual scrollable container of the scroll area. Renders a <div> element.

PropTypeDefault
className

string | (state) => string

undefined

render

| React.ReactElement
| (props, state) => React.ReactElement

undefined

Scrollbar

A vertical or horizontal scrollbar for the scroll area. Renders a <div> element.

PropTypeDefault
orientation

'horizontal' | 'vertical'

'vertical'

className

string | (state) => string

undefined

keepMounted

boolean

false

render

| React.ReactElement
| (props, state) => React.ReactElement

undefined

Attribute
Description
data-orientation
data-hovering
data-scrolling
CSS Variable
Description
--scroll-area-thumb-height
--scroll-area-thumb-width

Thumb

The draggable part of the the scrollbar that indicates the current scroll position. Renders a <div> element.

PropTypeDefault
className

string | (state) => string

undefined

render

| React.ReactElement
| (props, state) => React.ReactElement

undefined

Attribute
Description
data-orientation

Corner

A small rectangular area that appears at the intersection of horizontal and vertical scrollbars. Renders a <div> element.

PropTypeDefault
className

string | (state) => string

undefined

render

| React.ReactElement
| (props, state) => React.ReactElement

undefined