Loader
버튼 안이나 영역의 짧은 대기 표시.
- 출시 화면에서 사용
개요
미리보기
예시
상태
inline
Loadingstacked
기록을 불러오는 중라벨 숨김
Loading버튼 안(장식)
가장 긴 문구 (es)
Google 캘린더에서 지난 일정을 불러오는 중
쓰임 예
작게
Loading300ms 지연
이렇게 · 이렇게 하지 않기
- 이렇게 1초 남짓 짧은 대기에만 쓰고, 내용이 들어올 자리는 Skeleton으로 보여준다.
- 이렇게 동작 줄이기 설정에서는 정지 아이콘과 문구로 바꾼다. 의미는 글자로 남는다.
- 이렇게 하지 않기 점·막대·로고 회전 같은 변형을 만들지 않는다. 스피너는 하나다. 브랜드 마크를 돌리지 않는다.
- 이렇게 하지 않기 보조기기에 “불러오는 중”을 반복해 알리지 않는다. 한 번이면 된다.
토큰과 속성
| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
size? | 'sm' | 'md' | md | sm은 글자 크기(버튼·행 안), md는 24px(영역). 큰 스피너는 없다. 영역 로딩은 Skeleton. |
layout? | 'inline' | 'stacked' | inline | inline은 라벨 옆, stacked는 라벨 위(영역 가운데). |
labelHidden? | boolean | false | 라벨을 보조기기에만 둔다. 동작 줄이기에서는 정지 아이콘과 함께 라벨을 보인다. |
label? | ReactNode | | 무엇을 기다리는지 말한다(“기록을 불러오는 중”). 비우면 “불러오는 중”. |
decorative? | boolean | false | 버튼 등 바쁜 컨트롤 안에서 쓴다. role 없이 aria-hidden이고, 의미는 컨트롤의 aria-busy가 맡는다. |
immediate? | boolean | false | 300ms 표시 지연을 건너뛴다(카탈로그·테스트용). 실제 대기는 지연을 두어 짧은 대기에 깜빡이지 않게 한다. |
| 그 밖의 속성 | — | — | className·style은 받지 않는다. 나머지 네이티브 속성은 바깥 요소로 전달된다. |
접근성
키보드: 대화형 요소가 없다.
- role="status" 노드는 처음부터 있고 300ms 뒤에 글자가 들어간다. 짧은 대기는 읽히지 않는다.
- 회전 SVG와 정지 아이콘은 aria-hidden이다. 의미는 라벨이 전달한다.
- forced-colors에서 호는 CanvasText, 트랙은 GrayText로 그린다.