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