ciam-stepper.tsx 776 B

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