@mui/x-charts-pro 8.27.0 → 9.0.0-alpha.0

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 (200) hide show
  1. package/BarChartPro/BarChartPro.js +9 -4
  2. package/CHANGELOG.md +255 -3
  3. package/ChartContainerPro/ChartContainerPro.d.ts +17 -31
  4. package/ChartContainerPro/ChartContainerPro.js +14 -287
  5. package/ChartContainerPro/useChartContainerProProps.d.ts +9 -5
  6. package/ChartContainerPro/useChartContainerProProps.js +9 -34
  7. package/ChartDataProviderPro/ChartDataProviderPro.d.ts +5 -3
  8. package/ChartDataProviderPro/ChartDataProviderPro.js +2 -2
  9. package/ChartDataProviderPro/index.d.ts +1 -1
  10. package/ChartDataProviderPro/useChartDataProviderProProps.d.ts +3 -3
  11. package/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +8 -6
  12. package/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +6 -4
  13. package/ChartZoomSlider/internals/previews/AreaPreviewPlot.d.ts +1 -1
  14. package/ChartZoomSlider/internals/previews/AreaPreviewPlot.js +4 -4
  15. package/ChartZoomSlider/internals/previews/BarPreviewPlot.js +1 -1
  16. package/ChartZoomSlider/internals/previews/LinePreviewPlot.d.ts +1 -1
  17. package/ChartZoomSlider/internals/previews/LinePreviewPlot.js +4 -4
  18. package/ChartsContainer/index.d.ts +1 -0
  19. package/ChartsContainer/index.js +16 -0
  20. package/ChartsContainerPro/ChartsContainerPro.d.ts +37 -0
  21. package/ChartsContainerPro/ChartsContainerPro.js +187 -0
  22. package/ChartsContainerPro/index.d.ts +9 -0
  23. package/ChartsContainerPro/index.js +17 -0
  24. package/ChartsContainerPro/useChartsContainerProProps.d.ts +9 -0
  25. package/ChartsContainerPro/useChartsContainerProProps.js +44 -0
  26. package/FunnelChart/FunnelChart.js +4 -4
  27. package/FunnelChart/FunnelSection.d.ts +1 -1
  28. package/FunnelChart/funnel.types.d.ts +1 -1
  29. package/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.js +12 -9
  30. package/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.types.d.ts +3 -2
  31. package/FunnelChart/funnelAxisPlugin/useChartFunnelAxisRendering.selectors.d.ts +3 -3
  32. package/FunnelChart/index.d.ts +1 -0
  33. package/FunnelChart/index.js +12 -0
  34. package/FunnelChart/seriesConfig/index.js +2 -1
  35. package/FunnelChart/seriesConfig/legend.js +0 -1
  36. package/Heatmap/Heatmap.d.ts +5 -2
  37. package/Heatmap/Heatmap.js +27 -132
  38. package/Heatmap/Heatmap.types.d.ts +19 -0
  39. package/Heatmap/Heatmap.types.js +5 -0
  40. package/Heatmap/HeatmapItem.d.ts +6 -0
  41. package/Heatmap/HeatmapItem.js +11 -3
  42. package/Heatmap/HeatmapPlot.d.ts +7 -3
  43. package/Heatmap/HeatmapPlot.js +16 -54
  44. package/Heatmap/HeatmapSVGPlot.d.ts +2 -0
  45. package/Heatmap/HeatmapSVGPlot.js +70 -0
  46. package/Heatmap/HeatmapTooltip/HeatmapTooltip.types.d.ts +5 -1
  47. package/Heatmap/HeatmapTooltip/index.d.ts +1 -1
  48. package/Heatmap/index.d.ts +3 -2
  49. package/Heatmap/seriesConfig/getItemAtPosition.js +6 -2
  50. package/Heatmap/seriesConfig/index.js +1 -0
  51. package/Heatmap/useHeatmapProps.d.ts +24 -0
  52. package/Heatmap/useHeatmapProps.js +159 -0
  53. package/LineChartPro/LineChartPro.js +9 -4
  54. package/PieChartPro/PieChartPro.js +4 -4
  55. package/RadarChartPro/RadarChartPro.js +4 -4
  56. package/SankeyChart/SankeyChart.js +4 -4
  57. package/SankeyChart/SankeyTooltip/SankeyTooltip.types.d.ts +5 -1
  58. package/SankeyChart/SankeyTooltip/index.d.ts +1 -1
  59. package/SankeyChart/index.d.ts +1 -1
  60. package/SankeyChart/plugins/useSankeyHighlight.selectors.d.ts +7 -7
  61. package/SankeyChart/sankey.highlight.types.d.ts +4 -0
  62. package/SankeyChart/sankey.types.d.ts +6 -3
  63. package/SankeyChart/seriesConfig/getSeriesWithDefaultValues.js +13 -1
  64. package/SankeyChart/seriesConfig/identifierCleaner.d.ts +3 -0
  65. package/SankeyChart/seriesConfig/identifierCleaner.js +24 -0
  66. package/SankeyChart/seriesConfig/index.js +3 -1
  67. package/ScatterChartPro/ScatterChartPro.js +9 -4
  68. package/esm/BarChartPro/BarChartPro.js +9 -4
  69. package/esm/ChartContainerPro/ChartContainerPro.d.ts +17 -31
  70. package/esm/ChartContainerPro/ChartContainerPro.js +15 -286
  71. package/esm/ChartContainerPro/useChartContainerProProps.d.ts +9 -5
  72. package/esm/ChartContainerPro/useChartContainerProProps.js +10 -33
  73. package/esm/ChartDataProviderPro/ChartDataProviderPro.d.ts +5 -3
  74. package/esm/ChartDataProviderPro/ChartDataProviderPro.js +2 -2
  75. package/esm/ChartDataProviderPro/index.d.ts +1 -1
  76. package/esm/ChartDataProviderPro/useChartDataProviderProProps.d.ts +3 -3
  77. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderActiveTrack.js +9 -7
  78. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderTrack.js +7 -5
  79. package/esm/ChartZoomSlider/internals/previews/AreaPreviewPlot.d.ts +1 -1
  80. package/esm/ChartZoomSlider/internals/previews/AreaPreviewPlot.js +4 -4
  81. package/esm/ChartZoomSlider/internals/previews/BarPreviewPlot.js +1 -1
  82. package/esm/ChartZoomSlider/internals/previews/LinePreviewPlot.d.ts +1 -1
  83. package/esm/ChartZoomSlider/internals/previews/LinePreviewPlot.js +4 -4
  84. package/esm/ChartsContainer/index.d.ts +1 -0
  85. package/esm/ChartsContainer/index.js +2 -0
  86. package/esm/ChartsContainerPro/ChartsContainerPro.d.ts +37 -0
  87. package/esm/ChartsContainerPro/ChartsContainerPro.js +181 -0
  88. package/esm/ChartsContainerPro/index.d.ts +9 -0
  89. package/esm/ChartsContainerPro/index.js +6 -0
  90. package/esm/ChartsContainerPro/useChartsContainerProProps.d.ts +9 -0
  91. package/esm/ChartsContainerPro/useChartsContainerProProps.js +37 -0
  92. package/esm/FunnelChart/FunnelChart.js +4 -4
  93. package/esm/FunnelChart/FunnelSection.d.ts +1 -1
  94. package/esm/FunnelChart/funnel.types.d.ts +1 -1
  95. package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.js +13 -10
  96. package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxis.types.d.ts +3 -2
  97. package/esm/FunnelChart/funnelAxisPlugin/useChartFunnelAxisRendering.selectors.d.ts +3 -3
  98. package/esm/FunnelChart/index.d.ts +1 -0
  99. package/esm/FunnelChart/index.js +1 -0
  100. package/esm/FunnelChart/seriesConfig/index.js +3 -2
  101. package/esm/FunnelChart/seriesConfig/legend.js +0 -1
  102. package/esm/Heatmap/Heatmap.d.ts +5 -2
  103. package/esm/Heatmap/Heatmap.js +28 -133
  104. package/esm/Heatmap/Heatmap.types.d.ts +19 -0
  105. package/esm/Heatmap/Heatmap.types.js +1 -0
  106. package/esm/Heatmap/HeatmapItem.d.ts +6 -0
  107. package/esm/Heatmap/HeatmapItem.js +11 -3
  108. package/esm/Heatmap/HeatmapPlot.d.ts +7 -3
  109. package/esm/Heatmap/HeatmapPlot.js +17 -56
  110. package/esm/Heatmap/HeatmapSVGPlot.d.ts +2 -0
  111. package/esm/Heatmap/HeatmapSVGPlot.js +64 -0
  112. package/esm/Heatmap/HeatmapTooltip/HeatmapTooltip.types.d.ts +5 -1
  113. package/esm/Heatmap/HeatmapTooltip/index.d.ts +1 -1
  114. package/esm/Heatmap/index.d.ts +3 -2
  115. package/esm/Heatmap/seriesConfig/getItemAtPosition.js +6 -2
  116. package/esm/Heatmap/seriesConfig/index.js +2 -1
  117. package/esm/Heatmap/useHeatmapProps.d.ts +24 -0
  118. package/esm/Heatmap/useHeatmapProps.js +151 -0
  119. package/esm/LineChartPro/LineChartPro.js +9 -4
  120. package/esm/PieChartPro/PieChartPro.js +4 -4
  121. package/esm/RadarChartPro/RadarChartPro.js +4 -4
  122. package/esm/SankeyChart/SankeyChart.js +4 -4
  123. package/esm/SankeyChart/SankeyTooltip/SankeyTooltip.types.d.ts +5 -1
  124. package/esm/SankeyChart/SankeyTooltip/index.d.ts +1 -1
  125. package/esm/SankeyChart/index.d.ts +1 -1
  126. package/esm/SankeyChart/plugins/useSankeyHighlight.selectors.d.ts +7 -7
  127. package/esm/SankeyChart/sankey.highlight.types.d.ts +4 -0
  128. package/esm/SankeyChart/sankey.types.d.ts +6 -3
  129. package/esm/SankeyChart/seriesConfig/getSeriesWithDefaultValues.js +13 -1
  130. package/esm/SankeyChart/seriesConfig/identifierCleaner.d.ts +3 -0
  131. package/esm/SankeyChart/seriesConfig/identifierCleaner.js +18 -0
  132. package/esm/SankeyChart/seriesConfig/index.js +3 -1
  133. package/esm/ScatterChartPro/ScatterChartPro.js +9 -4
  134. package/esm/index.d.ts +3 -1
  135. package/esm/index.js +2 -1
  136. package/esm/internals/index.d.ts +7 -1
  137. package/esm/internals/index.js +5 -1
  138. package/esm/internals/plugins/useChartProExport/common.d.ts +5 -1
  139. package/esm/internals/plugins/useChartProExport/common.js +36 -0
  140. package/esm/internals/plugins/useChartProExport/exportImage.d.ts +1 -1
  141. package/esm/internals/plugins/useChartProExport/exportImage.js +10 -1
  142. package/esm/internals/plugins/useChartProExport/print.d.ts +1 -1
  143. package/esm/internals/plugins/useChartProExport/print.js +2 -1
  144. package/esm/internals/plugins/useChartProExport/useChartProExport.js +4 -2
  145. package/esm/internals/plugins/useChartProZoom/ZoomInteractionConfig.selectors.d.ts +2 -2
  146. package/esm/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.d.ts +2 -3
  147. package/esm/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.js +4 -2
  148. package/esm/internals/plugins/useChartProZoom/gestureHooks/usePanOnPressAndDrag.d.ts +2 -3
  149. package/esm/internals/plugins/useChartProZoom/gestureHooks/usePanOnPressAndDrag.js +4 -2
  150. package/esm/internals/plugins/useChartProZoom/gestureHooks/usePanOnWheel.d.ts +2 -3
  151. package/esm/internals/plugins/useChartProZoom/gestureHooks/usePanOnWheel.js +6 -4
  152. package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnBrush.d.ts +2 -3
  153. package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnBrush.js +7 -5
  154. package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnDoubleTapReset.d.ts +2 -3
  155. package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnDoubleTapReset.js +4 -2
  156. package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.d.ts +2 -3
  157. package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.js +6 -4
  158. package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnTapAndDrag.d.ts +2 -3
  159. package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnTapAndDrag.js +6 -4
  160. package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.d.ts +2 -3
  161. package/esm/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.js +6 -4
  162. package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +5 -5
  163. package/esm/models/seriesType/heatmap.d.ts +3 -3
  164. package/esm/plugins/selectors/useChartHeatmapPosition.selectors.d.ts +1 -1
  165. package/esm/plugins/selectors/useChartHeatmapPosition.selectors.js +3 -1
  166. package/esm/typeOverloads/modules.d.ts +9 -5
  167. package/index.d.ts +3 -1
  168. package/index.js +9 -1
  169. package/internals/index.d.ts +7 -1
  170. package/internals/index.js +43 -1
  171. package/internals/plugins/useChartProExport/common.d.ts +5 -1
  172. package/internals/plugins/useChartProExport/common.js +37 -0
  173. package/internals/plugins/useChartProExport/exportImage.d.ts +1 -1
  174. package/internals/plugins/useChartProExport/exportImage.js +9 -0
  175. package/internals/plugins/useChartProExport/print.d.ts +1 -1
  176. package/internals/plugins/useChartProExport/print.js +1 -0
  177. package/internals/plugins/useChartProExport/useChartProExport.js +4 -2
  178. package/internals/plugins/useChartProZoom/ZoomInteractionConfig.selectors.d.ts +2 -2
  179. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.d.ts +2 -3
  180. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnDrag.js +4 -2
  181. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnPressAndDrag.d.ts +2 -3
  182. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnPressAndDrag.js +4 -2
  183. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnWheel.d.ts +2 -3
  184. package/internals/plugins/useChartProZoom/gestureHooks/usePanOnWheel.js +5 -3
  185. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnBrush.d.ts +2 -3
  186. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnBrush.js +6 -4
  187. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnDoubleTapReset.d.ts +2 -3
  188. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnDoubleTapReset.js +4 -2
  189. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.d.ts +2 -3
  190. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnPinch.js +5 -3
  191. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnTapAndDrag.d.ts +2 -3
  192. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnTapAndDrag.js +5 -3
  193. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.d.ts +2 -3
  194. package/internals/plugins/useChartProZoom/gestureHooks/useZoomOnWheel.js +5 -3
  195. package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +5 -5
  196. package/models/seriesType/heatmap.d.ts +3 -3
  197. package/package.json +8 -8
  198. package/plugins/selectors/useChartHeatmapPosition.selectors.d.ts +1 -1
  199. package/plugins/selectors/useChartHeatmapPosition.selectors.js +3 -1
  200. package/typeOverloads/modules.d.ts +9 -5
@@ -1,7 +1,13 @@
1
+ export { useChartsContainerProProps } from "../ChartsContainerPro/useChartsContainerProProps.js";
2
+ export type { UseChartsContainerProPropsReturnValue } from "../ChartsContainerPro/useChartsContainerProProps.js";
1
3
  export { useChartContainerProProps } from "../ChartContainerPro/useChartContainerProProps.js";
2
4
  export type { ChartsSlotsPro, ChartsSlotPropsPro } from "./material/index.js";
3
5
  export { seriesPreviewPlotMap } from "../ChartZoomSlider/internals/seriesPreviewPlotMap.js";
4
6
  export type { PreviewPlotProps } from "../ChartZoomSlider/internals/previews/PreviewPlot.types.js";
5
7
  export { defaultSeriesConfigPro } from "../ChartDataProviderPro/ChartDataProviderPro.js";
6
8
  export type { ProPluginsPerSeriesType } from "../context/ChartProApi.js";
7
- export { defaultSlotsMaterial } from "./material/index.js";
9
+ export { useHeatmapProps } from "../Heatmap/useHeatmapProps.js";
10
+ export { defaultSlotsMaterial } from "./material/index.js";
11
+ export * from "../Heatmap/HeatmapSVGPlot.js";
12
+ export type * from "../Heatmap/Heatmap.types.js";
13
+ export { selectorHeatmapItemAtPosition } from "../plugins/selectors/useChartHeatmapPosition.selectors.js";
@@ -3,6 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ useChartsContainerProProps: true,
8
+ useChartContainerProProps: true,
9
+ seriesPreviewPlotMap: true,
10
+ defaultSeriesConfigPro: true,
11
+ useHeatmapProps: true,
12
+ defaultSlotsMaterial: true,
13
+ selectorHeatmapItemAtPosition: true
14
+ };
6
15
  Object.defineProperty(exports, "defaultSeriesConfigPro", {
7
16
  enumerable: true,
8
17
  get: function () {
@@ -15,6 +24,12 @@ Object.defineProperty(exports, "defaultSlotsMaterial", {
15
24
  return _material.defaultSlotsMaterial;
16
25
  }
17
26
  });
27
+ Object.defineProperty(exports, "selectorHeatmapItemAtPosition", {
28
+ enumerable: true,
29
+ get: function () {
30
+ return _useChartHeatmapPosition.selectorHeatmapItemAtPosition;
31
+ }
32
+ });
18
33
  Object.defineProperty(exports, "seriesPreviewPlotMap", {
19
34
  enumerable: true,
20
35
  get: function () {
@@ -27,7 +42,34 @@ Object.defineProperty(exports, "useChartContainerProProps", {
27
42
  return _useChartContainerProProps.useChartContainerProProps;
28
43
  }
29
44
  });
45
+ Object.defineProperty(exports, "useChartsContainerProProps", {
46
+ enumerable: true,
47
+ get: function () {
48
+ return _useChartsContainerProProps.useChartsContainerProProps;
49
+ }
50
+ });
51
+ Object.defineProperty(exports, "useHeatmapProps", {
52
+ enumerable: true,
53
+ get: function () {
54
+ return _useHeatmapProps.useHeatmapProps;
55
+ }
56
+ });
57
+ var _useChartsContainerProProps = require("../ChartsContainerPro/useChartsContainerProProps");
30
58
  var _useChartContainerProProps = require("../ChartContainerPro/useChartContainerProProps");
31
59
  var _seriesPreviewPlotMap = require("../ChartZoomSlider/internals/seriesPreviewPlotMap");
32
60
  var _ChartDataProviderPro = require("../ChartDataProviderPro/ChartDataProviderPro");
33
- var _material = require("./material");
61
+ var _useHeatmapProps = require("../Heatmap/useHeatmapProps");
62
+ var _material = require("./material");
63
+ var _HeatmapSVGPlot = require("../Heatmap/HeatmapSVGPlot");
64
+ Object.keys(_HeatmapSVGPlot).forEach(function (key) {
65
+ if (key === "default" || key === "__esModule") return;
66
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
67
+ if (key in exports && exports[key] === _HeatmapSVGPlot[key]) return;
68
+ Object.defineProperty(exports, key, {
69
+ enumerable: true,
70
+ get: function () {
71
+ return _HeatmapSVGPlot[key];
72
+ }
73
+ });
74
+ });
75
+ var _useChartHeatmapPosition = require("../plugins/selectors/useChartHeatmapPosition.selectors");
@@ -2,4 +2,8 @@ export declare function createExportIframe(title?: string): HTMLIFrameElement;
2
2
  /**
3
3
  * Applies styles to an element and returns the previous styles.
4
4
  */
5
- export declare function applyStyles(element: HTMLElement | SVGElement, styles: Record<string, string | null>): Record<string, string | null>;
5
+ export declare function applyStyles(element: HTMLElement | SVGElement, styles: Record<string, string | null>): Record<string, string | null>;
6
+ /**
7
+ * Copies the content of all canvases from the original element to the cloned element.
8
+ */
9
+ export declare function copyCanvasesContent(original: Element, clone: Element): Promise<void[]>;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.applyStyles = applyStyles;
7
+ exports.copyCanvasesContent = copyCanvasesContent;
7
8
  exports.createExportIframe = createExportIframe;
8
9
  function createExportIframe(title) {
9
10
  const iframeEl = document.createElement('iframe');
@@ -25,4 +26,40 @@ function applyStyles(element, styles) {
25
26
  element.style.setProperty(key, value);
26
27
  });
27
28
  return previousStyles;
29
+ }
30
+
31
+ /**
32
+ * Copies the content of all canvases from the original element to the cloned element.
33
+ */
34
+ function copyCanvasesContent(original, clone) {
35
+ const originalCanvases = original.querySelectorAll('canvas');
36
+ const cloneCanvases = clone.querySelectorAll('canvas');
37
+ const promises = Array.from(originalCanvases).map(async (originalCanvas, index) => {
38
+ return new Promise((resolve, reject) => {
39
+ const cloneCanvas = cloneCanvases[index];
40
+ if (cloneCanvas) {
41
+ const dataURL = originalCanvas.toDataURL();
42
+ const img = cloneCanvas.ownerDocument.createElement('img');
43
+ img.src = dataURL;
44
+ img.width = cloneCanvas.width;
45
+ img.height = cloneCanvas.height;
46
+ for (const styleKey in cloneCanvas.style) {
47
+ if (!Object.hasOwn(img.style, styleKey) || !Object.hasOwn(cloneCanvas.style, styleKey)) {
48
+ continue;
49
+ }
50
+ img.style[styleKey] = cloneCanvas.style[styleKey];
51
+ }
52
+ cloneCanvas.replaceWith(img);
53
+ img.onload = () => {
54
+ resolve();
55
+ };
56
+ img.onerror = event => {
57
+ reject(event);
58
+ };
59
+ } else {
60
+ resolve();
61
+ }
62
+ });
63
+ });
64
+ return Promise.all(promises);
28
65
  }
@@ -1,3 +1,3 @@
1
1
  import { type ChartImageExportOptions } from "./useChartProExport.types.js";
2
2
  export declare const getDrawDocument: () => Promise<typeof import("rasterizehtml").drawDocument>;
3
- export declare function exportImage(element: HTMLElement | SVGElement, svg: SVGElement, params?: ChartImageExportOptions): Promise<void>;
3
+ export declare function exportImage(element: Element, svg: SVGElement, params?: ChartImageExportOptions): Promise<void>;
@@ -50,6 +50,10 @@ async function exportImage(element, svg, params) {
50
50
  (0, _common.applyStyles)(svg, previousStyles);
51
51
  exportDoc.body.replaceChildren(elementClone);
52
52
  exportDoc.body.style.margin = '0px';
53
+ /* Set display block through styles to ensure that CSS rules that target `body` don't accidentally target this
54
+ * iframe's body, which might cause the body to have no intrinsic width or height, leading to the canvas having a
55
+ * size of 0px, which causes the `toBlob` call to return null. */
56
+ exportDoc.body.style.display = 'block';
53
57
  /* The body's parent has a width of 0, so we use fit-content to ensure that the body adjusts its width to the width
54
58
  * of its children. */
55
59
  exportDoc.body.style.width = 'fit-content';
@@ -58,6 +62,7 @@ async function exportImage(element, svg, params) {
58
62
  if (copyStyles) {
59
63
  await Promise.all((0, _export.loadStyleSheets)(exportDoc, root, nonce));
60
64
  }
65
+ await (0, _common.copyCanvasesContent)(element, elementClone);
61
66
  resolve();
62
67
  };
63
68
  doc.body.appendChild(iframe);
@@ -73,6 +78,10 @@ async function exportImage(element, svg, params) {
73
78
  canvas.height = exportDocBodySize.height * ratio;
74
79
  canvas.style.width = `${exportDocBodySize.width}px`;
75
80
  canvas.style.height = `${exportDocBodySize.height}px`;
81
+ if (canvas.width === 0 || canvas.height === 0) {
82
+ doc.body.removeChild(iframe);
83
+ throw new Error(`MUI X Charts: Cannot export an image with zero width or height. Width: ${canvas.width}px. Height: ${canvas.height}px.`);
84
+ }
76
85
  try {
77
86
  await drawDocument(iframe.contentDocument, canvas, {
78
87
  // Handle retina displays: https://github.com/cburgmer/rasterizeHTML.js/blob/262b3404d1c469ce4a7750a2976dec09b8ae2d6c/examples/retina.html#L71
@@ -1,5 +1,5 @@
1
1
  import { type ChartPrintExportOptions } from "./useChartProExport.types.js";
2
- export declare function printChart(element: HTMLElement | SVGElement, {
2
+ export declare function printChart(element: Element, {
3
3
  fileName,
4
4
  onBeforeExport,
5
5
  copyStyles,
@@ -27,6 +27,7 @@ function printChart(element, {
27
27
  if (copyStyles) {
28
28
  await Promise.all((0, _export.loadStyleSheets)(printDoc, root, nonce));
29
29
  }
30
+ await (0, _common.copyCanvasesContent)(element, elementClone);
30
31
  const mediaQueryList = printWindow.contentWindow.matchMedia('print');
31
32
  mediaQueryList.addEventListener('change', mql => {
32
33
  const isAfterPrint = mql.matches === false;
@@ -19,10 +19,12 @@ function waitForAnimationFrame() {
19
19
  return promise;
20
20
  }
21
21
  const useChartProExport = ({
22
- chartRootRef,
23
- svgRef,
24
22
  instance
25
23
  }) => {
24
+ const {
25
+ chartRootRef,
26
+ svgRef
27
+ } = instance;
26
28
  const exportAsPrint = async options => {
27
29
  const chartRoot = chartRootRef.current;
28
30
  if (chartRoot) {
@@ -1,4 +1,4 @@
1
- export declare const selectorZoomInteractionConfig: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
1
+ export declare const selectorZoomInteractionConfig: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
2
2
  cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
3
3
  }, interactionName: "wheel" | "pinch" | "tapAndDrag" | "doubleTapReset" | "brush") => (Omit<import("./ZoomInteractionConfig.types.js").ZoomInteraction, "pointerMode"> & {
4
4
  mouse: {
@@ -10,7 +10,7 @@ export declare const selectorZoomInteractionConfig: (args_0: import("@mui/x-char
10
10
  pointerMode?: import("@mui/x-internal-gestures/core").PointerMode[];
11
11
  allowedDirection?: "x" | "y" | "xy";
12
12
  }) | null;
13
- export declare const selectorPanInteractionConfig: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
13
+ export declare const selectorPanInteractionConfig: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
14
14
  cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
15
15
  }, interactionName: "wheel" | "drag" | "pressAndDrag") => (Omit<import("./ZoomInteractionConfig.types.js").PanInteraction, "pointerMode"> & {
16
16
  mouse: {
@@ -3,6 +3,5 @@ import { type ChartPlugin, type ZoomData } from '@mui/x-charts/internals';
3
3
  import { type UseChartProZoomSignature } from "../useChartProZoom.types.js";
4
4
  export declare const usePanOnDrag: ({
5
5
  store,
6
- instance,
7
- svgRef
8
- }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance" | "svgRef">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
6
+ instance
7
+ }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
@@ -13,9 +13,11 @@ var _useZoom = require("./useZoom.utils");
13
13
  var _ZoomInteractionConfig = require("../ZoomInteractionConfig.selectors");
14
14
  const usePanOnDrag = ({
15
15
  store,
16
- instance,
17
- svgRef
16
+ instance
18
17
  }, setZoomDataCallback) => {
18
+ const {
19
+ svgRef
20
+ } = instance;
19
21
  const drawingArea = store.use(_internals.selectorChartDrawingArea);
20
22
  const optionsLookup = store.use(_internals.selectorChartZoomOptionsLookup);
21
23
  const config = store.use(_ZoomInteractionConfig.selectorPanInteractionConfig, 'drag');
@@ -3,6 +3,5 @@ import { type ChartPlugin, type ZoomData } from '@mui/x-charts/internals';
3
3
  import { type UseChartProZoomSignature } from "../useChartProZoom.types.js";
4
4
  export declare const usePanOnPressAndDrag: ({
5
5
  store,
6
- instance,
7
- svgRef
8
- }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance" | "svgRef">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
6
+ instance
7
+ }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
@@ -13,9 +13,11 @@ var _useZoom = require("./useZoom.utils");
13
13
  var _ZoomInteractionConfig = require("../ZoomInteractionConfig.selectors");
14
14
  const usePanOnPressAndDrag = ({
15
15
  store,
16
- instance,
17
- svgRef
16
+ instance
18
17
  }, setZoomDataCallback) => {
18
+ const {
19
+ svgRef
20
+ } = instance;
19
21
  const drawingArea = store.use(_internals.selectorChartDrawingArea);
20
22
  const optionsLookup = store.use(_internals.selectorChartZoomOptionsLookup);
21
23
  const isInteracting = React.useRef(false);
@@ -3,6 +3,5 @@ import { type ChartPlugin, type ZoomData } from '@mui/x-charts/internals';
3
3
  import { type UseChartProZoomSignature } from "../useChartProZoom.types.js";
4
4
  export declare const usePanOnWheel: ({
5
5
  store,
6
- instance,
7
- svgRef
8
- }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance" | "svgRef">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
6
+ instance
7
+ }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
@@ -13,9 +13,11 @@ var _useZoom = require("./useZoom.utils");
13
13
  var _ZoomInteractionConfig = require("../ZoomInteractionConfig.selectors");
14
14
  const usePanOnWheel = ({
15
15
  store,
16
- instance,
17
- svgRef
16
+ instance
18
17
  }, setZoomDataCallback) => {
18
+ const {
19
+ svgRef
20
+ } = instance;
19
21
  const drawingArea = store.use(_internals.selectorChartDrawingArea);
20
22
  const optionsLookup = store.use(_internals.selectorChartZoomOptionsLookup);
21
23
  const startedOutsideRef = React.useRef(false);
@@ -43,7 +45,7 @@ const usePanOnWheel = ({
43
45
  }
44
46
  const rafThrottledSetZoomData = (0, _rafThrottle.rafThrottle)(setZoomDataCallback);
45
47
  const wheelHandler = instance.addInteractionListener('panTurnWheel', event => {
46
- const point = (0, _internals.getSVGPoint)(element, {
48
+ const point = (0, _internals.getChartPoint)(element, {
47
49
  clientX: event.detail.centroid.x,
48
50
  clientY: event.detail.centroid.y
49
51
  });
@@ -3,6 +3,5 @@ import { type ChartPlugin, type ZoomData } from '@mui/x-charts/internals';
3
3
  import { type UseChartProZoomSignature } from "../useChartProZoom.types.js";
4
4
  export declare const useZoomOnBrush: ({
5
5
  store,
6
- instance,
7
- svgRef
8
- }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance" | "svgRef">, setZoomDataCallback: React.Dispatch<(prev: ZoomData[]) => ZoomData[]>) => void;
6
+ instance
7
+ }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance">, setZoomDataCallback: React.Dispatch<(prev: ZoomData[]) => ZoomData[]>) => void;
@@ -12,9 +12,11 @@ var _useZoom = require("./useZoom.utils");
12
12
  var _ZoomInteractionConfig = require("../ZoomInteractionConfig.selectors");
13
13
  const useZoomOnBrush = ({
14
14
  store,
15
- instance,
16
- svgRef
15
+ instance
17
16
  }, setZoomDataCallback) => {
17
+ const {
18
+ svgRef
19
+ } = instance;
18
20
  const drawingArea = store.use(_internals.selectorChartDrawingArea);
19
21
  const optionsLookup = store.use(_internals.selectorChartZoomOptionsLookup);
20
22
  const config = store.use(_ZoomInteractionConfig.selectorZoomInteractionConfig, 'brush');
@@ -32,11 +34,11 @@ const useZoomOnBrush = ({
32
34
  const handleBrushEnd = event => {
33
35
  // Convert the brush rectangle to zoom percentages for each axis
34
36
  setZoomDataCallback(prev => {
35
- const startPoint = (0, _internals.getSVGPoint)(element, {
37
+ const startPoint = (0, _internals.getChartPoint)(element, {
36
38
  clientX: event.detail.initialCentroid.x,
37
39
  clientY: event.detail.initialCentroid.y
38
40
  });
39
- const endPoint = (0, _internals.getSVGPoint)(element, {
41
+ const endPoint = (0, _internals.getChartPoint)(element, {
40
42
  clientX: event.detail.centroid.x,
41
43
  clientY: event.detail.centroid.y
42
44
  });
@@ -3,6 +3,5 @@ import { type ChartPlugin, type ZoomData } from '@mui/x-charts/internals';
3
3
  import { type UseChartProZoomSignature } from "../useChartProZoom.types.js";
4
4
  export declare const useZoomOnDoubleTapReset: ({
5
5
  store,
6
- instance,
7
- svgRef
8
- }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance" | "svgRef">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
6
+ instance
7
+ }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
@@ -11,9 +11,11 @@ var _internals = require("@mui/x-charts/internals");
11
11
  var _ZoomInteractionConfig = require("../ZoomInteractionConfig.selectors");
12
12
  const useZoomOnDoubleTapReset = ({
13
13
  store,
14
- instance,
15
- svgRef
14
+ instance
16
15
  }, setZoomDataCallback) => {
16
+ const {
17
+ svgRef
18
+ } = instance;
17
19
  const optionsLookup = store.use(_internals.selectorChartZoomOptionsLookup);
18
20
  const config = store.use(_ZoomInteractionConfig.selectorZoomInteractionConfig, 'doubleTapReset');
19
21
  const isZoomOnDoubleTapResetEnabled = Object.keys(optionsLookup).length > 0 && Boolean(config);
@@ -3,6 +3,5 @@ import { type ChartPlugin, type ZoomData } from '@mui/x-charts/internals';
3
3
  import { type UseChartProZoomSignature } from "../useChartProZoom.types.js";
4
4
  export declare const useZoomOnPinch: ({
5
5
  store,
6
- instance,
7
- svgRef
8
- }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance" | "svgRef">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
6
+ instance
7
+ }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
@@ -13,9 +13,11 @@ var _useZoom = require("./useZoom.utils");
13
13
  var _ZoomInteractionConfig = require("../ZoomInteractionConfig.selectors");
14
14
  const useZoomOnPinch = ({
15
15
  store,
16
- instance,
17
- svgRef
16
+ instance
18
17
  }, setZoomDataCallback) => {
18
+ const {
19
+ svgRef
20
+ } = instance;
19
21
  const drawingArea = store.use(_internals.selectorChartDrawingArea);
20
22
  const optionsLookup = store.use(_internals.selectorChartZoomOptionsLookup);
21
23
  const config = store.use(_ZoomInteractionConfig.selectorZoomInteractionConfig, 'pinch');
@@ -48,7 +50,7 @@ const useZoomOnPinch = ({
48
50
  }
49
51
  const isZoomIn = event.detail.direction > 0;
50
52
  const scaleRatio = 1 + event.detail.deltaScale;
51
- const point = (0, _internals.getSVGPoint)(element, {
53
+ const point = (0, _internals.getChartPoint)(element, {
52
54
  clientX: event.detail.centroid.x,
53
55
  clientY: event.detail.centroid.y
54
56
  });
@@ -3,6 +3,5 @@ import { type ChartPlugin, type ZoomData } from '@mui/x-charts/internals';
3
3
  import { type UseChartProZoomSignature } from "../useChartProZoom.types.js";
4
4
  export declare const useZoomOnTapAndDrag: ({
5
5
  store,
6
- instance,
7
- svgRef
8
- }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance" | "svgRef">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
6
+ instance
7
+ }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
@@ -13,9 +13,11 @@ var _useZoom = require("./useZoom.utils");
13
13
  var _ZoomInteractionConfig = require("../ZoomInteractionConfig.selectors");
14
14
  const useZoomOnTapAndDrag = ({
15
15
  store,
16
- instance,
17
- svgRef
16
+ instance
18
17
  }, setZoomDataCallback) => {
18
+ const {
19
+ svgRef
20
+ } = instance;
19
21
  const drawingArea = store.use(_internals.selectorChartDrawingArea);
20
22
  const optionsLookup = store.use(_internals.selectorChartZoomOptionsLookup);
21
23
  const config = store.use(_ZoomInteractionConfig.selectorZoomInteractionConfig, 'tapAndDrag');
@@ -53,7 +55,7 @@ const useZoomOnTapAndDrag = ({
53
55
  }
54
56
  const isZoomIn = event.detail.deltaY > 0;
55
57
  const scaleRatio = 1 + event.detail.deltaY / 100;
56
- const point = (0, _internals.getSVGPoint)(element, {
58
+ const point = (0, _internals.getChartPoint)(element, {
57
59
  clientX: event.detail.initialCentroid.x,
58
60
  clientY: event.detail.initialCentroid.y
59
61
  });
@@ -3,6 +3,5 @@ import { type ChartPlugin, type ZoomData } from '@mui/x-charts/internals';
3
3
  import { type UseChartProZoomSignature } from "../useChartProZoom.types.js";
4
4
  export declare const useZoomOnWheel: ({
5
5
  store,
6
- instance,
7
- svgRef
8
- }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance" | "svgRef">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
6
+ instance
7
+ }: Pick<Parameters<ChartPlugin<UseChartProZoomSignature>>[0], "store" | "instance">, setZoomDataCallback: React.Dispatch<ZoomData[] | ((prev: ZoomData[]) => ZoomData[])>) => void;
@@ -13,9 +13,11 @@ var _useZoom = require("./useZoom.utils");
13
13
  var _ZoomInteractionConfig = require("../ZoomInteractionConfig.selectors");
14
14
  const useZoomOnWheel = ({
15
15
  store,
16
- instance,
17
- svgRef
16
+ instance
18
17
  }, setZoomDataCallback) => {
18
+ const {
19
+ svgRef
20
+ } = instance;
19
21
  const drawingArea = store.use(_internals.selectorChartDrawingArea);
20
22
  const optionsLookup = store.use(_internals.selectorChartZoomOptionsLookup);
21
23
  const startedOutsideRef = React.useRef(false);
@@ -39,7 +41,7 @@ const useZoomOnWheel = ({
39
41
  }
40
42
  const rafThrottledSetZoomData = (0, _rafThrottle.rafThrottle)(setZoomDataCallback);
41
43
  const zoomOnWheelHandler = instance.addInteractionListener('zoomTurnWheel', event => {
42
- const point = (0, _internals.getSVGPoint)(element, {
44
+ const point = (0, _internals.getChartPoint)(element, {
43
45
  clientX: event.detail.centroid.x,
44
46
  clientY: event.detail.centroid.y
45
47
  });
@@ -1,18 +1,18 @@
1
1
  import { type AxisId, type ChartRootSelector } from '@mui/x-charts/internals';
2
2
  import { type UseChartProZoomSignature } from "./useChartProZoom.types.js";
3
3
  export declare const selectorChartZoomState: ChartRootSelector<UseChartProZoomSignature, 'zoom'>;
4
- export declare const selectorChartZoomIsInteracting: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
4
+ export declare const selectorChartZoomIsInteracting: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
5
5
  cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
6
6
  }) => boolean;
7
- export declare const selectorChartZoomIsEnabled: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
7
+ export declare const selectorChartZoomIsEnabled: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
8
8
  cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
9
9
  }) => boolean;
10
- export declare const selectorChartAxisZoomData: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
10
+ export declare const selectorChartAxisZoomData: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<import("@mui/x-charts/internals").UseChartCartesianAxisState> & {
11
11
  cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
12
12
  }, axisId: AxisId) => import("@mui/x-charts/internals").ZoomData | undefined;
13
- export declare const selectorChartCanZoomOut: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
13
+ export declare const selectorChartCanZoomOut: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
14
14
  cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
15
15
  }) => boolean;
16
- export declare const selectorChartCanZoomIn: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
16
+ export declare const selectorChartCanZoomIn: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & import("./useChartProZoom.types.js").UseChartProZoomState & Partial<{}> & {
17
17
  cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
18
18
  }) => boolean;
@@ -1,7 +1,7 @@
1
1
  import { type DefaultizedProps } from '@mui/x-internals/types';
2
2
  import { type CommonDefaultizedProps, type CommonSeriesType, type CartesianSeriesType } from '@mui/x-charts/internals';
3
3
  export type HeatmapValueType = readonly [number, number, number];
4
- export interface HeatmapSeriesType extends Omit<CommonSeriesType<HeatmapValueType>, 'color' | 'colorGetter'>, CartesianSeriesType {
4
+ export interface HeatmapSeriesType extends Omit<CommonSeriesType<HeatmapValueType, 'heatmap'>, 'color' | 'colorGetter'>, CartesianSeriesType {
5
5
  type: 'heatmap';
6
6
  /**
7
7
  * Data associated to each bar.
@@ -34,10 +34,10 @@ export type HeatmapItemIdentifier = {
34
34
  /**
35
35
  * The x index of the cell. Useful to identify the cell position in the heatmap even if there is no data.
36
36
  */
37
- xIndex?: number;
37
+ xIndex: number;
38
38
  /**
39
39
  * The y index of the cell. Useful to identify the cell position in the heatmap even if there is no data.
40
40
  */
41
- yIndex?: number;
41
+ yIndex: number;
42
42
  };
43
43
  export interface DefaultizedHeatmapSeriesType extends DefaultizedProps<HeatmapSeriesType, CommonDefaultizedProps> {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-charts-pro",
3
- "version": "8.27.0",
3
+ "version": "9.0.0-alpha.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The Pro plan edition of the MUI X Charts components.",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -27,15 +27,15 @@
27
27
  "directory": "packages/x-charts-pro"
28
28
  },
29
29
  "dependencies": {
30
- "@babel/runtime": "^7.28.4",
31
- "@mui/utils": "^7.3.5",
30
+ "@babel/runtime": "^7.28.6",
31
+ "@mui/utils": "^7.3.7",
32
32
  "clsx": "^2.1.1",
33
33
  "prop-types": "^15.8.1",
34
- "@mui/x-charts-vendor": "8.26.0",
34
+ "@mui/x-charts": "9.0.0-alpha.0",
35
+ "@mui/x-charts-vendor": "9.0.0-alpha.0",
35
36
  "@mui/x-internal-gestures": "0.4.0",
36
- "@mui/x-charts": "8.27.0",
37
- "@mui/x-internals": "8.26.0",
38
- "@mui/x-license": "8.26.0"
37
+ "@mui/x-internals": "9.0.0-alpha.0",
38
+ "@mui/x-license": "9.0.0-alpha.0"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@emotion/react": "^11.9.0",
@@ -54,7 +54,7 @@
54
54
  }
55
55
  },
56
56
  "optionalDependencies": {
57
- "rasterizehtml": "^1.4.0"
57
+ "rasterizehtml": "^1.4.1"
58
58
  },
59
59
  "engines": {
60
60
  "node": ">=14.0.0"
@@ -1,4 +1,4 @@
1
1
  import { type HeatmapItemIdentifier } from "../../models/index.js";
2
- export declare const selectorHeatmapItemAtPosition: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<{}> & {
2
+ export declare const selectorHeatmapItemAtPosition: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<{}> & {
3
3
  cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
4
4
  }, svgPoint: Pick<DOMPoint, "x" | "y">) => HeatmapItemIdentifier | undefined;
@@ -37,7 +37,9 @@ const selectorHeatmapItemAtPosition = exports.selectorHeatmapItemAtPosition = (0
37
37
  return {
38
38
  type: 'heatmap',
39
39
  seriesId,
40
- dataIndex
40
+ dataIndex,
41
+ xIndex,
42
+ yIndex
41
43
  };
42
44
  }
43
45
  }