import { ChevronRight } from 'lucide-react'; import type { ReactNode } from 'react'; export function DetailCard({ summary, children, onToggle, disabled = false, summaryClassName, contentClassName, }: { summary: ReactNode; children?: ReactNode; /** Called when the detail card is expanded/collapsed */ onToggle?: (open: boolean) => void; /** Renders a non-expandable summary card when true. */ disabled?: boolean; /** Extra classes for the summary row. */ summaryClassName?: string; /** Extra classes for expanded content wrapper. */ contentClassName?: string; }) { if (disabled) { return (
{summary}
); } return (
onToggle?.((e.target as HTMLDetailsElement).open)} > {summary} {/* Expanded content with connecting line */}
{/* Curved connecting line - vertical part from summary */}
{/* Curved corner */}
{/* Horizontal part to content */}
{children}
); }