Skip to main content
Version: 1.0.3

Scroll Area

The Scroll Area component transforms native scrolling into a sophisticated interface, featuring procedural edge-fade masks, reactive macOS-inspired hover expansions, and cinematic entrance animations powered by Framer Motion.

Team Members15

AF
Alice FreemanSoftware Engineer
BS
Bob SmithProduct Manager
CD
Charlie DavisDesigner
DP
Diana PrinceResearcher
EW
Evan WrightQA Tester
FG
Fiona GallagherHR Manager
GC
George CostanzaSales
HA
Hannah AbbottSupport
IM
Ian MalcolmData Scientist
JS
Jenny SlateContent Writer
KH
Kevin HartMarketing
LC
Laura CroftSecurity Ops
MS
Michael ScottRegional Manager
ND
Nina DobrevPR Specialist
OM
Oscar MartinezAccountant

Installation

ignix add component scroll-area

Usage

Import the component:

import { ScrollArea } from '@ignix-ui/scroll-area';

Basic Usage

<ScrollArea className="h-[300px] w-[450px] rounded-md border p-4">
<p>Jokester began sneaking into the castle in the middle of the night...</p>
</ScrollArea>

Props

The ScrollArea component is built on top of Radix UI's Scroll Area primitive and supports standard div attributes, plus the following custom properties:

PropTypeDefaultDescription
variant"thin" | "thick" | "pill" | "line" | "hidden""thin"Visual style variant of the scrollbar.
thumbColor"default" | "subtle" | "accent" | "contrast""default"Color of the scrollbar thumb.
size"sm" | "md" | "lg""md"Size of the scrollbar.
orientation"vertical" | "horizontal" | "both""vertical"Scrolling directions to display scrollbars for.
fadeMask"top" | "bottom" | "fade" | "auto" | "none""none"Applies a fade mask to the edges of the container.
autoHidebooleanfalseIf true, hides the scrollbar when not actively scrolling.
animation"fade" | "slide" | "scale" | "none""none"Entrance animation style for the internal content wrapper.
animationKeyReact.KeyundefinedKey tied to content identity. Change this value to trigger a new enter/exit animation cycle.
showProgressbooleanfalseShows a progress bar indicating scroll depth.
showScrollButtonsbooleanfalseRenders floating buttons that scroll to the edge when clicked.
expandOnHoverbooleantrueIf true, the scrollbar expands its thickness on hover.
viewportRefReact.Ref<HTMLDivElement>undefinedRef accessor for the internal ScrollAreaPrimitive.Viewport DOM node.

ScrollBar Props

ScrollBar accepts all props from ScrollArea's scrollbar variants plus the following:

PropTypeDefaultDescription
orientation"vertical" | "horizontal""vertical"Axis this scrollbar tracks.
forceVisiblebooleantrueControls scrollbar opacity directly.
expandOnHoverbooleantrueIf true, the scrollbar track expands on hover.
motionPropsOmit<HTMLMotionProps<"div">, "className">undefinedEscape hatch for Framer Motion props on the scrollbar track element.