@mui/x-charts 9.2.0 → 9.3.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.js +10 -10
- package/BarChart/BarChart.mjs +10 -10
- package/BarChart/seriesConfig/bar/getColor.js +7 -53
- package/BarChart/seriesConfig/bar/getColor.mjs +7 -53
- package/BarChart/seriesConfig/bar/seriesProcessor.js +3 -1
- package/BarChart/seriesConfig/bar/seriesProcessor.mjs +3 -1
- package/BarChart/seriesConfig/bar/tooltip.js +4 -27
- package/BarChart/seriesConfig/bar/tooltip.mjs +4 -27
- package/CHANGELOG.md +118 -0
- package/ChartsContainer/ChartsContainer.js +9 -9
- package/ChartsContainer/ChartsContainer.mjs +9 -9
- package/ChartsLabel/ChartsLabelMark.js +0 -2
- package/ChartsLabel/ChartsLabelMark.mjs +0 -2
- package/ChartsLabel/labelMarkClasses.d.mts +0 -1
- package/ChartsLabel/labelMarkClasses.d.ts +0 -1
- package/ChartsLabel/labelMarkClasses.js +1 -2
- package/ChartsLabel/labelMarkClasses.mjs +2 -2
- package/ChartsLayerContainer/ChartsLayerContainer.js +36 -30
- package/ChartsLayerContainer/ChartsLayerContainer.mjs +36 -30
- package/ChartsXAxis/ChartsXAxis.js +3 -1
- package/ChartsXAxis/ChartsXAxis.mjs +3 -1
- package/ChartsYAxis/ChartsYAxis.js +3 -1
- package/ChartsYAxis/ChartsYAxis.mjs +3 -1
- package/LineChart/LineChart.js +6 -6
- package/LineChart/LineChart.mjs +6 -6
- package/LineChart/seriesConfig/curveEvaluation.js +12 -1
- package/LineChart/seriesConfig/curveEvaluation.mjs +12 -1
- package/LineChart/seriesConfig/getColor.js +7 -54
- package/LineChart/seriesConfig/getColor.mjs +7 -54
- package/LineChart/seriesConfig/seriesProcessor.d.mts +2 -4
- package/LineChart/seriesConfig/seriesProcessor.d.ts +2 -4
- package/LineChart/seriesConfig/seriesProcessor.js +2 -139
- package/LineChart/seriesConfig/seriesProcessor.mjs +2 -138
- package/LineChart/seriesConfig/tooltip.js +4 -25
- package/LineChart/seriesConfig/tooltip.mjs +4 -25
- package/PieChart/PieChart.js +6 -6
- package/PieChart/PieChart.mjs +6 -6
- package/RadarChart/RadarAxis/useRadarAxis.js +1 -1
- package/RadarChart/RadarAxis/useRadarAxis.mjs +1 -1
- package/RadarChart/RadarChart.js +8 -8
- package/RadarChart/RadarChart.mjs +8 -8
- package/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +3 -1
- package/RadarChart/RadarSeriesPlot/RadarSeriesArea.mjs +3 -1
- package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +1 -0
- package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.mjs +1 -0
- package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +1 -0
- package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.mjs +1 -0
- package/ScatterChart/ScatterChart.js +11 -11
- package/ScatterChart/ScatterChart.mjs +11 -11
- package/ScatterChart/seriesConfig/tooltip.js +2 -24
- package/ScatterChart/seriesConfig/tooltip.mjs +2 -24
- package/SparkLineChart/SparkLineChart.js +27 -27
- package/SparkLineChart/SparkLineChart.mjs +27 -27
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/internals/components/ChartsAccessibilityProxy/ChartsAccessibilityProxy.js +1 -1
- package/internals/components/ChartsAccessibilityProxy/ChartsAccessibilityProxy.mjs +1 -1
- package/internals/getLineLikeTooltip.d.mts +9 -0
- package/internals/getLineLikeTooltip.d.ts +9 -0
- package/internals/getLineLikeTooltip.js +38 -0
- package/internals/getLineLikeTooltip.mjs +31 -0
- package/internals/index.d.mts +3 -0
- package/internals/index.d.ts +3 -0
- package/internals/index.js +24 -0
- package/internals/index.mjs +3 -0
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/tooltipGetter.types.d.mts +4 -2
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/tooltipGetter.types.d.ts +4 -2
- package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.js +3 -0
- package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.mjs +3 -0
- package/internals/processLineLikeSeries.d.mts +6 -0
- package/internals/processLineLikeSeries.d.ts +6 -0
- package/internals/processLineLikeSeries.js +145 -0
- package/internals/processLineLikeSeries.mjs +138 -0
- package/internals/resolveColorProcessor.d.mts +11 -0
- package/internals/resolveColorProcessor.d.ts +11 -0
- package/internals/resolveColorProcessor.js +62 -0
- package/internals/resolveColorProcessor.mjs +56 -0
- package/package.json +3 -3
|
@@ -1,139 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { stack as d3Stack } from '@mui/x-charts-vendor/d3-shape';
|
|
4
|
-
import { warnOnce } from '@mui/x-internals/warning';
|
|
5
|
-
import { getStackingGroups } from "../../internals/stacking/index.mjs";
|
|
6
|
-
const defaultShapes = ['circle', 'square', 'diamond', 'cross', 'star', 'triangle', 'wye'];
|
|
7
|
-
const lineValueFormatter = v => v == null ? '' : v.toLocaleString();
|
|
8
|
-
function seriesProcessor(params, dataset, isItemVisible) {
|
|
9
|
-
const {
|
|
10
|
-
seriesOrder,
|
|
11
|
-
series
|
|
12
|
-
} = params;
|
|
13
|
-
const stackingGroups = getStackingGroups(_extends({}, params, {
|
|
14
|
-
defaultStrategy: {
|
|
15
|
-
stackOffset: 'none'
|
|
16
|
-
}
|
|
17
|
-
}));
|
|
18
|
-
const idToIndex = new Map();
|
|
19
|
-
// Create a data set with format adapted to d3
|
|
20
|
-
const d3Dataset = dataset ?? [];
|
|
21
|
-
seriesOrder.forEach((id, seriesIndex) => {
|
|
22
|
-
idToIndex.set(id, seriesIndex);
|
|
23
|
-
const data = series[id].data;
|
|
24
|
-
if (data !== undefined) {
|
|
25
|
-
data.forEach((value, dataIndex) => {
|
|
26
|
-
if (d3Dataset.length <= dataIndex) {
|
|
27
|
-
d3Dataset.push({
|
|
28
|
-
[id]: value
|
|
29
|
-
});
|
|
30
|
-
} else {
|
|
31
|
-
d3Dataset[dataIndex][id] = value;
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
} else if (series[id].valueGetter && dataset) {
|
|
35
|
-
// When valueGetter is used without dataKey, populate d3Dataset with the series id as key
|
|
36
|
-
dataset.forEach((entry, dataIndex) => {
|
|
37
|
-
const value = series[id].valueGetter(entry);
|
|
38
|
-
if (d3Dataset.length <= dataIndex) {
|
|
39
|
-
d3Dataset.push({
|
|
40
|
-
[id]: value
|
|
41
|
-
});
|
|
42
|
-
} else {
|
|
43
|
-
d3Dataset[dataIndex][id] = value;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
} else if (dataset === undefined && process.env.NODE_ENV !== 'production') {
|
|
47
|
-
// TODO: fix mui/no-guarded-throw
|
|
48
|
-
// eslint-disable-next-line mui/no-guarded-throw
|
|
49
|
-
throw new Error(process.env.NODE_ENV !== "production" ? `MUI X Charts: Line series with id="${id}" has no data. ` + 'The chart cannot render this series without data. ' + 'Provide a data property to the series or use the dataset prop.' : _formatErrorMessage(27, id));
|
|
50
|
-
}
|
|
51
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
52
|
-
if (!data && dataset) {
|
|
53
|
-
const dataKey = series[id].dataKey;
|
|
54
|
-
if (!dataKey && !series[id].valueGetter) {
|
|
55
|
-
// TODO: fix mui/no-guarded-throw
|
|
56
|
-
// eslint-disable-next-line mui/no-guarded-throw
|
|
57
|
-
throw new Error(`MUI X Charts: Line series with id="${id}" has no data, no dataKey, and no valueGetter. ` + 'When using the dataset prop, each series must have a dataKey or valueGetter to identify which dataset values to use. ' + 'Add a dataKey or valueGetter property to the series configuration.');
|
|
58
|
-
}
|
|
59
|
-
if (dataKey) {
|
|
60
|
-
dataset.forEach((entry, index) => {
|
|
61
|
-
const value = entry[dataKey];
|
|
62
|
-
if (value != null && typeof value !== 'number') {
|
|
63
|
-
warnOnce(`MUI X Charts: your dataset key "${dataKey}" is used for plotting lines, but the dataset contains the non-null non-numerical element "${value}" at index ${index}.
|
|
64
|
-
Line plots only support numeric and null values.`);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
const completedSeries = {};
|
|
72
|
-
stackingGroups.forEach(stackingGroup => {
|
|
73
|
-
const {
|
|
74
|
-
ids,
|
|
75
|
-
stackingOffset,
|
|
76
|
-
stackingOrder
|
|
77
|
-
} = stackingGroup;
|
|
78
|
-
const keys = ids.map(id => {
|
|
79
|
-
// Use dataKey if needed and available
|
|
80
|
-
const dataKey = series[id].dataKey;
|
|
81
|
-
return series[id].data === undefined && dataKey !== undefined ? dataKey : id;
|
|
82
|
-
});
|
|
83
|
-
const stackedData = d3Stack().keys(keys).value((d, key) => d[key] ?? 0) // defaultize null value to 0
|
|
84
|
-
.order(stackingOrder).offset(stackingOffset)(d3Dataset);
|
|
85
|
-
const idOrder = stackedData.map(s => s.index);
|
|
86
|
-
const fixedOrder = () => idOrder;
|
|
87
|
-
|
|
88
|
-
// Compute visible stacked data
|
|
89
|
-
const visibleStackedData = d3Stack().keys(keys).value((d, key) => {
|
|
90
|
-
const keyIndex = keys.indexOf(key);
|
|
91
|
-
const seriesId = ids[keyIndex];
|
|
92
|
-
if (!isItemVisible?.({
|
|
93
|
-
type: 'line',
|
|
94
|
-
seriesId
|
|
95
|
-
})) {
|
|
96
|
-
// For hidden series, return 0 so they don't contribute to the stack
|
|
97
|
-
return 0;
|
|
98
|
-
}
|
|
99
|
-
return d[key] ?? 0;
|
|
100
|
-
}).order(fixedOrder).offset(stackingOffset)(d3Dataset);
|
|
101
|
-
ids.forEach((id, index) => {
|
|
102
|
-
const {
|
|
103
|
-
dataKey,
|
|
104
|
-
valueGetter
|
|
105
|
-
} = series[id];
|
|
106
|
-
let data;
|
|
107
|
-
if (valueGetter) {
|
|
108
|
-
data = dataset.map(d => valueGetter(d));
|
|
109
|
-
} else if (dataKey) {
|
|
110
|
-
data = dataset.map(d => {
|
|
111
|
-
const value = d[dataKey];
|
|
112
|
-
return typeof value === 'number' ? value : null;
|
|
113
|
-
});
|
|
114
|
-
} else {
|
|
115
|
-
data = series[id].data;
|
|
116
|
-
}
|
|
117
|
-
const hidden = !isItemVisible?.({
|
|
118
|
-
type: 'line',
|
|
119
|
-
seriesId: id
|
|
120
|
-
});
|
|
121
|
-
completedSeries[id] = _extends({
|
|
122
|
-
labelMarkType: 'line+mark'
|
|
123
|
-
}, series[id], {
|
|
124
|
-
shape: series[id].shape ?? defaultShapes[(idToIndex.get(id) ?? 0) % defaultShapes.length],
|
|
125
|
-
data,
|
|
126
|
-
valueFormatter: series[id].valueFormatter ?? lineValueFormatter,
|
|
127
|
-
hidden,
|
|
128
|
-
stackedData: stackedData[index],
|
|
129
|
-
visibleStackedData: visibleStackedData[index]
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
return {
|
|
134
|
-
seriesOrder,
|
|
135
|
-
stackingGroups,
|
|
136
|
-
series: completedSeries
|
|
137
|
-
};
|
|
138
|
-
}
|
|
1
|
+
import { processLineLikeSeries } from "../../internals/processLineLikeSeries.mjs";
|
|
2
|
+
const seriesProcessor = (params, dataset, isItemVisible) => processLineLikeSeries(params, dataset, isItemVisible, 'line');
|
|
139
3
|
export default seriesProcessor;
|
|
@@ -4,31 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.axisTooltipGetter = void 0;
|
|
7
|
-
var
|
|
8
|
-
const tooltipGetter = params => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
getColor,
|
|
12
|
-
identifier
|
|
13
|
-
} = params;
|
|
14
|
-
if (!identifier || identifier.dataIndex === undefined) {
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
const label = (0, _getLabel.getLabel)(series.label, 'tooltip');
|
|
18
|
-
const value = series.data[identifier.dataIndex];
|
|
19
|
-
const formattedValue = series.valueFormatter(value, {
|
|
20
|
-
dataIndex: identifier.dataIndex
|
|
21
|
-
});
|
|
22
|
-
return {
|
|
23
|
-
identifier,
|
|
24
|
-
color: getColor(identifier.dataIndex),
|
|
25
|
-
label,
|
|
26
|
-
value,
|
|
27
|
-
formattedValue,
|
|
28
|
-
markType: series.labelMarkType,
|
|
29
|
-
markShape: series.showMark ? series.shape : undefined
|
|
30
|
-
};
|
|
31
|
-
};
|
|
7
|
+
var _getLineLikeTooltip = require("../../internals/getLineLikeTooltip");
|
|
8
|
+
const tooltipGetter = params => (0, _getLineLikeTooltip.getLineLikeTooltip)(params, {
|
|
9
|
+
includeMarkShape: true
|
|
10
|
+
});
|
|
32
11
|
const axisTooltipGetter = series => {
|
|
33
12
|
return Object.values(series).map(s => ({
|
|
34
13
|
direction: 'x',
|
|
@@ -1,28 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const tooltipGetter = params => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
getColor,
|
|
6
|
-
identifier
|
|
7
|
-
} = params;
|
|
8
|
-
if (!identifier || identifier.dataIndex === undefined) {
|
|
9
|
-
return null;
|
|
10
|
-
}
|
|
11
|
-
const label = getLabel(series.label, 'tooltip');
|
|
12
|
-
const value = series.data[identifier.dataIndex];
|
|
13
|
-
const formattedValue = series.valueFormatter(value, {
|
|
14
|
-
dataIndex: identifier.dataIndex
|
|
15
|
-
});
|
|
16
|
-
return {
|
|
17
|
-
identifier,
|
|
18
|
-
color: getColor(identifier.dataIndex),
|
|
19
|
-
label,
|
|
20
|
-
value,
|
|
21
|
-
formattedValue,
|
|
22
|
-
markType: series.labelMarkType,
|
|
23
|
-
markShape: series.showMark ? series.shape : undefined
|
|
24
|
-
};
|
|
25
|
-
};
|
|
1
|
+
import { getLineLikeTooltip } from "../../internals/getLineLikeTooltip.mjs";
|
|
2
|
+
const tooltipGetter = params => getLineLikeTooltip(params, {
|
|
3
|
+
includeMarkShape: true
|
|
4
|
+
});
|
|
26
5
|
export const axisTooltipGetter = series => {
|
|
27
6
|
return Object.values(series).map(s => ({
|
|
28
7
|
direction: 'x',
|
package/PieChart/PieChart.js
CHANGED
|
@@ -184,11 +184,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
184
184
|
*/
|
|
185
185
|
highlightedItem: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
186
186
|
dataIndex: _propTypes.default.number,
|
|
187
|
-
seriesId: _propTypes.default.string.isRequired
|
|
188
|
-
type: _propTypes.default.oneOf(['pie']).isRequired
|
|
187
|
+
seriesId: _propTypes.default.string.isRequired
|
|
189
188
|
}), _propTypes.default.shape({
|
|
190
189
|
dataIndex: _propTypes.default.number,
|
|
191
|
-
seriesId: _propTypes.default.string.isRequired
|
|
190
|
+
seriesId: _propTypes.default.string.isRequired,
|
|
191
|
+
type: _propTypes.default.oneOf(['pie']).isRequired
|
|
192
192
|
})]),
|
|
193
193
|
/**
|
|
194
194
|
* This prop is used to help implement the accessibility logic.
|
|
@@ -305,11 +305,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
305
305
|
*/
|
|
306
306
|
tooltipItem: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
307
307
|
dataIndex: _propTypes.default.number.isRequired,
|
|
308
|
-
seriesId: _propTypes.default.string.isRequired
|
|
309
|
-
type: _propTypes.default.oneOf(['pie']).isRequired
|
|
308
|
+
seriesId: _propTypes.default.string.isRequired
|
|
310
309
|
}), _propTypes.default.shape({
|
|
311
310
|
dataIndex: _propTypes.default.number.isRequired,
|
|
312
|
-
seriesId: _propTypes.default.string.isRequired
|
|
311
|
+
seriesId: _propTypes.default.string.isRequired,
|
|
312
|
+
type: _propTypes.default.oneOf(['pie']).isRequired
|
|
313
313
|
})]),
|
|
314
314
|
/**
|
|
315
315
|
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
package/PieChart/PieChart.mjs
CHANGED
|
@@ -177,11 +177,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
177
177
|
*/
|
|
178
178
|
highlightedItem: PropTypes.oneOfType([PropTypes.shape({
|
|
179
179
|
dataIndex: PropTypes.number,
|
|
180
|
-
seriesId: PropTypes.string.isRequired
|
|
181
|
-
type: PropTypes.oneOf(['pie']).isRequired
|
|
180
|
+
seriesId: PropTypes.string.isRequired
|
|
182
181
|
}), PropTypes.shape({
|
|
183
182
|
dataIndex: PropTypes.number,
|
|
184
|
-
seriesId: PropTypes.string.isRequired
|
|
183
|
+
seriesId: PropTypes.string.isRequired,
|
|
184
|
+
type: PropTypes.oneOf(['pie']).isRequired
|
|
185
185
|
})]),
|
|
186
186
|
/**
|
|
187
187
|
* This prop is used to help implement the accessibility logic.
|
|
@@ -298,11 +298,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
298
298
|
*/
|
|
299
299
|
tooltipItem: PropTypes.oneOfType([PropTypes.shape({
|
|
300
300
|
dataIndex: PropTypes.number.isRequired,
|
|
301
|
-
seriesId: PropTypes.string.isRequired
|
|
302
|
-
type: PropTypes.oneOf(['pie']).isRequired
|
|
301
|
+
seriesId: PropTypes.string.isRequired
|
|
303
302
|
}), PropTypes.shape({
|
|
304
303
|
dataIndex: PropTypes.number.isRequired,
|
|
305
|
-
seriesId: PropTypes.string.isRequired
|
|
304
|
+
seriesId: PropTypes.string.isRequired,
|
|
305
|
+
type: PropTypes.oneOf(['pie']).isRequired
|
|
306
306
|
})]),
|
|
307
307
|
/**
|
|
308
308
|
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
@@ -38,7 +38,7 @@ function useRadarAxis(params) {
|
|
|
38
38
|
return null;
|
|
39
39
|
}
|
|
40
40
|
const existingMetrics = rotationScale.domain();
|
|
41
|
-
if (!existingMetrics.includes(metric)) {
|
|
41
|
+
if (process.env.NODE_ENV !== 'production' && !existingMetrics.includes(metric)) {
|
|
42
42
|
(0, _warning.warnOnce)([`MUI X Charts: Your radar axis tries to display values for the metric "${metric}" which does not exist.`, `Either add this metric to your radar, or pick one from the existing metrics: ${existingMetrics.join(', ')}`]);
|
|
43
43
|
}
|
|
44
44
|
const anglesWithDefault = angle !== undefined ? (0, _degToRad.degToRad)(angle) : rotationScale(metric) ?? 0;
|
|
@@ -32,7 +32,7 @@ export function useRadarAxis(params) {
|
|
|
32
32
|
return null;
|
|
33
33
|
}
|
|
34
34
|
const existingMetrics = rotationScale.domain();
|
|
35
|
-
if (!existingMetrics.includes(metric)) {
|
|
35
|
+
if (process.env.NODE_ENV !== 'production' && !existingMetrics.includes(metric)) {
|
|
36
36
|
warnOnce([`MUI X Charts: Your radar axis tries to display values for the metric "${metric}" which does not exist.`, `Either add this metric to your radar, or pick one from the existing metrics: ${existingMetrics.join(', ')}`]);
|
|
37
37
|
}
|
|
38
38
|
const anglesWithDefault = angle !== undefined ? degToRad(angle) : rotationScale(metric) ?? 0;
|
package/RadarChart/RadarChart.js
CHANGED
|
@@ -151,11 +151,11 @@ process.env.NODE_ENV !== "production" ? RadarChart.propTypes = {
|
|
|
151
151
|
*/
|
|
152
152
|
highlightedItem: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
153
153
|
dataIndex: _propTypes.default.number,
|
|
154
|
-
seriesId: _propTypes.default.string.isRequired
|
|
155
|
-
type: _propTypes.default.oneOf(['radar']).isRequired
|
|
154
|
+
seriesId: _propTypes.default.string.isRequired
|
|
156
155
|
}), _propTypes.default.shape({
|
|
157
156
|
dataIndex: _propTypes.default.number,
|
|
158
|
-
seriesId: _propTypes.default.string.isRequired
|
|
157
|
+
seriesId: _propTypes.default.string.isRequired,
|
|
158
|
+
type: _propTypes.default.oneOf(['radar']).isRequired
|
|
159
159
|
})]),
|
|
160
160
|
/**
|
|
161
161
|
* This prop is used to help implement the accessibility logic.
|
|
@@ -256,11 +256,11 @@ process.env.NODE_ENV !== "production" ? RadarChart.propTypes = {
|
|
|
256
256
|
labelFormatter: _propTypes.default.func,
|
|
257
257
|
labelGap: _propTypes.default.number,
|
|
258
258
|
max: _propTypes.default.number,
|
|
259
|
-
metrics: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.
|
|
259
|
+
metrics: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.shape({
|
|
260
260
|
max: _propTypes.default.number,
|
|
261
261
|
min: _propTypes.default.number,
|
|
262
262
|
name: _propTypes.default.string.isRequired
|
|
263
|
-
}))]).isRequired,
|
|
263
|
+
})), _propTypes.default.arrayOf(_propTypes.default.string)]).isRequired,
|
|
264
264
|
startAngle: _propTypes.default.number
|
|
265
265
|
}).isRequired,
|
|
266
266
|
/**
|
|
@@ -313,11 +313,11 @@ process.env.NODE_ENV !== "production" ? RadarChart.propTypes = {
|
|
|
313
313
|
*/
|
|
314
314
|
tooltipItem: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
315
315
|
dataIndex: _propTypes.default.number,
|
|
316
|
-
seriesId: _propTypes.default.string.isRequired
|
|
317
|
-
type: _propTypes.default.oneOf(['radar']).isRequired
|
|
316
|
+
seriesId: _propTypes.default.string.isRequired
|
|
318
317
|
}), _propTypes.default.shape({
|
|
319
318
|
dataIndex: _propTypes.default.number,
|
|
320
|
-
seriesId: _propTypes.default.string.isRequired
|
|
319
|
+
seriesId: _propTypes.default.string.isRequired,
|
|
320
|
+
type: _propTypes.default.oneOf(['radar']).isRequired
|
|
321
321
|
})]),
|
|
322
322
|
/**
|
|
323
323
|
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
@@ -144,11 +144,11 @@ process.env.NODE_ENV !== "production" ? RadarChart.propTypes = {
|
|
|
144
144
|
*/
|
|
145
145
|
highlightedItem: PropTypes.oneOfType([PropTypes.shape({
|
|
146
146
|
dataIndex: PropTypes.number,
|
|
147
|
-
seriesId: PropTypes.string.isRequired
|
|
148
|
-
type: PropTypes.oneOf(['radar']).isRequired
|
|
147
|
+
seriesId: PropTypes.string.isRequired
|
|
149
148
|
}), PropTypes.shape({
|
|
150
149
|
dataIndex: PropTypes.number,
|
|
151
|
-
seriesId: PropTypes.string.isRequired
|
|
150
|
+
seriesId: PropTypes.string.isRequired,
|
|
151
|
+
type: PropTypes.oneOf(['radar']).isRequired
|
|
152
152
|
})]),
|
|
153
153
|
/**
|
|
154
154
|
* This prop is used to help implement the accessibility logic.
|
|
@@ -249,11 +249,11 @@ process.env.NODE_ENV !== "production" ? RadarChart.propTypes = {
|
|
|
249
249
|
labelFormatter: PropTypes.func,
|
|
250
250
|
labelGap: PropTypes.number,
|
|
251
251
|
max: PropTypes.number,
|
|
252
|
-
metrics: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.
|
|
252
|
+
metrics: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({
|
|
253
253
|
max: PropTypes.number,
|
|
254
254
|
min: PropTypes.number,
|
|
255
255
|
name: PropTypes.string.isRequired
|
|
256
|
-
}))]).isRequired,
|
|
256
|
+
})), PropTypes.arrayOf(PropTypes.string)]).isRequired,
|
|
257
257
|
startAngle: PropTypes.number
|
|
258
258
|
}).isRequired,
|
|
259
259
|
/**
|
|
@@ -306,11 +306,11 @@ process.env.NODE_ENV !== "production" ? RadarChart.propTypes = {
|
|
|
306
306
|
*/
|
|
307
307
|
tooltipItem: PropTypes.oneOfType([PropTypes.shape({
|
|
308
308
|
dataIndex: PropTypes.number,
|
|
309
|
-
seriesId: PropTypes.string.isRequired
|
|
310
|
-
type: PropTypes.oneOf(['radar']).isRequired
|
|
309
|
+
seriesId: PropTypes.string.isRequired
|
|
311
310
|
}), PropTypes.shape({
|
|
312
311
|
dataIndex: PropTypes.number,
|
|
313
|
-
seriesId: PropTypes.string.isRequired
|
|
312
|
+
seriesId: PropTypes.string.isRequired,
|
|
313
|
+
type: PropTypes.oneOf(['radar']).isRequired
|
|
314
314
|
})]),
|
|
315
315
|
/**
|
|
316
316
|
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
@@ -69,7 +69,9 @@ function RadarSeriesArea(props) {
|
|
|
69
69
|
if (hidden) {
|
|
70
70
|
return null;
|
|
71
71
|
}
|
|
72
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("path", (0, _extends2.default)({
|
|
72
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("path", (0, _extends2.default)({
|
|
73
|
+
"data-series": id
|
|
74
|
+
}, getPathProps({
|
|
73
75
|
seriesId: id,
|
|
74
76
|
points,
|
|
75
77
|
color,
|
|
@@ -60,7 +60,9 @@ function RadarSeriesArea(props) {
|
|
|
60
60
|
if (hidden) {
|
|
61
61
|
return null;
|
|
62
62
|
}
|
|
63
|
-
return /*#__PURE__*/_jsx("path", _extends({
|
|
63
|
+
return /*#__PURE__*/_jsx("path", _extends({
|
|
64
|
+
"data-series": id
|
|
65
|
+
}, getPathProps({
|
|
64
66
|
seriesId: id,
|
|
65
67
|
points,
|
|
66
68
|
color,
|
|
@@ -64,6 +64,7 @@ function RadarSeriesMarks(props) {
|
|
|
64
64
|
return null;
|
|
65
65
|
}
|
|
66
66
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
67
|
+
"data-series": id,
|
|
67
68
|
children: points.map((point, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", (0, _extends2.default)({}, getCircleProps({
|
|
68
69
|
seriesId: id,
|
|
69
70
|
point,
|
|
@@ -43,6 +43,7 @@ function RadarSeriesPlot(props) {
|
|
|
43
43
|
return null;
|
|
44
44
|
}
|
|
45
45
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
46
|
+
"data-series": seriesId,
|
|
46
47
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", (0, _extends2.default)({}, (0, _RadarSeriesArea.getPathProps)({
|
|
47
48
|
seriesId,
|
|
48
49
|
points,
|
|
@@ -199,11 +199,11 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
199
199
|
*/
|
|
200
200
|
highlightedItem: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
201
201
|
dataIndex: _propTypes.default.number,
|
|
202
|
-
seriesId: _propTypes.default.string.isRequired
|
|
203
|
-
type: _propTypes.default.oneOf(['scatter']).isRequired
|
|
202
|
+
seriesId: _propTypes.default.string.isRequired
|
|
204
203
|
}), _propTypes.default.shape({
|
|
205
204
|
dataIndex: _propTypes.default.number,
|
|
206
|
-
seriesId: _propTypes.default.string.isRequired
|
|
205
|
+
seriesId: _propTypes.default.string.isRequired,
|
|
206
|
+
type: _propTypes.default.oneOf(['scatter']).isRequired
|
|
207
207
|
})]),
|
|
208
208
|
/**
|
|
209
209
|
* Defines the maximum distance between a scatter point and the pointer that triggers the interaction.
|
|
@@ -360,11 +360,11 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
360
360
|
*/
|
|
361
361
|
tooltipItem: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
362
362
|
dataIndex: _propTypes.default.number.isRequired,
|
|
363
|
-
seriesId: _propTypes.default.string.isRequired
|
|
364
|
-
type: _propTypes.default.oneOf(['scatter']).isRequired
|
|
363
|
+
seriesId: _propTypes.default.string.isRequired
|
|
365
364
|
}), _propTypes.default.shape({
|
|
366
365
|
dataIndex: _propTypes.default.number.isRequired,
|
|
367
|
-
seriesId: _propTypes.default.string.isRequired
|
|
366
|
+
seriesId: _propTypes.default.string.isRequired,
|
|
367
|
+
type: _propTypes.default.oneOf(['scatter']).isRequired
|
|
368
368
|
})]),
|
|
369
369
|
/**
|
|
370
370
|
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
@@ -387,11 +387,6 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
387
387
|
*/
|
|
388
388
|
zAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
389
389
|
colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
390
|
-
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
391
|
-
type: _propTypes.default.oneOf(['ordinal']).isRequired,
|
|
392
|
-
unknownColor: _propTypes.default.string,
|
|
393
|
-
values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
|
|
394
|
-
}), _propTypes.default.shape({
|
|
395
390
|
color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
|
|
396
391
|
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
397
392
|
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
@@ -400,6 +395,11 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
400
395
|
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
401
396
|
thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
|
|
402
397
|
type: _propTypes.default.oneOf(['piecewise']).isRequired
|
|
398
|
+
}), _propTypes.default.shape({
|
|
399
|
+
colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
400
|
+
type: _propTypes.default.oneOf(['ordinal']).isRequired,
|
|
401
|
+
unknownColor: _propTypes.default.string,
|
|
402
|
+
values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
|
|
403
403
|
})]),
|
|
404
404
|
data: _propTypes.default.array,
|
|
405
405
|
dataKey: _propTypes.default.string,
|
|
@@ -192,11 +192,11 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
192
192
|
*/
|
|
193
193
|
highlightedItem: PropTypes.oneOfType([PropTypes.shape({
|
|
194
194
|
dataIndex: PropTypes.number,
|
|
195
|
-
seriesId: PropTypes.string.isRequired
|
|
196
|
-
type: PropTypes.oneOf(['scatter']).isRequired
|
|
195
|
+
seriesId: PropTypes.string.isRequired
|
|
197
196
|
}), PropTypes.shape({
|
|
198
197
|
dataIndex: PropTypes.number,
|
|
199
|
-
seriesId: PropTypes.string.isRequired
|
|
198
|
+
seriesId: PropTypes.string.isRequired,
|
|
199
|
+
type: PropTypes.oneOf(['scatter']).isRequired
|
|
200
200
|
})]),
|
|
201
201
|
/**
|
|
202
202
|
* Defines the maximum distance between a scatter point and the pointer that triggers the interaction.
|
|
@@ -353,11 +353,11 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
353
353
|
*/
|
|
354
354
|
tooltipItem: PropTypes.oneOfType([PropTypes.shape({
|
|
355
355
|
dataIndex: PropTypes.number.isRequired,
|
|
356
|
-
seriesId: PropTypes.string.isRequired
|
|
357
|
-
type: PropTypes.oneOf(['scatter']).isRequired
|
|
356
|
+
seriesId: PropTypes.string.isRequired
|
|
358
357
|
}), PropTypes.shape({
|
|
359
358
|
dataIndex: PropTypes.number.isRequired,
|
|
360
|
-
seriesId: PropTypes.string.isRequired
|
|
359
|
+
seriesId: PropTypes.string.isRequired,
|
|
360
|
+
type: PropTypes.oneOf(['scatter']).isRequired
|
|
361
361
|
})]),
|
|
362
362
|
/**
|
|
363
363
|
* The width of the chart in px. If not defined, it takes the width of the parent element.
|
|
@@ -380,11 +380,6 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
380
380
|
*/
|
|
381
381
|
zAxis: PropTypes.arrayOf(PropTypes.shape({
|
|
382
382
|
colorMap: PropTypes.oneOfType([PropTypes.shape({
|
|
383
|
-
colors: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
384
|
-
type: PropTypes.oneOf(['ordinal']).isRequired,
|
|
385
|
-
unknownColor: PropTypes.string,
|
|
386
|
-
values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
|
|
387
|
-
}), PropTypes.shape({
|
|
388
383
|
color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
|
|
389
384
|
max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
390
385
|
min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
|
|
@@ -393,6 +388,11 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
|
|
|
393
388
|
colors: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
394
389
|
thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
|
|
395
390
|
type: PropTypes.oneOf(['piecewise']).isRequired
|
|
391
|
+
}), PropTypes.shape({
|
|
392
|
+
colors: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
393
|
+
type: PropTypes.oneOf(['ordinal']).isRequired,
|
|
394
|
+
unknownColor: PropTypes.string,
|
|
395
|
+
values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
|
|
396
396
|
})]),
|
|
397
397
|
data: PropTypes.array,
|
|
398
398
|
dataKey: PropTypes.string,
|
|
@@ -4,28 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
8
|
-
const tooltipGetter = params =>
|
|
9
|
-
const {
|
|
10
|
-
series,
|
|
11
|
-
getColor,
|
|
12
|
-
identifier
|
|
13
|
-
} = params;
|
|
14
|
-
if (!identifier || identifier.dataIndex === undefined) {
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
const label = (0, _getLabel.getLabel)(series.label, 'tooltip');
|
|
18
|
-
const value = series.data[identifier.dataIndex];
|
|
19
|
-
const formattedValue = series.valueFormatter(value, {
|
|
20
|
-
dataIndex: identifier.dataIndex
|
|
21
|
-
});
|
|
22
|
-
return {
|
|
23
|
-
identifier,
|
|
24
|
-
color: getColor(identifier.dataIndex),
|
|
25
|
-
label,
|
|
26
|
-
value,
|
|
27
|
-
formattedValue,
|
|
28
|
-
markType: series.labelMarkType
|
|
29
|
-
};
|
|
30
|
-
};
|
|
7
|
+
var _getLineLikeTooltip = require("../../internals/getLineLikeTooltip");
|
|
8
|
+
const tooltipGetter = params => (0, _getLineLikeTooltip.getLineLikeTooltip)(params);
|
|
31
9
|
var _default = exports.default = tooltipGetter;
|
|
@@ -1,25 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const tooltipGetter = params =>
|
|
3
|
-
const {
|
|
4
|
-
series,
|
|
5
|
-
getColor,
|
|
6
|
-
identifier
|
|
7
|
-
} = params;
|
|
8
|
-
if (!identifier || identifier.dataIndex === undefined) {
|
|
9
|
-
return null;
|
|
10
|
-
}
|
|
11
|
-
const label = getLabel(series.label, 'tooltip');
|
|
12
|
-
const value = series.data[identifier.dataIndex];
|
|
13
|
-
const formattedValue = series.valueFormatter(value, {
|
|
14
|
-
dataIndex: identifier.dataIndex
|
|
15
|
-
});
|
|
16
|
-
return {
|
|
17
|
-
identifier,
|
|
18
|
-
color: getColor(identifier.dataIndex),
|
|
19
|
-
label,
|
|
20
|
-
value,
|
|
21
|
-
formattedValue,
|
|
22
|
-
markType: series.labelMarkType
|
|
23
|
-
};
|
|
24
|
-
};
|
|
1
|
+
import { getLineLikeTooltip } from "../../internals/getLineLikeTooltip.mjs";
|
|
2
|
+
const tooltipGetter = params => getLineLikeTooltip(params);
|
|
25
3
|
export default tooltipGetter;
|