@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,12 @@
1
+ import * as React from 'react';
2
+ import { DrawingProviderProps } from '../context/DrawingProvider';
3
+ import { SeriesContextProviderProps } from '../context/SeriesContextProvider';
4
+ import { ChartsSurfaceProps } from '../ChartsSurface';
5
+ import { CartesianContextProviderProps } from '../context/CartesianContextProvider';
6
+ export type ChartContainerProps = Omit<ChartsSurfaceProps & SeriesContextProviderProps & Omit<DrawingProviderProps, 'svgRef'> & CartesianContextProviderProps, 'children'> & {
7
+ children?: React.ReactNode;
8
+ };
9
+ declare const ChartContainer: React.ForwardRefExoticComponent<Omit<ChartsSurfaceProps & SeriesContextProviderProps & Omit<DrawingProviderProps, "svgRef"> & CartesianContextProviderProps, "children"> & {
10
+ children?: React.ReactNode;
11
+ } & React.RefAttributes<unknown>>;
12
+ export { ChartContainer };
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ChartContainer = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
11
+ var _DrawingProvider = require("../context/DrawingProvider");
12
+ var _SeriesContextProvider = require("../context/SeriesContextProvider");
13
+ var _InteractionProvider = require("../context/InteractionProvider");
14
+ var _useReducedMotion = require("../hooks/useReducedMotion");
15
+ var _ChartsSurface = require("../ChartsSurface");
16
+ var _CartesianContextProvider = require("../context/CartesianContextProvider");
17
+ var _HighlightProvider = require("../context/HighlightProvider");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ 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); }
20
+ 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; }
21
+ const ChartContainer = exports.ChartContainer = /*#__PURE__*/React.forwardRef(function ChartContainer(props, ref) {
22
+ const {
23
+ width,
24
+ height,
25
+ series,
26
+ margin,
27
+ xAxis,
28
+ yAxis,
29
+ colors,
30
+ dataset,
31
+ sx,
32
+ title,
33
+ desc,
34
+ disableAxisListener,
35
+ children
36
+ } = props;
37
+ const svgRef = React.useRef(null);
38
+ const handleRef = (0, _useForkRef.default)(ref, svgRef);
39
+ (0, _useReducedMotion.useReducedMotion)(); // a11y reduce motion (see: https://react-spring.dev/docs/utilities/use-reduced-motion)
40
+
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DrawingProvider.DrawingProvider, {
42
+ width: width,
43
+ height: height,
44
+ margin: margin,
45
+ svgRef: svgRef,
46
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SeriesContextProvider.SeriesContextProvider, {
47
+ series: series,
48
+ colors: colors,
49
+ dataset: dataset,
50
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CartesianContextProvider.CartesianContextProvider, {
51
+ xAxis: xAxis,
52
+ yAxis: yAxis,
53
+ dataset: dataset,
54
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_InteractionProvider.InteractionProvider, {
55
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_HighlightProvider.HighlightProvider, {
56
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsSurface.ChartsSurface, {
57
+ width: width,
58
+ height: height,
59
+ ref: handleRef,
60
+ sx: sx,
61
+ title: title,
62
+ desc: desc,
63
+ disableAxisListener: disableAxisListener,
64
+ children: children
65
+ })
66
+ })
67
+ })
68
+ })
69
+ })
70
+ });
71
+ });
72
+ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
73
+ // ----------------------------- Warning --------------------------------
74
+ // | These PropTypes are generated from the TypeScript type definitions |
75
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
76
+ // ----------------------------------------------------------------------
77
+ children: _propTypes.default.node,
78
+ className: _propTypes.default.string,
79
+ /**
80
+ * Color palette used to colorize multiple series.
81
+ * @default blueberryTwilightPalette
82
+ */
83
+ colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
84
+ /**
85
+ * An array of objects that can be used to populate series and axes data using their `dataKey` property.
86
+ */
87
+ dataset: _propTypes.default.arrayOf(_propTypes.default.object),
88
+ desc: _propTypes.default.string,
89
+ /**
90
+ * If `true`, the charts will not listen to the mouse move event.
91
+ * It might break interactive features, but will improve performance.
92
+ * @default false
93
+ */
94
+ disableAxisListener: _propTypes.default.bool,
95
+ /**
96
+ * The height of the chart in px.
97
+ */
98
+ height: _propTypes.default.number.isRequired,
99
+ /**
100
+ * The margin between the SVG and the drawing area.
101
+ * It's used for leaving some space for extra information such as the x- and y-axis or legend.
102
+ * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
103
+ * @default object Depends on the charts type.
104
+ */
105
+ margin: _propTypes.default.shape({
106
+ bottom: _propTypes.default.number,
107
+ left: _propTypes.default.number,
108
+ right: _propTypes.default.number,
109
+ top: _propTypes.default.number
110
+ }),
111
+ /**
112
+ * The array of series to display.
113
+ * Each type of series has its own specificity.
114
+ * Please refer to the appropriate docs page to learn more about it.
115
+ */
116
+ series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
117
+ 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]),
118
+ title: _propTypes.default.string,
119
+ viewBox: _propTypes.default.shape({
120
+ height: _propTypes.default.number,
121
+ width: _propTypes.default.number,
122
+ x: _propTypes.default.number,
123
+ y: _propTypes.default.number
124
+ }),
125
+ /**
126
+ * The width of the chart in px.
127
+ */
128
+ width: _propTypes.default.number.isRequired,
129
+ /**
130
+ * The configuration of the x-axes.
131
+ * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
132
+ */
133
+ xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
134
+ axisId: _propTypes.default.string,
135
+ classes: _propTypes.default.object,
136
+ data: _propTypes.default.array,
137
+ dataKey: _propTypes.default.string,
138
+ disableLine: _propTypes.default.bool,
139
+ disableTicks: _propTypes.default.bool,
140
+ fill: _propTypes.default.string,
141
+ hideTooltip: _propTypes.default.bool,
142
+ id: _propTypes.default.string,
143
+ label: _propTypes.default.string,
144
+ labelFontSize: _propTypes.default.number,
145
+ labelStyle: _propTypes.default.object,
146
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
147
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
148
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
149
+ scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
150
+ slotProps: _propTypes.default.object,
151
+ slots: _propTypes.default.object,
152
+ stroke: _propTypes.default.string,
153
+ tickFontSize: _propTypes.default.number,
154
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
155
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
156
+ tickLabelStyle: _propTypes.default.object,
157
+ tickMaxStep: _propTypes.default.number,
158
+ tickMinStep: _propTypes.default.number,
159
+ tickNumber: _propTypes.default.number,
160
+ tickSize: _propTypes.default.number,
161
+ valueFormatter: _propTypes.default.func
162
+ })),
163
+ /**
164
+ * The configuration of the y-axes.
165
+ * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
166
+ */
167
+ yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
168
+ axisId: _propTypes.default.string,
169
+ classes: _propTypes.default.object,
170
+ data: _propTypes.default.array,
171
+ dataKey: _propTypes.default.string,
172
+ disableLine: _propTypes.default.bool,
173
+ disableTicks: _propTypes.default.bool,
174
+ fill: _propTypes.default.string,
175
+ hideTooltip: _propTypes.default.bool,
176
+ id: _propTypes.default.string,
177
+ label: _propTypes.default.string,
178
+ labelFontSize: _propTypes.default.number,
179
+ labelStyle: _propTypes.default.object,
180
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
181
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
182
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
183
+ scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
184
+ slotProps: _propTypes.default.object,
185
+ slots: _propTypes.default.object,
186
+ stroke: _propTypes.default.string,
187
+ tickFontSize: _propTypes.default.number,
188
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
189
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
190
+ tickLabelStyle: _propTypes.default.object,
191
+ tickMaxStep: _propTypes.default.number,
192
+ tickMinStep: _propTypes.default.number,
193
+ tickNumber: _propTypes.default.number,
194
+ tickSize: _propTypes.default.number,
195
+ valueFormatter: _propTypes.default.func
196
+ }))
197
+ } : void 0;
@@ -1,11 +1 @@
1
- import * as React from 'react';
2
- import { DrawingProviderProps } from '../context/DrawingProvider';
3
- import { SeriesContextProviderProps } from '../context/SeriesContextProvider';
4
- import { ChartsSurfaceProps } from '../ChartsSurface';
5
- import { CartesianContextProviderProps } from '../context/CartesianContextProvider';
6
- export type ChartContainerProps = Omit<ChartsSurfaceProps & SeriesContextProviderProps & Omit<DrawingProviderProps, 'svgRef'> & CartesianContextProviderProps, 'children'> & {
7
- children?: React.ReactNode;
8
- };
9
- export declare const ChartContainer: React.ForwardRefExoticComponent<Omit<ChartsSurfaceProps & SeriesContextProviderProps & Omit<DrawingProviderProps, "svgRef"> & CartesianContextProviderProps, "children"> & {
10
- children?: React.ReactNode;
11
- } & React.RefAttributes<unknown>>;
1
+ export * from './ChartContainer';
@@ -1,70 +1,16 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.ChartContainer = void 0;
8
- var React = _interopRequireWildcard(require("react"));
9
- var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
10
- var _DrawingProvider = require("../context/DrawingProvider");
11
- var _SeriesContextProvider = require("../context/SeriesContextProvider");
12
- var _InteractionProvider = require("../context/InteractionProvider");
13
- var _useReducedMotion = require("../hooks/useReducedMotion");
14
- var _ChartsSurface = require("../ChartsSurface");
15
- var _CartesianContextProvider = require("../context/CartesianContextProvider");
16
- var _HighlightProvider = require("../context/HighlightProvider");
17
- var _jsxRuntime = require("react/jsx-runtime");
18
- 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); }
19
- 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; }
20
- const ChartContainer = exports.ChartContainer = /*#__PURE__*/React.forwardRef(function ChartContainer(props, ref) {
21
- const {
22
- width,
23
- height,
24
- series,
25
- margin,
26
- xAxis,
27
- yAxis,
28
- colors,
29
- dataset,
30
- sx,
31
- title,
32
- desc,
33
- disableAxisListener,
34
- children
35
- } = props;
36
- const svgRef = React.useRef(null);
37
- const handleRef = (0, _useForkRef.default)(ref, svgRef);
38
- (0, _useReducedMotion.useReducedMotion)(); // a11y reduce motion (see: https://react-spring.dev/docs/utilities/use-reduced-motion)
39
-
40
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DrawingProvider.DrawingProvider, {
41
- width: width,
42
- height: height,
43
- margin: margin,
44
- svgRef: svgRef,
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SeriesContextProvider.SeriesContextProvider, {
46
- series: series,
47
- colors: colors,
48
- dataset: dataset,
49
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CartesianContextProvider.CartesianContextProvider, {
50
- xAxis: xAxis,
51
- yAxis: yAxis,
52
- dataset: dataset,
53
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_InteractionProvider.InteractionProvider, {
54
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_HighlightProvider.HighlightProvider, {
55
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsSurface.ChartsSurface, {
56
- width: width,
57
- height: height,
58
- ref: handleRef,
59
- sx: sx,
60
- title: title,
61
- desc: desc,
62
- disableAxisListener: disableAxisListener,
63
- children: children
64
- })
65
- })
66
- })
67
- })
68
- })
6
+ var _ChartContainer = require("./ChartContainer");
7
+ Object.keys(_ChartContainer).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _ChartContainer[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _ChartContainer[key];
14
+ }
69
15
  });
70
16
  });
@@ -85,37 +85,7 @@ process.env.NODE_ENV !== "production" ? ChartsAxisTooltipContent.propTypes = {
85
85
  classes: _propTypes.default.object.isRequired,
86
86
  content: _propTypes.default.elementType,
87
87
  contentProps: _propTypes.default.shape({
88
- axis: _propTypes.default.shape({
89
- axisId: _propTypes.default.string,
90
- classes: _propTypes.default.object,
91
- data: _propTypes.default.array,
92
- dataKey: _propTypes.default.string,
93
- disableLine: _propTypes.default.bool,
94
- disableTicks: _propTypes.default.bool,
95
- fill: _propTypes.default.string,
96
- hideTooltip: _propTypes.default.bool,
97
- id: _propTypes.default.string.isRequired,
98
- label: _propTypes.default.string,
99
- labelFontSize: _propTypes.default.number,
100
- labelStyle: _propTypes.default.object,
101
- max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
102
- min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
103
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
104
- scale: _propTypes.default.func.isRequired,
105
- scaleType: _propTypes.default.oneOf(['time']).isRequired,
106
- slotProps: _propTypes.default.object,
107
- slots: _propTypes.default.object,
108
- stroke: _propTypes.default.string,
109
- tickFontSize: _propTypes.default.number,
110
- tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
111
- tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
112
- tickLabelStyle: _propTypes.default.object,
113
- tickMaxStep: _propTypes.default.number,
114
- tickMinStep: _propTypes.default.number,
115
- tickNumber: _propTypes.default.number.isRequired,
116
- tickSize: _propTypes.default.number,
117
- valueFormatter: _propTypes.default.func
118
- }),
88
+ axis: _propTypes.default.object,
119
89
  axisData: _propTypes.default.shape({
120
90
  x: _propTypes.default.shape({
121
91
  index: _propTypes.default.number,
@@ -129,29 +99,7 @@ process.env.NODE_ENV !== "production" ? ChartsAxisTooltipContent.propTypes = {
129
99
  axisValue: _propTypes.default.any,
130
100
  classes: _propTypes.default.object,
131
101
  dataIndex: _propTypes.default.number,
132
- series: _propTypes.default.arrayOf(_propTypes.default.shape({
133
- area: _propTypes.default.bool,
134
- color: _propTypes.default.string.isRequired,
135
- connectNulls: _propTypes.default.bool,
136
- curve: _propTypes.default.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
137
- data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
138
- dataKey: _propTypes.default.string,
139
- disableHighlight: _propTypes.default.bool,
140
- highlightScope: _propTypes.default.shape({
141
- faded: _propTypes.default.oneOf(['global', 'none', 'series']),
142
- highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
143
- }),
144
- id: _propTypes.default.string.isRequired,
145
- label: _propTypes.default.string,
146
- showMark: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.bool]),
147
- stack: _propTypes.default.string,
148
- stackOffset: _propTypes.default.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
149
- stackOrder: _propTypes.default.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
150
- type: _propTypes.default.oneOf(['line']).isRequired,
151
- valueFormatter: _propTypes.default.func.isRequired,
152
- xAxisKey: _propTypes.default.string,
153
- yAxisKey: _propTypes.default.string
154
- })),
102
+ series: _propTypes.default.arrayOf(_propTypes.default.object),
155
103
  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])
156
104
  }),
157
105
  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])
@@ -51,17 +51,7 @@ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
51
51
  seriesId: _propTypes.default.string.isRequired,
52
52
  type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired
53
53
  }),
54
- series: _propTypes.default.shape({
55
- color: _propTypes.default.string,
56
- data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
57
- highlightScope: _propTypes.default.shape({
58
- faded: _propTypes.default.oneOf(['global', 'none', 'series']),
59
- highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
60
- }),
61
- id: _propTypes.default.string.isRequired,
62
- type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired,
63
- valueFormatter: _propTypes.default.func.isRequired
64
- }),
54
+ series: _propTypes.default.object,
65
55
  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])
66
56
  }),
67
57
  itemData: _propTypes.default.shape({
@@ -88,37 +88,7 @@ process.env.NODE_ENV !== "production" ? DefaultChartsAxisTooltipContent.propType
88
88
  /**
89
89
  * The properties of the triggered axis.
90
90
  */
91
- axis: _propTypes.default.shape({
92
- axisId: _propTypes.default.string,
93
- classes: _propTypes.default.object,
94
- data: _propTypes.default.array,
95
- dataKey: _propTypes.default.string,
96
- disableLine: _propTypes.default.bool,
97
- disableTicks: _propTypes.default.bool,
98
- fill: _propTypes.default.string,
99
- hideTooltip: _propTypes.default.bool,
100
- id: _propTypes.default.string.isRequired,
101
- label: _propTypes.default.string,
102
- labelFontSize: _propTypes.default.number,
103
- labelStyle: _propTypes.default.object,
104
- max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
105
- min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
106
- position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
107
- scale: _propTypes.default.func.isRequired,
108
- scaleType: _propTypes.default.oneOf(['time']).isRequired,
109
- slotProps: _propTypes.default.object,
110
- slots: _propTypes.default.object,
111
- stroke: _propTypes.default.string,
112
- tickFontSize: _propTypes.default.number,
113
- tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
114
- tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
115
- tickLabelStyle: _propTypes.default.object,
116
- tickMaxStep: _propTypes.default.number,
117
- tickMinStep: _propTypes.default.number,
118
- tickNumber: _propTypes.default.number.isRequired,
119
- tickSize: _propTypes.default.number,
120
- valueFormatter: _propTypes.default.func
121
- }).isRequired,
91
+ axis: _propTypes.default.object.isRequired,
122
92
  /**
123
93
  * Data identifying the triggered axis.
124
94
  */
@@ -147,28 +117,6 @@ process.env.NODE_ENV !== "production" ? DefaultChartsAxisTooltipContent.propType
147
117
  /**
148
118
  * The series linked to the triggered axis.
149
119
  */
150
- series: _propTypes.default.arrayOf(_propTypes.default.shape({
151
- area: _propTypes.default.bool,
152
- color: _propTypes.default.string.isRequired,
153
- connectNulls: _propTypes.default.bool,
154
- curve: _propTypes.default.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
155
- data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
156
- dataKey: _propTypes.default.string,
157
- disableHighlight: _propTypes.default.bool,
158
- highlightScope: _propTypes.default.shape({
159
- faded: _propTypes.default.oneOf(['global', 'none', 'series']),
160
- highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
161
- }),
162
- id: _propTypes.default.string.isRequired,
163
- label: _propTypes.default.string,
164
- showMark: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.bool]),
165
- stack: _propTypes.default.string,
166
- stackOffset: _propTypes.default.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
167
- stackOrder: _propTypes.default.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
168
- type: _propTypes.default.oneOf(['line']).isRequired,
169
- valueFormatter: _propTypes.default.func.isRequired,
170
- xAxisKey: _propTypes.default.string,
171
- yAxisKey: _propTypes.default.string
172
- })).isRequired,
120
+ series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
173
121
  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])
174
122
  } : void 0;
@@ -32,10 +32,8 @@ function DefaultChartsItemTooltipContent(props) {
32
32
  color: series.color,
33
33
  displayedLabel: series.label
34
34
  };
35
-
36
- // TODO: Manage to let TS understand series.data and series.valueFormatter are coherent
37
- // @ts-ignore
38
- const formattedValue = series.valueFormatter(series.data[itemData.dataIndex]);
35
+ const value = series.data[itemData.dataIndex];
36
+ const formattedValue = series.valueFormatter?.(value);
39
37
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
40
38
  sx: sx,
41
39
  className: classes.root,
@@ -84,16 +82,6 @@ process.env.NODE_ENV !== "production" ? DefaultChartsItemTooltipContent.propType
84
82
  /**
85
83
  * The series linked to the triggered axis.
86
84
  */
87
- series: _propTypes.default.shape({
88
- color: _propTypes.default.string,
89
- data: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
90
- highlightScope: _propTypes.default.shape({
91
- faded: _propTypes.default.oneOf(['global', 'none', 'series']),
92
- highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
93
- }),
94
- id: _propTypes.default.string.isRequired,
95
- type: _propTypes.default.oneOf(['bar', 'line', 'pie', 'scatter']).isRequired,
96
- valueFormatter: _propTypes.default.func.isRequired
97
- }).isRequired,
85
+ series: _propTypes.default.object.isRequired,
98
86
  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])
99
87
  } : void 0;
@@ -265,29 +265,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
265
265
  tickNumber: _propTypes.default.number,
266
266
  tickSize: _propTypes.default.number
267
267
  }), _propTypes.default.string]),
268
- series: _propTypes.default.arrayOf(_propTypes.default.shape({
269
- area: _propTypes.default.bool,
270
- color: _propTypes.default.string,
271
- connectNulls: _propTypes.default.bool,
272
- curve: _propTypes.default.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
273
- data: _propTypes.default.arrayOf(_propTypes.default.number),
274
- dataKey: _propTypes.default.string,
275
- disableHighlight: _propTypes.default.bool,
276
- highlightScope: _propTypes.default.shape({
277
- faded: _propTypes.default.oneOf(['global', 'none', 'series']),
278
- highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
279
- }),
280
- id: _propTypes.default.string,
281
- label: _propTypes.default.string,
282
- showMark: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.bool]),
283
- stack: _propTypes.default.string,
284
- stackOffset: _propTypes.default.oneOf(['diverging', 'expand', 'none', 'silhouette', 'wiggle']),
285
- stackOrder: _propTypes.default.oneOf(['appearance', 'ascending', 'descending', 'insideOut', 'none', 'reverse']),
286
- type: _propTypes.default.oneOf(['line']),
287
- valueFormatter: _propTypes.default.func,
288
- xAxisKey: _propTypes.default.string,
289
- yAxisKey: _propTypes.default.string
290
- })).isRequired,
268
+ series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
291
269
  /**
292
270
  * The props used for each component slot.
293
271
  * @default {}
@@ -17,7 +17,11 @@ const formatter = (params, dataset) => {
17
17
  seriesOrder,
18
18
  series
19
19
  } = params;
20
- const stackingGroups = (0, _stackSeries.getStackingGroups)(params);
20
+ const stackingGroups = (0, _stackSeries.getStackingGroups)((0, _extends2.default)({}, params, {
21
+ defaultStrategy: {
22
+ stackOffset: 'none'
23
+ }
24
+ }));
21
25
 
22
26
  // Create a data set with format adapted to d3
23
27
  const d3Dataset = dataset ?? [];
@@ -72,7 +76,7 @@ const formatter = (params, dataset) => {
72
76
  return {
73
77
  seriesOrder,
74
78
  stackingGroups,
75
- series: (0, _defaultizeValueFormatter.default)(completedSeries, v => v?.toLocaleString())
79
+ series: (0, _defaultizeValueFormatter.default)(completedSeries, v => v === null ? '' : v.toLocaleString())
76
80
  };
77
81
  };
78
82
  var _default = exports.default = formatter;
@@ -18,7 +18,7 @@ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateU
18
18
  var _styles = require("@mui/material/styles");
19
19
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
- const _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "style"];
21
+ const _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "style"];
22
22
  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); }
23
23
  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; }
24
24
  function getPieArcLabelUtilityClass(slot) {
@@ -244,52 +244,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
244
244
  tickNumber: _propTypes.default.number,
245
245
  tickSize: _propTypes.default.number
246
246
  }), _propTypes.default.string]),
247
- series: _propTypes.default.arrayOf(_propTypes.default.shape({
248
- arcLabel: _propTypes.default.oneOfType([_propTypes.default.oneOf(['formattedValue', 'label', 'value']), _propTypes.default.func]),
249
- arcLabelMinAngle: _propTypes.default.number,
250
- arcLabelRadius: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
251
- color: _propTypes.default.string,
252
- cornerRadius: _propTypes.default.number,
253
- cx: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
254
- cy: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
255
- data: _propTypes.default.arrayOf(_propTypes.default.shape({
256
- color: _propTypes.default.string,
257
- id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
258
- label: _propTypes.default.string,
259
- value: _propTypes.default.number.isRequired
260
- })).isRequired,
261
- endAngle: _propTypes.default.number,
262
- faded: _propTypes.default.shape({
263
- additionalRadius: _propTypes.default.number,
264
- arcLabelRadius: _propTypes.default.number,
265
- color: _propTypes.default.string,
266
- cornerRadius: _propTypes.default.number,
267
- innerRadius: _propTypes.default.number,
268
- outerRadius: _propTypes.default.number,
269
- paddingAngle: _propTypes.default.number
270
- }),
271
- highlighted: _propTypes.default.shape({
272
- additionalRadius: _propTypes.default.number,
273
- arcLabelRadius: _propTypes.default.number,
274
- color: _propTypes.default.string,
275
- cornerRadius: _propTypes.default.number,
276
- innerRadius: _propTypes.default.number,
277
- outerRadius: _propTypes.default.number,
278
- paddingAngle: _propTypes.default.number
279
- }),
280
- highlightScope: _propTypes.default.shape({
281
- faded: _propTypes.default.oneOf(['global', 'none', 'series']),
282
- highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
283
- }),
284
- id: _propTypes.default.string,
285
- innerRadius: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
286
- outerRadius: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
287
- paddingAngle: _propTypes.default.number,
288
- sortingValues: _propTypes.default.oneOfType([_propTypes.default.oneOf(['asc', 'desc', 'none']), _propTypes.default.func]),
289
- startAngle: _propTypes.default.number,
290
- type: _propTypes.default.oneOf(['pie']),
291
- valueFormatter: _propTypes.default.func
292
- })).isRequired,
247
+ series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
293
248
  /**
294
249
  * If `true`, animations are skiped.
295
250
  * @default false
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
- # MUI X Charts
1
+ # MUI X Charts
2
2
 
3
3
  This package is the community edition of the chart components.
4
- It's part of [MUI X](https://mui.com/x/), an open-core extension of MUI Core, with advanced components.
4
+ It's part of [MUI X](https://mui.com/x/), an open-core extension of MUI Core, with advanced components.
5
5
 
6
6
  ## Installation
7
7
 
@@ -15,7 +15,7 @@ This component has the following peer dependencies that you will need to install
15
15
 
16
16
  ```json
17
17
  "peerDependencies": {
18
- "@mui/material": "^5.4.1",
18
+ "@mui/material": "^5.15.0",
19
19
  "react": "^17.0.0 || ^18.0.0",
20
20
  "react-dom": "^17.0.0 || ^18.0.0"
21
21
  },
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { ChartContainerProps } from '../ChartContainer';
3
+ export interface ResponsiveChartContainerProps extends Omit<ChartContainerProps, 'width' | 'height'> {
4
+ /**
5
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
6
+ * @default undefined
7
+ */
8
+ width?: number;
9
+ /**
10
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
11
+ * @default undefined
12
+ */
13
+ height?: number;
14
+ }
15
+ declare const ResponsiveChartContainer: React.ForwardRefExoticComponent<ResponsiveChartContainerProps & React.RefAttributes<unknown>>;
16
+ export { ResponsiveChartContainer };