export type FileDocVariant = | "pdf" | "spreadsheet" | "doc" | "image" | "archive" | "code" | "generic"; export const VARIANT_COLORS: Record = { pdf: "#DC2626", spreadsheet: "#16a34a", doc: "#2563eb", image: "#7c3aed", archive: "#ea580c", code: "#0891b2", generic: "#71717a", }; export function FileDocIcon({ color, variant, className, style, }: { color?: string; variant: FileDocVariant; className?: string; style?: React.CSSProperties; }) { color ??= VARIANT_COLORS[variant]; const foldX = 10.5; const foldY = 5.5; let interior: React.ReactNode; if (variant === "spreadsheet") { // Outer border of the grid const gx1 = 3, gy1 = 8, gx2 = 13, gy2 = 17; // Column divider x, row divider y positions const colX = 8; const row1Y = 11, row2Y = 14; interior = ( ); } else if (variant === "image") { interior = ( <> ); } else if (variant === "code") { interior = ( <> ); } else if (variant === "archive") { interior = ( <> ); } else { // pdf, doc, generic — text lines interior = ( <> ); } return ( ); }