@mui/x-charts
Version:
The community edition of MUI X Charts components.
66 lines (65 loc) • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _createGetBarDimensions = require("../../../internals/createGetBarDimensions");
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 groupIndex = series.bar.stackingGroups.findIndex(group => group.ids.includes(itemSeries.id));
const dimensions = (0, _createGetBarDimensions.createGetBarDimensions)({
verticalLayout: itemSeries.layout === 'vertical',
xAxisConfig: axesConfig.x,
yAxisConfig: axesConfig.y,
series: itemSeries,
numberOfGroups: series.bar.stackingGroups.length
})(identifier.dataIndex, groupIndex);
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
};
}
};
var _default = exports.default = tooltipItemPositionGetter;