@mui/x-charts 6.19.3 → 6.19.5

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 (128) hide show
  1. package/BarChart/BarChart.js +11 -9
  2. package/BarChart/BarElement.d.ts +6 -3
  3. package/BarChart/BarElement.js +1 -0
  4. package/BarChart/BarPlot.js +9 -10
  5. package/CHANGELOG.md +117 -0
  6. package/ChartsAxis/ChartsAxis.js +4 -4
  7. package/ChartsLegend/ChartsLegend.js +0 -101
  8. package/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
  9. package/ChartsReferenceLine/common.d.ts +2 -1
  10. package/ChartsTooltip/ChartsAxisTooltipContent.js +4 -4
  11. package/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
  12. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  13. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +2 -2
  14. package/ChartsXAxis/ChartsXAxis.js +13 -9
  15. package/ChartsYAxis/ChartsYAxis.js +1 -1
  16. package/LineChart/AreaElement.d.ts +7 -4
  17. package/LineChart/AreaElement.js +1 -0
  18. package/LineChart/LineChart.js +11 -9
  19. package/LineChart/LineElement.d.ts +7 -4
  20. package/LineChart/LineElement.js +1 -0
  21. package/LineChart/LineHighlightElement.d.ts +3 -2
  22. package/LineChart/LineHighlightElement.js +2 -1
  23. package/LineChart/MarkElement.d.ts +3 -2
  24. package/LineChart/MarkElement.js +1 -0
  25. package/PieChart/PieArc.d.ts +3 -2
  26. package/PieChart/PieArc.js +1 -0
  27. package/PieChart/PieArcLabel.d.ts +3 -2
  28. package/PieChart/PieArcLabel.js +1 -0
  29. package/PieChart/PieArcLabelPlot.js +1 -1
  30. package/PieChart/PieArcPlot.js +1 -1
  31. package/PieChart/PieChart.js +11 -9
  32. package/ScatterChart/Scatter.js +1 -1
  33. package/ScatterChart/ScatterChart.js +11 -9
  34. package/SparkLineChart/SparkLineChart.d.ts +7 -1
  35. package/SparkLineChart/SparkLineChart.js +14 -5
  36. package/context/CartesianContextProvider.js +8 -6
  37. package/context/InteractionProvider.d.ts +2 -2
  38. package/esm/BarChart/BarChart.js +11 -9
  39. package/esm/BarChart/BarElement.js +1 -0
  40. package/esm/BarChart/BarPlot.js +8 -10
  41. package/esm/ChartsAxis/ChartsAxis.js +4 -4
  42. package/esm/ChartsLegend/ChartsLegend.js +0 -101
  43. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
  44. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +4 -4
  45. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
  46. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  47. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +2 -2
  48. package/esm/ChartsXAxis/ChartsXAxis.js +13 -9
  49. package/esm/ChartsYAxis/ChartsYAxis.js +1 -1
  50. package/esm/LineChart/AreaElement.js +1 -0
  51. package/esm/LineChart/LineChart.js +11 -9
  52. package/esm/LineChart/LineElement.js +1 -0
  53. package/esm/LineChart/LineHighlightElement.js +2 -1
  54. package/esm/LineChart/MarkElement.js +1 -0
  55. package/esm/PieChart/PieArc.js +1 -0
  56. package/esm/PieChart/PieArcLabel.js +1 -0
  57. package/esm/PieChart/PieArcLabelPlot.js +1 -1
  58. package/esm/PieChart/PieArcPlot.js +1 -1
  59. package/esm/PieChart/PieChart.js +11 -9
  60. package/esm/ScatterChart/Scatter.js +1 -1
  61. package/esm/ScatterChart/ScatterChart.js +11 -9
  62. package/esm/SparkLineChart/SparkLineChart.js +14 -5
  63. package/esm/context/CartesianContextProvider.js +8 -6
  64. package/index.js +1 -1
  65. package/internals/defaultizeColor.d.ts +15 -15
  66. package/internals/defaultizeValueFormatter.d.ts +4 -7
  67. package/internals/stackSeries.d.ts +4 -7
  68. package/legacy/BarChart/BarChart.js +11 -9
  69. package/legacy/BarChart/BarElement.js +1 -0
  70. package/legacy/BarChart/BarPlot.js +10 -10
  71. package/legacy/ChartsAxis/ChartsAxis.js +4 -4
  72. package/legacy/ChartsLegend/ChartsLegend.js +0 -101
  73. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
  74. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +4 -4
  75. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
  76. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  77. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +2 -2
  78. package/legacy/ChartsXAxis/ChartsXAxis.js +12 -8
  79. package/legacy/ChartsYAxis/ChartsYAxis.js +1 -1
  80. package/legacy/LineChart/AreaElement.js +1 -0
  81. package/legacy/LineChart/LineChart.js +11 -9
  82. package/legacy/LineChart/LineElement.js +1 -0
  83. package/legacy/LineChart/LineHighlightElement.js +2 -1
  84. package/legacy/LineChart/MarkElement.js +1 -0
  85. package/legacy/PieChart/PieArc.js +1 -0
  86. package/legacy/PieChart/PieArcLabel.js +1 -0
  87. package/legacy/PieChart/PieArcLabelPlot.js +1 -1
  88. package/legacy/PieChart/PieArcPlot.js +1 -1
  89. package/legacy/PieChart/PieChart.js +11 -9
  90. package/legacy/ScatterChart/Scatter.js +1 -1
  91. package/legacy/ScatterChart/ScatterChart.js +11 -9
  92. package/legacy/SparkLineChart/SparkLineChart.js +16 -6
  93. package/legacy/context/CartesianContextProvider.js +8 -6
  94. package/legacy/index.js +1 -1
  95. package/models/axis.d.ts +7 -2
  96. package/models/seriesType/common.d.ts +2 -1
  97. package/models/seriesType/config.d.ts +7 -12
  98. package/models/seriesType/line.d.ts +2 -2
  99. package/models/seriesType/pie.d.ts +7 -3
  100. package/models/seriesType/scatter.d.ts +5 -2
  101. package/modern/BarChart/BarChart.js +11 -9
  102. package/modern/BarChart/BarElement.js +1 -0
  103. package/modern/BarChart/BarPlot.js +8 -10
  104. package/modern/ChartsAxis/ChartsAxis.js +4 -4
  105. package/modern/ChartsLegend/ChartsLegend.js +0 -101
  106. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
  107. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +4 -4
  108. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
  109. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  110. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +2 -2
  111. package/modern/ChartsXAxis/ChartsXAxis.js +13 -9
  112. package/modern/ChartsYAxis/ChartsYAxis.js +1 -1
  113. package/modern/LineChart/AreaElement.js +1 -0
  114. package/modern/LineChart/LineChart.js +11 -9
  115. package/modern/LineChart/LineElement.js +1 -0
  116. package/modern/LineChart/LineHighlightElement.js +2 -1
  117. package/modern/LineChart/MarkElement.js +1 -0
  118. package/modern/PieChart/PieArc.js +1 -0
  119. package/modern/PieChart/PieArcLabel.js +1 -0
  120. package/modern/PieChart/PieArcLabelPlot.js +1 -1
  121. package/modern/PieChart/PieArcPlot.js +1 -1
  122. package/modern/PieChart/PieChart.js +11 -9
  123. package/modern/ScatterChart/Scatter.js +1 -1
  124. package/modern/ScatterChart/ScatterChart.js +11 -9
  125. package/modern/SparkLineChart/SparkLineChart.js +14 -5
  126. package/modern/context/CartesianContextProvider.js +8 -6
  127. package/modern/index.js +1 -1
  128. package/package.json +1 -1
@@ -88,7 +88,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
88
88
  * @default xAxisIds[0] The id of the first provided axis
89
89
  */
90
90
  bottomAxis: PropTypes.oneOfType([PropTypes.shape({
91
- axisId: PropTypes.string,
91
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
92
92
  classes: PropTypes.object,
93
93
  disableLine: PropTypes.bool,
94
94
  disableTicks: PropTypes.bool,
@@ -138,7 +138,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
138
138
  * @default yAxisIds[0] The id of the first provided axis
139
139
  */
140
140
  leftAxis: PropTypes.oneOfType([PropTypes.shape({
141
- axisId: PropTypes.string,
141
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
142
142
  classes: PropTypes.object,
143
143
  disableLine: PropTypes.bool,
144
144
  disableTicks: PropTypes.bool,
@@ -191,7 +191,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
191
191
  * @default null
192
192
  */
193
193
  rightAxis: PropTypes.oneOfType([PropTypes.shape({
194
- axisId: PropTypes.string,
194
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
195
195
  classes: PropTypes.object,
196
196
  disableLine: PropTypes.bool,
197
197
  disableTicks: PropTypes.bool,
@@ -223,7 +223,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
223
223
  faded: PropTypes.oneOf(['global', 'none', 'series']),
224
224
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
225
225
  }),
226
- id: PropTypes.string,
226
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
227
227
  label: PropTypes.string,
228
228
  markerSize: PropTypes.number,
229
229
  type: PropTypes.oneOf(['scatter']),
@@ -257,7 +257,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
257
257
  * @default null
258
258
  */
259
259
  topAxis: PropTypes.oneOfType([PropTypes.shape({
260
- axisId: PropTypes.string,
260
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
261
261
  classes: PropTypes.object,
262
262
  disableLine: PropTypes.bool,
263
263
  disableTicks: PropTypes.bool,
@@ -294,7 +294,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
294
294
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
295
295
  */
296
296
  xAxis: PropTypes.arrayOf(PropTypes.shape({
297
- axisId: PropTypes.string,
297
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
298
298
  classes: PropTypes.object,
299
299
  data: PropTypes.array,
300
300
  dataKey: PropTypes.string,
@@ -302,13 +302,14 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
302
302
  disableTicks: PropTypes.bool,
303
303
  fill: PropTypes.string,
304
304
  hideTooltip: PropTypes.bool,
305
- id: PropTypes.string,
305
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
306
306
  label: PropTypes.string,
307
307
  labelFontSize: PropTypes.number,
308
308
  labelStyle: PropTypes.object,
309
309
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
310
310
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
311
311
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
312
+ reverse: PropTypes.bool,
312
313
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
313
314
  slotProps: PropTypes.object,
314
315
  slots: PropTypes.object,
@@ -328,7 +329,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
328
329
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
329
330
  */
330
331
  yAxis: PropTypes.arrayOf(PropTypes.shape({
331
- axisId: PropTypes.string,
332
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
332
333
  classes: PropTypes.object,
333
334
  data: PropTypes.array,
334
335
  dataKey: PropTypes.string,
@@ -336,13 +337,14 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
336
337
  disableTicks: PropTypes.bool,
337
338
  fill: PropTypes.string,
338
339
  hideTooltip: PropTypes.bool,
339
- id: PropTypes.string,
340
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
340
341
  label: PropTypes.string,
341
342
  labelFontSize: PropTypes.number,
342
343
  labelStyle: PropTypes.object,
343
344
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
344
345
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
345
346
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
347
+ reverse: PropTypes.bool,
346
348
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
347
349
  slotProps: PropTypes.object,
348
350
  slots: PropTypes.object,
@@ -42,9 +42,10 @@ const SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(pro
42
42
  slotProps,
43
43
  data,
44
44
  plotType = 'line',
45
- valueFormatter = v => v.toString(),
45
+ valueFormatter = value => value === null ? '' : value.toString(),
46
46
  area,
47
- curve = 'linear'
47
+ curve = 'linear',
48
+ skipAnimation = false
48
49
  } = props;
49
50
  const defaultXHighlight = showHighlight && plotType === 'bar' ? {
50
51
  x: 'band'
@@ -78,6 +79,7 @@ const SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(pro
78
79
  sx: sx,
79
80
  disableAxisListener: (!showTooltip || tooltip?.trigger !== 'axis') && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
80
81
  children: [plotType === 'bar' && /*#__PURE__*/_jsx(BarPlot, {
82
+ skipAnimation: skipAnimation,
81
83
  slots: slots,
82
84
  slotProps: slotProps,
83
85
  sx: {
@@ -180,6 +182,12 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
180
182
  * @default false
181
183
  */
182
184
  showTooltip: PropTypes.bool,
185
+ /**
186
+ * If `true`, bar animations are skiped.
187
+ * @deprecated In v7 animations are skipped for sparkline.
188
+ * @default false
189
+ */
190
+ skipAnimation: PropTypes.bool,
183
191
  /**
184
192
  * The props used for each component slot.
185
193
  * @default {}
@@ -204,7 +212,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
204
212
  * Formatter used by the tooltip.
205
213
  * @param {number} value The value to format.
206
214
  * @returns {string} the formatted value.
207
- * @default (v: number) => v.toString()
215
+ * @default (value: number | null) => (value === null ? '' : value.toString())
208
216
  */
209
217
  valueFormatter: PropTypes.func,
210
218
  viewBox: PropTypes.shape({
@@ -223,7 +231,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
223
231
  * Notice it is a single configuration object, not an array of configuration.
224
232
  */
225
233
  xAxis: PropTypes.shape({
226
- axisId: PropTypes.string,
234
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
227
235
  classes: PropTypes.object,
228
236
  data: PropTypes.array,
229
237
  dataKey: PropTypes.string,
@@ -231,13 +239,14 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
231
239
  disableTicks: PropTypes.bool,
232
240
  fill: PropTypes.string,
233
241
  hideTooltip: PropTypes.bool,
234
- id: PropTypes.string,
242
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
235
243
  label: PropTypes.string,
236
244
  labelFontSize: PropTypes.number,
237
245
  labelStyle: PropTypes.object,
238
246
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
239
247
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
240
248
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
249
+ reverse: PropTypes.bool,
241
250
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
242
251
  slotProps: PropTypes.object,
243
252
  slots: PropTypes.object,
@@ -107,7 +107,7 @@ function CartesianContextProvider(props) {
107
107
  allXAxis.forEach((axis, axisIndex) => {
108
108
  const isDefaultAxis = axisIndex === 0;
109
109
  const [minData, maxData] = getAxisExtremum(axis, xExtremumGetters, isDefaultAxis);
110
- const range = [drawingArea.left, drawingArea.left + drawingArea.width];
110
+ const range = axis.reverse ? [drawingArea.left + drawingArea.width, drawingArea.left] : [drawingArea.left, drawingArea.left + drawingArea.width];
111
111
  if (isBandScaleConfig(axis)) {
112
112
  const categoryGapRatio = axis.categoryGapRatio ?? DEFAULT_CATEGORY_GAP_RATIO;
113
113
  const barGapRatio = axis.barGapRatio ?? DEFAULT_BAR_GAP_RATIO;
@@ -156,7 +156,7 @@ function CartesianContextProvider(props) {
156
156
  allYAxis.forEach((axis, axisIndex) => {
157
157
  const isDefaultAxis = axisIndex === 0;
158
158
  const [minData, maxData] = getAxisExtremum(axis, yExtremumGetters, isDefaultAxis);
159
- const range = [drawingArea.top + drawingArea.height, drawingArea.top];
159
+ const range = axis.reverse ? [drawingArea.top, drawingArea.top + drawingArea.height] : [drawingArea.top + drawingArea.height, drawingArea.top];
160
160
  if (isBandScaleConfig(axis)) {
161
161
  const categoryGapRatio = axis.categoryGapRatio ?? DEFAULT_CATEGORY_GAP_RATIO;
162
162
  completedYAxis[axis.id] = _extends({
@@ -225,7 +225,7 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
225
225
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
226
226
  */
227
227
  xAxis: PropTypes.arrayOf(PropTypes.shape({
228
- axisId: PropTypes.string,
228
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
229
229
  classes: PropTypes.object,
230
230
  data: PropTypes.array,
231
231
  dataKey: PropTypes.string,
@@ -233,13 +233,14 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
233
233
  disableTicks: PropTypes.bool,
234
234
  fill: PropTypes.string,
235
235
  hideTooltip: PropTypes.bool,
236
- id: PropTypes.string,
236
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
237
237
  label: PropTypes.string,
238
238
  labelFontSize: PropTypes.number,
239
239
  labelStyle: PropTypes.object,
240
240
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
241
241
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
242
242
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
243
+ reverse: PropTypes.bool,
243
244
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
244
245
  slotProps: PropTypes.object,
245
246
  slots: PropTypes.object,
@@ -259,7 +260,7 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
259
260
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
260
261
  */
261
262
  yAxis: PropTypes.arrayOf(PropTypes.shape({
262
- axisId: PropTypes.string,
263
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
263
264
  classes: PropTypes.object,
264
265
  data: PropTypes.array,
265
266
  dataKey: PropTypes.string,
@@ -267,13 +268,14 @@ process.env.NODE_ENV !== "production" ? CartesianContextProvider.propTypes = {
267
268
  disableTicks: PropTypes.bool,
268
269
  fill: PropTypes.string,
269
270
  hideTooltip: PropTypes.bool,
270
- id: PropTypes.string,
271
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
271
272
  label: PropTypes.string,
272
273
  labelFontSize: PropTypes.number,
273
274
  labelStyle: PropTypes.object,
274
275
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
275
276
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
276
277
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
278
+ reverse: PropTypes.bool,
277
279
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
278
280
  slotProps: PropTypes.object,
279
281
  slots: PropTypes.object,
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts v6.19.3
2
+ * @mui/x-charts v6.19.5
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-charts",
3
- "version": "6.19.3",
3
+ "version": "6.19.5",
4
4
  "description": "The community edition of the charts components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./index.js",