Skip to content

StepIndicator

StepIndicator shows progress through a multi-step process. Use for wizards, onboarding flows, or guided experiences.

Question
2
Cast
3
Interpret

Step 1
2
Step 2
3
Step 3
<StepIndicator
steps={[
{ key: 'question', label: 'Question' },
{ key: 'cast', label: 'Cast' },
{ key: 'interpret', label: 'Interpret' },
]}
currentStep={1}
/>

Ask Your QuestionFocus your mind on what you want to know
2
Cast HexagramThrow the coins six times
3
InterpretationReview the reading and reflect
<StepIndicator
variant="vertical"
steps={[
{ key: 'question', label: 'Ask Your Question', description: 'Focus your mind on what you want to know' },
{ key: 'cast', label: 'Cast Hexagram', description: 'Throw the coins six times' },
{ key: 'interpret', label: 'Interpretation', description: 'Review the reading and reflect' },
]}
currentStep={1}
/>

Allow clicking on completed steps to navigate back.

Setup
Details
3
Confirm
4
Done
<StepIndicator
steps={steps}
currentStep={2}
onStepPress={(index) => setCurrentStep(index)}
/>

PropTypeDefaultDescription
stepsStep[]RequiredArray of steps
currentStepnumberRequiredCurrently active step index
variant'horizontal' | 'vertical''horizontal'Layout variant
onStepPress(index: number) => void-Click handler for completed steps
styleViewStyle-Custom styles
accessibilityLabelstring'Progress indicator'Screen reader label
PropTypeRequiredDescription
keystringYesUnique step identifier
labelstringYesStep label text
descriptionstringNoOptional description
completedIconReactNodeNoCustom completed icon