+ {/* Column labels */}
+
+
{/* Empty corner */}
+ {colLabels.map((label, c) => (
+
+ ))}
+
+
+ {/* Grid rows */}
+ {Array.from({ length: gridSize }, (_, r) => (
+
+ {/* Row label */}
+
+
+ {/* Grid cells */}
+ {Array.from({ length: gridSize }, (_, c) => {
+ const value = grid[r]?.[c];
+ const hasError = hasRowError(r) || hasColError(c);
+
+ return (
+
+ );
+ })}
+
+ ))}
+