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