@mui/x-charts-premium 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.
Files changed (54) hide show
  1. package/BarChartPremium/BarChartPremium.js +30 -30
  2. package/BarChartPremium/BarChartPremium.mjs +30 -30
  3. package/CHANGELOG.md +118 -0
  4. package/CandlestickChart/CandlestickChart.js +25 -25
  5. package/CandlestickChart/CandlestickChart.mjs +25 -25
  6. package/ChartsDataProviderPremium/ChartsDataProviderPremium.js +2 -2
  7. package/ChartsDataProviderPremium/ChartsDataProviderPremium.mjs +2 -2
  8. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.js +2 -2
  9. package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.mjs +2 -2
  10. package/HeatmapPremium/HeatmapPremium.js +20 -20
  11. package/HeatmapPremium/HeatmapPremium.mjs +20 -20
  12. package/RadialBarChart/RadialBarChart.js +10 -10
  13. package/RadialBarChart/RadialBarChart.mjs +10 -10
  14. package/RadialBarChart/seriesConfig/getColor.js +7 -51
  15. package/RadialBarChart/seriesConfig/getColor.mjs +8 -52
  16. package/RadialBarChart/seriesConfig/tooltip.js +3 -26
  17. package/RadialBarChart/seriesConfig/tooltip.mjs +4 -27
  18. package/RadialLineChart/RadialArea.d.mts +2 -11
  19. package/RadialLineChart/RadialArea.d.ts +2 -11
  20. package/RadialLineChart/RadialArea.js +4 -3
  21. package/RadialLineChart/RadialArea.mjs +4 -3
  22. package/RadialLineChart/RadialAreaPlot.js +3 -1
  23. package/RadialLineChart/RadialAreaPlot.mjs +3 -1
  24. package/RadialLineChart/RadialLine.d.mts +4 -3
  25. package/RadialLineChart/RadialLine.d.ts +4 -3
  26. package/RadialLineChart/RadialLine.js +4 -3
  27. package/RadialLineChart/RadialLine.mjs +4 -3
  28. package/RadialLineChart/RadialLineChart.d.mts +7 -5
  29. package/RadialLineChart/RadialLineChart.d.ts +7 -5
  30. package/RadialLineChart/RadialLineChart.js +11 -11
  31. package/RadialLineChart/RadialLineChart.mjs +11 -11
  32. package/RadialLineChart/RadialLinePlot.js +3 -1
  33. package/RadialLineChart/RadialLinePlot.mjs +3 -1
  34. package/RadialLineChart/seriesConfig/getColor.js +6 -53
  35. package/RadialLineChart/seriesConfig/getColor.mjs +7 -54
  36. package/RadialLineChart/seriesConfig/seriesProcessor.d.mts +2 -2
  37. package/RadialLineChart/seriesConfig/seriesProcessor.d.ts +2 -2
  38. package/RadialLineChart/seriesConfig/seriesProcessor.js +1 -138
  39. package/RadialLineChart/seriesConfig/seriesProcessor.mjs +2 -138
  40. package/RadialLineChart/seriesConfig/tooltip.js +3 -24
  41. package/RadialLineChart/seriesConfig/tooltip.mjs +4 -25
  42. package/RadialLineChart/useRadialLinePlotData.d.mts +1 -0
  43. package/RadialLineChart/useRadialLinePlotData.d.ts +1 -0
  44. package/RadialLineChart/useRadialLinePlotData.js +3 -1
  45. package/RadialLineChart/useRadialLinePlotData.mjs +3 -1
  46. package/ScatterChartPremium/ScatterChartPremium.js +30 -30
  47. package/ScatterChartPremium/ScatterChartPremium.mjs +30 -30
  48. package/index.js +1 -1
  49. package/index.mjs +1 -1
  50. package/models/seriesType/radialBar.d.mts +1 -1
  51. package/models/seriesType/radialBar.d.ts +1 -1
  52. package/models/seriesType/radialLine.d.mts +4 -0
  53. package/models/seriesType/radialLine.d.ts +4 -0
  54. package/package.json +5 -5
@@ -1,139 +1,3 @@
1
- import _formatErrorMessage from "@mui/x-internals/formatErrorMessage";
2
- import _extends from "@babel/runtime/helpers/esm/extends";
3
- import { stack as d3Stack } from '@mui/x-charts-vendor/d3-shape';
4
- import { warnOnce } from '@mui/x-internals/warning';
5
- import { getStackingGroups } from '@mui/x-charts/internals';
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: Radial 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(258, 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: Radial 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 radial lines, but the dataset contains the non-null non-numerical element "${value}" at index ${index}.
64
- Radial 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: 'radialLine',
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: 'radialLine',
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 '@mui/x-charts/internals';
2
+ const seriesProcessor = (params, dataset, isItemVisible) => processLineLikeSeries(params, dataset, isItemVisible, 'radialLine');
139
3
  export default seriesProcessor;
@@ -5,28 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _internals = require("@mui/x-charts/internals");
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, _internals.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
- };
8
+ const tooltipGetter = params => (0, _internals.getLineLikeTooltip)(params, {
9
+ includeMarkShape: true
10
+ });
32
11
  var _default = exports.default = tooltipGetter;
@@ -1,26 +1,5 @@
1
- import { getLabel } from '@mui/x-charts/internals';
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
- markShape: series.showMark ? series.shape : undefined
24
- };
25
- };
1
+ import { getLineLikeTooltip } from '@mui/x-charts/internals';
2
+ const tooltipGetter = params => getLineLikeTooltip(params, {
3
+ includeMarkShape: true
4
+ });
26
5
  export default tooltipGetter;
@@ -16,6 +16,7 @@ interface RadialLinePlotDataPoint {
16
16
  shape: MarkShape;
17
17
  area?: boolean;
18
18
  curve?: CurveType;
19
+ closePath?: boolean;
19
20
  }
20
21
  export declare function useRadialLinePlotData(): RadialLinePlotDataPoint[];
21
22
  export {};
@@ -16,6 +16,7 @@ interface RadialLinePlotDataPoint {
16
16
  shape: MarkShape;
17
17
  area?: boolean;
18
18
  curve?: CurveType;
19
+ closePath?: boolean;
19
20
  }
20
21
  export declare function useRadialLinePlotData(): RadialLinePlotDataPoint[];
21
22
  export {};
@@ -38,6 +38,7 @@ function useRadialLinePlotData() {
38
38
  data,
39
39
  hidden,
40
40
  area = false,
41
+ closePath,
41
42
  curve,
42
43
  shape,
43
44
  rotationAxisId = rotationAxisIds[0],
@@ -74,7 +75,8 @@ function useRadialLinePlotData() {
74
75
  showMark: Boolean(series[seriesId].showMark),
75
76
  shape: shape ?? 'circle',
76
77
  area,
77
- curve
78
+ curve,
79
+ closePath
78
80
  });
79
81
  }
80
82
  }
@@ -31,6 +31,7 @@ export function useRadialLinePlotData() {
31
31
  data,
32
32
  hidden,
33
33
  area = false,
34
+ closePath,
34
35
  curve,
35
36
  shape,
36
37
  rotationAxisId = rotationAxisIds[0],
@@ -67,7 +68,8 @@ export function useRadialLinePlotData() {
67
68
  showMark: Boolean(series[seriesId].showMark),
68
69
  shape: shape ?? 'circle',
69
70
  area,
70
- curve
71
+ curve,
72
+ closePath
71
73
  });
72
74
  }
73
75
  }
@@ -225,11 +225,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
225
225
  hiddenItems: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
226
226
  dataIndex: _propTypes.default.number,
227
227
  seriesId: _propTypes.default.string.isRequired,
228
- type: _propTypes.default.oneOf(['scatter'])
228
+ type: _propTypes.default.oneOf(['scatter']).isRequired
229
229
  }), _propTypes.default.shape({
230
230
  dataIndex: _propTypes.default.number,
231
231
  seriesId: _propTypes.default.string.isRequired,
232
- type: _propTypes.default.oneOf(['scatter']).isRequired
232
+ type: _propTypes.default.oneOf(['scatter'])
233
233
  })]).isRequired),
234
234
  /**
235
235
  * If `true`, the legend is not rendered.
@@ -241,11 +241,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
241
241
  */
242
242
  highlightedItem: _propTypes.default.oneOfType([_propTypes.default.shape({
243
243
  dataIndex: _propTypes.default.number,
244
- seriesId: _propTypes.default.string.isRequired,
245
- type: _propTypes.default.oneOf(['scatter']).isRequired
244
+ seriesId: _propTypes.default.string.isRequired
246
245
  }), _propTypes.default.shape({
247
246
  dataIndex: _propTypes.default.number,
248
- seriesId: _propTypes.default.string.isRequired
247
+ seriesId: _propTypes.default.string.isRequired,
248
+ type: _propTypes.default.oneOf(['scatter']).isRequired
249
249
  })]),
250
250
  /**
251
251
  * Defines the maximum distance between a scatter point and the pointer that triggers the interaction.
@@ -282,11 +282,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
282
282
  initialHiddenItems: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
283
283
  dataIndex: _propTypes.default.number,
284
284
  seriesId: _propTypes.default.string.isRequired,
285
- type: _propTypes.default.oneOf(['scatter'])
285
+ type: _propTypes.default.oneOf(['scatter']).isRequired
286
286
  }), _propTypes.default.shape({
287
287
  dataIndex: _propTypes.default.number,
288
288
  seriesId: _propTypes.default.string.isRequired,
289
- type: _propTypes.default.oneOf(['scatter']).isRequired
289
+ type: _propTypes.default.oneOf(['scatter'])
290
290
  })]).isRequired),
291
291
  /**
292
292
  * The list of zoom data related to each axis.
@@ -408,11 +408,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
408
408
  */
409
409
  tooltipItem: _propTypes.default.oneOfType([_propTypes.default.shape({
410
410
  dataIndex: _propTypes.default.number.isRequired,
411
- seriesId: _propTypes.default.string.isRequired,
412
- type: _propTypes.default.oneOf(['scatter']).isRequired
411
+ seriesId: _propTypes.default.string.isRequired
413
412
  }), _propTypes.default.shape({
414
413
  dataIndex: _propTypes.default.number.isRequired,
415
- seriesId: _propTypes.default.string.isRequired
414
+ seriesId: _propTypes.default.string.isRequired,
415
+ type: _propTypes.default.oneOf(['scatter']).isRequired
416
416
  })]),
417
417
  /**
418
418
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -435,11 +435,6 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
435
435
  */
436
436
  zAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
437
437
  colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
438
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
439
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
440
- unknownColor: _propTypes.default.string,
441
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
442
- }), _propTypes.default.shape({
443
438
  color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
444
439
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
445
440
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -448,6 +443,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
448
443
  colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
449
444
  thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
450
445
  type: _propTypes.default.oneOf(['piecewise']).isRequired
446
+ }), _propTypes.default.shape({
447
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
448
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
449
+ unknownColor: _propTypes.default.string,
450
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
451
451
  })]),
452
452
  data: _propTypes.default.array,
453
453
  dataKey: _propTypes.default.string,
@@ -469,6 +469,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
469
469
  */
470
470
  zoomInteractionConfig: _propTypes.default.shape({
471
471
  pan: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf(['drag', 'pressAndDrag', 'wheel']), _propTypes.default.shape({
472
+ allowedDirection: _propTypes.default.oneOf(['x', 'xy', 'y']),
473
+ pointerMode: _propTypes.default.any,
474
+ requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
475
+ type: _propTypes.default.oneOf(['wheel']).isRequired
476
+ }), _propTypes.default.shape({
472
477
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
473
478
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
474
479
  type: _propTypes.default.oneOf(['drag']).isRequired
@@ -476,24 +481,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
476
481
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
477
482
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
478
483
  type: _propTypes.default.oneOf(['pressAndDrag']).isRequired
479
- }), _propTypes.default.shape({
480
- allowedDirection: _propTypes.default.oneOf(['x', 'xy', 'y']),
481
- pointerMode: _propTypes.default.any,
482
- requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
483
- type: _propTypes.default.oneOf(['wheel']).isRequired
484
484
  })]).isRequired),
485
485
  zoom: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf(['brush', 'doubleTapReset', 'pinch', 'tapAndDrag', 'wheel']), _propTypes.default.shape({
486
- pointerMode: _propTypes.default.any,
487
- requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
488
- type: _propTypes.default.oneOf(['wheel']).isRequired
489
- }), _propTypes.default.shape({
490
- pointerMode: _propTypes.default.any,
491
- requiredKeys: _propTypes.default.array,
492
- type: _propTypes.default.oneOf(['pinch']).isRequired
493
- }), _propTypes.default.shape({
494
486
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
495
487
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
496
- type: _propTypes.default.oneOf(['tapAndDrag']).isRequired
488
+ type: _propTypes.default.oneOf(['brush']).isRequired
497
489
  }), _propTypes.default.shape({
498
490
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
499
491
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
@@ -501,7 +493,15 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
501
493
  }), _propTypes.default.shape({
502
494
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
503
495
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
504
- type: _propTypes.default.oneOf(['brush']).isRequired
496
+ type: _propTypes.default.oneOf(['tapAndDrag']).isRequired
497
+ }), _propTypes.default.shape({
498
+ pointerMode: _propTypes.default.any,
499
+ requiredKeys: _propTypes.default.array,
500
+ type: _propTypes.default.oneOf(['pinch']).isRequired
501
+ }), _propTypes.default.shape({
502
+ pointerMode: _propTypes.default.any,
503
+ requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
504
+ type: _propTypes.default.oneOf(['wheel']).isRequired
505
505
  })]).isRequired)
506
506
  })
507
507
  } : void 0;
@@ -218,11 +218,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
218
218
  hiddenItems: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
219
219
  dataIndex: PropTypes.number,
220
220
  seriesId: PropTypes.string.isRequired,
221
- type: PropTypes.oneOf(['scatter'])
221
+ type: PropTypes.oneOf(['scatter']).isRequired
222
222
  }), PropTypes.shape({
223
223
  dataIndex: PropTypes.number,
224
224
  seriesId: PropTypes.string.isRequired,
225
- type: PropTypes.oneOf(['scatter']).isRequired
225
+ type: PropTypes.oneOf(['scatter'])
226
226
  })]).isRequired),
227
227
  /**
228
228
  * If `true`, the legend is not rendered.
@@ -234,11 +234,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
234
234
  */
235
235
  highlightedItem: PropTypes.oneOfType([PropTypes.shape({
236
236
  dataIndex: PropTypes.number,
237
- seriesId: PropTypes.string.isRequired,
238
- type: PropTypes.oneOf(['scatter']).isRequired
237
+ seriesId: PropTypes.string.isRequired
239
238
  }), PropTypes.shape({
240
239
  dataIndex: PropTypes.number,
241
- seriesId: PropTypes.string.isRequired
240
+ seriesId: PropTypes.string.isRequired,
241
+ type: PropTypes.oneOf(['scatter']).isRequired
242
242
  })]),
243
243
  /**
244
244
  * Defines the maximum distance between a scatter point and the pointer that triggers the interaction.
@@ -275,11 +275,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
275
275
  initialHiddenItems: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
276
276
  dataIndex: PropTypes.number,
277
277
  seriesId: PropTypes.string.isRequired,
278
- type: PropTypes.oneOf(['scatter'])
278
+ type: PropTypes.oneOf(['scatter']).isRequired
279
279
  }), PropTypes.shape({
280
280
  dataIndex: PropTypes.number,
281
281
  seriesId: PropTypes.string.isRequired,
282
- type: PropTypes.oneOf(['scatter']).isRequired
282
+ type: PropTypes.oneOf(['scatter'])
283
283
  })]).isRequired),
284
284
  /**
285
285
  * The list of zoom data related to each axis.
@@ -401,11 +401,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
401
401
  */
402
402
  tooltipItem: PropTypes.oneOfType([PropTypes.shape({
403
403
  dataIndex: PropTypes.number.isRequired,
404
- seriesId: PropTypes.string.isRequired,
405
- type: PropTypes.oneOf(['scatter']).isRequired
404
+ seriesId: PropTypes.string.isRequired
406
405
  }), PropTypes.shape({
407
406
  dataIndex: PropTypes.number.isRequired,
408
- seriesId: PropTypes.string.isRequired
407
+ seriesId: PropTypes.string.isRequired,
408
+ type: PropTypes.oneOf(['scatter']).isRequired
409
409
  })]),
410
410
  /**
411
411
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -428,11 +428,6 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
428
428
  */
429
429
  zAxis: PropTypes.arrayOf(PropTypes.shape({
430
430
  colorMap: PropTypes.oneOfType([PropTypes.shape({
431
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
432
- type: PropTypes.oneOf(['ordinal']).isRequired,
433
- unknownColor: PropTypes.string,
434
- values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
435
- }), PropTypes.shape({
436
431
  color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
437
432
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
438
433
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -441,6 +436,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
441
436
  colors: PropTypes.arrayOf(PropTypes.string).isRequired,
442
437
  thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
443
438
  type: PropTypes.oneOf(['piecewise']).isRequired
439
+ }), PropTypes.shape({
440
+ colors: PropTypes.arrayOf(PropTypes.string).isRequired,
441
+ type: PropTypes.oneOf(['ordinal']).isRequired,
442
+ unknownColor: PropTypes.string,
443
+ values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
444
444
  })]),
445
445
  data: PropTypes.array,
446
446
  dataKey: PropTypes.string,
@@ -462,6 +462,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
462
462
  */
463
463
  zoomInteractionConfig: PropTypes.shape({
464
464
  pan: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf(['drag', 'pressAndDrag', 'wheel']), PropTypes.shape({
465
+ allowedDirection: PropTypes.oneOf(['x', 'xy', 'y']),
466
+ pointerMode: PropTypes.any,
467
+ requiredKeys: PropTypes.arrayOf(PropTypes.string),
468
+ type: PropTypes.oneOf(['wheel']).isRequired
469
+ }), PropTypes.shape({
465
470
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
466
471
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
467
472
  type: PropTypes.oneOf(['drag']).isRequired
@@ -469,24 +474,11 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
469
474
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
470
475
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
471
476
  type: PropTypes.oneOf(['pressAndDrag']).isRequired
472
- }), PropTypes.shape({
473
- allowedDirection: PropTypes.oneOf(['x', 'xy', 'y']),
474
- pointerMode: PropTypes.any,
475
- requiredKeys: PropTypes.arrayOf(PropTypes.string),
476
- type: PropTypes.oneOf(['wheel']).isRequired
477
477
  })]).isRequired),
478
478
  zoom: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf(['brush', 'doubleTapReset', 'pinch', 'tapAndDrag', 'wheel']), PropTypes.shape({
479
- pointerMode: PropTypes.any,
480
- requiredKeys: PropTypes.arrayOf(PropTypes.string),
481
- type: PropTypes.oneOf(['wheel']).isRequired
482
- }), PropTypes.shape({
483
- pointerMode: PropTypes.any,
484
- requiredKeys: PropTypes.array,
485
- type: PropTypes.oneOf(['pinch']).isRequired
486
- }), PropTypes.shape({
487
479
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
488
480
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
489
- type: PropTypes.oneOf(['tapAndDrag']).isRequired
481
+ type: PropTypes.oneOf(['brush']).isRequired
490
482
  }), PropTypes.shape({
491
483
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
492
484
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
@@ -494,7 +486,15 @@ process.env.NODE_ENV !== "production" ? ScatterChartPremium.propTypes = {
494
486
  }), PropTypes.shape({
495
487
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
496
488
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
497
- type: PropTypes.oneOf(['brush']).isRequired
489
+ type: PropTypes.oneOf(['tapAndDrag']).isRequired
490
+ }), PropTypes.shape({
491
+ pointerMode: PropTypes.any,
492
+ requiredKeys: PropTypes.array,
493
+ type: PropTypes.oneOf(['pinch']).isRequired
494
+ }), PropTypes.shape({
495
+ pointerMode: PropTypes.any,
496
+ requiredKeys: PropTypes.arrayOf(PropTypes.string),
497
+ type: PropTypes.oneOf(['wheel']).isRequired
498
498
  })]).isRequired)
499
499
  })
500
500
  } : void 0;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts-premium v9.2.0
2
+ * @mui/x-charts-premium v9.3.0
3
3
  *
4
4
  * @license SEE LICENSE IN LICENSE
5
5
  * This source code is licensed under the SEE LICENSE IN LICENSE license found in the
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts-premium v9.2.0
2
+ * @mui/x-charts-premium v9.3.0
3
3
  *
4
4
  * @license SEE LICENSE IN LICENSE
5
5
  * This source code is licensed under the SEE LICENSE IN LICENSE license found in the
@@ -1,7 +1,7 @@
1
1
  import type { CommonSeriesType, CommonBarSeriesType, RadialSeriesType, StackableSeriesType, SeriesId, CommonDefaultizedProps } from '@mui/x-charts/internals';
2
2
  import type { StackOffsetType } from '@mui/x-charts/models';
3
3
  import type { DefaultizedProps } from '@mui/x-internals/types';
4
- export interface RadialBarSeriesType extends CommonSeriesType<number | null, 'bar'>, RadialSeriesType, StackableSeriesType, CommonBarSeriesType {
4
+ export interface RadialBarSeriesType extends CommonSeriesType<number | null, 'radialBar'>, RadialSeriesType, StackableSeriesType, CommonBarSeriesType {
5
5
  type: 'radialBar';
6
6
  /**
7
7
  * Defines how stacked series handle negative values.
@@ -1,7 +1,7 @@
1
1
  import type { CommonSeriesType, CommonBarSeriesType, RadialSeriesType, StackableSeriesType, SeriesId, CommonDefaultizedProps } from '@mui/x-charts/internals';
2
2
  import type { StackOffsetType } from '@mui/x-charts/models';
3
3
  import type { DefaultizedProps } from '@mui/x-internals/types';
4
- export interface RadialBarSeriesType extends CommonSeriesType<number | null, 'bar'>, RadialSeriesType, StackableSeriesType, CommonBarSeriesType {
4
+ export interface RadialBarSeriesType extends CommonSeriesType<number | null, 'radialBar'>, RadialSeriesType, StackableSeriesType, CommonBarSeriesType {
5
5
  type: 'radialBar';
6
6
  /**
7
7
  * Defines how stacked series handle negative values.
@@ -14,6 +14,10 @@ export interface RadialLineSeriesType extends CommonSeriesType<number | null, 'l
14
14
  * @default 'linear'
15
15
  */
16
16
  curve?: CurveType;
17
+ /**
18
+ * If `true`, the line will be closed by connecting the last point to the first one.
19
+ */
20
+ closePath?: boolean;
17
21
  }
18
22
  /**
19
23
  * An object that allows to identify a single line.
@@ -14,6 +14,10 @@ export interface RadialLineSeriesType extends CommonSeriesType<number | null, 'l
14
14
  * @default 'linear'
15
15
  */
16
16
  curve?: CurveType;
17
+ /**
18
+ * If `true`, the line will be closed by connecting the last point to the first one.
19
+ */
20
+ closePath?: boolean;
17
21
  }
18
22
  /**
19
23
  * An object that allows to identify a single line.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-charts-premium",
3
- "version": "9.2.0",
3
+ "version": "9.3.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The Premium plan edition of the MUI X Charts components.",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -31,11 +31,11 @@
31
31
  "@mui/utils": "9.0.1",
32
32
  "clsx": "^2.1.1",
33
33
  "prop-types": "^15.8.1",
34
- "@mui/x-charts": "^9.2.0",
35
- "@mui/x-charts-pro": "^9.2.0",
36
34
  "@mui/x-charts-vendor": "^9.0.0",
37
- "@mui/x-license": "^9.2.0",
38
- "@mui/x-internals": "^9.1.0"
35
+ "@mui/x-charts": "^9.3.0",
36
+ "@mui/x-charts-pro": "^9.3.0",
37
+ "@mui/x-internals": "^9.1.0",
38
+ "@mui/x-license": "^9.2.0"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@emotion/react": "^11.9.0",