import React from 'react'; interface IOPanelProps { inputs: boolean[]; outputs: boolean[]; inputNames: string[]; outputNames: string[]; onToggleInput: (index: number) => void; onToggleOutput: (index: number) => void; } export const IOPanel: React.FC = ({ inputs, outputs, inputNames, outputNames, onToggleInput, onToggleOutput }) => { const renderBits = ( bits: boolean[], names: string[], colorClass: string, label: string, onToggle: (i: number) => void ) => (

{label}

{bits.map((isActive, i) => (
{/* Tooltip on hover */}
{names[i] || `Port ${i}`}
))}
); return (

I/O Monitor

{renderBits(inputs, inputNames, 'bg-green-500', 'Inputs', onToggleInput)}
{renderBits(outputs, outputNames, 'bg-red-500', 'Outputs', onToggleOutput)}

Interactive Panel

• Click bits to toggle state

• Hover to see port names

); };