@mui/x-charts-pro 8.0.0-alpha.1 → 8.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/BarChartPro/BarChartPro.d.ts +2 -2
  2. package/BarChartPro/BarChartPro.js +75 -34
  3. package/BarChartPro/BarChartPro.plugins.d.ts +10 -0
  4. package/BarChartPro/BarChartPro.plugins.js +3 -0
  5. package/CHANGELOG.md +2007 -230
  6. package/ChartContainerPro/ChartContainerPro.d.ts +33 -5
  7. package/ChartContainerPro/ChartContainerPro.js +55 -37
  8. package/ChartContainerPro/useChartContainerProProps.d.ts +6 -5
  9. package/ChartContainerPro/useChartContainerProProps.js +17 -13
  10. package/ChartDataProviderPro/ChartDataProviderPro.d.ts +37 -0
  11. package/ChartDataProviderPro/ChartDataProviderPro.js +105 -0
  12. package/{context → ChartDataProviderPro}/package.json +1 -1
  13. package/ChartDataProviderPro/useChartDataProviderProProps.d.ts +8 -0
  14. package/ChartDataProviderPro/useChartDataProviderProProps.js +15 -0
  15. package/Heatmap/Heatmap.d.ts +1 -2
  16. package/Heatmap/Heatmap.js +36 -13
  17. package/Heatmap/Heatmap.plugins.d.ts +8 -0
  18. package/Heatmap/Heatmap.plugins.js +2 -0
  19. package/Heatmap/HeatmapItem.js +1 -1
  20. package/Heatmap/HeatmapTooltip.js +8 -28
  21. package/Heatmap/extremums.d.ts +2 -2
  22. package/Heatmap/formatter.d.ts +2 -2
  23. package/Heatmap/formatter.js +2 -1
  24. package/Heatmap/heatmapClasses.js +2 -1
  25. package/Heatmap/plugin.d.ts +2 -2
  26. package/Heatmap/plugin.js +4 -2
  27. package/Heatmap/tooltip.d.ts +3 -0
  28. package/Heatmap/tooltip.js +25 -0
  29. package/LineChartPro/LineChartPro.d.ts +2 -2
  30. package/LineChartPro/LineChartPro.js +81 -54
  31. package/LineChartPro/LineChartPro.plugins.d.ts +10 -0
  32. package/LineChartPro/LineChartPro.plugins.js +3 -0
  33. package/README.md +1 -1
  34. package/ScatterChartPro/ScatterChartPro.d.ts +2 -2
  35. package/ScatterChartPro/ScatterChartPro.js +59 -34
  36. package/ScatterChartPro/ScatterChartPro.plugins.d.ts +10 -0
  37. package/ScatterChartPro/ScatterChartPro.plugins.js +3 -0
  38. package/hooks/index.d.ts +1 -0
  39. package/hooks/index.js +2 -1
  40. package/hooks/useSeries.d.ts +2 -4
  41. package/hooks/zoom/index.d.ts +1 -0
  42. package/hooks/zoom/index.js +1 -0
  43. package/hooks/zoom/useIsZoomInteracting.d.ts +6 -0
  44. package/hooks/zoom/useIsZoomInteracting.js +14 -0
  45. package/index.d.ts +3 -2
  46. package/index.js +5 -6
  47. package/internals/plugins/allPlugins.d.ts +11 -0
  48. package/internals/plugins/allPlugins.js +5 -0
  49. package/internals/plugins/useChartProZoom/creatZoomLookup.d.ts +3 -0
  50. package/internals/plugins/useChartProZoom/creatZoomLookup.js +12 -0
  51. package/internals/plugins/useChartProZoom/defaultizeZoom.d.ts +2 -0
  52. package/internals/plugins/useChartProZoom/defaultizeZoom.js +25 -0
  53. package/internals/plugins/useChartProZoom/index.d.ts +3 -0
  54. package/internals/plugins/useChartProZoom/index.js +3 -0
  55. package/internals/plugins/useChartProZoom/useChartProZoom.d.ts +3 -0
  56. package/internals/plugins/useChartProZoom/useChartProZoom.js +303 -0
  57. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +377 -0
  58. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +10 -0
  59. package/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +50 -0
  60. package/internals/plugins/useChartProZoom/useChartProZoom.utils.d.ts +45 -0
  61. package/internals/plugins/useChartProZoom/useChartProZoom.utils.js +126 -0
  62. package/internals/plugins/useChartProZoom/zoom.types.d.ts +53 -0
  63. package/internals/utils/releaseInfo.js +2 -2
  64. package/models/index.d.ts +1 -0
  65. package/models/index.js +2 -1
  66. package/modern/BarChartPro/BarChartPro.js +75 -34
  67. package/modern/BarChartPro/BarChartPro.plugins.js +3 -0
  68. package/modern/ChartContainerPro/ChartContainerPro.js +55 -37
  69. package/modern/ChartContainerPro/useChartContainerProProps.js +17 -13
  70. package/modern/ChartDataProviderPro/ChartDataProviderPro.js +105 -0
  71. package/modern/ChartDataProviderPro/useChartDataProviderProProps.js +15 -0
  72. package/modern/Heatmap/Heatmap.js +36 -13
  73. package/modern/Heatmap/Heatmap.plugins.js +2 -0
  74. package/modern/Heatmap/HeatmapItem.js +1 -1
  75. package/modern/Heatmap/HeatmapTooltip.js +8 -28
  76. package/modern/Heatmap/formatter.js +2 -1
  77. package/modern/Heatmap/heatmapClasses.js +2 -1
  78. package/modern/Heatmap/plugin.js +4 -2
  79. package/modern/Heatmap/tooltip.js +25 -0
  80. package/modern/LineChartPro/LineChartPro.js +81 -54
  81. package/modern/LineChartPro/LineChartPro.plugins.js +3 -0
  82. package/modern/ScatterChartPro/ScatterChartPro.js +59 -34
  83. package/modern/ScatterChartPro/ScatterChartPro.plugins.js +3 -0
  84. package/modern/hooks/index.js +2 -1
  85. package/modern/hooks/zoom/index.js +1 -0
  86. package/modern/hooks/zoom/useIsZoomInteracting.js +14 -0
  87. package/modern/index.js +5 -6
  88. package/modern/internals/plugins/allPlugins.js +5 -0
  89. package/modern/internals/plugins/useChartProZoom/creatZoomLookup.js +12 -0
  90. package/modern/internals/plugins/useChartProZoom/defaultizeZoom.js +25 -0
  91. package/modern/internals/plugins/useChartProZoom/index.js +3 -0
  92. package/modern/internals/plugins/useChartProZoom/useChartProZoom.js +303 -0
  93. package/modern/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +10 -0
  94. package/modern/internals/plugins/useChartProZoom/useChartProZoom.types.js +1 -0
  95. package/modern/internals/plugins/useChartProZoom/useChartProZoom.utils.js +126 -0
  96. package/modern/internals/plugins/useChartProZoom/zoom.types.js +1 -0
  97. package/modern/internals/utils/releaseInfo.js +2 -2
  98. package/modern/models/index.js +2 -1
  99. package/node/BarChartPro/BarChartPro.js +74 -33
  100. package/node/BarChartPro/BarChartPro.plugins.js +9 -0
  101. package/node/ChartContainerPro/ChartContainerPro.js +54 -36
  102. package/node/ChartContainerPro/useChartContainerProProps.js +17 -13
  103. package/node/ChartDataProviderPro/ChartDataProviderPro.js +111 -0
  104. package/node/ChartDataProviderPro/useChartDataProviderProProps.js +21 -0
  105. package/node/Heatmap/Heatmap.js +36 -13
  106. package/node/Heatmap/Heatmap.plugins.js +8 -0
  107. package/node/Heatmap/HeatmapItem.js +2 -2
  108. package/node/Heatmap/HeatmapTooltip.js +6 -26
  109. package/node/Heatmap/formatter.js +2 -1
  110. package/node/Heatmap/heatmapClasses.js +5 -4
  111. package/node/Heatmap/plugin.js +4 -2
  112. package/node/Heatmap/tooltip.js +31 -0
  113. package/node/LineChartPro/LineChartPro.js +80 -53
  114. package/node/LineChartPro/LineChartPro.plugins.js +9 -0
  115. package/node/ScatterChartPro/ScatterChartPro.js +58 -33
  116. package/node/ScatterChartPro/ScatterChartPro.plugins.js +9 -0
  117. package/node/hooks/index.js +16 -1
  118. package/node/{context/CartesianProviderPro → hooks/zoom}/index.js +4 -4
  119. package/node/hooks/zoom/useIsZoomInteracting.js +19 -0
  120. package/node/index.js +34 -23
  121. package/node/internals/plugins/allPlugins.js +11 -0
  122. package/node/internals/plugins/useChartProZoom/creatZoomLookup.js +19 -0
  123. package/node/internals/plugins/useChartProZoom/defaultizeZoom.js +33 -0
  124. package/node/internals/plugins/useChartProZoom/index.js +38 -0
  125. package/node/internals/plugins/useChartProZoom/useChartProZoom.js +310 -0
  126. package/node/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +18 -0
  127. package/node/internals/plugins/useChartProZoom/useChartProZoom.utils.js +140 -0
  128. package/node/internals/plugins/useChartProZoom/zoom.types.js +5 -0
  129. package/node/internals/utils/releaseInfo.js +4 -3
  130. package/package.json +6 -6
  131. package/typeOverloads/modules.d.ts +8 -1
  132. package/context/CartesianProviderPro/CartesianProviderPro.d.ts +0 -6
  133. package/context/CartesianProviderPro/CartesianProviderPro.js +0 -89
  134. package/context/CartesianProviderPro/createAxisFilterMapper.d.ts +0 -12
  135. package/context/CartesianProviderPro/createAxisFilterMapper.js +0 -60
  136. package/context/CartesianProviderPro/index.d.ts +0 -1
  137. package/context/CartesianProviderPro/index.js +0 -1
  138. package/context/ChartDataProviderPro/ChartDataProviderPro.d.ts +0 -10
  139. package/context/ChartDataProviderPro/ChartDataProviderPro.js +0 -299
  140. package/context/ChartDataProviderPro/useChartDataProviderProProps.d.ts +0 -14
  141. package/context/ChartDataProviderPro/useChartDataProviderProProps.js +0 -43
  142. package/context/ZoomProvider/Zoom.types.d.ts +0 -144
  143. package/context/ZoomProvider/ZoomContext.d.ts +0 -4
  144. package/context/ZoomProvider/ZoomContext.js +0 -16
  145. package/context/ZoomProvider/ZoomProvider.d.ts +0 -3
  146. package/context/ZoomProvider/ZoomProvider.js +0 -56
  147. package/context/ZoomProvider/ZoomSetup.d.ts +0 -9
  148. package/context/ZoomProvider/ZoomSetup.js +0 -16
  149. package/context/ZoomProvider/defaultizeZoom.d.ts +0 -2
  150. package/context/ZoomProvider/defaultizeZoom.js +0 -32
  151. package/context/ZoomProvider/index.d.ts +0 -3
  152. package/context/ZoomProvider/index.js +0 -3
  153. package/context/ZoomProvider/initializeZoomData.d.ts +0 -6
  154. package/context/ZoomProvider/initializeZoomData.js +0 -13
  155. package/context/ZoomProvider/useSetupPan.d.ts +0 -1
  156. package/context/ZoomProvider/useSetupPan.js +0 -106
  157. package/context/ZoomProvider/useSetupZoom.d.ts +0 -1
  158. package/context/ZoomProvider/useSetupZoom.js +0 -274
  159. package/context/ZoomProvider/useZoom.d.ts +0 -7
  160. package/context/ZoomProvider/useZoom.js +0 -19
  161. package/context/index.d.ts +0 -3
  162. package/context/index.js +0 -5
  163. package/modern/context/CartesianProviderPro/CartesianProviderPro.js +0 -89
  164. package/modern/context/CartesianProviderPro/createAxisFilterMapper.js +0 -60
  165. package/modern/context/CartesianProviderPro/index.js +0 -1
  166. package/modern/context/ChartDataProviderPro/ChartDataProviderPro.js +0 -299
  167. package/modern/context/ChartDataProviderPro/useChartDataProviderProProps.js +0 -43
  168. package/modern/context/ZoomProvider/ZoomContext.js +0 -16
  169. package/modern/context/ZoomProvider/ZoomProvider.js +0 -56
  170. package/modern/context/ZoomProvider/ZoomSetup.js +0 -16
  171. package/modern/context/ZoomProvider/defaultizeZoom.js +0 -32
  172. package/modern/context/ZoomProvider/index.js +0 -3
  173. package/modern/context/ZoomProvider/initializeZoomData.js +0 -13
  174. package/modern/context/ZoomProvider/useSetupPan.js +0 -106
  175. package/modern/context/ZoomProvider/useSetupZoom.js +0 -274
  176. package/modern/context/ZoomProvider/useZoom.js +0 -19
  177. package/modern/context/index.js +0 -5
  178. package/node/context/CartesianProviderPro/CartesianProviderPro.js +0 -95
  179. package/node/context/CartesianProviderPro/createAxisFilterMapper.js +0 -68
  180. package/node/context/ChartDataProviderPro/ChartDataProviderPro.js +0 -305
  181. package/node/context/ChartDataProviderPro/useChartDataProviderProProps.js +0 -50
  182. package/node/context/ZoomProvider/ZoomContext.js +0 -23
  183. package/node/context/ZoomProvider/ZoomProvider.js +0 -63
  184. package/node/context/ZoomProvider/ZoomSetup.js +0 -20
  185. package/node/context/ZoomProvider/defaultizeZoom.js +0 -40
  186. package/node/context/ZoomProvider/index.js +0 -38
  187. package/node/context/ZoomProvider/initializeZoomData.js +0 -20
  188. package/node/context/ZoomProvider/useSetupPan.js +0 -114
  189. package/node/context/ZoomProvider/useSetupZoom.js +0 -281
  190. package/node/context/ZoomProvider/useZoom.js +0 -25
  191. package/node/context/index.js +0 -27
  192. /package/{context/ChartDataProviderPro → ChartDataProviderPro}/index.d.ts +0 -0
  193. /package/{context/ChartDataProviderPro → ChartDataProviderPro}/index.js +0 -0
  194. /package/{context/ZoomProvider/Zoom.types.js → internals/plugins/useChartProZoom/useChartProZoom.types.js} +0 -0
  195. /package/{modern/context/ZoomProvider/Zoom.types.js → internals/plugins/useChartProZoom/zoom.types.js} +0 -0
  196. /package/modern/{context/ChartDataProviderPro → ChartDataProviderPro}/index.js +0 -0
  197. /package/node/{context/ChartDataProviderPro → ChartDataProviderPro}/index.js +0 -0
  198. /package/node/{context/ZoomProvider/Zoom.types.js → internals/plugins/useChartProZoom/useChartProZoom.types.js} +0 -0
@@ -1,305 +0,0 @@
1
- "use strict";
2
- 'use client';
3
-
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
- Object.defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- exports.ChartDataProviderPro = ChartDataProviderPro;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var React = _interopRequireWildcard(require("react"));
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _internals = require("@mui/x-charts/internals");
14
- var _context = require("@mui/x-charts/context");
15
- var _useLicenseVerifier = require("@mui/x-license/useLicenseVerifier");
16
- var _releaseInfo = require("../../internals/utils/releaseInfo");
17
- var _CartesianProviderPro = require("../CartesianProviderPro");
18
- var _ZoomProvider = require("../ZoomProvider");
19
- var _useChartDataProviderProProps = require("./useChartDataProviderProProps");
20
- var _jsxRuntime = require("react/jsx-runtime");
21
- const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
22
- function ChartDataProviderPro(props) {
23
- const {
24
- zoomProviderProps,
25
- drawingAreaProviderProps,
26
- seriesProviderProps,
27
- zAxisContextProps,
28
- highlightedProviderProps,
29
- cartesianProviderProps,
30
- sizeProviderProps,
31
- pluginProviderProps,
32
- animationProviderProps,
33
- children
34
- } = (0, _useChartDataProviderProProps.useChartContainerProProps)(props);
35
- (0, _useLicenseVerifier.useLicenseVerifier)('x-charts-pro', releaseInfo);
36
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.SizeProvider, (0, _extends2.default)({}, sizeProviderProps, {
37
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.DrawingAreaProvider, (0, _extends2.default)({}, drawingAreaProviderProps, {
38
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.AnimationProvider, (0, _extends2.default)({}, animationProviderProps, {
39
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PluginProvider, (0, _extends2.default)({}, pluginProviderProps, {
40
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ZoomProvider.ZoomProvider, (0, _extends2.default)({}, zoomProviderProps, {
41
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.SeriesProvider, (0, _extends2.default)({}, seriesProviderProps, {
42
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CartesianProviderPro.CartesianProviderPro, (0, _extends2.default)({}, cartesianProviderProps, {
43
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ZAxisContextProvider, (0, _extends2.default)({}, zAxisContextProps, {
44
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.InteractionProvider, {
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.HighlightedProvider, (0, _extends2.default)({}, highlightedProviderProps, {
46
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.SvgRefProvider, {
47
- children: children
48
- })
49
- }))
50
- })
51
- }))
52
- }))
53
- }))
54
- }))
55
- }))
56
- }))
57
- }))
58
- }));
59
- }
60
- process.env.NODE_ENV !== "production" ? ChartDataProviderPro.propTypes = {
61
- // ----------------------------- Warning --------------------------------
62
- // | These PropTypes are generated from the TypeScript type definitions |
63
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
64
- // ----------------------------------------------------------------------
65
- children: _propTypes.default.node,
66
- className: _propTypes.default.string,
67
- /**
68
- * Color palette used to colorize multiple series.
69
- * @default blueberryTwilightPalette
70
- */
71
- colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
72
- /**
73
- * An array of objects that can be used to populate series and axes data using their `dataKey` property.
74
- */
75
- dataset: _propTypes.default.arrayOf(_propTypes.default.object),
76
- desc: _propTypes.default.string,
77
- /**
78
- * If `true`, the charts will not listen to the mouse move event.
79
- * It might break interactive features, but will improve performance.
80
- * @default false
81
- */
82
- disableAxisListener: _propTypes.default.bool,
83
- /**
84
- * The height of the chart in px.
85
- */
86
- height: _propTypes.default.number.isRequired,
87
- /**
88
- * The item currently highlighted. Turns highlighting into a controlled prop.
89
- */
90
- highlightedItem: _propTypes.default.shape({
91
- dataIndex: _propTypes.default.number,
92
- seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
93
- }),
94
- /**
95
- * The margin between the SVG and the drawing area.
96
- * It's used for leaving some space for extra information such as the x- and y-axis or legend.
97
- * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
98
- * @default object Depends on the charts type.
99
- */
100
- margin: _propTypes.default.shape({
101
- bottom: _propTypes.default.number,
102
- left: _propTypes.default.number,
103
- right: _propTypes.default.number,
104
- top: _propTypes.default.number
105
- }),
106
- /**
107
- * The callback fired when the highlighted item changes.
108
- *
109
- * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
110
- */
111
- onHighlightChange: _propTypes.default.func,
112
- /**
113
- * Callback fired when the zoom has changed.
114
- *
115
- * @param {ZoomData[]} zoomData Updated zoom data.
116
- */
117
- onZoomChange: _propTypes.default.func,
118
- /**
119
- * An array of plugins defining how to preprocess data.
120
- * If not provided, the container supports line, bar, scatter and pie charts.
121
- */
122
- plugins: _propTypes.default.arrayOf(_propTypes.default.object),
123
- /**
124
- * The array of series to display.
125
- * Each type of series has its own specificity.
126
- * Please refer to the appropriate docs page to learn more about it.
127
- */
128
- series: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
129
- /**
130
- * If `true`, animations are skipped.
131
- * If unset or `false`, the animations respects the user's `prefers-reduced-motion` setting.
132
- */
133
- skipAnimation: _propTypes.default.bool,
134
- 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]),
135
- title: _propTypes.default.string,
136
- viewBox: _propTypes.default.shape({
137
- height: _propTypes.default.number,
138
- width: _propTypes.default.number,
139
- x: _propTypes.default.number,
140
- y: _propTypes.default.number
141
- }),
142
- /**
143
- * The width of the chart in px.
144
- */
145
- width: _propTypes.default.number.isRequired,
146
- /**
147
- * The configuration of the x-axes.
148
- * If not provided, a default axis config is used.
149
- * An array of [[AxisConfig]] objects.
150
- */
151
- xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
152
- classes: _propTypes.default.object,
153
- colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
154
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
155
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
156
- unknownColor: _propTypes.default.string,
157
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
158
- }), _propTypes.default.shape({
159
- color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
160
- max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
161
- min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
162
- type: _propTypes.default.oneOf(['continuous']).isRequired
163
- }), _propTypes.default.shape({
164
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
165
- thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
166
- type: _propTypes.default.oneOf(['piecewise']).isRequired
167
- })]),
168
- data: _propTypes.default.array,
169
- dataKey: _propTypes.default.string,
170
- disableLine: _propTypes.default.bool,
171
- disableTicks: _propTypes.default.bool,
172
- domainLimit: _propTypes.default.oneOfType([_propTypes.default.oneOf(['nice', 'strict']), _propTypes.default.func]),
173
- fill: _propTypes.default.string,
174
- hideTooltip: _propTypes.default.bool,
175
- id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
176
- label: _propTypes.default.string,
177
- labelFontSize: _propTypes.default.number,
178
- labelStyle: _propTypes.default.object,
179
- max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
180
- min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
181
- position: _propTypes.default.oneOf(['bottom', 'top']),
182
- reverse: _propTypes.default.bool,
183
- scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
184
- slotProps: _propTypes.default.object,
185
- slots: _propTypes.default.object,
186
- stroke: _propTypes.default.string,
187
- 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]),
188
- tickFontSize: _propTypes.default.number,
189
- tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
190
- tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
191
- tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
192
- tickLabelStyle: _propTypes.default.object,
193
- tickMaxStep: _propTypes.default.number,
194
- tickMinStep: _propTypes.default.number,
195
- tickNumber: _propTypes.default.number,
196
- tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
197
- tickSize: _propTypes.default.number,
198
- valueFormatter: _propTypes.default.func,
199
- zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
200
- filterMode: _propTypes.default.oneOf(['discard', 'keep']),
201
- maxEnd: _propTypes.default.number,
202
- maxSpan: _propTypes.default.number,
203
- minSpan: _propTypes.default.number,
204
- minStart: _propTypes.default.number,
205
- panning: _propTypes.default.bool,
206
- step: _propTypes.default.number
207
- }), _propTypes.default.bool])
208
- })),
209
- /**
210
- * The configuration of the y-axes.
211
- * If not provided, a default axis config is used.
212
- * An array of [[AxisConfig]] objects.
213
- */
214
- yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
215
- classes: _propTypes.default.object,
216
- colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
217
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
218
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
219
- unknownColor: _propTypes.default.string,
220
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
221
- }), _propTypes.default.shape({
222
- color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
223
- max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
224
- min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
225
- type: _propTypes.default.oneOf(['continuous']).isRequired
226
- }), _propTypes.default.shape({
227
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
228
- thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
229
- type: _propTypes.default.oneOf(['piecewise']).isRequired
230
- })]),
231
- data: _propTypes.default.array,
232
- dataKey: _propTypes.default.string,
233
- disableLine: _propTypes.default.bool,
234
- disableTicks: _propTypes.default.bool,
235
- domainLimit: _propTypes.default.oneOfType([_propTypes.default.oneOf(['nice', 'strict']), _propTypes.default.func]),
236
- fill: _propTypes.default.string,
237
- hideTooltip: _propTypes.default.bool,
238
- id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
239
- label: _propTypes.default.string,
240
- labelFontSize: _propTypes.default.number,
241
- labelStyle: _propTypes.default.object,
242
- max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
243
- min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
244
- position: _propTypes.default.oneOf(['left', 'right']),
245
- reverse: _propTypes.default.bool,
246
- scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
247
- slotProps: _propTypes.default.object,
248
- slots: _propTypes.default.object,
249
- stroke: _propTypes.default.string,
250
- 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]),
251
- tickFontSize: _propTypes.default.number,
252
- tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
253
- tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
254
- tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
255
- tickLabelStyle: _propTypes.default.object,
256
- tickMaxStep: _propTypes.default.number,
257
- tickMinStep: _propTypes.default.number,
258
- tickNumber: _propTypes.default.number,
259
- tickPlacement: _propTypes.default.oneOf(['end', 'extremities', 'middle', 'start']),
260
- tickSize: _propTypes.default.number,
261
- valueFormatter: _propTypes.default.func,
262
- zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
263
- filterMode: _propTypes.default.oneOf(['discard', 'keep']),
264
- maxEnd: _propTypes.default.number,
265
- maxSpan: _propTypes.default.number,
266
- minSpan: _propTypes.default.number,
267
- minStart: _propTypes.default.number,
268
- panning: _propTypes.default.bool,
269
- step: _propTypes.default.number
270
- }), _propTypes.default.bool])
271
- })),
272
- /**
273
- * The configuration of the z-axes.
274
- */
275
- zAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
276
- colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
277
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
278
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
279
- unknownColor: _propTypes.default.string,
280
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
281
- }), _propTypes.default.shape({
282
- color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
283
- max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
284
- min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
285
- type: _propTypes.default.oneOf(['continuous']).isRequired
286
- }), _propTypes.default.shape({
287
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
288
- thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
289
- type: _propTypes.default.oneOf(['piecewise']).isRequired
290
- })]),
291
- data: _propTypes.default.array,
292
- dataKey: _propTypes.default.string,
293
- id: _propTypes.default.string,
294
- max: _propTypes.default.number,
295
- min: _propTypes.default.number
296
- })),
297
- /**
298
- * The list of zoom data related to each axis.
299
- */
300
- zoom: _propTypes.default.arrayOf(_propTypes.default.shape({
301
- axisId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
302
- end: _propTypes.default.number.isRequired,
303
- start: _propTypes.default.number.isRequired
304
- }))
305
- } : void 0;
@@ -1,50 +0,0 @@
1
- "use strict";
2
- 'use client';
3
-
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.useChartContainerProProps = void 0;
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
- var _internals = require("@mui/x-charts/internals");
11
- const _excluded = ["zoom", "onZoomChange"];
12
- const useChartContainerProProps = props => {
13
- const {
14
- zoom,
15
- onZoomChange
16
- } = props,
17
- baseProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
18
- const {
19
- children,
20
- drawingAreaProviderProps,
21
- seriesProviderProps,
22
- cartesianProviderProps,
23
- zAxisContextProps,
24
- highlightedProviderProps,
25
- sizeProviderProps,
26
- pluginProviderProps,
27
- animationProviderProps,
28
- xAxis,
29
- yAxis
30
- } = (0, _internals.useChartDataProviderProps)(baseProps);
31
- const zoomProviderProps = {
32
- zoom,
33
- onZoomChange,
34
- xAxis,
35
- yAxis
36
- };
37
- return {
38
- zoomProviderProps,
39
- children,
40
- drawingAreaProviderProps,
41
- pluginProviderProps,
42
- seriesProviderProps,
43
- cartesianProviderProps,
44
- zAxisContextProps,
45
- highlightedProviderProps,
46
- sizeProviderProps,
47
- animationProviderProps
48
- };
49
- };
50
- exports.useChartContainerProProps = useChartContainerProProps;
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.ZoomContext = void 0;
8
- var React = _interopRequireWildcard(require("react"));
9
- const ZoomContext = exports.ZoomContext = /*#__PURE__*/React.createContext({
10
- isInitialized: false,
11
- data: {
12
- isZoomEnabled: false,
13
- isPanEnabled: false,
14
- options: {},
15
- zoomData: [],
16
- setZoomData: () => {},
17
- isInteracting: false,
18
- setIsInteracting: () => {}
19
- }
20
- });
21
- if (process.env.NODE_ENV !== 'production') {
22
- ZoomContext.displayName = 'ZoomContext';
23
- }
@@ -1,63 +0,0 @@
1
- "use strict";
2
- 'use client';
3
-
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
- Object.defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- exports.ZoomProvider = ZoomProvider;
10
- var React = _interopRequireWildcard(require("react"));
11
- var _useControlled = _interopRequireDefault(require("@mui/utils/useControlled"));
12
- var _ZoomContext = require("./ZoomContext");
13
- var _defaultizeZoom = require("./defaultizeZoom");
14
- var _initializeZoomData = require("./initializeZoomData");
15
- var _jsxRuntime = require("react/jsx-runtime");
16
- function ZoomProvider({
17
- children,
18
- xAxis,
19
- yAxis,
20
- zoom,
21
- onZoomChange
22
- }) {
23
- const [isInteracting, setIsInteracting] = React.useState(false);
24
- const options = React.useMemo(() => [...(0, _defaultizeZoom.defaultizeZoom)(xAxis, 'x'), ...(0, _defaultizeZoom.defaultizeZoom)(yAxis, 'y')].reduce((acc, v) => {
25
- acc[v.axisId] = v;
26
- return acc;
27
- }, {}), [xAxis, yAxis]);
28
-
29
- // Default zoom data is initialized only once when uncontrolled. If the user changes the options
30
- // after the initial render, the zoom data will not be updated until the next zoom interaction.
31
- // This is required to avoid warnings about controlled/uncontrolled components.
32
- const defaultZoomData = React.useRef((0, _initializeZoomData.initializeZoomData)(options));
33
- const [zoomData, setZoomData] = (0, _useControlled.default)({
34
- controlled: zoom,
35
- // eslint-disable-next-line react-compiler/react-compiler
36
- default: defaultZoomData.current,
37
- name: 'ZoomProvider',
38
- state: 'zoom'
39
- });
40
- const setZoomDataCallback = React.useCallback(newZoomData => {
41
- setZoomData(newZoomData);
42
- onZoomChange?.(newZoomData);
43
- }, [setZoomData, onZoomChange]);
44
- const value = React.useMemo(() => ({
45
- isInitialized: true,
46
- data: {
47
- isZoomEnabled: Object.keys(options).length > 0,
48
- isPanEnabled: isPanEnabled(options),
49
- options,
50
- zoomData,
51
- setZoomData: setZoomDataCallback,
52
- isInteracting,
53
- setIsInteracting
54
- }
55
- }), [zoomData, isInteracting, setIsInteracting, options, setZoomDataCallback]);
56
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ZoomContext.ZoomContext.Provider, {
57
- value: value,
58
- children: children
59
- });
60
- }
61
- function isPanEnabled(options) {
62
- return Object.values(options).some(v => v.panning) || false;
63
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ZoomSetup = ZoomSetup;
7
- var _useSetupPan = require("./useSetupPan");
8
- var _useSetupZoom = require("./useSetupZoom");
9
- /**
10
- * Sets up the zoom functionality if using composition or a custom chart.
11
- *
12
- * Simply add this component at the same level as the chart component to enable zooming and panning.
13
- *
14
- * See: [Composition](https://mui.com/x/react-charts/composition/)
15
- */
16
- function ZoomSetup() {
17
- (0, _useSetupZoom.useSetupZoom)();
18
- (0, _useSetupPan.useSetupPan)();
19
- return null;
20
- }
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.defaultizeZoom = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _internals = require("@mui/x-charts/internals");
10
- const defaultZoomOptions = {
11
- minStart: 0,
12
- maxEnd: 100,
13
- step: 5,
14
- minSpan: 10,
15
- maxSpan: 100,
16
- panning: true,
17
- filterMode: 'keep'
18
- };
19
- const defaultizeZoom = (axis, axisDirection) => {
20
- if (!axis) {
21
- return [];
22
- }
23
- const defaultized = axis.map(v => {
24
- if (!v.zoom) {
25
- return undefined;
26
- }
27
- if (v.zoom === true) {
28
- return (0, _extends2.default)({
29
- axisId: v.id,
30
- axisDirection
31
- }, defaultZoomOptions);
32
- }
33
- return (0, _extends2.default)({
34
- axisId: v.id,
35
- axisDirection
36
- }, defaultZoomOptions, v.zoom);
37
- }).filter(_internals.isDefined);
38
- return defaultized;
39
- };
40
- exports.defaultizeZoom = defaultizeZoom;
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _ZoomContext = require("./ZoomContext");
7
- Object.keys(_ZoomContext).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _ZoomContext[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _ZoomContext[key];
14
- }
15
- });
16
- });
17
- var _ZoomProvider = require("./ZoomProvider");
18
- Object.keys(_ZoomProvider).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _ZoomProvider[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _ZoomProvider[key];
25
- }
26
- });
27
- });
28
- var _Zoom = require("./Zoom.types");
29
- Object.keys(_Zoom).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _Zoom[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _Zoom[key];
36
- }
37
- });
38
- });
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.initializeZoomData = void 0;
7
- // This function is used to initialize the zoom data when it is not provided by the user.
8
- // It is helpful to avoid the need to provide the possibly auto-generated id for each axis.
9
- const initializeZoomData = options => {
10
- return Object.values(options).map(({
11
- axisId,
12
- minStart: start,
13
- maxEnd: end
14
- }) => ({
15
- axisId,
16
- start,
17
- end
18
- }));
19
- };
20
- exports.initializeZoomData = initializeZoomData;
@@ -1,114 +0,0 @@
1
- "use strict";
2
- 'use client';
3
-
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
- Object.defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- exports.useSetupPan = void 0;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var React = _interopRequireWildcard(require("react"));
12
- var _hooks = require("@mui/x-charts/hooks");
13
- var _internals = require("@mui/x-charts/internals");
14
- var _useZoom = require("./useZoom");
15
- const useSetupPan = () => {
16
- const {
17
- zoomData,
18
- setZoomData,
19
- setIsInteracting,
20
- isPanEnabled,
21
- options
22
- } = (0, _useZoom.useZoom)();
23
- const drawingArea = (0, _hooks.useDrawingArea)();
24
- const svgRef = (0, _hooks.useSvgRef)();
25
- const isDraggingRef = React.useRef(false);
26
- const touchStartRef = React.useRef(null);
27
- const eventCacheRef = React.useRef([]);
28
- React.useEffect(() => {
29
- const element = svgRef.current;
30
- if (element === null || !isPanEnabled) {
31
- return () => {};
32
- }
33
- const handlePan = event => {
34
- if (element === null || !isDraggingRef.current || eventCacheRef.current.length > 1) {
35
- return;
36
- }
37
- if (touchStartRef.current == null) {
38
- return;
39
- }
40
- const point = (0, _internals.getSVGPoint)(element, event);
41
- const movementX = point.x - touchStartRef.current.x;
42
- const movementY = (point.y - touchStartRef.current.y) * -1;
43
- const newZoomData = touchStartRef.current.zoomData.map(zoom => {
44
- const option = options[zoom.axisId];
45
- if (!option || !option.panning) {
46
- return zoom;
47
- }
48
- const min = zoom.start;
49
- const max = zoom.end;
50
- const span = max - min;
51
- const MIN_PERCENT = option.minStart;
52
- const MAX_PERCENT = option.maxEnd;
53
- const movement = option.axisDirection === 'x' ? movementX : movementY;
54
- const dimension = option.axisDirection === 'x' ? drawingArea.width : drawingArea.height;
55
- let newMinPercent = min - movement / dimension * span;
56
- let newMaxPercent = max - movement / dimension * span;
57
- if (newMinPercent < MIN_PERCENT) {
58
- newMinPercent = MIN_PERCENT;
59
- newMaxPercent = newMinPercent + span;
60
- }
61
- if (newMaxPercent > MAX_PERCENT) {
62
- newMaxPercent = MAX_PERCENT;
63
- newMinPercent = newMaxPercent - span;
64
- }
65
- if (newMinPercent < MIN_PERCENT || newMaxPercent > MAX_PERCENT || span < option.minSpan || span > option.maxSpan) {
66
- return zoom;
67
- }
68
- return (0, _extends2.default)({}, zoom, {
69
- start: newMinPercent,
70
- end: newMaxPercent
71
- });
72
- });
73
- setZoomData(newZoomData);
74
- };
75
- const handleDown = event => {
76
- eventCacheRef.current.push(event);
77
- const point = (0, _internals.getSVGPoint)(element, event);
78
- if (!drawingArea.isPointInside(point)) {
79
- return;
80
- }
81
-
82
- // If there is only one pointer, prevent selecting text
83
- if (eventCacheRef.current.length === 1) {
84
- event.preventDefault();
85
- }
86
- isDraggingRef.current = true;
87
- setIsInteracting(true);
88
- touchStartRef.current = {
89
- x: point.x,
90
- y: point.y,
91
- zoomData
92
- };
93
- };
94
- const handleUp = event => {
95
- eventCacheRef.current.splice(eventCacheRef.current.findIndex(cachedEvent => cachedEvent.pointerId === event.pointerId), 1);
96
- setIsInteracting(false);
97
- isDraggingRef.current = false;
98
- touchStartRef.current = null;
99
- };
100
- element.addEventListener('pointerdown', handleDown);
101
- document.addEventListener('pointermove', handlePan);
102
- document.addEventListener('pointerup', handleUp);
103
- document.addEventListener('pointercancel', handleUp);
104
- document.addEventListener('pointerleave', handleUp);
105
- return () => {
106
- element.removeEventListener('pointerdown', handleDown);
107
- document.removeEventListener('pointermove', handlePan);
108
- document.removeEventListener('pointerup', handleUp);
109
- document.removeEventListener('pointercancel', handleUp);
110
- document.removeEventListener('pointerleave', handleUp);
111
- };
112
- }, [drawingArea, svgRef, isDraggingRef, setIsInteracting, zoomData, setZoomData, isPanEnabled, options]);
113
- };
114
- exports.useSetupPan = useSetupPan;