Scroll Area
overflow-auto와 native scrollbar를 사용해 휠, 터치, 키보드, 브라우저 접근성을 그대로 유지합니다. ScrollBar export는 shadcn 조합 호환을 위한 숨겨진 placeholder입니다.
@neumorphism-ui/scroll-area미리보기
설치
설치: scroll-area
npx shadcn@latest add @neumorphism-ui/scroll-areaCLI가 npm 의존성, base 토큰, utils와 컴포넌트 소스를 순서대로 확인하고 설치합니다.
Registry를 처음 사용한다면 namespace 설정 을 먼저 완료하세요.
사용법
Import
Scroll Area import 코드
import {
ScrollArea,
ScrollBar,
} from "@/components/ui/scroll-area"Example
Scroll Area 사용 코드
<ScrollArea
className="h-64 p-4"
tabIndex={0}
aria-label="최근 활동"
>
{activities.map((activity) => (
<article key={activity.id}>{activity.title}</article>
))}
<ScrollBar orientation="vertical" />
</ScrollArea>API 레퍼런스
| 컴포넌트 | 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|---|
ScrollArea | className | string | — | 높이 또는 너비를 제한해 overflow 영역을 만듭니다. |
ScrollArea | tabIndex | number | — | 내부에 focusable 요소가 없을 때 키보드 스크롤 진입점을 제공합니다. |
ScrollArea | aria-label / aria-labelledby | string | — | 독립적으로 탐색할 영역이면 콘텐츠 이름을 제공합니다. |
ScrollBar | orientation | "horizontal" | "vertical" | "vertical" | 호환용 placeholder의 방향 데이터 속성입니다. |
접근성
- 01
native overflow를 사용하므로 화면 읽기 도구와 터치 스크롤을 가로채지 않습니다.
- 02
내부에 링크나 버튼이 전혀 없다면 tabIndex=0으로 키보드 사용자가 영역에 진입하게 합니다.
- 03
ScrollBar는 시각적으로 숨겨진 호환 placeholder이며 실제 스크롤은 브라우저 scrollbar가 담당합니다.