// Libraries import React, {FunctionComponent, RefObject, useRef} from 'react' import AutoSizer from 'react-virtualized-auto-sizer' // Components import {PlotResizer, TableResizer} from './PlotResizer' // Types import {Config, SizedConfig} from '../types' // Utils import {hasPlotEnv} from '../utils/hasPlotEnv' interface PlotProps { config: Config axesCanvasRef?: RefObject layerCanvasRef?: RefObject } export const Plot: FunctionComponent = props => { const {children, config} = props let axesCanvasRef = useRef(null) let layerCanvasRef = useRef(null) if (props.axesCanvasRef) { axesCanvasRef = props.axesCanvasRef } if (props.layerCanvasRef) { layerCanvasRef = props.layerCanvasRef } if (config.width && config.height) { return hasPlotEnv(config) ? (
{children}
) : ( {children} ) } return hasPlotEnv(config) ? ( {({width, height}) => ( {children} )} ) : ( {({width, height}) => ( {children} )} ) } Plot.displayName = 'Plot'