import React, { PureComponent } from 'react'; import { parseElements, separateElements } from './graph-utils'; import GraphView from './GraphView'; import { Provider } from './GraphContext'; import { createNodeTypes } from './NodeRenderer/utils'; import DefaultNode from './NodeRenderer/NodeTypes/DefaultNode'; import InputNode from './NodeRenderer/NodeTypes/InputNode'; import OutputNode from './NodeRenderer/NodeTypes/OutputNode'; import './style.css'; class ReactGraph extends PureComponent { constructor(props) { super(props); this.nodeTypes = createNodeTypes(props.nodeTypes); } render() { const { style, onNodeClick, children, onLoad, onMove, onChange, elements } = this.props; const { nodes, edges } = elements .map(parseElements) .reduce(separateElements, {}); return (