import {
Stepper,
StepperContent,
StepperIndicator,
StepperItem,
StepperNav,
StepperPanel,
StepperSeparator,
StepperTitle,
StepperTrigger,
} from '@/registry/default/ui/stepper';
import { Check, LoaderCircleIcon } from 'lucide-react';
const steps = [{ title: 'Step 1' }, { title: 'Step 2' }, { title: 'Step 3' }];
export default function Component() {
return (
<Stepper
defaultValue={2}
indicators={{
completed: <Check className="size-4" />,
loading: <LoaderCircleIcon className="size-4 animate-spin" />,
}}
className="space-y-8"
>
<StepperNav>
{steps.map((step, index) => (
<StepperItem key={index} step={index + 1} className="relative">
<StepperTrigger className="flex justify-start gap-1.5">
<StepperIndicator>{index + 1}</StepperIndicator>
<StepperTitle className="text-center">{step.title}</StepperTitle>
</StepperTrigger>
{steps.length > index + 1 && (
<StepperSeparator className="md:mx-2.5 group-data-[state=completed]/step:bg-primary" />
)}
</StepperItem>
))}
</StepperNav>
<StepperPanel className="text-sm">
{steps.map((step, index) => (
<StepperContent key={index} value={index + 1} className="flex items-center justify-center">
Step {step.title} content
</StepperContent>
))}
</StepperPanel>
</Stepper>
);
}