Qui voluptate duis in dolore culpa sint non laboris amet et elit voluptate excepteur. Commodo adipisicing irure Lorem labore cupidatat est deserunt consequat mollit occaecat ipsum sint. Eu Lorem ipsum nostrud laboris elit aliqua commodo officia. Reprehenderit nostrud sunt nisi irure aliquip proident.
Officia aute dolor labore sit quis elit tempor qui. Lorem tempor anim ea ex ut eiusmod reprehenderit nulla. Exercitation laborum enim adipisicing enim voluptate ut anim aute. Sint eiusmod officia qui culpa aliquip qui aute labore. Consectetur id officia sit duis amet sunt ut consectetur id ex veniam adipisicing.
Tempor fugiat consequat sint consectetur fugiat est nisi consequat ea duis id. Irure nostrud consequat dolore consectetur minim fugiat nulla duis nulla ipsum. Enim do fugiat ex deserunt laborum sunt exercitation veniam. Reprehenderit qui ipsum quis dolore culpa commodo exercitation elit do minim reprehenderit.
Magna elit nisi ea Lorem elit. Consequat id et minim sunt. Minim aute pariatur cupidatat eiusmod irure nisi duis tempor sunt cupidatat ea labore. Tempor nostrud velit voluptate sit voluptate duis pariatur sunt. Occaecat labore cupidatat et incididunt non. Anim proident deserunt commodo incididunt consectetur ea officia esse veniam labore.
Mollit do laboris veniam incididunt anim proident laborum minim eu tempor consectetur. Elit commodo in ex nisi excepteur enim ex mollit. Commodo nostrud eu sunt incididunt consequat id ex laboris adipisicing deserunt ipsum ipsum labore ipsum. Sit aute sunt id qui fugiat ea dolore ea pariatur. Nisi occaecat reprehenderit officia cillum.
Ipsum tempor amet aliqua ut culpa cillum esse excepteur esse cillum. Tempor consectetur pariatur elit magna nisi cupidatat. Laboris consequat laboris adipisicing in dolor. Incididunt amet aliqua aliqua officia tempor voluptate deserunt nulla voluptate ad eiusmod excepteur nulla. Proident magna in elit eiusmod. Nisi irure do magna laboris pariatur anim. Nostrud eiusmod cupidatat laboris deserunt qui non elit officia ut esse sint.
Enim reprehenderit qui anim amet. Aliqua tempor aute ullamco consectetur voluptate occaecat sit quis. Pariatur incididunt qui anim tempor sint commodo sit voluptate qui sint.
Aliquip exercitation non aliqua anim incididunt elit proident dolore exercitation incididunt culpa fugiat et. Cupidatat in reprehenderit duis cupidatat. Reprehenderit tempor excepteur tempor eu aliqua id cupidatat do proident mollit irure minim pariatur pariatur. Adipisicing in non fugiat elit minim quis minim qui.
Officia dolore non velit ipsum laborum occaecat commodo nulla voluptate ullamco labore Lorem occaecat. Adipisicing fugiat tempor ad deserunt eiusmod ex duis exercitation enim duis. Sit non non ea nostrud esse nulla nisi aute aute ea aute. Eiusmod non ipsum incididunt ea incididunt mollit amet reprehenderit ullamco magna Lorem exercitation. Ad fugiat nulla irure consequat. Exercitation fugiat laboris labore adipisicing veniam ullamco et laborum laboris. Nostrud aliqua cupidatat eiusmod consectetur quis magna cupidatat.
Velit dolore laborum consequat nisi. Qui tempor consectetur proident velit nostrud. Et tempor ut consequat consequat voluptate incididunt anim ad nulla. Ullamco ex proident nisi et aute deserunt. Laborum officia eiusmod laboris reprehenderit consectetur mollit enim. Et aliqua culpa duis sit incididunt ea nulla culpa quis nulla nulla anim ullamco velit.
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
Ex nostrud nostrud consequat duis deserunt dolore sunt nulla incididunt sit. Ipsum cillum commodo consectetur ullamco et Lorem ipsum sunt commodo. Elit dolor laboris culpa esse aliqua labore voluptate officia culpa et irure minim.
Tempor voluptate exercitation tempor minim est. Occaecat Lorem sit ipsum non labore. Irure est ut est exercitation ipsum velit. Do ut culpa mollit elit officia proident. Incididunt commodo ad velit incididunt sit nulla et consequat ad irure deserunt. Dolor voluptate dolor reprehenderit cillum eiusmod.
Esse culpa non pariatur ut consectetur cillum ea proident amet velit anim exercitation veniam ullamco. Veniam et duis dolore deserunt id nulla ut anim fugiat. Aliqua occaecat amet ipsum fugiat proident cillum nulla mollit. Nisi proident magna nostrud do. Eu sit ut mollit sint. Proident elit culpa excepteur fugiat minim qui voluptate elit exercitation anim officia.
Anim ipsum ad non esse sit reprehenderit occaecat nostrud in id occaecat qui voluptate minim. Dolor occaecat consectetur cillum fugiat nulla consectetur. Proident amet in eiusmod culpa nostrud. Sunt ex officia consequat veniam ea tempor Lorem magna officia. Sunt laborum laborum exercitation et do mollit laboris cupidatat do veniam ex.
Culpa minim velit veniam pariatur commodo ullamco amet sunt sit aute proident. Aliquip laborum cupidatat cupidatat commodo ullamco cupidatat eiusmod anim consequat id est nisi irure. Irure veniam labore laborum ex proident consectetur id id. Id nostrud consectetur do esse nostrud in exercitation in fugiat dolor minim elit occaecat.
Ullamco magna enim aliquip excepteur laborum in. Deserunt nisi eu qui aliqua labore quis eu. Reprehenderit cupidatat laborum aute excepteur velit qui proident enim labore do reprehenderit in.
Labore dolore consectetur ad pariatur non excepteur. Nulla fugiat pariatur officia eiusmod. Tempor voluptate eu ullamco sint qui occaecat in ipsum.
Laboris ipsum laboris laborum nostrud aliquip ea irure mollit elit. Minim irure qui magna dolor deserunt exercitation aute deserunt dolor labore mollit reprehenderit ullamco amet. Labore adipisicing enim fugiat nulla ad ad cillum fugiat incididunt nulla dolor irure. Do aute cupidatat ex ex voluptate in ex ullamco ad Lorem et reprehenderit.
Et proident excepteur aute voluptate commodo cillum nulla adipisicing commodo. Lorem labore aliquip proident quis occaecat culpa cillum consequat. Sint incididunt enim labore ut commodo eiusmod aute aliqua velit qui incididunt eiusmod. Sit ex labore cillum eu dolor excepteur dolore reprehenderit et ad. Esse esse eiusmod aliquip exercitation quis.
Deserunt irure labore ea id eiusmod veniam deserunt magna est occaecat. Cupidatat ullamco Lorem dolor deserunt incididunt sint adipisicing. Aliquip velit aliqua fugiat ad deserunt ut. Incididunt enim duis magna proident culpa consequat.
Scrollbar: visible
Consequat esse consequat minim proident fugiat qui cillum cillum Lorem laboris laboris aute. Et sunt ea reprehenderit cupidatat enim. Occaecat fugiat minim sit cillum aliquip qui laboris excepteur. Non anim aliqua occaecat eu non esse enim magna pariatur. Fugiat dolore occaecat non nostrud et consectetur voluptate voluptate labore ad excepteur eu amet. Dolore minim incididunt sit do consequat voluptate id laboris id consectetur.
Sint esse sit nostrud anim officia proident fugiat in officia. Laborum ipsum esse Lorem ullamco cillum proident non non. Do est Lorem elit dolore consectetur irure nisi et id. Reprehenderit id dolor exercitation occaecat labore occaecat adipisicing ex. Qui ad laboris ex eu duis laborum et occaecat cillum quis id labore dolore.
Ullamco laborum pariatur ea eiusmod cupidatat elit consectetur ut nulla ad voluptate sit cupidatat. Laborum aliqua amet est do. Esse sit nostrud consectetur voluptate adipisicing quis. Consequat do ea minim incididunt non laboris. Velit eu adipisicing non aliqua cillum officia commodo.
Cupidatat est culpa ex ex. Ad eu ut mollit adipisicing nulla. Do sunt proident tempor est anim qui anim veniam eu.
Incididunt sunt et sint ut sit eu eu ut. Veniam Lorem sit ex est do sunt Lorem ea nulla id magna culpa dolor velit. Cupidatat ad qui qui ad laboris elit et dolor. Cupidatat id irure sit Lorem Lorem amet exercitation enim aliqua mollit cupidatat laboris. Laboris magna ex do aliquip duis cillum Lorem sit excepteur minim magna.
Do commodo ad in incididunt labore. Qui ipsum duis culpa Lorem aute sunt. Culpa ut labore et nulla et nostrud ut nulla minim id eiusmod cupidatat dolor sunt. Adipisicing excepteur velit quis ea. Esse cupidatat amet proident duis incididunt aute qui pariatur esse. Commodo minim do consectetur qui eiusmod enim nostrud sit non et minim. Amet adipisicing mollit et laborum excepteur non occaecat adipisicing aliqua quis incididunt.
Sint reprehenderit id sit fugiat excepteur reprehenderit magna amet do duis cillum sint adipisicing officia. Ea mollit aute laborum ipsum pariatur. Ex consequat proident mollit laborum adipisicing. Culpa consequat dolor nulla culpa tempor sint id. Sit ea id reprehenderit exercitation anim laborum mollit reprehenderit.
Adipisicing laborum fugiat exercitation in esse cupidatat anim irure. Nisi non magna amet ipsum veniam tempor sunt fugiat. Cillum officia sit mollit proident deserunt et enim laboris cupidatat consectetur. Duis qui eu magna ea id Lorem commodo eu mollit pariatur. Incididunt do aliquip ea pariatur qui dolore pariatur exercitation qui anim nostrud. Duis Lorem adipisicing do esse.
Nisi duis quis proident duis occaecat tempor voluptate quis sit pariatur excepteur culpa exercitation qui. Velit aliquip adipisicing ipsum eu quis Lorem commodo cupidatat ipsum excepteur aliqua in ad tempor. Proident Lorem ut ut elit tempor officia veniam non ex magna exercitation duis exercitation minim. Sint quis quis minim esse ad officia sit enim incididunt pariatur duis magna.
Non esse est anim nisi proident ipsum. Consectetur fugiat labore consectetur voluptate do laborum sint eu occaecat commodo. Ea commodo cupidatat est cupidatat nulla ea. Enim tempor occaecat commodo culpa adipisicing occaecat ullamco est officia. Dolor elit irure ipsum et dolor.
Sizes
Use the size prop to change the size of the scroll area. This affects the scrollbar thickness and content padding.
Size: xs
Voluptate reprehenderit velit anim qui reprehenderit id esse nulla nisi ullamco elit. Cupidatat velit ipsum magna excepteur reprehenderit deserunt commodo dolore. Exercitation ad excepteur aliquip dolore. Aliquip pariatur amet tempor commodo exercitation.
Est elit nostrud laboris veniam consectetur irure culpa ipsum adipisicing eu proident anim. Eu enim exercitation dolor et. Qui laboris duis duis fugiat deserunt pariatur excepteur irure eiusmod cupidatat deserunt. Mollit et consequat culpa velit labore et cupidatat nostrud in officia. Nulla ex laborum anim magna ut et dolore nulla aliquip minim.
Exercitation pariatur laborum proident cillum do dolore. Ut ut nulla labore cillum pariatur magna exercitation. Elit magna aliquip exercitation laborum ullamco ipsum labore pariatur ullamco dolor incididunt duis. Lorem irure ea excepteur enim Lorem qui consectetur duis est nulla non. Ipsum cillum ad non id irure nisi. In laboris in culpa sit. Id excepteur ea pariatur adipisicing adipisicing tempor enim enim sit quis pariatur amet.
Ullamco dolor deserunt duis aliquip sit do nostrud eu sit nulla ullamco culpa. Amet aute amet tempor sint in. Eu tempor magna ipsum quis ullamco qui officia sint excepteur pariatur. In dolore Lorem sint occaecat eu dolor non ullamco et anim laborum sint enim. Laboris quis exercitation nulla nulla consequat voluptate voluptate aliqua. Labore magna sunt ea cillum id magna dolor irure tempor adipisicing consequat ipsum irure.
Quis exercitation nisi irure culpa mollit excepteur esse eiusmod exercitation consectetur. Do magna consequat ea consequat est velit sunt do veniam deserunt. Nisi Lorem commodo ullamco Lorem amet minim ullamco ea pariatur tempor incididunt voluptate in. Officia aute nostrud exercitation enim laboris pariatur pariatur voluptate deserunt. Veniam Lorem consequat non aute nostrud Lorem occaecat officia laboris nostrud nisi.
Est Lorem proident sint consequat magna anim officia esse ipsum. Nulla ipsum anim Lorem magna magna tempor ullamco excepteur sit ex. Duis esse velit commodo ipsum labore occaecat incididunt commodo ut aliqua pariatur ipsum laborum nulla. Do labore eiusmod culpa esse consequat labore eu reprehenderit quis culpa laborum. Mollit Lorem minim eiusmod eu adipisicing.
Aliquip eu Lorem adipisicing in et nulla. Magna cillum minim esse do consectetur magna cillum veniam Lorem magna Lorem. Elit aliqua elit sunt veniam mollit occaecat veniam commodo enim cupidatat. Incididunt culpa sunt amet esse proident deserunt eu ut non officia. Ad minim velit amet minim. Sunt eiusmod ullamco labore irure reprehenderit laborum sint est reprehenderit eiusmod nisi voluptate ad incididunt. Reprehenderit quis ullamco aliquip ullamco.
Culpa sit do laborum minim ipsum laborum laboris dolore aliquip consectetur irure cillum officia tempor. Quis aliqua proident sunt nostrud occaecat. Aliquip ut tempor minim anim ex sint. Sint officia mollit non anim. Commodo fugiat cillum nostrud labore esse in labore duis occaecat consequat aliquip. Est sit velit ad sint quis pariatur qui adipisicing reprehenderit. Labore est ut amet adipisicing aliqua fugiat cillum veniam.
Aliquip nisi incididunt commodo ea ipsum ullamco laborum officia cupidatat. Minim occaecat eu consectetur magna ut esse culpa consequat sunt eu aliquip ullamco. Officia ullamco officia nulla ipsum dolore quis. Amet occaecat incididunt cupidatat dolore est ex elit ex elit incididunt do nisi id. Pariatur proident magna minim ex est deserunt commodo est officia non ullamco ullamco amet reprehenderit.
Duis laboris velit consequat sit ex commodo occaecat reprehenderit id dolor quis velit. Laborum qui cupidatat voluptate commodo nisi incididunt id et veniam exercitation. Fugiat nulla cillum do ex enim eiusmod elit. Id consequat aute ut pariatur. Nulla mollit officia in minim tempor aliqua est laboris consectetur. Reprehenderit officia commodo adipisicing aute duis voluptate consectetur. Laborum duis commodo incididunt non consectetur ad magna dolor cillum quis esse.
Size: sm
Eu sint ad culpa excepteur pariatur voluptate minim ad non nostrud. Culpa anim ad aute elit voluptate. Eu dolore excepteur cupidatat anim sit voluptate est anim.
Sint laborum ex eiusmod incididunt est minim voluptate ullamco. Exercitation proident sunt laborum esse sunt reprehenderit ex. Officia duis cupidatat dolore id dolor sunt pariatur. Sunt eu ullamco tempor irure ipsum aute sint pariatur sunt veniam deserunt eiusmod voluptate excepteur. In incididunt nisi irure incididunt labore nostrud nisi dolore elit deserunt ex in dolore.
Elit excepteur culpa ea reprehenderit esse occaecat non labore. Amet magna nostrud ea aliqua voluptate Lorem excepteur. Non quis ad dolor sit dolore commodo ad Lorem ipsum veniam dolor sint enim enim. Deserunt mollit aliquip pariatur officia est minim velit dolor sunt amet aliquip. Enim ut labore do Lorem ad mollit do id Lorem ea velit anim incididunt cillum. Tempor duis do qui in.
Velit commodo ad consequat mollit magna occaecat ullamco veniam consectetur enim veniam excepteur id. Aliquip incididunt velit consectetur aliquip quis ullamco. Lorem ea occaecat in ea sunt. Do eiusmod laboris fugiat occaecat. Ullamco minim id duis ad in minim quis sint aliquip sunt anim ipsum eiusmod amet. Ut velit tempor elit ullamco fugiat.
Ullamco quis amet culpa in velit sint ex nulla irure. Ad sit amet nulla nisi cillum deserunt eu duis. Pariatur do tempor anim enim commodo nisi mollit proident duis cupidatat duis commodo aliqua id. Eu laboris nulla id occaecat velit veniam veniam enim ullamco cupidatat. Voluptate laborum commodo sunt minim occaecat. Deserunt consectetur eu id veniam minim irure labore ipsum exercitation occaecat eu consectetur. Ad esse officia esse consectetur excepteur in mollit sit dolor duis.
Laboris dolor pariatur nisi aliqua quis velit qui. Id Lorem occaecat Lorem dolor non dolor enim. Adipisicing tempor ad reprehenderit ut et occaecat esse. Esse anim aliqua nulla irure officia dolore consectetur commodo sit magna fugiat ad voluptate Lorem. Esse occaecat veniam in magna aliquip nulla aliqua aute.
Dolore deserunt proident dolore nostrud. Exercitation ex nisi proident non voluptate. Aliquip aliquip ut eiusmod irure.
Tempor voluptate mollit pariatur elit ex aliqua duis qui laboris officia. Sit enim sit adipisicing aliquip. Ullamco nostrud quis ut pariatur esse aliquip in. Enim magna laborum veniam non cupidatat exercitation. Commodo Lorem labore irure quis eiusmod fugiat laborum nisi. Laborum Lorem tempor duis labore. Esse nostrud velit aliquip officia anim est sint aliquip irure incididunt et.
Ea sit Lorem sunt excepteur tempor est ut ea laborum Lorem exercitation nostrud consectetur aliqua. Duis dolor laboris proident exercitation dolor labore et. Qui cillum anim dolor veniam aute aliquip proident officia. Pariatur reprehenderit deserunt qui anim incididunt sunt. Veniam laboris amet labore nisi pariatur reprehenderit exercitation elit sint magna qui fugiat Lorem. Quis occaecat nulla exercitation fugiat. Amet pariatur ad laboris nostrud adipisicing ut velit esse dolore aliquip aliqua ullamco.
Ad irure incididunt mollit dolor et cupidatat quis mollit duis exercitation excepteur aliqua consectetur. Qui deserunt amet ullamco ullamco pariatur nulla ullamco id nisi. Eu esse nostrud voluptate amet quis adipisicing. Sunt eu deserunt dolor ullamco.
Size: md
Ad culpa quis reprehenderit cillum dolor fugiat ex. Qui do id do ad. Deserunt eiusmod sint Lorem ea eiusmod nisi sunt. Nulla tempor aliqua nisi sunt ut ex nostrud consequat officia incididunt. Deserunt do cillum anim dolore non elit nulla elit. Ea ut ullamco culpa anim sint adipisicing ea ipsum occaecat ea aute non quis. Quis pariatur sit in aliqua magna sunt ipsum ullamco sint commodo nisi qui irure ut.
Enim dolor pariatur pariatur est proident occaecat ullamco id aute eu consectetur Lorem proident. Cupidatat cillum do aliquip pariatur sunt ullamco labore quis non. Dolore eiusmod occaecat veniam nostrud consequat amet quis amet id magna non Lorem non amet. Eiusmod veniam nostrud do fugiat eu occaecat. Dolore in fugiat ut proident amet aute Lorem amet ex Lorem est aute. Enim quis incididunt culpa incididunt ut reprehenderit irure.
Eu nostrud proident minim sint velit. Exercitation ad aliquip amet est Lorem eu do aliqua. Labore aute id minim ex cupidatat adipisicing duis laborum aliquip veniam amet sint. Nulla consectetur sint consequat labore cillum incididunt. Proident sint aliqua esse officia aliquip sunt cupidatat elit ea deserunt.
Aliquip sint minim officia nulla commodo veniam est do sit aliqua. Laboris aliquip aliquip amet non culpa consequat adipisicing nulla magna nostrud adipisicing ex. Cillum sint amet eu id pariatur duis cillum et ex. Adipisicing sint aliquip cillum quis deserunt sint elit id est aliquip ut cillum Lorem.
Esse pariatur velit consequat irure minim laboris in laborum labore culpa aute nisi ex. Non laboris elit proident eu quis est id ipsum dolore nulla reprehenderit. Esse nulla magna commodo ullamco eu adipisicing enim. Do labore excepteur adipisicing sint proident ullamco quis qui labore dolore minim eiusmod. Dolore ullamco officia velit magna cupidatat adipisicing in. Qui eiusmod aliquip dolore aliquip deserunt eiusmod officia sunt do laborum.
Dolor excepteur laborum sit deserunt consectetur consequat velit est anim laboris excepteur fugiat enim eu. Cupidatat cupidatat nostrud laborum laboris occaecat adipisicing irure non nisi sit reprehenderit et duis. Aute fugiat voluptate sunt ad incididunt exercitation excepteur incididunt. Sint elit Lorem sit laboris irure aliqua commodo. Tempor aute tempor do cillum nostrud est ad est consectetur voluptate laboris nostrud irure. Minim ex ad sint laboris incididunt sunt magna quis laboris.
Lorem ipsum eu eiusmod laborum officia cupidatat. Ex anim qui voluptate eu anim in aliqua elit. Ut ut adipisicing consectetur aliquip ad adipisicing reprehenderit ad.
Aliquip pariatur ea aute eiusmod proident reprehenderit nostrud. Velit sit est ex qui proident. Id cupidatat culpa aute dolore ad sint minim ut proident dolore veniam esse laboris. Veniam mollit eiusmod id occaecat excepteur pariatur non enim ut excepteur ipsum ullamco velit laboris. Incididunt tempor exercitation elit duis reprehenderit. Cupidatat fugiat veniam excepteur aute ullamco commodo occaecat eu id in excepteur cupidatat.
Quis dolor non cillum excepteur labore. Et sunt aliqua aute esse reprehenderit elit deserunt nisi velit aliqua incididunt voluptate et in. Adipisicing dolor excepteur cupidatat duis veniam consectetur ea.
Nulla laboris amet incididunt duis. Irure exercitation velit voluptate eiusmod fugiat. Aliqua ex deserunt non veniam Lorem excepteur id magna officia sit qui tempor incididunt. Voluptate ipsum occaecat consectetur pariatur amet ullamco exercitation esse adipisicing culpa reprehenderit exercitation. Exercitation veniam amet officia duis culpa officia qui. Ad est officia consectetur minim amet excepteur esse minim ea aute eiusmod. Ut anim officia exercitation enim occaecat.
Size: lg
Ut minim sunt est est Lorem velit ipsum sit in ut esse adipisicing. Incididunt consequat nulla sit officia in eiusmod elit mollit consectetur Lorem. Culpa ex est culpa eiusmod. Incididunt ullamco eiusmod Lorem dolor cillum sunt in ex tempor incididunt ex fugiat do. Nostrud do ut ullamco quis commodo esse labore laboris laboris. Nisi culpa aliquip laborum voluptate occaecat fugiat ipsum dolore id elit ex. Aliquip tempor sit pariatur est elit dolore eiusmod veniam proident nulla dolore ut sint in.
Velit ut esse occaecat magna enim id qui. Velit ea minim quis dolor deserunt pariatur proident enim aliqua aliqua Lorem. Aliquip voluptate est eu occaecat veniam.
Est cillum consectetur irure dolore. Velit ex laborum proident et ut aliqua cupidatat excepteur. Et proident occaecat ullamco ea aliquip dolore velit Lorem. Nulla et anim nostrud officia cillum sit eiusmod nulla mollit ad duis exercitation et veniam. Tempor consectetur cillum est in nostrud adipisicing cillum consequat ex. Cillum nulla tempor incididunt irure aliquip occaecat. Tempor culpa fugiat exercitation labore amet proident id.
Mollit esse eu reprehenderit pariatur elit voluptate cillum id occaecat voluptate commodo deserunt dolore laboris. In magna minim est nisi do Lorem laboris velit ad. Eu esse ut exercitation non in sit consectetur ipsum amet amet ex. Sunt nisi sint minim ipsum qui id aute minim laboris. Nisi mollit deserunt Lorem tempor. Occaecat irure aute mollit eiusmod deserunt aute fugiat sunt consectetur ad ex pariatur. Excepteur culpa quis incididunt aliquip sit pariatur voluptate ex duis deserunt magna ex eiusmod ex.
Magna nulla reprehenderit amet irure Lorem ex ullamco do. Laboris laborum esse anim eiusmod ex incididunt. Amet labore velit sint pariatur minim eu tempor excepteur reprehenderit aliquip cillum nulla ea.
Aliquip sunt anim do do mollit veniam non minim incididunt. Aute velit ex incididunt aute exercitation. Ullamco exercitation pariatur fugiat excepteur incididunt irure reprehenderit ullamco Lorem eu minim eiusmod mollit in. Dolor laborum nisi qui proident eiusmod nulla minim aute ipsum aute eiusmod deserunt cillum nulla.
Cupidatat anim sit incididunt eiusmod deserunt mollit laborum pariatur veniam. Amet incididunt exercitation ullamco fugiat dolore ad mollit qui. Officia sunt ipsum esse ut velit reprehenderit consectetur ex duis eiusmod enim. Ad anim aliqua do excepteur.
Do enim culpa Lorem laboris cupidatat Lorem incididunt. Aute aute aliquip voluptate ullamco duis id labore elit. Nostrud consectetur sunt aliquip elit sint anim irure quis ut adipisicing reprehenderit. Et proident incididunt tempor deserunt minim ex occaecat do et veniam laboris. Qui nostrud tempor Lorem nulla adipisicing tempor id. In nulla irure nulla aute sit quis elit. Id cupidatat elit ea magna est magna laborum ea nisi qui consequat.
Commodo laboris laboris reprehenderit cillum. Magna nostrud ipsum occaecat magna ea et irure incididunt sit adipisicing in. Id nulla id ipsum ea ex ex et ad culpa ipsum non veniam. Proident velit esse fugiat ea aliqua eiusmod do.
Incididunt ipsum fugiat aliquip reprehenderit pariatur consectetur adipisicing elit aute veniam esse. Dolor incididunt laborum fugiat eu. Ex ad do nostrud aute non nulla cillum sit incididunt cillum. Incididunt fugiat laborum do sunt incididunt fugiat id amet. Labore eiusmod cillum quis enim.
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 |