import React from 'react'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Progress } from '@/components/ui/progress'; import { LucideIcon } from 'lucide-react'; import { cn } from '@/lib/utils'; export interface WelcomeStepCardProps { step: number; totalSteps: number; title: string; description?: string; icon?: LucideIcon; children?: React.ReactNode; className?: string; } export function WelcomeStepCard({ step, totalSteps, title, description, icon: Icon, children, className, }: WelcomeStepCardProps) { const progress = Math.min(Math.max(step, 1), totalSteps); const percent = totalSteps <= 1 ? 100 : Math.round((progress / totalSteps) * 100); return (
Step {progress} / {totalSteps}
{Icon && ( )}
{title} {description && ( {description} )}
{children} ); } WelcomeStepCard.displayName = 'WelcomeStepCard';