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