import React from 'react';
import { __ } from '@wordpress/i18n';
import { Check } from 'lucide-react';
/** Connected progress header shared by the setup steps and completion screen. */
export default function SetupSteps( {
steps,
currentStep,
complete = false,
disabled = false,
onStepChange,
} ) {
const activeStep = complete ? steps.length - 1 : currentStep;
const StepTag = onStepChange ? 'button' : 'div';
return (
{ steps.map( ( label, index ) => {
const isActive = index === activeStep;
const isDone = complete || index < currentStep;
const canNavigate = ! disabled && index <= activeStep;
return (
canNavigate &&
onStepChange( index ),
disabled: ! canNavigate,
'aria-label': label,
}
: {} ) }
className={ `arrayfunnel-setup__progress-step${
isActive
? ' arrayfunnel-setup__progress-step--active'
: ''
}${
isDone
? ' arrayfunnel-setup__progress-step--done'
: ''
}` }
>
{ isDone ? (
) : (
index + 1
) }
{ label }
{ index < steps.length - 1 && (
) }
);
} ) }
);
}