Steps
다단계 프로세스·마법사·주문 흐름을 단계별로 표시하는 컴포넌트입니다. ol 시맨틱 구조와 aria-current="step"으로 접근성을 지원합니다.
기본
가로형 단계 표시입니다. is-finished · is-active · is-wait로 진행 상태를 구분합니다.
장바구니
상품 확인
배송 정보
주소 입력
결제
결제 수단 선택
완료
주문 확인
간단
제목만 표시하는 간결한 단계입니다. 설명이 없는 짧은 플로우에 적합합니다.
이메일 인증
프로필 설정
완료
세로형
steps_vertical로 사이드바·폼 마법사에 적합한 세로 레이아웃을 적용합니다.
기본 정보
프로젝트 이름과 설명을 입력합니다.
팀 구성
멤버를 초대하고 역할을 지정합니다.
저장소 연결
Git 저장소를 연동합니다.
검토 및 생성
설정을 확인하고 프로젝트를 만듭니다.
도트
steps_dot으로 작은 원형 마커를 사용합니다. 밀도 높은 UI·모바일에 적합합니다.
주문 접수
6월 20일 09:12
배송 준비
6월 20일 14:30
배송 중
예상 도착 6월 21일
배송 완료
대기 중
아이콘
steps_icon-style로 단계 유형을 아이콘으로 표시합니다. 완료 단계는 체크 아이콘으로 대체합니다.
계정 생성
이메일 인증 완료
팀 초대
동료를 초대하세요
첫 프로젝트
프로젝트를 만드세요
탐색 가능
steps_navigable과 steps_trigger로 완료된 단계를 클릭해 이전 단계로 돌아갈 수 있습니다. 대기 단계는 비활성화됩니다.
오류
is-error로 실패·검증 오류 단계를 표시합니다. 오류 아이콘 또는 번호를 함께 사용합니다.
주문 확인
상품 및 수량 확인
결제 실패
카드 승인이 거절되었습니다
완료
주문 접수
가운데 정렬
steps_align-center로 단계 제목과 설명을 가운데 정렬합니다. 대시보드·온보딩 헤더에 적합합니다.
기획
요구사항 정의
개발
기능 구현
QA
품질 검증
출시
프로덕션 배포
크기
steps_sm · steps_lg로 인디케이터와 텍스트 스케일을 조절합니다.
1단계
2단계
3단계
요구사항
범위 및 일정 확정
디자인
UI 키트 제작
개발
구현 및 테스트
상태 요약
각 상태 클래스의 시각적 의미입니다. 현재 단계에는 aria-current="step"을 함께 지정합니다.
is-finished
완료된 단계
is-active
현재 진행 단계
is-wait
아직 도달하지 않은 단계
is-error
오류가 발생한 단계
API · Steps Props
| Prop | 타입 | 기본값 | 설명 |
|---|---|---|---|
current | number | — | 현재 단계 인덱스 (0-based, 선택) |
direction | 'horizontal' | 'vertical' | horizontal | steps_vertical |
size | 'sm' | 'md' | 'lg' | md | steps_sm · steps_lg |
dot | boolean | false | steps_dot — 원형 마커 |
iconStyle | boolean | false | steps_icon-style |
navigable | boolean | false | steps_navigable — 완료 단계 클릭 |
align | '' | 'center' | — | steps_align-center |
ariaLabel | string | — | ol aria-label |
children | ReactNode | — | StepsItem 나열 |
className | string | — | 루트 요소 추가 클래스 |
API · StepsItem Props
| Prop | 타입 | 기본값 | 설명 |
|---|---|---|---|
title | string | — | 단계 제목 (필수) |
description | string | — | 단계 설명 |
status | 'finished' | 'active' | 'wait' | 'error' | wait | is-finished · is-active · is-wait · is-error |
index | number | — | 단계 번호 (자동 할당) |
children | ReactNode | — | 커스텀 항목 마크업 (navigable이 아닐 때) |
className | string | — | 루트 요소 추가 클래스 |
ripple | boolean | true | 클릭 파장(ripple). true 시 data-ripple 활성 · false 비활성. 기본 활성 |
API · Steps Children
| Prop / Children | 설명 |
|---|---|
children | StepsItem 나열 |
API · StepsItem Children
| Prop / Children | 설명 |
|---|---|
children | 커스텀 항목 마크업 (navigable이 아닐 때) |
클래스 · 속성
React 컴포넌트가 렌더하는 OOCSS 클래스입니다. HTML 마크업으로 직접 작성할 때 동일하게 조합합니다.
| 클래스 | 설명 |
|---|---|
steps · steps_item · steps_head · steps_indicator | 루트·항목·헤드·인디케이터 |
steps_title · steps_desc · steps_tail | 제목·설명·연결선 |
steps_trigger | navigable 모드 클릭 버튼 |
steps_vertical · steps_dot · steps_icon-style · steps_navigable | 레이아웃·스타일 |
steps_sm · steps_lg · steps_align-center | 크기·정렬 |
is-finished · is-active · is-wait · is-error | 단계 상태 |
aria-current="step" | 현재 단계 |
data-ripple | 클릭 파장 활성. data-ripple="surface"는 절대 위치 보조 버튼용 |
data-ripple="false" | 해당 요소 ripple 비활성 |
data-no-ripple | 하위 전체 ripple 비활성 |
디자인 토큰
| 토큰 | 기본값 | 설명 |
|---|---|---|
--steps-indicator-size · --steps-gap | — | 인디케이터·간격 |
--steps-title-size · --steps-desc-size | — | 타이포 |
--steps-tail-color | — | 연결선 색 |
--steps-pulse-duration | 1.5s | is-active 인디케이터 파장 애니메이션 |