@mui/x-charts 8.5.1 → 8.5.3

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 (118) hide show
  1. package/CHANGELOG.md +187 -10
  2. package/ChartsGrid/ChartsHorizontalGrid.js +1 -1
  3. package/ChartsGrid/ChartsVerticalGrid.js +1 -1
  4. package/ChartsLegend/ChartsLegend.d.ts +1 -0
  5. package/ChartsLegend/ChartsLegend.js +1 -0
  6. package/ChartsLegend/ContinuousColorLegend.d.ts +1 -0
  7. package/ChartsLegend/PiecewiseColorLegend.d.ts +1 -0
  8. package/ChartsLegend/chartsLegendClasses.d.ts +3 -1
  9. package/ChartsLegend/chartsLegendClasses.js +2 -1
  10. package/ChartsSurface/ChartsSurface.d.ts +1 -1
  11. package/ChartsTooltip/ChartsTooltipTable.d.ts +1 -1
  12. package/RadarChart/index.d.ts +1 -1
  13. package/ScatterChart/Scatter.d.ts +2 -0
  14. package/ScatterChart/Scatter.js +9 -1
  15. package/ScatterChart/index.d.ts +3 -1
  16. package/ScatterChart/index.js +16 -1
  17. package/ScatterChart/scatterClasses.d.ts +8 -0
  18. package/ScatterChart/scatterClasses.js +22 -0
  19. package/Toolbar/Toolbar.js +1 -0
  20. package/esm/ChartsGrid/ChartsHorizontalGrid.js +1 -1
  21. package/esm/ChartsGrid/ChartsVerticalGrid.js +1 -1
  22. package/esm/ChartsLegend/ChartsLegend.d.ts +1 -0
  23. package/esm/ChartsLegend/ChartsLegend.js +1 -0
  24. package/esm/ChartsLegend/ContinuousColorLegend.d.ts +1 -0
  25. package/esm/ChartsLegend/PiecewiseColorLegend.d.ts +1 -0
  26. package/esm/ChartsLegend/chartsLegendClasses.d.ts +3 -1
  27. package/esm/ChartsLegend/chartsLegendClasses.js +2 -1
  28. package/esm/ChartsSurface/ChartsSurface.d.ts +1 -1
  29. package/esm/ChartsTooltip/ChartsTooltipTable.d.ts +1 -1
  30. package/esm/RadarChart/index.d.ts +1 -1
  31. package/esm/ScatterChart/Scatter.d.ts +2 -0
  32. package/esm/ScatterChart/Scatter.js +9 -1
  33. package/esm/ScatterChart/index.d.ts +3 -1
  34. package/esm/ScatterChart/index.js +2 -1
  35. package/esm/ScatterChart/scatterClasses.d.ts +8 -0
  36. package/esm/ScatterChart/scatterClasses.js +13 -0
  37. package/esm/Toolbar/Toolbar.js +1 -0
  38. package/esm/hooks/useItemHighlighted.js +2 -2
  39. package/esm/index.js +1 -1
  40. package/esm/internals/createSeriesSelectorOfType.js +2 -2
  41. package/esm/internals/defaultValueFormatters.d.ts +6 -0
  42. package/esm/internals/defaultValueFormatters.js +15 -0
  43. package/esm/internals/index.d.ts +5 -0
  44. package/esm/internals/index.js +5 -0
  45. package/esm/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.d.ts +3 -29
  46. package/esm/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.js +1 -1
  47. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +14 -724
  48. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +10 -10
  49. package/esm/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +3 -29
  50. package/esm/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +1 -1
  51. package/esm/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +6 -54
  52. package/esm/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +2 -2
  53. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +3 -1
  54. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +12 -208
  55. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.d.ts +7 -66
  56. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.js +2 -3
  57. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +21 -6222
  58. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js +4 -6
  59. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +50 -5
  60. package/esm/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +18 -622
  61. package/esm/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +3 -3
  62. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +18 -230
  63. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +6 -6
  64. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +17 -2012
  65. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +2 -2
  66. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +39 -4
  67. package/esm/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.d.ts +3 -27
  68. package/esm/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.js +1 -1
  69. package/esm/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +5 -40
  70. package/esm/internals/plugins/models/seriesConfig/colorProcessor.types.d.ts +5 -0
  71. package/esm/internals/plugins/models/seriesConfig/tooltipGetter.types.d.ts +3 -2
  72. package/esm/internals/plugins/utils/selectors.d.ts +18 -6
  73. package/esm/internals/plugins/utils/selectors.js +3 -3
  74. package/esm/internals/store/useSelector.d.ts +2 -2
  75. package/esm/internals/store/useSelector.js +5 -3
  76. package/esm/models/axis.d.ts +3 -2
  77. package/esm/models/index.d.ts +1 -1
  78. package/hooks/useItemHighlighted.js +2 -2
  79. package/index.js +1 -1
  80. package/internals/createSeriesSelectorOfType.js +2 -2
  81. package/internals/defaultValueFormatters.d.ts +6 -0
  82. package/internals/defaultValueFormatters.js +21 -0
  83. package/internals/index.d.ts +5 -0
  84. package/internals/index.js +52 -0
  85. package/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.d.ts +3 -29
  86. package/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.js +1 -1
  87. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +14 -724
  88. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +11 -10
  89. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +3 -29
  90. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +1 -1
  91. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +6 -54
  92. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +2 -2
  93. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +3 -1
  94. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +12 -208
  95. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.d.ts +7 -66
  96. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.js +4 -3
  97. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +21 -6222
  98. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js +4 -6
  99. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +50 -5
  100. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +18 -622
  101. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +3 -3
  102. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +18 -230
  103. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +6 -6
  104. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +17 -2012
  105. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +2 -2
  106. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +39 -4
  107. package/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.d.ts +3 -27
  108. package/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.js +1 -1
  109. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +5 -40
  110. package/internals/plugins/models/seriesConfig/colorProcessor.types.d.ts +5 -0
  111. package/internals/plugins/models/seriesConfig/tooltipGetter.types.d.ts +3 -2
  112. package/internals/plugins/utils/selectors.d.ts +18 -6
  113. package/internals/plugins/utils/selectors.js +3 -3
  114. package/internals/store/useSelector.d.ts +2 -2
  115. package/internals/store/useSelector.js +6 -3
  116. package/models/axis.d.ts +3 -2
  117. package/models/index.d.ts +1 -1
  118. package/package.json +4 -4
@@ -1,29 +1,5 @@
1
- import { ChartRootSelector } from "../../utils/selectors.js";
2
- import { UseChartVoronoiSignature } from "./useChartVoronoi.types.js";
3
- export declare const selectorChartsVoronoiIsVoronoiEnabled: ((state: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("./useChartVoronoi.types.js").UseChartVoronoiState & Partial<{}> & {
1
+ export declare const selectorChartsVoronoiIsVoronoiEnabled: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("./useChartVoronoi.types.js").UseChartVoronoiState & Partial<{}> & {
4
2
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
5
- }) => boolean | undefined) & {
6
- clearCache: () => void;
7
- resultsCount: () => number;
8
- resetResultsCount: () => void;
9
3
  } & {
10
- resultFunc: (resultFuncArgs_0: {
11
- isVoronoiEnabled?: boolean;
12
- }) => boolean | undefined;
13
- memoizedResultFunc: ((resultFuncArgs_0: {
14
- isVoronoiEnabled?: boolean;
15
- }) => boolean | undefined) & {
16
- clearCache: () => void;
17
- resultsCount: () => number;
18
- resetResultsCount: () => void;
19
- };
20
- lastResult: () => boolean | undefined;
21
- dependencies: [ChartRootSelector<UseChartVoronoiSignature>];
22
- recomputations: () => number;
23
- resetRecomputations: () => void;
24
- dependencyRecomputations: () => number;
25
- resetDependencyRecomputations: () => void;
26
- } & {
27
- memoize: typeof import("reselect").weakMapMemoize;
28
- argsMemoize: typeof import("reselect").weakMapMemoize;
29
- };
4
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
5
+ }, boolean | undefined, any[]>;
@@ -6,4 +6,4 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.selectorChartsVoronoiIsVoronoiEnabled = void 0;
7
7
  var _selectors = require("../../utils/selectors");
8
8
  const selectVoronoi = state => state.voronoi;
9
- const selectorChartsVoronoiIsVoronoiEnabled = exports.selectorChartsVoronoiIsVoronoiEnabled = (0, _selectors.createSelector)(selectVoronoi, voronoi => voronoi?.isVoronoiEnabled);
9
+ const selectorChartsVoronoiIsVoronoiEnabled = exports.selectorChartsVoronoiIsVoronoiEnabled = (0, _selectors.createSelector)([selectVoronoi], voronoi => voronoi?.isVoronoiEnabled);
@@ -1,45 +1,10 @@
1
- import { ChartState } from "../../models/chart.js";
2
- import { UseChartZAxisSignature } from "./useChartZAxis.types.js";
3
- export declare const selectorChartZAxis: ((state: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("./useChartZAxis.types.js").UseChartZAxisState & Partial<{}> & {
1
+ export declare const selectorChartZAxis: import("reselect").Selector<import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("./useChartZAxis.types.js").UseChartZAxisState & Partial<{}> & {
4
2
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
5
- }) => {
3
+ } & {
4
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
5
+ }, {
6
6
  axis: {
7
7
  [axisId: string]: import("../../../index.js").ZAxisDefaultized;
8
8
  };
9
9
  axisIds: import("../../../index.js").AxisId[];
10
- }) & {
11
- clearCache: () => void;
12
- resultsCount: () => number;
13
- resetResultsCount: () => void;
14
- } & {
15
- resultFunc: (resultFuncArgs_0: ChartState<[UseChartZAxisSignature]>) => {
16
- axis: {
17
- [axisId: string]: import("../../../index.js").ZAxisDefaultized;
18
- };
19
- axisIds: import("../../../index.js").AxisId[];
20
- };
21
- memoizedResultFunc: ((resultFuncArgs_0: ChartState<[UseChartZAxisSignature]>) => {
22
- axis: {
23
- [axisId: string]: import("../../../index.js").ZAxisDefaultized;
24
- };
25
- axisIds: import("../../../index.js").AxisId[];
26
- }) & {
27
- clearCache: () => void;
28
- resultsCount: () => number;
29
- resetResultsCount: () => void;
30
- };
31
- lastResult: () => {
32
- axis: {
33
- [axisId: string]: import("../../../index.js").ZAxisDefaultized;
34
- };
35
- axisIds: import("../../../index.js").AxisId[];
36
- };
37
- dependencies: [(state: ChartState<[UseChartZAxisSignature]>) => ChartState<[UseChartZAxisSignature]>];
38
- recomputations: () => number;
39
- resetRecomputations: () => void;
40
- dependencyRecomputations: () => number;
41
- resetDependencyRecomputations: () => void;
42
- } & {
43
- memoize: typeof import("reselect").weakMapMemoize;
44
- argsMemoize: typeof import("reselect").weakMapMemoize;
45
- };
10
+ }, []>;
@@ -10,5 +10,10 @@ export type ColorGetter<TSeriesType extends ChartSeriesType> = TSeriesType exten
10
10
  /**
11
11
  * Transforms charts config to a color getter.
12
12
  * If dataIndex is not defined, it falls back to the series color.
13
+ * @param {DefaultizedSeriesType<TSeriesType>} series - The series configuration.
14
+ * @param {ComputedXAxis | undefined} xAxis - The computed x-axis configuration.
15
+ * @param {ComputedYAxis | undefined} yAxis - The computed y-axis configuration.
16
+ * @param {ZAxisDefaultized | undefined} zAxis - The defaulted z-axis configuration.
17
+ * @returns {ColorGetter<TSeriesType>} A function that takes a data index and returns a color string.
13
18
  */
14
19
  export type ColorProcessor<TSeriesType extends ChartSeriesType> = (series: DefaultizedSeriesType<TSeriesType>, xAxis?: ComputedXAxis, yAxis?: ComputedYAxis, zAxis?: ZAxisDefaultized) => ColorGetter<TSeriesType>;
@@ -62,9 +62,10 @@ export type TooltipGetter<TSeriesType extends ChartSeriesType> = (params: {
62
62
  identifier: ChartItemIdentifier<TSeriesType> | null;
63
63
  }) => (TSeriesType extends 'radar' ? ItemTooltipWithMultipleValues<TSeriesType> : ItemTooltip<TSeriesType>) | null;
64
64
  /**
65
- * Return an array of the axes that should trigger the tooltip.
66
- *
67
65
  * If `axisId` is set to undefined, the default axis will be used.
66
+ *
67
+ * @param {Record<SeriesId, ChartSeriesDefaultized<TSeriesType>>} series A map of series ID to their series configuration.
68
+ * @returns {{ direction: Directions; axisId: AxisId | undefined }[]} an array of the axes that should trigger the tooltip.
68
69
  */
69
70
  export type AxisTooltipGetter<TSeriesType extends ChartSeriesType, Directions extends 'x' | 'y' | 'rotation' | 'radius' = 'x' | 'y'> = (series: Record<SeriesId, ChartSeriesDefaultized<TSeriesType>>) => {
70
71
  direction: Directions;
@@ -1,10 +1,22 @@
1
- import { CreateSelectorFunction } from 'reselect';
2
- import { ChartAnyPluginSignature, ChartState } from "../models/index.js";
3
- export type ChartRootSelector<TSignature extends ChartAnyPluginSignature> = <TSignatures extends [TSignature]>(state: ChartState<TSignatures>) => TSignature['state'][keyof TSignature['state']];
4
- export type ChartOptionalRootSelector<TSignature extends ChartAnyPluginSignature> = <TSignatures extends [TSignature]>(state: ChartState<[], TSignatures>) => TSignature['state'][keyof TSignature['state']] | undefined;
5
- export type ChartsSelector<TState, TArgs, TResult> = (state: TState, args: TArgs) => TResult;
1
+ import { SelectorArray, Combiner, Selector, GetStateFromSelectors, GetParamsFromSelectors, CreateSelectorOptions } from 'reselect';
2
+ import { ChartAnyPluginSignature, ChartState, ChartStateCacheKey } from "../models/index.js";
3
+ export type ChartRootSelector<TSignature extends ChartAnyPluginSignature> = Selector<ChartState<[TSignature]>, TSignature['state'][keyof TSignature['state']]>;
4
+ export type ChartOptionalRootSelector<TSignature extends ChartAnyPluginSignature> = Selector<ChartState<[], [TSignature]>, TSignature['state'][keyof TSignature['state']] | undefined>;
5
+ export type ChartsSelector<Signatures extends readonly ChartAnyPluginSignature[] = [], OptionalSignatures extends readonly ChartAnyPluginSignature[] = [], Result = unknown, Args extends readonly any[] = []> = Selector<ChartState<Signatures, OptionalSignatures>, Result, Args>;
6
+ type InterruptRecursion = NonNullable<unknown>;
7
+ type AnyFunction = (...args: any[]) => any;
8
+ export type Simplify<T> = T extends AnyFunction ? T : { [KeyType in keyof T]: T[KeyType] } & NonNullable<unknown>;
6
9
  /**
7
10
  * Method wrapping reselect's createSelector to provide caching for chart instances.
8
11
  *
9
12
  */
10
- export declare const createSelector: CreateSelectorFunction;
13
+ export declare const createSelector: <InputSelectors extends SelectorArray<any>, Result>(...createSelectorArgs: [inputSelectors: [...InputSelectors], combiner: Combiner<InputSelectors, Result>, createSelectorOptions?: Simplify<CreateSelectorOptions<any,
14
+ // MemoizeFunction,
15
+ any,
16
+ // ArgsMemoizeFunction,
17
+ any,
18
+ // OverrideMemoizeFunction,
19
+ any>>]) => Selector<GetStateFromSelectors<InputSelectors> & {
20
+ cacheKey: ChartStateCacheKey;
21
+ }, Result, GetParamsFromSelectors<InputSelectors> & InterruptRecursion>;
22
+ export {};
@@ -18,7 +18,7 @@ const cache = new WeakMap();
18
18
  *
19
19
  */
20
20
  const createSelector = (...createSelectorArgs) => {
21
- const selector = (state, selectorArgs) => {
21
+ const selector = (state, ...selectorArgs) => {
22
22
  const cacheKey = state.cacheKey;
23
23
 
24
24
  // If there is no cache for the current chart instance, create one.
@@ -31,13 +31,13 @@ const createSelector = (...createSelectorArgs) => {
31
31
  // If there is a cached selector, execute it.
32
32
  const cachedSelector = cacheForCurrentChartInstance.get(createSelectorArgs);
33
33
  if (cachedSelector) {
34
- return cachedSelector(state, selectorArgs);
34
+ return cachedSelector(state, ...selectorArgs);
35
35
  }
36
36
 
37
37
  // Otherwise, create a new selector and cache it and execute it.
38
38
  const fn = reselectCreateSelector(...createSelectorArgs);
39
39
  cacheForCurrentChartInstance.set(createSelectorArgs, fn);
40
- return fn(state, selectorArgs);
40
+ return fn(state, ...selectorArgs);
41
41
  };
42
42
  return selector;
43
43
  };
@@ -1,4 +1,4 @@
1
- import { ChartAnyPluginSignature, ChartState } from "../plugins/models/index.js";
1
+ import { ChartAnyPluginSignature } from "../plugins/models/index.js";
2
2
  import { ChartsSelector } from "../plugins/utils/selectors.js";
3
3
  import { ChartStore } from "../plugins/utils/ChartStore.js";
4
- export declare const useSelector: <TSignatures extends readonly ChartAnyPluginSignature[], TOptionalSignatures extends readonly ChartAnyPluginSignature[], TArgs, TValue>(store: ChartStore<TSignatures, TOptionalSignatures>, selector: ChartsSelector<ChartState<TSignatures, TOptionalSignatures>, TArgs, TValue>, args?: TArgs, equals?: (a: TValue, b: TValue) => boolean) => TValue;
4
+ export declare const useSelector: <TSignatures extends readonly ChartAnyPluginSignature[], TOptionalSignatures extends readonly ChartAnyPluginSignature[], TArgs extends readonly any[], TResult = unknown>(store: ChartStore<TSignatures, TOptionalSignatures>, selector: ChartsSelector<TSignatures, TOptionalSignatures, TResult, TArgs>, args?: [TArgs] extends [never] ? [] : TArgs, equals?: (a: TResult, b: TResult) => boolean) => TResult;
@@ -4,10 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useSelector = void 0;
7
- var _withSelector = require("use-sync-external-store/with-selector");
7
+ var _withSelector = require("use-sync-external-store/shim/with-selector");
8
+ /* We need to import the shim because React 17 does not support the `useSyncExternalStore` API.
9
+ * More info: https://github.com/mui/mui-x/issues/18303#issuecomment-2958392341 */
10
+
8
11
  const defaultCompare = Object.is;
9
- const useSelector = (store, selector, args = undefined, equals = defaultCompare) => {
10
- const selectorWithArgs = state => selector(state, args);
12
+ const useSelector = (store, selector, args = [], equals = defaultCompare) => {
13
+ const selectorWithArgs = state => selector(state, ...args);
11
14
  return (0, _withSelector.useSyncExternalStoreWithSelector)(store.subscribe, store.getSnapshot, store.getSnapshot, selectorWithArgs, equals);
12
15
  };
13
16
  exports.useSelector = useSelector;
package/models/axis.d.ts CHANGED
@@ -272,15 +272,16 @@ export type AxisValueFormatterContext<S extends ScaleName = ScaleName> = {
272
272
  * - `'legend'` The value is displayed in the legend when using color legend.
273
273
  * - `'zoom-slider-tooltip'` The value is displayed in the zoom slider tooltip.
274
274
  */
275
- location: 'legend' | 'zoom-slider-tooltip';
275
+ location: 'legend';
276
276
  } | {
277
277
  /**
278
278
  * Location indicates where the value will be displayed.
279
279
  * - `'tick'` The value is displayed on the axis ticks.
280
280
  * - `'tooltip'` The value is displayed in the tooltip when hovering the chart.
281
281
  * - `'legend'` The value is displayed in the legend when using color legend.
282
+ * - `'zoom-slider-tooltip'` The value is displayed in the zoom slider tooltip.
282
283
  */
283
- location: 'tick' | 'tooltip';
284
+ location: 'tick' | 'tooltip' | 'zoom-slider-tooltip';
284
285
  /**
285
286
  * The d3-scale instance associated to the axis.
286
287
  */
package/models/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export * from "./seriesType/index.js";
2
2
  export * from "./stacking.js";
3
3
  export * from "./slots/index.js";
4
- export type { AxisConfig, ChartsYAxisProps, ChartsXAxisProps, ScaleName, ContinuousScaleName, ChartsAxisData, XAxis, YAxis, RadiusAxis, RotationAxis } from "./axis.js";
4
+ export type { AxisConfig, ChartsYAxisProps, ChartsXAxisProps, ScaleName, ContinuousScaleName, ChartsAxisData, XAxis, YAxis, RadiusAxis, RotationAxis, AxisValueFormatterContext } from "./axis.js";
5
5
  export type { PropsFromSlot } from '@mui/x-internals/slots';
6
6
  export type { Position } from "./position.js";
7
7
  export type { CurveType } from "./curve.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-charts",
3
- "version": "8.5.1",
3
+ "version": "8.5.3",
4
4
  "author": "MUI Team",
5
5
  "description": "The community edition of MUI X Charts components.",
6
6
  "main": "./index.js",
@@ -29,15 +29,15 @@
29
29
  "directory": "packages/x-charts"
30
30
  },
31
31
  "dependencies": {
32
- "@babel/runtime": "^7.27.4",
32
+ "@babel/runtime": "^7.27.6",
33
33
  "@mui/utils": "^7.1.1",
34
34
  "bezier-easing": "^2.1.0",
35
35
  "clsx": "^2.1.1",
36
36
  "prop-types": "^15.8.1",
37
37
  "reselect": "^5.1.1",
38
38
  "use-sync-external-store": "^1.5.0",
39
- "@mui/x-charts-vendor": "8.5.1",
40
- "@mui/x-internals": "8.5.1"
39
+ "@mui/x-charts-vendor": "8.5.3",
40
+ "@mui/x-internals": "8.5.3"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "@emotion/react": "^11.9.0",