import React from 'react'; import { LucideIcon } from 'lucide-react'; import { Heading } from './Heading'; import { Button } from './Button'; import { Box } from './Box'; import { Stack } from './Stack'; import { Text } from './Text'; import { Icon } from './Icon'; import { ModalIcon } from './ModalIcon'; interface PageHeroProps { 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 PageHero = ({ title, description, icon, backgroundPattern, stats, actions, children, className = '' }: PageHeroProps) => ( {/* 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} );