import type { Domain } from '@h5web/lib'; import { ColorMapSelector, DomainSlider, ExportMenu, FlipYAxisToggler, GridToggler, ScaleSelector, ScaleType, Separator, SnapshotBtn, ToggleBtn, Toolbar, } from '@h5web/lib'; import { MdAspectRatio } from 'react-icons/md'; import type { ExportFormat, ExportURL } from '../../../providers/models'; import { getImageInteractions } from '../utils'; import type { HeatmapConfig } from './config'; const EXPORT_FORMATS: ExportFormat[] = ['tiff', 'npy']; interface Props { dataDomain: Domain; isSlice: boolean; config: HeatmapConfig; getExportURL: ((format: ExportFormat) => ExportURL) | undefined; } function HeatmapToolbar(props: Props) { const { isSlice, dataDomain, config, getExportURL } = props; const { customDomain, colorMap, scaleType, layout, showGrid, invertColorMap, flipYAxis, setCustomDomain, setColorMap, setScaleType, setLayout, toggleGrid, toggleColorMapInversion, toggleYAxisFlip, } = config; return ( setLayout(layout === 'cover' ? 'fill' : 'cover')} /> {getExportURL && ( ({ format, url: getExportURL(format), }))} /> )} ); } export default HeatmapToolbar;