@mui/x-charts 7.0.0-alpha.8 → 7.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/BarChart/BarChart.js +1 -19
  2. package/BarChart/formatter.js +1 -1
  3. package/CHANGELOG.md +508 -30
  4. package/ChartContainer/ChartContainer.d.ts +12 -0
  5. package/ChartContainer/ChartContainer.js +197 -0
  6. package/ChartContainer/index.d.ts +1 -11
  7. package/ChartContainer/index.js +9 -63
  8. package/ChartsTooltip/ChartsAxisTooltipContent.js +2 -54
  9. package/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
  10. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -54
  11. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +3 -15
  12. package/LineChart/LineChart.js +1 -23
  13. package/LineChart/formatter.js +6 -2
  14. package/PieChart/PieArcLabel.js +1 -1
  15. package/PieChart/PieChart.js +1 -46
  16. package/README.md +3 -3
  17. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +16 -0
  18. package/ResponsiveChartContainer/ResponsiveChartContainer.js +250 -0
  19. package/ResponsiveChartContainer/index.d.ts +1 -15
  20. package/ResponsiveChartContainer/index.js +8 -113
  21. package/ScatterChart/Scatter.js +1 -20
  22. package/ScatterChart/ScatterChart.js +1 -20
  23. package/SparkLineChart/SparkLineChart.d.ts +2 -2
  24. package/SparkLineChart/SparkLineChart.js +2 -2
  25. package/esm/BarChart/BarChart.js +1 -19
  26. package/esm/BarChart/formatter.js +1 -1
  27. package/esm/ChartContainer/ChartContainer.js +189 -0
  28. package/esm/ChartContainer/index.js +1 -61
  29. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +2 -54
  30. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
  31. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -54
  32. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +4 -15
  33. package/esm/LineChart/LineChart.js +1 -23
  34. package/esm/LineChart/formatter.js +6 -2
  35. package/esm/PieChart/PieArcLabel.js +1 -1
  36. package/esm/PieChart/PieChart.js +1 -46
  37. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +245 -0
  38. package/esm/ResponsiveChartContainer/index.js +1 -115
  39. package/esm/ScatterChart/Scatter.js +1 -20
  40. package/esm/ScatterChart/ScatterChart.js +1 -20
  41. package/esm/SparkLineChart/SparkLineChart.js +2 -2
  42. package/esm/hooks/useAxisEvents.js +1 -3
  43. package/esm/internals/stackSeries.js +5 -3
  44. package/esm/models/index.js +1 -0
  45. package/esm/models/stacking.js +1 -0
  46. package/hooks/useAxisEvents.js +1 -3
  47. package/index.js +1 -1
  48. package/internals/defaultizeColor.d.ts +9 -9
  49. package/internals/stackSeries.d.ts +8 -3
  50. package/internals/stackSeries.js +4 -3
  51. package/legacy/BarChart/BarChart.js +1 -19
  52. package/legacy/BarChart/formatter.js +1 -1
  53. package/legacy/ChartContainer/ChartContainer.js +187 -0
  54. package/legacy/ChartContainer/index.js +1 -59
  55. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +2 -54
  56. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
  57. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -54
  58. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +4 -15
  59. package/legacy/LineChart/LineChart.js +1 -23
  60. package/legacy/LineChart/formatter.js +7 -3
  61. package/legacy/PieChart/PieArcLabel.js +3 -1
  62. package/legacy/PieChart/PieChart.js +1 -46
  63. package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +253 -0
  64. package/legacy/ResponsiveChartContainer/index.js +1 -123
  65. package/legacy/ScatterChart/Scatter.js +1 -20
  66. package/legacy/ScatterChart/ScatterChart.js +1 -20
  67. package/legacy/SparkLineChart/SparkLineChart.js +2 -2
  68. package/legacy/hooks/useAxisEvents.js +1 -3
  69. package/legacy/index.js +1 -1
  70. package/legacy/internals/stackSeries.js +5 -3
  71. package/legacy/models/index.js +1 -0
  72. package/legacy/models/stacking.js +1 -0
  73. package/models/index.d.ts +1 -0
  74. package/models/index.js +11 -0
  75. package/models/seriesType/bar.d.ts +8 -2
  76. package/models/seriesType/common.d.ts +3 -4
  77. package/models/seriesType/index.d.ts +0 -1
  78. package/models/seriesType/line.d.ts +7 -1
  79. package/models/stacking.d.ts +2 -0
  80. package/models/stacking.js +5 -0
  81. package/modern/BarChart/BarChart.js +1 -19
  82. package/modern/BarChart/formatter.js +1 -1
  83. package/modern/ChartContainer/ChartContainer.js +189 -0
  84. package/modern/ChartContainer/index.js +1 -61
  85. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +2 -54
  86. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
  87. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +2 -54
  88. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +3 -15
  89. package/modern/LineChart/LineChart.js +1 -23
  90. package/modern/LineChart/formatter.js +6 -2
  91. package/modern/PieChart/PieArcLabel.js +1 -1
  92. package/modern/PieChart/PieChart.js +1 -46
  93. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +242 -0
  94. package/modern/ResponsiveChartContainer/index.js +1 -112
  95. package/modern/ScatterChart/Scatter.js +1 -20
  96. package/modern/ScatterChart/ScatterChart.js +1 -20
  97. package/modern/SparkLineChart/SparkLineChart.js +2 -2
  98. package/modern/hooks/useAxisEvents.js +1 -3
  99. package/modern/index.js +1 -1
  100. package/modern/internals/stackSeries.js +4 -3
  101. package/modern/models/index.js +1 -0
  102. package/modern/models/stacking.js +1 -0
  103. package/package.json +7 -7
@@ -0,0 +1,189 @@
1
+ import * as React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import useForkRef from '@mui/utils/useForkRef';
4
+ import { DrawingProvider } from '../context/DrawingProvider';
5
+ import { SeriesContextProvider } from '../context/SeriesContextProvider';
6
+ import { InteractionProvider } from '../context/InteractionProvider';
7
+ import { useReducedMotion } from '../hooks/useReducedMotion';
8
+ import { ChartsSurface } from '../ChartsSurface';
9
+ import { CartesianContextProvider } from '../context/CartesianContextProvider';
10
+ import { HighlightProvider } from '../context/HighlightProvider';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ const ChartContainer = /*#__PURE__*/React.forwardRef(function ChartContainer(props, ref) {
13
+ const {
14
+ width,
15
+ height,
16
+ series,
17
+ margin,
18
+ xAxis,
19
+ yAxis,
20
+ colors,
21
+ dataset,
22
+ sx,
23
+ title,
24
+ desc,
25
+ disableAxisListener,
26
+ children
27
+ } = props;
28
+ const svgRef = React.useRef(null);
29
+ const handleRef = useForkRef(ref, svgRef);
30
+ useReducedMotion(); // a11y reduce motion (see: https://react-spring.dev/docs/utilities/use-reduced-motion)
31
+
32
+ return /*#__PURE__*/_jsx(DrawingProvider, {
33
+ width: width,
34
+ height: height,
35
+ margin: margin,
36
+ svgRef: svgRef,
37
+ children: /*#__PURE__*/_jsx(SeriesContextProvider, {
38
+ series: series,
39
+ colors: colors,
40
+ dataset: dataset,
41
+ children: /*#__PURE__*/_jsx(CartesianContextProvider, {
42
+ xAxis: xAxis,
43
+ yAxis: yAxis,
44
+ dataset: dataset,
45
+ children: /*#__PURE__*/_jsx(InteractionProvider, {
46
+ children: /*#__PURE__*/_jsx(HighlightProvider, {
47
+ children: /*#__PURE__*/_jsx(ChartsSurface, {
48
+ width: width,
49
+ height: height,
50
+ ref: handleRef,
51
+ sx: sx,
52
+ title: title,
53
+ desc: desc,
54
+ disableAxisListener: disableAxisListener,
55
+ children: children
56
+ })
57
+ })
58
+ })
59
+ })
60
+ })
61
+ });
62
+ });
63
+ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
64
+ // ----------------------------- Warning --------------------------------
65
+ // | These PropTypes are generated from the TypeScript type definitions |
66
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
67
+ // ----------------------------------------------------------------------
68
+ children: PropTypes.node,
69
+ className: PropTypes.string,
70
+ /**
71
+ * Color palette used to colorize multiple series.
72
+ * @default blueberryTwilightPalette
73
+ */
74
+ colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
75
+ /**
76
+ * An array of objects that can be used to populate series and axes data using their `dataKey` property.
77
+ */
78
+ dataset: PropTypes.arrayOf(PropTypes.object),
79
+ desc: PropTypes.string,
80
+ /**
81
+ * If `true`, the charts will not listen to the mouse move event.
82
+ * It might break interactive features, but will improve performance.
83
+ * @default false
84
+ */
85
+ disableAxisListener: PropTypes.bool,
86
+ /**
87
+ * The height of the chart in px.
88
+ */
89
+ height: PropTypes.number.isRequired,
90
+ /**
91
+ * The margin between the SVG and the drawing area.
92
+ * It's used for leaving some space for extra information such as the x- and y-axis or legend.
93
+ * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
94
+ * @default object Depends on the charts type.
95
+ */
96
+ margin: PropTypes.shape({
97
+ bottom: PropTypes.number,
98
+ left: PropTypes.number,
99
+ right: PropTypes.number,
100
+ top: PropTypes.number
101
+ }),
102
+ /**
103
+ * The array of series to display.
104
+ * Each type of series has its own specificity.
105
+ * Please refer to the appropriate docs page to learn more about it.
106
+ */
107
+ series: PropTypes.arrayOf(PropTypes.object).isRequired,
108
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
109
+ title: PropTypes.string,
110
+ viewBox: PropTypes.shape({
111
+ height: PropTypes.number,
112
+ width: PropTypes.number,
113
+ x: PropTypes.number,
114
+ y: PropTypes.number
115
+ }),
116
+ /**
117
+ * The width of the chart in px.
118
+ */
119
+ width: PropTypes.number.isRequired,
120
+ /**
121
+ * The configuration of the x-axes.
122
+ * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
123
+ */
124
+ xAxis: PropTypes.arrayOf(PropTypes.shape({
125
+ axisId: PropTypes.string,
126
+ classes: PropTypes.object,
127
+ data: PropTypes.array,
128
+ dataKey: PropTypes.string,
129
+ disableLine: PropTypes.bool,
130
+ disableTicks: PropTypes.bool,
131
+ fill: PropTypes.string,
132
+ hideTooltip: PropTypes.bool,
133
+ id: PropTypes.string,
134
+ label: PropTypes.string,
135
+ labelFontSize: PropTypes.number,
136
+ labelStyle: PropTypes.object,
137
+ max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
138
+ min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
139
+ position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
140
+ scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
141
+ slotProps: PropTypes.object,
142
+ slots: PropTypes.object,
143
+ stroke: PropTypes.string,
144
+ tickFontSize: PropTypes.number,
145
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
146
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
147
+ tickLabelStyle: PropTypes.object,
148
+ tickMaxStep: PropTypes.number,
149
+ tickMinStep: PropTypes.number,
150
+ tickNumber: PropTypes.number,
151
+ tickSize: PropTypes.number,
152
+ valueFormatter: PropTypes.func
153
+ })),
154
+ /**
155
+ * The configuration of the y-axes.
156
+ * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
157
+ */
158
+ yAxis: PropTypes.arrayOf(PropTypes.shape({
159
+ axisId: PropTypes.string,
160
+ classes: PropTypes.object,
161
+ data: PropTypes.array,
162
+ dataKey: PropTypes.string,
163
+ disableLine: PropTypes.bool,
164
+ disableTicks: PropTypes.bool,
165
+ fill: PropTypes.string,
166
+ hideTooltip: PropTypes.bool,
167
+ id: PropTypes.string,
168
+ label: PropTypes.string,
169
+ labelFontSize: PropTypes.number,
170
+ labelStyle: PropTypes.object,
171
+ max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
172
+ min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
173
+ position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
174
+ scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
175
+ slotProps: PropTypes.object,
176
+ slots: PropTypes.object,
177
+ stroke: PropTypes.string,
178
+ tickFontSize: PropTypes.number,
179
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
180
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
181
+ tickLabelStyle: PropTypes.object,
182
+ tickMaxStep: PropTypes.number,
183
+ tickMinStep: PropTypes.number,
184
+ tickNumber: PropTypes.number,
185
+ tickSize: PropTypes.number,
186
+ valueFormatter: PropTypes.func
187
+ }))
188
+ } : void 0;
189
+ export { ChartContainer };
@@ -1,61 +1 @@
1
- import * as React from 'react';
2
- import useForkRef from '@mui/utils/useForkRef';
3
- import { DrawingProvider } from '../context/DrawingProvider';
4
- import { SeriesContextProvider } from '../context/SeriesContextProvider';
5
- import { InteractionProvider } from '../context/InteractionProvider';
6
- import { useReducedMotion } from '../hooks/useReducedMotion';
7
- import { ChartsSurface } from '../ChartsSurface';
8
- import { CartesianContextProvider } from '../context/CartesianContextProvider';
9
- import { HighlightProvider } from '../context/HighlightProvider';
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- export const ChartContainer = /*#__PURE__*/React.forwardRef(function ChartContainer(props, ref) {
12
- const {
13
- width,
14
- height,
15
- series,
16
- margin,
17
- xAxis,
18
- yAxis,
19
- colors,
20
- dataset,
21
- sx,
22
- title,
23
- desc,
24
- disableAxisListener,
25
- children
26
- } = props;
27
- const svgRef = React.useRef(null);
28
- const handleRef = useForkRef(ref, svgRef);
29
- useReducedMotion(); // a11y reduce motion (see: https://react-spring.dev/docs/utilities/use-reduced-motion)
30
-
31
- return /*#__PURE__*/_jsx(DrawingProvider, {
32
- width: width,
33
- height: height,
34
- margin: margin,
35
- svgRef: svgRef,
36
- children: /*#__PURE__*/_jsx(SeriesContextProvider, {
37
- series: series,
38
- colors: colors,
39
- dataset: dataset,
40
- children: /*#__PURE__*/_jsx(CartesianContextProvider, {
41
- xAxis: xAxis,
42
- yAxis: yAxis,
43
- dataset: dataset,
44
- children: /*#__PURE__*/_jsx(InteractionProvider, {
45
- children: /*#__PURE__*/_jsx(HighlightProvider, {
46
- children: /*#__PURE__*/_jsx(ChartsSurface, {
47
- width: width,
48
- height: height,
49
- ref: handleRef,
50
- sx: sx,
51
- title: title,
52
- desc: desc,
53
- disableAxisListener: disableAxisListener,
54
- children: children
55
- })
56
- })
57
- })
58
- })
59
- })
60
- });
61
- });
1
+ export * from './ChartContainer';
@@ -76,37 +76,7 @@ process.env.NODE_ENV !== "production" ? ChartsAxisTooltipContent.propTypes = {
76
76
  classes: PropTypes.object.isRequired,
77
77
  content: PropTypes.elementType,
78
78
  contentProps: PropTypes.shape({
79
- axis: PropTypes.shape({
80
- axisId: PropTypes.string,
81
- classes: PropTypes.object,
82
- data: PropTypes.array,
83
- dataKey: PropTypes.string,
84
- disableLine: PropTypes.bool,
85
- disableTicks: PropTypes.bool,
86
- fill: PropTypes.string,
87
- hideTooltip: PropTypes.bool,
88
- id: PropTypes.string.isRequired,
89
- label: PropTypes.string,
90
- labelFontSize: PropTypes.number,
91
- labelStyle: PropTypes.object,
92
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
93
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
94
- position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
95
- scale: PropTypes.func.isRequired,
96
- scaleType: PropTypes.oneOf(['time']).isRequired,
97
- slotProps: PropTypes.object,
98
- slots: PropTypes.object,
99
- stroke: PropTypes.string,
100
- tickFontSize: PropTypes.number,
101
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
102
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
103
- tickLabelStyle: PropTypes.object,
104
- tickMaxStep: PropTypes.number,
105
- tickMinStep: PropTypes.number,
106
- tickNumber: PropTypes.number.isRequired,
107
- tickSize: PropTypes.number,
108
- valueFormatter: PropTypes.func
109
- }),
79
+ axis: PropTypes.object,
110
80
  axisData: PropTypes.shape({
111
81
  x: PropTypes.shape({
112
82
  index: PropTypes.number,
@@ -120,29 +90,7 @@ process.env.NODE_ENV !== "production" ? ChartsAxisTooltipContent.propTypes = {
120
90
  axisValue: PropTypes.any,
121
91
  classes: PropTypes.object,
122
92
  dataIndex: PropTypes.number,
123
- series: PropTypes.arrayOf(PropTypes.shape({
124
- area: PropTypes.bool,
125
- color: PropTypes.string.isRequired,
126
- connectNulls: PropTypes.bool,
127
- curve: PropTypes.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
128
- data: PropTypes.arrayOf(PropTypes.number).isRequired,
129
- dataKey: PropTypes.string,
130
- disableHighlight: PropTypes.bool,
131
- highlightScope: PropTypes.shape({
132
- faded: PropTypes.oneOf(['global', 'none', 'series']),
133
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
134
- }),
135
- id: PropTypes.string.isRequired,
136
- label: PropTypes.string,
137
- showMark: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),
138
- stack: PropTypes.string,
139
- stackOffset: PropTypes.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
140
- stackOrder: PropTypes.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
141
- type: PropTypes.oneOf(['line']).isRequired,
142
- valueFormatter: PropTypes.func.isRequired,
143
- xAxisKey: PropTypes.string,
144
- yAxisKey: PropTypes.string
145
- })),
93
+ series: PropTypes.arrayOf(PropTypes.object),
146
94
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
147
95
  }),
148
96
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
@@ -42,17 +42,7 @@ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
42
42
  seriesId: PropTypes.string.isRequired,
43
43
  type: PropTypes.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
44
44
  }),
45
- series: PropTypes.shape({
46
- color: PropTypes.string,
47
- data: PropTypes.arrayOf(PropTypes.number).isRequired,
48
- highlightScope: PropTypes.shape({
49
- faded: PropTypes.oneOf(['global', 'none', 'series']),
50
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
51
- }),
52
- id: PropTypes.string.isRequired,
53
- type: PropTypes.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired,
54
- valueFormatter: PropTypes.func.isRequired
55
- }),
45
+ series: PropTypes.object,
56
46
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
57
47
  }),
58
48
  itemData: PropTypes.shape({
@@ -81,37 +81,7 @@ process.env.NODE_ENV !== "production" ? DefaultChartsAxisTooltipContent.propType
81
81
  /**
82
82
  * The properties of the triggered axis.
83
83
  */
84
- axis: PropTypes.shape({
85
- axisId: PropTypes.string,
86
- classes: PropTypes.object,
87
- data: PropTypes.array,
88
- dataKey: PropTypes.string,
89
- disableLine: PropTypes.bool,
90
- disableTicks: PropTypes.bool,
91
- fill: PropTypes.string,
92
- hideTooltip: PropTypes.bool,
93
- id: PropTypes.string.isRequired,
94
- label: PropTypes.string,
95
- labelFontSize: PropTypes.number,
96
- labelStyle: PropTypes.object,
97
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
98
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
99
- position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
100
- scale: PropTypes.func.isRequired,
101
- scaleType: PropTypes.oneOf(['time']).isRequired,
102
- slotProps: PropTypes.object,
103
- slots: PropTypes.object,
104
- stroke: PropTypes.string,
105
- tickFontSize: PropTypes.number,
106
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
107
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
108
- tickLabelStyle: PropTypes.object,
109
- tickMaxStep: PropTypes.number,
110
- tickMinStep: PropTypes.number,
111
- tickNumber: PropTypes.number.isRequired,
112
- tickSize: PropTypes.number,
113
- valueFormatter: PropTypes.func
114
- }).isRequired,
84
+ axis: PropTypes.object.isRequired,
115
85
  /**
116
86
  * Data identifying the triggered axis.
117
87
  */
@@ -140,29 +110,7 @@ process.env.NODE_ENV !== "production" ? DefaultChartsAxisTooltipContent.propType
140
110
  /**
141
111
  * The series linked to the triggered axis.
142
112
  */
143
- series: PropTypes.arrayOf(PropTypes.shape({
144
- area: PropTypes.bool,
145
- color: PropTypes.string.isRequired,
146
- connectNulls: PropTypes.bool,
147
- curve: PropTypes.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
148
- data: PropTypes.arrayOf(PropTypes.number).isRequired,
149
- dataKey: PropTypes.string,
150
- disableHighlight: PropTypes.bool,
151
- highlightScope: PropTypes.shape({
152
- faded: PropTypes.oneOf(['global', 'none', 'series']),
153
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
154
- }),
155
- id: PropTypes.string.isRequired,
156
- label: PropTypes.string,
157
- showMark: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),
158
- stack: PropTypes.string,
159
- stackOffset: PropTypes.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
160
- stackOrder: PropTypes.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
161
- type: PropTypes.oneOf(['line']).isRequired,
162
- valueFormatter: PropTypes.func.isRequired,
163
- xAxisKey: PropTypes.string,
164
- yAxisKey: PropTypes.string
165
- })).isRequired,
113
+ series: PropTypes.arrayOf(PropTypes.object).isRequired,
166
114
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
167
115
  } : void 0;
168
116
  export { DefaultChartsAxisTooltipContent };
@@ -5,6 +5,7 @@ import { ChartsTooltipTable, ChartsTooltipCell, ChartsTooltipMark, ChartsTooltip
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  import { jsxs as _jsxs } from "react/jsx-runtime";
7
7
  function DefaultChartsItemTooltipContent(props) {
8
+ var _series$valueFormatte;
8
9
  const {
9
10
  series,
10
11
  itemData,
@@ -24,10 +25,8 @@ function DefaultChartsItemTooltipContent(props) {
24
25
  color: series.color,
25
26
  displayedLabel: series.label
26
27
  };
27
-
28
- // TODO: Manage to let TS understand series.data and series.valueFormatter are coherent
29
- // @ts-ignore
30
- const formattedValue = series.valueFormatter(series.data[itemData.dataIndex]);
28
+ const value = series.data[itemData.dataIndex];
29
+ const formattedValue = (_series$valueFormatte = series.valueFormatter) == null ? void 0 : _series$valueFormatte.call(series, value);
31
30
  return /*#__PURE__*/_jsx(ChartsTooltipPaper, {
32
31
  sx: sx,
33
32
  className: classes.root,
@@ -76,17 +75,7 @@ process.env.NODE_ENV !== "production" ? DefaultChartsItemTooltipContent.propType
76
75
  /**
77
76
  * The series linked to the triggered axis.
78
77
  */
79
- series: PropTypes.shape({
80
- color: PropTypes.string,
81
- data: PropTypes.arrayOf(PropTypes.number).isRequired,
82
- highlightScope: PropTypes.shape({
83
- faded: PropTypes.oneOf(['global', 'none', 'series']),
84
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
85
- }),
86
- id: PropTypes.string.isRequired,
87
- type: PropTypes.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired,
88
- valueFormatter: PropTypes.func.isRequired
89
- }).isRequired,
78
+ series: PropTypes.object.isRequired,
90
79
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
91
80
  } : void 0;
92
81
  export { DefaultChartsItemTooltipContent };
@@ -260,29 +260,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
260
260
  tickNumber: PropTypes.number,
261
261
  tickSize: PropTypes.number
262
262
  }), PropTypes.string]),
263
- series: PropTypes.arrayOf(PropTypes.shape({
264
- area: PropTypes.bool,
265
- color: PropTypes.string,
266
- connectNulls: PropTypes.bool,
267
- curve: PropTypes.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
268
- data: PropTypes.arrayOf(PropTypes.number),
269
- dataKey: PropTypes.string,
270
- disableHighlight: PropTypes.bool,
271
- highlightScope: PropTypes.shape({
272
- faded: PropTypes.oneOf(['global', 'none', 'series']),
273
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
274
- }),
275
- id: PropTypes.string,
276
- label: PropTypes.string,
277
- showMark: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),
278
- stack: PropTypes.string,
279
- stackOffset: PropTypes.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
280
- stackOrder: PropTypes.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
281
- type: PropTypes.oneOf(['line']),
282
- valueFormatter: PropTypes.func,
283
- xAxisKey: PropTypes.string,
284
- yAxisKey: PropTypes.string
285
- })).isRequired,
263
+ series: PropTypes.arrayOf(PropTypes.object).isRequired,
286
264
  /**
287
265
  * The props used for each component slot.
288
266
  * @default {}
@@ -11,7 +11,11 @@ const formatter = (params, dataset) => {
11
11
  seriesOrder,
12
12
  series
13
13
  } = params;
14
- const stackingGroups = getStackingGroups(params);
14
+ const stackingGroups = getStackingGroups(_extends({}, params, {
15
+ defaultStrategy: {
16
+ stackOffset: 'none'
17
+ }
18
+ }));
15
19
 
16
20
  // Create a data set with format adapted to d3
17
21
  const d3Dataset = (_ref = dataset) != null ? _ref : [];
@@ -69,7 +73,7 @@ const formatter = (params, dataset) => {
69
73
  return {
70
74
  seriesOrder,
71
75
  stackingGroups,
72
- series: defaultizeValueFormatter(completedSeries, v => v == null ? void 0 : v.toLocaleString())
76
+ series: defaultizeValueFormatter(completedSeries, v => v === null ? '' : v.toLocaleString())
73
77
  };
74
78
  };
75
79
  export default formatter;
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "style"];
3
+ const _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "style"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { animated, to } from '@react-spring/web';
@@ -236,52 +236,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
236
236
  tickNumber: PropTypes.number,
237
237
  tickSize: PropTypes.number
238
238
  }), PropTypes.string]),
239
- series: PropTypes.arrayOf(PropTypes.shape({
240
- arcLabel: PropTypes.oneOfType([PropTypes.oneOf(['formattedValue', 'label', 'value']), PropTypes.func]),
241
- arcLabelMinAngle: PropTypes.number,
242
- arcLabelRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
243
- color: PropTypes.string,
244
- cornerRadius: PropTypes.number,
245
- cx: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
246
- cy: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
247
- data: PropTypes.arrayOf(PropTypes.shape({
248
- color: PropTypes.string,
249
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
250
- label: PropTypes.string,
251
- value: PropTypes.number.isRequired
252
- })).isRequired,
253
- endAngle: PropTypes.number,
254
- faded: PropTypes.shape({
255
- additionalRadius: PropTypes.number,
256
- arcLabelRadius: PropTypes.number,
257
- color: PropTypes.string,
258
- cornerRadius: PropTypes.number,
259
- innerRadius: PropTypes.number,
260
- outerRadius: PropTypes.number,
261
- paddingAngle: PropTypes.number
262
- }),
263
- highlighted: PropTypes.shape({
264
- additionalRadius: PropTypes.number,
265
- arcLabelRadius: PropTypes.number,
266
- color: PropTypes.string,
267
- cornerRadius: PropTypes.number,
268
- innerRadius: PropTypes.number,
269
- outerRadius: PropTypes.number,
270
- paddingAngle: PropTypes.number
271
- }),
272
- highlightScope: PropTypes.shape({
273
- faded: PropTypes.oneOf(['global', 'none', 'series']),
274
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
275
- }),
276
- id: PropTypes.string,
277
- innerRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
278
- outerRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
279
- paddingAngle: PropTypes.number,
280
- sortingValues: PropTypes.oneOfType([PropTypes.oneOf(['asc', 'desc', 'none']), PropTypes.func]),
281
- startAngle: PropTypes.number,
282
- type: PropTypes.oneOf(['pie']),
283
- valueFormatter: PropTypes.func
284
- })).isRequired,
239
+ series: PropTypes.arrayOf(PropTypes.object).isRequired,
285
240
  /**
286
241
  * If `true`, animations are skiped.
287
242
  * @default false