import { CurveType, ExportMenu, ScaleSelector, Separator, ToggleBtn, ToggleGroup, Toolbar, } from '@h5web/lib'; import { ScaleType } from '@h5web/shared'; import { FiItalic } from 'react-icons/fi'; import { MdGridOn, MdDomain } from 'react-icons/md'; import type { ExportFormat, ExportURL } from '../../../providers/models'; import { INTERACTIONS_WITH_AXIAL_ZOOM } from '../utils'; import type { LineConfig } from './config'; const SCALETYPE_OPTIONS = [ScaleType.Linear, ScaleType.Log, ScaleType.SymLog]; const EXPORT_FORMATS: ExportFormat[] = ['npy', 'csv']; interface Props { isSlice: boolean; disableAutoScale: boolean; disableErrors: boolean; config: LineConfig; getExportURL: ((format: ExportFormat) => ExportURL) | undefined; } function LineToolbar(props: Props) { const { isSlice, disableAutoScale, disableErrors, config, getExportURL } = props; const { curveType, setCurveType, showGrid, toggleGrid, xScaleType, setXScaleType, yScaleType, setYScaleType, autoScale, toggleAutoScale, showErrors, toggleErrors, } = config; return ( ( )} value={!disableErrors && showErrors} onToggle={toggleErrors} disabled={disableErrors} /> { setCurveType(val as CurveType); }} > {getExportURL && ( <> ({ format, url: getExportURL(format), }))} /> )} ); } export default LineToolbar;