stepper.tsx 665 B

123456789101112131415161718192021222324252627
  1. import classNames from 'classnames'
  2. import { useTranslation } from 'react-i18next'
  3. export function Stepper({ steps, active }: { steps: number; active: number }) {
  4. const { t } = useTranslation()
  5. return (
  6. <div
  7. className="stepper"
  8. role="progressbar"
  9. aria-label={t('progress_bar_percentage')}
  10. aria-valuenow={active + 1}
  11. aria-valuemax={steps}
  12. tabIndex={0}
  13. >
  14. {Array.from({ length: steps }).map((_, i) => (
  15. <div
  16. key={i}
  17. className={classNames({
  18. step: true,
  19. active: i === active,
  20. completed: i < active,
  21. })}
  22. />
  23. ))}
  24. </div>
  25. )
  26. }