Reprehenderit labore tempor eiusmod cupidatat irure consequat cupidatat do. Cupidatat reprehenderit nostrud do consequat amet labore Lorem irure cupidatat do qui est consequat. Qui ad magna in qui mollit officia ex velit aliqua duis culpa.
Id eiusmod eu et duis exercitation sit Lorem ut sunt cillum. Do qui pariatur velit pariatur minim culpa deserunt ullamco veniam enim. Culpa eu voluptate ipsum consequat ea laborum ad nisi consequat. Consequat velit nostrud proident amet irure consequat cupidatat. Id velit velit ullamco magna aliquip eu veniam labore veniam irure laborum anim.
Ea enim laborum non Lorem deserunt deserunt proident nostrud nulla eu duis pariatur irure. Enim aute tempor enim aliquip non dolor ex. In deserunt ut labore in cupidatat mollit. Elit velit consequat eiusmod adipisicing irure ipsum reprehenderit velit et eu tempor est amet elit.
Adipisicing laborum voluptate enim fugiat laborum non sint eiusmod ullamco aliquip nulla aliquip incididunt. Laboris nisi enim deserunt incididunt esse eiusmod reprehenderit consectetur velit ea. Nulla labore officia anim do est adipisicing voluptate. Duis sint minim quis magna aliqua aliqua. Sunt nisi esse quis do et aute nostrud eiusmod aliqua irure culpa. Excepteur aliqua incididunt laboris sunt culpa veniam labore eu.
Officia Lorem ullamco minim consequat enim in aute nostrud pariatur cupidatat id Lorem elit. Ut exercitation tempor incididunt proident. Ex aute qui id eiusmod consectetur in excepteur. Dolor quis adipisicing nisi ex esse est exercitation in esse fugiat. Culpa non ea non et sint non cupidatat. Qui quis dolore do commodo ea et et. Deserunt ex incididunt enim irure nulla.
Amet in consequat minim et est tempor officia anim duis occaecat eu mollit irure labore. Incididunt est ullamco mollit deserunt ut dolor ullamco anim reprehenderit. Enim id pariatur laborum deserunt consectetur Lorem quis quis ullamco voluptate do Lorem incididunt. Nulla amet adipisicing consequat proident. Commodo ipsum anim anim magna eu veniam. Id ad dolore do nostrud quis enim.
Ad sit anim ipsum ullamco dolor qui do qui qui exercitation. Culpa laborum nulla consequat cillum laborum dolore exercitation aute nisi. Excepteur elit nisi adipisicing nostrud laborum. Eiusmod adipisicing laboris quis excepteur quis magna aliqua esse irure dolore reprehenderit nulla ullamco.
In ad labore occaecat Lorem laboris. Culpa est aliqua occaecat id mollit nisi qui deserunt nostrud fugiat. Non dolor laboris Lorem qui. Est officia eiusmod nostrud velit non officia officia labore esse. Anim cillum elit laborum veniam culpa consequat adipisicing dolor minim nulla culpa et. Enim nulla et quis minim ex est pariatur occaecat ex laboris.
Deserunt aute velit irure occaecat tempor deserunt eiusmod laborum ad deserunt consequat dolor excepteur reprehenderit. Deserunt ad est dolor culpa adipisicing exercitation ipsum consectetur eu enim nostrud adipisicing qui adipisicing. Magna deserunt non aute labore anim laboris nostrud qui eu dolore magna.
Ex eu non eiusmod laboris. Duis sint consequat laboris reprehenderit est ut aute velit irure non labore esse ea. Incididunt ut ipsum cillum eu occaecat ullamco commodo labore elit laboris mollit magna labore. Cupidatat ad anim magna adipisicing non. Qui id elit exercitation id veniam. Cillum commodo laborum duis esse. Lorem veniam anim incididunt quis aute cupidatat minim.
Installation
npx @park-ui/cli add scroll-areaAdd Component
Copy the code snippet below into you components folder.
'use client'
import { ScrollArea } from '@ark-ui/react/scroll-area'
import type { ComponentProps } from 'react'
import { createStyleContext } from 'styled-system/jsx'
import { scrollArea } from 'styled-system/recipes'
const { withProvider, withContext } = createStyleContext(scrollArea)
export type RootProps = ComponentProps<typeof Root>
export type ContentProps = ComponentProps<typeof Content>
export const Root = withProvider(ScrollArea.Root, 'root')
export const RootProvider = withProvider(ScrollArea.Root, 'root')
export const Content = withContext(ScrollArea.Content, 'content')
export const Corner = withContext(ScrollArea.Corner, 'corner')
export const Thumb = withContext(ScrollArea.Thumb, 'thumb')
export const Scrollbar = withContext(ScrollArea.Scrollbar, 'scrollbar', {
defaultProps: { children: <Thumb /> },
})
export const Viewport = withContext(ScrollArea.Viewport, 'viewport')
export { ScrollAreaContext as Context } from '@ark-ui/react/scroll-area'
Integrate Recipe
Integrate this recipe in to your Panda config.
import { defineSlotRecipe } from '@pandacss/dev'
export const scrollArea = defineSlotRecipe({
className: 'scroll-area',
slots: ['root', 'viewport', 'content', 'scrollbar', 'thumb', 'corner'],
base: {
root: {
display: 'flex',
flexDirection: 'column',
width: '100%',
height: '100%',
position: 'relative',
overflow: 'hidden',
'--scrollbar-margin': '0px',
'--scrollbar-size': 'calc(var(--thumb-size) + calc(var(--scrollbar-margin) * 2))',
},
viewport: {
display: 'flex',
flexDirection: 'column',
height: '100%',
width: '100%',
WebkitOverflowScrolling: 'touch',
scrollbarWidth: 'none',
'&::-webkit-scrollbar': {
display: 'none',
},
'&[data-overflow-x] [data-pinned]': {
_after: {
content: '""',
position: 'absolute',
pointerEvents: 'none',
top: '0',
bottom: '-1px',
width: '32px',
},
},
'&[data-overflow-x]:not([data-at-left]) [data-pinned="left"]': {
_after: {
insetInlineEnd: '0',
translate: '100% 0',
boxShadow: 'inset',
},
},
},
scrollbar: {
alignItems: 'center',
display: 'flex',
position: 'relative',
touchAction: 'none',
userSelect: 'none',
zIndex: 'overlay',
_vertical: {
flexDirection: 'column',
width: 'var(--scrollbar-size)',
py: 'var(--scrollbar-margin)',
'&:not([data-overflow-y])': {
display: 'none',
},
},
_horizontal: {
flexDirection: 'row',
height: 'var(--scrollbar-size)',
px: 'var(--scrollbar-margin)',
'&:not([data-overflow-x])': {
display: 'none',
},
},
},
thumb: {
borderRadius: 'full',
bg: 'var(--thumb-bg)',
transitionDuration: 'normal',
transitionProperty: 'background, color, box-shadow',
transitionTimingFunction: 'default',
_vertical: { width: 'var(--thumb-size)' },
_horizontal: { height: 'var(--thumb-size)' },
},
corner: {},
},
defaultVariants: {
size: 'md',
scrollbar: 'auto',
},
variants: {
scrollbar: {
auto: {
scrollbar: {
'&[data-scrolling], &[data-hover]': {
'--thumb-bg': '{colors.gray.subtle.bg.active}',
},
},
},
visible: {
content: {
'&[data-overflow-y]': {
pe: 'var(--scrollbar-size)',
},
'&[data-overflow-x]': {
pb: 'var(--scrollbar-size)',
},
},
scrollbar: {
bg: 'gray.subtle.bg',
borderRadius: 'full',
},
thumb: {
'--thumb-bg': '{colors.gray.subtle.bg.active}',
},
},
},
size: {
xs: { root: { '--thumb-size': 'sizes.1' } },
sm: { root: { '--thumb-size': 'sizes.1.5' } },
md: { root: { '--thumb-size': 'sizes.2' } },
lg: { root: { '--thumb-size': 'sizes.2.5' } },
},
},
})
Usage
import { ScrollArea } from '@/components/ui'
<ScrollArea.Root>
<ScrollArea.Viewport>
<ScrollArea.Content />
</ScrollArea.Viewport>
<ScrollArea.Scrollbar>
<ScrollArea.Thumb />
</ScrollArea.Scrollbar>
<ScrollArea.Corner />
</ScrollArea.Root>
Examples
Visibility
Use the scrollbar prop to change the scrollbar visibility behavior.
Scrollbar: auto
Non eu proident fugiat laboris do excepteur adipisicing adipisicing. Enim incididunt ex qui sint. Magna officia culpa voluptate ea deserunt reprehenderit.
Veniam do velit aliquip cupidatat labore commodo laboris ex eiusmod. Eu ullamco tempor aliqua culpa dolore ex eiusmod irure ullamco dolor laboris magna labore esse. In commodo sint proident enim adipisicing qui consectetur irure sint reprehenderit cupidatat deserunt ex. Culpa sint cupidatat nostrud mollit duis labore. Nisi sint Lorem est esse eiusmod aliqua consequat labore.
Culpa reprehenderit pariatur veniam laboris proident nulla commodo quis enim sit enim ad. Laborum adipisicing nulla velit incididunt fugiat et ipsum occaecat nostrud qui aliquip. Mollit adipisicing velit occaecat duis occaecat ipsum dolor voluptate laboris occaecat laboris non. Ea tempor elit esse sunt ea. Mollit nisi cupidatat veniam Lorem id deserunt labore cupidatat labore esse. Est esse aliqua velit ipsum aliqua veniam dolore occaecat amet nulla consectetur pariatur laboris cillum.
Excepteur enim in culpa consequat enim ea exercitation esse voluptate. Id in Lorem cillum magna officia pariatur occaecat ipsum velit reprehenderit Lorem eiusmod ex. Reprehenderit ut est velit officia reprehenderit dolore irure amet.
Dolore ipsum eiusmod ea consectetur labore eiusmod labore nostrud tempor nostrud cupidatat irure amet. Cupidatat aliquip officia reprehenderit cupidatat reprehenderit mollit adipisicing commodo ex incididunt. Est labore mollit ipsum commodo duis eu occaecat nulla exercitation magna. Mollit nostrud quis id officia esse exercitation reprehenderit labore ea officia Lorem anim. Labore ea labore eiusmod dolore cupidatat. Aliqua pariatur in minim mollit incididunt enim minim ut Lorem mollit excepteur dolor magna.
Sint labore duis nisi consectetur exercitation commodo laborum. Commodo deserunt quis ad ipsum et. Dolore excepteur Lorem minim enim nulla. Ut irure deserunt amet in exercitation tempor anim id labore. Consectetur cillum non nisi in deserunt et occaecat labore officia tempor duis nulla. Esse duis do commodo proident ullamco eiusmod sit nulla officia voluptate ipsum tempor.
Cillum elit exercitation adipisicing est in consectetur nostrud duis exercitation voluptate aliquip ut. Laborum quis magna nisi minim do sit irure eiusmod minim excepteur laboris tempor consectetur. Irure laborum sunt et aliquip quis ea magna. Proident qui aliqua sint sint. Consectetur id tempor cillum enim nulla id ipsum irure cupidatat reprehenderit velit Lorem in. Reprehenderit adipisicing ut sint mollit cillum magna irure non do non id ullamco commodo.
Adipisicing culpa sunt ea laborum amet amet. Ad irure do nisi ea magna aliqua fugiat dolor aute ipsum excepteur dolore. Amet dolore amet non cillum officia amet anim ad. Laborum incididunt anim amet ad cupidatat consequat.
Esse esse duis minim commodo reprehenderit sit. Magna voluptate commodo consequat occaecat amet et pariatur. Aliquip ad sit pariatur culpa fugiat irure mollit pariatur et ad magna reprehenderit aute. Non nulla sint eu et consequat ex cupidatat labore reprehenderit est occaecat. Eu ipsum deserunt pariatur ullamco cupidatat commodo. Laborum quis amet cupidatat dolore reprehenderit ea voluptate nisi consectetur tempor officia.
Id ea exercitation est sit. Tempor et deserunt ut consequat dolor officia. Incididunt ut pariatur cillum elit consequat dolore ut velit.
Scrollbar: visible
Excepteur sunt culpa deserunt sit eu et esse nisi aute aliquip fugiat laboris consectetur. Fugiat qui aliquip in dolor commodo sit id voluptate. Est culpa irure ea id est commodo veniam ullamco dolor.
Lorem dolor commodo labore deserunt. Nulla ex ad laborum aute quis dolore veniam. In anim officia velit reprehenderit occaecat nostrud anim do fugiat qui laboris culpa. Cillum exercitation minim commodo minim incididunt pariatur proident tempor nulla sit Lorem elit est. Consequat nisi quis esse quis velit officia adipisicing labore.
Nisi aliquip ad commodo ullamco amet ex. Esse elit anim reprehenderit et nisi enim minim reprehenderit deserunt tempor laborum. Occaecat magna dolor sint qui consectetur sint id commodo pariatur veniam. Mollit laboris aliquip elit exercitation. Esse exercitation in officia cillum aliquip eiusmod ullamco voluptate adipisicing.
Consequat quis enim veniam aliquip laboris minim laborum eu est pariatur id deserunt qui. Occaecat duis incididunt irure laborum voluptate. Cillum amet deserunt consectetur veniam fugiat commodo minim sit quis ullamco consequat elit id. Tempor est elit occaecat non magna excepteur nostrud duis voluptate nulla officia irure tempor. Veniam exercitation ullamco ad sit commodo.
Dolor et magna eu ullamco qui duis eu id elit labore. Quis anim et excepteur ad nisi ad mollit. Do veniam occaecat velit exercitation duis in adipisicing amet ullamco. Do anim exercitation consequat incididunt non deserunt enim nostrud dolor eiusmod occaecat consectetur. Reprehenderit duis deserunt ea ad enim Lorem enim qui sit ullamco.
Ea exercitation ut laboris excepteur ullamco adipisicing ad. Ex ullamco cillum amet duis. Cupidatat quis dolor tempor commodo. Irure id culpa cillum veniam et ipsum pariatur sit ullamco.
Duis eu sit laborum aute nostrud. Ut fugiat mollit commodo in irure in. Tempor dolore voluptate qui cupidatat laboris et duis laboris quis occaecat do qui commodo.
Incididunt esse commodo duis irure. In ipsum amet cupidatat minim deserunt cillum mollit dolor tempor commodo. Laborum proident minim consectetur labore officia. Velit labore Lorem ullamco aute cillum non Lorem sint laborum. Ullamco amet labore excepteur cillum.
Eiusmod minim sint culpa reprehenderit Lorem magna et veniam consequat labore Lorem sunt. Duis laboris cupidatat fugiat cupidatat est anim tempor sit. Nostrud adipisicing do quis ea. Do fugiat laborum laborum sit do. Occaecat esse cillum dolore id adipisicing incididunt minim nulla aliquip non. Non elit consequat ullamco incididunt elit laboris.
Laboris dolor elit ea consequat laborum excepteur irure. Eu exercitation excepteur nulla sit eiusmod esse do excepteur incididunt laborum irure anim labore. Laborum aliquip ullamco sunt Lorem enim. Cupidatat amet veniam eiusmod aliquip elit fugiat cupidatat consequat sint ex Lorem in.
Sizes
Use the size prop to change the size of the scroll area. This affects the scrollbar thickness and content padding.
Size: xs
Amet ea culpa nostrud ipsum pariatur reprehenderit qui aute minim est. Duis excepteur ea deserunt consectetur commodo est magna minim velit in consectetur. Consequat enim nisi eiusmod quis laborum dolor aute quis laborum commodo.
Ex irure velit voluptate elit ex. Occaecat Lorem enim sint aute occaecat incididunt pariatur do veniam. Id dolor commodo mollit deserunt sunt ea pariatur irure consectetur ut mollit excepteur est consequat. Est est labore amet eiusmod occaecat ea exercitation ipsum veniam deserunt ea.
Sint Lorem reprehenderit ut pariatur. Duis eiusmod labore duis ipsum. Voluptate tempor culpa fugiat consequat consequat id occaecat consectetur cillum tempor tempor occaecat ipsum. Culpa aute magna pariatur minim. Fugiat incididunt nostrud adipisicing esse voluptate excepteur.
Excepteur enim tempor qui pariatur et reprehenderit consectetur. Fugiat aute eiusmod fugiat consequat dolor tempor exercitation. Ipsum cillum duis anim aute.
Et labore cillum fugiat esse tempor incididunt ipsum sint nostrud ad non id esse. Laborum ex sit consequat cupidatat et tempor adipisicing pariatur ad et. Occaecat labore in laboris in laborum labore tempor voluptate ut do ad. Tempor irure laborum anim consequat occaecat id ea consectetur deserunt dolore laboris velit ex. Fugiat ad adipisicing deserunt enim voluptate voluptate.
Velit sunt magna dolore duis ullamco deserunt qui deserunt mollit duis aliqua elit est elit. Officia dolor laborum esse ad officia reprehenderit est dolor enim adipisicing proident cillum. Minim dolor quis eiusmod esse. Nostrud tempor sunt sunt eu amet incididunt nostrud eiusmod eiusmod.
Laboris labore enim duis magna sunt tempor. Et nostrud eu aute tempor laboris laboris consequat. Consequat incididunt aliqua consectetur culpa laborum enim amet nulla reprehenderit nulla nulla incididunt. Aliquip mollit ex irure Lorem. Non esse sint magna qui velit ullamco commodo officia reprehenderit nulla enim velit. Laborum aliquip duis velit deserunt magna nulla dolor consectetur est velit velit.
Dolore occaecat et elit eiusmod cupidatat irure ut ut elit ipsum non excepteur fugiat. Ea fugiat proident consequat adipisicing eiusmod dolore proident officia incididunt commodo nisi. Quis sit est sunt occaecat ut Lorem consectetur cillum ad consequat sint. Consequat aute do incididunt pariatur mollit aute pariatur non.
Minim ex pariatur excepteur anim eiusmod. Ut labore occaecat mollit deserunt ad anim labore sunt do magna ex sint. Ipsum cupidatat aliquip officia quis. Exercitation eu esse irure est.
Culpa est id amet qui consequat tempor non. Fugiat minim tempor labore culpa. Nulla aliquip ipsum labore eu consequat aliqua pariatur consequat enim. Mollit cupidatat dolore culpa cupidatat anim culpa esse. Occaecat et irure labore dolore cupidatat quis non anim velit elit ullamco commodo. Proident deserunt sunt ullamco quis nulla aute duis.
Size: sm
Elit mollit eu amet anim commodo consectetur quis dolor qui quis enim ullamco. Consequat cupidatat dolor aliqua nulla irure in commodo nisi qui magna proident. Et incididunt proident sit non cillum culpa proident nulla est. Ullamco sint sit Lorem mollit consequat velit cillum velit deserunt enim.
Laborum exercitation duis in nulla consequat aliquip adipisicing ut anim. Commodo veniam voluptate aute sit elit ipsum exercitation nisi. Cillum et cillum deserunt labore fugiat aliqua. Tempor eiusmod magna consectetur voluptate exercitation.
Aliquip minim labore sint Lorem ullamco cupidatat do culpa tempor consectetur aliquip. Dolor proident duis nostrud ad id sint mollit in. Cupidatat culpa cillum incididunt aute tempor aliqua labore Lorem culpa laboris eu consectetur. Cupidatat ad ea sit ex eu reprehenderit amet. Sunt eiusmod et elit aute duis deserunt laboris cillum aliqua ad ex anim enim. Lorem duis ad laboris nisi minim cupidatat.
Exercitation mollit ullamco ad in nisi nulla consectetur in commodo. Ad consectetur dolore consectetur ullamco anim incididunt duis. Aliqua sunt sint irure adipisicing elit aliqua. Exercitation occaecat aliqua voluptate esse dolore laboris. Sit excepteur deserunt in minim ea dolore ut enim proident aliqua magna culpa consequat exercitation.
Exercitation et labore cillum commodo commodo mollit consequat nisi duis. Laborum do do voluptate amet ullamco sint consectetur incididunt tempor anim dolore in tempor. Magna proident velit voluptate eu dolor non enim excepteur proident consequat officia. Veniam ullamco Lorem non in eiusmod amet aliquip veniam sunt est sunt occaecat ipsum ipsum. Do in ullamco officia laboris. Sunt ad dolore mollit deserunt exercitation enim Lorem mollit enim eu duis nostrud qui. Veniam anim sit deserunt duis mollit culpa labore commodo ut irure.
Ullamco dolor aliquip fugiat incididunt do enim elit ipsum in eiusmod mollit ex do. Fugiat commodo labore duis adipisicing aliquip duis adipisicing id in irure Lorem est. Ullamco veniam tempor dolore sint quis enim minim duis duis velit laborum. Ut in irure ex cupidatat irure. Laboris id anim eiusmod consectetur magna nostrud tempor consequat proident exercitation veniam laborum commodo. Et minim amet minim consequat fugiat do tempor. Qui nisi aliquip voluptate ea labore elit.
Qui amet adipisicing mollit minim mollit do eu occaecat enim eiusmod. Consequat exercitation duis ullamco eiusmod veniam mollit aliqua minim aliqua. Incididunt excepteur ex culpa reprehenderit Lorem aute fugiat mollit cillum adipisicing excepteur magna. Sit sint proident mollit dolor.
Occaecat voluptate duis aliqua ullamco. Culpa ipsum aliqua nulla eu esse culpa veniam ex adipisicing aliquip nisi aliqua aliquip. Eu minim enim aliquip culpa ex proident ipsum adipisicing ex adipisicing est aliqua commodo. Enim duis velit anim irure. Amet occaecat labore duis veniam nisi. Sunt commodo proident nulla nisi. Esse magna velit ea enim.
Officia laborum sunt nisi consequat consectetur sunt ipsum aliqua sunt. Mollit et anim ipsum laborum ipsum id ipsum. Qui elit cillum anim occaecat nisi anim anim excepteur veniam. Esse deserunt elit sunt nostrud amet culpa consequat consequat fugiat. Velit veniam veniam id minim officia sint in ullamco voluptate eiusmod cupidatat sint eu incididunt. Laboris sit id officia fugiat dolore ea qui magna cupidatat id aliquip.
In cupidatat eiusmod quis nulla nisi enim laborum do voluptate sunt. Veniam fugiat proident exercitation reprehenderit aliqua eu reprehenderit reprehenderit. Id exercitation laborum dolor veniam Lorem aliqua laborum sint quis laboris consequat duis eu pariatur. In eiusmod amet quis duis minim sunt eiusmod do Lorem et eiusmod irure.
Size: md
Reprehenderit aliquip elit do est sunt aliqua nisi amet voluptate ipsum. Aute minim in exercitation officia eiusmod irure occaecat non sint dolore culpa ea. Tempor veniam sunt officia nulla enim esse. Pariatur magna amet minim esse est aliquip elit do cupidatat reprehenderit ex Lorem. Occaecat et commodo ea id dolore ut ex magna consectetur pariatur.
Officia voluptate do amet proident ex nostrud sint aliqua nisi ullamco exercitation. Proident id consequat minim excepteur et est mollit. Veniam qui incididunt labore cupidatat aliquip eiusmod tempor reprehenderit officia cillum eu voluptate id. Ipsum do id qui id cupidatat ea commodo reprehenderit Lorem.
In ipsum ea magna ipsum consequat deserunt labore magna. Pariatur consectetur incididunt id ullamco veniam. Excepteur enim officia velit commodo duis labore magna et ut esse. Eiusmod duis ea sit proident incididunt tempor enim amet velit eiusmod consequat consequat proident. Pariatur reprehenderit sit ad culpa dolore irure consectetur proident ullamco pariatur est. Exercitation excepteur consequat id consequat occaecat ullamco ullamco enim Lorem ea ex incididunt.
Culpa voluptate proident cillum ipsum labore amet. Est nisi excepteur do officia enim do cillum ea Lorem aliqua sint quis dolor. Mollit reprehenderit Lorem magna aliqua commodo.
Eiusmod officia nisi non exercitation cillum Lorem adipisicing irure. Incididunt sit aute in sit tempor eu enim minim non labore. Nisi nostrud mollit amet laborum sit nulla cillum incididunt ea sit occaecat non dolor.
Aute ea anim sint nisi in esse ullamco. Veniam aliquip dolor eu ipsum enim do consectetur nisi incididunt in quis esse cupidatat. Consequat nisi velit aliquip sit. Commodo fugiat duis magna anim excepteur cillum quis eu elit reprehenderit veniam.
Aliqua deserunt consequat commodo ut non ad consequat commodo nostrud. Mollit eiusmod eiusmod ad commodo ad dolore occaecat qui. Ad non incididunt irure tempor do.
Velit nulla consequat et enim fugiat eiusmod sint velit fugiat. Nisi nulla deserunt esse excepteur nulla magna. Proident nostrud consequat adipisicing aliquip consequat mollit ad minim aute magna elit exercitation. Esse incididunt aliquip labore elit dolore ullamco Lorem fugiat cupidatat. Id sunt nisi consequat cillum sint elit ex enim commodo nisi incididunt sint dolore quis. Dolore nostrud pariatur ad aute exercitation dolor anim nulla sit labore nisi irure.
Duis consectetur in do dolore tempor ipsum eiusmod consequat amet. Do velit in non reprehenderit laboris ea eu tempor aute incididunt consequat nostrud. Tempor ad nostrud pariatur ipsum laborum ullamco consectetur nostrud dolore nisi ex. Consequat id ea laboris et tempor.
Dolor nostrud consequat tempor labore non adipisicing anim sit magna commodo reprehenderit consectetur. Ullamco laborum quis ullamco Lorem officia veniam mollit cupidatat id. Tempor cupidatat ullamco adipisicing aliquip incididunt elit ipsum. Laborum nisi est dolor exercitation tempor fugiat eu labore anim ex cupidatat aliqua. Lorem voluptate qui minim labore commodo sunt deserunt dolore aliquip minim Lorem eiusmod pariatur.
Size: lg
Adipisicing consectetur commodo tempor sunt aliqua elit velit reprehenderit. Duis consectetur aute commodo commodo et incididunt in pariatur duis laborum ea amet adipisicing. Id dolor aute cillum laboris amet nostrud dolor sint amet consequat ipsum. Anim consectetur cupidatat esse laboris velit nisi cupidatat culpa cupidatat nisi. Occaecat voluptate do labore laboris anim dolor cillum officia esse occaecat do.
Cillum nulla aute veniam esse eu. Qui sit velit eiusmod eiusmod magna. Sit incididunt aute in esse labore.
Aute sit enim sit sint adipisicing amet ad. Occaecat nostrud elit ut fugiat pariatur. Amet culpa consectetur ex dolore pariatur id qui irure aliquip nulla est. Ut non cillum sint voluptate magna nulla est eiusmod. Laborum quis exercitation elit do reprehenderit non ea. Commodo tempor sunt do nulla nisi adipisicing eu labore.
Voluptate officia dolor pariatur in anim laboris dolor aute ex elit. In exercitation adipisicing ullamco proident. Aute enim anim aute culpa consectetur officia eu adipisicing reprehenderit exercitation. Ex magna cillum duis occaecat eiusmod labore elit laboris quis cillum.
Fugiat ad et do nostrud velit veniam qui mollit exercitation aliqua ullamco elit cupidatat minim. Est cillum aute Lorem culpa ad magna aliquip sint amet voluptate proident ullamco labore velit. Culpa exercitation tempor non sint reprehenderit ea consectetur ipsum reprehenderit nulla deserunt. Proident adipisicing qui et Lorem amet esse adipisicing. Magna commodo esse culpa exercitation deserunt et mollit eiusmod adipisicing voluptate laborum.
Ullamco aliqua irure dolor elit. Amet duis in ut mollit voluptate nisi cillum nisi eu consequat occaecat fugiat. Anim occaecat esse aute velit non labore eiusmod tempor incididunt veniam aliquip enim minim.
Amet nulla deserunt fugiat proident est deserunt adipisicing deserunt veniam cillum est. Deserunt elit consectetur nulla aliqua officia amet fugiat fugiat pariatur velit aliquip do non. Enim anim laboris et ipsum labore laboris occaecat labore reprehenderit aliquip et esse. Pariatur ipsum do et sit voluptate aute id Lorem amet. Velit minim irure labore amet ipsum et Lorem. Lorem ea commodo magna laboris aliquip nostrud elit do deserunt magna. Sunt veniam eiusmod et voluptate nulla sit id.
Excepteur ut incididunt et Lorem in officia id minim in in velit adipisicing. Commodo sunt ex sint deserunt. Lorem tempor mollit esse tempor eiusmod pariatur nulla culpa voluptate ex adipisicing ipsum.
Occaecat cupidatat commodo sit ex enim anim est proident ut ipsum reprehenderit exercitation culpa tempor. Commodo ex sint sit fugiat deserunt nostrud culpa. Veniam est dolore consectetur id dolore commodo labore minim est aliquip occaecat. Ut ipsum veniam Lorem qui sit magna proident nostrud consectetur. Irure et laboris excepteur ullamco id culpa excepteur veniam nisi ipsum ullamco deserunt. Cupidatat officia quis nisi nisi ad est nisi deserunt aliqua minim amet commodo laboris. Ea excepteur reprehenderit et dolor tempor ad consectetur non sit culpa et magna.
Amet est culpa non ut ipsum nostrud veniam non. Sit est est eiusmod ullamco in aute laborum officia culpa incididunt reprehenderit cillum reprehenderit cillum. Eiusmod enim laborum laborum labore voluptate amet eu nostrud magna ex duis eiusmod dolor. Proident amet ipsum incididunt laboris eiusmod culpa dolor voluptate aliqua. Veniam ad exercitation consequat aliqua minim ea sit reprehenderit veniam commodo ad exercitation Lorem laboris. Cillum esse labore laborum id sit incididunt veniam ad nisi voluptate reprehenderit.
Horizontal
The scroll area automatically supports horizontal scrolling when content overflows horizontally.
Virtualization
Use @tanstack/react-virtual to handle large datasets efficiently by rendering only visible items.
Infinite Scroll
Here is an example of implementing infinite scroll with the scroll area component.
Props
Root
| Prop | Default | Type |
|---|---|---|
scrollbar | 'auto' | 'auto' | 'visible' |
size | 'md' | 'xs' | 'sm' | 'md' | 'lg' |
asChild | booleanUse the provided child element as the default rendered element, combining their props and behavior. | |
ids | Partial<{ root: string; viewport: string; content: string; scrollbar: string; thumb: string }>The ids of the scroll area elements |
Scrollbar
| Prop | Default | Type |
|---|---|---|
asChild | booleanUse the provided child element as the default rendered element, combining their props and behavior. | |
orientation | Orientation |