When To Use
- Use Scroll Area when you need a reusable atoms pattern instead of rebuilding the structure from primitives.
- Start from the simplest example that fits the task, then add decoration only when it clarifies meaning or hierarchy.
- Review the examples below to understand the tradeoffs between density, emphasis, and behavior.
When Not To Use
- Do not use Scroll Area just because it already exists in the catalog; choose the pattern that matches the task, not the most decorative option.
- Do not keep layering options onto the pattern when a simpler component or section would be easier to understand and maintain.
Accessibility Notes
- Keep headings, labels, and supporting text in the DOM before decorative chrome so the page reads well without styles or scripts.
- Test the pattern with keyboard navigation and a screen reader before treating the visual layout as complete.
- Use status, selection, and disabled states that remain understandable without color alone.
Key Props / API
Composition surface
Scroll Area keeps the native HTML or Radix API surface, then layers in design-system styling and composition defaults.
Example Code
import { ScrollArea } from "@hilum/ui"
<ScrollArea className="h-48 w-64 rounded-xl border border-ground-100 p-4">
{items.map((item) => (
<div key={item} className="py-2 text-sm border-b border-ground-100 last:border-0">
{item}
</div>
))}
</ScrollArea>Scroll Area
Default
Custom scrollbar with consistent ground styling