@mui/x-charts-pro 8.11.2 → 8.12.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 (132) hide show
  1. package/BarChartPro/BarChartPro.d.ts +2 -2
  2. package/BarChartPro/BarChartPro.js +1 -0
  3. package/BarChartPro/BarChartPro.plugins.d.ts +3 -3
  4. package/BarChartPro/BarChartPro.plugins.js +1 -1
  5. package/BarChartPro/index.d.ts +2 -1
  6. package/BarChartPro/index.js +11 -0
  7. package/CHANGELOG.md +231 -0
  8. package/ChartDataProviderPro/ChartDataProviderPro.js +1 -1
  9. package/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.js +2 -2
  10. package/FunnelChart/FunnelChart.d.ts +2 -2
  11. package/FunnelChart/FunnelChart.plugins.d.ts +2 -2
  12. package/FunnelChart/FunnelPlot.js +2 -2
  13. package/FunnelChart/funnelAxisPlugin/computeAxisValue.js +1 -1
  14. package/FunnelChart/index.d.ts +1 -0
  15. package/FunnelChart/index.js +12 -0
  16. package/FunnelChart/useFunnelChartProps.d.ts +2 -2
  17. package/FunnelChart/useFunnelChartProps.js +4 -3
  18. package/Heatmap/Heatmap.d.ts +2 -2
  19. package/Heatmap/Heatmap.js +2 -1
  20. package/Heatmap/Heatmap.plugins.d.ts +2 -2
  21. package/Heatmap/index.d.ts +1 -0
  22. package/Heatmap/index.js +12 -0
  23. package/LineChartPro/LineChartPro.d.ts +2 -2
  24. package/LineChartPro/LineChartPro.js +1 -0
  25. package/LineChartPro/LineChartPro.plugins.d.ts +3 -3
  26. package/LineChartPro/LineChartPro.plugins.js +1 -1
  27. package/LineChartPro/index.d.ts +2 -1
  28. package/LineChartPro/index.js +11 -0
  29. package/PieChartPro/PieChartPro.js +2 -0
  30. package/PieChartPro/PieChartPro.plugins.d.ts +2 -2
  31. package/PieChartPro/index.d.ts +2 -1
  32. package/PieChartPro/index.js +11 -0
  33. package/RadarChartPro/RadarChartPro.d.ts +2 -2
  34. package/RadarChartPro/RadarChartPro.plugins.d.ts +2 -2
  35. package/RadarChartPro/index.d.ts +2 -1
  36. package/RadarChartPro/index.js +11 -0
  37. package/SankeyChart/SankeyChart.d.ts +2 -2
  38. package/SankeyChart/SankeyChart.js +4 -1
  39. package/SankeyChart/SankeyChart.plugins.d.ts +3 -2
  40. package/SankeyChart/SankeyChart.plugins.js +2 -4
  41. package/SankeyChart/SankeyLinkLabel.js +12 -1
  42. package/SankeyChart/calculateSankeyLayout.js +8 -2
  43. package/SankeyChart/sankey.types.d.ts +55 -5
  44. package/SankeyChart/seriesConfig/getSeriesWithDefaultValues.js +2 -0
  45. package/SankeyChart/seriesConfig/tooltipGetter.js +13 -3
  46. package/SankeyChart/useSankeyChartProps.d.ts +2 -2
  47. package/SankeyChart/useSankeyChartProps.js +4 -3
  48. package/ScatterChartPro/ScatterChartPro.d.ts +2 -2
  49. package/ScatterChartPro/ScatterChartPro.js +13 -2
  50. package/ScatterChartPro/ScatterChartPro.plugins.d.ts +3 -3
  51. package/ScatterChartPro/ScatterChartPro.plugins.js +1 -1
  52. package/ScatterChartPro/index.d.ts +2 -1
  53. package/ScatterChartPro/index.js +11 -0
  54. package/context/ChartProApi.d.ts +14 -12
  55. package/esm/BarChartPro/BarChartPro.d.ts +2 -2
  56. package/esm/BarChartPro/BarChartPro.js +1 -0
  57. package/esm/BarChartPro/BarChartPro.plugins.d.ts +3 -3
  58. package/esm/BarChartPro/BarChartPro.plugins.js +2 -2
  59. package/esm/BarChartPro/index.d.ts +2 -1
  60. package/esm/BarChartPro/index.js +2 -1
  61. package/esm/ChartDataProviderPro/ChartDataProviderPro.js +1 -1
  62. package/esm/ChartZoomSlider/internals/ChartAxisZoomSliderThumb.js +2 -2
  63. package/esm/FunnelChart/FunnelChart.d.ts +2 -2
  64. package/esm/FunnelChart/FunnelChart.plugins.d.ts +2 -2
  65. package/esm/FunnelChart/FunnelPlot.js +3 -3
  66. package/esm/FunnelChart/funnelAxisPlugin/computeAxisValue.js +2 -2
  67. package/esm/FunnelChart/index.d.ts +1 -0
  68. package/esm/FunnelChart/index.js +1 -0
  69. package/esm/FunnelChart/useFunnelChartProps.d.ts +2 -2
  70. package/esm/FunnelChart/useFunnelChartProps.js +4 -3
  71. package/esm/Heatmap/Heatmap.d.ts +2 -2
  72. package/esm/Heatmap/Heatmap.js +2 -1
  73. package/esm/Heatmap/Heatmap.plugins.d.ts +2 -2
  74. package/esm/Heatmap/index.d.ts +1 -0
  75. package/esm/Heatmap/index.js +1 -0
  76. package/esm/LineChartPro/LineChartPro.d.ts +2 -2
  77. package/esm/LineChartPro/LineChartPro.js +1 -0
  78. package/esm/LineChartPro/LineChartPro.plugins.d.ts +3 -3
  79. package/esm/LineChartPro/LineChartPro.plugins.js +2 -2
  80. package/esm/LineChartPro/index.d.ts +2 -1
  81. package/esm/LineChartPro/index.js +2 -1
  82. package/esm/PieChartPro/PieChartPro.js +2 -0
  83. package/esm/PieChartPro/PieChartPro.plugins.d.ts +2 -2
  84. package/esm/PieChartPro/index.d.ts +2 -1
  85. package/esm/PieChartPro/index.js +2 -1
  86. package/esm/RadarChartPro/RadarChartPro.d.ts +2 -2
  87. package/esm/RadarChartPro/RadarChartPro.plugins.d.ts +2 -2
  88. package/esm/RadarChartPro/index.d.ts +2 -1
  89. package/esm/RadarChartPro/index.js +2 -1
  90. package/esm/SankeyChart/SankeyChart.d.ts +2 -2
  91. package/esm/SankeyChart/SankeyChart.js +4 -1
  92. package/esm/SankeyChart/SankeyChart.plugins.d.ts +3 -2
  93. package/esm/SankeyChart/SankeyChart.plugins.js +2 -6
  94. package/esm/SankeyChart/SankeyLinkLabel.js +12 -1
  95. package/esm/SankeyChart/calculateSankeyLayout.js +8 -2
  96. package/esm/SankeyChart/sankey.types.d.ts +55 -5
  97. package/esm/SankeyChart/seriesConfig/getSeriesWithDefaultValues.js +2 -0
  98. package/esm/SankeyChart/seriesConfig/tooltipGetter.js +13 -3
  99. package/esm/SankeyChart/useSankeyChartProps.d.ts +2 -2
  100. package/esm/SankeyChart/useSankeyChartProps.js +4 -3
  101. package/esm/ScatterChartPro/ScatterChartPro.d.ts +2 -2
  102. package/esm/ScatterChartPro/ScatterChartPro.js +13 -2
  103. package/esm/ScatterChartPro/ScatterChartPro.plugins.d.ts +3 -3
  104. package/esm/ScatterChartPro/ScatterChartPro.plugins.js +2 -2
  105. package/esm/ScatterChartPro/index.d.ts +2 -1
  106. package/esm/ScatterChartPro/index.js +2 -1
  107. package/esm/context/ChartProApi.d.ts +14 -12
  108. package/esm/index.d.ts +1 -0
  109. package/esm/index.js +2 -1
  110. package/esm/internals/material/components/BasePopper.js +2 -2
  111. package/esm/internals/plugins/useChartProExport/common.d.ts +5 -1
  112. package/esm/internals/plugins/useChartProExport/common.js +13 -0
  113. package/esm/internals/plugins/useChartProExport/exportImage.d.ts +1 -1
  114. package/esm/internals/plugins/useChartProExport/exportImage.js +23 -17
  115. package/esm/internals/plugins/useChartProExport/print.js +2 -3
  116. package/esm/internals/plugins/useChartProExport/useChartProExport.js +4 -2
  117. package/esm/internals/plugins/useChartProExport/useChartProExport.types.d.ts +1 -2
  118. package/esm/plugins/index.d.ts +3 -0
  119. package/esm/plugins/index.js +3 -0
  120. package/index.d.ts +1 -0
  121. package/index.js +13 -1
  122. package/internals/material/components/BasePopper.js +2 -2
  123. package/internals/plugins/useChartProExport/common.d.ts +5 -1
  124. package/internals/plugins/useChartProExport/common.js +14 -0
  125. package/internals/plugins/useChartProExport/exportImage.d.ts +1 -1
  126. package/internals/plugins/useChartProExport/exportImage.js +22 -16
  127. package/internals/plugins/useChartProExport/print.js +2 -3
  128. package/internals/plugins/useChartProExport/useChartProExport.js +4 -2
  129. package/internals/plugins/useChartProExport/useChartProExport.types.d.ts +1 -2
  130. package/package.json +6 -6
  131. package/plugins/index.d.ts +3 -0
  132. package/plugins/index.js +35 -0
@@ -4,7 +4,7 @@ const _excluded = ["onItemClick"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { line as d3Line } from '@mui/x-charts-vendor/d3-shape';
7
- import { cartesianSeriesTypes, useSelector, useStore, isBandScale } from '@mui/x-charts/internals';
7
+ import { cartesianSeriesTypes, useSelector, useStore, isOrdinalScale } from '@mui/x-charts/internals';
8
8
  import { FunnelSection } from "./FunnelSection.js";
9
9
  import { alignLabel, positionLabel } from "./labelUtils.js";
10
10
  import { useFunnelSeriesContext } from "../hooks/useFunnelSeries.js";
@@ -49,7 +49,7 @@ const useAggregatedData = () => {
49
49
  const xScale = xAxis[xAxisId].scale;
50
50
  const yScale = yAxis[yAxisId].scale;
51
51
  const xPosition = (value, bandIndex, bandIdentifier, stackOffset, useBand) => {
52
- if (isBandScale(xScale)) {
52
+ if (isOrdinalScale(xScale)) {
53
53
  const position = xScale(bandIdentifier);
54
54
  return useBand ? position + bandWidth : position;
55
55
  }
@@ -59,7 +59,7 @@ const useAggregatedData = () => {
59
59
  return xScale(value);
60
60
  };
61
61
  const yPosition = (value, bandIndex, bandIdentifier, stackOffset, useBand) => {
62
- if (isBandScale(yScale)) {
62
+ if (isOrdinalScale(yScale)) {
63
63
  const position = yScale(bandIdentifier);
64
64
  return useBand ? position + bandWidth : position;
65
65
  }
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { scaleBand } from '@mui/x-charts-vendor/d3-scale';
3
- import { getAxisExtremum, isBandScaleConfig, getScale, getColorScale, getOrdinalColorScale, getTickNumber, scaleTickNumberByRange, getCartesianAxisTriggerTooltip, isDateData, createDateFormatter } from '@mui/x-charts/internals';
3
+ import { getAxisExtrema, isBandScaleConfig, getScale, getColorScale, getOrdinalColorScale, getTickNumber, scaleTickNumberByRange, getCartesianAxisTriggerTooltip, isDateData, createDateFormatter } from '@mui/x-charts/internals';
4
4
  export const xRangeGetter = (drawingArea, reverse, removedSpace = 0) => {
5
5
  const range = [drawingArea.left, drawingArea.left + drawingArea.width - removedSpace];
6
6
  return reverse ? [range[1], range[0]] : [range[0], range[1]];
@@ -31,7 +31,7 @@ export function computeAxisValue({
31
31
  allAxis.forEach((eachAxis, axisIndex) => {
32
32
  const axis = eachAxis;
33
33
  let range = getRange(drawingArea, axisDirection, axis);
34
- const [minData, maxData] = getAxisExtremum(axis, axisDirection, seriesConfig, axisIndex, formattedSeries);
34
+ const [minData, maxData] = getAxisExtrema(axis, axisDirection, seriesConfig, axisIndex, formattedSeries);
35
35
  const triggerTooltip = !axis.ignoreTooltip && axisIdsTriggeringTooltip.has(axis.id);
36
36
  const data = axis.data ?? [];
37
37
  if (isBandScaleConfig(axis)) {
@@ -8,6 +8,7 @@ export * from "./FunnelPlot.js";
8
8
  export * from "./funnel.types.js";
9
9
  export * from "./categoryAxis.types.js";
10
10
  export * from "./funnelSlots.types.js";
11
+ export * from "./FunnelChart.plugins.js";
11
12
  export type { FunnelCurveType } from "./curves/index.js";
12
13
  export { funnelSectionClasses } from "./funnelSectionClasses.js";
13
14
  export type { FunnelSectionClasses } from "./funnelSectionClasses.js";
@@ -9,6 +9,7 @@ export * from "./FunnelPlot.js";
9
9
  export * from "./funnel.types.js";
10
10
  export * from "./categoryAxis.types.js";
11
11
  export * from "./funnelSlots.types.js";
12
+ export * from "./FunnelChart.plugins.js";
12
13
  export { funnelSectionClasses } from "./funnelSectionClasses.js";
13
14
  export { FunnelSection } from "./FunnelSection.js";
14
15
  export { FunnelSectionLabel } from "./FunnelSectionLabel.js";
@@ -3,7 +3,7 @@ import { ChartsAxisProps } from '@mui/x-charts/ChartsAxis';
3
3
  import { ChartsLegendSlotExtension } from '@mui/x-charts/ChartsLegend';
4
4
  import { ChartsAxisHighlightProps } from '@mui/x-charts/ChartsAxisHighlight';
5
5
  import type { ChartsWrapperProps } from '@mui/x-charts/ChartsWrapper';
6
- import { FunnelChartPluginsSignatures } from "./FunnelChart.plugins.js";
6
+ import { FunnelChartPluginSignatures } from "./FunnelChart.plugins.js";
7
7
  import { FunnelPlotProps } from "./FunnelPlot.js";
8
8
  import type { FunnelChartProps } from "./FunnelChart.js";
9
9
  import { ChartContainerProProps } from "../ChartContainerPro/index.js";
@@ -15,7 +15,7 @@ import { ChartContainerProProps } from "../ChartContainerPro/index.js";
15
15
  * @returns An object with props for the children components of FunnelChart
16
16
  */
17
17
  export declare const useFunnelChartProps: (props: FunnelChartProps) => {
18
- chartContainerProps: ChartContainerProProps<"funnel", FunnelChartPluginsSignatures>;
18
+ chartContainerProps: ChartContainerProProps<"funnel", FunnelChartPluginSignatures>;
19
19
  funnelPlotProps: FunnelPlotProps;
20
20
  overlayProps: ChartsOverlayProps;
21
21
  chartsAxisProps: ChartsAxisProps;
@@ -87,7 +87,7 @@ export const useFunnelChartProps = props => {
87
87
  axisHighlight,
88
88
  apiRef
89
89
  } = props,
90
- rest = _objectWithoutPropertiesLoose(props, _excluded);
90
+ other = _objectWithoutPropertiesLoose(props, _excluded);
91
91
  const margin = defaultizeMargin(marginProps, DEFAULT_MARGINS);
92
92
  const isHorizontal = series.some(s => s.layout === 'horizontal');
93
93
  const valueAxisConfig = {
@@ -98,7 +98,7 @@ export const useFunnelChartProps = props => {
98
98
  };
99
99
  const xAxis = isHorizontal ? getCategoryAxisConfig(categoryAxis, series, isHorizontal, 'x') : valueAxisConfig;
100
100
  const yAxis = isHorizontal ? valueAxisConfig : getCategoryAxisConfig(categoryAxis, series, isHorizontal, 'y');
101
- const chartContainerProps = _extends({}, rest, {
101
+ const chartContainerProps = _extends({}, other, {
102
102
  series: series.map(s => _extends({
103
103
  type: 'funnel',
104
104
  layout: isHorizontal ? 'horizontal' : 'vertical'
@@ -137,7 +137,8 @@ export const useFunnelChartProps = props => {
137
137
  const chartsWrapperProps = {
138
138
  sx,
139
139
  legendPosition: props.slotProps?.legend?.position,
140
- legendDirection: props.slotProps?.legend?.direction
140
+ legendDirection: props.slotProps?.legend?.direction,
141
+ hideLegend: props.hideLegend ?? false
141
142
  };
142
143
  const axisHighlightProps = _extends({}, axisHighlight);
143
144
  return {
@@ -10,7 +10,7 @@ import { ChartContainerProProps } from "../ChartContainerPro/index.js";
10
10
  import { HeatmapSeriesType } from "../models/seriesType/heatmap.js";
11
11
  import { HeatmapTooltipProps } from "./HeatmapTooltip/index.js";
12
12
  import { HeatmapItemSlotProps, HeatmapItemSlots } from "./HeatmapItem.js";
13
- import { HeatmapPluginsSignatures } from "./Heatmap.plugins.js";
13
+ import { HeatmapPluginSignatures } from "./Heatmap.plugins.js";
14
14
  import { ChartsToolbarProSlotProps, ChartsToolbarProSlots } from "../ChartsToolbarPro/Toolbar.types.js";
15
15
  export interface HeatmapSlots extends ChartsAxisSlots, ChartsOverlaySlots, HeatmapItemSlots, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {
16
16
  /**
@@ -28,7 +28,7 @@ export interface HeatmapSlotProps extends ChartsAxisSlotProps, ChartsOverlaySlot
28
28
  tooltip?: Partial<HeatmapTooltipProps>;
29
29
  }
30
30
  export type HeatmapSeries = MakeOptional<HeatmapSeriesType, 'type'>;
31
- export interface HeatmapProps extends Omit<ChartContainerProProps<'heatmap', HeatmapPluginsSignatures>, 'series' | 'plugins' | 'xAxis' | 'yAxis' | 'skipAnimation' | 'slots' | 'slotProps' | 'experimentalFeatures' | 'highlightedAxis' | 'onHighlightedAxisChange'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'> {
31
+ export interface HeatmapProps extends Omit<ChartContainerProProps<'heatmap', HeatmapPluginSignatures>, 'series' | 'plugins' | 'xAxis' | 'yAxis' | 'skipAnimation' | 'slots' | 'slotProps' | 'experimentalFeatures' | 'highlightedAxis' | 'onHighlightedAxisChange'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'> {
32
32
  /**
33
33
  * The configuration of the x-axes.
34
34
  * If not provided, a default axis config is used.
@@ -91,7 +91,8 @@ const Heatmap = /*#__PURE__*/React.forwardRef(function Heatmap(inProps, ref) {
91
91
  const chartsWrapperProps = {
92
92
  sx,
93
93
  legendPosition: props.slotProps?.legend?.position,
94
- legendDirection: props.slotProps?.legend?.direction
94
+ legendDirection: props.slotProps?.legend?.direction,
95
+ hideLegend
95
96
  };
96
97
  const Tooltip = slots?.tooltip ?? HeatmapTooltip;
97
98
  const Toolbar = slots?.toolbar ?? ChartsToolbarPro;
@@ -1,4 +1,4 @@
1
1
  import { UseChartZAxisSignature, UseChartCartesianAxisSignature, UseChartInteractionSignature, UseChartHighlightSignature, ConvertSignaturesIntoPlugins } from '@mui/x-charts/internals';
2
2
  import { UseChartProExportSignature } from "../internals/plugins/useChartProExport/index.js";
3
- export type HeatmapPluginsSignatures = [UseChartZAxisSignature, UseChartCartesianAxisSignature<'heatmap'>, UseChartInteractionSignature, UseChartHighlightSignature, UseChartProExportSignature];
4
- export declare const HEATMAP_PLUGINS: ConvertSignaturesIntoPlugins<HeatmapPluginsSignatures>;
3
+ export type HeatmapPluginSignatures = [UseChartZAxisSignature, UseChartCartesianAxisSignature<'heatmap'>, UseChartInteractionSignature, UseChartHighlightSignature, UseChartProExportSignature];
4
+ export declare const HEATMAP_PLUGINS: ConvertSignaturesIntoPlugins<HeatmapPluginSignatures>;
@@ -2,4 +2,5 @@ export { Heatmap } from "./Heatmap.js";
2
2
  export type { HeatmapSeries, HeatmapProps } from "./Heatmap.js";
3
3
  export { HeatmapPlot } from "./HeatmapPlot.js";
4
4
  export * from "./HeatmapTooltip/index.js";
5
+ export * from "./Heatmap.plugins.js";
5
6
  export * from "./heatmapClasses.js";
@@ -1,4 +1,5 @@
1
1
  export { Heatmap } from "./Heatmap.js";
2
2
  export { HeatmapPlot } from "./HeatmapPlot.js";
3
3
  export * from "./HeatmapTooltip/index.js";
4
+ export * from "./Heatmap.plugins.js";
4
5
  export * from "./heatmapClasses.js";
@@ -3,10 +3,10 @@ import { LineChartProps, LineChartSlots, LineChartSlotProps } from '@mui/x-chart
3
3
  import { ChartsToolbarProSlotProps, ChartsToolbarProSlots } from "../ChartsToolbarPro/Toolbar.types.js";
4
4
  import { ChartsSlotPropsPro, ChartsSlotsPro } from "../internals/material/index.js";
5
5
  import { ChartContainerProProps } from "../ChartContainerPro/index.js";
6
- import { LineChartProPluginsSignatures } from "./LineChartPro.plugins.js";
6
+ import { LineChartProPluginSignatures } from "./LineChartPro.plugins.js";
7
7
  export interface LineChartProSlots extends Omit<LineChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
8
8
  export interface LineChartProSlotProps extends Omit<LineChartSlotProps, 'toolbar'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {}
9
- export interface LineChartProProps extends Omit<LineChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'line', LineChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'slots' | 'slotProps'> {
9
+ export interface LineChartProProps extends Omit<LineChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'line', LineChartProPluginSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'slots' | 'slotProps'> {
10
10
  /**
11
11
  * Overridable component slots.
12
12
  * @default {}
@@ -132,6 +132,7 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
132
132
  * If `true`, render the line highlight item.
133
133
  */
134
134
  disableLineItemHighlight: PropTypes.bool,
135
+ enableKeyboardNavigation: PropTypes.bool,
135
136
  /**
136
137
  * Options to enable features planned for the next major.
137
138
  */
@@ -1,5 +1,5 @@
1
- import { UseChartZAxisSignature, UseChartCartesianAxisSignature, UseChartInteractionSignature, UseChartHighlightSignature, ConvertSignaturesIntoPlugins } from '@mui/x-charts/internals';
1
+ import { UseChartZAxisSignature, UseChartCartesianAxisSignature, UseChartInteractionSignature, UseChartHighlightSignature, UseChartKeyboardNavigationSignature, ConvertSignaturesIntoPlugins } from '@mui/x-charts/internals';
2
2
  import { UseChartProExportSignature } from "../internals/plugins/useChartProExport/index.js";
3
3
  import { UseChartProZoomSignature } from "../internals/plugins/useChartProZoom/index.js";
4
- export type LineChartProPluginsSignatures = [UseChartZAxisSignature, UseChartCartesianAxisSignature<'line'>, UseChartInteractionSignature, UseChartHighlightSignature, UseChartProZoomSignature, UseChartProExportSignature];
5
- export declare const LINE_CHART_PRO_PLUGINS: ConvertSignaturesIntoPlugins<LineChartProPluginsSignatures>;
4
+ export type LineChartProPluginSignatures = [UseChartZAxisSignature, UseChartCartesianAxisSignature<'line'>, UseChartInteractionSignature, UseChartHighlightSignature, UseChartKeyboardNavigationSignature, UseChartProZoomSignature, UseChartProExportSignature];
5
+ export declare const LINE_CHART_PRO_PLUGINS: ConvertSignaturesIntoPlugins<LineChartProPluginSignatures>;
@@ -1,4 +1,4 @@
1
- import { useChartZAxis, useChartCartesianAxis, useChartInteraction, useChartHighlight } from '@mui/x-charts/internals';
1
+ import { useChartZAxis, useChartCartesianAxis, useChartInteraction, useChartHighlight, useChartKeyboardNavigation } from '@mui/x-charts/internals';
2
2
  import { useChartProExport } from "../internals/plugins/useChartProExport/index.js";
3
3
  import { useChartProZoom } from "../internals/plugins/useChartProZoom/index.js";
4
- export const LINE_CHART_PRO_PLUGINS = [useChartZAxis, useChartCartesianAxis, useChartInteraction, useChartHighlight, useChartProZoom, useChartProExport];
4
+ export const LINE_CHART_PRO_PLUGINS = [useChartZAxis, useChartCartesianAxis, useChartInteraction, useChartHighlight, useChartKeyboardNavigation, useChartProZoom, useChartProExport];
@@ -1 +1,2 @@
1
- export * from "./LineChartPro.js";
1
+ export * from "./LineChartPro.js";
2
+ export * from "./LineChartPro.plugins.js";
@@ -1 +1,2 @@
1
- export * from "./LineChartPro.js";
1
+ export * from "./LineChartPro.js";
2
+ export * from "./LineChartPro.plugins.js";
@@ -66,6 +66,7 @@ const PieChartPro = /*#__PURE__*/React.forwardRef(function PieChartPro(inProps,
66
66
  legendPosition: props.slotProps?.legend?.position,
67
67
  legendDirection: props.slotProps?.legend?.direction ?? 'vertical',
68
68
  sx: sx,
69
+ hideLegend: hideLegend ?? false,
69
70
  children: [showToolbar ? /*#__PURE__*/_jsx(Toolbar, {}) : null, !hideLegend && /*#__PURE__*/_jsx(ChartsLegend, {
70
71
  direction: props.slotProps?.legend?.direction ?? 'vertical',
71
72
  slots: slots,
@@ -110,6 +111,7 @@ process.env.NODE_ENV !== "production" ? PieChartPro.propTypes = {
110
111
  */
111
112
  dataset: PropTypes.arrayOf(PropTypes.object),
112
113
  desc: PropTypes.string,
114
+ enableKeyboardNavigation: PropTypes.bool,
113
115
  /**
114
116
  * The height of the chart in px. If not defined, it takes the height of the parent element.
115
117
  */
@@ -1,4 +1,4 @@
1
- import { ConvertSignaturesIntoPlugins, UseChartHighlightSignature, UseChartInteractionSignature } from '@mui/x-charts/internals';
1
+ import { ConvertSignaturesIntoPlugins, UseChartHighlightSignature, UseChartInteractionSignature, UseChartKeyboardNavigationSignature } from '@mui/x-charts/internals';
2
2
  import { UseChartProExportSignature } from "../internals/plugins/useChartProExport/index.js";
3
- export type PieChartProPluginSignatures = [UseChartInteractionSignature, UseChartHighlightSignature, UseChartProExportSignature];
3
+ export type PieChartProPluginSignatures = [UseChartInteractionSignature, UseChartHighlightSignature, UseChartKeyboardNavigationSignature, UseChartProExportSignature];
4
4
  export declare const PIE_CHART_PRO_PLUGINS: ConvertSignaturesIntoPlugins<PieChartProPluginSignatures>;
@@ -1 +1,2 @@
1
- export * from "./PieChartPro.js";
1
+ export * from "./PieChartPro.js";
2
+ export * from "./PieChartPro.plugins.js";
@@ -1 +1,2 @@
1
- export * from "./PieChartPro.js";
1
+ export * from "./PieChartPro.js";
2
+ export * from "./PieChartPro.plugins.js";
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { RadarChartProps, RadarDataProviderProps, RadarChartSlotProps, RadarChartSlots } from '@mui/x-charts/RadarChart';
3
- import { RadarChartProPluginsSignatures } from "./RadarChartPro.plugins.js";
3
+ import { RadarChartProPluginSignatures } from "./RadarChartPro.plugins.js";
4
4
  import { ChartsToolbarProSlotProps, ChartsToolbarProSlots } from "../ChartsToolbarPro/Toolbar.types.js";
5
5
  import { ChartsSlotPropsPro, ChartsSlotsPro } from "../internals/material/index.js";
6
6
  export interface RadarChartProSlots extends Omit<RadarChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
7
7
  export interface RadarChartProSlotProps extends Omit<RadarChartSlotProps, 'toolbar'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {}
8
- export interface RadarChartProProps extends Omit<RadarChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<RadarDataProviderProps<RadarChartProPluginsSignatures>, 'plugins' | 'seriesConfig' | 'slots' | 'slotProps' | 'experimentalFeatures'> {
8
+ export interface RadarChartProProps extends Omit<RadarChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<RadarDataProviderProps<RadarChartProPluginSignatures>, 'plugins' | 'seriesConfig' | 'slots' | 'slotProps' | 'experimentalFeatures'> {
9
9
  /**
10
10
  * Overridable component slots.
11
11
  * @default {}
@@ -1,4 +1,4 @@
1
1
  import { ConvertSignaturesIntoPlugins, UseChartHighlightSignature, UseChartInteractionSignature, UseChartPolarAxisSignature } from '@mui/x-charts/internals';
2
2
  import { UseChartProExportSignature } from "../internals/plugins/useChartProExport/index.js";
3
- export type RadarChartProPluginsSignatures = [UseChartPolarAxisSignature, UseChartInteractionSignature, UseChartHighlightSignature, UseChartProExportSignature];
4
- export declare const RADAR_CHART_PRO_PLUGINS: ConvertSignaturesIntoPlugins<RadarChartProPluginsSignatures>;
3
+ export type RadarChartProPluginSignatures = [UseChartPolarAxisSignature, UseChartInteractionSignature, UseChartHighlightSignature, UseChartProExportSignature];
4
+ export declare const RADAR_CHART_PRO_PLUGINS: ConvertSignaturesIntoPlugins<RadarChartProPluginSignatures>;
@@ -1 +1,2 @@
1
- export * from "./RadarChartPro.js";
1
+ export * from "./RadarChartPro.js";
2
+ export * from "./RadarChartPro.plugins.js";
@@ -1 +1,2 @@
1
- export * from "./RadarChartPro.js";
1
+ export * from "./RadarChartPro.js";
2
+ export * from "./RadarChartPro.plugins.js";
@@ -3,11 +3,11 @@ import { type ChartsOverlayProps } from '@mui/x-charts/ChartsOverlay';
3
3
  import type { MakeOptional } from '@mui/x-internals/types';
4
4
  import { ChartContainerProProps } from "../ChartContainerPro/index.js";
5
5
  import { type SankeyPlotProps } from "./SankeyPlot.js";
6
- import { type SankeyChartPluginsSignatures } from "./SankeyChart.plugins.js";
6
+ import { type SankeyChartPluginSignatures } from "./SankeyChart.plugins.js";
7
7
  import type { SankeySeriesType } from "./sankey.types.js";
8
8
  import type { SankeyChartSlotExtension } from "./sankeySlots.types.js";
9
9
  export type SankeySeries = MakeOptional<SankeySeriesType, 'type'>;
10
- export interface SankeyChartProps extends Omit<ChartContainerProProps<'sankey', SankeyChartPluginsSignatures>, 'plugins' | 'series' | 'slotProps' | 'slots' | 'dataset' | 'hideLegend' | 'skipAnimation' | 'highlightedItem' | 'onHighlightChange'>, Omit<SankeyPlotProps, 'data'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, SankeyChartSlotExtension {
10
+ export interface SankeyChartProps extends Omit<ChartContainerProProps<'sankey', SankeyChartPluginSignatures>, 'plugins' | 'series' | 'slotProps' | 'slots' | 'dataset' | 'hideLegend' | 'skipAnimation' | 'highlightedItem' | 'onHighlightChange'>, Omit<SankeyPlotProps, 'data'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, SankeyChartSlotExtension {
11
11
  /**
12
12
  * The series to display in the Sankey chart.
13
13
  * A single object is expected.
@@ -68,7 +68,10 @@ process.env.NODE_ENV !== "production" ? SankeyChart.propTypes = {
68
68
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
69
69
  // ----------------------------------------------------------------------
70
70
  apiRef: PropTypes.shape({
71
- current: PropTypes.object
71
+ current: PropTypes.shape({
72
+ exportAsImage: PropTypes.func.isRequired,
73
+ exportAsPrint: PropTypes.func.isRequired
74
+ })
72
75
  }),
73
76
  /**
74
77
  * Classes applied to the various elements.
@@ -1,3 +1,4 @@
1
1
  import { ConvertSignaturesIntoPlugins, UseChartHighlightSignature, UseChartInteractionSignature } from '@mui/x-charts/internals';
2
- export type SankeyChartPluginsSignatures = [UseChartInteractionSignature, UseChartHighlightSignature];
3
- export declare const SANKEY_CHART_PLUGINS: ConvertSignaturesIntoPlugins<SankeyChartPluginsSignatures>;
2
+ import { UseChartProExportSignature } from "../internals/plugins/useChartProExport/index.js";
3
+ export type SankeyChartPluginSignatures = [UseChartInteractionSignature, UseChartHighlightSignature, UseChartProExportSignature];
4
+ export declare const SANKEY_CHART_PLUGINS: ConvertSignaturesIntoPlugins<SankeyChartPluginSignatures>;
@@ -1,9 +1,5 @@
1
1
  import { useChartHighlight
2
2
  // useChartHighlight,
3
3
  , useChartInteraction } from '@mui/x-charts/internals';
4
- import // useChartProExport,
5
- // UseChartProExportSignature,
6
- "../internals/plugins/useChartProExport/index.js";
7
- export const SANKEY_CHART_PLUGINS = [useChartInteraction, useChartHighlight
8
- // useChartProExport,
9
- ];
4
+ import { useChartProExport } from "../internals/plugins/useChartProExport/index.js";
5
+ export const SANKEY_CHART_PLUGINS = [useChartInteraction, useChartHighlight, useChartProExport];
@@ -2,6 +2,7 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { useTheme } from '@mui/material/styles';
5
+ import { useSankeySeriesContext } from "../hooks/useSankeySeries.js";
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
6
7
  const getLinkMidpoint = link => {
7
8
  if (link.y0 === undefined || link.y1 === undefined) {
@@ -30,10 +31,20 @@ export const SankeyLinkLabel = /*#__PURE__*/React.forwardRef(function SankeyLink
30
31
  link
31
32
  } = props;
32
33
  const theme = useTheme();
34
+ const seriesContext = useSankeySeriesContext();
33
35
  if (!link.path || link.y0 === undefined || link.y1 === undefined) {
34
36
  return null; // No path defined or invalid coordinates, nothing to render
35
37
  }
36
38
  const midpoint = getLinkMidpoint(link);
39
+
40
+ // Get the series data and valueFormatter
41
+ const series = seriesContext?.series[seriesContext.seriesOrder?.[0]];
42
+ const formattedValue = series?.valueFormatter ? series.valueFormatter(link.value, {
43
+ type: 'link',
44
+ sourceId: link.source.id,
45
+ targetId: link.target.id,
46
+ location: 'label'
47
+ }) : link.value;
37
48
  return /*#__PURE__*/_jsx("text", {
38
49
  ref: ref,
39
50
  x: midpoint.x,
@@ -46,7 +57,7 @@ export const SankeyLinkLabel = /*#__PURE__*/React.forwardRef(function SankeyLink
46
57
  "data-link-target": link.target.id,
47
58
  fontFamily: theme.typography.fontFamily,
48
59
  pointerEvents: "none",
49
- children: link.value
60
+ children: formattedValue
50
61
  });
51
62
  });
52
63
  if (process.env.NODE_ENV !== "production") SankeyLinkLabel.displayName = "SankeyLinkLabel";
@@ -27,7 +27,7 @@ export function calculateSankeyLayout(data, drawingArea, theme, series = {}) {
27
27
  sort: nodeSort = null
28
28
  } = nodeOptions ?? {};
29
29
  const {
30
- color: linkColor = (theme.vars || theme).palette.text.primary,
30
+ color: linkColor = 'source',
31
31
  sort: linkSort = null,
32
32
  curveCorrection = 10
33
33
  } = linkOptions ?? {};
@@ -86,8 +86,14 @@ export function calculateSankeyLayout(data, drawingArea, theme, series = {}) {
86
86
  const originalLink = data.links.find(l => {
87
87
  return l.source === link.source.id && l.target === link.target.id;
88
88
  });
89
+ let resolvedColor = originalLink?.color ?? linkColor;
90
+ if (resolvedColor === 'source') {
91
+ resolvedColor = link.source.color ?? linkColor;
92
+ } else if (resolvedColor === 'target') {
93
+ resolvedColor = link.target.color ?? linkColor;
94
+ }
89
95
  return _extends({}, originalLink, link, {
90
- color: originalLink?.color ?? linkColor,
96
+ color: resolvedColor,
91
97
  path: improvedNaiveSankeyLinkPathHorizontal(link, curveCorrection)
92
98
  });
93
99
  });
@@ -38,9 +38,13 @@ export interface SankeyLink {
38
38
  */
39
39
  data?: any;
40
40
  /**
41
- * Optional color override for the link
41
+ * Optional color override for the link.
42
+ * Can be a color string, or a keyword:
43
+ * - 'source': Use the color of the source node
44
+ * - 'target': Use the color of the target node
45
+ * @default 'source'
42
46
  */
43
- color?: string;
47
+ color?: string | 'source' | 'target';
44
48
  }
45
49
  export type SankeyNodeOptions = {
46
50
  /**
@@ -78,9 +82,13 @@ export type SankeyNodeOptions = {
78
82
  };
79
83
  export type SankeyLinkOptions = {
80
84
  /**
81
- * Default color for links without specified colors
85
+ * Default color for links without specified colors.
86
+ * Can be a color string, or a keyword:
87
+ * - 'source': Use the color of the source node
88
+ * - 'target': Use the color of the target node
89
+ * @default 'source'
82
90
  */
83
- color?: string;
91
+ color?: string | 'source' | 'target';
84
92
  /**
85
93
  * Opacity of the links (0-1)
86
94
  */
@@ -146,6 +154,17 @@ export interface SankeySeriesType {
146
154
  * @default 6
147
155
  */
148
156
  iterations?: number;
157
+ /**
158
+ * Formatter used to render values in tooltip or other data display.
159
+ * @param {number} value The value to render.
160
+ * @param {SankeyValueFormatterContext} context The rendering context of the value.
161
+ * @param {'node' | 'link'} context.type The type of element being formatted.
162
+ * @param {SankeyNodeId} [context.nodeId] For nodes: the node ID. For links: undefined.
163
+ * @param {SankeyNodeId} [context.sourceId] For links: the source node ID. For nodes: undefined.
164
+ * @param {SankeyNodeId} [context.targetId] For links: the target node ID. For nodes: undefined.
165
+ * @returns {string | null} The formatted value to display.
166
+ */
167
+ valueFormatter?: (value: number, context: SankeyValueFormatterContext) => string | null;
149
168
  }
150
169
  /**
151
170
  * Represents the calculated positions and dimensions for a node in the Sankey diagram
@@ -170,7 +189,7 @@ export interface SankeyLayout {
170
189
  nodes: readonly SankeyLayoutNode[];
171
190
  links: readonly SankeyLayoutLink[];
172
191
  }
173
- export interface DefaultizedSankeySeriesType extends DefaultizedProps<Omit<SankeySeriesType, 'data'>, 'id'> {
192
+ export interface DefaultizedSankeySeriesType extends DefaultizedProps<Omit<SankeySeriesType, 'data'>, 'id' | 'valueFormatter'> {
174
193
  data: {
175
194
  nodes: Map<SankeyNodeId, SankeyNode>;
176
195
  links: readonly SankeyLink[];
@@ -222,4 +241,35 @@ export type SankeyLinkIdentifierWithData = SankeyLinkIdentifier & {
222
241
  };
223
242
  export type SankeyItemIdentifier = SankeyNodeIdentifier | SankeyLinkIdentifier;
224
243
  export type SankeyItemIdentifierWithData = SankeyNodeIdentifierWithData | SankeyLinkIdentifierWithData;
244
+ export type SankeyValueFormatterContext = {
245
+ /**
246
+ * Where the value will be displayed
247
+ */
248
+ location: 'tooltip' | 'label';
249
+ /**
250
+ * Can be 'node' or 'link'
251
+ */
252
+ type: 'node';
253
+ /**
254
+ * The id of the node
255
+ */
256
+ nodeId: SankeyNodeId;
257
+ } | {
258
+ /**
259
+ * Where the value will be displayed
260
+ */
261
+ location: 'tooltip' | 'label';
262
+ /**
263
+ * Can be 'node' or 'link'
264
+ */
265
+ type: 'link';
266
+ /**
267
+ * The id of the source node
268
+ */
269
+ sourceId: SankeyNodeId;
270
+ /**
271
+ * The id of the target node
272
+ */
273
+ targetId: SankeyNodeId;
274
+ };
225
275
  export {};
@@ -1,4 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ const defaultSankeyValueFormatter = v => v == null ? '' : v.toLocaleString();
2
3
  export const getSeriesWithDefaultValues = (seriesData, seriesIndex, colors) => {
3
4
  const nodeMap = new Map();
4
5
  const nodeColor = seriesData.nodeOptions?.color;
@@ -39,6 +40,7 @@ export const getSeriesWithDefaultValues = (seriesData, seriesIndex, colors) => {
39
40
  return _extends({
40
41
  id: seriesData.id ?? `auto-generated-id-${seriesIndex}`
41
42
  }, seriesData, {
43
+ valueFormatter: seriesData.valueFormatter ?? defaultSankeyValueFormatter,
42
44
  data: {
43
45
  links: data.links,
44
46
  nodes: nodeMap
@@ -1,6 +1,7 @@
1
1
  export const tooltipGetter = params => {
2
2
  const {
3
- identifier
3
+ identifier,
4
+ series
4
5
  } = params;
5
6
  if (!identifier) {
6
7
  return null;
@@ -15,7 +16,11 @@ export const tooltipGetter = params => {
15
16
  color: node.color,
16
17
  label: `${node.label}:`,
17
18
  value: node.value,
18
- formattedValue: `${node.value}`,
19
+ formattedValue: series.valueFormatter(node.value, {
20
+ type: 'node',
21
+ nodeId: node.id,
22
+ location: 'tooltip'
23
+ }),
19
24
  markType: 'square'
20
25
  };
21
26
  }
@@ -31,7 +36,12 @@ export const tooltipGetter = params => {
31
36
  color: link.color,
32
37
  label: `${sourceLabel} → ${targetLabel}:`,
33
38
  value: link.value,
34
- formattedValue: `${link.value}`,
39
+ formattedValue: series.valueFormatter(link.value, {
40
+ type: 'link',
41
+ sourceId: link.source.id,
42
+ targetId: link.target.id,
43
+ location: 'tooltip'
44
+ }),
35
45
  markType: 'line'
36
46
  };
37
47
  }
@@ -2,7 +2,7 @@ import type { ChartsOverlayProps } from '@mui/x-charts/ChartsOverlay';
2
2
  import type { ChartsWrapperProps } from '@mui/x-charts/ChartsWrapper';
3
3
  import type { SankeyChartProps } from "./SankeyChart.js";
4
4
  import type { ChartContainerProProps } from "../ChartContainerPro/index.js";
5
- import { type SankeyChartPluginsSignatures } from "./SankeyChart.plugins.js";
5
+ import { type SankeyChartPluginSignatures } from "./SankeyChart.plugins.js";
6
6
  /**
7
7
  * A helper function that extracts SankeyChartProps from the input props
8
8
  * and returns an object with props for the children components of SankeyChart.
@@ -11,7 +11,7 @@ import { type SankeyChartPluginsSignatures } from "./SankeyChart.plugins.js";
11
11
  * @returns An object with props for the children components of SankeyChart
12
12
  */
13
13
  export declare const useSankeyChartProps: (props: SankeyChartProps) => {
14
- chartContainerProps: ChartContainerProProps<"sankey", SankeyChartPluginsSignatures>;
14
+ chartContainerProps: ChartContainerProProps<"sankey", SankeyChartPluginSignatures>;
15
15
  sankeyPlotProps: {
16
16
  onNodeClick: ((event: React.MouseEvent<SVGElement, MouseEvent>, node: import("./sankey.types.js").SankeyNodeIdentifierWithData) => void) | undefined;
17
17
  onLinkClick: ((event: React.MouseEvent<SVGElement, MouseEvent>, link: import("./sankey.types.js").SankeyLinkIdentifierWithData) => void) | undefined;
@@ -31,9 +31,9 @@ export const useSankeyChartProps = props => {
31
31
  onNodeClick,
32
32
  onLinkClick
33
33
  } = props,
34
- rest = _objectWithoutPropertiesLoose(props, _excluded);
34
+ other = _objectWithoutPropertiesLoose(props, _excluded);
35
35
  const margin = defaultizeMargin(marginProps, DEFAULT_MARGINS);
36
- const chartContainerProps = _extends({}, rest, {
36
+ const chartContainerProps = _extends({}, other, {
37
37
  series: [_extends({
38
38
  type: 'sankey'
39
39
  }, series)],
@@ -58,7 +58,8 @@ export const useSankeyChartProps = props => {
58
58
  loading
59
59
  };
60
60
  const chartsWrapperProps = {
61
- sx
61
+ sx,
62
+ hideLegend: false
62
63
  };
63
64
  return {
64
65
  chartContainerProps,
@@ -3,7 +3,7 @@ import { ScatterChartProps, ScatterChartSlotProps, ScatterChartSlots } from '@mu
3
3
  import { ChartsTooltipProps } from '@mui/x-charts/ChartsTooltip';
4
4
  import { ChartsSlotPropsPro, ChartsSlotsPro } from "../internals/material/index.js";
5
5
  import { ChartContainerProProps } from "../ChartContainerPro/ChartContainerPro.js";
6
- import { ScatterChartProPluginsSignatures } from "./ScatterChartPro.plugins.js";
6
+ import { ScatterChartProPluginSignatures } from "./ScatterChartPro.plugins.js";
7
7
  import { ChartsToolbarProSlots, ChartsToolbarProSlotProps } from "../ChartsToolbarPro/Toolbar.types.js";
8
8
  export interface ScatterChartProSlots extends Omit<ScatterChartSlots, 'toolbar'>, ChartsToolbarProSlots, Partial<ChartsSlotsPro> {}
9
9
  export interface ScatterChartProSlotProps extends Omit<ScatterChartSlotProps, 'toolbar' | 'tooltip'>, ChartsToolbarProSlotProps, Partial<ChartsSlotPropsPro> {
@@ -13,7 +13,7 @@ export interface ScatterChartProSlotProps extends Omit<ScatterChartSlotProps, 't
13
13
  */
14
14
  tooltip?: Partial<ChartsTooltipProps<'item' | 'none'>>;
15
15
  }
16
- export interface ScatterChartProProps extends Omit<ScatterChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'scatter', ScatterChartProPluginsSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'onItemClick' | 'slots' | 'slotProps' | 'experimentalFeatures' | 'highlightedAxis' | 'onHighlightedAxisChange'> {
16
+ export interface ScatterChartProProps extends Omit<ScatterChartProps, 'apiRef' | 'slots' | 'slotProps'>, Omit<ChartContainerProProps<'scatter', ScatterChartProPluginSignatures>, 'series' | 'plugins' | 'seriesConfig' | 'onItemClick' | 'slots' | 'slotProps' | 'experimentalFeatures' | 'highlightedAxis' | 'onHighlightedAxisChange'> {
17
17
  /**
18
18
  * Overridable component slots.
19
19
  * @default {}