@mui/x-charts
Version:
The community edition of the Charts components (MUI X).
22 lines (21 loc) • 1.2 kB
TypeScript
import type { ChartSeriesDefaultized, ChartSeriesType, ChartsSeriesConfig, DatasetType } from '../../models/seriesType/config';
import type { SeriesId } from '../../models/seriesType/common';
import type { StackingGroupsType } from '../../internals/stackSeries';
import type { LegendItemParams } from '../../ChartsLegend/chartsLegend.types';
export type SeriesFormatterParams<T extends ChartSeriesType> = {
series: Record<SeriesId, ChartsSeriesConfig[T]['seriesInput']>;
seriesOrder: SeriesId[];
};
export type SeriesFormatterResult<T extends ChartSeriesType> = {
series: Record<SeriesId, ChartSeriesDefaultized<T>>;
seriesOrder: SeriesId[];
} & (ChartsSeriesConfig[T] extends {
canBeStacked: true;
} ? {
stackingGroups: StackingGroupsType;
} : {});
export type SeriesFormatter<T extends ChartSeriesType> = (params: SeriesFormatterParams<T>, dataset?: DatasetType) => SeriesFormatterResult<T>;
export type LegendGetter<T extends ChartSeriesType> = (series: SeriesFormatterResult<T>) => LegendItemParams[];
export type SeriesFormatterConfig<T extends ChartSeriesType = ChartSeriesType> = {
[K in T]?: (series: SeriesFormatterParams<K>, dataset?: DatasetType) => any;
};