@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
@@ -1,21 +1,18 @@
1
1
  import { Series } from 'd3-shape';
2
2
  import type { BarSeriesType, LineSeriesType } from '../models/seriesType';
3
3
  import type { StackOffsetType, StackOrderType } from '../models/stacking';
4
- type StackableSeries = {
5
- [id: string]: BarSeriesType;
6
- } | {
7
- [id: string]: LineSeriesType;
8
- };
4
+ import { SeriesId } from '../models/seriesType/common';
5
+ type StackableSeries = Record<SeriesId, BarSeriesType> | Record<SeriesId, LineSeriesType>;
9
6
  type FormatterParams = {
10
7
  series: StackableSeries;
11
- seriesOrder: string[];
8
+ seriesOrder: SeriesId[];
12
9
  defaultStrategy?: {
13
10
  stackOrder?: StackOrderType;
14
11
  stackOffset?: StackOffsetType;
15
12
  };
16
13
  };
17
14
  export type StackingGroupsType = {
18
- ids: string[];
15
+ ids: SeriesId[];
19
16
  stackingOrder: (series: Series<any, any>) => number[];
20
17
  stackingOffset: (series: Series<any, any>, order: Iterable<number>) => void;
21
18
  }[];
@@ -136,7 +136,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
136
136
  * @default xAxisIds[0] The id of the first provided axis
137
137
  */
138
138
  bottomAxis: PropTypes.oneOfType([PropTypes.shape({
139
- axisId: PropTypes.string,
139
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
140
140
  classes: PropTypes.object,
141
141
  disableLine: PropTypes.bool,
142
142
  disableTicks: PropTypes.bool,
@@ -161,6 +161,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
161
161
  className: PropTypes.string,
162
162
  /**
163
163
  * Color palette used to colorize multiple series.
164
+ * @default blueberryTwilightPalette
164
165
  */
165
166
  colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
166
167
  /**
@@ -186,7 +187,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
186
187
  * @default yAxisIds[0] The id of the first provided axis
187
188
  */
188
189
  leftAxis: PropTypes.oneOfType([PropTypes.shape({
189
- axisId: PropTypes.string,
190
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
190
191
  classes: PropTypes.object,
191
192
  disableLine: PropTypes.bool,
192
193
  disableTicks: PropTypes.bool,
@@ -239,7 +240,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
239
240
  * @default null
240
241
  */
241
242
  rightAxis: PropTypes.oneOfType([PropTypes.shape({
242
- axisId: PropTypes.string,
243
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
243
244
  classes: PropTypes.object,
244
245
  disableLine: PropTypes.bool,
245
246
  disableTicks: PropTypes.bool,
@@ -268,7 +269,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
268
269
  faded: PropTypes.oneOf(['global', 'none', 'series']),
269
270
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
270
271
  }),
271
- id: PropTypes.string,
272
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
272
273
  label: PropTypes.string,
273
274
  layout: PropTypes.oneOf(['horizontal', 'vertical']),
274
275
  stack: PropTypes.string,
@@ -310,7 +311,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
310
311
  * @default null
311
312
  */
312
313
  topAxis: PropTypes.oneOfType([PropTypes.shape({
313
- axisId: PropTypes.string,
314
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
314
315
  classes: PropTypes.object,
315
316
  disableLine: PropTypes.bool,
316
317
  disableTicks: PropTypes.bool,
@@ -347,7 +348,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
347
348
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
348
349
  */
349
350
  xAxis: PropTypes.arrayOf(PropTypes.shape({
350
- axisId: PropTypes.string,
351
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
351
352
  classes: PropTypes.object,
352
353
  data: PropTypes.array,
353
354
  dataKey: PropTypes.string,
@@ -355,13 +356,14 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
355
356
  disableTicks: PropTypes.bool,
356
357
  fill: PropTypes.string,
357
358
  hideTooltip: PropTypes.bool,
358
- id: PropTypes.string,
359
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
359
360
  label: PropTypes.string,
360
361
  labelFontSize: PropTypes.number,
361
362
  labelStyle: PropTypes.object,
362
363
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
363
364
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
364
365
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
366
+ reverse: PropTypes.bool,
365
367
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
366
368
  slotProps: PropTypes.object,
367
369
  slots: PropTypes.object,
@@ -381,7 +383,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
381
383
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
382
384
  */
383
385
  yAxis: PropTypes.arrayOf(PropTypes.shape({
384
- axisId: PropTypes.string,
386
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
385
387
  classes: PropTypes.object,
386
388
  data: PropTypes.array,
387
389
  dataKey: PropTypes.string,
@@ -389,13 +391,14 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
389
391
  disableTicks: PropTypes.bool,
390
392
  fill: PropTypes.string,
391
393
  hideTooltip: PropTypes.bool,
392
- id: PropTypes.string,
394
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
393
395
  label: PropTypes.string,
394
396
  labelFontSize: PropTypes.number,
395
397
  labelStyle: PropTypes.object,
396
398
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
397
399
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
398
400
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
401
+ reverse: PropTypes.bool,
399
402
  scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
400
403
  slotProps: PropTypes.object,
401
404
  slots: PropTypes.object,
@@ -101,6 +101,7 @@ process.env.NODE_ENV !== "production" ? BarElement.propTypes = {
101
101
  faded: PropTypes.oneOf(['global', 'none', 'series']),
102
102
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
103
103
  }),
104
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
104
105
  /**
105
106
  * The props used for each component slot.
106
107
  * @default {}
@@ -10,7 +10,7 @@ import { CartesianContext } from '../context/CartesianContextProvider';
10
10
  import { BarElement } from './BarElement';
11
11
  import { isBandScaleConfig } from '../models/axis';
12
12
  import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from '../constants';
13
-
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
14
  /**
15
15
  * Solution of the equations
16
16
  * W = barWidth * N + offset * (N-1)
@@ -20,7 +20,6 @@ import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from '../constants';
20
20
  * @param gapRatio The ratio of the gap between bars over the bar width.
21
21
  * @returns The bar width and the offset between bars.
22
22
  */
23
- import { jsx as _jsx } from "react/jsx-runtime";
24
23
  function getBandSize(_ref) {
25
24
  var W = _ref.bandWidth,
26
25
  N = _ref.numberOfGroups,
@@ -97,20 +96,21 @@ var useCompletedData = function useCompletedData() {
97
96
  color = _series$seriesId.color;
98
97
  return stackedData.map(function (values, dataIndex) {
99
98
  var _xAxis$xAxisKey$data, _yAxis$yAxisKey$data;
100
- var bottom = Math.min.apply(Math, _toConsumableArray(values));
101
- var top = Math.max.apply(Math, _toConsumableArray(values));
99
+ var valueCoordinates = values.map(function (v) {
100
+ return verticalLayout ? yScale(v) : xScale(v);
101
+ });
102
+ var minValueCoord = Math.min.apply(Math, _toConsumableArray(valueCoordinates));
103
+ var maxValueCoord = Math.max.apply(Math, _toConsumableArray(valueCoordinates));
102
104
  return {
103
- bottom: bottom,
104
- top: top,
105
105
  seriesId: seriesId,
106
106
  dataIndex: dataIndex,
107
107
  layout: series[seriesId].layout,
108
- x: verticalLayout ? xScale((_xAxis$xAxisKey$data = xAxis[xAxisKey].data) == null ? void 0 : _xAxis$xAxisKey$data[dataIndex]) + barOffset : xScale(bottom),
109
- y: verticalLayout ? yScale(top) : yScale((_yAxis$yAxisKey$data = yAxis[yAxisKey].data) == null ? void 0 : _yAxis$yAxisKey$data[dataIndex]) + barOffset,
108
+ x: verticalLayout ? xScale((_xAxis$xAxisKey$data = xAxis[xAxisKey].data) == null ? void 0 : _xAxis$xAxisKey$data[dataIndex]) + barOffset : minValueCoord,
109
+ y: verticalLayout ? minValueCoord : yScale((_yAxis$yAxisKey$data = yAxis[yAxisKey].data) == null ? void 0 : _yAxis$yAxisKey$data[dataIndex]) + barOffset,
110
110
  xOrigin: xScale(0),
111
111
  yOrigin: yScale(0),
112
- height: verticalLayout ? Math.abs(yScale(bottom) - yScale(top)) : barWidth,
113
- width: verticalLayout ? barWidth : Math.abs(xScale(bottom) - xScale(top)),
112
+ height: verticalLayout ? maxValueCoord - minValueCoord : barWidth,
113
+ width: verticalLayout ? barWidth : maxValueCoord - minValueCoord,
114
114
  color: color,
115
115
  highlightScope: series[seriesId].highlightScope
116
116
  };
@@ -99,7 +99,7 @@ process.env.NODE_ENV !== "production" ? ChartsAxis.propTypes = {
99
99
  * @default xAxisIds[0] The id of the first provided axis
100
100
  */
101
101
  bottomAxis: PropTypes.oneOfType([PropTypes.shape({
102
- axisId: PropTypes.string,
102
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
103
103
  classes: PropTypes.object,
104
104
  disableLine: PropTypes.bool,
105
105
  disableTicks: PropTypes.bool,
@@ -126,7 +126,7 @@ process.env.NODE_ENV !== "production" ? ChartsAxis.propTypes = {
126
126
  * @default yAxisIds[0] The id of the first provided axis
127
127
  */
128
128
  leftAxis: PropTypes.oneOfType([PropTypes.shape({
129
- axisId: PropTypes.string,
129
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
130
130
  classes: PropTypes.object,
131
131
  disableLine: PropTypes.bool,
132
132
  disableTicks: PropTypes.bool,
@@ -153,7 +153,7 @@ process.env.NODE_ENV !== "production" ? ChartsAxis.propTypes = {
153
153
  * @default null
154
154
  */
155
155
  rightAxis: PropTypes.oneOfType([PropTypes.shape({
156
- axisId: PropTypes.string,
156
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
157
157
  classes: PropTypes.object,
158
158
  disableLine: PropTypes.bool,
159
159
  disableTicks: PropTypes.bool,
@@ -190,7 +190,7 @@ process.env.NODE_ENV !== "production" ? ChartsAxis.propTypes = {
190
190
  * @default null
191
191
  */
192
192
  topAxis: PropTypes.oneOfType([PropTypes.shape({
193
- axisId: PropTypes.string,
193
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
194
194
  classes: PropTypes.object,
195
195
  disableLine: PropTypes.bool,
196
196
  disableTicks: PropTypes.bool,
@@ -4,6 +4,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  var _excluded = ["rotate", "dominantBaseline"],
5
5
  _excluded2 = ["label"];
6
6
  import * as React from 'react';
7
+ import PropTypes from 'prop-types';
7
8
  import { useSlotProps } from '@mui/base/utils';
8
9
  import { NoSsr } from '@mui/base/NoSsr';
9
10
  import { unstable_composeClasses as composeClasses } from '@mui/utils';
@@ -248,7 +249,7 @@ function DefaultChartsLegend(props) {
248
249
  })
249
250
  });
250
251
  }
251
- export function ChartsLegend(inProps) {
252
+ function ChartsLegend(inProps) {
252
253
  var _slots$legend;
253
254
  var props = useThemeProps({
254
255
  props: _extends({}, defaultProps, inProps),
@@ -282,4 +283,39 @@ export function ChartsLegend(inProps) {
282
283
  ownerState: {}
283
284
  });
284
285
  return /*#__PURE__*/_jsx(ChartLegendRender, _extends({}, chartLegendRenderProps));
285
- }
286
+ }
287
+ process.env.NODE_ENV !== "production" ? ChartsLegend.propTypes = {
288
+ // ----------------------------- Warning --------------------------------
289
+ // | These PropTypes are generated from the TypeScript type definitions |
290
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
291
+ // ----------------------------------------------------------------------
292
+ /**
293
+ * Override or extend the styles applied to the component.
294
+ */
295
+ classes: PropTypes.object,
296
+ /**
297
+ * The direction of the legend layout.
298
+ * The default depends on the chart.
299
+ */
300
+ direction: PropTypes.oneOf(['column', 'row']),
301
+ /**
302
+ * Set to true to hide the legend.
303
+ * @default false
304
+ */
305
+ hidden: PropTypes.bool,
306
+ position: PropTypes.shape({
307
+ horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
308
+ vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
309
+ }),
310
+ /**
311
+ * The props used for each component slot.
312
+ * @default {}
313
+ */
314
+ slotProps: PropTypes.object,
315
+ /**
316
+ * Overridable component slots.
317
+ * @default {}
318
+ */
319
+ slots: PropTypes.object
320
+ } : void 0;
321
+ export { ChartsLegend };
@@ -5,13 +5,15 @@ import { ChartsXReferenceLine } from './ChartsXReferenceLine';
5
5
  import { ChartsYReferenceLine } from './ChartsYReferenceLine';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  function ChartsReferenceLine(props) {
8
- if (props.x !== undefined && props.y !== undefined) {
8
+ var x = props.x,
9
+ y = props.y;
10
+ if (x !== undefined && y !== undefined) {
9
11
  throw new Error('MUI-X-Charts: The ChartsReferenceLine can not have both `x` and `y` props set.');
10
12
  }
11
- if (props.x === undefined && props.y === undefined) {
13
+ if (x === undefined && y === undefined) {
12
14
  throw new Error('MUI-X-Charts: The ChartsReferenceLine should have a value in `x` or `y` prop.');
13
15
  }
14
- if (props.x !== undefined) {
16
+ if (x !== undefined) {
15
17
  return /*#__PURE__*/_jsx(ChartsXReferenceLine, _extends({}, props));
16
18
  }
17
19
  return /*#__PURE__*/_jsx(ChartsYReferenceLine, _extends({}, props));
@@ -25,7 +27,7 @@ process.env.NODE_ENV !== "production" ? ChartsReferenceLine.propTypes = {
25
27
  * The id of the axis used for the reference value.
26
28
  * @default The `id` of the first defined axis.
27
29
  */
28
- axisId: PropTypes.string,
30
+ axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
29
31
  /**
30
32
  * Override or extend the styles applied to the component.
31
33
  */
@@ -3,18 +3,17 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import { styled } from '@mui/material/styles';
4
4
  import { referenceLineClasses } from './chartsReferenceLineClasses';
5
5
  export var ReferenceLineRoot = styled('g')(function (_ref) {
6
- var _ref2;
7
6
  var theme = _ref.theme;
8
- return _ref2 = {}, _defineProperty(_ref2, "& .".concat(referenceLineClasses.line), {
7
+ return _defineProperty(_defineProperty({}, "& .".concat(referenceLineClasses.line), {
9
8
  fill: 'none',
10
9
  stroke: (theme.vars || theme).palette.text.primary,
11
10
  shapeRendering: 'crispEdges',
12
11
  strokeWidth: 1,
13
12
  pointerEvents: 'none'
14
- }), _defineProperty(_ref2, "& .".concat(referenceLineClasses.label), _extends({
13
+ }), "& .".concat(referenceLineClasses.label), _extends({
15
14
  fill: (theme.vars || theme).palette.text.primary,
16
15
  stroke: 'none',
17
16
  pointerEvents: 'none',
18
17
  fontSize: 12
19
- }, theme.typography.body1)), _ref2;
18
+ }, theme.typography.body1));
20
19
  });
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  var _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className"];
4
4
  import { styled } from '@mui/material/styles';
5
+ import PropTypes from 'prop-types';
5
6
  import * as React from 'react';
6
7
  import { useAxisEvents } from './hooks/useAxisEvents';
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -12,7 +13,7 @@ var ChartChartsSurfaceStyles = styled('svg', {
12
13
  })(function () {
13
14
  return {};
14
15
  });
15
- export var ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(props, ref) {
16
+ var ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(props, ref) {
16
17
  var children = props.children,
17
18
  width = props.width,
18
19
  height = props.height,
@@ -40,4 +41,36 @@ export var ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(
40
41
  children: props.desc
41
42
  }), children]
42
43
  }));
43
- });
44
+ });
45
+ process.env.NODE_ENV !== "production" ? ChartsSurface.propTypes = {
46
+ // ----------------------------- Warning --------------------------------
47
+ // | These PropTypes are generated from the TypeScript type definitions |
48
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
49
+ // ----------------------------------------------------------------------
50
+ children: PropTypes.node,
51
+ className: PropTypes.string,
52
+ desc: PropTypes.string,
53
+ /**
54
+ * If `true`, the charts will not listen to the mouse move event.
55
+ * It might break interactive features, but will improve performance.
56
+ * @default false
57
+ */
58
+ disableAxisListener: PropTypes.bool,
59
+ /**
60
+ * The height of the chart in px.
61
+ */
62
+ height: PropTypes.number.isRequired,
63
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
64
+ title: PropTypes.string,
65
+ viewBox: PropTypes.shape({
66
+ height: PropTypes.number,
67
+ width: PropTypes.number,
68
+ x: PropTypes.number,
69
+ y: PropTypes.number
70
+ }),
71
+ /**
72
+ * The width of the chart in px.
73
+ */
74
+ width: PropTypes.number.isRequired
75
+ } : void 0;
76
+ export { ChartsSurface };
@@ -65,83 +65,31 @@ process.env.NODE_ENV !== "production" ? ChartsAxisTooltipContent.propTypes = {
65
65
  axisData: PropTypes.shape({
66
66
  x: PropTypes.shape({
67
67
  index: PropTypes.number,
68
- value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired
68
+ value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired
69
69
  }),
70
70
  y: PropTypes.shape({
71
71
  index: PropTypes.number,
72
- value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired
72
+ value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired
73
73
  })
74
74
  }).isRequired,
75
75
  classes: PropTypes.object.isRequired,
76
76
  content: PropTypes.elementType,
77
77
  contentProps: PropTypes.shape({
78
- axis: PropTypes.shape({
79
- axisId: PropTypes.string,
80
- classes: PropTypes.object,
81
- data: PropTypes.array,
82
- dataKey: PropTypes.string,
83
- disableLine: PropTypes.bool,
84
- disableTicks: PropTypes.bool,
85
- fill: PropTypes.string,
86
- hideTooltip: PropTypes.bool,
87
- id: PropTypes.string.isRequired,
88
- label: PropTypes.string,
89
- labelFontSize: PropTypes.number,
90
- labelStyle: PropTypes.object,
91
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
92
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
93
- position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
94
- scale: PropTypes.func.isRequired,
95
- scaleType: PropTypes.oneOf(['time']).isRequired,
96
- slotProps: PropTypes.object,
97
- slots: PropTypes.object,
98
- stroke: PropTypes.string,
99
- tickFontSize: PropTypes.number,
100
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
101
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
102
- tickLabelStyle: PropTypes.object,
103
- tickMaxStep: PropTypes.number,
104
- tickMinStep: PropTypes.number,
105
- tickNumber: PropTypes.number.isRequired,
106
- tickSize: PropTypes.number,
107
- valueFormatter: PropTypes.func
108
- }),
78
+ axis: PropTypes.object,
109
79
  axisData: PropTypes.shape({
110
80
  x: PropTypes.shape({
111
81
  index: PropTypes.number,
112
- value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired
82
+ value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired
113
83
  }),
114
84
  y: PropTypes.shape({
115
85
  index: PropTypes.number,
116
- value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired
86
+ value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired
117
87
  })
118
88
  }),
119
89
  axisValue: PropTypes.any,
120
90
  classes: PropTypes.object,
121
91
  dataIndex: PropTypes.number,
122
- series: PropTypes.arrayOf(PropTypes.shape({
123
- area: PropTypes.bool,
124
- color: PropTypes.string.isRequired,
125
- connectNulls: PropTypes.bool,
126
- curve: PropTypes.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
127
- data: PropTypes.arrayOf(PropTypes.number).isRequired,
128
- dataKey: PropTypes.string,
129
- disableHighlight: PropTypes.bool,
130
- highlightScope: PropTypes.shape({
131
- faded: PropTypes.oneOf(['global', 'none', 'series']),
132
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
133
- }),
134
- id: PropTypes.string.isRequired,
135
- label: PropTypes.string,
136
- showMark: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),
137
- stack: PropTypes.string,
138
- stackOffset: PropTypes.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
139
- stackOrder: PropTypes.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
140
- type: PropTypes.oneOf(['line']).isRequired,
141
- valueFormatter: PropTypes.func.isRequired,
142
- xAxisKey: PropTypes.string,
143
- yAxisKey: PropTypes.string
144
- })),
92
+ series: PropTypes.arrayOf(PropTypes.object),
145
93
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
146
94
  }),
147
95
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
@@ -37,17 +37,31 @@ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
37
37
  classes: PropTypes.object,
38
38
  itemData: PropTypes.shape({
39
39
  dataIndex: PropTypes.number,
40
- seriesId: PropTypes.string.isRequired,
40
+ seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
41
41
  type: PropTypes.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
42
42
  }),
43
43
  series: PropTypes.shape({
44
44
  color: PropTypes.string,
45
- data: PropTypes.arrayOf(PropTypes.number).isRequired,
45
+ data: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.arrayOf(PropTypes.number), PropTypes.arrayOf(PropTypes.shape({
46
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
47
+ x: PropTypes.number.isRequired,
48
+ y: PropTypes.number.isRequired
49
+ })), PropTypes.arrayOf(PropTypes.shape({
50
+ color: PropTypes.string.isRequired,
51
+ endAngle: PropTypes.number.isRequired,
52
+ formattedValue: PropTypes.string.isRequired,
53
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
54
+ index: PropTypes.number.isRequired,
55
+ label: PropTypes.string,
56
+ padAngle: PropTypes.number.isRequired,
57
+ startAngle: PropTypes.number.isRequired,
58
+ value: PropTypes.number.isRequired
59
+ }))]).isRequired,
46
60
  highlightScope: PropTypes.shape({
47
61
  faded: PropTypes.oneOf(['global', 'none', 'series']),
48
62
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
49
63
  }),
50
- id: PropTypes.string.isRequired,
64
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
51
65
  type: PropTypes.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired,
52
66
  valueFormatter: PropTypes.func.isRequired
53
67
  }),
@@ -55,7 +69,7 @@ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
55
69
  }),
56
70
  itemData: PropTypes.shape({
57
71
  dataIndex: PropTypes.number,
58
- seriesId: PropTypes.string.isRequired,
72
+ seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
59
73
  type: PropTypes.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
60
74
  }).isRequired,
61
75
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
@@ -45,22 +45,23 @@ export var ChartsTooltipCell = styled('td', {
45
45
  name: 'MuiChartsTooltip',
46
46
  slot: 'Cell'
47
47
  })(function (_ref4) {
48
- var _ref5;
49
48
  var theme = _ref4.theme;
50
- return _ref5 = {
49
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty({
51
50
  verticalAlign: 'middle',
52
51
  color: (theme.vars || theme).palette.text.secondary
53
- }, _defineProperty(_ref5, "&.".concat(chartsTooltipClasses.labelCell), {
52
+ }, "&.".concat(chartsTooltipClasses.labelCell), {
54
53
  paddingLeft: theme.spacing(1)
55
- }), _defineProperty(_ref5, "&.".concat(chartsTooltipClasses.valueCell), {
54
+ }), "&.".concat(chartsTooltipClasses.valueCell), {
56
55
  paddingLeft: theme.spacing(4),
57
56
  color: (theme.vars || theme).palette.text.primary
58
- }), _defineProperty(_ref5, 'td:first-of-type&', {
57
+ }), 'td:first-of-type&', {
59
58
  paddingLeft: theme.spacing(2)
60
- }), _defineProperty(_ref5, 'td:last-of-type&', {
59
+ }), 'td:last-of-type&', {
61
60
  paddingRight: theme.spacing(2)
62
- }), _ref5;
61
+ });
63
62
  });
63
+
64
+ // eslint-disable-next-line material-ui/no-styled-box
64
65
  export var ChartsTooltipMark = styled(Box, {
65
66
  name: 'MuiChartsTooltip',
66
67
  slot: 'Mark'
@@ -80,48 +80,18 @@ process.env.NODE_ENV !== "production" ? DefaultChartsAxisTooltipContent.propType
80
80
  /**
81
81
  * The properties of the triggered axis.
82
82
  */
83
- axis: PropTypes.shape({
84
- axisId: PropTypes.string,
85
- classes: PropTypes.object,
86
- data: PropTypes.array,
87
- dataKey: PropTypes.string,
88
- disableLine: PropTypes.bool,
89
- disableTicks: PropTypes.bool,
90
- fill: PropTypes.string,
91
- hideTooltip: PropTypes.bool,
92
- id: PropTypes.string.isRequired,
93
- label: PropTypes.string,
94
- labelFontSize: PropTypes.number,
95
- labelStyle: PropTypes.object,
96
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
97
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
98
- position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
99
- scale: PropTypes.func.isRequired,
100
- scaleType: PropTypes.oneOf(['time']).isRequired,
101
- slotProps: PropTypes.object,
102
- slots: PropTypes.object,
103
- stroke: PropTypes.string,
104
- tickFontSize: PropTypes.number,
105
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
106
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
107
- tickLabelStyle: PropTypes.object,
108
- tickMaxStep: PropTypes.number,
109
- tickMinStep: PropTypes.number,
110
- tickNumber: PropTypes.number.isRequired,
111
- tickSize: PropTypes.number,
112
- valueFormatter: PropTypes.func
113
- }).isRequired,
83
+ axis: PropTypes.object.isRequired,
114
84
  /**
115
85
  * Data identifying the triggered axis.
116
86
  */
117
87
  axisData: PropTypes.shape({
118
88
  x: PropTypes.shape({
119
89
  index: PropTypes.number,
120
- value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired
90
+ value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired
121
91
  }),
122
92
  y: PropTypes.shape({
123
93
  index: PropTypes.number,
124
- value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired
94
+ value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired
125
95
  })
126
96
  }).isRequired,
127
97
  /**
@@ -139,29 +109,7 @@ process.env.NODE_ENV !== "production" ? DefaultChartsAxisTooltipContent.propType
139
109
  /**
140
110
  * The series linked to the triggered axis.
141
111
  */
142
- series: PropTypes.arrayOf(PropTypes.shape({
143
- area: PropTypes.bool,
144
- color: PropTypes.string.isRequired,
145
- connectNulls: PropTypes.bool,
146
- curve: PropTypes.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
147
- data: PropTypes.arrayOf(PropTypes.number).isRequired,
148
- dataKey: PropTypes.string,
149
- disableHighlight: PropTypes.bool,
150
- highlightScope: PropTypes.shape({
151
- faded: PropTypes.oneOf(['global', 'none', 'series']),
152
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
153
- }),
154
- id: PropTypes.string.isRequired,
155
- label: PropTypes.string,
156
- showMark: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),
157
- stack: PropTypes.string,
158
- stackOffset: PropTypes.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
159
- stackOrder: PropTypes.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
160
- type: PropTypes.oneOf(['line']).isRequired,
161
- valueFormatter: PropTypes.func.isRequired,
162
- xAxisKey: PropTypes.string,
163
- yAxisKey: PropTypes.string
164
- })).isRequired,
112
+ series: PropTypes.arrayOf(PropTypes.object).isRequired,
165
113
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
166
114
  } : void 0;
167
115
  export { DefaultChartsAxisTooltipContent };