import { LucideIcon } from 'lucide-react'; import { ReactNode } from 'react'; import { Box } from './Box'; import { Button } from './Button'; import { Icon } from './Icon'; import { Surface } from './Surface'; import { Text } from './Text'; export interface LeaderboardPreviewShellProps { title: string; subtitle?: string; icon: LucideIcon; intent?: 'primary' | 'success' | 'warning' | 'critical' | 'telemetry'; children: ReactNode; footer?: ReactNode; onViewFull?: () => void; iconColor?: string; iconBgGradient?: string; viewFullLabel?: string; } export const LeaderboardPreviewShell = ({ title, subtitle, icon, intent = 'primary', children, footer, onViewFull, iconColor, iconBgGradient, viewFullLabel }: LeaderboardPreviewShellProps) => { return ( {title} {subtitle && ( {subtitle} )} {onViewFull && ( )} {children} {footer && ( {footer} )} ); };