@mui/x-charts 7.0.0-beta.1 → 7.0.0-beta.2

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 (152) hide show
  1. package/BarChart/BarChart.js +10 -8
  2. package/BarChart/BarElement.d.ts +20 -13
  3. package/BarChart/BarElement.js +1 -0
  4. package/BarChart/BarPlot.d.ts +3 -5
  5. package/BarChart/BarPlot.js +9 -10
  6. package/CHANGELOG.md +159 -1
  7. package/ChartContainer/ChartContainer.js +6 -4
  8. package/ChartsAxis/ChartsAxis.js +4 -4
  9. package/ChartsLegend/ChartsLegend.d.ts +5 -54
  10. package/ChartsLegend/ChartsLegend.js +2 -307
  11. package/ChartsLegend/DefaultChartsLegend.d.ts +60 -0
  12. package/ChartsLegend/DefaultChartsLegend.js +294 -0
  13. package/ChartsLegend/index.d.ts +1 -0
  14. package/ChartsLegend/index.js +11 -0
  15. package/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  16. package/ChartsReferenceLine/common.d.ts +2 -1
  17. package/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  18. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +1 -1
  19. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  20. package/ChartsTooltip/utils.d.ts +1 -0
  21. package/ChartsTooltip/utils.js +7 -0
  22. package/ChartsXAxis/ChartsXAxis.js +13 -9
  23. package/ChartsYAxis/ChartsYAxis.js +1 -1
  24. package/LineChart/AnimatedArea.js +1 -1
  25. package/LineChart/AnimatedLine.js +1 -1
  26. package/LineChart/AreaElement.d.ts +2 -1
  27. package/LineChart/AreaElement.js +1 -1
  28. package/LineChart/LineChart.js +10 -8
  29. package/LineChart/LineElement.d.ts +2 -1
  30. package/LineChart/LineElement.js +1 -1
  31. package/LineChart/LineHighlightElement.d.ts +3 -2
  32. package/LineChart/LineHighlightElement.js +2 -1
  33. package/LineChart/MarkElement.d.ts +3 -2
  34. package/LineChart/MarkElement.js +1 -0
  35. package/PieChart/PieArc.d.ts +3 -2
  36. package/PieChart/PieArc.js +1 -0
  37. package/PieChart/PieArcLabel.d.ts +3 -2
  38. package/PieChart/PieArcLabel.js +1 -0
  39. package/PieChart/PieArcLabelPlot.js +1 -1
  40. package/PieChart/PieArcPlot.js +1 -1
  41. package/PieChart/PieChart.js +10 -8
  42. package/ResponsiveChartContainer/ResponsiveChartContainer.js +6 -4
  43. package/ScatterChart/ScatterChart.js +10 -8
  44. package/SparkLineChart/SparkLineChart.d.ts +1 -1
  45. package/SparkLineChart/SparkLineChart.js +5 -4
  46. package/context/CartesianContextProvider.js +8 -6
  47. package/esm/BarChart/BarChart.js +10 -8
  48. package/esm/BarChart/BarElement.js +1 -0
  49. package/esm/BarChart/BarPlot.js +8 -10
  50. package/esm/ChartContainer/ChartContainer.js +6 -4
  51. package/esm/ChartsAxis/ChartsAxis.js +4 -4
  52. package/esm/ChartsLegend/ChartsLegend.js +2 -307
  53. package/esm/ChartsLegend/DefaultChartsLegend.js +286 -0
  54. package/esm/ChartsLegend/index.js +1 -0
  55. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  56. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  57. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  58. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  59. package/esm/ChartsTooltip/utils.js +6 -0
  60. package/esm/ChartsXAxis/ChartsXAxis.js +13 -9
  61. package/esm/ChartsYAxis/ChartsYAxis.js +1 -1
  62. package/esm/LineChart/AnimatedArea.js +1 -1
  63. package/esm/LineChart/AnimatedLine.js +1 -1
  64. package/esm/LineChart/AreaElement.js +1 -1
  65. package/esm/LineChart/LineChart.js +10 -8
  66. package/esm/LineChart/LineElement.js +1 -1
  67. package/esm/LineChart/LineHighlightElement.js +2 -1
  68. package/esm/LineChart/MarkElement.js +1 -0
  69. package/esm/PieChart/PieArc.js +1 -0
  70. package/esm/PieChart/PieArcLabel.js +1 -0
  71. package/esm/PieChart/PieArcLabelPlot.js +1 -1
  72. package/esm/PieChart/PieArcPlot.js +1 -1
  73. package/esm/PieChart/PieChart.js +10 -8
  74. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +6 -4
  75. package/esm/ScatterChart/ScatterChart.js +10 -8
  76. package/esm/SparkLineChart/SparkLineChart.js +5 -4
  77. package/esm/context/CartesianContextProvider.js +8 -6
  78. package/index.js +1 -1
  79. package/internals/defaultizeColor.d.ts +16 -16
  80. package/internals/defaultizeValueFormatter.d.ts +4 -7
  81. package/internals/stackSeries.d.ts +4 -7
  82. package/legacy/BarChart/BarChart.js +10 -8
  83. package/legacy/BarChart/BarElement.js +1 -0
  84. package/legacy/BarChart/BarPlot.js +10 -10
  85. package/legacy/ChartContainer/ChartContainer.js +6 -4
  86. package/legacy/ChartsAxis/ChartsAxis.js +4 -4
  87. package/legacy/ChartsLegend/ChartsLegend.js +2 -323
  88. package/legacy/ChartsLegend/DefaultChartsLegend.js +302 -0
  89. package/legacy/ChartsLegend/index.js +1 -0
  90. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  91. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  92. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  93. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  94. package/legacy/ChartsTooltip/utils.js +6 -0
  95. package/legacy/ChartsXAxis/ChartsXAxis.js +12 -8
  96. package/legacy/ChartsYAxis/ChartsYAxis.js +1 -1
  97. package/legacy/LineChart/AnimatedArea.js +1 -1
  98. package/legacy/LineChart/AnimatedLine.js +1 -1
  99. package/legacy/LineChart/AreaElement.js +1 -1
  100. package/legacy/LineChart/LineChart.js +10 -8
  101. package/legacy/LineChart/LineElement.js +1 -1
  102. package/legacy/LineChart/LineHighlightElement.js +2 -1
  103. package/legacy/LineChart/MarkElement.js +1 -0
  104. package/legacy/PieChart/PieArc.js +1 -0
  105. package/legacy/PieChart/PieArcLabel.js +1 -0
  106. package/legacy/PieChart/PieArcLabelPlot.js +1 -1
  107. package/legacy/PieChart/PieArcPlot.js +1 -1
  108. package/legacy/PieChart/PieChart.js +10 -8
  109. package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +6 -4
  110. package/legacy/ScatterChart/ScatterChart.js +10 -8
  111. package/legacy/SparkLineChart/SparkLineChart.js +6 -5
  112. package/legacy/context/CartesianContextProvider.js +8 -6
  113. package/legacy/index.js +1 -1
  114. package/models/axis.d.ts +7 -2
  115. package/models/seriesType/common.d.ts +2 -1
  116. package/models/seriesType/config.d.ts +7 -12
  117. package/models/seriesType/line.d.ts +2 -2
  118. package/models/seriesType/pie.d.ts +7 -3
  119. package/models/seriesType/scatter.d.ts +5 -2
  120. package/modern/BarChart/BarChart.js +10 -8
  121. package/modern/BarChart/BarElement.js +1 -0
  122. package/modern/BarChart/BarPlot.js +8 -10
  123. package/modern/ChartContainer/ChartContainer.js +6 -4
  124. package/modern/ChartsAxis/ChartsAxis.js +4 -4
  125. package/modern/ChartsLegend/ChartsLegend.js +2 -307
  126. package/modern/ChartsLegend/DefaultChartsLegend.js +286 -0
  127. package/modern/ChartsLegend/index.js +1 -0
  128. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  129. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
  130. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -2
  131. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  132. package/modern/ChartsTooltip/utils.js +6 -0
  133. package/modern/ChartsXAxis/ChartsXAxis.js +13 -9
  134. package/modern/ChartsYAxis/ChartsYAxis.js +1 -1
  135. package/modern/LineChart/AnimatedArea.js +1 -1
  136. package/modern/LineChart/AnimatedLine.js +1 -1
  137. package/modern/LineChart/AreaElement.js +1 -1
  138. package/modern/LineChart/LineChart.js +10 -8
  139. package/modern/LineChart/LineElement.js +1 -1
  140. package/modern/LineChart/LineHighlightElement.js +2 -1
  141. package/modern/LineChart/MarkElement.js +1 -0
  142. package/modern/PieChart/PieArc.js +1 -0
  143. package/modern/PieChart/PieArcLabel.js +1 -0
  144. package/modern/PieChart/PieArcLabelPlot.js +1 -1
  145. package/modern/PieChart/PieArcPlot.js +1 -1
  146. package/modern/PieChart/PieChart.js +10 -8
  147. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +6 -4
  148. package/modern/ScatterChart/ScatterChart.js +10 -8
  149. package/modern/SparkLineChart/SparkLineChart.js +5 -4
  150. package/modern/context/CartesianContextProvider.js +8 -6
  151. package/modern/index.js +1 -1
  152. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
1
  export * from './ChartsLegend';
2
+ export * from './DefaultChartsLegend';
2
3
  export * from './chartsLegendClasses';
3
4
  export * from './utils';
@@ -14,6 +14,17 @@ Object.keys(_ChartsLegend).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
+ var _DefaultChartsLegend = require("./DefaultChartsLegend");
18
+ Object.keys(_DefaultChartsLegend).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _DefaultChartsLegend[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _DefaultChartsLegend[key];
25
+ }
26
+ });
27
+ });
17
28
  var _chartsLegendClasses = require("./chartsLegendClasses");
18
29
  Object.keys(_chartsLegendClasses).forEach(function (key) {
19
30
  if (key === "default" || key === "__esModule") return;
@@ -19,7 +19,7 @@ function ChartsReferenceLine(props) {
19
19
  y
20
20
  } = props;
21
21
  if (x !== undefined && y !== undefined) {
22
- throw new Error('MUI X Charts: The ChartsReferenceLine can not have both `x` and `y` props set.');
22
+ throw new Error('MUI X Charts: The ChartsReferenceLine cannot have both `x` and `y` props set.');
23
23
  }
24
24
  if (x === undefined && y === undefined) {
25
25
  throw new Error('MUI X Charts: The ChartsReferenceLine should have a value in `x` or `y` prop.');
@@ -38,7 +38,7 @@ process.env.NODE_ENV !== "production" ? ChartsReferenceLine.propTypes = {
38
38
  * The id of the axis used for the reference value.
39
39
  * @default The `id` of the first defined axis.
40
40
  */
41
- axisId: _propTypes.default.string,
41
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
42
42
  /**
43
43
  * Override or extend the styles applied to the component.
44
44
  */
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { ChartsReferenceLineClasses } from './chartsReferenceLineClasses';
3
3
  import { ChartsTextStyle } from '../ChartsText';
4
+ import { AxisId } from '../models/axis';
4
5
  export type CommonChartsReferenceLineProps = {
5
6
  /**
6
7
  * The alignment if the label is in the chart drawing area.
@@ -24,7 +25,7 @@ export type CommonChartsReferenceLineProps = {
24
25
  * The id of the axis used for the reference value.
25
26
  * @default The `id` of the first defined axis.
26
27
  */
27
- axisId?: string;
28
+ axisId?: AxisId;
28
29
  /**
29
30
  * The style applied to the label.
30
31
  */
@@ -48,7 +48,7 @@ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
48
48
  classes: _propTypes.default.object,
49
49
  itemData: _propTypes.default.shape({
50
50
  dataIndex: _propTypes.default.number,
51
- seriesId: _propTypes.default.string.isRequired,
51
+ seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
52
52
  type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
53
53
  }),
54
54
  series: _propTypes.default.object,
@@ -56,7 +56,7 @@ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
56
56
  }),
57
57
  itemData: _propTypes.default.shape({
58
58
  dataIndex: _propTypes.default.number,
59
- seriesId: _propTypes.default.string.isRequired,
59
+ seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
60
60
  type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
61
61
  }).isRequired,
62
62
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
@@ -26,7 +26,7 @@ function DefaultChartsAxisTooltipContent(props) {
26
26
  if (dataIndex == null) {
27
27
  return null;
28
28
  }
29
- const axisFormatter = axis.valueFormatter ?? (v => v.toLocaleString());
29
+ const axisFormatter = axis.valueFormatter ?? (v => axis.scaleType === 'utc' ? (0, _utils.utcFormatter)(v) : v.toLocaleString());
30
30
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
31
31
  sx: sx,
32
32
  className: classes.root,
@@ -76,7 +76,7 @@ process.env.NODE_ENV !== "production" ? DefaultChartsItemTooltipContent.propType
76
76
  */
77
77
  itemData: _propTypes.default.shape({
78
78
  dataIndex: _propTypes.default.number,
79
- seriesId: _propTypes.default.string.isRequired,
79
+ seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
80
80
  type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
81
81
  }).isRequired,
82
82
  /**
@@ -24,3 +24,4 @@ export type TriggerOptions = 'item' | 'axis' | 'none';
24
24
  export declare function getTooltipHasData(trigger: TriggerOptions, displayedData: null | AxisInteractionData | ItemInteractionData<ChartSeriesType>): boolean;
25
25
  export declare function isCartesianSeriesType(seriesType: string): seriesType is CartesianChartSeriesType;
26
26
  export declare function isCartesianSeries(series: ChartSeriesDefaultized<ChartSeriesType>): series is ChartSeriesDefaultized<CartesianChartSeriesType>;
27
+ export declare function utcFormatter(v: string | number | Date): string;
@@ -8,6 +8,7 @@ exports.getTooltipHasData = getTooltipHasData;
8
8
  exports.isCartesianSeries = isCartesianSeries;
9
9
  exports.isCartesianSeriesType = isCartesianSeriesType;
10
10
  exports.useMouseTracker = useMouseTracker;
11
+ exports.utcFormatter = utcFormatter;
11
12
  var React = _interopRequireWildcard(require("react"));
12
13
  var _DrawingProvider = require("../context/DrawingProvider");
13
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -96,4 +97,10 @@ function isCartesianSeriesType(seriesType) {
96
97
  }
97
98
  function isCartesianSeries(series) {
98
99
  return isCartesianSeriesType(series.type);
100
+ }
101
+ function utcFormatter(v) {
102
+ if (v instanceof Date) {
103
+ return v.toUTCString();
104
+ }
105
+ return v.toLocaleString();
99
106
  }
@@ -22,7 +22,7 @@ var _geometry = require("../internals/geometry");
22
22
  var _useMounted = require("../hooks/useMounted");
23
23
  var _getWordsByLines = require("../internals/getWordsByLines");
24
24
  var _jsxRuntime = require("react/jsx-runtime");
25
- const _excluded = ["scale", "tickNumber"];
25
+ const _excluded = ["scale", "tickNumber", "reverse"];
26
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
27
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
28
28
  const useUtilityClasses = ownerState => {
@@ -43,6 +43,7 @@ const useUtilityClasses = ownerState => {
43
43
  function addLabelDimension(xTicks, {
44
44
  tickLabelStyle: style,
45
45
  tickLabelInterval,
46
+ reverse,
46
47
  isMounted
47
48
  }) {
48
49
  const withDimension = xTicks.map(tick => {
@@ -69,8 +70,9 @@ function addLabelDimension(xTicks, {
69
70
  }
70
71
 
71
72
  // Filter label to avoid overlap
72
- let textStart = 0;
73
- let textEnd = 0;
73
+ let currentTextLimit = 0;
74
+ let previouseTextLimit = 0;
75
+ const direction = reverse ? -1 : 1;
74
76
  return withDimension.map((item, labelIndex) => {
75
77
  const {
76
78
  width,
@@ -82,15 +84,15 @@ function addLabelDimension(xTicks, {
82
84
  const textPosition = offset + labelOffset;
83
85
  const gapRatio = 1.2; // Ratio applied to the minimal distance to add some margin.
84
86
 
85
- textStart = textPosition - gapRatio * distance / 2;
86
- if (labelIndex > 0 && textStart < textEnd) {
87
+ currentTextLimit = textPosition - direction * (gapRatio * distance) / 2;
88
+ if (labelIndex > 0 && direction * currentTextLimit < direction * previouseTextLimit) {
87
89
  // Except for the first label, we skip all label that overlap with the last accepted.
88
- // Notice that the early return prevents `textEnd` from being updated.
90
+ // Notice that the early return prevents `previouseTextLimit` from being updated.
89
91
  return (0, _extends2.default)({}, item, {
90
92
  skipLabel: true
91
93
  });
92
94
  }
93
- textEnd = textPosition + gapRatio * distance / 2;
95
+ previouseTextLimit = textPosition + direction * (gapRatio * distance) / 2;
94
96
  return item;
95
97
  });
96
98
  }
@@ -124,7 +126,8 @@ function ChartsXAxis(inProps) {
124
126
  xAxis: {
125
127
  [_ref]: {
126
128
  scale: xScale,
127
- tickNumber
129
+ tickNumber,
130
+ reverse
128
131
  }
129
132
  }
130
133
  } = _React$useContext,
@@ -186,6 +189,7 @@ function ChartsXAxis(inProps) {
186
189
  const xTicksWithDimension = addLabelDimension(xTicks, {
187
190
  tickLabelStyle: axisTickLabelProps.style,
188
191
  tickLabelInterval,
192
+ reverse,
189
193
  isMounted
190
194
  });
191
195
  const labelRefPoint = {
@@ -249,7 +253,7 @@ process.env.NODE_ENV !== "production" ? ChartsXAxis.propTypes = {
249
253
  * The id of the axis to render.
250
254
  * If undefined, it will be the first defined axis.
251
255
  */
252
- axisId: _propTypes.default.string,
256
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
253
257
  /**
254
258
  * Override or extend the styles applied to the component.
255
259
  */
@@ -183,7 +183,7 @@ process.env.NODE_ENV !== "production" ? ChartsYAxis.propTypes = {
183
183
  * The id of the axis to render.
184
184
  * If undefined, it will be the first defined axis.
185
185
  */
186
- axisId: _propTypes.default.string,
186
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
187
187
  /**
188
188
  * Override or extend the styles applied to the component.
189
189
  */
@@ -99,7 +99,7 @@ process.env.NODE_ENV !== "production" ? AnimatedArea.propTypes = {
99
99
  ownerState: _propTypes.default.shape({
100
100
  classes: _propTypes.default.object,
101
101
  color: _propTypes.default.string.isRequired,
102
- id: _propTypes.default.string.isRequired,
102
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
103
103
  isFaded: _propTypes.default.bool.isRequired,
104
104
  isHighlighted: _propTypes.default.bool.isRequired
105
105
  }).isRequired,
@@ -101,7 +101,7 @@ process.env.NODE_ENV !== "production" ? AnimatedLine.propTypes = {
101
101
  ownerState: _propTypes.default.shape({
102
102
  classes: _propTypes.default.object,
103
103
  color: _propTypes.default.string.isRequired,
104
- id: _propTypes.default.string.isRequired,
104
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
105
105
  isFaded: _propTypes.default.bool.isRequired,
106
106
  isHighlighted: _propTypes.default.bool.isRequired
107
107
  }).isRequired,
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { HighlightScope } from '../context/HighlightProvider';
3
3
  import { AnimatedAreaProps } from './AnimatedArea';
4
+ import { SeriesId } from '../models/seriesType/common';
4
5
  export interface AreaElementClasses {
5
6
  /** Styles applied to the root element. */
6
7
  root: string;
@@ -11,7 +12,7 @@ export interface AreaElementClasses {
11
12
  }
12
13
  export type AreaElementClassKey = keyof AreaElementClasses;
13
14
  export interface AreaElementOwnerState {
14
- id: string;
15
+ id: SeriesId;
15
16
  color: string;
16
17
  isFaded: boolean;
17
18
  isHighlighted: boolean;
@@ -107,7 +107,7 @@ process.env.NODE_ENV !== "production" ? AreaElement.propTypes = {
107
107
  faded: _propTypes.default.oneOf(['global', 'none', 'series']),
108
108
  highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
109
109
  }),
110
- id: _propTypes.default.string.isRequired,
110
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
111
111
  /**
112
112
  * If `true`, animations are skipped.
113
113
  * @default false
@@ -151,7 +151,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
151
151
  * @default xAxisIds[0] The id of the first provided axis
152
152
  */
153
153
  bottomAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
154
- axisId: _propTypes.default.string,
154
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
155
155
  classes: _propTypes.default.object,
156
156
  disableLine: _propTypes.default.bool,
157
157
  disableTicks: _propTypes.default.bool,
@@ -205,7 +205,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
205
205
  * @default yAxisIds[0] The id of the first provided axis
206
206
  */
207
207
  leftAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
208
- axisId: _propTypes.default.string,
208
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
209
209
  classes: _propTypes.default.object,
210
210
  disableLine: _propTypes.default.bool,
211
211
  disableTicks: _propTypes.default.bool,
@@ -268,7 +268,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
268
268
  * @default null
269
269
  */
270
270
  rightAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
271
- axisId: _propTypes.default.string,
271
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
272
272
  classes: _propTypes.default.object,
273
273
  disableLine: _propTypes.default.bool,
274
274
  disableTicks: _propTypes.default.bool,
@@ -321,7 +321,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
321
321
  * @default null
322
322
  */
323
323
  topAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
324
- axisId: _propTypes.default.string,
324
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
325
325
  classes: _propTypes.default.object,
326
326
  disableLine: _propTypes.default.bool,
327
327
  disableTicks: _propTypes.default.bool,
@@ -358,7 +358,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
358
358
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
359
359
  */
360
360
  xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
361
- axisId: _propTypes.default.string,
361
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
362
362
  classes: _propTypes.default.object,
363
363
  data: _propTypes.default.array,
364
364
  dataKey: _propTypes.default.string,
@@ -366,13 +366,14 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
366
366
  disableTicks: _propTypes.default.bool,
367
367
  fill: _propTypes.default.string,
368
368
  hideTooltip: _propTypes.default.bool,
369
- id: _propTypes.default.string,
369
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
370
370
  label: _propTypes.default.string,
371
371
  labelFontSize: _propTypes.default.number,
372
372
  labelStyle: _propTypes.default.object,
373
373
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
374
374
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
375
375
  position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
376
+ reverse: _propTypes.default.bool,
376
377
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
377
378
  slotProps: _propTypes.default.object,
378
379
  slots: _propTypes.default.object,
@@ -392,7 +393,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
392
393
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
393
394
  */
394
395
  yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
395
- axisId: _propTypes.default.string,
396
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
396
397
  classes: _propTypes.default.object,
397
398
  data: _propTypes.default.array,
398
399
  dataKey: _propTypes.default.string,
@@ -400,13 +401,14 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
400
401
  disableTicks: _propTypes.default.bool,
401
402
  fill: _propTypes.default.string,
402
403
  hideTooltip: _propTypes.default.bool,
403
- id: _propTypes.default.string,
404
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
404
405
  label: _propTypes.default.string,
405
406
  labelFontSize: _propTypes.default.number,
406
407
  labelStyle: _propTypes.default.object,
407
408
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
408
409
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
409
410
  position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
411
+ reverse: _propTypes.default.bool,
410
412
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
411
413
  slotProps: _propTypes.default.object,
412
414
  slots: _propTypes.default.object,
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { HighlightScope } from '../context/HighlightProvider';
3
3
  import { AnimatedLineProps } from './AnimatedLine';
4
+ import { SeriesId } from '../models/seriesType/common';
4
5
  export interface LineElementClasses {
5
6
  /** Styles applied to the root element. */
6
7
  root: string;
@@ -11,7 +12,7 @@ export interface LineElementClasses {
11
12
  }
12
13
  export type LineElementClassKey = keyof LineElementClasses;
13
14
  export interface LineElementOwnerState {
14
- id: string;
15
+ id: SeriesId;
15
16
  color: string;
16
17
  isFaded: boolean;
17
18
  isHighlighted: boolean;
@@ -107,7 +107,7 @@ process.env.NODE_ENV !== "production" ? LineElement.propTypes = {
107
107
  faded: _propTypes.default.oneOf(['global', 'none', 'series']),
108
108
  highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
109
109
  }),
110
- id: _propTypes.default.string.isRequired,
110
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
111
111
  /**
112
112
  * If `true`, animations are skipped.
113
113
  * @default false
@@ -1,11 +1,12 @@
1
1
  import * as React from 'react';
2
+ import { SeriesId } from '../models/seriesType/common';
2
3
  export interface LineHighlightElementClasses {
3
4
  /** Styles applied to the root element. */
4
5
  root: string;
5
6
  }
6
7
  export type HighlightElementClassKey = keyof LineHighlightElementClasses;
7
8
  interface LineHighlightElementOwnerState {
8
- id: string;
9
+ id: SeriesId;
9
10
  color: string;
10
11
  x: number;
11
12
  y: number;
@@ -13,7 +14,7 @@ interface LineHighlightElementOwnerState {
13
14
  }
14
15
  export declare function getHighlightElementUtilityClass(slot: string): string;
15
16
  export declare const lineHighlightElementClasses: LineHighlightElementClasses;
16
- export type LineHighlightElementProps = LineHighlightElementOwnerState & React.ComponentPropsWithoutRef<'circle'> & {};
17
+ export type LineHighlightElementProps = LineHighlightElementOwnerState & Omit<React.ComponentPropsWithoutRef<'circle'>, 'id'> & {};
17
18
  /**
18
19
  * Demos:
19
20
  *
@@ -85,5 +85,6 @@ process.env.NODE_ENV !== "production" ? LineHighlightElement.propTypes = {
85
85
  // | These PropTypes are generated from the TypeScript type definitions |
86
86
  // | To update them edit the TypeScript types and run "yarn proptypes" |
87
87
  // ----------------------------------------------------------------------
88
- classes: _propTypes.default.object
88
+ classes: _propTypes.default.object,
89
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired
89
90
  } : void 0;
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { HighlightScope } from '../context/HighlightProvider';
3
+ import { SeriesId } from '../models/seriesType/common';
3
4
  export interface MarkElementClasses {
4
5
  /** Styles applied to the root element. */
5
6
  root: string;
@@ -10,7 +11,7 @@ export interface MarkElementClasses {
10
11
  }
11
12
  export type MarkElementClassKey = keyof MarkElementClasses;
12
13
  interface MarkElementOwnerState {
13
- id: string;
14
+ id: SeriesId;
14
15
  color: string;
15
16
  isFaded: boolean;
16
17
  isHighlighted: boolean;
@@ -18,7 +19,7 @@ interface MarkElementOwnerState {
18
19
  }
19
20
  export declare function getMarkElementUtilityClass(slot: string): string;
20
21
  export declare const markElementClasses: MarkElementClasses;
21
- export type MarkElementProps = Omit<MarkElementOwnerState, 'isFaded' | 'isHighlighted'> & React.ComponentPropsWithoutRef<'path'> & {
22
+ export type MarkElementProps = Omit<MarkElementOwnerState, 'isFaded' | 'isHighlighted'> & Omit<React.ComponentPropsWithoutRef<'path'>, 'id'> & {
22
23
  /**
23
24
  * If `true`, animations are skipped.
24
25
  * @default false
@@ -147,6 +147,7 @@ process.env.NODE_ENV !== "production" ? MarkElement.propTypes = {
147
147
  faded: _propTypes.default.oneOf(['global', 'none', 'series']),
148
148
  highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
149
149
  }),
150
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
150
151
  /**
151
152
  * The shape of the marker.
152
153
  */
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { SpringValue } from '@react-spring/web';
3
3
  import { HighlightScope } from '../context/HighlightProvider';
4
+ import { PieItemId } from '../models';
4
5
  export interface PieArcClasses {
5
6
  /** Styles applied to the root element. */
6
7
  root: string;
@@ -11,7 +12,7 @@ export interface PieArcClasses {
11
12
  }
12
13
  export type PieArcClassKey = keyof PieArcClasses;
13
14
  interface PieArcOwnerState {
14
- id: string;
15
+ id: PieItemId;
15
16
  dataIndex: number;
16
17
  color: string;
17
18
  isFaded: boolean;
@@ -20,7 +21,7 @@ interface PieArcOwnerState {
20
21
  }
21
22
  export declare function getPieArcUtilityClass(slot: string): string;
22
23
  export declare const pieArcClasses: PieArcClasses;
23
- export type PieArcProps = PieArcOwnerState & React.ComponentPropsWithoutRef<'path'> & {
24
+ export type PieArcProps = Omit<React.ComponentPropsWithoutRef<'path'>, 'id'> & PieArcOwnerState & {
24
25
  startAngle: SpringValue<number>;
25
26
  endAngle: SpringValue<number>;
26
27
  innerRadius: SpringValue<number>;
@@ -106,6 +106,7 @@ process.env.NODE_ENV !== "production" ? PieArc.propTypes = {
106
106
  faded: _propTypes.default.oneOf(['global', 'none', 'series']),
107
107
  highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
108
108
  }),
109
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
109
110
  isFaded: _propTypes.default.bool.isRequired,
110
111
  isHighlighted: _propTypes.default.bool.isRequired
111
112
  } : void 0;
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { SpringValue } from '@react-spring/web';
3
+ import { PieItemId } from '../models/seriesType/pie';
3
4
  export interface PieArcLabelClasses {
4
5
  /** Styles applied to the root element. */
5
6
  root: string;
@@ -10,7 +11,7 @@ export interface PieArcLabelClasses {
10
11
  }
11
12
  export type PieArcLabelClassKey = keyof PieArcLabelClasses;
12
13
  interface PieArcLabelOwnerState {
13
- id: string;
14
+ id: PieItemId;
14
15
  color: string;
15
16
  isFaded: boolean;
16
17
  isHighlighted: boolean;
@@ -18,7 +19,7 @@ interface PieArcLabelOwnerState {
18
19
  }
19
20
  export declare function getPieArcLabelUtilityClass(slot: string): string;
20
21
  export declare const pieArcLabelClasses: PieArcLabelClasses;
21
- export type PieArcLabelProps = PieArcLabelOwnerState & React.ComponentPropsWithoutRef<'text'> & {
22
+ export type PieArcLabelProps = PieArcLabelOwnerState & Omit<React.ComponentPropsWithoutRef<'text'>, 'id'> & {
22
23
  startAngle: SpringValue<number>;
23
24
  endAngle: SpringValue<number>;
24
25
  innerRadius: SpringValue<number>;
@@ -109,6 +109,7 @@ process.env.NODE_ENV !== "production" ? PieArcLabel.propTypes = {
109
109
  // ----------------------------------------------------------------------
110
110
  classes: _propTypes.default.object,
111
111
  formattedArcLabel: _propTypes.default.string,
112
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
112
113
  isFaded: _propTypes.default.bool.isRequired,
113
114
  isHighlighted: _propTypes.default.bool.isRequired
114
115
  } : void 0;
@@ -166,7 +166,7 @@ process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
166
166
  faded: _propTypes.default.oneOf(['global', 'none', 'series']),
167
167
  highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
168
168
  }),
169
- id: _propTypes.default.string.isRequired,
169
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
170
170
  /**
171
171
  * The radius between circle center and the begining of the arc.
172
172
  * @default 0
@@ -146,7 +146,7 @@ process.env.NODE_ENV !== "production" ? PieArcPlot.propTypes = {
146
146
  faded: _propTypes.default.oneOf(['global', 'none', 'series']),
147
147
  highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
148
148
  }),
149
- id: _propTypes.default.string.isRequired,
149
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
150
150
  /**
151
151
  * The radius between circle center and the begining of the arc.
152
152
  * @default 0
@@ -119,7 +119,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
119
119
  * @default null
120
120
  */
121
121
  bottomAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
122
- axisId: _propTypes.default.string,
122
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
123
123
  classes: _propTypes.default.object,
124
124
  disableLine: _propTypes.default.bool,
125
125
  disableTicks: _propTypes.default.bool,
@@ -169,7 +169,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
169
169
  * @default null
170
170
  */
171
171
  leftAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
172
- axisId: _propTypes.default.string,
172
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
173
173
  classes: _propTypes.default.object,
174
174
  disableLine: _propTypes.default.bool,
175
175
  disableTicks: _propTypes.default.bool,
@@ -223,7 +223,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
223
223
  * @default null
224
224
  */
225
225
  rightAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
226
- axisId: _propTypes.default.string,
226
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
227
227
  classes: _propTypes.default.object,
228
228
  disableLine: _propTypes.default.bool,
229
229
  disableTicks: _propTypes.default.bool,
@@ -272,7 +272,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
272
272
  * @default null
273
273
  */
274
274
  topAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
275
- axisId: _propTypes.default.string,
275
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
276
276
  classes: _propTypes.default.object,
277
277
  disableLine: _propTypes.default.bool,
278
278
  disableTicks: _propTypes.default.bool,
@@ -309,7 +309,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
309
309
  * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
310
310
  */
311
311
  xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
312
- axisId: _propTypes.default.string,
312
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
313
313
  classes: _propTypes.default.object,
314
314
  data: _propTypes.default.array,
315
315
  dataKey: _propTypes.default.string,
@@ -317,13 +317,14 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
317
317
  disableTicks: _propTypes.default.bool,
318
318
  fill: _propTypes.default.string,
319
319
  hideTooltip: _propTypes.default.bool,
320
- id: _propTypes.default.string,
320
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
321
321
  label: _propTypes.default.string,
322
322
  labelFontSize: _propTypes.default.number,
323
323
  labelStyle: _propTypes.default.object,
324
324
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
325
325
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
326
326
  position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
327
+ reverse: _propTypes.default.bool,
327
328
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
328
329
  slotProps: _propTypes.default.object,
329
330
  slots: _propTypes.default.object,
@@ -343,7 +344,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
343
344
  * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
344
345
  */
345
346
  yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
346
- axisId: _propTypes.default.string,
347
+ axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
347
348
  classes: _propTypes.default.object,
348
349
  data: _propTypes.default.array,
349
350
  dataKey: _propTypes.default.string,
@@ -351,13 +352,14 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
351
352
  disableTicks: _propTypes.default.bool,
352
353
  fill: _propTypes.default.string,
353
354
  hideTooltip: _propTypes.default.bool,
354
- id: _propTypes.default.string,
355
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
355
356
  label: _propTypes.default.string,
356
357
  labelFontSize: _propTypes.default.number,
357
358
  labelStyle: _propTypes.default.object,
358
359
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
359
360
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
360
361
  position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
362
+ reverse: _propTypes.default.bool,
361
363
  scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
362
364
  slotProps: _propTypes.default.object,
363
365
  slots: _propTypes.default.object,