import React from 'react'; import { LucideIcon } from 'lucide-react'; import Heading from '@/components/ui/Heading'; import Button from '@/components/ui/Button'; interface HeroSectionProps { title: string; description?: string; icon?: LucideIcon; backgroundPattern?: React.ReactNode; stats?: Array<{ icon: LucideIcon; value: string | number; label: string; }>; actions?: Array<{ label: string; onClick: () => void; variant?: 'primary' | 'secondary'; }>; children?: React.ReactNode; className?: string; } export const HeroSection = ({ title, description, icon: Icon, backgroundPattern, stats, actions, children, className = '' }: HeroSectionProps) => (
{/* Background Pattern */} {backgroundPattern && (
{backgroundPattern}
)}
{/* Main Content */}
{Icon && (
{title}
)} {!Icon && ( {title} )} {description && (

{description}

)} {/* Stats */} {stats && stats.length > 0 && (
{stats.map((stat, index) => (
{stat.value} {stat.label}
))}
)}
{/* Actions or Custom Content */} {actions && actions.length > 0 && (
{actions.map((action, index) => ( ))}
)} {children}
);