@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,370 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import PropTypes from 'prop-types';
4
- import { ScatterPlot } from './ScatterPlot';
5
- import { ResponsiveChartContainer } from '../ResponsiveChartContainer';
6
- import { ChartsAxis } from '../ChartsAxis';
7
- import { ChartsTooltip } from '../ChartsTooltip';
8
- import { ChartsLegend } from '../ChartsLegend';
9
- import { ChartsAxisHighlight } from '../ChartsAxisHighlight';
10
- import { ChartsVoronoiHandler } from '../ChartsVoronoiHandler/ChartsVoronoiHandler';
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- import { jsxs as _jsxs } from "react/jsx-runtime";
13
- /**
14
- * Demos:
15
- *
16
- * - [Scatter](https://mui.com/x/react-charts/scatter/)
17
- * - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
18
- *
19
- * API:
20
- *
21
- * - [ScatterChart API](https://mui.com/x/api/charts/scatter-chart/)
22
- */
23
- var ScatterChart = /*#__PURE__*/React.forwardRef(function ScatterChart(props, ref) {
24
- var xAxis = props.xAxis,
25
- yAxis = props.yAxis,
26
- series = props.series,
27
- tooltip = props.tooltip,
28
- axisHighlight = props.axisHighlight,
29
- voronoiMaxRadius = props.voronoiMaxRadius,
30
- disableVoronoi = props.disableVoronoi,
31
- legend = props.legend,
32
- width = props.width,
33
- height = props.height,
34
- margin = props.margin,
35
- colors = props.colors,
36
- sx = props.sx,
37
- topAxis = props.topAxis,
38
- leftAxis = props.leftAxis,
39
- rightAxis = props.rightAxis,
40
- bottomAxis = props.bottomAxis,
41
- onItemClick = props.onItemClick,
42
- children = props.children,
43
- slots = props.slots,
44
- slotProps = props.slotProps;
45
- return /*#__PURE__*/_jsxs(ResponsiveChartContainer, {
46
- ref: ref,
47
- series: series.map(function (s) {
48
- return _extends({
49
- type: 'scatter'
50
- }, s);
51
- }),
52
- width: width,
53
- height: height,
54
- margin: margin,
55
- colors: colors,
56
- xAxis: xAxis,
57
- yAxis: yAxis,
58
- sx: sx,
59
- children: [!disableVoronoi && /*#__PURE__*/_jsx(ChartsVoronoiHandler, {
60
- voronoiMaxRadius: voronoiMaxRadius,
61
- onItemClick: onItemClick
62
- }), /*#__PURE__*/_jsx(ChartsAxis, {
63
- topAxis: topAxis,
64
- leftAxis: leftAxis,
65
- rightAxis: rightAxis,
66
- bottomAxis: bottomAxis,
67
- slots: slots,
68
- slotProps: slotProps
69
- }), /*#__PURE__*/_jsx(ScatterPlot, {
70
- slots: slots,
71
- slotProps: slotProps,
72
- onItemClick: disableVoronoi ? onItemClick : undefined
73
- }), /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legend, {
74
- slots: slots,
75
- slotProps: slotProps
76
- })), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({
77
- x: "none",
78
- y: "none"
79
- }, axisHighlight)), /*#__PURE__*/_jsx(ChartsTooltip, _extends({
80
- trigger: "item"
81
- }, tooltip)), children]
82
- });
83
- });
84
- process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
85
- // ----------------------------- Warning --------------------------------
86
- // | These PropTypes are generated from the TypeScript type definitions |
87
- // | To update them edit the TypeScript types and run "yarn proptypes" |
88
- // ----------------------------------------------------------------------
89
- axisHighlight: PropTypes.shape({
90
- x: PropTypes.oneOf(['band', 'line', 'none']),
91
- y: PropTypes.oneOf(['band', 'line', 'none'])
92
- }),
93
- /**
94
- * Indicate which axis to display the bottom of the charts.
95
- * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
96
- * @default xAxisIds[0] The id of the first provided axis
97
- */
98
- bottomAxis: PropTypes.oneOfType([PropTypes.shape({
99
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
100
- classes: PropTypes.object,
101
- disableLine: PropTypes.bool,
102
- disableTicks: PropTypes.bool,
103
- fill: PropTypes.string,
104
- label: PropTypes.string,
105
- labelFontSize: PropTypes.number,
106
- labelStyle: PropTypes.object,
107
- position: PropTypes.oneOf(['bottom', 'top']),
108
- slotProps: PropTypes.object,
109
- slots: PropTypes.object,
110
- stroke: PropTypes.string,
111
- tickFontSize: PropTypes.number,
112
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
113
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
114
- tickLabelStyle: PropTypes.object,
115
- tickMaxStep: PropTypes.number,
116
- tickMinStep: PropTypes.number,
117
- tickNumber: PropTypes.number,
118
- tickSize: PropTypes.number
119
- }), PropTypes.string]),
120
- children: PropTypes.node,
121
- className: PropTypes.string,
122
- /**
123
- * Color palette used to colorize multiple series.
124
- * @default blueberryTwilightPalette
125
- */
126
- colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
127
- /**
128
- * An array of objects that can be used to populate series and axes data using their `dataKey` property.
129
- */
130
- dataset: PropTypes.arrayOf(PropTypes.object),
131
- desc: PropTypes.string,
132
- /**
133
- * If `true`, the charts will not listen to the mouse move event.
134
- * It might break interactive features, but will improve performance.
135
- * @default false
136
- */
137
- disableAxisListener: PropTypes.bool,
138
- /**
139
- * If true, the interaction will not use the Voronoi cell and fall back to hover events.
140
- * @default false
141
- */
142
- disableVoronoi: PropTypes.bool,
143
- /**
144
- * The height of the chart in px. If not defined, it takes the height of the parent element.
145
- * @default undefined
146
- */
147
- height: PropTypes.number,
148
- /**
149
- * Indicate which axis to display the left of the charts.
150
- * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
151
- * @default yAxisIds[0] The id of the first provided axis
152
- */
153
- leftAxis: PropTypes.oneOfType([PropTypes.shape({
154
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
155
- classes: PropTypes.object,
156
- disableLine: PropTypes.bool,
157
- disableTicks: PropTypes.bool,
158
- fill: PropTypes.string,
159
- label: PropTypes.string,
160
- labelFontSize: PropTypes.number,
161
- labelStyle: PropTypes.object,
162
- position: PropTypes.oneOf(['left', 'right']),
163
- slotProps: PropTypes.object,
164
- slots: PropTypes.object,
165
- stroke: PropTypes.string,
166
- tickFontSize: PropTypes.number,
167
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
168
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
169
- tickLabelStyle: PropTypes.object,
170
- tickMaxStep: PropTypes.number,
171
- tickMinStep: PropTypes.number,
172
- tickNumber: PropTypes.number,
173
- tickSize: PropTypes.number
174
- }), PropTypes.string]),
175
- /**
176
- * @deprecated Consider using `slotProps.legend` instead.
177
- */
178
- legend: PropTypes.shape({
179
- classes: PropTypes.object,
180
- direction: PropTypes.oneOf(['column', 'row']),
181
- hidden: PropTypes.bool,
182
- position: PropTypes.shape({
183
- horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
184
- vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
185
- }),
186
- slotProps: PropTypes.object,
187
- slots: PropTypes.object
188
- }),
189
- /**
190
- * The margin between the SVG and the drawing area.
191
- * It's used for leaving some space for extra information such as the x- and y-axis or legend.
192
- * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
193
- * @default object Depends on the charts type.
194
- */
195
- margin: PropTypes.shape({
196
- bottom: PropTypes.number,
197
- left: PropTypes.number,
198
- right: PropTypes.number,
199
- top: PropTypes.number
200
- }),
201
- /**
202
- * Callback fired when clicking on a scatter item.
203
- * @param {MouseEvent} event The mouse event recorded on the `<svg/>` element if using Voronoi cells. Or the Mouse event from the scatter element, when `disableVoronoi=true`.
204
- * @param {ScatterItemIdentifier} scatterItemIdentifier The scatter item identifier.
205
- */
206
- onItemClick: PropTypes.func,
207
- /**
208
- * Indicate which axis to display the right of the charts.
209
- * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
210
- * @default null
211
- */
212
- rightAxis: PropTypes.oneOfType([PropTypes.shape({
213
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
214
- classes: PropTypes.object,
215
- disableLine: PropTypes.bool,
216
- disableTicks: PropTypes.bool,
217
- fill: PropTypes.string,
218
- label: PropTypes.string,
219
- labelFontSize: PropTypes.number,
220
- labelStyle: PropTypes.object,
221
- position: PropTypes.oneOf(['left', 'right']),
222
- slotProps: PropTypes.object,
223
- slots: PropTypes.object,
224
- stroke: PropTypes.string,
225
- tickFontSize: PropTypes.number,
226
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
227
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
228
- tickLabelStyle: PropTypes.object,
229
- tickMaxStep: PropTypes.number,
230
- tickMinStep: PropTypes.number,
231
- tickNumber: PropTypes.number,
232
- tickSize: PropTypes.number
233
- }), PropTypes.string]),
234
- series: PropTypes.arrayOf(PropTypes.object).isRequired,
235
- /**
236
- * The props used for each component slot.
237
- * @default {}
238
- */
239
- slotProps: PropTypes.object,
240
- /**
241
- * Overridable component slots.
242
- * @default {}
243
- */
244
- slots: PropTypes.object,
245
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
246
- title: PropTypes.string,
247
- tooltip: PropTypes.shape({
248
- axisContent: PropTypes.elementType,
249
- classes: PropTypes.object,
250
- itemContent: PropTypes.elementType,
251
- slotProps: PropTypes.object,
252
- slots: PropTypes.object,
253
- trigger: PropTypes.oneOf(['axis', 'item', 'none'])
254
- }),
255
- /**
256
- * Indicate which axis to display the top of the charts.
257
- * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
258
- * @default null
259
- */
260
- topAxis: PropTypes.oneOfType([PropTypes.shape({
261
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
262
- classes: PropTypes.object,
263
- disableLine: PropTypes.bool,
264
- disableTicks: PropTypes.bool,
265
- fill: PropTypes.string,
266
- label: PropTypes.string,
267
- labelFontSize: PropTypes.number,
268
- labelStyle: PropTypes.object,
269
- position: PropTypes.oneOf(['bottom', 'top']),
270
- slotProps: PropTypes.object,
271
- slots: PropTypes.object,
272
- stroke: PropTypes.string,
273
- tickFontSize: PropTypes.number,
274
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
275
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
276
- tickLabelStyle: PropTypes.object,
277
- tickMaxStep: PropTypes.number,
278
- tickMinStep: PropTypes.number,
279
- tickNumber: PropTypes.number,
280
- tickSize: PropTypes.number
281
- }), PropTypes.string]),
282
- viewBox: PropTypes.shape({
283
- height: PropTypes.number,
284
- width: PropTypes.number,
285
- x: PropTypes.number,
286
- y: PropTypes.number
287
- }),
288
- /**
289
- * Defines the maximal distance between a scatter point and the pointer that triggers the interaction.
290
- * If `undefined`, the radius is assumed to be infinite.
291
- * @default undefined
292
- */
293
- voronoiMaxRadius: PropTypes.number,
294
- /**
295
- * The width of the chart in px. If not defined, it takes the width of the parent element.
296
- * @default undefined
297
- */
298
- width: PropTypes.number,
299
- /**
300
- * The configuration of the x-axes.
301
- * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
302
- */
303
- xAxis: PropTypes.arrayOf(PropTypes.shape({
304
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
305
- classes: PropTypes.object,
306
- data: PropTypes.array,
307
- dataKey: PropTypes.string,
308
- disableLine: PropTypes.bool,
309
- disableTicks: PropTypes.bool,
310
- fill: PropTypes.string,
311
- hideTooltip: PropTypes.bool,
312
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
313
- label: PropTypes.string,
314
- labelFontSize: PropTypes.number,
315
- labelStyle: PropTypes.object,
316
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
317
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
318
- position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
319
- reverse: PropTypes.bool,
320
- scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
321
- slotProps: PropTypes.object,
322
- slots: PropTypes.object,
323
- stroke: PropTypes.string,
324
- tickFontSize: PropTypes.number,
325
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
326
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
327
- tickLabelStyle: PropTypes.object,
328
- tickMaxStep: PropTypes.number,
329
- tickMinStep: PropTypes.number,
330
- tickNumber: PropTypes.number,
331
- tickSize: PropTypes.number,
332
- valueFormatter: PropTypes.func
333
- })),
334
- /**
335
- * The configuration of the y-axes.
336
- * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
337
- */
338
- yAxis: PropTypes.arrayOf(PropTypes.shape({
339
- axisId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
340
- classes: PropTypes.object,
341
- data: PropTypes.array,
342
- dataKey: PropTypes.string,
343
- disableLine: PropTypes.bool,
344
- disableTicks: PropTypes.bool,
345
- fill: PropTypes.string,
346
- hideTooltip: PropTypes.bool,
347
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
348
- label: PropTypes.string,
349
- labelFontSize: PropTypes.number,
350
- labelStyle: PropTypes.object,
351
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
352
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
353
- position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
354
- reverse: PropTypes.bool,
355
- scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
356
- slotProps: PropTypes.object,
357
- slots: PropTypes.object,
358
- stroke: PropTypes.string,
359
- tickFontSize: PropTypes.number,
360
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
361
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
362
- tickLabelStyle: PropTypes.object,
363
- tickMaxStep: PropTypes.number,
364
- tickMinStep: PropTypes.number,
365
- tickNumber: PropTypes.number,
366
- tickSize: PropTypes.number,
367
- valueFormatter: PropTypes.func
368
- }))
369
- } : void 0;
370
- export { ScatterChart };
@@ -1,80 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import PropTypes from 'prop-types';
4
- import { Scatter } from './Scatter';
5
- import { SeriesContext } from '../context/SeriesContextProvider';
6
- import { CartesianContext } from '../context/CartesianContextProvider';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- /**
9
- * Demos:
10
- *
11
- * - [Scatter](https://mui.com/x/react-charts/scatter/)
12
- * - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
13
- *
14
- * API:
15
- *
16
- * - [ScatterPlot API](https://mui.com/x/api/charts/scatter-plot/)
17
- */
18
- function ScatterPlot(props) {
19
- var _slots$scatter;
20
- var slots = props.slots,
21
- slotProps = props.slotProps,
22
- onItemClick = props.onItemClick;
23
- var seriesData = React.useContext(SeriesContext).scatter;
24
- var axisData = React.useContext(CartesianContext);
25
- if (seriesData === undefined) {
26
- return null;
27
- }
28
- var series = seriesData.series,
29
- seriesOrder = seriesData.seriesOrder;
30
- var xAxis = axisData.xAxis,
31
- yAxis = axisData.yAxis,
32
- xAxisIds = axisData.xAxisIds,
33
- yAxisIds = axisData.yAxisIds;
34
- var defaultXAxisId = xAxisIds[0];
35
- var defaultYAxisId = yAxisIds[0];
36
- var ScatterItems = (_slots$scatter = slots == null ? void 0 : slots.scatter) != null ? _slots$scatter : Scatter;
37
- return /*#__PURE__*/_jsx(React.Fragment, {
38
- children: seriesOrder.map(function (seriesId) {
39
- var _series$seriesId = series[seriesId],
40
- id = _series$seriesId.id,
41
- xAxisKey = _series$seriesId.xAxisKey,
42
- yAxisKey = _series$seriesId.yAxisKey,
43
- markerSize = _series$seriesId.markerSize,
44
- color = _series$seriesId.color;
45
- var xScale = xAxis[xAxisKey != null ? xAxisKey : defaultXAxisId].scale;
46
- var yScale = yAxis[yAxisKey != null ? yAxisKey : defaultYAxisId].scale;
47
- return /*#__PURE__*/_jsx(ScatterItems, _extends({
48
- xScale: xScale,
49
- yScale: yScale,
50
- color: color,
51
- markerSize: markerSize != null ? markerSize : 4,
52
- series: series[seriesId],
53
- onItemClick: onItemClick
54
- }, slotProps == null ? void 0 : slotProps.scatter), id);
55
- })
56
- });
57
- }
58
- process.env.NODE_ENV !== "production" ? ScatterPlot.propTypes = {
59
- // ----------------------------- Warning --------------------------------
60
- // | These PropTypes are generated from the TypeScript type definitions |
61
- // | To update them edit the TypeScript types and run "yarn proptypes" |
62
- // ----------------------------------------------------------------------
63
- /**
64
- * Callback fired when clicking on a scatter item.
65
- * @param {MouseEvent} event Mouse event recorded on the `<svg/>` element.
66
- * @param {ScatterItemIdentifier} scatterItemIdentifier The scatter item identifier.
67
- */
68
- onItemClick: PropTypes.func,
69
- /**
70
- * The props used for each component slot.
71
- * @default {}
72
- */
73
- slotProps: PropTypes.object,
74
- /**
75
- * Overridable component slots.
76
- * @default {}
77
- */
78
- slots: PropTypes.object
79
- } : void 0;
80
- export { ScatterPlot };
@@ -1,39 +0,0 @@
1
- var mergeMinMax = function mergeMinMax(acc, val) {
2
- if (acc[0] === null || acc[1] === null) {
3
- return val;
4
- }
5
- if (val[0] === null || val[1] === null) {
6
- return acc;
7
- }
8
- return [Math.min(acc[0], val[0]), Math.max(acc[1], val[1])];
9
- };
10
- export var getExtremumX = function getExtremumX(params) {
11
- var series = params.series,
12
- axis = params.axis,
13
- isDefaultAxis = params.isDefaultAxis;
14
- return Object.keys(series).filter(function (seriesId) {
15
- return series[seriesId].xAxisKey === axis.id || series[seriesId].xAxisKey === undefined && isDefaultAxis;
16
- }).reduce(function (acc, seriesId) {
17
- var seriesMinMax = series[seriesId].data.reduce(function (accSeries, _ref) {
18
- var x = _ref.x;
19
- var val = [x, x];
20
- return mergeMinMax(accSeries, val);
21
- }, [null, null]);
22
- return mergeMinMax(acc, seriesMinMax);
23
- }, [null, null]);
24
- };
25
- export var getExtremumY = function getExtremumY(params) {
26
- var series = params.series,
27
- axis = params.axis,
28
- isDefaultAxis = params.isDefaultAxis;
29
- return Object.keys(series).filter(function (seriesId) {
30
- return series[seriesId].yAxisKey === axis.id || series[seriesId].yAxisKey === undefined && isDefaultAxis;
31
- }).reduce(function (acc, seriesId) {
32
- var seriesMinMax = series[seriesId].data.reduce(function (accSeries, _ref2) {
33
- var y = _ref2.y;
34
- var val = [y, y];
35
- return mergeMinMax(accSeries, val);
36
- }, [null, null]);
37
- return mergeMinMax(acc, seriesMinMax);
38
- }, [null, null]);
39
- };
@@ -1,12 +0,0 @@
1
- import defaultizeValueFormatter from '../internals/defaultizeValueFormatter';
2
- var formatter = function formatter(_ref) {
3
- var series = _ref.series,
4
- seriesOrder = _ref.seriesOrder;
5
- return {
6
- series: defaultizeValueFormatter(series, function (v) {
7
- return "(".concat(v.x, ", ").concat(v.y, ")");
8
- }),
9
- seriesOrder: seriesOrder
10
- };
11
- };
12
- export default formatter;
@@ -1,3 +0,0 @@
1
- export * from './ScatterChart';
2
- export * from './ScatterPlot';
3
- export * from './Scatter';
@@ -1,15 +0,0 @@
1
- var legendGetter = function legendGetter(params) {
2
- var seriesOrder = params.seriesOrder,
3
- series = params.series;
4
- var data = seriesOrder.map(function (seriesId) {
5
- return {
6
- color: series[seriesId].color,
7
- label: series[seriesId].label,
8
- id: seriesId
9
- };
10
- });
11
- return data.filter(function (item) {
12
- return item.label !== undefined;
13
- });
14
- };
15
- export default legendGetter;