@mui/x-charts 7.22.1 → 8.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BarChart/BarChart.d.ts +7 -7
- package/BarChart/BarChart.js +9 -29
- package/BarChart/BarElement.d.ts +1 -1
- package/BarChart/BarLabel/BarLabelItem.d.ts +1 -1
- package/BarChart/BarPlot.js +12 -4
- package/BarChart/extremums.js +3 -3
- package/BarChart/useBarChartProps.d.ts +2 -2
- package/BarChart/useBarChartProps.js +3 -4
- package/CHANGELOG.md +143 -92
- package/ChartContainer/ChartContainer.d.ts +16 -33
- package/ChartContainer/ChartContainer.js +24 -41
- package/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.d.ts +2 -2
- package/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.d.ts +1 -1
- package/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.js +6 -4
- package/ChartContainer/useChartContainerProps.d.ts +11 -86
- package/ChartContainer/useChartContainerProps.js +42 -58
- package/ChartsLegend/ChartsLegend.js +0 -3
- package/ChartsLegend/DefaultChartsLegend.d.ts +0 -5
- package/ChartsLegend/DefaultChartsLegend.js +1 -12
- package/ChartsLegend/LegendPerItem.d.ts +1 -1
- package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
- package/ChartsOverlay/ChartsOverlay.d.ts +1 -1
- package/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
- package/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
- package/ChartsTooltip/ChartsTooltip.js +45 -6
- package/ChartsTooltip/useAxisTooltip.js +3 -3
- package/ChartsTooltip/useItemTooltip.js +3 -3
- package/ChartsTooltip/utils.d.ts +5 -13
- package/ChartsTooltip/utils.js +45 -42
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -5
- package/Gauge/GaugeContainer.js +1 -1
- package/LineChart/AreaElement.d.ts +1 -1
- package/LineChart/AreaPlot.js +2 -6
- package/LineChart/LineChart.d.ts +7 -7
- package/LineChart/LineChart.js +9 -29
- package/LineChart/LineElement.d.ts +1 -1
- package/LineChart/LineHighlightPlot.d.ts +1 -1
- package/LineChart/LineHighlightPlot.js +2 -6
- package/LineChart/LinePlot.js +2 -6
- package/LineChart/MarkPlot.js +2 -6
- package/LineChart/extremums.js +10 -6
- package/LineChart/useLineChartProps.d.ts +2 -2
- package/LineChart/useLineChartProps.js +3 -4
- package/PieChart/PieArc.d.ts +0 -5
- package/PieChart/PieArc.js +1 -10
- package/PieChart/PieArcPlot.js +0 -5
- package/PieChart/PieChart.d.ts +9 -32
- package/PieChart/PieChart.js +19 -102
- package/README.md +2 -2
- package/ScatterChart/ScatterChart.d.ts +7 -7
- package/ScatterChart/ScatterChart.js +9 -29
- package/ScatterChart/ScatterPlot.js +3 -6
- package/ScatterChart/extremums.js +6 -6
- package/ScatterChart/useScatterChartProps.d.ts +2 -2
- package/ScatterChart/useScatterChartProps.js +3 -4
- package/SparkLineChart/SparkLineChart.d.ts +4 -4
- package/SparkLineChart/SparkLineChart.js +4 -2
- package/context/CartesianProvider/defaultizeAxis.d.ts +5 -1
- package/context/ChartDataProvider/ChartDataProvider.d.ts +41 -0
- package/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +48 -27
- package/context/ChartDataProvider/index.d.ts +1 -0
- package/context/ChartDataProvider/index.js +1 -0
- package/context/ChartDataProvider/useChartDataProviderProps.d.ts +97 -0
- package/context/ChartDataProvider/useChartDataProviderProps.js +86 -0
- package/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.d.ts +16 -12
- package/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
- package/context/HighlightedProvider/HighlightedContext.d.ts +0 -8
- package/context/HighlightedProvider/HighlightedProvider.js +1 -16
- package/context/PluginProvider/ExtremumGetter.types.d.ts +2 -2
- package/context/ZAxisContextProvider.d.ts +1 -1
- package/index.d.ts +1 -2
- package/index.js +2 -3
- package/internals/computeAxisValue.js +13 -5
- package/internals/defaultizeColor.d.ts +1 -8
- package/internals/getSymbol.js +19 -3
- package/internals/index.d.ts +5 -5
- package/internals/index.js +5 -5
- package/internals/useStringInterpolator.js +1 -0
- package/models/axis.d.ts +10 -0
- package/models/seriesType/bar.d.ts +1 -1
- package/models/seriesType/common.d.ts +2 -12
- package/models/seriesType/config.d.ts +1 -1
- package/models/seriesType/line.d.ts +1 -1
- package/models/seriesType/pie.d.ts +1 -1
- package/models/seriesType/scatter.d.ts +1 -6
- package/modern/BarChart/BarChart.js +9 -29
- package/modern/BarChart/BarPlot.js +12 -4
- package/modern/BarChart/extremums.js +3 -3
- package/modern/BarChart/useBarChartProps.js +3 -4
- package/modern/ChartContainer/ChartContainer.js +24 -41
- package/modern/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.js +6 -4
- package/modern/ChartContainer/useChartContainerProps.js +42 -58
- package/modern/ChartsLegend/ChartsLegend.js +0 -3
- package/modern/ChartsLegend/DefaultChartsLegend.js +1 -12
- package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
- package/modern/ChartsTooltip/ChartsTooltip.js +45 -6
- package/modern/ChartsTooltip/useAxisTooltip.js +3 -3
- package/modern/ChartsTooltip/useItemTooltip.js +3 -3
- package/modern/ChartsTooltip/utils.js +45 -42
- package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -5
- package/modern/Gauge/GaugeContainer.js +1 -1
- package/modern/LineChart/AreaPlot.js +2 -6
- package/modern/LineChart/LineChart.js +9 -29
- package/modern/LineChart/LineHighlightPlot.js +2 -6
- package/modern/LineChart/LinePlot.js +2 -6
- package/modern/LineChart/MarkPlot.js +2 -6
- package/modern/LineChart/extremums.js +10 -6
- package/modern/LineChart/useLineChartProps.js +3 -4
- package/modern/PieChart/PieArc.js +1 -10
- package/modern/PieChart/PieArcPlot.js +0 -5
- package/modern/PieChart/PieChart.js +19 -102
- package/modern/ScatterChart/ScatterChart.js +9 -29
- package/modern/ScatterChart/ScatterPlot.js +3 -6
- package/modern/ScatterChart/extremums.js +6 -6
- package/modern/ScatterChart/useScatterChartProps.js +3 -4
- package/modern/SparkLineChart/SparkLineChart.js +4 -2
- package/modern/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +48 -27
- package/modern/context/ChartDataProvider/index.js +1 -0
- package/modern/context/ChartDataProvider/useChartDataProviderProps.js +86 -0
- package/modern/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
- package/modern/context/HighlightedProvider/HighlightedProvider.js +1 -16
- package/modern/index.js +2 -3
- package/modern/internals/computeAxisValue.js +13 -5
- package/modern/internals/getSymbol.js +19 -3
- package/modern/internals/index.js +5 -5
- package/modern/internals/useStringInterpolator.js +1 -0
- package/node/BarChart/BarChart.js +9 -29
- package/node/BarChart/BarPlot.js +11 -3
- package/node/BarChart/extremums.js +3 -3
- package/node/BarChart/useBarChartProps.js +3 -4
- package/node/ChartContainer/ChartContainer.js +23 -40
- package/node/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.js +6 -4
- package/node/ChartContainer/useChartContainerProps.js +42 -59
- package/node/ChartsLegend/ChartsLegend.js +0 -3
- package/node/ChartsLegend/DefaultChartsLegend.js +1 -12
- package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
- package/node/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
- package/node/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
- package/node/ChartsTooltip/ChartsTooltip.js +44 -5
- package/node/ChartsTooltip/useAxisTooltip.js +3 -3
- package/node/ChartsTooltip/useItemTooltip.js +3 -3
- package/node/ChartsTooltip/utils.js +46 -44
- package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -5
- package/node/Gauge/GaugeContainer.js +1 -1
- package/node/LineChart/AreaPlot.js +2 -6
- package/node/LineChart/LineChart.js +9 -29
- package/node/LineChart/LineHighlightPlot.js +2 -6
- package/node/LineChart/LinePlot.js +2 -6
- package/node/LineChart/MarkPlot.js +2 -6
- package/node/LineChart/extremums.js +10 -6
- package/node/LineChart/useLineChartProps.js +3 -4
- package/node/PieChart/PieArc.js +1 -10
- package/node/PieChart/PieArcPlot.js +0 -5
- package/node/PieChart/PieChart.js +19 -102
- package/node/ScatterChart/ScatterChart.js +9 -29
- package/node/ScatterChart/ScatterPlot.js +3 -6
- package/node/ScatterChart/extremums.js +6 -6
- package/node/ScatterChart/useScatterChartProps.js +3 -4
- package/node/SparkLineChart/SparkLineChart.js +4 -2
- package/node/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +47 -26
- package/node/context/ChartDataProvider/index.js +16 -0
- package/node/context/ChartDataProvider/useChartDataProviderProps.js +94 -0
- package/node/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
- package/node/context/HighlightedProvider/HighlightedProvider.js +1 -16
- package/node/index.js +5 -16
- package/node/internals/computeAxisValue.js +13 -5
- package/node/internals/getSymbol.js +19 -3
- package/node/internals/index.js +37 -29
- package/node/internals/useStringInterpolator.js +2 -0
- package/package.json +4 -4
- package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -24
- package/ResponsiveChartContainer/index.d.ts +0 -1
- package/ResponsiveChartContainer/index.js +0 -1
- package/ResponsiveChartContainer/package.json +0 -6
- package/ResponsiveChartContainer/useResponsiveChartContainerProps.d.ts +0 -19
- package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
- package/internals/SlotComponentPropsFromProps.d.ts +0 -1
- package/internals/SlotComponentPropsFromProps.js +0 -1
- package/models/helpers.d.ts +0 -3
- package/models/helpers.js +0 -1
- package/modern/ResponsiveChartContainer/index.js +0 -1
- package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
- package/modern/internals/SlotComponentPropsFromProps.js +0 -1
- package/modern/models/helpers.js +0 -1
- package/node/ResponsiveChartContainer/index.js +0 -16
- package/node/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -77
- package/node/internals/SlotComponentPropsFromProps.js +0 -5
- package/node/models/helpers.js +0 -5
- /package/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.js +0 -0
- /package/modern/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.js +0 -0
- /package/node/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.js +0 -0
|
@@ -13,7 +13,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var _LegendPerItem = require("./LegendPerItem");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
const _excluded = ["
|
|
16
|
+
const _excluded = ["seriesToDisplay", "hidden", "onItemClick"];
|
|
17
17
|
const seriesContextBuilder = context => ({
|
|
18
18
|
type: 'series',
|
|
19
19
|
color: context.color,
|
|
@@ -50,17 +50,6 @@ process.env.NODE_ENV !== "production" ? DefaultChartsLegend.propTypes = {
|
|
|
50
50
|
* The default depends on the chart.
|
|
51
51
|
*/
|
|
52
52
|
direction: _propTypes.default.oneOf(['column', 'row']).isRequired,
|
|
53
|
-
/**
|
|
54
|
-
* @deprecated Use the `useDrawingArea` hook instead.
|
|
55
|
-
*/
|
|
56
|
-
drawingArea: _propTypes.default.shape({
|
|
57
|
-
bottom: _propTypes.default.number.isRequired,
|
|
58
|
-
height: _propTypes.default.number.isRequired,
|
|
59
|
-
left: _propTypes.default.number.isRequired,
|
|
60
|
-
right: _propTypes.default.number.isRequired,
|
|
61
|
-
top: _propTypes.default.number.isRequired,
|
|
62
|
-
width: _propTypes.default.number.isRequired
|
|
63
|
-
}).isRequired,
|
|
64
53
|
/**
|
|
65
54
|
* Set to true to hide the legend.
|
|
66
55
|
* @default false
|
|
@@ -46,8 +46,8 @@ function ChartsOnAxisClickHandler(props) {
|
|
|
46
46
|
Object.keys(series).filter(seriesType => ['bar', 'line'].includes(seriesType)).forEach(seriesType => {
|
|
47
47
|
series[seriesType]?.seriesOrder.forEach(seriesId => {
|
|
48
48
|
const seriesItem = series[seriesType].series[seriesId];
|
|
49
|
-
const providedXAxisId = seriesItem.xAxisId
|
|
50
|
-
const providedYAxisId = seriesItem.yAxisId
|
|
49
|
+
const providedXAxisId = seriesItem.xAxisId;
|
|
50
|
+
const providedYAxisId = seriesItem.yAxisId;
|
|
51
51
|
const axisKey = isXaxis ? providedXAxisId : providedYAxisId;
|
|
52
52
|
if (axisKey === undefined || axisKey === USED_AXIS_ID) {
|
|
53
53
|
seriesValues[seriesId] = seriesItem.data[dataIndex];
|
|
@@ -48,14 +48,14 @@ function ChartsAxisTooltipContent(props) {
|
|
|
48
48
|
Object.keys(series).filter(_isCartesian.isCartesianSeriesType).forEach(seriesType => {
|
|
49
49
|
series[seriesType].seriesOrder.forEach(seriesId => {
|
|
50
50
|
const item = series[seriesType].series[seriesId];
|
|
51
|
-
const providedXAxisId = item.xAxisId
|
|
52
|
-
const providedYAxisId = item.yAxisId
|
|
51
|
+
const providedXAxisId = item.xAxisId;
|
|
52
|
+
const providedYAxisId = item.yAxisId;
|
|
53
53
|
const axisKey = isXaxis ? providedXAxisId : providedYAxisId;
|
|
54
54
|
if (axisKey === undefined || axisKey === USED_AXIS_ID) {
|
|
55
55
|
const seriesToAdd = series[seriesType].series[seriesId];
|
|
56
56
|
const xAxisId = providedXAxisId ?? xAxisIds[0];
|
|
57
57
|
const yAxisId = providedYAxisId ?? yAxisIds[0];
|
|
58
|
-
const zAxisId = seriesToAdd.zAxisId ??
|
|
58
|
+
const zAxisId = seriesToAdd.zAxisId ?? zAxisIds[0];
|
|
59
59
|
const getColor = colorProcessors[seriesType]?.(seriesToAdd, xAxis[xAxisId], yAxis[yAxisId], zAxisId && zAxis[zAxisId]) ?? (() => '');
|
|
60
60
|
rep.push((0, _extends2.default)({}, seriesToAdd, {
|
|
61
61
|
getColor
|
|
@@ -38,9 +38,9 @@ function ChartsItemTooltipContent(props) {
|
|
|
38
38
|
zAxisIds
|
|
39
39
|
} = React.useContext(_ZAxisContextProvider.ZAxisContext);
|
|
40
40
|
const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
|
|
41
|
-
const xAxisId = series.xAxisId ??
|
|
42
|
-
const yAxisId = series.yAxisId ??
|
|
43
|
-
const zAxisId = series.zAxisId ??
|
|
41
|
+
const xAxisId = series.xAxisId ?? xAxisIds[0];
|
|
42
|
+
const yAxisId = series.yAxisId ?? yAxisIds[0];
|
|
43
|
+
const zAxisId = series.zAxisId ?? zAxisIds[0];
|
|
44
44
|
const getColor = colorProcessors[series.type]?.(series, xAxisId && xAxis[xAxisId], yAxisId && yAxis[yAxisId], zAxisId && zAxis[zAxisId]) ?? (() => '');
|
|
45
45
|
const Content = content ?? _DefaultChartsItemTooltipContent.DefaultChartsItemTooltipContent;
|
|
46
46
|
const chartTooltipContentProps = (0, _useSlotProps.default)({
|
|
@@ -11,11 +11,13 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
|
+
var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
|
|
14
15
|
var _styles = require("@mui/material/styles");
|
|
15
16
|
var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
|
|
16
17
|
var _NoSsr = _interopRequireDefault(require("@mui/material/NoSsr"));
|
|
17
18
|
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
18
19
|
var _InteractionProvider = require("../context/InteractionProvider");
|
|
20
|
+
var _useSvgRef = require("../hooks/useSvgRef");
|
|
19
21
|
var _utils = require("./utils");
|
|
20
22
|
var _ChartsItemTooltipContent = require("./ChartsItemTooltipContent");
|
|
21
23
|
var _ChartsAxisTooltipContent = require("./ChartsAxisTooltipContent");
|
|
@@ -70,14 +72,20 @@ function ChartsTooltip(inProps) {
|
|
|
70
72
|
slots,
|
|
71
73
|
slotProps
|
|
72
74
|
} = props;
|
|
73
|
-
const
|
|
75
|
+
const svgRef = (0, _useSvgRef.useSvgRef)();
|
|
76
|
+
const pointerType = (0, _utils.usePointerType)();
|
|
77
|
+
const popperRef = React.useRef(null);
|
|
78
|
+
const positionRef = (0, _useLazyRef.default)(() => ({
|
|
79
|
+
x: 0,
|
|
80
|
+
y: 0
|
|
81
|
+
}));
|
|
74
82
|
const {
|
|
75
83
|
item,
|
|
76
84
|
axis
|
|
77
85
|
} = React.useContext(_InteractionProvider.InteractionContext);
|
|
78
86
|
const displayedData = trigger === 'item' ? item : axis;
|
|
79
87
|
const tooltipHasData = (0, _utils.getTooltipHasData)(trigger, displayedData);
|
|
80
|
-
const popperOpen =
|
|
88
|
+
const popperOpen = pointerType !== null && tooltipHasData;
|
|
81
89
|
const classes = useUtilityClasses({
|
|
82
90
|
classes: props.classes
|
|
83
91
|
});
|
|
@@ -87,17 +95,48 @@ function ChartsTooltip(inProps) {
|
|
|
87
95
|
externalSlotProps: slotProps?.popper,
|
|
88
96
|
additionalProps: {
|
|
89
97
|
open: popperOpen,
|
|
90
|
-
placement:
|
|
91
|
-
|
|
98
|
+
placement: pointerType?.pointerType === 'mouse' ? 'right-start' : 'top',
|
|
99
|
+
popperRef,
|
|
100
|
+
anchorEl: {
|
|
101
|
+
getBoundingClientRect: () => ({
|
|
102
|
+
x: positionRef.current.x,
|
|
103
|
+
y: positionRef.current.y,
|
|
104
|
+
top: positionRef.current.y,
|
|
105
|
+
left: positionRef.current.x,
|
|
106
|
+
right: positionRef.current.x,
|
|
107
|
+
bottom: positionRef.current.y,
|
|
108
|
+
width: 0,
|
|
109
|
+
height: 0,
|
|
110
|
+
toJSON: () => ''
|
|
111
|
+
})
|
|
112
|
+
},
|
|
92
113
|
modifiers: [{
|
|
93
114
|
name: 'offset',
|
|
94
115
|
options: {
|
|
95
|
-
offset: [0,
|
|
116
|
+
offset: [0, pointerType?.pointerType === 'touch' ? 40 - pointerType.height : 0]
|
|
96
117
|
}
|
|
97
118
|
}]
|
|
98
119
|
},
|
|
99
120
|
ownerState: {}
|
|
100
121
|
});
|
|
122
|
+
React.useEffect(() => {
|
|
123
|
+
const element = svgRef.current;
|
|
124
|
+
if (element === null) {
|
|
125
|
+
return () => {};
|
|
126
|
+
}
|
|
127
|
+
const handleMove = event => {
|
|
128
|
+
// eslint-disable-next-line react-compiler/react-compiler
|
|
129
|
+
positionRef.current = {
|
|
130
|
+
x: event.clientX,
|
|
131
|
+
y: event.clientY
|
|
132
|
+
};
|
|
133
|
+
popperRef.current?.update();
|
|
134
|
+
};
|
|
135
|
+
element.addEventListener('pointermove', handleMove);
|
|
136
|
+
return () => {
|
|
137
|
+
element.removeEventListener('pointermove', handleMove);
|
|
138
|
+
};
|
|
139
|
+
}, [svgRef, positionRef]);
|
|
101
140
|
if (trigger === 'none') {
|
|
102
141
|
return null;
|
|
103
142
|
}
|
|
@@ -51,15 +51,15 @@ function useAxisTooltip() {
|
|
|
51
51
|
}
|
|
52
52
|
return seriesOfType.seriesOrder.map(seriesId => {
|
|
53
53
|
const seriesToAdd = seriesOfType.series[seriesId];
|
|
54
|
-
const providedXAxisId = seriesToAdd.xAxisId
|
|
55
|
-
const providedYAxisId = seriesToAdd.yAxisId
|
|
54
|
+
const providedXAxisId = seriesToAdd.xAxisId;
|
|
55
|
+
const providedYAxisId = seriesToAdd.yAxisId;
|
|
56
56
|
const axisKey = isXaxis ? providedXAxisId : providedYAxisId;
|
|
57
57
|
|
|
58
58
|
// Test if the series uses the default axis
|
|
59
59
|
if (axisKey === undefined || axisKey === USED_AXIS_ID) {
|
|
60
60
|
const xAxisId = providedXAxisId ?? xAxisIds[0];
|
|
61
61
|
const yAxisId = providedYAxisId ?? yAxisIds[0];
|
|
62
|
-
const zAxisId = seriesToAdd.zAxisId ??
|
|
62
|
+
const zAxisId = seriesToAdd.zAxisId ?? zAxisIds[0];
|
|
63
63
|
const color = colorProcessors[seriesType]?.(seriesToAdd, xAxis[xAxisId], yAxis[yAxisId], zAxisId && zAxis[zAxisId])(dataIndex) ?? '';
|
|
64
64
|
const value = seriesToAdd.data[dataIndex] ?? null;
|
|
65
65
|
const formattedValue = seriesToAdd.valueFormatter(value, {
|
|
@@ -31,9 +31,9 @@ function useItemTooltip() {
|
|
|
31
31
|
zAxisIds
|
|
32
32
|
} = React.useContext(_ZAxisContextProvider.ZAxisContext);
|
|
33
33
|
const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
|
|
34
|
-
const xAxisId = series.xAxisId ??
|
|
35
|
-
const yAxisId = series.yAxisId ??
|
|
36
|
-
const zAxisId = series.zAxisId ??
|
|
34
|
+
const xAxisId = series.xAxisId ?? xAxisIds[0];
|
|
35
|
+
const yAxisId = series.yAxisId ?? yAxisIds[0];
|
|
36
|
+
const zAxisId = series.zAxisId ?? zAxisIds[0];
|
|
37
37
|
if (!item || item.dataIndex === undefined) {
|
|
38
38
|
return null;
|
|
39
39
|
}
|
|
@@ -1,53 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports.generateVirtualElement = generateVirtualElement;
|
|
9
7
|
exports.getTooltipHasData = getTooltipHasData;
|
|
10
8
|
exports.useMouseTracker = useMouseTracker;
|
|
9
|
+
exports.usePointerType = usePointerType;
|
|
11
10
|
exports.utcFormatter = utcFormatter;
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
11
|
var React = _interopRequireWildcard(require("react"));
|
|
14
12
|
var _hooks = require("../hooks");
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
getBoundingClientRect: () => ({
|
|
19
|
-
width: 0,
|
|
20
|
-
height: 0,
|
|
21
|
-
x: 0,
|
|
22
|
-
y: 0,
|
|
23
|
-
top: 0,
|
|
24
|
-
right: 0,
|
|
25
|
-
bottom: 0,
|
|
26
|
-
left: 0,
|
|
27
|
-
toJSON: () => ''
|
|
28
|
-
})
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
const {
|
|
32
|
-
x,
|
|
33
|
-
y
|
|
34
|
-
} = mousePosition;
|
|
35
|
-
const boundingBox = {
|
|
36
|
-
width: 0,
|
|
37
|
-
height: 0,
|
|
38
|
-
x,
|
|
39
|
-
y,
|
|
40
|
-
top: y,
|
|
41
|
-
right: x,
|
|
42
|
-
bottom: y,
|
|
43
|
-
left: x
|
|
44
|
-
};
|
|
45
|
-
return {
|
|
46
|
-
getBoundingClientRect: () => (0, _extends2.default)({}, boundingBox, {
|
|
47
|
-
toJSON: () => JSON.stringify(boundingBox)
|
|
48
|
-
})
|
|
49
|
-
};
|
|
50
|
-
}
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated We recommend using vanilla JS to let popper track mouse position.
|
|
15
|
+
*/
|
|
51
16
|
function useMouseTracker() {
|
|
52
17
|
const svgRef = (0, _hooks.useSvgRef)();
|
|
53
18
|
|
|
@@ -58,6 +23,7 @@ function useMouseTracker() {
|
|
|
58
23
|
if (element === null) {
|
|
59
24
|
return () => {};
|
|
60
25
|
}
|
|
26
|
+
const controller = new AbortController();
|
|
61
27
|
const handleOut = event => {
|
|
62
28
|
if (event.pointerType !== 'mouse') {
|
|
63
29
|
setMousePosition(null);
|
|
@@ -71,16 +37,52 @@ function useMouseTracker() {
|
|
|
71
37
|
pointerType: event.pointerType
|
|
72
38
|
});
|
|
73
39
|
};
|
|
74
|
-
element.addEventListener('pointerdown', handleMove
|
|
75
|
-
|
|
40
|
+
element.addEventListener('pointerdown', handleMove, {
|
|
41
|
+
signal: controller.signal
|
|
42
|
+
});
|
|
43
|
+
element.addEventListener('pointermove', handleMove, {
|
|
44
|
+
signal: controller.signal
|
|
45
|
+
});
|
|
46
|
+
element.addEventListener('pointerup', handleOut, {
|
|
47
|
+
signal: controller.signal
|
|
48
|
+
});
|
|
49
|
+
return () => {
|
|
50
|
+
// Calling `.abort()` removes ALL event listeners
|
|
51
|
+
// For more info, see https://kettanaito.com/blog/dont-sleep-on-abort-controller
|
|
52
|
+
controller.abort();
|
|
53
|
+
};
|
|
54
|
+
}, [svgRef]);
|
|
55
|
+
return mousePosition;
|
|
56
|
+
}
|
|
57
|
+
function usePointerType() {
|
|
58
|
+
const svgRef = (0, _hooks.useSvgRef)();
|
|
59
|
+
|
|
60
|
+
// Use a ref to avoid rerendering on every mousemove event.
|
|
61
|
+
const [pointerType, setPointerType] = React.useState(null);
|
|
62
|
+
React.useEffect(() => {
|
|
63
|
+
const element = svgRef.current;
|
|
64
|
+
if (element === null) {
|
|
65
|
+
return () => {};
|
|
66
|
+
}
|
|
67
|
+
const handleOut = event => {
|
|
68
|
+
if (event.pointerType !== 'mouse') {
|
|
69
|
+
setPointerType(null);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const handleEnter = event => {
|
|
73
|
+
setPointerType({
|
|
74
|
+
height: event.height,
|
|
75
|
+
pointerType: event.pointerType
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
element.addEventListener('pointerenter', handleEnter);
|
|
76
79
|
element.addEventListener('pointerup', handleOut);
|
|
77
80
|
return () => {
|
|
78
|
-
element.removeEventListener('
|
|
79
|
-
element.removeEventListener('pointermove', handleMove);
|
|
81
|
+
element.removeEventListener('pointerenter', handleEnter);
|
|
80
82
|
element.removeEventListener('pointerup', handleOut);
|
|
81
83
|
};
|
|
82
84
|
}, [svgRef]);
|
|
83
|
-
return
|
|
85
|
+
return pointerType;
|
|
84
86
|
}
|
|
85
87
|
function getTooltipHasData(trigger, displayedData) {
|
|
86
88
|
if (trigger === 'item') {
|
|
@@ -73,12 +73,10 @@ function ChartsVoronoiHandler(props) {
|
|
|
73
73
|
const {
|
|
74
74
|
data,
|
|
75
75
|
xAxisId,
|
|
76
|
-
yAxisId
|
|
77
|
-
xAxisKey,
|
|
78
|
-
yAxisKey
|
|
76
|
+
yAxisId
|
|
79
77
|
} = series[seriesId];
|
|
80
|
-
const xScale = xAxis[xAxisId ??
|
|
81
|
-
const yScale = yAxis[yAxisId ??
|
|
78
|
+
const xScale = xAxis[xAxisId ?? defaultXAxisId].scale;
|
|
79
|
+
const yScale = yAxis[yAxisId ?? defaultYAxisId].scale;
|
|
82
80
|
const getXPosition = (0, _useScale.getValueToPositionMapper)(xScale);
|
|
83
81
|
const getYPosition = (0, _useScale.getValueToPositionMapper)(yScale);
|
|
84
82
|
const seriesPoints = data.flatMap(({
|
|
@@ -13,7 +13,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var _styles = require("@mui/material/styles");
|
|
15
15
|
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
16
|
-
var _useChartContainerDimensions = require("../
|
|
16
|
+
var _useChartContainerDimensions = require("../ChartContainer/useChartContainerDimensions");
|
|
17
17
|
var _ChartsSurface = require("../ChartsSurface");
|
|
18
18
|
var _DrawingProvider = require("../context/DrawingProvider");
|
|
19
19
|
var _GaugeProvider = require("./GaugeProvider");
|
|
@@ -49,17 +49,13 @@ const useAggregatedData = () => {
|
|
|
49
49
|
return [...groupIds].reverse() // Revert stacked area for a more pleasant animation
|
|
50
50
|
.map(seriesId => {
|
|
51
51
|
const {
|
|
52
|
-
xAxisId
|
|
53
|
-
yAxisId
|
|
54
|
-
xAxisKey = defaultXAxisId,
|
|
55
|
-
yAxisKey = defaultYAxisId,
|
|
52
|
+
xAxisId = defaultXAxisId,
|
|
53
|
+
yAxisId = defaultYAxisId,
|
|
56
54
|
stackedData,
|
|
57
55
|
data,
|
|
58
56
|
connectNulls,
|
|
59
57
|
baseline
|
|
60
58
|
} = series[seriesId];
|
|
61
|
-
const xAxisId = xAxisIdProp ?? xAxisKey;
|
|
62
|
-
const yAxisId = yAxisIdProp ?? yAxisKey;
|
|
63
59
|
const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
|
|
64
60
|
const yScale = yAxis[yAxisId].scale;
|
|
65
61
|
const xData = xAxis[xAxisId].data;
|
|
@@ -13,7 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
var _styles = require("@mui/material/styles");
|
|
14
14
|
var _AreaPlot = require("./AreaPlot");
|
|
15
15
|
var _LinePlot = require("./LinePlot");
|
|
16
|
-
var
|
|
16
|
+
var _ChartContainer = require("../ChartContainer");
|
|
17
17
|
var _MarkPlot = require("./MarkPlot");
|
|
18
18
|
var _ChartsAxis = require("../ChartsAxis/ChartsAxis");
|
|
19
19
|
var _ChartsTooltip = require("../ChartsTooltip");
|
|
@@ -58,7 +58,7 @@ const LineChart = exports.LineChart = /*#__PURE__*/React.forwardRef(function Lin
|
|
|
58
58
|
tooltipProps,
|
|
59
59
|
children
|
|
60
60
|
} = (0, _useLineChartProps.useLineChartProps)(props);
|
|
61
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
61
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartContainer.ChartContainer, (0, _extends2.default)({
|
|
62
62
|
ref: ref
|
|
63
63
|
}, chartContainerProps, {
|
|
64
64
|
children: [props.onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, (0, _extends2.default)({}, axisClickHandlerProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
|
|
@@ -66,7 +66,7 @@ const LineChart = exports.LineChart = /*#__PURE__*/React.forwardRef(function Lin
|
|
|
66
66
|
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
67
67
|
"data-drawing-container": true,
|
|
68
68
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MarkPlot.MarkPlot, (0, _extends2.default)({}, markPlotProps))
|
|
69
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineHighlightPlot.LineHighlightPlot, (0, _extends2.default)({}, lineHighlightPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltipProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), children]
|
|
69
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineHighlightPlot.LineHighlightPlot, (0, _extends2.default)({}, lineHighlightPlotProps)), !props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltipProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), children]
|
|
70
70
|
}));
|
|
71
71
|
});
|
|
72
72
|
process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
@@ -126,6 +126,10 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
126
126
|
* The height of the chart in px. If not defined, it takes the height of the parent element.
|
|
127
127
|
*/
|
|
128
128
|
height: _propTypes.default.number,
|
|
129
|
+
/**
|
|
130
|
+
* If `true`, the legend is not rendered.
|
|
131
|
+
*/
|
|
132
|
+
hideLegend: _propTypes.default.bool,
|
|
129
133
|
/**
|
|
130
134
|
* The item currently highlighted. Turns highlighting into a controlled prop.
|
|
131
135
|
*/
|
|
@@ -139,32 +143,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
139
143
|
* @default yAxisIds[0] The id of the first provided axis
|
|
140
144
|
*/
|
|
141
145
|
leftAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
|
|
142
|
-
/**
|
|
143
|
-
* @deprecated Consider using `slotProps.legend` instead.
|
|
144
|
-
*/
|
|
145
|
-
legend: _propTypes.default.shape({
|
|
146
|
-
classes: _propTypes.default.object,
|
|
147
|
-
direction: _propTypes.default.oneOf(['column', 'row']),
|
|
148
|
-
hidden: _propTypes.default.bool,
|
|
149
|
-
itemGap: _propTypes.default.number,
|
|
150
|
-
itemMarkHeight: _propTypes.default.number,
|
|
151
|
-
itemMarkWidth: _propTypes.default.number,
|
|
152
|
-
labelStyle: _propTypes.default.object,
|
|
153
|
-
markGap: _propTypes.default.number,
|
|
154
|
-
onItemClick: _propTypes.default.func,
|
|
155
|
-
padding: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
|
|
156
|
-
bottom: _propTypes.default.number,
|
|
157
|
-
left: _propTypes.default.number,
|
|
158
|
-
right: _propTypes.default.number,
|
|
159
|
-
top: _propTypes.default.number
|
|
160
|
-
})]),
|
|
161
|
-
position: _propTypes.default.shape({
|
|
162
|
-
horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
|
|
163
|
-
vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
|
|
164
|
-
}),
|
|
165
|
-
slotProps: _propTypes.default.object,
|
|
166
|
-
slots: _propTypes.default.object
|
|
167
|
-
}),
|
|
168
146
|
/**
|
|
169
147
|
* If `true`, a loading overlay is displayed.
|
|
170
148
|
* @default false
|
|
@@ -300,6 +278,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
300
278
|
dataKey: _propTypes.default.string,
|
|
301
279
|
disableLine: _propTypes.default.bool,
|
|
302
280
|
disableTicks: _propTypes.default.bool,
|
|
281
|
+
domainLimit: _propTypes.default.oneOfType([_propTypes.default.oneOf(['nice', 'strict']), _propTypes.default.func]),
|
|
303
282
|
fill: _propTypes.default.string,
|
|
304
283
|
hideTooltip: _propTypes.default.bool,
|
|
305
284
|
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
@@ -353,6 +332,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
353
332
|
dataKey: _propTypes.default.string,
|
|
354
333
|
disableLine: _propTypes.default.bool,
|
|
355
334
|
disableTicks: _propTypes.default.bool,
|
|
335
|
+
domainLimit: _propTypes.default.oneOfType([_propTypes.default.oneOf(['nice', 'strict']), _propTypes.default.func]),
|
|
356
336
|
fill: _propTypes.default.string,
|
|
357
337
|
hideTooltip: _propTypes.default.bool,
|
|
358
338
|
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
@@ -69,16 +69,12 @@ function LineHighlightPlot(props) {
|
|
|
69
69
|
}) => {
|
|
70
70
|
return groupIds.flatMap(seriesId => {
|
|
71
71
|
const {
|
|
72
|
-
xAxisId
|
|
73
|
-
yAxisId
|
|
74
|
-
xAxisKey = defaultXAxisId,
|
|
75
|
-
yAxisKey = defaultYAxisId,
|
|
72
|
+
xAxisId = defaultXAxisId,
|
|
73
|
+
yAxisId = defaultYAxisId,
|
|
76
74
|
stackedData,
|
|
77
75
|
data,
|
|
78
76
|
disableHighlight
|
|
79
77
|
} = series[seriesId];
|
|
80
|
-
const xAxisId = xAxisIdProp ?? xAxisKey;
|
|
81
|
-
const yAxisId = yAxisIdProp ?? yAxisKey;
|
|
82
78
|
if (disableHighlight || data[highlightedIndex] == null) {
|
|
83
79
|
return null;
|
|
84
80
|
}
|
|
@@ -48,16 +48,12 @@ const useAggregatedData = () => {
|
|
|
48
48
|
}) => {
|
|
49
49
|
return groupIds.flatMap(seriesId => {
|
|
50
50
|
const {
|
|
51
|
-
xAxisId
|
|
52
|
-
yAxisId
|
|
53
|
-
xAxisKey = defaultXAxisId,
|
|
54
|
-
yAxisKey = defaultYAxisId,
|
|
51
|
+
xAxisId = defaultXAxisId,
|
|
52
|
+
yAxisId = defaultYAxisId,
|
|
55
53
|
stackedData,
|
|
56
54
|
data,
|
|
57
55
|
connectNulls
|
|
58
56
|
} = series[seriesId];
|
|
59
|
-
const xAxisId = xAxisIdProp ?? xAxisKey;
|
|
60
|
-
const yAxisId = yAxisIdProp ?? yAxisKey;
|
|
61
57
|
const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
|
|
62
58
|
const yScale = yAxis[yAxisId].scale;
|
|
63
59
|
const xData = xAxis[xAxisId].data;
|
|
@@ -70,10 +70,8 @@ function MarkPlot(props) {
|
|
|
70
70
|
}) => {
|
|
71
71
|
return groupIds.map(seriesId => {
|
|
72
72
|
const {
|
|
73
|
-
xAxisId
|
|
74
|
-
yAxisId
|
|
75
|
-
xAxisKey = defaultXAxisId,
|
|
76
|
-
yAxisKey = defaultYAxisId,
|
|
73
|
+
xAxisId = defaultXAxisId,
|
|
74
|
+
yAxisId = defaultYAxisId,
|
|
77
75
|
stackedData,
|
|
78
76
|
data,
|
|
79
77
|
showMark = true
|
|
@@ -81,8 +79,6 @@ function MarkPlot(props) {
|
|
|
81
79
|
if (showMark === false) {
|
|
82
80
|
return null;
|
|
83
81
|
}
|
|
84
|
-
const xAxisId = xAxisIdProp ?? xAxisKey;
|
|
85
|
-
const yAxisId = yAxisIdProp ?? yAxisKey;
|
|
86
82
|
const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
|
|
87
83
|
const yScale = yAxis[yAxisId].scale;
|
|
88
84
|
const xData = xAxis[xAxisId].data;
|
|
@@ -13,8 +13,11 @@ const getExtremumX = params => {
|
|
|
13
13
|
return [minX, maxX];
|
|
14
14
|
};
|
|
15
15
|
exports.getExtremumX = getExtremumX;
|
|
16
|
-
function getSeriesExtremums(getValues, stackedData, filter) {
|
|
16
|
+
function getSeriesExtremums(getValues, data, stackedData, filter) {
|
|
17
17
|
return stackedData.reduce((seriesAcc, stackedValue, index) => {
|
|
18
|
+
if (data[index] === null) {
|
|
19
|
+
return seriesAcc;
|
|
20
|
+
}
|
|
18
21
|
const [base, value] = getValues(stackedValue);
|
|
19
22
|
if (filter && (!filter({
|
|
20
23
|
y: base,
|
|
@@ -36,24 +39,25 @@ const getExtremumY = params => {
|
|
|
36
39
|
getFilters
|
|
37
40
|
} = params;
|
|
38
41
|
return Object.keys(series).filter(seriesId => {
|
|
39
|
-
const yAxisId = series[seriesId].yAxisId
|
|
42
|
+
const yAxisId = series[seriesId].yAxisId;
|
|
40
43
|
return yAxisId === axis.id || isDefaultAxis && yAxisId === undefined;
|
|
41
44
|
}).reduce((acc, seriesId) => {
|
|
42
45
|
const {
|
|
43
46
|
area,
|
|
44
|
-
stackedData
|
|
47
|
+
stackedData,
|
|
48
|
+
data
|
|
45
49
|
} = series[seriesId];
|
|
46
50
|
const isArea = area !== undefined;
|
|
47
51
|
const filter = getFilters?.({
|
|
48
52
|
currentAxisId: axis.id,
|
|
49
53
|
isDefaultAxis,
|
|
50
|
-
seriesXAxisId: series[seriesId].xAxisId
|
|
51
|
-
seriesYAxisId: series[seriesId].yAxisId
|
|
54
|
+
seriesXAxisId: series[seriesId].xAxisId,
|
|
55
|
+
seriesYAxisId: series[seriesId].yAxisId
|
|
52
56
|
});
|
|
53
57
|
|
|
54
58
|
// Since this series is not used to display an area, we do not consider the base (the d[0]).
|
|
55
59
|
const getValues = isArea && axis.scaleType !== 'log' && typeof series[seriesId].baseline !== 'string' ? d => d : d => [d[1], d[1]];
|
|
56
|
-
const seriesExtremums = getSeriesExtremums(getValues, stackedData, filter);
|
|
60
|
+
const seriesExtremums = getSeriesExtremums(getValues, data, stackedData, filter);
|
|
57
61
|
const [seriesMin, seriesMax] = seriesExtremums;
|
|
58
62
|
return [Math.min(seriesMin, acc[0]), Math.max(seriesMax, acc[1])];
|
|
59
63
|
}, [Infinity, -Infinity]);
|
|
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
11
|
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
12
12
|
var _constants = require("../constants");
|
|
13
|
-
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "tooltip", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "
|
|
13
|
+
const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "tooltip", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "hideLegend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "highlightedItem", "onHighlightChange", "className", "experimentalMarkRendering"];
|
|
14
14
|
/**
|
|
15
15
|
* A helper function that extracts LineChartProps from the input props
|
|
16
16
|
* and returns an object with props for the children components of LineChart.
|
|
@@ -36,7 +36,6 @@ const useLineChartProps = props => {
|
|
|
36
36
|
onMarkClick,
|
|
37
37
|
axisHighlight,
|
|
38
38
|
disableLineItemHighlight,
|
|
39
|
-
legend,
|
|
40
39
|
grid,
|
|
41
40
|
topAxis,
|
|
42
41
|
leftAxis,
|
|
@@ -130,10 +129,10 @@ const useLineChartProps = props => {
|
|
|
130
129
|
slots,
|
|
131
130
|
slotProps
|
|
132
131
|
};
|
|
133
|
-
const legendProps =
|
|
132
|
+
const legendProps = {
|
|
134
133
|
slots,
|
|
135
134
|
slotProps
|
|
136
|
-
}
|
|
135
|
+
};
|
|
137
136
|
const tooltipProps = (0, _extends2.default)({}, tooltip, {
|
|
138
137
|
slots,
|
|
139
138
|
slotProps
|
package/node/PieChart/PieArc.js
CHANGED
|
@@ -21,7 +21,7 @@ var _styles = require("@mui/material/styles");
|
|
|
21
21
|
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
22
22
|
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
23
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
-
const _excluded = ["classes", "color", "cornerRadius", "dataIndex", "endAngle", "id", "innerRadius", "isFaded", "isHighlighted", "onClick", "outerRadius", "paddingAngle", "startAngle"
|
|
24
|
+
const _excluded = ["classes", "color", "cornerRadius", "dataIndex", "endAngle", "id", "innerRadius", "isFaded", "isHighlighted", "onClick", "outerRadius", "paddingAngle", "startAngle"];
|
|
25
25
|
function getPieArcUtilityClass(slot) {
|
|
26
26
|
return (0, _generateUtilityClass.default)('MuiPieArc', slot);
|
|
27
27
|
}
|
|
@@ -102,15 +102,6 @@ process.env.NODE_ENV !== "production" ? PieArc.propTypes = {
|
|
|
102
102
|
// ----------------------------------------------------------------------
|
|
103
103
|
classes: _propTypes.default.object,
|
|
104
104
|
dataIndex: _propTypes.default.number.isRequired,
|
|
105
|
-
/**
|
|
106
|
-
* @deprecated Use the `isFaded` or `isHighlighted` props instead.
|
|
107
|
-
*/
|
|
108
|
-
highlightScope: _propTypes.default.shape({
|
|
109
|
-
fade: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
110
|
-
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
111
|
-
highlight: _propTypes.default.oneOf(['item', 'none', 'series']),
|
|
112
|
-
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
113
|
-
}),
|
|
114
105
|
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
115
106
|
isFaded: _propTypes.default.bool.isRequired,
|
|
116
107
|
isHighlighted: _propTypes.default.bool.isRequired
|
|
@@ -15,7 +15,6 @@ var _web = require("@react-spring/web");
|
|
|
15
15
|
var _PieArc = require("./PieArc");
|
|
16
16
|
var _transition = require("./dataTransform/transition");
|
|
17
17
|
var _useTransformData = require("./dataTransform/useTransformData");
|
|
18
|
-
var _context = require("../context");
|
|
19
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
19
|
const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlighted", "faded", "data", "onItemClick", "skipAnimation"],
|
|
21
20
|
_excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "arcLabelRadius", "outerRadius", "cornerRadius"];
|
|
@@ -50,9 +49,6 @@ function PieArcPlot(props) {
|
|
|
50
49
|
const transition = (0, _web.useTransition)(transformedData, (0, _extends2.default)({}, _transition.defaultTransitionConfig, {
|
|
51
50
|
immediate: skipAnimation
|
|
52
51
|
}));
|
|
53
|
-
const {
|
|
54
|
-
highlightScope
|
|
55
|
-
} = (0, _context.useHighlighted)();
|
|
56
52
|
if (data.length === 0) {
|
|
57
53
|
return null;
|
|
58
54
|
}
|
|
@@ -79,7 +75,6 @@ function PieArcPlot(props) {
|
|
|
79
75
|
id: id,
|
|
80
76
|
color: item.color,
|
|
81
77
|
dataIndex: index,
|
|
82
|
-
highlightScope: highlightScope,
|
|
83
78
|
isFaded: item.isFaded,
|
|
84
79
|
isHighlighted: item.isHighlighted,
|
|
85
80
|
onClick: onItemClick && (event => {
|