UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

61 lines 1.41 kB
import { getBarDimensions } from "../../../internals/getBarDimensions.js"; const tooltipItemPositionGetter = params => { const { series, identifier, axesConfig, placement } = params; if (!identifier || identifier.dataIndex === undefined) { return null; } const itemSeries = series.bar?.series[identifier.seriesId]; if (series.bar == null || itemSeries == null) { return null; } if (axesConfig.x === undefined || axesConfig.y === undefined) { return null; } const dimensions = getBarDimensions({ verticalLayout: itemSeries.layout === 'vertical', xAxisConfig: axesConfig.x, yAxisConfig: axesConfig.y, series: itemSeries, dataIndex: identifier.dataIndex, numberOfGroups: series.bar.stackingGroups.length, groupIndex: series.bar.stackingGroups.findIndex(group => group.ids.includes(itemSeries.id)) }); if (dimensions == null) { return null; } const { x, y, width, height } = dimensions; switch (placement) { case 'right': return { x: x + width, y: y + height / 2 }; case 'bottom': return { x: x + width / 2, y: y + height }; case 'left': return { x, y: y + height / 2 }; case 'top': default: return { x: x + width / 2, y }; } }; export default tooltipItemPositionGetter;