@mui/x-charts 8.26.0 → 8.27.4

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 (124) hide show
  1. package/CHANGELOG.md +314 -0
  2. package/ChartContainer/ChartContainer.d.ts +16 -29
  3. package/ChartContainer/ChartContainer.js +14 -1691
  4. package/ChartContainer/useChartContainerProps.d.ts +9 -10
  5. package/ChartContainer/useChartContainerProps.js +9 -94
  6. package/ChartDataProvider/ChartDataProvider.d.ts +15 -44
  7. package/ChartDataProvider/ChartDataProvider.js +16 -130
  8. package/ChartDataProvider/useChartDataProviderProps.d.ts +7 -10
  9. package/ChartDataProvider/useChartDataProviderProps.js +5 -38
  10. package/ChartsAxis/axisClasses.d.ts +2 -0
  11. package/ChartsContainer/ChartsContainer.d.ts +37 -0
  12. package/ChartsContainer/ChartsContainer.js +1702 -0
  13. package/ChartsContainer/index.d.ts +1 -0
  14. package/ChartsContainer/index.js +16 -0
  15. package/ChartsContainer/useChartsContainerProps.d.ts +15 -0
  16. package/ChartsContainer/useChartsContainerProps.js +104 -0
  17. package/ChartsDataProvider/ChartsDataProvider.d.ts +51 -0
  18. package/ChartsDataProvider/ChartsDataProvider.js +138 -0
  19. package/ChartsDataProvider/index.d.ts +1 -0
  20. package/ChartsDataProvider/index.js +16 -0
  21. package/ChartsDataProvider/useChartsDataProviderProps.d.ts +13 -0
  22. package/ChartsDataProvider/useChartsDataProviderProps.js +45 -0
  23. package/ChartsSurface/ChartsSurface.js +4 -0
  24. package/ChartsXAxis/ChartsXAxisImpl.js +1 -0
  25. package/ChartsYAxis/ChartsYAxisImpl.js +1 -0
  26. package/RadarChart/RadarChart.d.ts +1 -1
  27. package/RadarChart/useRadarChartProps.js +1 -1
  28. package/context/ChartProvider/ChartContext.d.ts +2 -3
  29. package/context/ChartProvider/ChartContext.js +3 -4
  30. package/context/ChartProvider/ChartProvider.d.ts +5 -8
  31. package/context/ChartProvider/ChartProvider.js +6 -41
  32. package/context/ChartProvider/ChartProvider.types.d.ts +14 -41
  33. package/context/ChartProvider/useChartContext.d.ts +4 -3
  34. package/context/ChartProvider/useChartContext.js +5 -11
  35. package/context/ChartsProvider/ChartsContext.d.ts +6 -0
  36. package/context/ChartsProvider/ChartsContext.js +14 -0
  37. package/context/ChartsProvider/ChartsProvider.d.ts +8 -0
  38. package/context/ChartsProvider/ChartsProvider.js +47 -0
  39. package/context/ChartsProvider/ChartsProvider.types.d.ts +40 -0
  40. package/context/ChartsProvider/ChartsProvider.types.js +5 -0
  41. package/context/ChartsProvider/index.d.ts +3 -0
  42. package/context/ChartsProvider/index.js +38 -0
  43. package/context/ChartsProvider/useChartsContext.d.ts +3 -0
  44. package/context/ChartsProvider/useChartsContext.js +18 -0
  45. package/context/ChartsSlotsContext.d.ts +1 -1
  46. package/context/ChartsSlotsContext.js +1 -1
  47. package/esm/ChartContainer/ChartContainer.d.ts +16 -29
  48. package/esm/ChartContainer/ChartContainer.js +15 -1690
  49. package/esm/ChartContainer/useChartContainerProps.d.ts +9 -10
  50. package/esm/ChartContainer/useChartContainerProps.js +10 -93
  51. package/esm/ChartDataProvider/ChartDataProvider.d.ts +15 -44
  52. package/esm/ChartDataProvider/ChartDataProvider.js +16 -128
  53. package/esm/ChartDataProvider/useChartDataProviderProps.d.ts +7 -10
  54. package/esm/ChartDataProvider/useChartDataProviderProps.js +6 -36
  55. package/esm/ChartsAxis/axisClasses.d.ts +2 -0
  56. package/esm/ChartsContainer/ChartsContainer.d.ts +37 -0
  57. package/esm/ChartsContainer/ChartsContainer.js +1696 -0
  58. package/esm/ChartsContainer/index.d.ts +1 -0
  59. package/esm/ChartsContainer/index.js +1 -0
  60. package/esm/ChartsContainer/useChartsContainerProps.d.ts +15 -0
  61. package/esm/ChartsContainer/useChartsContainerProps.js +97 -0
  62. package/esm/ChartsDataProvider/ChartsDataProvider.d.ts +51 -0
  63. package/esm/ChartsDataProvider/ChartsDataProvider.js +132 -0
  64. package/esm/ChartsDataProvider/index.d.ts +1 -0
  65. package/esm/ChartsDataProvider/index.js +1 -0
  66. package/esm/ChartsDataProvider/useChartsDataProviderProps.d.ts +13 -0
  67. package/esm/ChartsDataProvider/useChartsDataProviderProps.js +38 -0
  68. package/esm/ChartsSurface/ChartsSurface.js +4 -0
  69. package/esm/ChartsXAxis/ChartsXAxisImpl.js +1 -0
  70. package/esm/ChartsYAxis/ChartsYAxisImpl.js +1 -0
  71. package/esm/RadarChart/RadarChart.d.ts +1 -1
  72. package/esm/RadarChart/useRadarChartProps.js +1 -1
  73. package/esm/context/ChartProvider/ChartContext.d.ts +2 -3
  74. package/esm/context/ChartProvider/ChartContext.js +4 -3
  75. package/esm/context/ChartProvider/ChartProvider.d.ts +5 -8
  76. package/esm/context/ChartProvider/ChartProvider.js +5 -38
  77. package/esm/context/ChartProvider/ChartProvider.types.d.ts +14 -41
  78. package/esm/context/ChartProvider/useChartContext.d.ts +4 -3
  79. package/esm/context/ChartProvider/useChartContext.js +6 -9
  80. package/esm/context/ChartsProvider/ChartsContext.d.ts +6 -0
  81. package/esm/context/ChartsProvider/ChartsContext.js +8 -0
  82. package/esm/context/ChartsProvider/ChartsProvider.d.ts +8 -0
  83. package/esm/context/ChartsProvider/ChartsProvider.js +41 -0
  84. package/esm/context/ChartsProvider/ChartsProvider.types.d.ts +40 -0
  85. package/esm/context/ChartsProvider/ChartsProvider.types.js +1 -0
  86. package/esm/context/ChartsProvider/index.d.ts +3 -0
  87. package/esm/context/ChartsProvider/index.js +3 -0
  88. package/esm/context/ChartsProvider/useChartsContext.d.ts +3 -0
  89. package/esm/context/ChartsProvider/useChartsContext.js +11 -0
  90. package/esm/context/ChartsSlotsContext.d.ts +1 -1
  91. package/esm/context/ChartsSlotsContext.js +1 -1
  92. package/esm/index.d.ts +4 -1
  93. package/esm/index.js +3 -1
  94. package/esm/internals/index.d.ts +4 -0
  95. package/esm/internals/index.js +4 -0
  96. package/esm/internals/plugins/featurePlugins/useChartItemClick/index.d.ts +2 -0
  97. package/esm/internals/plugins/featurePlugins/useChartItemClick/index.js +1 -0
  98. package/esm/internals/plugins/featurePlugins/useChartItemClick/useChartItemClick.d.ts +3 -0
  99. package/esm/internals/plugins/featurePlugins/useChartItemClick/useChartItemClick.js +48 -0
  100. package/esm/internals/plugins/featurePlugins/useChartItemClick/useChartItemClick.types.d.ts +22 -0
  101. package/esm/internals/plugins/featurePlugins/useChartItemClick/useChartItemClick.types.js +1 -0
  102. package/esm/internals/plugins/models/seriesConfig/getItemAtPosition.types.d.ts +8 -0
  103. package/esm/internals/plugins/models/seriesConfig/getItemAtPosition.types.js +1 -0
  104. package/esm/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +10 -1
  105. package/esm/internals/store/useStore.js +1 -1
  106. package/esm/themeAugmentation/components.d.ts +4 -0
  107. package/esm/themeAugmentation/props.d.ts +4 -2
  108. package/index.d.ts +4 -1
  109. package/index.js +21 -1
  110. package/internals/index.d.ts +4 -0
  111. package/internals/index.js +48 -0
  112. package/internals/plugins/featurePlugins/useChartItemClick/index.d.ts +2 -0
  113. package/internals/plugins/featurePlugins/useChartItemClick/index.js +12 -0
  114. package/internals/plugins/featurePlugins/useChartItemClick/useChartItemClick.d.ts +3 -0
  115. package/internals/plugins/featurePlugins/useChartItemClick/useChartItemClick.js +54 -0
  116. package/internals/plugins/featurePlugins/useChartItemClick/useChartItemClick.types.d.ts +22 -0
  117. package/internals/plugins/featurePlugins/useChartItemClick/useChartItemClick.types.js +5 -0
  118. package/internals/plugins/models/seriesConfig/getItemAtPosition.types.d.ts +8 -0
  119. package/internals/plugins/models/seriesConfig/getItemAtPosition.types.js +5 -0
  120. package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +10 -1
  121. package/internals/store/useStore.js +1 -1
  122. package/package.json +3 -3
  123. package/themeAugmentation/components.d.ts +4 -0
  124. package/themeAugmentation/props.d.ts +4 -2
@@ -0,0 +1,22 @@
1
+ import type { ChartPluginSignature, ChartSeriesTypeRequiredPlugins } from "../../models/index.js";
2
+ import type { ChartSeriesType } from "../../../../models/seriesType/config.js";
3
+ import type { SeriesItemIdentifier } from "../../../../models/seriesType/index.js";
4
+ export interface UseChartItemClickParameters<SeriesType extends ChartSeriesType = ChartSeriesType> {
5
+ /**
6
+ * The callback fired when an item is clicked.
7
+ *
8
+ * @param {React.MouseEvent<SVGSVGElement, MouseEvent>} event The click event.
9
+ * @param {SeriesItemIdentifier<SeriesType>} item The clicked item.
10
+ */
11
+ onItemClick?: (event: React.MouseEvent<SVGSVGElement, MouseEvent>, item: SeriesItemIdentifier<SeriesType>) => void;
12
+ }
13
+ export interface UseChartItemClickInstance {
14
+ handleClick?: (event: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;
15
+ }
16
+ export interface UseChartItemClickState {}
17
+ export type UseChartItemClickSignature<SeriesType extends ChartSeriesType = ChartSeriesType> = ChartPluginSignature<{
18
+ params: UseChartItemClickParameters<SeriesType>;
19
+ defaultizedParams: UseChartItemClickParameters<SeriesType>;
20
+ instance: UseChartItemClickInstance;
21
+ dependencies: ChartSeriesTypeRequiredPlugins<SeriesType>;
22
+ }>;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,8 @@
1
+ import type { SeriesItemIdentifier } from "../../../../models/seriesType/index.js";
2
+ import type { ChartState } from "../chart.js";
3
+ import type { ChartSeriesType } from "../../../../models/seriesType/config.js";
4
+ import type { ChartSeriesTypeRequiredPlugins } from "./seriesConfig.types.js";
5
+ export type GetItemAtPosition<TSeriesType extends ChartSeriesType> = (state: ChartState<ChartSeriesTypeRequiredPlugins<TSeriesType>>, point: {
6
+ x: number;
7
+ y: number;
8
+ }) => SeriesItemIdentifier<TSeriesType> | undefined;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,5 +1,5 @@
1
1
  import type { SeriesProcessor } from "./seriesProcessor.types.js";
2
- import type { CartesianChartSeriesType, ChartSeriesType, PolarChartSeriesType } from "../../../../models/seriesType/config.js";
2
+ import type { CartesianChartSeriesType, ChartSeriesType, ChartsSeriesConfig, PolarChartSeriesType } from "../../../../models/seriesType/config.js";
3
3
  import type { ColorProcessor } from "./colorProcessor.types.js";
4
4
  import type { CartesianExtremumGetter } from "./cartesianExtremumGetter.types.js";
5
5
  import type { LegendGetter } from "./legendGetter.types.js";
@@ -10,6 +10,14 @@ import { type TooltipItemPositionGetter } from "./tooltipItemPositionGetter.type
10
10
  import { type SeriesLayoutGetter } from "./seriesLayout.types.js";
11
11
  import { type KeyboardFocusHandler } from "../../featurePlugins/useChartKeyboardNavigation/keyboardFocusHandler.types.js";
12
12
  import { type IdentifierSerializer } from "./identifierSerializer.types.js";
13
+ import { type GetItemAtPosition } from "./getItemAtPosition.types.js";
14
+ import { type UseChartCartesianAxisSignature } from "../../featurePlugins/useChartCartesianAxis/index.js";
15
+ import { type UseChartPolarAxisSignature } from "../../featurePlugins/useChartPolarAxis/index.js";
16
+ export type ChartSeriesTypeRequiredPlugins<TSeriesType extends ChartSeriesType> = ChartsSeriesConfig[TSeriesType] extends {
17
+ axisType: 'cartesian';
18
+ } ? [UseChartCartesianAxisSignature] : ChartsSeriesConfig[TSeriesType] extends {
19
+ axisType: 'polar';
20
+ } ? [UseChartPolarAxisSignature] : [];
13
21
  export type ChartSeriesTypeConfig<TSeriesType extends ChartSeriesType> = {
14
22
  seriesProcessor: SeriesProcessor<TSeriesType>;
15
23
  /**
@@ -28,6 +36,7 @@ export type ChartSeriesTypeConfig<TSeriesType extends ChartSeriesType> = {
28
36
  * @returns {string} A unique string representation of the identifier.
29
37
  */
30
38
  identifierSerializer: IdentifierSerializer<TSeriesType>;
39
+ getItemAtPosition?: GetItemAtPosition<TSeriesType>;
31
40
  } & (TSeriesType extends CartesianChartSeriesType ? {
32
41
  xExtremumGetter: CartesianExtremumGetter<TSeriesType>;
33
42
  yExtremumGetter: CartesianExtremumGetter<TSeriesType>;
@@ -9,7 +9,7 @@ var _ChartProvider = require("../../context/ChartProvider");
9
9
  function useStore() {
10
10
  const context = (0, _ChartProvider.useChartContext)();
11
11
  if (!context) {
12
- throw new Error(['MUI X Charts: Could not find the charts context.', 'It looks like you rendered your component outside of a ChartContainer parent component.'].join('\n'));
12
+ throw new Error('MUI X Charts: Could not find the Charts context. ' + 'This happens when the component is rendered outside of a ChartsContainer parent component. ' + 'Wrap your component in a ChartsContainer or ChartsDataProvider.');
13
13
  }
14
14
  return context.store;
15
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-charts",
3
- "version": "8.26.0",
3
+ "version": "8.27.4",
4
4
  "author": "MUI Team",
5
5
  "description": "The community edition of MUI X Charts components.",
6
6
  "license": "MIT",
@@ -34,9 +34,9 @@
34
34
  "prop-types": "^15.8.1",
35
35
  "reselect": "^5.1.1",
36
36
  "use-sync-external-store": "^1.6.0",
37
- "@mui/x-charts-vendor": "8.26.0",
37
+ "@mui/x-internal-gestures": "0.4.0",
38
38
  "@mui/x-internals": "8.26.0",
39
- "@mui/x-internal-gestures": "0.4.0"
39
+ "@mui/x-charts-vendor": "8.26.0"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "@emotion/react": "^11.9.0",
@@ -33,6 +33,10 @@ export interface ChartsComponents<Theme = unknown> {
33
33
  defaultProps?: ComponentsProps['MuiChartsSurface'];
34
34
  styleOverrides?: ComponentsOverrides<Theme>['MuiChartsSurface'];
35
35
  };
36
+ MuiChartsDataProvider?: {
37
+ defaultProps?: ComponentsProps['MuiChartsDataProvider'];
38
+ };
39
+ /** @deprecated Use `MuiChartsDataProvider` instead. */
36
40
  MuiChartDataProvider?: {
37
41
  defaultProps?: ComponentsProps['MuiChartDataProvider'];
38
42
  };
@@ -9,7 +9,7 @@ import { type ScatterChartProps } from "../ScatterChart/ScatterChart.js";
9
9
  import { type PieChartProps } from "../PieChart/PieChart.js";
10
10
  import { type ChartsXAxisProps, type ChartsYAxisProps } from "../models/axis.js";
11
11
  import { type ChartsLocalizationProviderProps } from "../ChartsLocalizationProvider/index.js";
12
- import { type ChartDataProviderProps } from "../ChartDataProvider/index.js";
12
+ import { type ChartsDataProviderProps } from "../ChartsDataProvider/index.js";
13
13
  export interface ChartsComponentsPropsList {
14
14
  MuiChartsXAxis: ChartsXAxisProps;
15
15
  MuiChartsYAxis: ChartsYAxisProps;
@@ -18,7 +18,9 @@ export interface ChartsComponentsPropsList {
18
18
  MuiChartsLocalizationProvider: ChartsLocalizationProviderProps;
19
19
  MuiChartsTooltip: ChartsTooltipProps;
20
20
  MuiChartsSurface: ChartsSurfaceProps;
21
- MuiChartDataProvider: ChartDataProviderProps;
21
+ MuiChartsDataProvider: ChartsDataProviderProps;
22
+ /** @deprecated Use `MuiChartsDataProvider` instead. */
23
+ MuiChartDataProvider: ChartsDataProviderProps;
22
24
  MuiBarChart: BarChartProps;
23
25
  MuiBarLabel: BarLabelProps;
24
26
  MuiLineChart: LineChartProps;