import clsx from 'clsx'; import { Graph } from '@/models/Graph'; import { IconGraphCollapse, IconGraphCore, IconGraphExpand, IconGraphInputs, IconGraphMaximize, IconGraphOutputs, IconReset } from '../Icons'; import { CProps } from '../props'; import MiniButton from '../ui/MiniButton'; interface GraphSelectionToolbarProps extends CProps.Styling { graph: Graph; core: number[]; setSelected: React.Dispatch>; } function GraphSelectionToolbar({ className, graph, core, setSelected, ...restProps }: GraphSelectionToolbarProps) { return (
} onClick={() => setSelected([])} /> } onClick={() => setSelected(prev => [...prev, ...graph.expandAllInputs(prev)])} /> } onClick={() => setSelected(prev => [...prev, ...graph.expandAllOutputs(prev)])} /> } onClick={() => setSelected(prev => graph.maximizePart(prev))} /> } onClick={() => setSelected(prev => [...prev, ...graph.expandInputs(prev)])} /> } onClick={() => setSelected(prev => [...prev, ...graph.expandOutputs(prev)])} /> } onClick={() => setSelected([...core, ...graph.expandInputs(core)])} />
); } export default GraphSelectionToolbar;