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

{description}

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

{action.description}

)}
))}
)} {children}
);