@mui/x-charts
Version:
The community edition of MUI X Charts components.
35 lines (33 loc) • 1.16 kB
JavaScript
'use client';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useLegend = useLegend;
var _useChartSeries = require("../internals/plugins/corePlugins/useChartSeries");
var _useSeries = require("./useSeries");
var _useStore = require("../internals/store/useStore");
var _useSelector = require("../internals/store/useSelector");
function getSeriesToDisplay(series, seriesConfig) {
return Object.keys(series).flatMap(seriesType => {
const getter = seriesConfig[seriesType].legendGetter;
return getter === undefined ? [] : getter(series[seriesType]);
});
}
/**
* Get the legend items to display.
*
* This hook is used by the `ChartsLegend` component. And will return the legend items formatted for display.
*
* An alternative is to use the `useSeries` hook and format the legend items yourself.
*
* @returns legend data
*/
function useLegend() {
const series = (0, _useSeries.useSeries)();
const store = (0, _useStore.useStore)();
const seriesConfig = (0, _useSelector.useSelector)(store, _useChartSeries.selectorChartSeriesConfig);
return {
items: getSeriesToDisplay(series, seriesConfig)
};
}
;