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 ? ( { label } { index < steps.length - 1 && (
); } ) }
); }