@mui/x-charts 6.0.0-alpha.9 → 6.18.1

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 (325) hide show
  1. package/BarChart/BarChart.d.ts +26 -5
  2. package/BarChart/BarChart.js +93 -17
  3. package/BarChart/BarElement.d.ts +1319 -4
  4. package/BarChart/BarElement.js +10 -10
  5. package/BarChart/BarPlot.d.ts +17 -1
  6. package/BarChart/BarPlot.js +152 -66
  7. package/BarChart/formatter.js +2 -3
  8. package/BarChart/legend.js +1 -2
  9. package/CHANGELOG.md +797 -59
  10. package/ChartContainer/index.js +7 -5
  11. package/ChartsAxis/ChartsAxis.d.ts +9 -0
  12. package/ChartsAxis/ChartsAxis.js +33 -7
  13. package/ChartsAxis/axisClasses.d.ts +3 -3
  14. package/ChartsAxis/axisClasses.js +1 -2
  15. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +21 -0
  16. package/ChartsAxisHighlight/ChartsAxisHighlight.js +61 -22
  17. package/ChartsClipPath/ChartsClipPath.d.ts +5 -0
  18. package/ChartsClipPath/ChartsClipPath.js +7 -2
  19. package/ChartsLegend/ChartsLegend.d.ts +45 -24
  20. package/ChartsLegend/ChartsLegend.js +193 -151
  21. package/ChartsLegend/chartsLegendClasses.d.ts +1 -1
  22. package/ChartsLegend/chartsLegendClasses.js +3 -4
  23. package/ChartsLegend/utils.d.ts +1 -6
  24. package/ChartsReferenceLine/ChartsReferenceLine.d.ts +10 -0
  25. package/ChartsReferenceLine/ChartsReferenceLine.js +78 -0
  26. package/ChartsReferenceLine/ChartsXReferenceLine.d.ts +13 -0
  27. package/ChartsReferenceLine/ChartsXReferenceLine.js +112 -0
  28. package/ChartsReferenceLine/ChartsYReferenceLine.d.ts +13 -0
  29. package/ChartsReferenceLine/ChartsYReferenceLine.js +112 -0
  30. package/ChartsReferenceLine/chartsReferenceLineClasses.d.ts +15 -0
  31. package/ChartsReferenceLine/chartsReferenceLineClasses.js +14 -0
  32. package/ChartsReferenceLine/common.d.ts +41 -0
  33. package/ChartsReferenceLine/common.js +27 -0
  34. package/ChartsReferenceLine/index.d.ts +2 -0
  35. package/ChartsReferenceLine/index.js +27 -0
  36. package/ChartsReferenceLine/package.json +6 -0
  37. package/ChartsSurface.d.ts +12 -1
  38. package/ChartsSurface.js +9 -18
  39. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +1 -0
  40. package/ChartsTooltip/ChartsAxisTooltipContent.js +46 -32
  41. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +3 -2
  42. package/ChartsTooltip/ChartsItemTooltipContent.js +18 -9
  43. package/ChartsTooltip/ChartsTooltip.d.ts +32 -0
  44. package/ChartsTooltip/ChartsTooltip.js +62 -18
  45. package/ChartsTooltip/ChartsTooltipTable.d.ts +3 -10
  46. package/ChartsTooltip/ChartsTooltipTable.js +22 -20
  47. package/ChartsTooltip/tooltipClasses.js +1 -2
  48. package/ChartsTooltip/utils.js +2 -2
  49. package/ChartsXAxis/ChartsXAxis.d.ts +9 -0
  50. package/ChartsXAxis/ChartsXAxis.js +170 -45
  51. package/ChartsYAxis/ChartsYAxis.d.ts +9 -0
  52. package/ChartsYAxis/ChartsYAxis.js +95 -38
  53. package/LineChart/AreaElement.d.ts +11 -1
  54. package/LineChart/AreaElement.js +14 -6
  55. package/LineChart/AreaPlot.d.ts +11 -0
  56. package/LineChart/AreaPlot.js +27 -8
  57. package/LineChart/LineChart.d.ts +23 -3
  58. package/LineChart/LineChart.js +89 -17
  59. package/LineChart/LineElement.d.ts +11 -1
  60. package/LineChart/LineElement.js +14 -6
  61. package/LineChart/LineHighlightElement.d.ts +10 -0
  62. package/LineChart/LineHighlightElement.js +13 -4
  63. package/LineChart/LineHighlightPlot.d.ts +10 -0
  64. package/LineChart/LineHighlightPlot.js +15 -4
  65. package/LineChart/LinePlot.d.ts +10 -0
  66. package/LineChart/LinePlot.js +25 -12
  67. package/LineChart/MarkElement.d.ts +10 -0
  68. package/LineChart/MarkElement.js +14 -5
  69. package/LineChart/MarkPlot.d.ts +10 -0
  70. package/LineChart/MarkPlot.js +42 -10
  71. package/LineChart/formatter.js +5 -5
  72. package/LineChart/legend.js +1 -2
  73. package/PieChart/PieArc.d.ts +11 -13
  74. package/PieChart/PieArc.js +28 -60
  75. package/PieChart/PieArcLabel.d.ts +8 -9
  76. package/PieChart/PieArcLabel.js +46 -38
  77. package/PieChart/PieArcLabelPlot.d.ts +28 -0
  78. package/PieChart/PieArcLabelPlot.js +99 -0
  79. package/PieChart/PieArcPlot.d.ts +35 -0
  80. package/PieChart/PieArcPlot.js +92 -0
  81. package/PieChart/PieChart.d.ts +19 -5
  82. package/PieChart/PieChart.js +95 -18
  83. package/PieChart/PiePlot.d.ts +15 -9
  84. package/PieChart/PiePlot.js +77 -55
  85. package/PieChart/dataTransform/transition.d.ts +4 -0
  86. package/PieChart/dataTransform/transition.js +136 -0
  87. package/PieChart/dataTransform/useTransformData.d.ts +15 -0
  88. package/PieChart/dataTransform/useTransformData.js +67 -0
  89. package/PieChart/formatter.js +1 -2
  90. package/PieChart/legend.js +1 -2
  91. package/README.md +8 -14
  92. package/ResponsiveChartContainer/index.d.ts +13 -3
  93. package/ResponsiveChartContainer/index.js +7 -8
  94. package/ScatterChart/Scatter.d.ts +10 -0
  95. package/ScatterChart/Scatter.js +12 -2
  96. package/ScatterChart/ScatterChart.d.ts +16 -3
  97. package/ScatterChart/ScatterChart.js +77 -16
  98. package/ScatterChart/ScatterPlot.d.ts +10 -0
  99. package/ScatterChart/ScatterPlot.js +12 -2
  100. package/ScatterChart/formatter.js +1 -2
  101. package/ScatterChart/legend.js +1 -2
  102. package/SparkLineChart/SparkLineChart.d.ts +12 -3
  103. package/SparkLineChart/SparkLineChart.js +50 -7
  104. package/colorPalettes/colorPalettes.js +6 -12
  105. package/constants.js +5 -8
  106. package/context/CartesianContextProvider.d.ts +26 -1
  107. package/context/CartesianContextProvider.js +42 -16
  108. package/context/DrawingProvider.d.ts +25 -0
  109. package/context/DrawingProvider.js +18 -6
  110. package/context/HighlightProvider.d.ts +17 -0
  111. package/context/HighlightProvider.js +3 -4
  112. package/context/InteractionProvider.d.ts +6 -0
  113. package/context/InteractionProvider.js +3 -4
  114. package/context/SeriesContextProvider.d.ts +5 -0
  115. package/context/SeriesContextProvider.js +3 -4
  116. package/esm/BarChart/BarChart.js +90 -13
  117. package/esm/BarChart/BarElement.js +7 -4
  118. package/esm/BarChart/BarPlot.js +152 -67
  119. package/esm/BarChart/formatter.js +1 -1
  120. package/esm/ChartContainer/index.js +3 -0
  121. package/esm/ChartsAxis/ChartsAxis.js +32 -5
  122. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
  123. package/esm/ChartsClipPath/ChartsClipPath.js +5 -0
  124. package/esm/ChartsLegend/ChartsLegend.js +190 -144
  125. package/esm/ChartsLegend/chartsLegendClasses.js +1 -1
  126. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +70 -0
  127. package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +105 -0
  128. package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +105 -0
  129. package/esm/ChartsReferenceLine/chartsReferenceLineClasses.js +6 -0
  130. package/esm/ChartsReferenceLine/common.js +20 -0
  131. package/esm/ChartsReferenceLine/index.js +2 -0
  132. package/esm/ChartsSurface.js +4 -12
  133. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
  134. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  135. package/esm/ChartsTooltip/ChartsTooltip.js +59 -14
  136. package/esm/ChartsTooltip/ChartsTooltipTable.js +17 -10
  137. package/esm/ChartsXAxis/ChartsXAxis.js +168 -43
  138. package/esm/ChartsYAxis/ChartsYAxis.js +93 -36
  139. package/esm/LineChart/AreaElement.js +10 -0
  140. package/esm/LineChart/AreaPlot.js +26 -6
  141. package/esm/LineChart/LineChart.js +86 -13
  142. package/esm/LineChart/LineElement.js +10 -0
  143. package/esm/LineChart/LineHighlightElement.js +10 -0
  144. package/esm/LineChart/LineHighlightPlot.js +13 -2
  145. package/esm/LineChart/LinePlot.js +25 -14
  146. package/esm/LineChart/MarkElement.js +11 -1
  147. package/esm/LineChart/MarkPlot.js +40 -8
  148. package/esm/LineChart/formatter.js +7 -3
  149. package/esm/PieChart/PieArc.js +26 -58
  150. package/esm/PieChart/PieArcLabel.js +43 -34
  151. package/esm/PieChart/PieArcLabelPlot.js +92 -0
  152. package/esm/PieChart/PieArcPlot.js +84 -0
  153. package/esm/PieChart/PieChart.js +93 -16
  154. package/esm/PieChart/PiePlot.js +76 -57
  155. package/esm/PieChart/dataTransform/transition.js +130 -0
  156. package/esm/PieChart/dataTransform/useTransformData.js +59 -0
  157. package/esm/ResponsiveChartContainer/index.js +3 -3
  158. package/esm/ScatterChart/Scatter.js +10 -0
  159. package/esm/ScatterChart/ScatterChart.js +74 -12
  160. package/esm/ScatterChart/ScatterPlot.js +10 -0
  161. package/esm/SparkLineChart/SparkLineChart.js +47 -3
  162. package/esm/constants.js +1 -1
  163. package/esm/context/CartesianContextProvider.js +41 -14
  164. package/esm/context/DrawingProvider.js +14 -0
  165. package/esm/hooks/useChartDimensions.js +2 -0
  166. package/esm/hooks/useMounted.js +16 -0
  167. package/esm/hooks/useReducedMotion.js +27 -0
  168. package/esm/hooks/useTicks.js +15 -9
  169. package/esm/index.js +1 -0
  170. package/esm/internals/components/AxisSharedComponents.js +15 -70
  171. package/esm/internals/components/ChartsText.js +77 -0
  172. package/esm/internals/domUtils.js +113 -0
  173. package/esm/internals/geometry.js +36 -0
  174. package/hooks/useAxisEvents.js +2 -2
  175. package/hooks/useChartDimensions.d.ts +2 -0
  176. package/hooks/useChartDimensions.js +5 -4
  177. package/hooks/useDrawingArea.js +2 -2
  178. package/hooks/useInteractionItemProps.js +2 -2
  179. package/hooks/useMounted.d.ts +1 -0
  180. package/hooks/useMounted.js +25 -0
  181. package/hooks/useReducedMotion.d.ts +8 -0
  182. package/hooks/useReducedMotion.js +33 -0
  183. package/hooks/useScale.d.ts +2 -2
  184. package/hooks/useScale.js +2 -2
  185. package/hooks/useTicks.d.ts +19 -11
  186. package/hooks/useTicks.js +19 -14
  187. package/index.d.ts +1 -0
  188. package/index.js +12 -1
  189. package/internals/components/AxisSharedComponents.d.ts +0 -4
  190. package/internals/components/AxisSharedComponents.js +18 -78
  191. package/internals/components/ChartsText.d.ts +35 -0
  192. package/internals/components/ChartsText.js +87 -0
  193. package/internals/defaultizeColor.d.ts +7 -2
  194. package/internals/defaultizeValueFormatter.js +1 -2
  195. package/internals/domUtils.d.ts +13 -0
  196. package/internals/domUtils.js +122 -0
  197. package/internals/geometry.d.ts +9 -0
  198. package/internals/geometry.js +42 -0
  199. package/internals/isBandScale.d.ts +3 -1
  200. package/internals/stackSeries.js +2 -4
  201. package/internals/utils.d.ts +5 -0
  202. package/legacy/BarChart/BarChart.js +90 -13
  203. package/legacy/BarChart/BarElement.js +6 -3
  204. package/legacy/BarChart/BarPlot.js +151 -63
  205. package/legacy/BarChart/formatter.js +1 -1
  206. package/legacy/ChartContainer/index.js +3 -0
  207. package/legacy/ChartsAxis/ChartsAxis.js +32 -5
  208. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +60 -20
  209. package/legacy/ChartsClipPath/ChartsClipPath.js +5 -0
  210. package/legacy/ChartsLegend/ChartsLegend.js +205 -142
  211. package/legacy/ChartsLegend/chartsLegendClasses.js +1 -1
  212. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +70 -0
  213. package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +105 -0
  214. package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +105 -0
  215. package/legacy/ChartsReferenceLine/chartsReferenceLineClasses.js +6 -0
  216. package/legacy/ChartsReferenceLine/common.js +20 -0
  217. package/legacy/ChartsReferenceLine/index.js +2 -0
  218. package/legacy/ChartsSurface.js +3 -12
  219. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +22 -10
  220. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  221. package/legacy/ChartsTooltip/ChartsTooltip.js +62 -14
  222. package/legacy/ChartsTooltip/ChartsTooltipTable.js +34 -26
  223. package/legacy/ChartsXAxis/ChartsXAxis.js +176 -50
  224. package/legacy/ChartsYAxis/ChartsYAxis.js +97 -41
  225. package/legacy/LineChart/AreaElement.js +10 -0
  226. package/legacy/LineChart/AreaPlot.js +31 -7
  227. package/legacy/LineChart/LineChart.js +86 -13
  228. package/legacy/LineChart/LineElement.js +10 -0
  229. package/legacy/LineChart/LineHighlightElement.js +10 -0
  230. package/legacy/LineChart/LineHighlightPlot.js +13 -2
  231. package/legacy/LineChart/LinePlot.js +29 -12
  232. package/legacy/LineChart/MarkElement.js +11 -1
  233. package/legacy/LineChart/MarkPlot.js +39 -8
  234. package/legacy/LineChart/formatter.js +7 -3
  235. package/legacy/PieChart/PieArc.js +30 -62
  236. package/legacy/PieChart/PieArcLabel.js +48 -34
  237. package/legacy/PieChart/PieArcLabelPlot.js +93 -0
  238. package/legacy/PieChart/PieArcPlot.js +84 -0
  239. package/legacy/PieChart/PieChart.js +93 -16
  240. package/legacy/PieChart/PiePlot.js +76 -59
  241. package/legacy/PieChart/dataTransform/transition.js +142 -0
  242. package/legacy/PieChart/dataTransform/useTransformData.js +60 -0
  243. package/legacy/ResponsiveChartContainer/index.js +3 -3
  244. package/legacy/ScatterChart/Scatter.js +10 -0
  245. package/legacy/ScatterChart/ScatterChart.js +74 -12
  246. package/legacy/ScatterChart/ScatterPlot.js +10 -0
  247. package/legacy/SparkLineChart/SparkLineChart.js +47 -3
  248. package/legacy/constants.js +1 -1
  249. package/legacy/context/CartesianContextProvider.js +41 -14
  250. package/legacy/context/DrawingProvider.js +14 -0
  251. package/legacy/hooks/useChartDimensions.js +2 -0
  252. package/legacy/hooks/useMounted.js +21 -0
  253. package/legacy/hooks/useReducedMotion.js +27 -0
  254. package/legacy/hooks/useTicks.js +16 -9
  255. package/legacy/index.js +2 -1
  256. package/legacy/internals/components/AxisSharedComponents.js +11 -65
  257. package/legacy/internals/components/ChartsText.js +79 -0
  258. package/legacy/internals/domUtils.js +121 -0
  259. package/legacy/internals/geometry.js +37 -0
  260. package/models/axis.d.ts +58 -20
  261. package/models/layout.d.ts +13 -6
  262. package/models/seriesType/common.d.ts +16 -0
  263. package/models/seriesType/line.d.ts +8 -3
  264. package/models/seriesType/pie.d.ts +5 -1
  265. package/modern/BarChart/BarChart.js +90 -13
  266. package/modern/BarChart/BarElement.js +7 -4
  267. package/modern/BarChart/BarPlot.js +149 -65
  268. package/modern/BarChart/formatter.js +1 -1
  269. package/modern/ChartContainer/index.js +3 -0
  270. package/modern/ChartsAxis/ChartsAxis.js +31 -5
  271. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
  272. package/modern/ChartsClipPath/ChartsClipPath.js +5 -0
  273. package/modern/ChartsLegend/ChartsLegend.js +190 -144
  274. package/modern/ChartsLegend/chartsLegendClasses.js +1 -1
  275. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +70 -0
  276. package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +104 -0
  277. package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +104 -0
  278. package/modern/ChartsReferenceLine/chartsReferenceLineClasses.js +6 -0
  279. package/modern/ChartsReferenceLine/common.js +20 -0
  280. package/modern/ChartsReferenceLine/index.js +2 -0
  281. package/modern/ChartsSurface.js +4 -12
  282. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
  283. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  284. package/modern/ChartsTooltip/ChartsTooltip.js +58 -14
  285. package/modern/ChartsTooltip/ChartsTooltipTable.js +17 -10
  286. package/modern/ChartsXAxis/ChartsXAxis.js +167 -42
  287. package/modern/ChartsYAxis/ChartsYAxis.js +92 -35
  288. package/modern/LineChart/AreaElement.js +10 -0
  289. package/modern/LineChart/AreaPlot.js +25 -6
  290. package/modern/LineChart/LineChart.js +86 -13
  291. package/modern/LineChart/LineElement.js +10 -0
  292. package/modern/LineChart/LineHighlightElement.js +10 -0
  293. package/modern/LineChart/LineHighlightPlot.js +13 -2
  294. package/modern/LineChart/LinePlot.js +23 -10
  295. package/modern/LineChart/MarkElement.js +11 -1
  296. package/modern/LineChart/MarkPlot.js +40 -8
  297. package/modern/LineChart/formatter.js +4 -3
  298. package/modern/PieChart/PieArc.js +26 -57
  299. package/modern/PieChart/PieArcLabel.js +43 -34
  300. package/modern/PieChart/PieArcLabelPlot.js +90 -0
  301. package/modern/PieChart/PieArcPlot.js +83 -0
  302. package/modern/PieChart/PieChart.js +93 -16
  303. package/modern/PieChart/PiePlot.js +76 -55
  304. package/modern/PieChart/dataTransform/transition.js +130 -0
  305. package/modern/PieChart/dataTransform/useTransformData.js +58 -0
  306. package/modern/ResponsiveChartContainer/index.js +3 -3
  307. package/modern/ScatterChart/Scatter.js +10 -0
  308. package/modern/ScatterChart/ScatterChart.js +74 -12
  309. package/modern/ScatterChart/ScatterPlot.js +10 -0
  310. package/modern/SparkLineChart/SparkLineChart.js +47 -3
  311. package/modern/constants.js +1 -1
  312. package/modern/context/CartesianContextProvider.js +40 -13
  313. package/modern/context/DrawingProvider.js +14 -0
  314. package/modern/hooks/useChartDimensions.js +2 -0
  315. package/modern/hooks/useMounted.js +16 -0
  316. package/modern/hooks/useReducedMotion.js +27 -0
  317. package/modern/hooks/useTicks.js +15 -9
  318. package/modern/index.js +2 -1
  319. package/modern/internals/components/AxisSharedComponents.js +15 -70
  320. package/modern/internals/components/ChartsText.js +77 -0
  321. package/modern/internals/domUtils.js +113 -0
  322. package/modern/internals/geometry.js +36 -0
  323. package/package.json +9 -6
  324. package/themeAugmentation/components.d.ts +1 -0
  325. package/themeAugmentation/overrides.d.ts +2 -0
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.BarElement = BarElement;
8
- exports.BarElementPath = void 0;
8
+ exports.barElementClasses = exports.BarElementPath = void 0;
9
9
  exports.getBarElementUtilityClass = getBarElementUtilityClass;
10
- exports.lineElementClasses = void 0;
11
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
11
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
12
  var React = _interopRequireWildcard(require("react"));
@@ -17,17 +16,17 @@ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateU
17
16
  var _styles = require("@mui/material/styles");
18
17
  var _d3Color = require("d3-color");
19
18
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
19
+ var _web = require("@react-spring/web");
20
20
  var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
21
21
  var _InteractionProvider = require("../context/InteractionProvider");
22
22
  var _jsxRuntime = require("react/jsx-runtime");
23
- const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope", "slots", "slotProps"];
24
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+ const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope", "slots", "slotProps", "style"];
24
+ 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); }
25
+ 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; }
26
26
  function getBarElementUtilityClass(slot) {
27
27
  return (0, _generateUtilityClass.default)('MuiBarElement', slot);
28
28
  }
29
- const lineElementClasses = (0, _generateUtilityClasses.default)('MuiBarElement', ['root']);
30
- exports.lineElementClasses = lineElementClasses;
29
+ const barElementClasses = exports.barElementClasses = (0, _generateUtilityClasses.default)('MuiBarElement', ['root']);
31
30
  const useUtilityClasses = ownerState => {
32
31
  const {
33
32
  classes,
@@ -38,7 +37,7 @@ const useUtilityClasses = ownerState => {
38
37
  };
39
38
  return (0, _composeClasses.default)(slots, getBarElementUtilityClass, classes);
40
39
  };
41
- const BarElementPath = (0, _styles.styled)('rect', {
40
+ const BarElementPath = exports.BarElementPath = (0, _styles.styled)(_web.animated.rect, {
42
41
  name: 'MuiBarElement',
43
42
  slot: 'Root',
44
43
  overridesResolver: (_, styles) => styles.root
@@ -51,7 +50,6 @@ const BarElementPath = (0, _styles.styled)('rect', {
51
50
  transition: 'opacity 0.2s ease-in, fill 0.2s ease-in',
52
51
  opacity: ownerState.isFaded && 0.3 || 1
53
52
  }));
54
- exports.BarElementPath = BarElementPath;
55
53
  function BarElement(props) {
56
54
  const {
57
55
  id,
@@ -60,7 +58,8 @@ function BarElement(props) {
60
58
  color,
61
59
  highlightScope,
62
60
  slots,
63
- slotProps
61
+ slotProps,
62
+ style
64
63
  } = props,
65
64
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
66
65
  const getInteractionItemProps = (0, _useInteractionItemProps.useInteractionItemProps)(highlightScope);
@@ -95,6 +94,7 @@ function BarElement(props) {
95
94
  seriesId: id,
96
95
  dataIndex
97
96
  }), {
97
+ style,
98
98
  className: classes.root
99
99
  }),
100
100
  ownerState
@@ -7,8 +7,24 @@ export interface BarPlotSlotComponentProps {
7
7
  bar?: Partial<BarElementProps>;
8
8
  }
9
9
  export interface BarPlotProps extends Pick<BarElementProps, 'slots' | 'slotProps'> {
10
+ /**
11
+ * If `true`, animations are skiped.
12
+ * @default false
13
+ */
14
+ skipAnimation?: boolean;
10
15
  }
11
- declare function BarPlot(props: BarPlotProps): React.JSX.Element | null;
16
+ /**
17
+ * Demos:
18
+ *
19
+ * - [Bars](https://mui.com/x/react-charts/bars/)
20
+ * - [Bar demonstration](https://mui.com/x/react-charts/bar-demo/)
21
+ * - [Stacking](https://mui.com/x/react-charts/stacking/)
22
+ *
23
+ * API:
24
+ *
25
+ * - [BarPlot API](https://mui.com/x/api/charts/bar-plot/)
26
+ */
27
+ declare function BarPlot(props: BarPlotProps): React.JSX.Element;
12
28
  declare namespace BarPlot {
13
29
  var propTypes: any;
14
30
  }
@@ -5,16 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.BarPlot = BarPlot;
8
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var React = _interopRequireWildcard(require("react"));
10
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _web = require("@react-spring/web");
11
13
  var _SeriesContextProvider = require("../context/SeriesContextProvider");
12
14
  var _CartesianContextProvider = require("../context/CartesianContextProvider");
13
15
  var _BarElement = require("./BarElement");
14
16
  var _axis = require("../models/axis");
15
17
  var _jsxRuntime = require("react/jsx-runtime");
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ const _excluded = ["skipAnimation"];
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; }
18
21
  /**
19
22
  * Solution of the equations
20
23
  * W = barWidth * N + offset * (N-1)
@@ -23,7 +26,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
23
26
  * @param numberOfGroups The number of bars to place in that space.
24
27
  * @param gapRatio The ratio of the gap between bars over the bar width.
25
28
  * @returns The bar width and the offset between bars.
26
- */function getBandSize({
29
+ */
30
+ function getBandSize({
27
31
  bandWidth: W,
28
32
  numberOfGroups: N,
29
33
  gapRatio: r
@@ -41,12 +45,13 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
41
45
  offset
42
46
  };
43
47
  }
44
- function BarPlot(props) {
45
- const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).bar;
48
+ const useCompletedData = () => {
49
+ const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).bar ?? {
50
+ series: {},
51
+ stackingGroups: [],
52
+ seriesOrder: []
53
+ };
46
54
  const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
47
- if (seriesData === undefined) {
48
- return null;
49
- }
50
55
  const {
51
56
  series,
52
57
  stackingGroups
@@ -59,66 +64,142 @@ function BarPlot(props) {
59
64
  } = axisData;
60
65
  const defaultXAxisId = xAxisIds[0];
61
66
  const defaultYAxisId = yAxisIds[0];
62
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
63
- children: stackingGroups.flatMap(({
64
- ids: groupIds
65
- }, groupIndex) => {
66
- return groupIds.flatMap(seriesId => {
67
- const xAxisKey = series[seriesId].xAxisKey ?? defaultXAxisId;
68
- const yAxisKey = series[seriesId].yAxisKey ?? defaultYAxisId;
69
- const xAxisConfig = xAxis[xAxisKey];
70
- const yAxisConfig = yAxis[yAxisKey];
71
- const verticalLayout = series[seriesId].layout === 'vertical';
72
- let baseScaleConfig;
73
- if (verticalLayout) {
74
- if (!(0, _axis.isBandScaleConfig)(xAxisConfig)) {
75
- throw new Error(`Axis with id "${xAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
76
- }
77
- if (xAxis[xAxisKey].data === undefined) {
78
- throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
79
- }
80
- baseScaleConfig = xAxisConfig;
81
- } else {
82
- if (!(0, _axis.isBandScaleConfig)(yAxisConfig)) {
83
- throw new Error(`Axis with id "${yAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
84
- }
85
- if (yAxis[yAxisKey].data === undefined) {
86
- throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
87
- }
88
- baseScaleConfig = yAxisConfig;
67
+ const data = stackingGroups.flatMap(({
68
+ ids: groupIds
69
+ }, groupIndex) => {
70
+ return groupIds.flatMap(seriesId => {
71
+ const xAxisKey = series[seriesId].xAxisKey ?? defaultXAxisId;
72
+ const yAxisKey = series[seriesId].yAxisKey ?? defaultYAxisId;
73
+ const xAxisConfig = xAxis[xAxisKey];
74
+ const yAxisConfig = yAxis[yAxisKey];
75
+ const verticalLayout = series[seriesId].layout === 'vertical';
76
+ let baseScaleConfig;
77
+ if (verticalLayout) {
78
+ if (!(0, _axis.isBandScaleConfig)(xAxisConfig)) {
79
+ throw new Error(`Axis with id "${xAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
80
+ }
81
+ if (xAxis[xAxisKey].data === undefined) {
82
+ throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
89
83
  }
90
- const xScale = xAxisConfig.scale;
91
- const yScale = yAxisConfig.scale;
92
- const bandWidth = baseScaleConfig.scale.bandwidth();
93
- const {
94
- barWidth,
95
- offset
96
- } = getBandSize({
97
- bandWidth,
98
- numberOfGroups: stackingGroups.length,
99
- gapRatio: baseScaleConfig.barGapRatio
100
- });
101
- const barOffset = groupIndex * (barWidth + offset);
102
- const {
103
- stackedData,
104
- color
105
- } = series[seriesId];
106
- return stackedData.map((values, dataIndex) => {
107
- const baseline = Math.min(...values);
108
- const value = Math.max(...values);
109
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarElement.BarElement, (0, _extends2.default)({
110
- id: seriesId,
111
- dataIndex: dataIndex,
112
- x: verticalLayout ? xScale(xAxis[xAxisKey].data?.[dataIndex]) + barOffset : xScale(baseline),
113
- y: verticalLayout ? yScale(value) : yScale(yAxis[yAxisKey].data?.[dataIndex]) + barOffset,
114
- height: verticalLayout ? Math.abs(yScale(baseline) - yScale(value)) : barWidth,
115
- width: verticalLayout ? barWidth : Math.abs(xScale(baseline) - xScale(value)),
116
- color: color,
117
- highlightScope: series[seriesId].highlightScope
118
- }, props), `${seriesId}-${dataIndex}`);
119
- });
84
+ baseScaleConfig = xAxisConfig;
85
+ } else {
86
+ if (!(0, _axis.isBandScaleConfig)(yAxisConfig)) {
87
+ throw new Error(`Axis with id "${yAxisKey}" shoud be of type "band" to display the bar series of id "${seriesId}"`);
88
+ }
89
+ if (yAxis[yAxisKey].data === undefined) {
90
+ throw new Error(`Axis with id "${xAxisKey}" shoud have data property`);
91
+ }
92
+ baseScaleConfig = yAxisConfig;
93
+ }
94
+ const xScale = xAxisConfig.scale;
95
+ const yScale = yAxisConfig.scale;
96
+ const bandWidth = baseScaleConfig.scale.bandwidth();
97
+ const {
98
+ barWidth,
99
+ offset
100
+ } = getBandSize({
101
+ bandWidth,
102
+ numberOfGroups: stackingGroups.length,
103
+ gapRatio: baseScaleConfig.barGapRatio
104
+ });
105
+ const barOffset = groupIndex * (barWidth + offset);
106
+ const {
107
+ stackedData,
108
+ color
109
+ } = series[seriesId];
110
+ return stackedData.map((values, dataIndex) => {
111
+ const bottom = Math.min(...values);
112
+ const top = Math.max(...values);
113
+ return {
114
+ bottom,
115
+ top,
116
+ seriesId,
117
+ dataIndex,
118
+ layout: series[seriesId].layout,
119
+ x: verticalLayout ? xScale(xAxis[xAxisKey].data?.[dataIndex]) + barOffset : xScale(bottom),
120
+ y: verticalLayout ? yScale(top) : yScale(yAxis[yAxisKey].data?.[dataIndex]) + barOffset,
121
+ xOrigin: xScale(0),
122
+ yOrigin: yScale(0),
123
+ height: verticalLayout ? Math.abs(yScale(bottom) - yScale(top)) : barWidth,
124
+ width: verticalLayout ? barWidth : Math.abs(xScale(bottom) - xScale(top)),
125
+ color,
126
+ highlightScope: series[seriesId].highlightScope
127
+ };
120
128
  });
121
- })
129
+ });
130
+ });
131
+ return data;
132
+ };
133
+ const getOutStyle = ({
134
+ layout,
135
+ yOrigin,
136
+ x,
137
+ width,
138
+ y,
139
+ xOrigin,
140
+ height
141
+ }) => (0, _extends2.default)({}, layout === 'vertical' ? {
142
+ y: yOrigin,
143
+ x,
144
+ height: 0,
145
+ width
146
+ } : {
147
+ y,
148
+ x: xOrigin,
149
+ height,
150
+ width: 0
151
+ });
152
+ const getInStyle = ({
153
+ x,
154
+ width,
155
+ y,
156
+ height
157
+ }) => ({
158
+ y,
159
+ x,
160
+ height,
161
+ width
162
+ });
163
+
164
+ /**
165
+ * Demos:
166
+ *
167
+ * - [Bars](https://mui.com/x/react-charts/bars/)
168
+ * - [Bar demonstration](https://mui.com/x/react-charts/bar-demo/)
169
+ * - [Stacking](https://mui.com/x/react-charts/stacking/)
170
+ *
171
+ * API:
172
+ *
173
+ * - [BarPlot API](https://mui.com/x/api/charts/bar-plot/)
174
+ */
175
+ function BarPlot(props) {
176
+ const completedData = useCompletedData();
177
+ const {
178
+ skipAnimation
179
+ } = props,
180
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
181
+ const transition = (0, _web.useTransition)(completedData, {
182
+ keys: bar => `${bar.seriesId}-${bar.dataIndex}`,
183
+ from: getOutStyle,
184
+ leave: getOutStyle,
185
+ enter: getInStyle,
186
+ update: getInStyle,
187
+ immediate: skipAnimation
188
+ });
189
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
190
+ children: transition((style, {
191
+ seriesId,
192
+ dataIndex,
193
+ color,
194
+ highlightScope
195
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_BarElement.BarElement, (0, _extends2.default)({
196
+ id: seriesId,
197
+ dataIndex: dataIndex,
198
+ highlightScope: highlightScope,
199
+ color: color
200
+ }, other, {
201
+ style: style
202
+ })))
122
203
  });
123
204
  }
124
205
  process.env.NODE_ENV !== "production" ? BarPlot.propTypes = {
@@ -126,6 +207,11 @@ process.env.NODE_ENV !== "production" ? BarPlot.propTypes = {
126
207
  // | These PropTypes are generated from the TypeScript type definitions |
127
208
  // | To update them edit the TypeScript types and run "yarn proptypes" |
128
209
  // ----------------------------------------------------------------------
210
+ /**
211
+ * If `true`, animations are skiped.
212
+ * @default false
213
+ */
214
+ skipAnimation: _propTypes.default.bool,
129
215
  /**
130
216
  * The props used for each component slot.
131
217
  * @default {}
@@ -60,8 +60,7 @@ const formatter = (params, dataset) => {
60
60
  return {
61
61
  seriesOrder,
62
62
  stackingGroups,
63
- series: (0, _defaultizeValueFormatter.default)(completedSeries, v => v.toLocaleString())
63
+ series: (0, _defaultizeValueFormatter.default)(completedSeries, v => v?.toLocaleString())
64
64
  };
65
65
  };
66
- var _default = formatter;
67
- exports.default = _default;
66
+ var _default = exports.default = formatter;
@@ -16,5 +16,4 @@ const legendGetter = params => {
16
16
  }));
17
17
  return data.filter(item => item.label !== undefined);
18
18
  };
19
- var _default = legendGetter;
20
- exports.default = _default;
19
+ var _default = exports.default = legendGetter;