Get startedFoundationsComponentsPatternsRules

Progress Tracker

진행 트래커는 여러 단계로 이뤄진 작업의 단계와 현재 위치를 보여줘요.

설치

pnpm dlx shadcn@latest add https://rebar.conmarket-landing.workers.dev/r/steel/progress-tracker.json

Examples

Default

단계마다 status 를 지정해요. 비활성(disabled), 방문함(visited), 현재(current), 방문 전(unvisited) 네 가지 상태가 있어요. percentageComplete 는 그 단계에서 다음 단계까지 이어지는 연결선을 몇 % 채울지 정해요.

Status표시
visited진한 글자 + 링크. 눌러서 그 단계로 돌아갈 수 있어요.
current브랜드 색 굵은 글자, aria-current="step"
unvisited흐린 글자, 진한 회색 마커
disabled비활성 글자와 마커. 다시 갈 수 없는 단계예요.

Spacing

spacing 으로 단계 사이 간격을 정해요. comfortable(40px), cozy(16px, 기본), compact(4px) 가 있어요.

Completed

모든 단계를 마친 트래커예요. 마지막 단계까지 visited 로 두면 돼요.

단계 이동

items 를 바꾸면 연결선이 부드럽게 채워지거나 줄어들어요. 여러 단계가 한 번에 바뀌면 하나씩 순서대로 움직여요. 애니메이션을 끄려면 animated={false} 를 줘요.

Usage guidelines

진행 트래커는 여러 화면에 걸쳐 단계를 밟아야 끝나는 작업에서 사용자를 안내해요. 지금 어느 단계에 있는지 보여주고, 방문한 단계는 눌러서 돌아갈 수 있게 해요.

  • 단계는 3개 이상 6개 이하로 둬요.
  • 6단계를 넘으면 과정을 단순하게 줄이거나 여러 작업으로 나눠요.
  • 3단계보다 적으면 트래커 대신 "다음" 버튼으로 충분해요.
Do· 3~6단계
단계 수를 3개에서 6개 사이로 유지해요.
Don't· 2단계 이하
단계가 3개보다 적은 흐름에는 쓰지 않아요.

문구

  • 단계마다 목적이 분명한 이름을 붙여요.
  • 이름은 한 줄, 1~2 단어로 짧게 써요.
  • 세부 내용이 바뀌어도 통하도록 단계의 큰 주제로 이름을 지어요. 예를 들어 "담당자 정보" 는 입력 항목이 늘거나 줄어도 그대로 쓸 수 있어요.

Accessibility

  • 트래커는 순서 있는 목록(<ol>)으로 렌더링돼요. label 은 목록의 aria-label 로 들어가니 작업 목적을 적어요. (예: "이슈 가져오기 진행 단계")
  • 현재 단계에는 aria-current="step" 이 붙어요.
  • 방문한 단계의 링크는 Tab 으로 이동하고 Enter 로 열 수 있어요. 링크를 만들지 않으려면 noLink 를 줘요.
  • 상태를 색에만 의존하지 않도록 글자 굵기와 색을 함께 바꿔요.

Props

Prop

Type

Stage

Prop

Type

On this page