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