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