@mui/x-charts 7.0.0-alpha.9 → 7.0.0-beta.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 (214) hide show
  1. package/BarChart/BarChart.d.ts +2 -1
  2. package/BarChart/BarChart.js +24 -23
  3. package/BarChart/BarElement.d.ts +1 -1
  4. package/BarChart/BarElement.js +6 -3
  5. package/BarChart/BarPlot.d.ts +8 -1
  6. package/BarChart/BarPlot.js +19 -5
  7. package/BarChart/formatter.js +1 -1
  8. package/CHANGELOG.md +386 -38
  9. package/ChartContainer/ChartContainer.d.ts +12 -0
  10. package/ChartContainer/ChartContainer.js +197 -0
  11. package/ChartContainer/index.d.ts +1 -11
  12. package/ChartContainer/index.js +9 -63
  13. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.d.ts +20 -0
  14. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +83 -0
  15. package/ChartsOnAxisClickHandler/index.d.ts +1 -0
  16. package/ChartsOnAxisClickHandler/index.js +16 -0
  17. package/ChartsOnAxisClickHandler/package.json +6 -0
  18. package/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
  19. package/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
  20. package/ChartsTooltip/ChartsAxisTooltipContent.js +8 -59
  21. package/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
  22. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +8 -58
  23. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -11
  24. package/ChartsTooltip/utils.d.ts +3 -1
  25. package/ChartsTooltip/utils.js +8 -0
  26. package/ChartsVoronoiHandler/ChartsVoronoiHandler.d.ts +7 -0
  27. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +92 -44
  28. package/LineChart/AnimatedArea.d.ts +1361 -0
  29. package/LineChart/AnimatedArea.js +111 -0
  30. package/LineChart/AnimatedLine.d.ts +1361 -0
  31. package/LineChart/AnimatedLine.js +113 -0
  32. package/LineChart/AreaElement.d.ts +17 -17
  33. package/LineChart/AreaElement.js +17 -34
  34. package/LineChart/AreaPlot.d.ts +12 -7
  35. package/LineChart/AreaPlot.js +91 -58
  36. package/LineChart/LineChart.d.ts +13 -4
  37. package/LineChart/LineChart.js +36 -29
  38. package/LineChart/LineElement.d.ts +17 -17
  39. package/LineChart/LineElement.js +16 -36
  40. package/LineChart/LineHighlightElement.js +3 -2
  41. package/LineChart/LinePlot.d.ts +12 -7
  42. package/LineChart/LinePlot.js +89 -56
  43. package/LineChart/MarkElement.d.ts +5 -2
  44. package/LineChart/MarkElement.js +26 -13
  45. package/LineChart/MarkPlot.d.ts +8 -1
  46. package/LineChart/MarkPlot.js +80 -51
  47. package/LineChart/formatter.js +1 -1
  48. package/LineChart/index.d.ts +2 -0
  49. package/LineChart/index.js +22 -0
  50. package/PieChart/PieArcLabelPlot.d.ts +1 -1
  51. package/PieChart/PieArcLabelPlot.js +1 -1
  52. package/PieChart/PieArcPlot.d.ts +2 -2
  53. package/PieChart/PieArcPlot.js +6 -6
  54. package/PieChart/PieChart.d.ts +1 -1
  55. package/PieChart/PieChart.js +5 -50
  56. package/PieChart/PiePlot.d.ts +1 -1
  57. package/PieChart/PiePlot.js +4 -4
  58. package/README.md +2 -2
  59. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +16 -0
  60. package/ResponsiveChartContainer/ResponsiveChartContainer.js +250 -0
  61. package/ResponsiveChartContainer/index.d.ts +1 -15
  62. package/ResponsiveChartContainer/index.js +8 -113
  63. package/ScatterChart/Scatter.d.ts +7 -1
  64. package/ScatterChart/Scatter.js +18 -23
  65. package/ScatterChart/ScatterChart.d.ts +8 -2
  66. package/ScatterChart/ScatterChart.js +12 -22
  67. package/ScatterChart/ScatterPlot.d.ts +1 -1
  68. package/ScatterChart/ScatterPlot.js +10 -2
  69. package/SparkLineChart/SparkLineChart.js +2 -0
  70. package/context/DrawingProvider.d.ts +6 -1
  71. package/context/DrawingProvider.js +9 -2
  72. package/context/InteractionProvider.d.ts +3 -3
  73. package/esm/BarChart/BarChart.js +24 -23
  74. package/esm/BarChart/BarElement.js +6 -3
  75. package/esm/BarChart/BarPlot.js +19 -5
  76. package/esm/BarChart/formatter.js +1 -1
  77. package/esm/ChartContainer/ChartContainer.js +189 -0
  78. package/esm/ChartContainer/index.js +1 -61
  79. package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +77 -0
  80. package/esm/ChartsOnAxisClickHandler/index.js +1 -0
  81. package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
  82. package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
  83. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +8 -59
  84. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
  85. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +9 -58
  86. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -11
  87. package/esm/ChartsTooltip/utils.js +6 -0
  88. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +92 -44
  89. package/esm/LineChart/AnimatedArea.js +103 -0
  90. package/esm/LineChart/AnimatedLine.js +105 -0
  91. package/esm/LineChart/AreaElement.js +16 -33
  92. package/esm/LineChart/AreaPlot.js +92 -59
  93. package/esm/LineChart/LineChart.js +36 -29
  94. package/esm/LineChart/LineElement.js +16 -35
  95. package/esm/LineChart/LineHighlightElement.js +3 -2
  96. package/esm/LineChart/LinePlot.js +90 -57
  97. package/esm/LineChart/MarkElement.js +26 -13
  98. package/esm/LineChart/MarkPlot.js +80 -51
  99. package/esm/LineChart/formatter.js +1 -1
  100. package/esm/LineChart/index.js +2 -0
  101. package/esm/PieChart/PieArcLabelPlot.js +1 -1
  102. package/esm/PieChart/PieArcPlot.js +6 -6
  103. package/esm/PieChart/PieChart.js +5 -50
  104. package/esm/PieChart/PiePlot.js +4 -4
  105. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +245 -0
  106. package/esm/ResponsiveChartContainer/index.js +1 -115
  107. package/esm/ScatterChart/Scatter.js +18 -23
  108. package/esm/ScatterChart/ScatterChart.js +12 -22
  109. package/esm/ScatterChart/ScatterPlot.js +10 -2
  110. package/esm/SparkLineChart/SparkLineChart.js +2 -0
  111. package/esm/context/DrawingProvider.js +9 -2
  112. package/esm/hooks/useDrawingArea.js +7 -3
  113. package/esm/index.js +1 -0
  114. package/esm/internals/geometry.js +1 -1
  115. package/esm/internals/useAnimatedPath.js +29 -0
  116. package/esm/internals/utils.js +7 -0
  117. package/hooks/useDrawingArea.d.ts +2 -0
  118. package/hooks/useDrawingArea.js +7 -3
  119. package/index.d.ts +1 -0
  120. package/index.js +12 -1
  121. package/internals/geometry.js +1 -1
  122. package/internals/useAnimatedPath.d.ts +1 -0
  123. package/internals/useAnimatedPath.js +38 -0
  124. package/internals/utils.d.ts +4 -0
  125. package/internals/utils.js +8 -0
  126. package/legacy/BarChart/BarChart.js +24 -23
  127. package/legacy/BarChart/BarElement.js +5 -2
  128. package/legacy/BarChart/BarPlot.js +18 -4
  129. package/legacy/BarChart/formatter.js +1 -1
  130. package/legacy/ChartContainer/ChartContainer.js +187 -0
  131. package/legacy/ChartContainer/index.js +1 -59
  132. package/legacy/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +75 -0
  133. package/legacy/ChartsOnAxisClickHandler/index.js +1 -0
  134. package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
  135. package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
  136. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +8 -61
  137. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
  138. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +9 -58
  139. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -11
  140. package/legacy/ChartsTooltip/utils.js +6 -0
  141. package/legacy/ChartsVoronoiHandler/ChartsVoronoiHandler.js +88 -44
  142. package/legacy/LineChart/AnimatedArea.js +102 -0
  143. package/legacy/LineChart/AnimatedLine.js +104 -0
  144. package/legacy/LineChart/AreaElement.js +15 -35
  145. package/legacy/LineChart/AreaPlot.js +102 -66
  146. package/legacy/LineChart/LineChart.js +36 -29
  147. package/legacy/LineChart/LineElement.js +15 -37
  148. package/legacy/LineChart/LineHighlightElement.js +3 -2
  149. package/legacy/LineChart/LinePlot.js +97 -63
  150. package/legacy/LineChart/MarkElement.js +29 -12
  151. package/legacy/LineChart/MarkPlot.js +83 -53
  152. package/legacy/LineChart/formatter.js +1 -1
  153. package/legacy/LineChart/index.js +2 -0
  154. package/legacy/PieChart/PieArcLabelPlot.js +1 -1
  155. package/legacy/PieChart/PieArcPlot.js +6 -6
  156. package/legacy/PieChart/PieChart.js +5 -50
  157. package/legacy/PieChart/PiePlot.js +4 -4
  158. package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +253 -0
  159. package/legacy/ResponsiveChartContainer/index.js +1 -123
  160. package/legacy/ScatterChart/Scatter.js +20 -23
  161. package/legacy/ScatterChart/ScatterChart.js +12 -22
  162. package/legacy/ScatterChart/ScatterPlot.js +10 -2
  163. package/legacy/SparkLineChart/SparkLineChart.js +2 -0
  164. package/legacy/context/DrawingProvider.js +11 -2
  165. package/legacy/hooks/useDrawingArea.js +7 -3
  166. package/legacy/index.js +2 -1
  167. package/legacy/internals/geometry.js +1 -1
  168. package/legacy/internals/useAnimatedPath.js +32 -0
  169. package/legacy/internals/utils.js +7 -0
  170. package/modern/BarChart/BarChart.js +24 -23
  171. package/modern/BarChart/BarElement.js +6 -3
  172. package/modern/BarChart/BarPlot.js +19 -5
  173. package/modern/BarChart/formatter.js +1 -1
  174. package/modern/ChartContainer/ChartContainer.js +189 -0
  175. package/modern/ChartContainer/index.js +1 -61
  176. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +75 -0
  177. package/modern/ChartsOnAxisClickHandler/index.js +1 -0
  178. package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
  179. package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
  180. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +8 -59
  181. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +1 -11
  182. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +8 -58
  183. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -11
  184. package/modern/ChartsTooltip/utils.js +6 -0
  185. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +92 -44
  186. package/modern/LineChart/AnimatedArea.js +103 -0
  187. package/modern/LineChart/AnimatedLine.js +105 -0
  188. package/modern/LineChart/AreaElement.js +16 -33
  189. package/modern/LineChart/AreaPlot.js +91 -58
  190. package/modern/LineChart/LineChart.js +36 -29
  191. package/modern/LineChart/LineElement.js +16 -35
  192. package/modern/LineChart/LineHighlightElement.js +3 -2
  193. package/modern/LineChart/LinePlot.js +89 -56
  194. package/modern/LineChart/MarkElement.js +26 -13
  195. package/modern/LineChart/MarkPlot.js +80 -51
  196. package/modern/LineChart/formatter.js +1 -1
  197. package/modern/LineChart/index.js +2 -0
  198. package/modern/PieChart/PieArcLabelPlot.js +1 -1
  199. package/modern/PieChart/PieArcPlot.js +6 -6
  200. package/modern/PieChart/PieChart.js +5 -50
  201. package/modern/PieChart/PiePlot.js +4 -4
  202. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +242 -0
  203. package/modern/ResponsiveChartContainer/index.js +1 -112
  204. package/modern/ScatterChart/Scatter.js +18 -23
  205. package/modern/ScatterChart/ScatterChart.js +12 -22
  206. package/modern/ScatterChart/ScatterPlot.js +10 -2
  207. package/modern/SparkLineChart/SparkLineChart.js +2 -0
  208. package/modern/context/DrawingProvider.js +9 -2
  209. package/modern/hooks/useDrawingArea.js +7 -3
  210. package/modern/index.js +2 -1
  211. package/modern/internals/geometry.js +1 -1
  212. package/modern/internals/useAnimatedPath.js +29 -0
  213. package/modern/internals/utils.js +7 -0
  214. package/package.json +6 -5
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ResponsiveChartContainer = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
13
+ var _ownerWindow = _interopRequireDefault(require("@mui/utils/ownerWindow"));
14
+ var _styles = require("@mui/material/styles");
15
+ var _ChartContainer = require("../ChartContainer");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ const _excluded = ["width", "height"];
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ const useChartDimensions = (inWidth, inHeight) => {
21
+ const rootRef = React.useRef(null);
22
+ const displayError = React.useRef(false);
23
+ const [width, setWidth] = React.useState(0);
24
+ const [height, setHeight] = React.useState(0);
25
+
26
+ // Adaptation of the `computeSizeAndPublishResizeEvent` from the grid.
27
+ const computeSize = React.useCallback(() => {
28
+ const mainEl = rootRef?.current;
29
+ if (!mainEl) {
30
+ return;
31
+ }
32
+ const win = (0, _ownerWindow.default)(mainEl);
33
+ const computedStyle = win.getComputedStyle(mainEl);
34
+ const newHeight = Math.floor(parseFloat(computedStyle.height)) || 0;
35
+ const newWidth = Math.floor(parseFloat(computedStyle.width)) || 0;
36
+ setWidth(newWidth);
37
+ setHeight(newHeight);
38
+ }, []);
39
+ React.useEffect(() => {
40
+ // Ensure the error detection occurs after the first rendering.
41
+ displayError.current = true;
42
+ }, []);
43
+ (0, _useEnhancedEffect.default)(() => {
44
+ if (inWidth !== undefined && inHeight !== undefined) {
45
+ return () => {};
46
+ }
47
+ computeSize();
48
+ const elementToObserve = rootRef.current;
49
+ if (typeof ResizeObserver === 'undefined') {
50
+ return () => {};
51
+ }
52
+ let animationFrame;
53
+ const observer = new ResizeObserver(() => {
54
+ // See https://github.com/mui/mui-x/issues/8733
55
+ animationFrame = requestAnimationFrame(() => {
56
+ computeSize();
57
+ });
58
+ });
59
+ if (elementToObserve) {
60
+ observer.observe(elementToObserve);
61
+ }
62
+ return () => {
63
+ if (animationFrame) {
64
+ window.cancelAnimationFrame(animationFrame);
65
+ }
66
+ if (elementToObserve) {
67
+ observer.unobserve(elementToObserve);
68
+ }
69
+ };
70
+ }, [computeSize, inHeight, inWidth]);
71
+ if (process.env.NODE_ENV !== 'production') {
72
+ if (displayError.current && inWidth === undefined && width === 0) {
73
+ console.error(`MUI X Charts: ChartContainer does not have \`width\` prop, and its container has no \`width\` defined.`);
74
+ displayError.current = false;
75
+ }
76
+ if (displayError.current && inHeight === undefined && height === 0) {
77
+ console.error(`MUI X Charts: ChartContainer does not have \`height\` prop, and its container has no \`height\` defined.`);
78
+ displayError.current = false;
79
+ }
80
+ }
81
+ return [rootRef, inWidth ?? width, inHeight ?? height];
82
+ };
83
+ const ResizableContainer = (0, _styles.styled)('div', {
84
+ name: 'MuiResponsiveChart',
85
+ slot: 'Container'
86
+ })(({
87
+ ownerState
88
+ }) => ({
89
+ width: ownerState.width ?? '100%',
90
+ height: ownerState.height ?? '100%',
91
+ display: 'flex',
92
+ position: 'relative',
93
+ flexGrow: 1,
94
+ flexDirection: 'column',
95
+ alignItems: 'center',
96
+ justifyContent: 'center',
97
+ overflow: 'hidden',
98
+ '&>svg': {
99
+ width: '100%',
100
+ height: '100%'
101
+ }
102
+ }));
103
+ const ResponsiveChartContainer = exports.ResponsiveChartContainer = /*#__PURE__*/React.forwardRef(function ResponsiveChartContainer(props, ref) {
104
+ const {
105
+ width: inWidth,
106
+ height: inHeight
107
+ } = props,
108
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
109
+ const [containerRef, width, height] = useChartDimensions(inWidth, inHeight);
110
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ResizableContainer, {
111
+ ref: containerRef,
112
+ ownerState: {
113
+ width: inWidth,
114
+ height: inHeight
115
+ },
116
+ children: width && height ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartContainer.ChartContainer, (0, _extends2.default)({}, other, {
117
+ width: width,
118
+ height: height,
119
+ ref: ref
120
+ })) : null
121
+ });
122
+ });
123
+ process.env.NODE_ENV !== "production" ? ResponsiveChartContainer.propTypes = {
124
+ // ----------------------------- Warning --------------------------------
125
+ // | These PropTypes are generated from the TypeScript type definitions |
126
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
127
+ // ----------------------------------------------------------------------
128
+ children: _propTypes.default.node,
129
+ className: _propTypes.default.string,
130
+ /**
131
+ * Color palette used to colorize multiple series.
132
+ * @default blueberryTwilightPalette
133
+ */
134
+ colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
135
+ /**
136
+ * An array of objects that can be used to populate series and axes data using their `dataKey` property.
137
+ */
138
+ dataset: _propTypes.default.arrayOf(_propTypes.default.object),
139
+ desc: _propTypes.default.string,
140
+ /**
141
+ * If `true`, the charts will not listen to the mouse move event.
142
+ * It might break interactive features, but will improve performance.
143
+ * @default false
144
+ */
145
+ disableAxisListener: _propTypes.default.bool,
146
+ /**
147
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
148
+ * @default undefined
149
+ */
150
+ height: _propTypes.default.number,
151
+ /**
152
+ * The margin between the SVG and the drawing area.
153
+ * It's used for leaving some space for extra information such as the x- and y-axis or legend.
154
+ * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
155
+ * @default object Depends on the charts type.
156
+ */
157
+ margin: _propTypes.default.shape({
158
+ bottom: _propTypes.default.number,
159
+ left: _propTypes.default.number,
160
+ right: _propTypes.default.number,
161
+ top: _propTypes.default.number
162
+ }),
163
+ /**
164
+ * The array of series to display.
165
+ * Each type of series has its own specificity.
166
+ * Please refer to the appropriate docs page to learn more about it.
167
+ */
168
+ series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
169
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
170
+ title: _propTypes.default.string,
171
+ viewBox: _propTypes.default.shape({
172
+ height: _propTypes.default.number,
173
+ width: _propTypes.default.number,
174
+ x: _propTypes.default.number,
175
+ y: _propTypes.default.number
176
+ }),
177
+ /**
178
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
179
+ * @default undefined
180
+ */
181
+ width: _propTypes.default.number,
182
+ /**
183
+ * The configuration of the x-axes.
184
+ * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
185
+ */
186
+ xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
187
+ axisId: _propTypes.default.string,
188
+ classes: _propTypes.default.object,
189
+ data: _propTypes.default.array,
190
+ dataKey: _propTypes.default.string,
191
+ disableLine: _propTypes.default.bool,
192
+ disableTicks: _propTypes.default.bool,
193
+ fill: _propTypes.default.string,
194
+ hideTooltip: _propTypes.default.bool,
195
+ id: _propTypes.default.string,
196
+ label: _propTypes.default.string,
197
+ labelFontSize: _propTypes.default.number,
198
+ labelStyle: _propTypes.default.object,
199
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
200
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
201
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
202
+ scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
203
+ slotProps: _propTypes.default.object,
204
+ slots: _propTypes.default.object,
205
+ stroke: _propTypes.default.string,
206
+ tickFontSize: _propTypes.default.number,
207
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
208
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
209
+ tickLabelStyle: _propTypes.default.object,
210
+ tickMaxStep: _propTypes.default.number,
211
+ tickMinStep: _propTypes.default.number,
212
+ tickNumber: _propTypes.default.number,
213
+ tickSize: _propTypes.default.number,
214
+ valueFormatter: _propTypes.default.func
215
+ })),
216
+ /**
217
+ * The configuration of the y-axes.
218
+ * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
219
+ */
220
+ yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
221
+ axisId: _propTypes.default.string,
222
+ classes: _propTypes.default.object,
223
+ data: _propTypes.default.array,
224
+ dataKey: _propTypes.default.string,
225
+ disableLine: _propTypes.default.bool,
226
+ disableTicks: _propTypes.default.bool,
227
+ fill: _propTypes.default.string,
228
+ hideTooltip: _propTypes.default.bool,
229
+ id: _propTypes.default.string,
230
+ label: _propTypes.default.string,
231
+ labelFontSize: _propTypes.default.number,
232
+ labelStyle: _propTypes.default.object,
233
+ max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
234
+ min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
235
+ position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
236
+ scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
237
+ slotProps: _propTypes.default.object,
238
+ slots: _propTypes.default.object,
239
+ stroke: _propTypes.default.string,
240
+ tickFontSize: _propTypes.default.number,
241
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
242
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
243
+ tickLabelStyle: _propTypes.default.object,
244
+ tickMaxStep: _propTypes.default.number,
245
+ tickMinStep: _propTypes.default.number,
246
+ tickNumber: _propTypes.default.number,
247
+ tickSize: _propTypes.default.number,
248
+ valueFormatter: _propTypes.default.func
249
+ }))
250
+ } : void 0;
@@ -1,15 +1 @@
1
- import * as React from 'react';
2
- import { ChartContainerProps } from '../ChartContainer';
3
- export interface ResponsiveChartContainerProps extends Omit<ChartContainerProps, 'width' | 'height'> {
4
- /**
5
- * The width of the chart in px. If not defined, it takes the width of the parent element.
6
- * @default undefined
7
- */
8
- width?: number;
9
- /**
10
- * The height of the chart in px. If not defined, it takes the height of the parent element.
11
- * @default undefined
12
- */
13
- height?: number;
14
- }
15
- export declare const ResponsiveChartContainer: React.ForwardRefExoticComponent<ResponsiveChartContainerProps & React.RefAttributes<unknown>>;
1
+ export * from './ResponsiveChartContainer';
@@ -1,121 +1,16 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.ResponsiveChartContainer = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
- var React = _interopRequireWildcard(require("react"));
11
- var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
12
- var _ownerWindow = _interopRequireDefault(require("@mui/utils/ownerWindow"));
13
- var _styles = require("@mui/material/styles");
14
- var _ChartContainer = require("../ChartContainer");
15
- var _jsxRuntime = require("react/jsx-runtime");
16
- const _excluded = ["width", "height"];
17
- 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); }
18
- 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; }
19
- const useChartDimensions = (inWidth, inHeight) => {
20
- const rootRef = React.useRef(null);
21
- const displayError = React.useRef(false);
22
- const [width, setWidth] = React.useState(0);
23
- const [height, setHeight] = React.useState(0);
24
-
25
- // Adaptation of the `computeSizeAndPublishResizeEvent` from the grid.
26
- const computeSize = React.useCallback(() => {
27
- const mainEl = rootRef?.current;
28
- if (!mainEl) {
29
- return;
30
- }
31
- const win = (0, _ownerWindow.default)(mainEl);
32
- const computedStyle = win.getComputedStyle(mainEl);
33
- const newHeight = Math.floor(parseFloat(computedStyle.height)) || 0;
34
- const newWidth = Math.floor(parseFloat(computedStyle.width)) || 0;
35
- setWidth(newWidth);
36
- setHeight(newHeight);
37
- }, []);
38
- React.useEffect(() => {
39
- // Ensure the error detection occurs after the first rendering.
40
- displayError.current = true;
41
- }, []);
42
- (0, _useEnhancedEffect.default)(() => {
43
- if (inWidth !== undefined && inHeight !== undefined) {
44
- return () => {};
45
- }
46
- computeSize();
47
- const elementToObserve = rootRef.current;
48
- if (typeof ResizeObserver === 'undefined') {
49
- return () => {};
50
- }
51
- let animationFrame;
52
- const observer = new ResizeObserver(() => {
53
- // See https://github.com/mui/mui-x/issues/8733
54
- animationFrame = requestAnimationFrame(() => {
55
- computeSize();
56
- });
57
- });
58
- if (elementToObserve) {
59
- observer.observe(elementToObserve);
60
- }
61
- return () => {
62
- if (animationFrame) {
63
- window.cancelAnimationFrame(animationFrame);
64
- }
65
- if (elementToObserve) {
66
- observer.unobserve(elementToObserve);
67
- }
68
- };
69
- }, [computeSize, inHeight, inWidth]);
70
- if (process.env.NODE_ENV !== 'production') {
71
- if (displayError.current && inWidth === undefined && width === 0) {
72
- console.error(`MUI X Charts: ChartContainer does not have \`width\` prop, and its container has no \`width\` defined.`);
73
- displayError.current = false;
74
- }
75
- if (displayError.current && inHeight === undefined && height === 0) {
76
- console.error(`MUI X Charts: ChartContainer does not have \`height\` prop, and its container has no \`height\` defined.`);
77
- displayError.current = false;
6
+ var _ResponsiveChartContainer = require("./ResponsiveChartContainer");
7
+ Object.keys(_ResponsiveChartContainer).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _ResponsiveChartContainer[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _ResponsiveChartContainer[key];
78
14
  }
79
- }
80
- return [rootRef, inWidth ?? width, inHeight ?? height];
81
- };
82
- const ResizableContainer = (0, _styles.styled)('div', {
83
- name: 'MuiResponsiveChart',
84
- slot: 'Container'
85
- })(({
86
- ownerState
87
- }) => ({
88
- width: ownerState.width ?? '100%',
89
- height: 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
- const ResponsiveChartContainer = exports.ResponsiveChartContainer = /*#__PURE__*/React.forwardRef(function ResponsiveChartContainer(props, ref) {
103
- const {
104
- width: inWidth,
105
- height: inHeight
106
- } = props,
107
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
108
- const [containerRef, width, height] = useChartDimensions(inWidth, inHeight);
109
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(ResizableContainer, {
110
- ref: containerRef,
111
- ownerState: {
112
- width: inWidth,
113
- height: inHeight
114
- },
115
- children: width && height ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartContainer.ChartContainer, (0, _extends2.default)({}, other, {
116
- width: width,
117
- height: height,
118
- ref: ref
119
- })) : null
120
15
  });
121
16
  });
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { DefaultizedScatterSeriesType } from '../models/seriesType/scatter';
2
+ import { DefaultizedScatterSeriesType, ScatterItemIdentifier } from '../models/seriesType/scatter';
3
3
  import { D3Scale } from '../models/axis';
4
4
  export interface ScatterProps {
5
5
  series: DefaultizedScatterSeriesType;
@@ -7,6 +7,12 @@ export interface ScatterProps {
7
7
  yScale: D3Scale;
8
8
  markerSize: number;
9
9
  color: string;
10
+ /**
11
+ * Callback fired when clicking on a scatter item.
12
+ * @param {MouseEvent} event Mouse event recorded on the `<svg/>` element.
13
+ * @param {ScatterItemIdentifier} scatterItemIdentifier The scatter item identifier.
14
+ */
15
+ onItemClick?: (event: React.MouseEvent<SVGElement, MouseEvent>, scatterItemIdentifier: ScatterItemIdentifier) => void;
10
16
  }
11
17
  /**
12
18
  * Demos:
@@ -30,7 +30,8 @@ function Scatter(props) {
30
30
  xScale,
31
31
  yScale,
32
32
  color,
33
- markerSize
33
+ markerSize,
34
+ onItemClick
34
35
  } = props;
35
36
  const highlightScope = React.useMemo(() => (0, _extends2.default)({
36
37
  highlighted: 'item',
@@ -70,7 +71,8 @@ function Scatter(props) {
70
71
  isHighlighted,
71
72
  isFaded: !isHighlighted && (0, _useInteractionItemProps.getIsFaded)(item, pointCtx, highlightScope),
72
73
  interactionProps: getInteractionItemProps(pointCtx),
73
- id: scatterPoint.id
74
+ id: scatterPoint.id,
75
+ dataIndex: i
74
76
  });
75
77
  }
76
78
  }
@@ -83,7 +85,13 @@ function Scatter(props) {
83
85
  r: (dataPoint.isHighlighted ? 1.2 : 1) * markerSize,
84
86
  transform: `translate(${dataPoint.x}, ${dataPoint.y})`,
85
87
  fill: color,
86
- opacity: dataPoint.isFaded && 0.3 || 1
88
+ opacity: dataPoint.isFaded && 0.3 || 1,
89
+ onClick: onItemClick && (event => onItemClick(event, {
90
+ type: 'scatter',
91
+ seriesId: series.id,
92
+ dataIndex: dataPoint.dataIndex
93
+ })),
94
+ cursor: onItemClick ? 'pointer' : 'unset'
87
95
  }, dataPoint.interactionProps), dataPoint.id))
88
96
  });
89
97
  }
@@ -94,26 +102,13 @@ process.env.NODE_ENV !== "production" ? Scatter.propTypes = {
94
102
  // ----------------------------------------------------------------------
95
103
  color: _propTypes.default.string.isRequired,
96
104
  markerSize: _propTypes.default.number.isRequired,
97
- series: _propTypes.default.shape({
98
- color: _propTypes.default.string.isRequired,
99
- data: _propTypes.default.arrayOf(_propTypes.default.shape({
100
- id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
101
- x: _propTypes.default.number.isRequired,
102
- y: _propTypes.default.number.isRequired
103
- })).isRequired,
104
- disableHover: _propTypes.default.bool,
105
- highlightScope: _propTypes.default.shape({
106
- faded: _propTypes.default.oneOf(['global', 'none', 'series']),
107
- highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
108
- }),
109
- id: _propTypes.default.string.isRequired,
110
- label: _propTypes.default.string,
111
- markerSize: _propTypes.default.number,
112
- type: _propTypes.default.oneOf(['scatter']).isRequired,
113
- valueFormatter: _propTypes.default.func.isRequired,
114
- xAxisKey: _propTypes.default.string,
115
- yAxisKey: _propTypes.default.string
116
- }).isRequired,
105
+ /**
106
+ * Callback fired when clicking on a scatter item.
107
+ * @param {MouseEvent} event Mouse event recorded on the `<svg/>` element.
108
+ * @param {ScatterItemIdentifier} scatterItemIdentifier The scatter item identifier.
109
+ */
110
+ onItemClick: _propTypes.default.func,
111
+ series: _propTypes.default.object.isRequired,
117
112
  xScale: _propTypes.default.func.isRequired,
118
113
  yScale: _propTypes.default.func.isRequired
119
114
  } : void 0;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ScatterPlotSlotProps, ScatterPlotSlots } from './ScatterPlot';
2
+ import { ScatterPlotProps, ScatterPlotSlotProps, ScatterPlotSlots } from './ScatterPlot';
3
3
  import { ResponsiveChartContainerProps } from '../ResponsiveChartContainer';
4
4
  import { ChartsAxisProps } from '../ChartsAxis';
5
5
  import { ScatterSeriesType } from '../models/seriesType/scatter';
@@ -13,7 +13,7 @@ export interface ScatterChartSlots extends ChartsAxisSlots, ScatterPlotSlots, Ch
13
13
  }
14
14
  export interface ScatterChartSlotProps extends ChartsAxisSlotProps, ScatterPlotSlotProps, ChartsLegendSlotProps, ChartsTooltipSlotProps {
15
15
  }
16
- export interface ScatterChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, ChartsVoronoiHandlerProps {
16
+ export interface ScatterChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsVoronoiHandlerProps, 'onItemClick'> {
17
17
  series: MakeOptional<ScatterSeriesType, 'type'>[];
18
18
  tooltip?: ChartsTooltipProps;
19
19
  axisHighlight?: ChartsAxisHighlightProps;
@@ -36,6 +36,12 @@ export interface ScatterChartProps extends Omit<ResponsiveChartContainerProps, '
36
36
  * @default {}
37
37
  */
38
38
  slotProps?: ScatterChartSlotProps;
39
+ /**
40
+ * Callback fired when clicking on a scatter item.
41
+ * @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`.
42
+ * @param {ScatterItemIdentifier} scatterItemIdentifier The scatter item identifier.
43
+ */
44
+ onItemClick?: ScatterPlotProps['onItemClick'] | ChartsVoronoiHandlerProps['onItemClick'];
39
45
  }
40
46
  /**
41
47
  * Demos:
@@ -47,6 +47,7 @@ const ScatterChart = exports.ScatterChart = /*#__PURE__*/React.forwardRef(functi
47
47
  leftAxis,
48
48
  rightAxis,
49
49
  bottomAxis,
50
+ onItemClick,
50
51
  children,
51
52
  slots,
52
53
  slotProps
@@ -64,7 +65,8 @@ const ScatterChart = exports.ScatterChart = /*#__PURE__*/React.forwardRef(functi
64
65
  yAxis: yAxis,
65
66
  sx: sx,
66
67
  children: [!disableVoronoi && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsVoronoiHandler.ChartsVoronoiHandler, {
67
- voronoiMaxRadius: voronoiMaxRadius
68
+ voronoiMaxRadius: voronoiMaxRadius,
69
+ onItemClick: onItemClick
68
70
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, {
69
71
  topAxis: topAxis,
70
72
  leftAxis: leftAxis,
@@ -74,7 +76,8 @@ const ScatterChart = exports.ScatterChart = /*#__PURE__*/React.forwardRef(functi
74
76
  slotProps: slotProps
75
77
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterPlot.ScatterPlot, {
76
78
  slots: slots,
77
- slotProps: slotProps
79
+ slotProps: slotProps,
80
+ onItemClick: disableVoronoi ? onItemClick : undefined
78
81
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend, {
79
82
  slots: slots,
80
83
  slotProps: slotProps
@@ -203,6 +206,12 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
203
206
  right: _propTypes.default.number,
204
207
  top: _propTypes.default.number
205
208
  }),
209
+ /**
210
+ * Callback fired when clicking on a scatter item.
211
+ * @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`.
212
+ * @param {ScatterItemIdentifier} scatterItemIdentifier The scatter item identifier.
213
+ */
214
+ onItemClick: _propTypes.default.func,
206
215
  /**
207
216
  * Indicate which axis to display the right of the charts.
208
217
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -230,26 +239,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
230
239
  tickNumber: _propTypes.default.number,
231
240
  tickSize: _propTypes.default.number
232
241
  }), _propTypes.default.string]),
233
- series: _propTypes.default.arrayOf(_propTypes.default.shape({
234
- color: _propTypes.default.string,
235
- data: _propTypes.default.arrayOf(_propTypes.default.shape({
236
- id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
237
- x: _propTypes.default.number.isRequired,
238
- y: _propTypes.default.number.isRequired
239
- })).isRequired,
240
- disableHover: _propTypes.default.bool,
241
- highlightScope: _propTypes.default.shape({
242
- faded: _propTypes.default.oneOf(['global', 'none', 'series']),
243
- highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
244
- }),
245
- id: _propTypes.default.string,
246
- label: _propTypes.default.string,
247
- markerSize: _propTypes.default.number,
248
- type: _propTypes.default.oneOf(['scatter']),
249
- valueFormatter: _propTypes.default.func,
250
- xAxisKey: _propTypes.default.string,
251
- yAxisKey: _propTypes.default.string
252
- })).isRequired,
242
+ series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
253
243
  /**
254
244
  * The props used for each component slot.
255
245
  * @default {}
@@ -6,7 +6,7 @@ export interface ScatterPlotSlots {
6
6
  export interface ScatterPlotSlotProps {
7
7
  scatter?: Partial<ScatterProps>;
8
8
  }
9
- export interface ScatterPlotProps {
9
+ export interface ScatterPlotProps extends Pick<ScatterProps, 'onItemClick'> {
10
10
  /**
11
11
  * Overridable component slots.
12
12
  * @default {}
@@ -27,7 +27,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
27
27
  function ScatterPlot(props) {
28
28
  const {
29
29
  slots,
30
- slotProps
30
+ slotProps,
31
+ onItemClick
31
32
  } = props;
32
33
  const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).scatter;
33
34
  const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
@@ -63,7 +64,8 @@ function ScatterPlot(props) {
63
64
  yScale: yScale,
64
65
  color: color,
65
66
  markerSize: markerSize ?? 4,
66
- series: series[seriesId]
67
+ series: series[seriesId],
68
+ onItemClick: onItemClick
67
69
  }, slotProps?.scatter), id);
68
70
  })
69
71
  });
@@ -73,6 +75,12 @@ process.env.NODE_ENV !== "production" ? ScatterPlot.propTypes = {
73
75
  // | These PropTypes are generated from the TypeScript type definitions |
74
76
  // | To update them edit the TypeScript types and run "yarn proptypes" |
75
77
  // ----------------------------------------------------------------------
78
+ /**
79
+ * Callback fired when clicking on a scatter item.
80
+ * @param {MouseEvent} event Mouse event recorded on the `<svg/>` element.
81
+ * @param {ScatterItemIdentifier} scatterItemIdentifier The scatter item identifier.
82
+ */
83
+ onItemClick: _propTypes.default.func,
76
84
  /**
77
85
  * The props used for each component slot.
78
86
  * @default {}
@@ -94,9 +94,11 @@ const SparkLineChart = exports.SparkLineChart = /*#__PURE__*/React.forwardRef(fu
94
94
  }
95
95
  }), plotType === 'line' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
96
96
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_LineChart.AreaPlot, {
97
+ skipAnimation: true,
97
98
  slots: slots,
98
99
  slotProps: slotProps
99
100
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineChart.LinePlot, {
101
+ skipAnimation: true,
100
102
  slots: slots,
101
103
  slotProps: slotProps
102
104
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineChart.LineHighlightPlot, {
@@ -33,7 +33,12 @@ export type DrawingArea = {
33
33
  */
34
34
  height: number;
35
35
  };
36
- export declare const DrawingContext: React.Context<DrawingArea>;
36
+ export declare const DrawingContext: React.Context<DrawingArea & {
37
+ /**
38
+ * A random id used to distinguish each chart on the same page.
39
+ */
40
+ chartId: string;
41
+ }>;
37
42
  export declare const SVGContext: React.Context<React.RefObject<SVGSVGElement>>;
38
43
  /**
39
44
  * API: