Skip to Content

Steps

화면의 진행 단계를 시각적으로 표시하는 컴포넌트입니다.


개요

Steps 컴포넌트는 Foundation의 Step 컴포넌트를 데이터 드리븐 방식으로 래핑하여, steps 배열과 active 인덱스만으로 진행 단계를 표시합니다.

주요 특징

  • 데이터 드리븐: steps 배열로 단계를 선언적으로 정의
  • 상태 표시: 완료(체크)·진행 중·대기 상태 자동 인디케이터
  • 단계별 스타일: controlStyle로 색상·폰트 오버라이드 (상태별 자동 파생)
  • 숨김 처리: hidden 플래그로 특정 단계 비표시
  • 컨테이너 제목: title prop으로 상단 제목 표시
  • 표시 제어: visible prop으로 전체 표시/숨김

기본 사용

<Steps>steps 배열과 active 인덱스를 전달합니다.

import { Steps } from "@vortex/ui-cals" const steps = [ { title: "요구사항 분석" }, { title: "설계" }, { title: "개발" }, { title: "테스트" }, { title: "배포" }, ] <Steps steps={steps} active={2} />

활성 단계 제어

activeonActiveChange로 현재 단계를 제어합니다.

const [active, setActive] = useState(0) <Steps steps={steps} active={active} onActiveChange={setActive} />

컨테이너 제목

title prop으로 단계 표시줄 위에 제목을 표시합니다.

<Steps title="프로젝트 진행 현황" steps={steps} active={3} />

단계별 스타일

각 단계에 controlStyle을 지정하면 상태(완료·진행·대기)에 따라 자동으로 색상이 파생됩니다.

<Steps steps={[ { title: "접수", controlStyle: { borderColor: "#4f46e5", color: "#4f46e5" } }, { title: "검토", controlStyle: { borderColor: "#059669", color: "#059669" } }, { title: "승인", controlStyle: { borderColor: "#dc2626", color: "#dc2626" } }, ]} active={1} />

숨김 단계

hidden: true인 단계는 렌더링에서 제외됩니다.

<Steps steps={[ { title: "단계 1" }, { title: "숨김 단계", hidden: true }, { title: "단계 3" }, ]} active={0} />

Props

PropTypeDefault설명
stepsStepItemData[][]단계 목록 데이터
activenumber0현재 활성 단계 인덱스
onActiveChange(index) => void-활성 단계 변경 콜백
titlestring-컨테이너 제목
visiblebooleantrue표시 여부
backgroundColorstring-컨테이너 배경색
colorstring-컨테이너 글자색
classNamestring-className
styleCSSProperties-인라인 스타일

타입

interface StepItemData { title: string hidden?: boolean translate?: boolean controlStyle?: StepControlStyle } interface StepControlStyle { borderColor?: string borderWidth?: string color?: string fontFamily?: string fontSize?: string fontWeight?: string fontStyle?: string textAlign?: string }
Last updated on