@mui/x-charts 6.0.0-alpha.1 → 6.0.0-alpha.11

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 (300) hide show
  1. package/BarChart/BarChart.d.ts +20 -6
  2. package/BarChart/BarChart.js +107 -34
  3. package/BarChart/BarElement.d.ts +22 -0
  4. package/BarChart/BarElement.js +21 -10
  5. package/BarChart/BarPlot.d.ts +14 -1
  6. package/BarChart/BarPlot.js +86 -23
  7. package/BarChart/extremums.js +19 -3
  8. package/BarChart/formatter.js +26 -13
  9. package/BarChart/legend.d.ts +3 -0
  10. package/BarChart/legend.js +20 -0
  11. package/CHANGELOG.md +913 -108
  12. package/ChartContainer/index.d.ts +3 -1
  13. package/ChartContainer/index.js +13 -6
  14. package/ChartsAxis/ChartsAxis.d.ts +15 -5
  15. package/ChartsAxis/ChartsAxis.js +55 -10
  16. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +3 -2
  17. package/ChartsAxisHighlight/ChartsAxisHighlight.js +14 -5
  18. package/ChartsLegend/ChartsLegend.d.ts +28 -1
  19. package/ChartsLegend/ChartsLegend.js +53 -17
  20. package/ChartsLegend/utils.d.ts +1 -1
  21. package/ChartsLegend/utils.js +12 -1
  22. package/ChartsTooltip/ChartsAxisTooltipContent.js +15 -11
  23. package/ChartsTooltip/ChartsItemTooltipContent.js +11 -2
  24. package/ChartsTooltip/ChartsTooltipTable.d.ts +4 -16
  25. package/ChartsXAxis/ChartsXAxis.js +44 -9
  26. package/ChartsYAxis/ChartsYAxis.js +44 -9
  27. package/LineChart/AreaElement.d.ts +23 -1
  28. package/LineChart/AreaElement.js +31 -11
  29. package/LineChart/AreaPlot.d.ts +14 -1
  30. package/LineChart/AreaPlot.js +32 -5
  31. package/LineChart/LineChart.d.ts +26 -6
  32. package/LineChart/LineChart.js +99 -24
  33. package/LineChart/LineElement.d.ts +23 -1
  34. package/LineChart/LineElement.js +31 -10
  35. package/LineChart/LineHighlightElement.d.ts +21 -0
  36. package/LineChart/LineHighlightElement.js +79 -0
  37. package/LineChart/LineHighlightPlot.d.ts +25 -0
  38. package/LineChart/LineHighlightPlot.js +99 -0
  39. package/LineChart/LinePlot.d.ts +14 -1
  40. package/LineChart/LinePlot.js +38 -6
  41. package/LineChart/MarkElement.d.ts +1 -1
  42. package/LineChart/MarkElement.js +2 -5
  43. package/LineChart/MarkPlot.d.ts +24 -1
  44. package/LineChart/MarkPlot.js +58 -15
  45. package/LineChart/extremums.js +2 -2
  46. package/LineChart/formatter.js +23 -12
  47. package/LineChart/index.d.ts +2 -0
  48. package/LineChart/index.js +20 -0
  49. package/LineChart/legend.d.ts +3 -0
  50. package/LineChart/legend.js +20 -0
  51. package/PieChart/PieArc.d.ts +36 -0
  52. package/PieChart/PieArc.js +128 -0
  53. package/PieChart/PieArcLabel.d.ts +36 -0
  54. package/PieChart/PieArcLabel.js +112 -0
  55. package/PieChart/PieChart.d.ts +32 -0
  56. package/PieChart/PieChart.js +339 -0
  57. package/PieChart/PiePlot.d.ts +28 -0
  58. package/PieChart/PiePlot.js +121 -0
  59. package/PieChart/formatter.d.ts +3 -0
  60. package/PieChart/formatter.js +49 -0
  61. package/PieChart/index.d.ts +4 -0
  62. package/PieChart/index.js +47 -0
  63. package/PieChart/legend.d.ts +3 -0
  64. package/PieChart/legend.js +19 -0
  65. package/PieChart/package.json +6 -0
  66. package/README.md +9 -15
  67. package/ResponsiveChartContainer/index.d.ts +1 -1
  68. package/ResponsiveChartContainer/index.js +24 -11
  69. package/ScatterChart/Scatter.d.ts +1 -1
  70. package/ScatterChart/Scatter.js +40 -54
  71. package/ScatterChart/ScatterChart.d.ts +19 -6
  72. package/ScatterChart/ScatterChart.js +75 -21
  73. package/ScatterChart/ScatterPlot.d.ts +24 -1
  74. package/ScatterChart/ScatterPlot.js +28 -4
  75. package/ScatterChart/legend.d.ts +3 -0
  76. package/ScatterChart/legend.js +20 -0
  77. package/SparkLineChart/SparkLineChart.d.ts +74 -0
  78. package/SparkLineChart/SparkLineChart.js +213 -0
  79. package/SparkLineChart/index.d.ts +1 -0
  80. package/SparkLineChart/index.js +12 -0
  81. package/SparkLineChart/package.json +6 -0
  82. package/colorPalettes/colorPalettes.js +2 -2
  83. package/context/CartesianContextProvider.d.ts +3 -1
  84. package/context/CartesianContextProvider.js +83 -34
  85. package/context/DrawingProvider.d.ts +1 -1
  86. package/context/DrawingProvider.js +1 -1
  87. package/context/SeriesContextProvider.d.ts +3 -2
  88. package/context/SeriesContextProvider.js +16 -4
  89. package/esm/BarChart/BarChart.js +109 -34
  90. package/esm/BarChart/BarElement.js +21 -11
  91. package/esm/BarChart/BarPlot.js +89 -24
  92. package/esm/BarChart/extremums.js +18 -2
  93. package/esm/BarChart/formatter.js +26 -13
  94. package/esm/BarChart/legend.js +13 -0
  95. package/esm/ChartContainer/index.js +10 -5
  96. package/esm/ChartsAxis/ChartsAxis.js +55 -10
  97. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +14 -5
  98. package/esm/ChartsLegend/ChartsLegend.js +51 -14
  99. package/esm/ChartsLegend/utils.js +11 -1
  100. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +15 -11
  101. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +11 -3
  102. package/esm/ChartsXAxis/ChartsXAxis.js +45 -9
  103. package/esm/ChartsYAxis/ChartsYAxis.js +45 -9
  104. package/esm/LineChart/AreaElement.js +31 -11
  105. package/esm/LineChart/AreaPlot.js +33 -5
  106. package/esm/LineChart/LineChart.js +100 -23
  107. package/esm/LineChart/LineElement.js +31 -11
  108. package/esm/LineChart/LineHighlightElement.js +68 -0
  109. package/esm/LineChart/LineHighlightPlot.js +92 -0
  110. package/esm/LineChart/LinePlot.js +45 -9
  111. package/esm/LineChart/MarkElement.js +2 -5
  112. package/esm/LineChart/MarkPlot.js +59 -15
  113. package/esm/LineChart/extremums.js +2 -2
  114. package/esm/LineChart/formatter.js +23 -13
  115. package/esm/LineChart/index.js +3 -1
  116. package/esm/LineChart/legend.js +13 -0
  117. package/esm/PieChart/PieArc.js +117 -0
  118. package/esm/PieChart/PieArcLabel.js +100 -0
  119. package/esm/PieChart/PieChart.js +332 -0
  120. package/esm/PieChart/PiePlot.js +117 -0
  121. package/esm/PieChart/formatter.js +48 -0
  122. package/esm/PieChart/index.js +4 -0
  123. package/esm/PieChart/legend.js +12 -0
  124. package/esm/ResponsiveChartContainer/index.js +22 -10
  125. package/esm/ScatterChart/Scatter.js +40 -54
  126. package/esm/ScatterChart/ScatterChart.js +73 -20
  127. package/esm/ScatterChart/ScatterPlot.js +29 -4
  128. package/esm/ScatterChart/legend.js +13 -0
  129. package/esm/SparkLineChart/SparkLineChart.js +205 -0
  130. package/esm/SparkLineChart/index.js +1 -0
  131. package/esm/colorPalettes/colorPalettes.js +2 -2
  132. package/esm/context/CartesianContextProvider.js +83 -32
  133. package/esm/context/DrawingProvider.js +1 -1
  134. package/esm/context/SeriesContextProvider.js +16 -4
  135. package/esm/hooks/index.js +2 -0
  136. package/esm/hooks/useAxisEvents.js +31 -43
  137. package/esm/hooks/useDrawingArea.js +16 -0
  138. package/esm/hooks/useScale.js +19 -21
  139. package/esm/hooks/useTicks.js +35 -19
  140. package/esm/index.js +3 -0
  141. package/esm/internals/components/AxisSharedComponents.js +10 -10
  142. package/esm/internals/defaultizeColor.js +7 -0
  143. package/esm/internals/getScale.js +17 -0
  144. package/esm/internals/isBandScale.js +3 -0
  145. package/esm/models/axis.js +6 -1
  146. package/esm/models/index.js +3 -1
  147. package/esm/models/seriesType/index.js +1 -8
  148. package/hooks/index.d.ts +2 -0
  149. package/hooks/index.js +27 -0
  150. package/hooks/package.json +6 -0
  151. package/hooks/useAxisEvents.js +31 -43
  152. package/hooks/useDrawingArea.d.ts +6 -0
  153. package/hooks/useDrawingArea.js +24 -0
  154. package/hooks/useScale.d.ts +3 -6
  155. package/hooks/useScale.js +24 -24
  156. package/hooks/useTicks.d.ts +21 -6
  157. package/hooks/useTicks.js +28 -15
  158. package/index.d.ts +3 -0
  159. package/index.js +34 -1
  160. package/internals/components/AxisSharedComponents.d.ts +4 -4
  161. package/internals/components/AxisSharedComponents.js +15 -15
  162. package/internals/defaultizeColor.d.ts +42 -2
  163. package/internals/defaultizeColor.js +7 -0
  164. package/internals/getScale.d.ts +2 -0
  165. package/internals/getScale.js +23 -0
  166. package/internals/isBandScale.d.ts +3 -0
  167. package/internals/isBandScale.js +9 -0
  168. package/legacy/BarChart/BarChart.js +114 -39
  169. package/legacy/BarChart/BarElement.js +20 -10
  170. package/legacy/BarChart/BarPlot.js +89 -26
  171. package/legacy/BarChart/extremums.js +22 -2
  172. package/legacy/BarChart/formatter.js +26 -11
  173. package/legacy/BarChart/legend.js +15 -0
  174. package/legacy/ChartContainer/index.js +10 -5
  175. package/legacy/ChartsAxis/ChartsAxis.js +55 -10
  176. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +14 -5
  177. package/legacy/ChartsLegend/ChartsLegend.js +50 -15
  178. package/legacy/ChartsLegend/utils.js +12 -6
  179. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +17 -11
  180. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +10 -3
  181. package/legacy/ChartsXAxis/ChartsXAxis.js +45 -9
  182. package/legacy/ChartsYAxis/ChartsYAxis.js +45 -9
  183. package/legacy/LineChart/AreaElement.js +30 -10
  184. package/legacy/LineChart/AreaPlot.js +31 -5
  185. package/legacy/LineChart/LineChart.js +98 -23
  186. package/legacy/LineChart/LineElement.js +30 -10
  187. package/legacy/LineChart/LineHighlightElement.js +67 -0
  188. package/legacy/LineChart/LineHighlightPlot.js +85 -0
  189. package/legacy/LineChart/LinePlot.js +38 -6
  190. package/legacy/LineChart/MarkElement.js +2 -5
  191. package/legacy/LineChart/MarkPlot.js +49 -8
  192. package/legacy/LineChart/extremums.js +3 -3
  193. package/legacy/LineChart/formatter.js +23 -11
  194. package/legacy/LineChart/index.js +3 -1
  195. package/legacy/LineChart/legend.js +15 -0
  196. package/legacy/PieChart/PieArc.js +118 -0
  197. package/legacy/PieChart/PieArcLabel.js +100 -0
  198. package/legacy/PieChart/PieChart.js +344 -0
  199. package/legacy/PieChart/PiePlot.js +112 -0
  200. package/legacy/PieChart/formatter.js +55 -0
  201. package/legacy/PieChart/index.js +4 -0
  202. package/legacy/PieChart/legend.js +16 -0
  203. package/legacy/ResponsiveChartContainer/index.js +20 -10
  204. package/legacy/ScatterChart/Scatter.js +36 -47
  205. package/legacy/ScatterChart/ScatterChart.js +73 -20
  206. package/legacy/ScatterChart/ScatterPlot.js +27 -4
  207. package/legacy/ScatterChart/legend.js +15 -0
  208. package/legacy/SparkLineChart/SparkLineChart.js +211 -0
  209. package/legacy/SparkLineChart/index.js +1 -0
  210. package/legacy/colorPalettes/colorPalettes.js +2 -2
  211. package/legacy/context/CartesianContextProvider.js +92 -33
  212. package/legacy/context/DrawingProvider.js +1 -1
  213. package/legacy/context/SeriesContextProvider.js +17 -5
  214. package/legacy/hooks/index.js +2 -0
  215. package/legacy/hooks/useAxisEvents.js +31 -42
  216. package/legacy/hooks/useDrawingArea.js +17 -0
  217. package/legacy/hooks/useScale.js +17 -21
  218. package/legacy/hooks/useTicks.js +35 -22
  219. package/legacy/index.js +4 -1
  220. package/legacy/internals/components/AxisSharedComponents.js +10 -10
  221. package/legacy/internals/defaultizeColor.js +9 -0
  222. package/legacy/internals/getScale.js +17 -0
  223. package/legacy/internals/isBandScale.js +3 -0
  224. package/legacy/models/axis.js +6 -1
  225. package/legacy/models/index.js +3 -1
  226. package/legacy/models/seriesType/index.js +1 -8
  227. package/models/axis.d.ts +59 -15
  228. package/models/axis.js +9 -1
  229. package/models/index.d.ts +2 -0
  230. package/models/index.js +11 -0
  231. package/models/seriesType/bar.d.ts +14 -2
  232. package/models/seriesType/common.d.ts +2 -2
  233. package/models/seriesType/config.d.ts +33 -3
  234. package/models/seriesType/index.d.ts +7 -3
  235. package/models/seriesType/index.js +11 -0
  236. package/models/seriesType/line.d.ts +42 -2
  237. package/models/seriesType/pie.d.ts +103 -3
  238. package/models/seriesType/scatter.d.ts +1 -1
  239. package/modern/BarChart/BarChart.js +106 -34
  240. package/modern/BarChart/BarElement.js +20 -11
  241. package/modern/BarChart/BarPlot.js +88 -23
  242. package/modern/BarChart/extremums.js +18 -2
  243. package/modern/BarChart/formatter.js +26 -13
  244. package/modern/BarChart/legend.js +13 -0
  245. package/modern/ChartContainer/index.js +10 -5
  246. package/modern/ChartsAxis/ChartsAxis.js +55 -10
  247. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +14 -5
  248. package/modern/ChartsLegend/ChartsLegend.js +50 -14
  249. package/modern/ChartsLegend/utils.js +11 -1
  250. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +15 -11
  251. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +11 -2
  252. package/modern/ChartsXAxis/ChartsXAxis.js +44 -9
  253. package/modern/ChartsYAxis/ChartsYAxis.js +44 -9
  254. package/modern/LineChart/AreaElement.js +30 -11
  255. package/modern/LineChart/AreaPlot.js +33 -5
  256. package/modern/LineChart/LineChart.js +97 -23
  257. package/modern/LineChart/LineElement.js +30 -11
  258. package/modern/LineChart/LineHighlightElement.js +68 -0
  259. package/modern/LineChart/LineHighlightPlot.js +91 -0
  260. package/modern/LineChart/LinePlot.js +39 -6
  261. package/modern/LineChart/MarkElement.js +2 -5
  262. package/modern/LineChart/MarkPlot.js +58 -15
  263. package/modern/LineChart/extremums.js +2 -2
  264. package/modern/LineChart/formatter.js +23 -13
  265. package/modern/LineChart/index.js +3 -1
  266. package/modern/LineChart/legend.js +13 -0
  267. package/modern/PieChart/PieArc.js +116 -0
  268. package/modern/PieChart/PieArcLabel.js +100 -0
  269. package/modern/PieChart/PieChart.js +332 -0
  270. package/modern/PieChart/PiePlot.js +115 -0
  271. package/modern/PieChart/formatter.js +41 -0
  272. package/modern/PieChart/index.js +4 -0
  273. package/modern/PieChart/legend.js +12 -0
  274. package/modern/ResponsiveChartContainer/index.js +22 -10
  275. package/modern/ScatterChart/Scatter.js +40 -54
  276. package/modern/ScatterChart/ScatterChart.js +73 -20
  277. package/modern/ScatterChart/ScatterPlot.js +28 -4
  278. package/modern/ScatterChart/legend.js +13 -0
  279. package/modern/SparkLineChart/SparkLineChart.js +205 -0
  280. package/modern/SparkLineChart/index.js +1 -0
  281. package/modern/colorPalettes/colorPalettes.js +2 -2
  282. package/modern/context/CartesianContextProvider.js +81 -32
  283. package/modern/context/DrawingProvider.js +1 -1
  284. package/modern/context/SeriesContextProvider.js +16 -4
  285. package/modern/hooks/index.js +2 -0
  286. package/modern/hooks/useAxisEvents.js +31 -43
  287. package/modern/hooks/useDrawingArea.js +16 -0
  288. package/modern/hooks/useScale.js +19 -21
  289. package/modern/hooks/useTicks.js +27 -14
  290. package/modern/index.js +4 -1
  291. package/modern/internals/components/AxisSharedComponents.js +10 -10
  292. package/modern/internals/defaultizeColor.js +7 -0
  293. package/modern/internals/getScale.js +17 -0
  294. package/modern/internals/isBandScale.js +3 -0
  295. package/modern/models/axis.js +6 -1
  296. package/modern/models/index.js +3 -1
  297. package/modern/models/seriesType/index.js +1 -8
  298. package/package.json +26 -6
  299. package/themeAugmentation/components.d.ts +0 -10
  300. package/themeAugmentation/overrides.d.ts +0 -2
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getExtremumY = exports.getExtremumX = void 0;
7
- const getExtremumX = params => {
7
+ const getBaseExtremum = params => {
8
8
  const {
9
9
  axis
10
10
  } = params;
@@ -12,8 +12,7 @@ const getExtremumX = params => {
12
12
  const maxX = Math.max(...(axis.data ?? []));
13
13
  return [minX, maxX];
14
14
  };
15
- exports.getExtremumX = getExtremumX;
16
- const getExtremumY = params => {
15
+ const getValueExtremum = params => {
17
16
  const {
18
17
  series,
19
18
  axis,
@@ -24,4 +23,21 @@ const getExtremumY = params => {
24
23
  return [acc[0] === null ? seriesMin : Math.min(seriesMin, acc[0]), acc[1] === null ? seriesMax : Math.max(seriesMax, acc[1])];
25
24
  }, [null, null]);
26
25
  };
26
+ const getExtremumX = params => {
27
+ // Notice that bar should be all horizontal or all vertical.
28
+ // Don't think it's a problem for now
29
+ const isHorizontal = Object.keys(params.series).some(seriesId => params.series[seriesId].layout === 'horizontal');
30
+ if (isHorizontal) {
31
+ return getValueExtremum(params);
32
+ }
33
+ return getBaseExtremum(params);
34
+ };
35
+ exports.getExtremumX = getExtremumX;
36
+ const getExtremumY = params => {
37
+ const isHorizontal = Object.keys(params.series).some(seriesId => params.series[seriesId].layout === 'horizontal');
38
+ if (isHorizontal) {
39
+ return getBaseExtremum(params);
40
+ }
41
+ return getValueExtremum(params);
42
+ };
27
43
  exports.getExtremumY = getExtremumY;
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _d3Shape = require("d3-shape");
10
10
  var _stackSeries = require("../internals/stackSeries");
11
11
  var _defaultizeValueFormatter = _interopRequireDefault(require("../internals/defaultizeValueFormatter"));
12
- const formatter = params => {
12
+ const formatter = (params, dataset) => {
13
13
  const {
14
14
  seriesOrder,
15
15
  series
@@ -17,17 +17,22 @@ const formatter = params => {
17
17
  const stackingGroups = (0, _stackSeries.getStackingGroups)(params);
18
18
 
19
19
  // Create a data set with format adapted to d3
20
- const d3Dataset = [];
20
+ const d3Dataset = dataset ?? [];
21
21
  seriesOrder.forEach(id => {
22
- series[id].data.forEach((value, index) => {
23
- if (d3Dataset.length <= index) {
24
- d3Dataset.push({
25
- [id]: value
26
- });
27
- } else {
28
- d3Dataset[index][id] = value;
29
- }
30
- });
22
+ const data = series[id].data;
23
+ if (data !== undefined) {
24
+ data.forEach((value, index) => {
25
+ if (d3Dataset.length <= index) {
26
+ d3Dataset.push({
27
+ [id]: value
28
+ });
29
+ } else {
30
+ d3Dataset[index][id] = value;
31
+ }
32
+ });
33
+ } else if (dataset === undefined) {
34
+ throw new Error([`MUI: bar series with id='${id}' has no data.`, 'Either provide a data property to the series or use the dataset prop.'].join('\n'));
35
+ }
31
36
  });
32
37
  const completedSeries = {};
33
38
  stackingGroups.forEach(stackingGroup => {
@@ -37,9 +42,17 @@ const formatter = params => {
37
42
  stackingOrder
38
43
  } = stackingGroup;
39
44
  // Get stacked values, and derive the domain
40
- const stackedSeries = (0, _d3Shape.stack)().keys(ids).order(stackingOrder).offset(stackingOffset)(d3Dataset);
45
+ const stackedSeries = (0, _d3Shape.stack)().keys(ids.map(id => {
46
+ // Use dataKey if needed and available
47
+ const dataKey = series[id].dataKey;
48
+ return series[id].data === undefined && dataKey !== undefined ? dataKey : id;
49
+ })).order(stackingOrder).offset(stackingOffset)(d3Dataset);
41
50
  ids.forEach((id, index) => {
42
- completedSeries[id] = (0, _extends2.default)({}, series[id], {
51
+ const dataKey = series[id].dataKey;
52
+ completedSeries[id] = (0, _extends2.default)({
53
+ layout: 'vertical'
54
+ }, series[id], {
55
+ data: dataKey ? dataset.map(d => d[dataKey]) : series[id].data,
43
56
  stackedData: stackedSeries[index].map(([a, b]) => [a, b])
44
57
  });
45
58
  });
@@ -0,0 +1,3 @@
1
+ import { LegendGetter } from '../models/seriesType/config';
2
+ declare const legendGetter: LegendGetter<'bar'>;
3
+ export default legendGetter;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const legendGetter = params => {
8
+ const {
9
+ seriesOrder,
10
+ series
11
+ } = params;
12
+ const data = seriesOrder.map(seriesId => ({
13
+ color: series[seriesId].color,
14
+ label: series[seriesId].label,
15
+ id: seriesId
16
+ }));
17
+ return data.filter(item => item.label !== undefined);
18
+ };
19
+ var _default = legendGetter;
20
+ exports.default = _default;