Skeleton
단순 div 기반의 pulse placeholder입니다. 시각적 로딩 형태만 제공하며 aria-hidden=true로 보조기술에서 숨겨집니다.
@neumorphism-ui/skeleton미리보기
설치
설치: skeleton
npx shadcn@latest add @neumorphism-ui/skeletonCLI가 npm 의존성, base 토큰, utils와 컴포넌트 소스를 순서대로 확인하고 설치합니다.
Registry를 처음 사용한다면 namespace 설정 을 먼저 완료하세요.
사용법
Import
Skeleton import 코드
import { Skeleton } from "@/components/ui/skeleton"Example
Skeleton 사용 코드
<div className="flex items-center gap-3" aria-busy="true">
<span className="sr-only">프로필을 불러오는 중</span>
<Skeleton className="size-12 rounded-full" />
<div className="grid flex-1 gap-2">
<Skeleton className="h-4 w-1/3" />
<Skeleton className="h-3 w-2/3" />
</div>
</div>API 레퍼런스
| 컴포넌트 | 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|---|
Skeleton | className필수 | string | — | placeholder의 너비, 높이, radius를 설정합니다. |
Skeleton | aria-hidden | boolean | true | 장식 placeholder를 접근성 트리에서 숨깁니다. |
접근성
- 01
Skeleton 자체는 aria-hidden이므로 별도의 sr-only 상태 문구나 role=status를 주변에 제공합니다.
- 02
로딩 영역에는 필요에 따라 aria-busy=true를 설정하고 완료되면 제거합니다.
- 03
pulse 애니메이션은 전역 prefers-reduced-motion 규칙에 따라 사실상 비활성화됩니다.