react-step-progress-bar

react-step-progress-bar

  • Docs
  • Examples
  • GitHub

Simple progress bar

JS

<ProgressBar percent={75} />

Simple progress bar with gradient

JS

<ProgressBar
  filledBackground="linear-gradient(to right, #fefb72, #f0bb31)"
  percent={75}
/>

Indexed step progress bar

1
2
3

JS

<ProgressBar percent={75}>
  <Step>
    {({ accomplished, index }) => (
      <div
        className={`indexedStep ${accomplished ? "accomplished" : null}`}
      >
        {index + 1}
      </div>
    )}
  </Step>
  <Step>
    {({ accomplished, index }) => (
      <div
        className={`indexedStep ${accomplished ? "accomplished" : null}`}
      >
        {index + 1}
      </div>
    )}
  </Step>
  <Step>
    {({ accomplished, index }) => (
      <div
        className={`indexedStep ${accomplished ? "accomplished" : null}`}
      >
        {index + 1}
      </div>
    )}
  </Step>
</ProgressBar>

CSS

.indexedStep {
  color: white;
  width: 20px;
  height: 20px;
  font-size: 12px;
  background-color: rgba(211, 211, 211, 0.8);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.indexedStep.accomplished {
  background-color: rgba(0, 116, 217, 1);
}

Step progress bar with transitions

๐ŸŒ‘
๐ŸŒ’
๐ŸŒ“
๐ŸŒ”
๐ŸŒ•

JS

<ProgressBar
  filledBackground="linear-gradient(to right, #fefb72, #f0bb31)"
  percent={75}
>
  <Step transition="scale">
    {({ accomplished, index }) => (
      <div
        className={`transitionStep ${accomplished ? "accomplished" : null}`}
      >
        ๐ŸŒ‘
      </div>
    )}
  </Step>
  <Step transition="scale">
    {({ accomplished, index }) => (
      <div
        className={`transitionStep ${accomplished ? "accomplished" : null}`}
      >
        ๐ŸŒ’
      </div>
    )}
  </Step>
  <Step transition="scale">
    {({ accomplished, index }) => (
      <div
        className={`transitionStep ${accomplished ? "accomplished" : null}`}
      >
        ๐ŸŒ“
      </div>
    )}
  </Step>
  <Step transition="scale">
    {({ accomplished, index }) => (
      <div
        className={`transitionStep ${accomplished ? "accomplished" : null}`}
      >
        ๐ŸŒ”
      </div>
    )}
  </Step>
  <Step transition="scale">
    {({ accomplished, index }) => (
      <div
        className={`transitionStep ${accomplished ? "accomplished" : null}`}
      >
        ๐ŸŒ•
      </div>
    )}
  </Step>
</ProgressBar>

CSS

.transitionStep {
  filter: grayscale(1);
}

.transitionStep.accomplished {
  filter: grayscale(0);
}
react-step-progress-bar
Docs
Getting StartedGuidesAPI ReferenceExamples
Community
MediumTwitter
More
GitHubStar
Made with ๐Ÿ’˜ by pierreericgarcia