@mui/x-charts-pro 8.0.0-alpha.0 → 8.0.0-alpha.2

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 (53) hide show
  1. package/BarChartPro/BarChartPro.js +3 -35
  2. package/CHANGELOG.md +651 -6
  3. package/ChartContainerPro/ChartContainerPro.js +7 -25
  4. package/ChartContainerPro/useChartContainerProProps.d.ts +2 -39
  5. package/ChartContainerPro/useChartContainerProProps.js +4 -4
  6. package/Heatmap/Heatmap.d.ts +11 -4
  7. package/Heatmap/Heatmap.js +4 -39
  8. package/Heatmap/HeatmapTooltip.d.ts +9 -0
  9. package/Heatmap/HeatmapTooltip.js +272 -0
  10. package/Heatmap/heatmapClasses.js +2 -1
  11. package/Heatmap/index.d.ts +1 -1
  12. package/Heatmap/index.js +1 -1
  13. package/LineChartPro/LineChartPro.js +3 -36
  14. package/README.md +2 -2
  15. package/ScatterChartPro/ScatterChartPro.js +3 -36
  16. package/context/CartesianProviderPro/createAxisFilterMapper.d.ts +2 -1
  17. package/context/ChartDataProviderPro/ChartDataProviderPro.d.ts +1 -1
  18. package/context/ChartDataProviderPro/ChartDataProviderPro.js +20 -268
  19. package/context/ChartDataProviderPro/useChartDataProviderProProps.d.ts +3 -5
  20. package/context/ChartDataProviderPro/useChartDataProviderProProps.js +6 -6
  21. package/index.js +1 -1
  22. package/internals/utils/releaseInfo.js +2 -2
  23. package/modern/BarChartPro/BarChartPro.js +3 -35
  24. package/modern/ChartContainerPro/ChartContainerPro.js +7 -25
  25. package/modern/ChartContainerPro/useChartContainerProProps.js +4 -4
  26. package/modern/Heatmap/Heatmap.js +4 -39
  27. package/modern/Heatmap/HeatmapTooltip.js +272 -0
  28. package/modern/Heatmap/heatmapClasses.js +2 -1
  29. package/modern/Heatmap/index.js +1 -1
  30. package/modern/LineChartPro/LineChartPro.js +3 -36
  31. package/modern/ScatterChartPro/ScatterChartPro.js +3 -36
  32. package/modern/context/ChartDataProviderPro/ChartDataProviderPro.js +20 -268
  33. package/modern/context/ChartDataProviderPro/useChartDataProviderProProps.js +6 -6
  34. package/modern/index.js +1 -1
  35. package/modern/internals/utils/releaseInfo.js +2 -2
  36. package/node/BarChartPro/BarChartPro.js +3 -35
  37. package/node/ChartContainerPro/ChartContainerPro.js +7 -25
  38. package/node/ChartContainerPro/useChartContainerProProps.js +4 -4
  39. package/node/Heatmap/Heatmap.js +4 -39
  40. package/node/Heatmap/HeatmapTooltip.js +278 -0
  41. package/node/Heatmap/heatmapClasses.js +5 -4
  42. package/node/Heatmap/index.js +4 -4
  43. package/node/LineChartPro/LineChartPro.js +3 -36
  44. package/node/ScatterChartPro/ScatterChartPro.js +3 -36
  45. package/node/context/ChartDataProviderPro/ChartDataProviderPro.js +19 -267
  46. package/node/context/ChartDataProviderPro/useChartDataProviderProProps.js +6 -6
  47. package/node/index.js +1 -1
  48. package/node/internals/utils/releaseInfo.js +4 -3
  49. package/package.json +7 -7
  50. package/Heatmap/DefaultHeatmapTooltip.d.ts +0 -7
  51. package/Heatmap/DefaultHeatmapTooltip.js +0 -99
  52. package/modern/Heatmap/DefaultHeatmapTooltip.js +0 -99
  53. package/node/Heatmap/DefaultHeatmapTooltip.js +0 -105
@@ -106,9 +106,9 @@ const BarChartPro = exports.BarChartPro = /*#__PURE__*/React.forwardRef(function
106
106
  chartsAxisProps,
107
107
  axisHighlightProps,
108
108
  legendProps,
109
- tooltipProps,
110
109
  children
111
110
  } = (0, _internals.useBarChartProps)(other);
111
+ const Tooltip = props.slots?.tooltip ?? _ChartsTooltip.ChartsTooltip;
112
112
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartContainerPro.ChartContainerPro, (0, _extends2.default)({
113
113
  ref: ref
114
114
  }, chartContainerProps, {
@@ -116,7 +116,7 @@ const BarChartPro = exports.BarChartPro = /*#__PURE__*/React.forwardRef(function
116
116
  onZoomChange: onZoomChange,
117
117
  children: [props.onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, (0, _extends2.default)({}, axisClickHandlerProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
118
118
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(BarChartPlotZoom, (0, _extends2.default)({}, barPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps))]
119
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), !props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltipProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ZoomSetup.ZoomSetup, {}), children]
119
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), !props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({}, props.slotProps?.tooltip)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ZoomSetup.ZoomSetup, {}), children]
120
120
  }));
121
121
  });
122
122
  process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
@@ -128,7 +128,7 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
128
128
  * The configuration of axes highlight.
129
129
  * Default is set to 'band' in the bar direction.
130
130
  * Depends on `layout` prop.
131
- * @see See {@link https://mui.com/x/react-charts/highlighting highlighting docs} for more details.
131
+ * @see See {@link https://mui.com/x/react-charts/highlighting/ highlighting docs} for more details.
132
132
  */
133
133
  axisHighlight: _propTypes.default.shape({
134
134
  x: _propTypes.default.oneOf(['band', 'line', 'none']),
@@ -245,16 +245,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
245
245
  * @param {ZoomData[]} zoomData Updated zoom data.
246
246
  */
247
247
  onZoomChange: _propTypes.default.func,
248
- /**
249
- * The chart will try to wait for the parent container to resolve its size
250
- * before it renders for the first time.
251
- *
252
- * This can be useful in some scenarios where the chart appear to grow after
253
- * the first render, like when used inside a grid.
254
- *
255
- * @default false
256
- */
257
- resolveSizeBeforeRender: _propTypes.default.bool,
258
248
  /**
259
249
  * Indicate which axis to display the right of the charts.
260
250
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -283,30 +273,12 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
283
273
  slots: _propTypes.default.object,
284
274
  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]),
285
275
  title: _propTypes.default.string,
286
- /**
287
- * The configuration of the tooltip.
288
- * @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
289
- */
290
- tooltip: _propTypes.default.shape({
291
- axisContent: _propTypes.default.elementType,
292
- classes: _propTypes.default.object,
293
- itemContent: _propTypes.default.elementType,
294
- slotProps: _propTypes.default.object,
295
- slots: _propTypes.default.object,
296
- trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
297
- }),
298
276
  /**
299
277
  * Indicate which axis to display the top of the charts.
300
278
  * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
301
279
  * @default null
302
280
  */
303
281
  topAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
304
- viewBox: _propTypes.default.shape({
305
- height: _propTypes.default.number,
306
- width: _propTypes.default.number,
307
- x: _propTypes.default.number,
308
- y: _propTypes.default.number
309
- }),
310
282
  /**
311
283
  * The width of the chart in px. If not defined, it takes the width of the parent element.
312
284
  */
@@ -342,7 +314,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
342
314
  hideTooltip: _propTypes.default.bool,
343
315
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
344
316
  label: _propTypes.default.string,
345
- labelFontSize: _propTypes.default.number,
346
317
  labelStyle: _propTypes.default.object,
347
318
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
348
319
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -353,7 +324,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
353
324
  slots: _propTypes.default.object,
354
325
  stroke: _propTypes.default.string,
355
326
  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]),
356
- tickFontSize: _propTypes.default.number,
357
327
  tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
358
328
  tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
359
329
  tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
@@ -405,7 +375,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
405
375
  hideTooltip: _propTypes.default.bool,
406
376
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
407
377
  label: _propTypes.default.string,
408
- labelFontSize: _propTypes.default.number,
409
378
  labelStyle: _propTypes.default.object,
410
379
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
411
380
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -416,7 +385,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
416
385
  slots: _propTypes.default.object,
417
386
  stroke: _propTypes.default.string,
418
387
  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]),
419
- tickFontSize: _propTypes.default.number,
420
388
  tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
421
389
  tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
422
390
  tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
@@ -11,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _Watermark = require("@mui/x-license/Watermark");
14
- var _internals = require("@mui/x-charts/internals");
14
+ var _ChartsSurface = require("@mui/x-charts/ChartsSurface");
15
15
  var _releaseInfo = require("../internals/utils/releaseInfo");
16
16
  var _ChartDataProviderPro = require("../context/ChartDataProviderPro");
17
17
  var _useChartContainerProProps = require("./useChartContainerProProps");
@@ -20,11 +20,13 @@ const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
20
20
  const ChartContainerPro = exports.ChartContainerPro = /*#__PURE__*/React.forwardRef(function ChartContainerPro(props, ref) {
21
21
  const {
22
22
  chartDataProviderProProps,
23
- resizableChartContainerProps,
24
- hasIntrinsicSize
23
+ children,
24
+ chartsSurfaceProps
25
25
  } = (0, _useChartContainerProProps.useChartContainerProProps)(props, ref);
26
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.ResizableContainer, (0, _extends2.default)({}, resizableChartContainerProps, {
27
- children: [hasIntrinsicSize ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartDataProviderPro.ChartDataProviderPro, (0, _extends2.default)({}, chartDataProviderProProps)) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Watermark.Watermark, {
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartDataProviderPro.ChartDataProviderPro, (0, _extends2.default)({}, chartDataProviderProProps, {
27
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsSurface.ChartsSurface, (0, _extends2.default)({}, chartsSurfaceProps, {
28
+ children: children
29
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Watermark.Watermark, {
28
30
  packageName: "x-charts-pro",
29
31
  releaseInfo: releaseInfo
30
32
  })]
@@ -93,16 +95,6 @@ process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
93
95
  * If not provided, the container supports line, bar, scatter and pie charts.
94
96
  */
95
97
  plugins: _propTypes.default.arrayOf(_propTypes.default.object),
96
- /**
97
- * The chart will try to wait for the parent container to resolve its size
98
- * before it renders for the first time.
99
- *
100
- * This can be useful in some scenarios where the chart appear to grow after
101
- * the first render, like when used inside a grid.
102
- *
103
- * @default false
104
- */
105
- resolveSizeBeforeRender: _propTypes.default.bool,
106
98
  /**
107
99
  * The array of series to display.
108
100
  * Each type of series has its own specificity.
@@ -116,12 +108,6 @@ process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
116
108
  skipAnimation: _propTypes.default.bool,
117
109
  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]),
118
110
  title: _propTypes.default.string,
119
- viewBox: _propTypes.default.shape({
120
- height: _propTypes.default.number,
121
- width: _propTypes.default.number,
122
- x: _propTypes.default.number,
123
- y: _propTypes.default.number
124
- }),
125
111
  /**
126
112
  * The width of the chart in px. If not defined, it takes the width of the parent element.
127
113
  */
@@ -157,7 +143,6 @@ process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
157
143
  hideTooltip: _propTypes.default.bool,
158
144
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
159
145
  label: _propTypes.default.string,
160
- labelFontSize: _propTypes.default.number,
161
146
  labelStyle: _propTypes.default.object,
162
147
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
163
148
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -168,7 +153,6 @@ process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
168
153
  slots: _propTypes.default.object,
169
154
  stroke: _propTypes.default.string,
170
155
  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]),
171
- tickFontSize: _propTypes.default.number,
172
156
  tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
173
157
  tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
174
158
  tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
@@ -220,7 +204,6 @@ process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
220
204
  hideTooltip: _propTypes.default.bool,
221
205
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
222
206
  label: _propTypes.default.string,
223
- labelFontSize: _propTypes.default.number,
224
207
  labelStyle: _propTypes.default.object,
225
208
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
226
209
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -231,7 +214,6 @@ process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
231
214
  slots: _propTypes.default.object,
232
215
  stroke: _propTypes.default.string,
233
216
  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]),
234
- tickFontSize: _propTypes.default.number,
235
217
  tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
236
218
  tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
237
219
  tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
@@ -22,13 +22,13 @@ const useChartContainerProProps = (props, ref) => {
22
22
  };
23
23
  const {
24
24
  chartDataProviderProps,
25
- resizableChartContainerProps,
26
- hasIntrinsicSize
25
+ chartsSurfaceProps,
26
+ children
27
27
  } = (0, _internals.useChartContainerProps)(baseProps, ref);
28
28
  return {
29
29
  chartDataProviderProProps: (0, _extends2.default)({}, chartDataProviderProps, chartDataProviderProProps),
30
- resizableChartContainerProps,
31
- hasIntrinsicSize
30
+ chartsSurfaceProps,
31
+ children
32
32
  };
33
33
  };
34
34
  exports.useChartContainerProProps = useChartContainerProProps;
@@ -14,14 +14,13 @@ var _styles = require("@mui/material/styles");
14
14
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
15
15
  var _d3Interpolate = require("@mui/x-charts-vendor/d3-interpolate");
16
16
  var _ChartsAxis = require("@mui/x-charts/ChartsAxis");
17
- var _ChartsTooltip = require("@mui/x-charts/ChartsTooltip");
18
17
  var _ChartsClipPath = require("@mui/x-charts/ChartsClipPath");
19
18
  var _ChartsOnAxisClickHandler = require("@mui/x-charts/ChartsOnAxisClickHandler");
20
19
  var _ChartsOverlay = require("@mui/x-charts/ChartsOverlay");
21
20
  var _ChartContainerPro = require("../ChartContainerPro");
22
21
  var _HeatmapPlot = require("./HeatmapPlot");
23
22
  var _plugin = require("./plugin");
24
- var _DefaultHeatmapTooltip = require("./DefaultHeatmapTooltip");
23
+ var _HeatmapTooltip = require("./HeatmapTooltip");
25
24
  var _jsxRuntime = require("react/jsx-runtime");
26
25
  // The GnBu: https://github.com/d3/d3-scale-chromatic/blob/main/src/sequential-multi/GnBu.js
27
26
  const defaultColorMap = (0, _d3Interpolate.interpolateRgbBasis)(['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081']);
@@ -41,7 +40,6 @@ const Heatmap = exports.Heatmap = /*#__PURE__*/React.forwardRef(function Heatmap
41
40
  colors,
42
41
  dataset,
43
42
  sx,
44
- tooltip,
45
43
  topAxis,
46
44
  leftAxis,
47
45
  rightAxis,
@@ -72,6 +70,7 @@ const Heatmap = exports.Heatmap = /*#__PURE__*/React.forwardRef(function Heatmap
72
70
  color: defaultColorMap
73
71
  }
74
72
  }], [zAxis]);
73
+ const Tooltip = props.slots?.tooltip ?? _HeatmapTooltip.HeatmapTooltip;
75
74
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartContainerPro.ChartContainerPro, {
76
75
  ref: ref,
77
76
  plugins: [_plugin.plugin],
@@ -109,14 +108,7 @@ const Heatmap = exports.Heatmap = /*#__PURE__*/React.forwardRef(function Heatmap
109
108
  bottomAxis: bottomAxis,
110
109
  slots: slots,
111
110
  slotProps: slotProps
112
- }), !loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({
113
- trigger: "item"
114
- }, tooltip, {
115
- slots: (0, _extends2.default)({
116
- itemContent: _DefaultHeatmapTooltip.DefaultHeatmapTooltip
117
- }, slots),
118
- slotProps: slotProps
119
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, {
111
+ }), !loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({}, slotProps?.tooltip)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, {
120
112
  id: clipPathId
121
113
  }), children]
122
114
  });
@@ -197,16 +189,6 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
197
189
  * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
198
190
  */
199
191
  onHighlightChange: _propTypes.default.func,
200
- /**
201
- * The chart will try to wait for the parent container to resolve its size
202
- * before it renders for the first time.
203
- *
204
- * This can be useful in some scenarios where the chart appear to grow after
205
- * the first render, like when used inside a grid.
206
- *
207
- * @default false
208
- */
209
- resolveSizeBeforeRender: _propTypes.default.bool,
210
192
  /**
211
193
  * Indicate which axis to display the right of the charts.
212
194
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -234,26 +216,13 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
234
216
  * The configuration of the tooltip.
235
217
  * @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
236
218
  */
237
- tooltip: _propTypes.default.shape({
238
- axisContent: _propTypes.default.elementType,
239
- classes: _propTypes.default.object,
240
- itemContent: _propTypes.default.elementType,
241
- slotProps: _propTypes.default.object,
242
- slots: _propTypes.default.object,
243
- trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
244
- }),
219
+ tooltip: _propTypes.default.object,
245
220
  /**
246
221
  * Indicate which axis to display the top of the charts.
247
222
  * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
248
223
  * @default null
249
224
  */
250
225
  topAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
251
- viewBox: _propTypes.default.shape({
252
- height: _propTypes.default.number,
253
- width: _propTypes.default.number,
254
- x: _propTypes.default.number,
255
- y: _propTypes.default.number
256
- }),
257
226
  /**
258
227
  * The width of the chart in px. If not defined, it takes the width of the parent element.
259
228
  */
@@ -291,7 +260,6 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
291
260
  hideTooltip: _propTypes.default.bool,
292
261
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
293
262
  label: _propTypes.default.string,
294
- labelFontSize: _propTypes.default.number,
295
263
  labelStyle: _propTypes.default.object,
296
264
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
297
265
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -302,7 +270,6 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
302
270
  slots: _propTypes.default.object,
303
271
  stroke: _propTypes.default.string,
304
272
  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]),
305
- tickFontSize: _propTypes.default.number,
306
273
  tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
307
274
  tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
308
275
  tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
@@ -356,7 +323,6 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
356
323
  hideTooltip: _propTypes.default.bool,
357
324
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
358
325
  label: _propTypes.default.string,
359
- labelFontSize: _propTypes.default.number,
360
326
  labelStyle: _propTypes.default.object,
361
327
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
362
328
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -367,7 +333,6 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
367
333
  slots: _propTypes.default.object,
368
334
  stroke: _propTypes.default.string,
369
335
  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]),
370
- tickFontSize: _propTypes.default.number,
371
336
  tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
372
337
  tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
373
338
  tickLabelPlacement: _propTypes.default.oneOf(['middle', 'tick']),
@@ -0,0 +1,278 @@
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.HeatmapTooltip = HeatmapTooltip;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _clsx = _interopRequireDefault(require("clsx"));
14
+ var _HTMLElementType = _interopRequireDefault(require("@mui/utils/HTMLElementType"));
15
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
+ var _ChartsTooltip = require("@mui/x-charts/ChartsTooltip");
17
+ var _hooks = require("@mui/x-charts/hooks");
18
+ var _internals = require("@mui/x-charts/internals");
19
+ var _useSeries = require("../hooks/useSeries");
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ const useUtilityClasses = ownerState => {
22
+ const {
23
+ classes
24
+ } = ownerState;
25
+ const slots = {
26
+ root: ['root'],
27
+ paper: ['paper'],
28
+ table: ['table'],
29
+ row: ['row'],
30
+ cell: ['cell'],
31
+ mark: ['mark'],
32
+ markCell: ['markCell'],
33
+ labelCell: ['labelCell'],
34
+ valueCell: ['valueCell']
35
+ };
36
+ return (0, _composeClasses.default)(slots, _ChartsTooltip.getChartsTooltipUtilityClass, classes);
37
+ };
38
+ function DefaultHeatmapTooltipContent(props) {
39
+ const {
40
+ classes
41
+ } = props;
42
+ const xAxis = (0, _hooks.useXAxis)();
43
+ const yAxis = (0, _hooks.useYAxis)();
44
+ const heatmapSeries = (0, _useSeries.useHeatmapSeries)();
45
+ const tooltipData = (0, _ChartsTooltip.useItemTooltip)();
46
+ if (!tooltipData || !heatmapSeries || heatmapSeries.seriesOrder.length === 0) {
47
+ return null;
48
+ }
49
+ const {
50
+ series,
51
+ seriesOrder
52
+ } = heatmapSeries;
53
+ const seriesId = seriesOrder[0];
54
+ const {
55
+ color,
56
+ value,
57
+ identifier
58
+ } = tooltipData;
59
+ const [xIndex, yIndex] = value;
60
+ const formattedX = xAxis.valueFormatter?.(xAxis.data[xIndex], {
61
+ location: 'tooltip'
62
+ }) ?? xAxis.data[xIndex].toLocaleString();
63
+ const formattedY = yAxis.valueFormatter?.(yAxis.data[yIndex], {
64
+ location: 'tooltip'
65
+ }) ?? yAxis.data[yIndex].toLocaleString();
66
+ const formattedValue = series[seriesId].valueFormatter(value, {
67
+ dataIndex: identifier.dataIndex
68
+ });
69
+ const seriesLabel = (0, _internals.getLabel)(series[seriesId].label, 'tooltip');
70
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltipPaper, {
71
+ className: classes?.paper,
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltip.ChartsTooltipTable, {
73
+ className: classes?.table,
74
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("thead", {
75
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltip.ChartsTooltipRow, {
76
+ className: classes?.row,
77
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltipCell, {
78
+ className: classes?.cell,
79
+ children: formattedX
80
+ }), formattedX && formattedY && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltipCell, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltipCell, {
81
+ className: classes?.cell,
82
+ children: formattedY
83
+ })]
84
+ })
85
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
86
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltip.ChartsTooltipRow, {
87
+ className: classes?.row,
88
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltipCell, {
89
+ className: (0, _clsx.default)(classes?.markCell, classes?.cell),
90
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltipMark, {
91
+ color: color,
92
+ className: classes?.mark
93
+ })
94
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltipCell, {
95
+ className: (0, _clsx.default)(classes?.labelCell, classes?.cell),
96
+ children: seriesLabel
97
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltipCell, {
98
+ className: (0, _clsx.default)(classes?.valueCell, classes?.cell),
99
+ children: formattedValue
100
+ })]
101
+ })
102
+ })]
103
+ })
104
+ });
105
+ }
106
+ process.env.NODE_ENV !== "production" ? DefaultHeatmapTooltipContent.propTypes = {
107
+ // ----------------------------- Warning --------------------------------
108
+ // | These PropTypes are generated from the TypeScript type definitions |
109
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
110
+ // ----------------------------------------------------------------------
111
+ /**
112
+ * Override or extend the styles applied to the component.
113
+ */
114
+ classes: _propTypes.default.object
115
+ } : void 0;
116
+ function HeatmapTooltip(props) {
117
+ const classes = useUtilityClasses({
118
+ classes: props.classes
119
+ });
120
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltipContainer, (0, _extends2.default)({}, props, {
121
+ classes: classes,
122
+ trigger: "item",
123
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DefaultHeatmapTooltipContent, {
124
+ classes: classes
125
+ })
126
+ }));
127
+ }
128
+ process.env.NODE_ENV !== "production" ? HeatmapTooltip.propTypes = {
129
+ // ----------------------------- Warning --------------------------------
130
+ // | These PropTypes are generated from the TypeScript type definitions |
131
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
132
+ // ----------------------------------------------------------------------
133
+ /**
134
+ * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),
135
+ * or a function that returns either.
136
+ * It's used to set the position of the popper.
137
+ * The return value will passed as the reference object of the Popper instance.
138
+ */
139
+ anchorEl: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_HTMLElementType.default, _propTypes.default.object, _propTypes.default.func]),
140
+ /**
141
+ * Override or extend the styles applied to the component.
142
+ */
143
+ classes: _propTypes.default.object,
144
+ /**
145
+ * The component used for the root node.
146
+ * Either a string to use a HTML element or a component.
147
+ */
148
+ component: _propTypes.default.elementType,
149
+ /**
150
+ * The components used for each slot inside the Popper.
151
+ * Either a string to use a HTML element or a component.
152
+ * @default {}
153
+ */
154
+ components: _propTypes.default.shape({
155
+ Root: _propTypes.default.elementType
156
+ }),
157
+ /**
158
+ * The props used for each slot inside the Popper.
159
+ * @default {}
160
+ */
161
+ componentsProps: _propTypes.default.shape({
162
+ root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
163
+ }),
164
+ /**
165
+ * An HTML element or function that returns one.
166
+ * The `container` will have the portal children appended to it.
167
+ *
168
+ * You can also provide a callback, which is called in a React layout effect.
169
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
170
+ *
171
+ * By default, it uses the body of the top-level document object,
172
+ * so it's simply `document.body` most of the time.
173
+ */
174
+ container: _propTypes.default.oneOfType([(props, propName) => {
175
+ if (props[propName] == null) {
176
+ return new Error(`Prop '${propName}' is required but wasn't specified`);
177
+ }
178
+ if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
179
+ return new Error(`Expected prop '${propName}' to be of type Element`);
180
+ }
181
+ return null;
182
+ }, _propTypes.default.func]),
183
+ /**
184
+ * The `children` will be under the DOM hierarchy of the parent component.
185
+ * @default false
186
+ */
187
+ disablePortal: _propTypes.default.bool,
188
+ /**
189
+ * Always keep the children in the DOM.
190
+ * This prop can be useful in SEO situation or
191
+ * when you want to maximize the responsiveness of the Popper.
192
+ * @default false
193
+ */
194
+ keepMounted: _propTypes.default.bool,
195
+ /**
196
+ * Popper.js is based on a "plugin-like" architecture,
197
+ * most of its features are fully encapsulated "modifiers".
198
+ *
199
+ * A modifier is a function that is called each time Popper.js needs to
200
+ * compute the position of the popper.
201
+ * For this reason, modifiers should be very performant to avoid bottlenecks.
202
+ * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).
203
+ */
204
+ modifiers: _propTypes.default.arrayOf(_propTypes.default.shape({
205
+ data: _propTypes.default.object,
206
+ effect: _propTypes.default.func,
207
+ enabled: _propTypes.default.bool,
208
+ fn: _propTypes.default.func,
209
+ name: _propTypes.default.any,
210
+ options: _propTypes.default.object,
211
+ phase: _propTypes.default.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),
212
+ requires: _propTypes.default.arrayOf(_propTypes.default.string),
213
+ requiresIfExists: _propTypes.default.arrayOf(_propTypes.default.string)
214
+ })),
215
+ /**
216
+ * If `true`, the component is shown.
217
+ */
218
+ open: _propTypes.default.bool,
219
+ /**
220
+ * Popper placement.
221
+ * @default 'bottom'
222
+ */
223
+ placement: _propTypes.default.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
224
+ /**
225
+ * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.
226
+ * @default {}
227
+ */
228
+ popperOptions: _propTypes.default.shape({
229
+ modifiers: _propTypes.default.array,
230
+ onFirstUpdate: _propTypes.default.func,
231
+ placement: _propTypes.default.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
232
+ strategy: _propTypes.default.oneOf(['absolute', 'fixed'])
233
+ }),
234
+ /**
235
+ * A ref that points to the used popper instance.
236
+ */
237
+ popperRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
238
+ current: _propTypes.default.shape({
239
+ destroy: _propTypes.default.func.isRequired,
240
+ forceUpdate: _propTypes.default.func.isRequired,
241
+ setOptions: _propTypes.default.func.isRequired,
242
+ state: _propTypes.default.shape({
243
+ attributes: _propTypes.default.object.isRequired,
244
+ elements: _propTypes.default.object.isRequired,
245
+ modifiersData: _propTypes.default.object.isRequired,
246
+ options: _propTypes.default.object.isRequired,
247
+ orderedModifiers: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
248
+ placement: _propTypes.default.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']).isRequired,
249
+ rects: _propTypes.default.object.isRequired,
250
+ reset: _propTypes.default.bool.isRequired,
251
+ scrollParents: _propTypes.default.object.isRequired,
252
+ strategy: _propTypes.default.oneOf(['absolute', 'fixed']).isRequired,
253
+ styles: _propTypes.default.object.isRequired
254
+ }).isRequired,
255
+ update: _propTypes.default.func.isRequired
256
+ })
257
+ })]),
258
+ /**
259
+ * The props used for each slot inside the Popper.
260
+ * @default {}
261
+ */
262
+ slotProps: _propTypes.default.object,
263
+ /**
264
+ * The components used for each slot inside the Popper.
265
+ * Either a string to use a HTML element or a component.
266
+ * @default {}
267
+ */
268
+ slots: _propTypes.default.object,
269
+ /**
270
+ * The system prop that allows defining system overrides as well as additional CSS styles.
271
+ */
272
+ 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]),
273
+ /**
274
+ * Help supporting a react-transition-group/Transition component.
275
+ * @default false
276
+ */
277
+ transition: _propTypes.default.bool
278
+ } : void 0;
@@ -7,15 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.getHeatmapUtilityClass = getHeatmapUtilityClass;
8
8
  exports.heatmapClasses = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _utils = require("@mui/utils");
10
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
11
12
  function getHeatmapUtilityClass(slot) {
12
13
  // Those should be common to all charts
13
14
  if (['highlighted', 'faded'].includes(slot)) {
14
- return (0, _utils.unstable_generateUtilityClass)('Charts', slot);
15
+ return (0, _generateUtilityClass.default)('Charts', slot);
15
16
  }
16
- return (0, _utils.unstable_generateUtilityClass)('MuiHeatmap', slot);
17
+ return (0, _generateUtilityClass.default)('MuiHeatmap', slot);
17
18
  }
18
- const heatmapClasses = exports.heatmapClasses = (0, _extends2.default)({}, (0, _utils.unstable_generateUtilityClasses)('MuiHeatmap', ['cell']), {
19
+ const heatmapClasses = exports.heatmapClasses = (0, _extends2.default)({}, (0, _generateUtilityClasses.default)('MuiHeatmap', ['cell']), {
19
20
  highlighted: 'Charts-highlighted',
20
21
  faded: 'Charts-faded'
21
22
  });
@@ -21,15 +21,15 @@ Object.defineProperty(exports, "HeatmapPlot", {
21
21
  });
22
22
  var _Heatmap = require("./Heatmap");
23
23
  var _HeatmapPlot = require("./HeatmapPlot");
24
- var _DefaultHeatmapTooltip = require("./DefaultHeatmapTooltip");
25
- Object.keys(_DefaultHeatmapTooltip).forEach(function (key) {
24
+ var _HeatmapTooltip = require("./HeatmapTooltip");
25
+ Object.keys(_HeatmapTooltip).forEach(function (key) {
26
26
  if (key === "default" || key === "__esModule") return;
27
27
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
28
- if (key in exports && exports[key] === _DefaultHeatmapTooltip[key]) return;
28
+ if (key in exports && exports[key] === _HeatmapTooltip[key]) return;
29
29
  Object.defineProperty(exports, key, {
30
30
  enumerable: true,
31
31
  get: function () {
32
- return _DefaultHeatmapTooltip[key];
32
+ return _HeatmapTooltip[key];
33
33
  }
34
34
  });
35
35
  });