ResizableSelect
Get Started
Introduction
Components
Accordion
Badge
Button
Card
Checkbox
Command
Dialog
Dropdown Menu
Input
Select
Switch
Table
Tabs
Toast
Tooltip
Forms
Controlled Input
Field Arrays
Submit
Validation

Scroll Area

Augments native scroll functionality for custom, cross-browser styling.

Tags

v1.2.0-beta.20
v1.2.0-beta.19
v1.2.0-beta.18
v1.2.0-beta.17
v1.2.0-beta.16
v1.2.0-beta.15
v1.2.0-beta.14
v1.2.0-beta.13
v1.2.0-beta.12
v1.2.0-beta.11
v1.2.0-beta.10
v1.2.0-beta.9
v1.2.0-beta.8
v1.2.0-beta.7
v1.2.0-beta.6
v1.2.0-beta.5
v1.2.0-beta.4
v1.2.0-beta.3
v1.2.0-beta.2
v1.2.0-beta.1
hover
scroll
auto
always

#Installation

bunx --bun barefoot add scroll-area

#Usage

Tags

v1.2.0-beta.50
v1.2.0-beta.49
v1.2.0-beta.48
v1.2.0-beta.47
v1.2.0-beta.46
v1.2.0-beta.45
v1.2.0-beta.44
v1.2.0-beta.43
v1.2.0-beta.42
v1.2.0-beta.41
v1.2.0-beta.40
v1.2.0-beta.39
v1.2.0-beta.38
v1.2.0-beta.37
v1.2.0-beta.36
v1.2.0-beta.35
v1.2.0-beta.34
v1.2.0-beta.33
v1.2.0-beta.32
v1.2.0-beta.31
v1.2.0-beta.30
v1.2.0-beta.29
v1.2.0-beta.28
v1.2.0-beta.27
v1.2.0-beta.26
v1.2.0-beta.25
v1.2.0-beta.24
v1.2.0-beta.23
v1.2.0-beta.22
v1.2.0-beta.21
v1.2.0-beta.20
v1.2.0-beta.19
v1.2.0-beta.18
v1.2.0-beta.17
v1.2.0-beta.16
v1.2.0-beta.15
v1.2.0-beta.14
v1.2.0-beta.13
v1.2.0-beta.12
v1.2.0-beta.11
v1.2.0-beta.10
v1.2.0-beta.9
v1.2.0-beta.8
v1.2.0-beta.7
v1.2.0-beta.6
v1.2.0-beta.5
v1.2.0-beta.4
v1.2.0-beta.3
v1.2.0-beta.2
v1.2.0-beta.1
1"use client"23import { ScrollArea } from "@/components/ui/scroll-area"4import { Separator } from "@/components/ui/separator"56const tags = Array.from({ length: 50 }).map(7  (_, i, a) => `v1.2.0-beta.${a.length - i}`8)910function ScrollAreaDemo() {11  return (12    <ScrollArea class="h-72 w-48 rounded-md border">13      <div className="p-4">14        <h4 className="mb-4 text-sm font-medium leading-none">Tags</h4>15        {tags.map((tag) => (16          <div>17            <div className="text-sm">{tag}</div>18            <Separator className="my-2" />19          </div>20        ))}21      </div>22    </ScrollArea>23  )24}

#Examples

#Horizontal Scrolling

Sunset Horizon
Photo by Ornella Binni
Mountain Peak
Photo by Tom Byrom
City Lights
Photo by Vladimir Malyutin
Ocean Waves
Photo by Ornella Binni
Forest Trail
Photo by Tom Byrom
Night Sky
Photo by Vladimir Malyutin
Desert Dunes
Photo by Ornella Binni
1"use client"23import { ScrollArea } from "@/components/ui/scroll-area"45function ScrollAreaHorizontal() {6  return (7    <ScrollArea class="w-96 whitespace-nowrap rounded-md border">8      <div className="flex w-max space-x-4 p-4">9        {works.map((work) => (10          <figure className="shrink-0">11            <div className="overflow-hidden rounded-md">12              <div className="h-[150px] w-[200px] bg-muted" />13            </div>14            <figcaption className="pt-2 text-xs text-muted-foreground">15              Photo by <span className="font-semibold text-foreground">{work.artist}</span>16            </figcaption>17          </figure>18        ))}19      </div>20    </ScrollArea>21  )22}

#Both Axes

Changelog

Release v20.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v19.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v18.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v17.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v16.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v15.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v14.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v13.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v12.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v11.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v10.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v9.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v8.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v7.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v6.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v5.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v4.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v3.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v2.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

Release v1.0.0

Added new features, fixed bugs, and improved performance across multiple modules and packages.

1"use client"23import { ScrollArea } from "@/components/ui/scroll-area"45function ScrollAreaBothAxes() {6  return (7    <ScrollArea class="h-64 w-80 rounded-md border">8      <div className="p-4" style="width: 600px;">9        <h4 className="mb-4 text-sm font-medium leading-none">Changelog</h4>10        <div className="space-y-4">11          {entries.map((entry) => (12            <div className="whitespace-nowrap">13              <div className="text-sm font-medium">{entry.title}</div>14              <p className="text-sm text-muted-foreground">{entry.description}</p>15            </div>16          ))}17        </div>18      </div>19    </ScrollArea>20  )21}

#API Reference

PropTypeDefaultDescription
classstring''Additional CSS classes for the root element.
type'hover' | 'scroll' | 'auto' | 'always''hover'When to show scrollbars. hover: on mouse enter; scroll: while scrolling; auto: both; always: permanent.