@mui/x-charts 7.0.0-beta.2 → 7.0.0-beta.4

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 (265) hide show
  1. package/BarChart/BarChart.d.ts +21 -5
  2. package/BarChart/BarChart.js +27 -7
  3. package/CHANGELOG.md +298 -23
  4. package/ChartsGrid/ChartsGrid.d.ts +30 -0
  5. package/ChartsGrid/ChartsGrid.js +128 -0
  6. package/ChartsGrid/chartsGridClasses.d.ts +13 -0
  7. package/ChartsGrid/chartsGridClasses.js +14 -0
  8. package/ChartsGrid/index.d.ts +2 -0
  9. package/ChartsGrid/index.js +27 -0
  10. package/ChartsGrid/package.json +6 -0
  11. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  12. package/ChartsSurface.js +6 -4
  13. package/ChartsTooltip/utils.js +1 -1
  14. package/ChartsVoronoiHandler/ChartsVoronoiHandler.d.ts +0 -1
  15. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +1 -2
  16. package/ChartsXAxis/ChartsXAxis.js +3 -3
  17. package/ChartsYAxis/ChartsYAxis.js +3 -3
  18. package/Gauge/Gauge.d.ts +13 -0
  19. package/Gauge/Gauge.js +154 -0
  20. package/Gauge/GaugeContainer.d.ts +17 -0
  21. package/Gauge/GaugeContainer.js +214 -0
  22. package/Gauge/GaugeProvider.d.ts +117 -0
  23. package/Gauge/GaugeProvider.js +99 -0
  24. package/Gauge/GaugeReferenceArc.d.ts +2 -0
  25. package/Gauge/GaugeReferenceArc.js +44 -0
  26. package/Gauge/GaugeValueArc.d.ts +2 -0
  27. package/Gauge/GaugeValueArc.js +51 -0
  28. package/Gauge/GaugeValueText.d.ts +15 -0
  29. package/Gauge/GaugeValueText.js +77 -0
  30. package/Gauge/gaugeClasses.d.ts +14 -0
  31. package/Gauge/gaugeClasses.js +15 -0
  32. package/Gauge/index.d.ts +7 -0
  33. package/Gauge/index.js +87 -0
  34. package/Gauge/package.json +6 -0
  35. package/Gauge/utils.d.ts +19 -0
  36. package/Gauge/utils.js +75 -0
  37. package/LineChart/LineChart.d.ts +24 -5
  38. package/LineChart/LineChart.js +31 -7
  39. package/PieChart/PieArc.d.ts +4 -4
  40. package/PieChart/PieArc.js +9 -9
  41. package/PieChart/PieArcLabelPlot.js +13 -13
  42. package/PieChart/PieChart.d.ts +22 -0
  43. package/PieChart/PieChart.js +22 -2
  44. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -2
  45. package/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
  46. package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +2 -0
  47. package/ResponsiveChartContainer/useChartContainerDimensions.js +76 -0
  48. package/ScatterChart/ScatterChart.d.ts +18 -0
  49. package/ScatterChart/ScatterChart.js +25 -3
  50. package/SparkLineChart/SparkLineChart.js +0 -2
  51. package/context/CartesianContextProvider.d.ts +0 -8
  52. package/context/CartesianContextProvider.js +4 -89
  53. package/context/DrawingProvider.d.ts +2 -11
  54. package/context/DrawingProvider.js +10 -35
  55. package/context/HighlightProvider.js +3 -0
  56. package/context/InteractionProvider.js +3 -0
  57. package/context/SeriesContextProvider.js +3 -0
  58. package/context/index.d.ts +0 -2
  59. package/context/index.js +1 -15
  60. package/esm/BarChart/BarChart.js +27 -7
  61. package/esm/ChartsGrid/ChartsGrid.js +121 -0
  62. package/esm/ChartsGrid/chartsGridClasses.js +6 -0
  63. package/esm/ChartsGrid/index.js +2 -0
  64. package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  65. package/esm/ChartsSurface.js +6 -4
  66. package/esm/ChartsTooltip/utils.js +2 -2
  67. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
  68. package/esm/ChartsXAxis/ChartsXAxis.js +2 -2
  69. package/esm/ChartsYAxis/ChartsYAxis.js +2 -2
  70. package/esm/Gauge/Gauge.js +147 -0
  71. package/esm/Gauge/GaugeContainer.js +209 -0
  72. package/esm/Gauge/GaugeProvider.js +88 -0
  73. package/esm/Gauge/GaugeReferenceArc.js +35 -0
  74. package/esm/Gauge/GaugeValueArc.js +42 -0
  75. package/esm/Gauge/GaugeValueText.js +69 -0
  76. package/esm/Gauge/gaugeClasses.js +7 -0
  77. package/esm/Gauge/index.js +7 -0
  78. package/esm/Gauge/utils.js +68 -0
  79. package/esm/LineChart/LineChart.js +31 -7
  80. package/esm/PieChart/PieArc.js +9 -9
  81. package/esm/PieChart/PieArcLabelPlot.js +13 -13
  82. package/esm/PieChart/PieChart.js +22 -2
  83. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
  84. package/esm/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
  85. package/esm/ScatterChart/ScatterChart.js +25 -3
  86. package/esm/SparkLineChart/SparkLineChart.js +0 -2
  87. package/esm/context/CartesianContextProvider.js +3 -88
  88. package/esm/context/DrawingProvider.js +10 -36
  89. package/esm/context/HighlightProvider.js +3 -0
  90. package/esm/context/InteractionProvider.js +3 -0
  91. package/esm/context/SeriesContextProvider.js +3 -0
  92. package/esm/context/index.js +1 -2
  93. package/esm/hooks/useAxisEvents.js +2 -2
  94. package/esm/hooks/useTicks.js +2 -3
  95. package/esm/index.js +2 -0
  96. package/hooks/useAxisEvents.js +1 -1
  97. package/hooks/useTicks.d.ts +2 -3
  98. package/hooks/useTicks.js +2 -3
  99. package/index.d.ts +2 -0
  100. package/index.js +23 -1
  101. package/modern/BarChart/BarChart.js +27 -7
  102. package/modern/ChartsGrid/ChartsGrid.js +121 -0
  103. package/modern/ChartsGrid/chartsGridClasses.js +6 -0
  104. package/modern/ChartsGrid/index.js +2 -0
  105. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  106. package/modern/ChartsSurface.js +6 -4
  107. package/modern/ChartsTooltip/utils.js +2 -2
  108. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
  109. package/modern/ChartsXAxis/ChartsXAxis.js +2 -2
  110. package/modern/ChartsYAxis/ChartsYAxis.js +2 -2
  111. package/modern/Gauge/Gauge.js +147 -0
  112. package/modern/Gauge/GaugeContainer.js +206 -0
  113. package/modern/Gauge/GaugeProvider.js +88 -0
  114. package/modern/Gauge/GaugeReferenceArc.js +35 -0
  115. package/modern/Gauge/GaugeValueArc.js +42 -0
  116. package/modern/Gauge/GaugeValueText.js +69 -0
  117. package/modern/Gauge/gaugeClasses.js +7 -0
  118. package/modern/Gauge/index.js +7 -0
  119. package/modern/Gauge/utils.js +68 -0
  120. package/modern/LineChart/LineChart.js +31 -7
  121. package/modern/PieChart/PieArc.js +9 -9
  122. package/modern/PieChart/PieArcLabelPlot.js +13 -13
  123. package/modern/PieChart/PieChart.js +22 -2
  124. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
  125. package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
  126. package/modern/ScatterChart/ScatterChart.js +25 -3
  127. package/modern/SparkLineChart/SparkLineChart.js +0 -2
  128. package/modern/context/CartesianContextProvider.js +3 -88
  129. package/modern/context/DrawingProvider.js +10 -36
  130. package/modern/context/HighlightProvider.js +3 -0
  131. package/modern/context/InteractionProvider.js +3 -0
  132. package/modern/context/SeriesContextProvider.js +3 -0
  133. package/modern/context/index.js +1 -2
  134. package/modern/hooks/useAxisEvents.js +2 -2
  135. package/modern/hooks/useTicks.js +2 -3
  136. package/modern/index.js +3 -1
  137. package/package.json +4 -4
  138. package/legacy/BarChart/BarChart.js +0 -418
  139. package/legacy/BarChart/BarElement.js +0 -119
  140. package/legacy/BarChart/BarPlot.js +0 -232
  141. package/legacy/BarChart/extremums.js +0 -45
  142. package/legacy/BarChart/formatter.js +0 -78
  143. package/legacy/BarChart/index.js +0 -3
  144. package/legacy/BarChart/legend.js +0 -15
  145. package/legacy/ChartContainer/ChartContainer.js +0 -189
  146. package/legacy/ChartContainer/index.js +0 -1
  147. package/legacy/ChartsAxis/ChartsAxis.js +0 -215
  148. package/legacy/ChartsAxis/axisClasses.js +0 -5
  149. package/legacy/ChartsAxis/index.js +0 -2
  150. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +0 -105
  151. package/legacy/ChartsAxisHighlight/index.js +0 -1
  152. package/legacy/ChartsClipPath/ChartsClipPath.js +0 -48
  153. package/legacy/ChartsClipPath/index.js +0 -1
  154. package/legacy/ChartsLegend/ChartsLegend.js +0 -100
  155. package/legacy/ChartsLegend/DefaultChartsLegend.js +0 -302
  156. package/legacy/ChartsLegend/chartsLegendClasses.js +0 -5
  157. package/legacy/ChartsLegend/index.js +0 -4
  158. package/legacy/ChartsLegend/utils.js +0 -15
  159. package/legacy/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +0 -75
  160. package/legacy/ChartsOnAxisClickHandler/index.js +0 -1
  161. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +0 -72
  162. package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +0 -105
  163. package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +0 -105
  164. package/legacy/ChartsReferenceLine/chartsReferenceLineClasses.js +0 -6
  165. package/legacy/ChartsReferenceLine/common.js +0 -19
  166. package/legacy/ChartsReferenceLine/index.js +0 -2
  167. package/legacy/ChartsSurface.js +0 -76
  168. package/legacy/ChartsText/ChartsText.js +0 -95
  169. package/legacy/ChartsText/index.js +0 -1
  170. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +0 -96
  171. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +0 -53
  172. package/legacy/ChartsTooltip/ChartsTooltip.js +0 -148
  173. package/legacy/ChartsTooltip/ChartsTooltipTable.js +0 -80
  174. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -118
  175. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -78
  176. package/legacy/ChartsTooltip/chartsTooltipClasses.js +0 -5
  177. package/legacy/ChartsTooltip/index.js +0 -6
  178. package/legacy/ChartsTooltip/utils.js +0 -103
  179. package/legacy/ChartsVoronoiHandler/ChartsVoronoiHandler.js +0 -206
  180. package/legacy/ChartsVoronoiHandler/index.js +0 -1
  181. package/legacy/ChartsXAxis/ChartsXAxis.js +0 -339
  182. package/legacy/ChartsXAxis/index.js +0 -1
  183. package/legacy/ChartsYAxis/ChartsYAxis.js +0 -267
  184. package/legacy/ChartsYAxis/index.js +0 -1
  185. package/legacy/LineChart/AnimatedArea.js +0 -102
  186. package/legacy/LineChart/AnimatedLine.js +0 -104
  187. package/legacy/LineChart/AreaElement.js +0 -112
  188. package/legacy/LineChart/AreaPlot.js +0 -149
  189. package/legacy/LineChart/LineChart.js +0 -426
  190. package/legacy/LineChart/LineElement.js +0 -112
  191. package/legacy/LineChart/LineHighlightElement.js +0 -79
  192. package/legacy/LineChart/LineHighlightPlot.js +0 -97
  193. package/legacy/LineChart/LinePlot.js +0 -144
  194. package/legacy/LineChart/MarkElement.js +0 -153
  195. package/legacy/LineChart/MarkPlot.js +0 -178
  196. package/legacy/LineChart/extremums.js +0 -54
  197. package/legacy/LineChart/formatter.js +0 -82
  198. package/legacy/LineChart/index.js +0 -11
  199. package/legacy/LineChart/legend.js +0 -15
  200. package/legacy/PieChart/PieArc.js +0 -103
  201. package/legacy/PieChart/PieArcLabel.js +0 -112
  202. package/legacy/PieChart/PieArcLabelPlot.js +0 -193
  203. package/legacy/PieChart/PieArcPlot.js +0 -180
  204. package/legacy/PieChart/PieChart.js +0 -382
  205. package/legacy/PieChart/PiePlot.js +0 -137
  206. package/legacy/PieChart/dataTransform/transition.js +0 -149
  207. package/legacy/PieChart/dataTransform/useTransformData.js +0 -63
  208. package/legacy/PieChart/formatter.js +0 -55
  209. package/legacy/PieChart/index.js +0 -6
  210. package/legacy/PieChart/legend.js +0 -16
  211. package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +0 -255
  212. package/legacy/ResponsiveChartContainer/index.js +0 -1
  213. package/legacy/ScatterChart/Scatter.js +0 -110
  214. package/legacy/ScatterChart/ScatterChart.js +0 -370
  215. package/legacy/ScatterChart/ScatterPlot.js +0 -80
  216. package/legacy/ScatterChart/extremums.js +0 -39
  217. package/legacy/ScatterChart/formatter.js +0 -12
  218. package/legacy/ScatterChart/index.js +0 -3
  219. package/legacy/ScatterChart/legend.js +0 -15
  220. package/legacy/SparkLineChart/SparkLineChart.js +0 -266
  221. package/legacy/SparkLineChart/index.js +0 -1
  222. package/legacy/colorPalettes/colorPalettes.js +0 -15
  223. package/legacy/colorPalettes/index.js +0 -1
  224. package/legacy/constants.js +0 -8
  225. package/legacy/context/CartesianContextProvider.js +0 -327
  226. package/legacy/context/DrawingProvider.js +0 -74
  227. package/legacy/context/HighlightProvider.js +0 -56
  228. package/legacy/context/InteractionProvider.js +0 -81
  229. package/legacy/context/SeriesContextProvider.js +0 -74
  230. package/legacy/context/index.js +0 -2
  231. package/legacy/hooks/index.js +0 -2
  232. package/legacy/hooks/useAxisEvents.js +0 -120
  233. package/legacy/hooks/useChartDimensions.js +0 -18
  234. package/legacy/hooks/useDrawingArea.js +0 -21
  235. package/legacy/hooks/useInteractionItemProps.js +0 -71
  236. package/legacy/hooks/useMounted.js +0 -21
  237. package/legacy/hooks/useReducedMotion.js +0 -27
  238. package/legacy/hooks/useScale.js +0 -33
  239. package/legacy/hooks/useTicks.js +0 -66
  240. package/legacy/index.js +0 -31
  241. package/legacy/internals/components/AxisSharedComponents.js +0 -25
  242. package/legacy/internals/defaultizeColor.js +0 -17
  243. package/legacy/internals/defaultizeValueFormatter.js +0 -12
  244. package/legacy/internals/domUtils.js +0 -121
  245. package/legacy/internals/geometry.js +0 -37
  246. package/legacy/internals/getCurve.js +0 -39
  247. package/legacy/internals/getScale.js +0 -17
  248. package/legacy/internals/getWordsByLines.js +0 -15
  249. package/legacy/internals/isBandScale.js +0 -3
  250. package/legacy/internals/stackSeries.js +0 -92
  251. package/legacy/internals/useAnimatedPath.js +0 -32
  252. package/legacy/internals/utils.js +0 -52
  253. package/legacy/models/axis.js +0 -6
  254. package/legacy/models/helpers.js +0 -1
  255. package/legacy/models/index.js +0 -4
  256. package/legacy/models/layout.js +0 -1
  257. package/legacy/models/seriesType/bar.js +0 -1
  258. package/legacy/models/seriesType/common.js +0 -1
  259. package/legacy/models/seriesType/config.js +0 -1
  260. package/legacy/models/seriesType/index.js +0 -5
  261. package/legacy/models/seriesType/line.js +0 -1
  262. package/legacy/models/seriesType/pie.js +0 -1
  263. package/legacy/models/seriesType/scatter.js +0 -1
  264. package/legacy/models/stacking.js +0 -1
  265. package/legacy/themeAugmentation/index.js +0 -3
@@ -1,149 +0,0 @@
1
- export var defaultTransitionConfig = {
2
- keys: function keys(item) {
3
- return item.id;
4
- },
5
- from: function from(_ref) {
6
- var innerRadius = _ref.innerRadius,
7
- outerRadius = _ref.outerRadius,
8
- cornerRadius = _ref.cornerRadius,
9
- startAngle = _ref.startAngle,
10
- endAngle = _ref.endAngle,
11
- paddingAngle = _ref.paddingAngle,
12
- color = _ref.color,
13
- isFaded = _ref.isFaded;
14
- return {
15
- innerRadius: innerRadius,
16
- outerRadius: (innerRadius + outerRadius) / 2,
17
- cornerRadius: cornerRadius,
18
- startAngle: (startAngle + endAngle) / 2,
19
- endAngle: (startAngle + endAngle) / 2,
20
- paddingAngle: paddingAngle,
21
- fill: color,
22
- opacity: isFaded ? 0.3 : 1
23
- };
24
- },
25
- leave: function leave(_ref2) {
26
- var innerRadius = _ref2.innerRadius,
27
- startAngle = _ref2.startAngle,
28
- endAngle = _ref2.endAngle;
29
- return {
30
- innerRadius: innerRadius,
31
- outerRadius: innerRadius,
32
- startAngle: (startAngle + endAngle) / 2,
33
- endAngle: (startAngle + endAngle) / 2
34
- };
35
- },
36
- enter: function enter(_ref3) {
37
- var innerRadius = _ref3.innerRadius,
38
- outerRadius = _ref3.outerRadius,
39
- startAngle = _ref3.startAngle,
40
- endAngle = _ref3.endAngle;
41
- return {
42
- innerRadius: innerRadius,
43
- outerRadius: outerRadius,
44
- startAngle: startAngle,
45
- endAngle: endAngle
46
- };
47
- },
48
- update: function update(_ref4) {
49
- var innerRadius = _ref4.innerRadius,
50
- outerRadius = _ref4.outerRadius,
51
- cornerRadius = _ref4.cornerRadius,
52
- startAngle = _ref4.startAngle,
53
- endAngle = _ref4.endAngle,
54
- paddingAngle = _ref4.paddingAngle,
55
- color = _ref4.color,
56
- isFaded = _ref4.isFaded;
57
- return {
58
- innerRadius: innerRadius,
59
- outerRadius: outerRadius,
60
- cornerRadius: cornerRadius,
61
- startAngle: startAngle,
62
- endAngle: endAngle,
63
- paddingAngle: paddingAngle,
64
- fill: color,
65
- opacity: isFaded ? 0.3 : 1
66
- };
67
- },
68
- config: {
69
- tension: 120,
70
- friction: 14,
71
- clamp: true
72
- }
73
- };
74
- export var defaultLabelTransitionConfig = {
75
- keys: function keys(item) {
76
- return item.id;
77
- },
78
- from: function from(_ref5) {
79
- var innerRadius = _ref5.innerRadius,
80
- outerRadius = _ref5.outerRadius,
81
- arcLabelRadius = _ref5.arcLabelRadius,
82
- cornerRadius = _ref5.cornerRadius,
83
- startAngle = _ref5.startAngle,
84
- endAngle = _ref5.endAngle,
85
- paddingAngle = _ref5.paddingAngle;
86
- return {
87
- innerRadius: innerRadius,
88
- outerRadius: (innerRadius + outerRadius) / 2,
89
- cornerRadius: cornerRadius,
90
- arcLabelRadius: arcLabelRadius,
91
- startAngle: (startAngle + endAngle) / 2,
92
- endAngle: (startAngle + endAngle) / 2,
93
- paddingAngle: paddingAngle,
94
- opacity: 0
95
- };
96
- },
97
- leave: function leave(_ref6) {
98
- var innerRadius = _ref6.innerRadius,
99
- startAngle = _ref6.startAngle,
100
- endAngle = _ref6.endAngle;
101
- return {
102
- innerRadius: innerRadius,
103
- outerRadius: innerRadius,
104
- arcLabelRadius: innerRadius,
105
- startAngle: (startAngle + endAngle) / 2,
106
- endAngle: (startAngle + endAngle) / 2,
107
- opacity: 0
108
- };
109
- },
110
- enter: function enter(_ref7) {
111
- var innerRadius = _ref7.innerRadius,
112
- outerRadius = _ref7.outerRadius,
113
- startAngle = _ref7.startAngle,
114
- endAngle = _ref7.endAngle,
115
- arcLabelRadius = _ref7.arcLabelRadius;
116
- return {
117
- innerRadius: innerRadius,
118
- outerRadius: outerRadius,
119
- startAngle: startAngle,
120
- endAngle: endAngle,
121
- arcLabelRadius: arcLabelRadius,
122
- opacity: 1
123
- };
124
- },
125
- update: function update(_ref8) {
126
- var innerRadius = _ref8.innerRadius,
127
- outerRadius = _ref8.outerRadius,
128
- cornerRadius = _ref8.cornerRadius,
129
- startAngle = _ref8.startAngle,
130
- endAngle = _ref8.endAngle,
131
- paddingAngle = _ref8.paddingAngle,
132
- arcLabelRadius = _ref8.arcLabelRadius;
133
- return {
134
- innerRadius: innerRadius,
135
- outerRadius: outerRadius,
136
- cornerRadius: cornerRadius,
137
- startAngle: startAngle,
138
- endAngle: endAngle,
139
- paddingAngle: paddingAngle,
140
- arcLabelRadius: arcLabelRadius,
141
- opacity: 1
142
- };
143
- },
144
- config: {
145
- tension: 120,
146
- friction: 14,
147
- clamp: true
148
- }
149
- };
@@ -1,63 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import { InteractionContext } from '../../context/InteractionProvider';
4
- import { getIsHighlighted, getIsFaded } from '../../hooks/useInteractionItemProps';
5
- export function useTransformData(series) {
6
- var seriesId = series.id,
7
- highlightScope = series.highlightScope,
8
- data = series.data,
9
- faded = series.faded,
10
- highlighted = series.highlighted,
11
- _series$paddingAngle = series.paddingAngle,
12
- basePaddingAngle = _series$paddingAngle === void 0 ? 0 : _series$paddingAngle,
13
- _series$innerRadius = series.innerRadius,
14
- baseInnerRadius = _series$innerRadius === void 0 ? 0 : _series$innerRadius,
15
- baseArcLabelRadius = series.arcLabelRadius,
16
- baseOuterRadius = series.outerRadius,
17
- _series$cornerRadius = series.cornerRadius,
18
- baseCornerRadius = _series$cornerRadius === void 0 ? 0 : _series$cornerRadius;
19
- var _React$useContext = React.useContext(InteractionContext),
20
- highlightedItem = _React$useContext.item;
21
- var getHighlightStatus = React.useCallback(function (dataIndex) {
22
- var isHighlighted = getIsHighlighted(highlightedItem, {
23
- type: 'pie',
24
- seriesId: seriesId,
25
- dataIndex: dataIndex
26
- }, highlightScope);
27
- var isFaded = !isHighlighted && getIsFaded(highlightedItem, {
28
- type: 'pie',
29
- seriesId: seriesId,
30
- dataIndex: dataIndex
31
- }, highlightScope);
32
- return {
33
- isHighlighted: isHighlighted,
34
- isFaded: isFaded
35
- };
36
- }, [highlightScope, highlightedItem, seriesId]);
37
- var dataWithHighlight = React.useMemo(function () {
38
- return data.map(function (item, itemIndex) {
39
- var _attributesOverride$p, _attributesOverride$i, _attributesOverride$o, _attributesOverride$c, _ref, _attributesOverride$a;
40
- var _getHighlightStatus = getHighlightStatus(itemIndex),
41
- isHighlighted = _getHighlightStatus.isHighlighted,
42
- isFaded = _getHighlightStatus.isFaded;
43
- var attributesOverride = _extends({
44
- additionalRadius: 0
45
- }, isFaded && faded || isHighlighted && highlighted || {});
46
- var paddingAngle = Math.max(0, Math.PI * ((_attributesOverride$p = attributesOverride.paddingAngle) != null ? _attributesOverride$p : basePaddingAngle) / 180);
47
- var innerRadius = Math.max(0, (_attributesOverride$i = attributesOverride.innerRadius) != null ? _attributesOverride$i : baseInnerRadius);
48
- var outerRadius = Math.max(0, (_attributesOverride$o = attributesOverride.outerRadius) != null ? _attributesOverride$o : baseOuterRadius + attributesOverride.additionalRadius);
49
- var cornerRadius = (_attributesOverride$c = attributesOverride.cornerRadius) != null ? _attributesOverride$c : baseCornerRadius;
50
- var arcLabelRadius = (_ref = (_attributesOverride$a = attributesOverride.arcLabelRadius) != null ? _attributesOverride$a : baseArcLabelRadius) != null ? _ref : (innerRadius + outerRadius) / 2;
51
- return _extends({}, item, attributesOverride, {
52
- isFaded: isFaded,
53
- isHighlighted: isHighlighted,
54
- paddingAngle: paddingAngle,
55
- innerRadius: innerRadius,
56
- outerRadius: outerRadius,
57
- cornerRadius: cornerRadius,
58
- arcLabelRadius: arcLabelRadius
59
- });
60
- });
61
- }, [baseCornerRadius, baseInnerRadius, baseOuterRadius, basePaddingAngle, baseArcLabelRadius, data, faded, getHighlightStatus, highlighted]);
62
- return dataWithHighlight;
63
- }
@@ -1,55 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { pie as d3Pie } from 'd3-shape';
3
- var getSortingComparator = function getSortingComparator() {
4
- var comparator = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'none';
5
- if (typeof comparator === 'function') {
6
- return comparator;
7
- }
8
- switch (comparator) {
9
- case 'none':
10
- return null;
11
- case 'desc':
12
- return function (a, b) {
13
- return b - a;
14
- };
15
- case 'asc':
16
- return function (a, b) {
17
- return a - b;
18
- };
19
- default:
20
- return null;
21
- }
22
- };
23
- var formatter = function formatter(params) {
24
- var seriesOrder = params.seriesOrder,
25
- series = params.series;
26
- var defaultizedSeries = {};
27
- seriesOrder.forEach(function (seriesId) {
28
- var _series$seriesId$star, _series$seriesId$endA, _series$seriesId$padd, _series$seriesId$sort;
29
- var arcs = d3Pie().startAngle(2 * Math.PI * ((_series$seriesId$star = series[seriesId].startAngle) != null ? _series$seriesId$star : 0) / 360).endAngle(2 * Math.PI * ((_series$seriesId$endA = series[seriesId].endAngle) != null ? _series$seriesId$endA : 360) / 360).padAngle(2 * Math.PI * ((_series$seriesId$padd = series[seriesId].paddingAngle) != null ? _series$seriesId$padd : 0) / 360).sortValues(getSortingComparator((_series$seriesId$sort = series[seriesId].sortingValues) != null ? _series$seriesId$sort : 'none'))(series[seriesId].data.map(function (piePoint) {
30
- return piePoint.value;
31
- }));
32
- defaultizedSeries[seriesId] = _extends({
33
- valueFormatter: function valueFormatter(item) {
34
- return item.value.toLocaleString();
35
- }
36
- }, series[seriesId], {
37
- data: series[seriesId].data.map(function (item, index) {
38
- var _item$id;
39
- return _extends({}, item, {
40
- id: (_item$id = item.id) != null ? _item$id : "auto-generated-pie-id-".concat(seriesId, "-").concat(index)
41
- }, arcs[index]);
42
- }).map(function (item) {
43
- var _series$seriesId$valu, _series$seriesId$valu2, _series$seriesId;
44
- return _extends({}, item, {
45
- formattedValue: (_series$seriesId$valu = (_series$seriesId$valu2 = (_series$seriesId = series[seriesId]).valueFormatter) == null ? void 0 : _series$seriesId$valu2.call(_series$seriesId, item)) != null ? _series$seriesId$valu : item.value.toLocaleString()
46
- });
47
- })
48
- });
49
- });
50
- return {
51
- seriesOrder: seriesOrder,
52
- series: defaultizedSeries
53
- };
54
- };
55
- export default formatter;
@@ -1,6 +0,0 @@
1
- export * from './PieChart';
2
- export * from './PiePlot';
3
- export * from './PieArcPlot';
4
- export * from './PieArcLabelPlot';
5
- export * from './PieArc';
6
- export * from './PieArcLabel';
@@ -1,16 +0,0 @@
1
- var legendGetter = function legendGetter(params) {
2
- var seriesOrder = params.seriesOrder,
3
- series = params.series;
4
- return seriesOrder.flatMap(function (seriesId) {
5
- return series[seriesId].data.map(function (item) {
6
- return {
7
- color: item.color,
8
- label: item.label,
9
- id: item.id
10
- };
11
- }).filter(function (item) {
12
- return item.label !== undefined;
13
- });
14
- });
15
- };
16
- export default legendGetter;
@@ -1,255 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
- var _excluded = ["width", "height"];
5
- import * as React from 'react';
6
- import PropTypes from 'prop-types';
7
- import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
8
- import ownerWindow from '@mui/utils/ownerWindow';
9
- import { styled } from '@mui/material/styles';
10
- import { ChartContainer } from '../ChartContainer';
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- var useChartDimensions = function useChartDimensions(inWidth, inHeight) {
13
- var rootRef = React.useRef(null);
14
- var displayError = React.useRef(false);
15
- var _React$useState = React.useState(0),
16
- _React$useState2 = _slicedToArray(_React$useState, 2),
17
- width = _React$useState2[0],
18
- setWidth = _React$useState2[1];
19
- var _React$useState3 = React.useState(0),
20
- _React$useState4 = _slicedToArray(_React$useState3, 2),
21
- height = _React$useState4[0],
22
- setHeight = _React$useState4[1];
23
-
24
- // Adaptation of the `computeSizeAndPublishResizeEvent` from the grid.
25
- var computeSize = React.useCallback(function () {
26
- var mainEl = rootRef == null ? void 0 : rootRef.current;
27
- if (!mainEl) {
28
- return;
29
- }
30
- var win = ownerWindow(mainEl);
31
- var computedStyle = win.getComputedStyle(mainEl);
32
- var newHeight = Math.floor(parseFloat(computedStyle.height)) || 0;
33
- var newWidth = Math.floor(parseFloat(computedStyle.width)) || 0;
34
- setWidth(newWidth);
35
- setHeight(newHeight);
36
- }, []);
37
- React.useEffect(function () {
38
- // Ensure the error detection occurs after the first rendering.
39
- displayError.current = true;
40
- }, []);
41
- useEnhancedEffect(function () {
42
- if (inWidth !== undefined && inHeight !== undefined) {
43
- return function () {};
44
- }
45
- computeSize();
46
- var elementToObserve = rootRef.current;
47
- if (typeof ResizeObserver === 'undefined') {
48
- return function () {};
49
- }
50
- var animationFrame;
51
- var observer = new ResizeObserver(function () {
52
- // See https://github.com/mui/mui-x/issues/8733
53
- animationFrame = requestAnimationFrame(function () {
54
- computeSize();
55
- });
56
- });
57
- if (elementToObserve) {
58
- observer.observe(elementToObserve);
59
- }
60
- return function () {
61
- if (animationFrame) {
62
- window.cancelAnimationFrame(animationFrame);
63
- }
64
- if (elementToObserve) {
65
- observer.unobserve(elementToObserve);
66
- }
67
- };
68
- }, [computeSize, inHeight, inWidth]);
69
- if (process.env.NODE_ENV !== 'production') {
70
- if (displayError.current && inWidth === undefined && width === 0) {
71
- console.error("MUI X Charts: ChartContainer does not have `width` prop, and its container has no `width` defined.");
72
- displayError.current = false;
73
- }
74
- if (displayError.current && inHeight === undefined && height === 0) {
75
- console.error("MUI X Charts: ChartContainer does not have `height` prop, and its container has no `height` defined.");
76
- displayError.current = false;
77
- }
78
- }
79
- return [rootRef, inWidth != null ? inWidth : width, inHeight != null ? inHeight : height];
80
- };
81
- var ResizableContainer = styled('div', {
82
- name: 'MuiResponsiveChart',
83
- slot: 'Container'
84
- })(function (_ref) {
85
- var _ownerState$width, _ownerState$height;
86
- var ownerState = _ref.ownerState;
87
- return {
88
- width: (_ownerState$width = ownerState.width) != null ? _ownerState$width : '100%',
89
- height: (_ownerState$height = ownerState.height) != null ? _ownerState$height : '100%',
90
- display: 'flex',
91
- position: 'relative',
92
- flexGrow: 1,
93
- flexDirection: 'column',
94
- alignItems: 'center',
95
- justifyContent: 'center',
96
- overflow: 'hidden',
97
- '&>svg': {
98
- width: '100%',
99
- height: '100%'
100
- }
101
- };
102
- });
103
- var ResponsiveChartContainer = /*#__PURE__*/React.forwardRef(function ResponsiveChartContainer(props, ref) {
104
- var inWidth = props.width,
105
- inHeight = props.height,
106
- other = _objectWithoutProperties(props, _excluded);
107
- var _useChartDimensions = useChartDimensions(inWidth, inHeight),
108
- _useChartDimensions2 = _slicedToArray(_useChartDimensions, 3),
109
- containerRef = _useChartDimensions2[0],
110
- width = _useChartDimensions2[1],
111
- height = _useChartDimensions2[2];
112
- return /*#__PURE__*/_jsx(ResizableContainer, {
113
- ref: containerRef,
114
- ownerState: {
115
- width: inWidth,
116
- height: inHeight
117
- },
118
- children: width && height ? /*#__PURE__*/_jsx(ChartContainer, _extends({}, other, {
119
- width: width,
120
- height: height,
121
- ref: ref
122
- })) : null
123
- });
124
- });
125
- process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
126
- // ----------------------------- Warning --------------------------------
127
- // | These PropTypes are generated from the TypeScript type definitions |
128
- // | To update them edit the TypeScript types and run "yarn proptypes" |
129
- // ----------------------------------------------------------------------
130
- children: PropTypes.node,
131
- className: PropTypes.string,
132
- /**
133
- * Color palette used to colorize multiple series.
134
- * @default blueberryTwilightPalette
135
- */
136
- colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
137
- /**
138
- * An array of objects that can be used to populate series and axes data using their `dataKey` property.
139
- */
140
- dataset: PropTypes.arrayOf(PropTypes.object),
141
- desc: PropTypes.string,
142
- /**
143
- * If `true`, the charts will not listen to the mouse move event.
144
- * It might break interactive features, but will improve performance.
145
- * @default false
146
- */
147
- disableAxisListener: PropTypes.bool,
148
- /**
149
- * The height of the chart in px. If not defined, it takes the height of the parent element.
150
- * @default undefined
151
- */
152
- height: PropTypes.number,
153
- /**
154
- * The margin between the SVG and the drawing area.
155
- * It's used for leaving some space for extra information such as the x- and y-axis or legend.
156
- * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
157
- * @default object Depends on the charts type.
158
- */
159
- margin: PropTypes.shape({
160
- bottom: PropTypes.number,
161
- left: PropTypes.number,
162
- right: PropTypes.number,
163
- top: PropTypes.number
164
- }),
165
- /**
166
- * The array of series to display.
167
- * Each type of series has its own specificity.
168
- * Please refer to the appropriate docs page to learn more about it.
169
- */
170
- series: PropTypes.arrayOf(PropTypes.object).isRequired,
171
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
172
- title: PropTypes.string,
173
- viewBox: PropTypes.shape({
174
- height: PropTypes.number,
175
- width: PropTypes.number,
176
- x: PropTypes.number,
177
- y: PropTypes.number
178
- }),
179
- /**
180
- * The width of the chart in px. If not defined, it takes the width of the parent element.
181
- * @default undefined
182
- */
183
- width: PropTypes.number,
184
- /**
185
- * The configuration of the x-axes.
186
- * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
187
- */
188
- xAxis: PropTypes.arrayOf(PropTypes.shape({
189
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
190
- classes: PropTypes.object,
191
- data: PropTypes.array,
192
- dataKey: PropTypes.string,
193
- disableLine: PropTypes.bool,
194
- disableTicks: PropTypes.bool,
195
- fill: PropTypes.string,
196
- hideTooltip: PropTypes.bool,
197
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
198
- label: PropTypes.string,
199
- labelFontSize: PropTypes.number,
200
- labelStyle: PropTypes.object,
201
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
202
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
203
- position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
204
- reverse: PropTypes.bool,
205
- scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
206
- slotProps: PropTypes.object,
207
- slots: PropTypes.object,
208
- stroke: PropTypes.string,
209
- tickFontSize: PropTypes.number,
210
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
211
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
212
- tickLabelStyle: PropTypes.object,
213
- tickMaxStep: PropTypes.number,
214
- tickMinStep: PropTypes.number,
215
- tickNumber: PropTypes.number,
216
- tickSize: PropTypes.number,
217
- valueFormatter: PropTypes.func
218
- })),
219
- /**
220
- * The configuration of the y-axes.
221
- * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
222
- */
223
- yAxis: PropTypes.arrayOf(PropTypes.shape({
224
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
225
- classes: PropTypes.object,
226
- data: PropTypes.array,
227
- dataKey: PropTypes.string,
228
- disableLine: PropTypes.bool,
229
- disableTicks: PropTypes.bool,
230
- fill: PropTypes.string,
231
- hideTooltip: PropTypes.bool,
232
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
233
- label: PropTypes.string,
234
- labelFontSize: PropTypes.number,
235
- labelStyle: PropTypes.object,
236
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
237
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
238
- position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
239
- reverse: PropTypes.bool,
240
- scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
241
- slotProps: PropTypes.object,
242
- slots: PropTypes.object,
243
- stroke: PropTypes.string,
244
- tickFontSize: PropTypes.number,
245
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
246
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
247
- tickLabelStyle: PropTypes.object,
248
- tickMaxStep: PropTypes.number,
249
- tickMinStep: PropTypes.number,
250
- tickNumber: PropTypes.number,
251
- tickSize: PropTypes.number,
252
- valueFormatter: PropTypes.func
253
- }))
254
- } : void 0;
255
- export { ResponsiveChartContainer };
@@ -1 +0,0 @@
1
- export * from './ResponsiveChartContainer';
@@ -1,110 +0,0 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _extends from "@babel/runtime/helpers/esm/extends";
3
- import * as React from 'react';
4
- import PropTypes from 'prop-types';
5
- import { getValueToPositionMapper } from '../hooks/useScale';
6
- import { getIsFaded, getIsHighlighted, useInteractionItemProps } from '../hooks/useInteractionItemProps';
7
- import { InteractionContext } from '../context/InteractionProvider';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- /**
10
- * Demos:
11
- *
12
- * - [Scatter](https://mui.com/x/react-charts/scatter/)
13
- * - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
14
- *
15
- * API:
16
- *
17
- * - [Scatter API](https://mui.com/x/api/charts/scatter/)
18
- */
19
- function Scatter(props) {
20
- var series = props.series,
21
- xScale = props.xScale,
22
- yScale = props.yScale,
23
- color = props.color,
24
- markerSize = props.markerSize,
25
- onItemClick = props.onItemClick;
26
- var highlightScope = React.useMemo(function () {
27
- return _extends({
28
- highlighted: 'item',
29
- faded: 'global'
30
- }, series.highlightScope);
31
- }, [series.highlightScope]);
32
- var _React$useContext = React.useContext(InteractionContext),
33
- item = _React$useContext.item,
34
- useVoronoiInteraction = _React$useContext.useVoronoiInteraction;
35
- var skipInteractionHandlers = useVoronoiInteraction || series.disableHover;
36
- var getInteractionItemProps = useInteractionItemProps(highlightScope, skipInteractionHandlers);
37
- var cleanData = React.useMemo(function () {
38
- var getXPosition = getValueToPositionMapper(xScale);
39
- var getYPosition = getValueToPositionMapper(yScale);
40
- var xRange = xScale.range();
41
- var yRange = yScale.range();
42
- var minXRange = Math.min.apply(Math, _toConsumableArray(xRange));
43
- var maxXRange = Math.max.apply(Math, _toConsumableArray(xRange));
44
- var minYRange = Math.min.apply(Math, _toConsumableArray(yRange));
45
- var maxYRange = Math.max.apply(Math, _toConsumableArray(yRange));
46
- var temp = [];
47
- for (var i = 0; i < series.data.length; i += 1) {
48
- var scatterPoint = series.data[i];
49
- var x = getXPosition(scatterPoint.x);
50
- var y = getYPosition(scatterPoint.y);
51
- var isInRange = x >= minXRange && x <= maxXRange && y >= minYRange && y <= maxYRange;
52
- var pointCtx = {
53
- type: 'scatter',
54
- seriesId: series.id,
55
- dataIndex: i
56
- };
57
- if (isInRange) {
58
- var isHighlighted = getIsHighlighted(item, pointCtx, highlightScope);
59
- temp.push({
60
- x: x,
61
- y: y,
62
- isHighlighted: isHighlighted,
63
- isFaded: !isHighlighted && getIsFaded(item, pointCtx, highlightScope),
64
- interactionProps: getInteractionItemProps(pointCtx),
65
- id: scatterPoint.id,
66
- dataIndex: i
67
- });
68
- }
69
- }
70
- return temp;
71
- }, [xScale, yScale, series.data, series.id, item, highlightScope, getInteractionItemProps]);
72
- return /*#__PURE__*/_jsx("g", {
73
- children: cleanData.map(function (dataPoint) {
74
- return /*#__PURE__*/_jsx("circle", _extends({
75
- cx: 0,
76
- cy: 0,
77
- r: (dataPoint.isHighlighted ? 1.2 : 1) * markerSize,
78
- transform: "translate(".concat(dataPoint.x, ", ").concat(dataPoint.y, ")"),
79
- fill: color,
80
- opacity: dataPoint.isFaded && 0.3 || 1,
81
- onClick: onItemClick && function (event) {
82
- return onItemClick(event, {
83
- type: 'scatter',
84
- seriesId: series.id,
85
- dataIndex: dataPoint.dataIndex
86
- });
87
- },
88
- cursor: onItemClick ? 'pointer' : 'unset'
89
- }, dataPoint.interactionProps), dataPoint.id);
90
- })
91
- });
92
- }
93
- process.env.NODE_ENV !== "production" ? Scatter.propTypes = {
94
- // ----------------------------- Warning --------------------------------
95
- // | These PropTypes are generated from the TypeScript type definitions |
96
- // | To update them edit the TypeScript types and run "yarn proptypes" |
97
- // ----------------------------------------------------------------------
98
- color: PropTypes.string.isRequired,
99
- markerSize: PropTypes.number.isRequired,
100
- /**
101
- * Callback fired when clicking on a scatter item.
102
- * @param {MouseEvent} event Mouse event recorded on the `<svg/>` element.
103
- * @param {ScatterItemIdentifier} scatterItemIdentifier The scatter item identifier.
104
- */
105
- onItemClick: PropTypes.func,
106
- series: PropTypes.object.isRequired,
107
- xScale: PropTypes.func.isRequired,
108
- yScale: PropTypes.func.isRequired
109
- } : void 0;
110
- export { Scatter };