import type { NodeTypeVisibility, NodeTypeSizes, GraphStage } from '../types'; import { NODE_TYPES, NODE_COLORS, NODE_TYPE_LABELS } from '../constants'; interface Props { visibility: NodeTypeVisibility; onToggle: (type: string) => void; nodeSizes: NodeTypeSizes; onNodeSizeChange: (type: string, size: number) => void; showEdges: boolean; onEdgesToggle: () => void; showFloorplan: boolean; onFloorplanToggle: () => void; hasFloorplan: boolean; onFit: () => void; graphStage: GraphStage; onGraphStageChange: (stage: GraphStage) => void; hasPrePruning: boolean; } export default function GraphControls({ visibility, onToggle, nodeSizes, onNodeSizeChange, showEdges, onEdgesToggle, showFloorplan, onFloorplanToggle, hasFloorplan, onFit, graphStage, onGraphStageChange, hasPrePruning, }: Props) { return (

Controls

{hasPrePruning && ( <>

)} {NODE_TYPES.map((type) => (
onNodeSizeChange(type, Number(e.target.value))} /> {nodeSizes[type] || 20}
))}
{hasFloorplan && (
)}
); }