+ |
+ toggleRowSelection(idx)}
+ className="rounded border-slate-300 text-emerald-600 focus:ring-emerald-500 cursor-pointer"
+ />
+ |
+ {idx + 1} |
+ {dataset.keys?.map(k => {
+ const isInvalid = invalidCells.has(`${idx}-${k}`);
+ return (
+
+
+ {rowObj[k] || `Enter ${k}`}
+
+ handleObjectChange(idx, k, e.target.value)}
+ className={`absolute inset-0 w-full h-full px-4 py-2 border-none bg-transparent text-sm focus:outline-none transition-colors ${isInvalid
+ ? 'ring-2 ring-inset ring-red-400 bg-red-50/50 focus:ring-red-500'
+ : 'focus:ring-2 focus:ring-inset focus:ring-emerald-500'
+ }`}
+ placeholder={`Enter ${k}`}
+ />
+ |
+ );
+ })}
+
+
+ |
+
+ ))}
+ {items.length === 0 && (
+