import React from 'react'; interface HeaderProps { title: string; onEdit: () => void; onDelete: () => void; } export function Header({ title, onEdit, onDelete }: HeaderProps) { return (
{title}
); } export function EmptyState() { return (
No data
); } interface CardShellProps extends HeaderProps { empty: boolean; children: React.ReactNode; /** Ref to the div where the uPlot legend will be mounted */ legendContainerRef?: React.RefObject; } export function CardShell({ title, onEdit, onDelete, empty, children, legendContainerRef }: CardShellProps) { return (
{empty ? ( ) : ( <> {/* Plot fills remaining space */}
{children}
{/* Legend scrolls independently, capped at 25% card height */}
)}
); }