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