@mui/x-charts
Version:
The community edition of MUI X Charts components.
64 lines (63 loc) • 4.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.selectorChartsTooltipPointerItemIsDefined = exports.selectorChartsTooltipPointerItem = exports.selectorChartsTooltipItemPosition = exports.selectorChartsTooltipItemIsDefined = exports.selectorChartsTooltipItem = void 0;
var _store = require("@mui/x-internals/store");
var _useChartSeries = require("../../corePlugins/useChartSeries");
var _useChartCartesianAxisRendering = require("../useChartCartesianAxis/useChartCartesianAxisRendering.selectors");
var _useChartKeyboardNavigation = require("../useChartKeyboardNavigation");
var _useChartInteraction = require("../useChartInteraction/useChartInteraction.selectors");
var _useChartDimensions = require("../../corePlugins/useChartDimensions/useChartDimensions.selectors");
var _isCartesian = require("../../../isCartesian");
var _useChartPolarAxis = require("../useChartPolarAxis/useChartPolarAxis.selectors");
const selectTooltip = state => state.tooltip;
const selectorChartsTooltipPointerItem = exports.selectorChartsTooltipPointerItem = (0, _store.createSelector)(selectTooltip, tooltip => tooltip?.item ?? null);
const selectorChartsTooltipPointerItemIsDefined = exports.selectorChartsTooltipPointerItemIsDefined = (0, _store.createSelector)(selectorChartsTooltipPointerItem, item => item !== null);
const selectorChartsTooltipItem = exports.selectorChartsTooltipItem = (0, _store.createSelector)(_useChartInteraction.selectorChartsLastInteraction, selectorChartsTooltipPointerItem, _useChartKeyboardNavigation.selectorChartsKeyboardItem, (lastInteraction, pointerItem, keyboardItem) => lastInteraction === 'keyboard' ? keyboardItem : pointerItem ?? null);
const selectorChartsTooltipItemIsDefined = exports.selectorChartsTooltipItemIsDefined = (0, _store.createSelector)(_useChartInteraction.selectorChartsLastInteraction, selectorChartsTooltipPointerItemIsDefined, _useChartKeyboardNavigation.selectorChartsHasFocusedItem, (lastInteraction, pointerItemIsDefined, keyboardItemIsDefined) => lastInteraction === 'keyboard' ? keyboardItemIsDefined : pointerItemIsDefined);
const selectorChartsTooltipAxisConfig = (0, _store.createSelectorMemoized)(selectorChartsTooltipItem, _useChartCartesianAxisRendering.selectorChartXAxis, _useChartCartesianAxisRendering.selectorChartYAxis, _useChartPolarAxis.selectorChartRotationAxis, _useChartPolarAxis.selectorChartRadiusAxis, _useChartSeries.selectorChartSeriesProcessed, function selectorChartsTooltipAxisConfig(identifier, {
axis: xAxis,
axisIds: xAxisIds
}, {
axis: yAxis,
axisIds: yAxisIds
}, rotationAxes, radiusAxes, series) {
if (!identifier) {
return {};
}
const itemSeries = series[identifier.type]?.series[identifier.seriesId];
if (!itemSeries) {
return {};
}
const axesConfig = {
rotationAxes,
radiusAxes
};
const xAxisId = (0, _isCartesian.isCartesianSeries)(itemSeries) ? itemSeries.xAxisId ?? xAxisIds[0] : undefined;
const yAxisId = (0, _isCartesian.isCartesianSeries)(itemSeries) ? itemSeries.yAxisId ?? yAxisIds[0] : undefined;
if (xAxisId !== undefined) {
axesConfig.x = xAxis[xAxisId];
}
if (yAxisId !== undefined) {
axesConfig.y = yAxis[yAxisId];
}
return axesConfig;
});
const selectorChartsTooltipItemPosition = exports.selectorChartsTooltipItemPosition = (0, _store.createSelectorMemoized)(selectorChartsTooltipItem, _useChartDimensions.selectorChartDrawingArea, _useChartSeries.selectorChartSeriesConfig, _useChartSeries.selectorChartSeriesProcessed, _useChartSeries.selectorChartSeriesLayout, selectorChartsTooltipAxisConfig, function selectorChartsTooltipItemPosition(identifier, drawingArea, seriesConfig, series, seriesLayout, axesConfig, placement = 'top') {
if (!identifier) {
return null;
}
const itemSeries = series[identifier.type]?.series[identifier.seriesId];
if (!itemSeries) {
return null;
}
return seriesConfig[itemSeries.type].tooltipItemPositionGetter?.({
series,
seriesLayout,
drawingArea,
axesConfig,
identifier,
placement
}) ?? null;
});