import { Check } from "lucide-react"; import { cn } from "@/lib/utils"; /** * Stepper horizontal pour wizards multi-étapes (onboarding). * - Étape courante : cercle plein rubis, label rubis * - Étape complétée : cercle rubis-glow + ✓ rubis-deep * - Étape future : cercle vide bordure line, label muted * - Lignes entre les cercles : rubis si la précédente est complétée * * Pas une UI standard "1—2—3 cliquable". Les étapes ne sont pas navigables : * c'est un wizard linéaire (cf. /docs/produit.md). */ type Step = { /** Identifiant stable pour `key`. */ id: string; label: string; }; type StepperProps = { steps: ReadonlyArray; /** Index 0-based de l'étape courante. */ currentIndex: number; className?: string; }; export function Stepper({ steps, currentIndex, className }: StepperProps) { return (
    {steps.map((step, idx) => { const status: "done" | "current" | "todo" = idx < currentIndex ? "done" : idx === currentIndex ? "current" : "todo"; const isLast = idx === steps.length - 1; return (
  1. {status === "done" ? ( {step.label}
    {!isLast && (
  2. ); })}
); }