@mui/x-charts 6.19.1 → 6.19.4

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 (172) hide show
  1. package/BarChart/BarChart.js +12 -9
  2. package/BarChart/BarElement.d.ts +43 -23
  3. package/BarChart/BarElement.js +1 -0
  4. package/BarChart/BarPlot.js +9 -10
  5. package/CHANGELOG.md +140 -0
  6. package/ChartsAxis/ChartsAxis.js +4 -4
  7. package/ChartsLegend/ChartsLegend.d.ts +5 -2
  8. package/ChartsLegend/ChartsLegend.js +36 -1
  9. package/ChartsReferenceLine/ChartsReferenceLine.js +8 -4
  10. package/ChartsReferenceLine/common.d.ts +2 -1
  11. package/ChartsSurface.d.ts +2 -2
  12. package/ChartsSurface.js +33 -1
  13. package/ChartsTooltip/ChartsAxisTooltipContent.js +6 -58
  14. package/ChartsTooltip/ChartsItemTooltipContent.js +18 -4
  15. package/ChartsTooltip/ChartsTooltipTable.d.ts +1 -1
  16. package/ChartsTooltip/ChartsTooltipTable.js +2 -0
  17. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +4 -56
  18. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +17 -3
  19. package/ChartsXAxis/ChartsXAxis.js +13 -9
  20. package/ChartsYAxis/ChartsYAxis.js +1 -1
  21. package/LineChart/AreaElement.d.ts +7 -4
  22. package/LineChart/AreaElement.js +1 -0
  23. package/LineChart/LineChart.d.ts +1 -0
  24. package/LineChart/LineChart.js +13 -9
  25. package/LineChart/LineElement.d.ts +7 -4
  26. package/LineChart/LineElement.js +1 -0
  27. package/LineChart/LineHighlightElement.d.ts +3 -2
  28. package/LineChart/LineHighlightElement.js +2 -1
  29. package/LineChart/MarkElement.d.ts +3 -2
  30. package/LineChart/MarkElement.js +1 -0
  31. package/PieChart/PieArc.d.ts +3 -2
  32. package/PieChart/PieArc.js +1 -0
  33. package/PieChart/PieArcLabel.d.ts +3 -2
  34. package/PieChart/PieArcLabel.js +1 -0
  35. package/PieChart/PieArcLabelPlot.d.ts +5 -0
  36. package/PieChart/PieArcLabelPlot.js +3 -1
  37. package/PieChart/PieArcPlot.d.ts +5 -0
  38. package/PieChart/PieArcPlot.js +2 -1
  39. package/PieChart/PieChart.d.ts +14 -2
  40. package/PieChart/PieChart.js +14 -11
  41. package/ScatterChart/Scatter.js +1 -1
  42. package/ScatterChart/ScatterChart.js +12 -9
  43. package/SparkLineChart/SparkLineChart.d.ts +15 -1
  44. package/SparkLineChart/SparkLineChart.js +11 -3
  45. package/context/CartesianContextProvider.d.ts +1 -1
  46. package/context/CartesianContextProvider.js +15 -12
  47. package/context/DrawingProvider.d.ts +1 -1
  48. package/context/DrawingProvider.js +8 -7
  49. package/context/HighlightProvider.d.ts +2 -2
  50. package/context/HighlightProvider.js +4 -3
  51. package/context/InteractionProvider.d.ts +4 -4
  52. package/context/InteractionProvider.js +4 -3
  53. package/context/SeriesContextProvider.d.ts +3 -1
  54. package/context/SeriesContextProvider.js +7 -6
  55. package/esm/BarChart/BarChart.js +12 -9
  56. package/esm/BarChart/BarElement.js +1 -0
  57. package/esm/BarChart/BarPlot.js +8 -10
  58. package/esm/ChartsAxis/ChartsAxis.js +4 -4
  59. package/esm/ChartsLegend/ChartsLegend.js +38 -2
  60. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +8 -4
  61. package/esm/ChartsSurface.js +35 -2
  62. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +6 -58
  63. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +18 -4
  64. package/esm/ChartsTooltip/ChartsTooltipTable.js +2 -0
  65. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +4 -56
  66. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +17 -3
  67. package/esm/ChartsXAxis/ChartsXAxis.js +13 -9
  68. package/esm/ChartsYAxis/ChartsYAxis.js +1 -1
  69. package/esm/LineChart/AreaElement.js +1 -0
  70. package/esm/LineChart/LineChart.js +13 -9
  71. package/esm/LineChart/LineElement.js +1 -0
  72. package/esm/LineChart/LineHighlightElement.js +2 -1
  73. package/esm/LineChart/MarkElement.js +1 -0
  74. package/esm/PieChart/PieArc.js +1 -0
  75. package/esm/PieChart/PieArcLabel.js +1 -0
  76. package/esm/PieChart/PieArcLabelPlot.js +3 -1
  77. package/esm/PieChart/PieArcPlot.js +2 -1
  78. package/esm/PieChart/PieChart.js +14 -11
  79. package/esm/ScatterChart/Scatter.js +1 -1
  80. package/esm/ScatterChart/ScatterChart.js +12 -9
  81. package/esm/SparkLineChart/SparkLineChart.js +11 -3
  82. package/esm/context/CartesianContextProvider.js +15 -12
  83. package/esm/context/DrawingProvider.js +8 -7
  84. package/esm/context/HighlightProvider.js +6 -4
  85. package/esm/context/InteractionProvider.js +6 -4
  86. package/esm/context/SeriesContextProvider.js +9 -7
  87. package/esm/hooks/useDrawingArea.js +7 -3
  88. package/esm/index.js +2 -0
  89. package/hooks/useDrawingArea.d.ts +2 -0
  90. package/hooks/useDrawingArea.js +7 -3
  91. package/index.d.ts +2 -0
  92. package/index.js +23 -1
  93. package/internals/defaultizeColor.d.ts +15 -15
  94. package/internals/defaultizeValueFormatter.d.ts +4 -7
  95. package/internals/stackSeries.d.ts +4 -7
  96. package/legacy/BarChart/BarChart.js +12 -9
  97. package/legacy/BarChart/BarElement.js +1 -0
  98. package/legacy/BarChart/BarPlot.js +10 -10
  99. package/legacy/ChartsAxis/ChartsAxis.js +4 -4
  100. package/legacy/ChartsLegend/ChartsLegend.js +38 -2
  101. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +6 -4
  102. package/legacy/ChartsReferenceLine/common.js +3 -4
  103. package/legacy/ChartsSurface.js +35 -2
  104. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +6 -58
  105. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +18 -4
  106. package/legacy/ChartsTooltip/ChartsTooltipTable.js +8 -7
  107. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +4 -56
  108. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +17 -3
  109. package/legacy/ChartsXAxis/ChartsXAxis.js +12 -8
  110. package/legacy/ChartsYAxis/ChartsYAxis.js +1 -1
  111. package/legacy/LineChart/AreaElement.js +1 -0
  112. package/legacy/LineChart/LineChart.js +13 -9
  113. package/legacy/LineChart/LineElement.js +1 -0
  114. package/legacy/LineChart/LineHighlightElement.js +2 -1
  115. package/legacy/LineChart/MarkElement.js +1 -0
  116. package/legacy/PieChart/PieArc.js +1 -0
  117. package/legacy/PieChart/PieArcLabel.js +1 -0
  118. package/legacy/PieChart/PieArcLabelPlot.js +3 -1
  119. package/legacy/PieChart/PieArcPlot.js +2 -1
  120. package/legacy/PieChart/PieChart.js +14 -11
  121. package/legacy/ScatterChart/Scatter.js +1 -1
  122. package/legacy/ScatterChart/ScatterChart.js +12 -9
  123. package/legacy/SparkLineChart/SparkLineChart.js +11 -3
  124. package/legacy/context/CartesianContextProvider.js +23 -21
  125. package/legacy/context/DrawingProvider.js +6 -6
  126. package/legacy/context/HighlightProvider.js +4 -3
  127. package/legacy/context/InteractionProvider.js +4 -3
  128. package/legacy/context/SeriesContextProvider.js +8 -7
  129. package/legacy/hooks/useDrawingArea.js +7 -3
  130. package/legacy/index.js +3 -1
  131. package/legacy/internals/components/AxisSharedComponents.js +5 -6
  132. package/models/axis.d.ts +7 -2
  133. package/models/seriesType/common.d.ts +2 -1
  134. package/models/seriesType/config.d.ts +7 -12
  135. package/models/seriesType/line.d.ts +2 -2
  136. package/models/seriesType/pie.d.ts +8 -3
  137. package/models/seriesType/scatter.d.ts +5 -2
  138. package/modern/BarChart/BarChart.js +12 -9
  139. package/modern/BarChart/BarElement.js +1 -0
  140. package/modern/BarChart/BarPlot.js +8 -10
  141. package/modern/ChartsAxis/ChartsAxis.js +4 -4
  142. package/modern/ChartsLegend/ChartsLegend.js +38 -2
  143. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +8 -4
  144. package/modern/ChartsSurface.js +35 -2
  145. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +6 -58
  146. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +18 -4
  147. package/modern/ChartsTooltip/ChartsTooltipTable.js +2 -0
  148. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +4 -56
  149. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +17 -3
  150. package/modern/ChartsXAxis/ChartsXAxis.js +13 -9
  151. package/modern/ChartsYAxis/ChartsYAxis.js +1 -1
  152. package/modern/LineChart/AreaElement.js +1 -0
  153. package/modern/LineChart/LineChart.js +13 -9
  154. package/modern/LineChart/LineElement.js +1 -0
  155. package/modern/LineChart/LineHighlightElement.js +2 -1
  156. package/modern/LineChart/MarkElement.js +1 -0
  157. package/modern/PieChart/PieArc.js +1 -0
  158. package/modern/PieChart/PieArcLabel.js +1 -0
  159. package/modern/PieChart/PieArcLabelPlot.js +3 -1
  160. package/modern/PieChart/PieArcPlot.js +2 -1
  161. package/modern/PieChart/PieChart.js +14 -11
  162. package/modern/ScatterChart/Scatter.js +1 -1
  163. package/modern/ScatterChart/ScatterChart.js +12 -9
  164. package/modern/SparkLineChart/SparkLineChart.js +11 -3
  165. package/modern/context/CartesianContextProvider.js +15 -12
  166. package/modern/context/DrawingProvider.js +8 -7
  167. package/modern/context/HighlightProvider.js +6 -4
  168. package/modern/context/InteractionProvider.js +6 -4
  169. package/modern/context/SeriesContextProvider.js +9 -7
  170. package/modern/hooks/useDrawingArea.js +7 -3
  171. package/modern/index.js +3 -1
  172. package/package.json +1 -1
@@ -67,7 +67,7 @@ process.env.NODE_ENV !== "production" ? DefaultChartsItemTooltipContent.propType
67
67
  */
68
68
  itemData: PropTypes.shape({
69
69
  dataIndex: PropTypes.number,
70
- seriesId: PropTypes.string.isRequired,
70
+ seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
71
71
  type: PropTypes.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
72
72
  }).isRequired,
73
73
  /**
@@ -75,12 +75,26 @@ process.env.NODE_ENV !== "production" ? DefaultChartsItemTooltipContent.propType
75
75
  */
76
76
  series: PropTypes.shape({
77
77
  color: PropTypes.string,
78
- data: PropTypes.arrayOf(PropTypes.number).isRequired,
78
+ data: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.arrayOf(PropTypes.number), PropTypes.arrayOf(PropTypes.shape({
79
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
80
+ x: PropTypes.number.isRequired,
81
+ y: PropTypes.number.isRequired
82
+ })), PropTypes.arrayOf(PropTypes.shape({
83
+ color: PropTypes.string.isRequired,
84
+ endAngle: PropTypes.number.isRequired,
85
+ formattedValue: PropTypes.string.isRequired,
86
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
87
+ index: PropTypes.number.isRequired,
88
+ label: PropTypes.string,
89
+ padAngle: PropTypes.number.isRequired,
90
+ startAngle: PropTypes.number.isRequired,
91
+ value: PropTypes.number.isRequired
92
+ }))]).isRequired,
79
93
  highlightScope: PropTypes.shape({
80
94
  faded: PropTypes.oneOf(['global', 'none', 'series']),
81
95
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
82
96
  }),
83
- id: PropTypes.string.isRequired,
97
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
84
98
  type: PropTypes.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired,
85
99
  valueFormatter: PropTypes.func.isRequired
86
100
  }).isRequired,
@@ -1,7 +1,7 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
- var _excluded = ["scale", "tickNumber"];
4
+ var _excluded = ["scale", "tickNumber", "reverse"];
5
5
  import * as React from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import { useSlotProps } from '@mui/base/utils';
@@ -34,6 +34,7 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
34
34
  function addLabelDimension(xTicks, _ref) {
35
35
  var style = _ref.tickLabelStyle,
36
36
  tickLabelInterval = _ref.tickLabelInterval,
37
+ reverse = _ref.reverse,
37
38
  isMounted = _ref.isMounted;
38
39
  var withDimension = xTicks.map(function (tick) {
39
40
  if (!isMounted || tick.formattedValue === undefined) {
@@ -63,8 +64,9 @@ function addLabelDimension(xTicks, _ref) {
63
64
  }
64
65
 
65
66
  // Filter label to avoid overlap
66
- var textStart = 0;
67
- var textEnd = 0;
67
+ var currentTextLimit = 0;
68
+ var previouseTextLimit = 0;
69
+ var direction = reverse ? -1 : 1;
68
70
  return withDimension.map(function (item, labelIndex) {
69
71
  var width = item.width,
70
72
  offset = item.offset,
@@ -74,15 +76,15 @@ function addLabelDimension(xTicks, _ref) {
74
76
  var textPosition = offset + labelOffset;
75
77
  var gapRatio = 1.2; // Ratio applied to the minimal distance to add some margin.
76
78
 
77
- textStart = textPosition - gapRatio * distance / 2;
78
- if (labelIndex > 0 && textStart < textEnd) {
79
+ currentTextLimit = textPosition - direction * (gapRatio * distance) / 2;
80
+ if (labelIndex > 0 && direction * currentTextLimit < direction * previouseTextLimit) {
79
81
  // Except for the first label, we skip all label that overlap with the last accepted.
80
- // Notice that the early return prevents `textEnd` from being updated.
82
+ // Notice that the early return prevents `previouseTextLimit` from being updated.
81
83
  return _extends({}, item, {
82
84
  skipLabel: true
83
85
  });
84
86
  }
85
- textEnd = textPosition + gapRatio * distance / 2;
87
+ previouseTextLimit = textPosition + direction * (gapRatio * distance) / 2;
86
88
  return item;
87
89
  });
88
90
  }
@@ -114,6 +116,7 @@ function ChartsXAxis(inProps) {
114
116
  _React$useContext2$xA = _React$useContext2.xAxis[(_props$axisId = props.axisId) != null ? _props$axisId : xAxisIds[0]],
115
117
  xScale = _React$useContext2$xA.scale,
116
118
  tickNumber = _React$useContext2$xA.tickNumber,
119
+ reverse = _React$useContext2$xA.reverse,
117
120
  settings = _objectWithoutProperties(_React$useContext2$xA, _excluded);
118
121
  var isMounted = useMounted();
119
122
  var defaultizedProps = _extends({}, defaultProps, settings, props);
@@ -169,6 +172,7 @@ function ChartsXAxis(inProps) {
169
172
  var xTicksWithDimension = addLabelDimension(xTicks, {
170
173
  tickLabelStyle: axisTickLabelProps.style,
171
174
  tickLabelInterval: tickLabelInterval,
175
+ reverse: reverse,
172
176
  isMounted: isMounted
173
177
  });
174
178
  var labelRefPoint = {
@@ -231,7 +235,7 @@ process.env.NODE_ENV !== "production" ? ChartsXAxis.propTypes = {
231
235
  * The id of the axis to render.
232
236
  * If undefined, it will be the first defined axis.
233
237
  */
234
- axisId: PropTypes.string,
238
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
235
239
  /**
236
240
  * Override or extend the styles applied to the component.
237
241
  */
@@ -163,7 +163,7 @@ process.env.NODE_ENV !== "production" ? ChartsYAxis.propTypes = {
163
163
  * The id of the axis to render.
164
164
  * If undefined, it will be the first defined axis.
165
165
  */
166
- axisId: PropTypes.string,
166
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
167
167
  /**
168
168
  * Override or extend the styles applied to the component.
169
169
  */
@@ -118,6 +118,7 @@ process.env.NODE_ENV !== "production" ? AreaElement.propTypes = {
118
118
  faded: PropTypes.oneOf(['global', 'none', 'series']),
119
119
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
120
120
  }),
121
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
121
122
  /**
122
123
  * The props used for each component slot.
123
124
  * @default {}
@@ -124,6 +124,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
124
124
  * - 'none': display nothing.
125
125
  * - 'line': display a line at the current mouse position.
126
126
  * - 'band': display a band at the current mouse position. Only available with band scale.
127
+ * @default { x: 'line' }
127
128
  */
128
129
  axisHighlight: PropTypes.shape({
129
130
  x: PropTypes.oneOf(['band', 'line', 'none']),
@@ -135,7 +136,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
135
136
  * @default xAxisIds[0] The id of the first provided axis
136
137
  */
137
138
  bottomAxis: PropTypes.oneOfType([PropTypes.shape({
138
- axisId: PropTypes.string,
139
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
139
140
  classes: PropTypes.object,
140
141
  disableLine: PropTypes.bool,
141
142
  disableTicks: PropTypes.bool,
@@ -160,6 +161,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
160
161
  className: PropTypes.string,
161
162
  /**
162
163
  * Color palette used to colorize multiple series.
164
+ * @default blueberryTwilightPalette
163
165
  */
164
166
  colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
165
167
  /**
@@ -188,7 +190,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
188
190
  * @default yAxisIds[0] The id of the first provided axis
189
191
  */
190
192
  leftAxis: PropTypes.oneOfType([PropTypes.shape({
191
- axisId: PropTypes.string,
193
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
192
194
  classes: PropTypes.object,
193
195
  disableLine: PropTypes.bool,
194
196
  disableTicks: PropTypes.bool,
@@ -241,7 +243,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
241
243
  * @default null
242
244
  */
243
245
  rightAxis: PropTypes.oneOfType([PropTypes.shape({
244
- axisId: PropTypes.string,
246
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
245
247
  classes: PropTypes.object,
246
248
  disableLine: PropTypes.bool,
247
249
  disableTicks: PropTypes.bool,
@@ -274,7 +276,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
274
276
  faded: PropTypes.oneOf(['global', 'none', 'series']),
275
277
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
276
278
  }),
277
- id: PropTypes.string,
279
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
278
280
  label: PropTypes.string,
279
281
  showMark: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),
280
282
  stack: PropTypes.string,
@@ -311,7 +313,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
311
313
  * @default null
312
314
  */
313
315
  topAxis: PropTypes.oneOfType([PropTypes.shape({
314
- axisId: PropTypes.string,
316
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
315
317
  classes: PropTypes.object,
316
318
  disableLine: PropTypes.bool,
317
319
  disableTicks: PropTypes.bool,
@@ -348,7 +350,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
348
350
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
349
351
  */
350
352
  xAxis: PropTypes.arrayOf(PropTypes.shape({
351
- axisId: PropTypes.string,
353
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
352
354
  classes: PropTypes.object,
353
355
  data: PropTypes.array,
354
356
  dataKey: PropTypes.string,
@@ -356,13 +358,14 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
356
358
  disableTicks: PropTypes.bool,
357
359
  fill: PropTypes.string,
358
360
  hideTooltip: PropTypes.bool,
359
- id: PropTypes.string,
361
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
360
362
  label: PropTypes.string,
361
363
  labelFontSize: PropTypes.number,
362
364
  labelStyle: PropTypes.object,
363
365
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
364
366
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
365
367
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
368
+ reverse: PropTypes.bool,
366
369
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
367
370
  slotProps: PropTypes.object,
368
371
  slots: PropTypes.object,
@@ -382,7 +385,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
382
385
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
383
386
  */
384
387
  yAxis: PropTypes.arrayOf(PropTypes.shape({
385
- axisId: PropTypes.string,
388
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
386
389
  classes: PropTypes.object,
387
390
  data: PropTypes.array,
388
391
  dataKey: PropTypes.string,
@@ -390,13 +393,14 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
390
393
  disableTicks: PropTypes.bool,
391
394
  fill: PropTypes.string,
392
395
  hideTooltip: PropTypes.bool,
393
- id: PropTypes.string,
396
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
394
397
  label: PropTypes.string,
395
398
  labelFontSize: PropTypes.number,
396
399
  labelStyle: PropTypes.object,
397
400
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
398
401
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
399
402
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
403
+ reverse: PropTypes.bool,
400
404
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
401
405
  slotProps: PropTypes.object,
402
406
  slots: PropTypes.object,
@@ -120,6 +120,7 @@ process.env.NODE_ENV !== "production" ? LineElement.propTypes = {
120
120
  faded: PropTypes.oneOf(['global', 'none', 'series']),
121
121
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
122
122
  }),
123
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
123
124
  /**
124
125
  * The props used for each component slot.
125
126
  * @default {}
@@ -72,6 +72,7 @@ process.env.NODE_ENV !== "production" ? LineHighlightElement.propTypes = {
72
72
  // | These PropTypes are generated from the TypeScript type definitions |
73
73
  // | To update them edit the TypeScript types and run "yarn proptypes" |
74
74
  // ----------------------------------------------------------------------
75
- classes: PropTypes.object
75
+ classes: PropTypes.object,
76
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
76
77
  } : void 0;
77
78
  export { LineHighlightElement };
@@ -127,6 +127,7 @@ process.env.NODE_ENV !== "production" ? MarkElement.propTypes = {
127
127
  faded: PropTypes.oneOf(['global', 'none', 'series']),
128
128
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
129
129
  }),
130
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
130
131
  /**
131
132
  * The shape of the marker.
132
133
  */
@@ -96,6 +96,7 @@ process.env.NODE_ENV !== "production" ? PieArc.propTypes = {
96
96
  faded: PropTypes.oneOf(['global', 'none', 'series']),
97
97
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
98
98
  }),
99
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
99
100
  isFaded: PropTypes.bool.isRequired,
100
101
  isHighlighted: PropTypes.bool.isRequired
101
102
  } : void 0;
@@ -105,6 +105,7 @@ process.env.NODE_ENV !== "production" ? PieArcLabel.propTypes = {
105
105
  // ----------------------------------------------------------------------
106
106
  classes: PropTypes.object,
107
107
  formattedArcLabel: PropTypes.string,
108
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
108
109
  isFaded: PropTypes.bool.isRequired,
109
110
  isHighlighted: PropTypes.bool.isRequired
110
111
  } : void 0;
@@ -106,6 +106,7 @@ process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
106
106
  arcLabel: PropTypes.oneOfType([PropTypes.oneOf(['formattedValue', 'label', 'value']), PropTypes.func]),
107
107
  /**
108
108
  * The minimal angle required to display the arc label.
109
+ * @default 0
109
110
  */
110
111
  arcLabelMinAngle: PropTypes.number,
111
112
  /**
@@ -131,6 +132,7 @@ process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
131
132
  })).isRequired,
132
133
  /**
133
134
  * Override the arc attibutes when it is faded.
135
+ * @default { additionalRadius: -5 }
134
136
  */
135
137
  faded: PropTypes.shape({
136
138
  additionalRadius: PropTypes.number,
@@ -157,7 +159,7 @@ process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
157
159
  faded: PropTypes.oneOf(['global', 'none', 'series']),
158
160
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
159
161
  }),
160
- id: PropTypes.string.isRequired,
162
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
161
163
  /**
162
164
  * The radius between circle center and the begining of the arc.
163
165
  * @default 0
@@ -112,6 +112,7 @@ process.env.NODE_ENV !== "production" ? PieArcPlot.propTypes = {
112
112
  })).isRequired,
113
113
  /**
114
114
  * Override the arc attibutes when it is faded.
115
+ * @default { additionalRadius: -5 }
115
116
  */
116
117
  faded: PropTypes.shape({
117
118
  additionalRadius: PropTypes.number,
@@ -138,7 +139,7 @@ process.env.NODE_ENV !== "production" ? PieArcPlot.propTypes = {
138
139
  faded: PropTypes.oneOf(['global', 'none', 'series']),
139
140
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
140
141
  }),
141
- id: PropTypes.string.isRequired,
142
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
142
143
  /**
143
144
  * The radius between circle center and the begining of the arc.
144
145
  * @default 0
@@ -120,10 +120,10 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
120
120
  /**
121
121
  * Indicate which axis to display the bottom of the charts.
122
122
  * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
123
- * @default xAxisIds[0] The id of the first provided axis
123
+ * @default null
124
124
  */
125
125
  bottomAxis: PropTypes.oneOfType([PropTypes.shape({
126
- axisId: PropTypes.string,
126
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
127
127
  classes: PropTypes.object,
128
128
  disableLine: PropTypes.bool,
129
129
  disableTicks: PropTypes.bool,
@@ -148,6 +148,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
148
148
  className: PropTypes.string,
149
149
  /**
150
150
  * Color palette used to colorize multiple series.
151
+ * @default blueberryTwilightPalette
151
152
  */
152
153
  colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
153
154
  /**
@@ -169,10 +170,10 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
169
170
  /**
170
171
  * Indicate which axis to display the left of the charts.
171
172
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
172
- * @default yAxisIds[0] The id of the first provided axis
173
+ * @default null
173
174
  */
174
175
  leftAxis: PropTypes.oneOfType([PropTypes.shape({
175
- axisId: PropTypes.string,
176
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
176
177
  classes: PropTypes.object,
177
178
  disableLine: PropTypes.bool,
178
179
  disableTicks: PropTypes.bool,
@@ -226,7 +227,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
226
227
  * @default null
227
228
  */
228
229
  rightAxis: PropTypes.oneOfType([PropTypes.shape({
229
- axisId: PropTypes.string,
230
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
230
231
  classes: PropTypes.object,
231
232
  disableLine: PropTypes.bool,
232
233
  disableTicks: PropTypes.bool,
@@ -284,7 +285,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
284
285
  faded: PropTypes.oneOf(['global', 'none', 'series']),
285
286
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
286
287
  }),
287
- id: PropTypes.string,
288
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
288
289
  innerRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
289
290
  outerRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
290
291
  paddingAngle: PropTypes.number,
@@ -320,7 +321,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
320
321
  * @default null
321
322
  */
322
323
  topAxis: PropTypes.oneOfType([PropTypes.shape({
323
- axisId: PropTypes.string,
324
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
324
325
  classes: PropTypes.object,
325
326
  disableLine: PropTypes.bool,
326
327
  disableTicks: PropTypes.bool,
@@ -357,7 +358,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
357
358
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
358
359
  */
359
360
  xAxis: PropTypes.arrayOf(PropTypes.shape({
360
- axisId: PropTypes.string,
361
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
361
362
  classes: PropTypes.object,
362
363
  data: PropTypes.array,
363
364
  dataKey: PropTypes.string,
@@ -365,13 +366,14 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
365
366
  disableTicks: PropTypes.bool,
366
367
  fill: PropTypes.string,
367
368
  hideTooltip: PropTypes.bool,
368
- id: PropTypes.string,
369
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
369
370
  label: PropTypes.string,
370
371
  labelFontSize: PropTypes.number,
371
372
  labelStyle: PropTypes.object,
372
373
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
373
374
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
374
375
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
376
+ reverse: PropTypes.bool,
375
377
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
376
378
  slotProps: PropTypes.object,
377
379
  slots: PropTypes.object,
@@ -391,7 +393,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
391
393
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
392
394
  */
393
395
  yAxis: PropTypes.arrayOf(PropTypes.shape({
394
- axisId: PropTypes.string,
396
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
395
397
  classes: PropTypes.object,
396
398
  data: PropTypes.array,
397
399
  dataKey: PropTypes.string,
@@ -399,13 +401,14 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
399
401
  disableTicks: PropTypes.bool,
400
402
  fill: PropTypes.string,
401
403
  hideTooltip: PropTypes.bool,
402
- id: PropTypes.string,
404
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
403
405
  label: PropTypes.string,
404
406
  labelFontSize: PropTypes.number,
405
407
  labelStyle: PropTypes.object,
406
408
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
407
409
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
408
410
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
411
+ reverse: PropTypes.bool,
409
412
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
410
413
  slotProps: PropTypes.object,
411
414
  slots: PropTypes.object,
@@ -88,7 +88,7 @@ process.env.NODE_ENV !== "production" ? Scatter.propTypes = {
88
88
  faded: PropTypes.oneOf(['global', 'none', 'series']),
89
89
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
90
90
  }),
91
- id: PropTypes.string.isRequired,
91
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
92
92
  label: PropTypes.string,
93
93
  markerSize: PropTypes.number,
94
94
  type: PropTypes.oneOf(['scatter']).isRequired,
@@ -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,
@@ -113,6 +113,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
113
113
  className: PropTypes.string,
114
114
  /**
115
115
  * Color palette used to colorize multiple series.
116
+ * @default blueberryTwilightPalette
116
117
  */
117
118
  colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
118
119
  /**
@@ -137,7 +138,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
137
138
  * @default yAxisIds[0] The id of the first provided axis
138
139
  */
139
140
  leftAxis: PropTypes.oneOfType([PropTypes.shape({
140
- axisId: PropTypes.string,
141
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
141
142
  classes: PropTypes.object,
142
143
  disableLine: PropTypes.bool,
143
144
  disableTicks: PropTypes.bool,
@@ -190,7 +191,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
190
191
  * @default null
191
192
  */
192
193
  rightAxis: PropTypes.oneOfType([PropTypes.shape({
193
- axisId: PropTypes.string,
194
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
194
195
  classes: PropTypes.object,
195
196
  disableLine: PropTypes.bool,
196
197
  disableTicks: PropTypes.bool,
@@ -222,7 +223,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
222
223
  faded: PropTypes.oneOf(['global', 'none', 'series']),
223
224
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
224
225
  }),
225
- id: PropTypes.string,
226
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
226
227
  label: PropTypes.string,
227
228
  markerSize: PropTypes.number,
228
229
  type: PropTypes.oneOf(['scatter']),
@@ -256,7 +257,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
256
257
  * @default null
257
258
  */
258
259
  topAxis: PropTypes.oneOfType([PropTypes.shape({
259
- axisId: PropTypes.string,
260
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
260
261
  classes: PropTypes.object,
261
262
  disableLine: PropTypes.bool,
262
263
  disableTicks: PropTypes.bool,
@@ -293,7 +294,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
293
294
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
294
295
  */
295
296
  xAxis: PropTypes.arrayOf(PropTypes.shape({
296
- axisId: PropTypes.string,
297
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
297
298
  classes: PropTypes.object,
298
299
  data: PropTypes.array,
299
300
  dataKey: PropTypes.string,
@@ -301,13 +302,14 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
301
302
  disableTicks: PropTypes.bool,
302
303
  fill: PropTypes.string,
303
304
  hideTooltip: PropTypes.bool,
304
- id: PropTypes.string,
305
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
305
306
  label: PropTypes.string,
306
307
  labelFontSize: PropTypes.number,
307
308
  labelStyle: PropTypes.object,
308
309
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
309
310
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
310
311
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
312
+ reverse: PropTypes.bool,
311
313
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
312
314
  slotProps: PropTypes.object,
313
315
  slots: PropTypes.object,
@@ -327,7 +329,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
327
329
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
328
330
  */
329
331
  yAxis: PropTypes.arrayOf(PropTypes.shape({
330
- axisId: PropTypes.string,
332
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
331
333
  classes: PropTypes.object,
332
334
  data: PropTypes.array,
333
335
  dataKey: PropTypes.string,
@@ -335,13 +337,14 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
335
337
  disableTicks: PropTypes.bool,
336
338
  fill: PropTypes.string,
337
339
  hideTooltip: PropTypes.bool,
338
- id: PropTypes.string,
340
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
339
341
  label: PropTypes.string,
340
342
  labelFontSize: PropTypes.number,
341
343
  labelStyle: PropTypes.object,
342
344
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
343
345
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
344
346
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
347
+ reverse: PropTypes.bool,
345
348
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
346
349
  slotProps: PropTypes.object,
347
350
  slots: PropTypes.object,
@@ -125,6 +125,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
125
125
  className: PropTypes.string,
126
126
  /**
127
127
  * Color palette used to colorize multiple series.
128
+ * @default blueberryTwilightPalette
128
129
  */
129
130
  colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
130
131
  /**
@@ -155,7 +156,12 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
155
156
  * The margin between the SVG and the drawing area.
156
157
  * It's used for leaving some space for extra information such as the x- and y-axis or legend.
157
158
  * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
158
- * @default object Depends on the charts type.
159
+ * @default {
160
+ * top: 5,
161
+ * bottom: 5,
162
+ * left: 5,
163
+ * right: 5,
164
+ * }
159
165
  */
160
166
  margin: PropTypes.shape({
161
167
  bottom: PropTypes.number,
@@ -204,6 +210,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
204
210
  * Formatter used by the tooltip.
205
211
  * @param {number} value The value to format.
206
212
  * @returns {string} the formatted value.
213
+ * @default (v: number) => v.toString()
207
214
  */
208
215
  valueFormatter: PropTypes.func,
209
216
  viewBox: PropTypes.shape({
@@ -222,7 +229,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
222
229
  * Notice it is a single configuration object, not an array of configuration.
223
230
  */
224
231
  xAxis: PropTypes.shape({
225
- axisId: PropTypes.string,
232
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
226
233
  classes: PropTypes.object,
227
234
  data: PropTypes.array,
228
235
  dataKey: PropTypes.string,
@@ -230,13 +237,14 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
230
237
  disableTicks: PropTypes.bool,
231
238
  fill: PropTypes.string,
232
239
  hideTooltip: PropTypes.bool,
233
- id: PropTypes.string,
240
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
234
241
  label: PropTypes.string,
235
242
  labelFontSize: PropTypes.number,
236
243
  labelStyle: PropTypes.object,
237
244
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
238
245
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
239
246
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
247
+ reverse: PropTypes.bool,
240
248
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
241
249
  slotProps: PropTypes.object,
242
250
  slots: PropTypes.object,