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