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