@mui/x-charts 8.5.2 → 8.6.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 (188) hide show
  1. package/BarChart/AnimatedBarElement.js +3 -1
  2. package/BarChart/BarLabel/BarLabelPlot.d.ts +2 -2
  3. package/BarChart/BarLabel/BarLabelPlot.js +33 -25
  4. package/BarChart/BarPlot.js +55 -40
  5. package/BarChart/barClasses.d.ts +12 -0
  6. package/BarChart/barClasses.js +25 -0
  7. package/BarChart/index.d.ts +3 -1
  8. package/BarChart/index.js +23 -1
  9. package/BarChart/types.d.ts +5 -1
  10. package/CHANGELOG.md +203 -11
  11. package/ChartsLegend/ChartsLegend.d.ts +1 -0
  12. package/ChartsLegend/ChartsLegend.js +2 -0
  13. package/ChartsLegend/ContinuousColorLegend.d.ts +1 -0
  14. package/ChartsLegend/PiecewiseColorLegend.d.ts +1 -0
  15. package/ChartsLegend/chartsLegendClasses.d.ts +3 -1
  16. package/ChartsLegend/chartsLegendClasses.js +2 -1
  17. package/ChartsSurface/ChartsSurface.d.ts +1 -1
  18. package/ChartsXAxis/ChartsXAxis.js +4 -108
  19. package/ChartsXAxis/getVisibleLabels.d.ts +14 -0
  20. package/ChartsXAxis/getVisibleLabels.js +71 -0
  21. package/ChartsXAxis/shortenLabels.d.ts +4 -0
  22. package/ChartsXAxis/shortenLabels.js +48 -0
  23. package/ChartsYAxis/ChartsYAxis.js +2 -39
  24. package/ChartsYAxis/shortenLabels.d.ts +4 -0
  25. package/ChartsYAxis/shortenLabels.js +46 -0
  26. package/LineChart/AnimatedArea.js +4 -1
  27. package/LineChart/AnimatedLine.js +4 -1
  28. package/LineChart/CircleMarkElement.js +4 -1
  29. package/LineChart/MarkElement.js +4 -1
  30. package/LineChart/MarkPlot.js +1 -0
  31. package/PieChart/PieArc.js +3 -1
  32. package/PieChart/PiePlot.js +6 -0
  33. package/PieChart/index.d.ts +3 -1
  34. package/PieChart/index.js +18 -1
  35. package/PieChart/pieClasses.d.ts +12 -0
  36. package/PieChart/pieClasses.js +24 -0
  37. package/ScatterChart/Scatter.d.ts +2 -0
  38. package/ScatterChart/Scatter.js +9 -1
  39. package/ScatterChart/index.d.ts +3 -1
  40. package/ScatterChart/index.js +16 -1
  41. package/ScatterChart/scatterClasses.d.ts +8 -0
  42. package/ScatterChart/scatterClasses.js +22 -0
  43. package/Toolbar/ToolbarButton.js +2 -0
  44. package/esm/BarChart/AnimatedBarElement.js +3 -1
  45. package/esm/BarChart/BarLabel/BarLabelPlot.d.ts +2 -2
  46. package/esm/BarChart/BarLabel/BarLabelPlot.js +33 -25
  47. package/esm/BarChart/BarPlot.js +55 -40
  48. package/esm/BarChart/barClasses.d.ts +12 -0
  49. package/esm/BarChart/barClasses.js +15 -0
  50. package/esm/BarChart/index.d.ts +3 -1
  51. package/esm/BarChart/index.js +2 -1
  52. package/esm/BarChart/types.d.ts +5 -1
  53. package/esm/ChartsLegend/ChartsLegend.d.ts +1 -0
  54. package/esm/ChartsLegend/ChartsLegend.js +2 -0
  55. package/esm/ChartsLegend/ContinuousColorLegend.d.ts +1 -0
  56. package/esm/ChartsLegend/PiecewiseColorLegend.d.ts +1 -0
  57. package/esm/ChartsLegend/chartsLegendClasses.d.ts +3 -1
  58. package/esm/ChartsLegend/chartsLegendClasses.js +2 -1
  59. package/esm/ChartsSurface/ChartsSurface.d.ts +1 -1
  60. package/esm/ChartsXAxis/ChartsXAxis.js +2 -106
  61. package/esm/ChartsXAxis/getVisibleLabels.d.ts +14 -0
  62. package/esm/ChartsXAxis/getVisibleLabels.js +67 -0
  63. package/esm/ChartsXAxis/shortenLabels.d.ts +4 -0
  64. package/esm/ChartsXAxis/shortenLabels.js +42 -0
  65. package/esm/ChartsYAxis/ChartsYAxis.js +1 -38
  66. package/esm/ChartsYAxis/shortenLabels.d.ts +4 -0
  67. package/esm/ChartsYAxis/shortenLabels.js +41 -0
  68. package/esm/LineChart/AnimatedArea.js +4 -1
  69. package/esm/LineChart/AnimatedLine.js +4 -1
  70. package/esm/LineChart/CircleMarkElement.js +4 -1
  71. package/esm/LineChart/MarkElement.js +4 -1
  72. package/esm/LineChart/MarkPlot.js +1 -0
  73. package/esm/PieChart/PieArc.js +3 -1
  74. package/esm/PieChart/PiePlot.js +6 -0
  75. package/esm/PieChart/index.d.ts +3 -1
  76. package/esm/PieChart/index.js +2 -1
  77. package/esm/PieChart/pieClasses.d.ts +12 -0
  78. package/esm/PieChart/pieClasses.js +15 -0
  79. package/esm/ScatterChart/Scatter.d.ts +2 -0
  80. package/esm/ScatterChart/Scatter.js +9 -1
  81. package/esm/ScatterChart/index.d.ts +3 -1
  82. package/esm/ScatterChart/index.js +2 -1
  83. package/esm/ScatterChart/scatterClasses.d.ts +8 -0
  84. package/esm/ScatterChart/scatterClasses.js +13 -0
  85. package/esm/Toolbar/ToolbarButton.js +2 -0
  86. package/esm/hooks/useItemHighlighted.js +2 -2
  87. package/esm/index.js +1 -1
  88. package/esm/internals/components/NotRendered.d.ts +9 -0
  89. package/esm/internals/components/NotRendered.js +10 -0
  90. package/esm/internals/createSeriesSelectorOfType.js +2 -2
  91. package/esm/internals/index.d.ts +1 -0
  92. package/esm/internals/index.js +1 -0
  93. package/esm/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.d.ts +3 -29
  94. package/esm/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.js +1 -1
  95. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +30 -2
  96. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +14 -724
  97. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +10 -10
  98. package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +8 -2
  99. package/esm/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +3 -29
  100. package/esm/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +1 -1
  101. package/esm/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +6 -54
  102. package/esm/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +2 -2
  103. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +12 -208
  104. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.d.ts +7 -66
  105. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.js +2 -3
  106. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +21 -6222
  107. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js +4 -6
  108. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +50 -5
  109. package/esm/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +18 -622
  110. package/esm/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +3 -3
  111. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +18 -230
  112. package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +6 -6
  113. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +20 -4
  114. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +17 -2012
  115. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +2 -2
  116. package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +39 -4
  117. package/esm/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.d.ts +3 -27
  118. package/esm/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.js +1 -1
  119. package/esm/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +5 -40
  120. package/esm/internals/plugins/utils/selectors.d.ts +18 -6
  121. package/esm/internals/plugins/utils/selectors.js +3 -3
  122. package/esm/internals/store/useSelector.d.ts +2 -2
  123. package/esm/internals/store/useSelector.js +2 -2
  124. package/esm/locales/enUS.d.ts +3 -0
  125. package/esm/locales/enUS.js +8 -2
  126. package/esm/locales/frFR.d.ts +3 -0
  127. package/esm/locales/frFR.js +7 -0
  128. package/esm/locales/ptBR.d.ts +3 -0
  129. package/esm/locales/ptBR.js +7 -1
  130. package/esm/locales/ptPT.d.ts +3 -0
  131. package/esm/locales/ptPT.js +7 -1
  132. package/esm/locales/utils/chartsLocaleTextApi.d.ts +17 -0
  133. package/esm/locales/utils/getChartsLocalization.d.ts +3 -0
  134. package/esm/locales/utils/imageMimeTypes.d.ts +2 -0
  135. package/esm/locales/utils/imageMimeTypes.js +5 -0
  136. package/esm/models/slots/chartsBaseSlotProps.d.ts +4 -0
  137. package/hooks/useItemHighlighted.js +2 -2
  138. package/index.js +1 -1
  139. package/internals/components/NotRendered.d.ts +9 -0
  140. package/internals/components/NotRendered.js +16 -0
  141. package/internals/createSeriesSelectorOfType.js +2 -2
  142. package/internals/index.d.ts +1 -0
  143. package/internals/index.js +12 -0
  144. package/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.d.ts +3 -29
  145. package/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.js +1 -1
  146. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +30 -2
  147. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +14 -724
  148. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +11 -10
  149. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +8 -2
  150. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +3 -29
  151. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +1 -1
  152. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +6 -54
  153. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +2 -2
  154. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +12 -208
  155. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.d.ts +7 -66
  156. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisLayout.selectors.js +4 -3
  157. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +21 -6222
  158. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js +4 -6
  159. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +50 -5
  160. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +18 -622
  161. package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.js +3 -3
  162. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +18 -230
  163. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +6 -6
  164. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +20 -4
  165. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +17 -2012
  166. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.js +2 -2
  167. package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +39 -4
  168. package/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.d.ts +3 -27
  169. package/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.js +1 -1
  170. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +5 -40
  171. package/internals/plugins/utils/selectors.d.ts +18 -6
  172. package/internals/plugins/utils/selectors.js +3 -3
  173. package/internals/store/useSelector.d.ts +2 -2
  174. package/internals/store/useSelector.js +2 -2
  175. package/locales/enUS.d.ts +3 -0
  176. package/locales/enUS.js +8 -2
  177. package/locales/frFR.d.ts +3 -0
  178. package/locales/frFR.js +7 -0
  179. package/locales/ptBR.d.ts +3 -0
  180. package/locales/ptBR.js +7 -1
  181. package/locales/ptPT.d.ts +3 -0
  182. package/locales/ptPT.js +7 -1
  183. package/locales/utils/chartsLocaleTextApi.d.ts +17 -0
  184. package/locales/utils/getChartsLocalization.d.ts +3 -0
  185. package/locales/utils/imageMimeTypes.d.ts +2 -0
  186. package/locales/utils/imageMimeTypes.js +11 -0
  187. package/models/slots/chartsBaseSlotProps.d.ts +4 -0
  188. package/package.json +3 -3
@@ -3,18 +3,18 @@ import { createIsHighlighted } from "./createIsHighlighted.js";
3
3
  import { createIsFaded } from "./createIsFaded.js";
4
4
  const selectHighlight = state => state.highlight;
5
5
  const selectSeries = state => state.series;
6
- export const selectorChartsHighlightScopePerSeriesId = createSelector(selectSeries, series => {
6
+ export const selectorChartsHighlightScopePerSeriesId = createSelector([selectSeries], series => {
7
7
  const map = new Map();
8
8
  Object.keys(series.processedSeries).forEach(seriesType => {
9
9
  const seriesData = series.processedSeries[seriesType];
10
- Object.keys(seriesData?.series ?? {}).forEach(seriesId => {
10
+ seriesData?.seriesOrder?.forEach(seriesId => {
11
11
  const seriesItem = seriesData?.series[seriesId];
12
12
  map.set(seriesId, seriesItem?.highlightScope);
13
13
  });
14
14
  });
15
15
  return map;
16
16
  });
17
- export const selectorChartsHighlightedItem = createSelector(selectHighlight, highlight => highlight.item);
17
+ export const selectorChartsHighlightedItem = createSelector([selectHighlight], highlight => highlight.item);
18
18
  export const selectorChartsHighlightScope = createSelector([selectorChartsHighlightScopePerSeriesId, selectorChartsHighlightedItem], (seriesIdToHighlightScope, highlightedItem) => {
19
19
  if (!highlightedItem) {
20
20
  return null;
@@ -1,242 +1,30 @@
1
- import { ChartOptionalRootSelector } from "../../utils/selectors.js";
2
- import { UseChartInteractionSignature } from "./useChartInteraction.types.js";
3
- export declare const selectorChartsInteractionIsInitialized: ((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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
1
+ export declare const selectorChartsInteractionIsInitialized: 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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
4
2
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
5
- }) => boolean) & {
6
- clearCache: () => void;
7
- resultsCount: () => number;
8
- resetResultsCount: () => void;
9
3
  } & {
10
- resultFunc: (resultFuncArgs_0: {
11
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
12
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
13
- } | undefined) => boolean;
14
- memoizedResultFunc: ((resultFuncArgs_0: {
15
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
16
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
17
- } | undefined) => boolean) & {
18
- clearCache: () => void;
19
- resultsCount: () => number;
20
- resetResultsCount: () => void;
21
- };
22
- lastResult: () => boolean;
23
- dependencies: [ChartOptionalRootSelector<UseChartInteractionSignature>];
24
- recomputations: () => number;
25
- resetRecomputations: () => void;
26
- dependencyRecomputations: () => number;
27
- resetDependencyRecomputations: () => void;
28
- } & {
29
- memoize: typeof import("reselect").weakMapMemoize;
30
- argsMemoize: typeof import("reselect").weakMapMemoize;
31
- };
32
- export declare const selectorChartsInteractionItem: ((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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
33
4
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
34
- }) => import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null) & {
35
- clearCache: () => void;
36
- resultsCount: () => number;
37
- resetResultsCount: () => void;
38
- } & {
39
- resultFunc: (resultFuncArgs_0: {
40
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
41
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
42
- } | undefined) => import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null;
43
- memoizedResultFunc: ((resultFuncArgs_0: {
44
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
45
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
46
- } | undefined) => import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null) & {
47
- clearCache: () => void;
48
- resultsCount: () => number;
49
- resetResultsCount: () => void;
50
- };
51
- lastResult: () => import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null;
52
- dependencies: [ChartOptionalRootSelector<UseChartInteractionSignature>];
53
- recomputations: () => number;
54
- resetRecomputations: () => void;
55
- dependencyRecomputations: () => number;
56
- resetDependencyRecomputations: () => void;
57
- } & {
58
- memoize: typeof import("reselect").weakMapMemoize;
59
- argsMemoize: typeof import("reselect").weakMapMemoize;
60
- };
61
- export declare const selectorChartsInteractionPointer: ((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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
5
+ }, boolean, any[]>;
6
+ export declare const selectorChartsInteractionItem: 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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
62
7
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
63
- }) => import("./useChartInteraction.types.js").Coordinate | null) & {
64
- clearCache: () => void;
65
- resultsCount: () => number;
66
- resetResultsCount: () => void;
67
8
  } & {
68
- resultFunc: (resultFuncArgs_0: {
69
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
70
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
71
- } | undefined) => import("./useChartInteraction.types.js").Coordinate | null;
72
- memoizedResultFunc: ((resultFuncArgs_0: {
73
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
74
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
75
- } | undefined) => import("./useChartInteraction.types.js").Coordinate | null) & {
76
- clearCache: () => void;
77
- resultsCount: () => number;
78
- resetResultsCount: () => void;
79
- };
80
- lastResult: () => import("./useChartInteraction.types.js").Coordinate | null;
81
- dependencies: [ChartOptionalRootSelector<UseChartInteractionSignature>];
82
- recomputations: () => number;
83
- resetRecomputations: () => void;
84
- dependencyRecomputations: () => number;
85
- resetDependencyRecomputations: () => void;
86
- } & {
87
- memoize: typeof import("reselect").weakMapMemoize;
88
- argsMemoize: typeof import("reselect").weakMapMemoize;
89
- };
90
- export declare const selectorChartsInteractionPointerX: ((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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
91
9
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
92
- }) => number | null) & {
93
- clearCache: () => void;
94
- resultsCount: () => number;
95
- resetResultsCount: () => void;
96
- } & {
97
- resultFunc: (resultFuncArgs_0: import("./useChartInteraction.types.js").Coordinate | null) => number | null;
98
- memoizedResultFunc: ((resultFuncArgs_0: import("./useChartInteraction.types.js").Coordinate | null) => number | null) & {
99
- clearCache: () => void;
100
- resultsCount: () => number;
101
- resetResultsCount: () => void;
102
- };
103
- lastResult: () => number | null;
104
- dependencies: [((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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
105
- cacheKey: import("../../models/index.js").ChartStateCacheKey;
106
- }) => import("./useChartInteraction.types.js").Coordinate | null) & {
107
- clearCache: () => void;
108
- resultsCount: () => number;
109
- resetResultsCount: () => void;
110
- } & {
111
- resultFunc: (resultFuncArgs_0: {
112
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
113
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
114
- } | undefined) => import("./useChartInteraction.types.js").Coordinate | null;
115
- memoizedResultFunc: ((resultFuncArgs_0: {
116
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
117
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
118
- } | undefined) => import("./useChartInteraction.types.js").Coordinate | null) & {
119
- clearCache: () => void;
120
- resultsCount: () => number;
121
- resetResultsCount: () => void;
122
- };
123
- lastResult: () => import("./useChartInteraction.types.js").Coordinate | null;
124
- dependencies: [ChartOptionalRootSelector<UseChartInteractionSignature>];
125
- recomputations: () => number;
126
- resetRecomputations: () => void;
127
- dependencyRecomputations: () => number;
128
- resetDependencyRecomputations: () => void;
129
- } & {
130
- memoize: typeof import("reselect").weakMapMemoize;
131
- argsMemoize: typeof import("reselect").weakMapMemoize;
132
- }];
133
- recomputations: () => number;
134
- resetRecomputations: () => void;
135
- dependencyRecomputations: () => number;
136
- resetDependencyRecomputations: () => void;
137
- } & {
138
- memoize: typeof import("reselect").weakMapMemoize;
139
- argsMemoize: typeof import("reselect").weakMapMemoize;
140
- };
141
- export declare const selectorChartsInteractionPointerY: ((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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
10
+ }, import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null, any[]>;
11
+ export declare const selectorChartsInteractionPointer: 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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
142
12
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
143
- }) => number | null) & {
144
- clearCache: () => void;
145
- resultsCount: () => number;
146
- resetResultsCount: () => void;
147
13
  } & {
148
- resultFunc: (resultFuncArgs_0: import("./useChartInteraction.types.js").Coordinate | null) => number | null;
149
- memoizedResultFunc: ((resultFuncArgs_0: import("./useChartInteraction.types.js").Coordinate | null) => number | null) & {
150
- clearCache: () => void;
151
- resultsCount: () => number;
152
- resetResultsCount: () => void;
153
- };
154
- lastResult: () => number | null;
155
- dependencies: [((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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
156
- cacheKey: import("../../models/index.js").ChartStateCacheKey;
157
- }) => import("./useChartInteraction.types.js").Coordinate | null) & {
158
- clearCache: () => void;
159
- resultsCount: () => number;
160
- resetResultsCount: () => void;
161
- } & {
162
- resultFunc: (resultFuncArgs_0: {
163
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
164
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
165
- } | undefined) => import("./useChartInteraction.types.js").Coordinate | null;
166
- memoizedResultFunc: ((resultFuncArgs_0: {
167
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
168
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
169
- } | undefined) => import("./useChartInteraction.types.js").Coordinate | null) & {
170
- clearCache: () => void;
171
- resultsCount: () => number;
172
- resetResultsCount: () => void;
173
- };
174
- lastResult: () => import("./useChartInteraction.types.js").Coordinate | null;
175
- dependencies: [ChartOptionalRootSelector<UseChartInteractionSignature>];
176
- recomputations: () => number;
177
- resetRecomputations: () => void;
178
- dependencyRecomputations: () => number;
179
- resetDependencyRecomputations: () => void;
180
- } & {
181
- memoize: typeof import("reselect").weakMapMemoize;
182
- argsMemoize: typeof import("reselect").weakMapMemoize;
183
- }];
184
- recomputations: () => number;
185
- resetRecomputations: () => void;
186
- dependencyRecomputations: () => number;
187
- resetDependencyRecomputations: () => void;
14
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
15
+ }, import("./useChartInteraction.types.js").Coordinate | null, any[]>;
16
+ export declare const selectorChartsInteractionPointerX: 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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
17
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
188
18
  } & {
189
- memoize: typeof import("reselect").weakMapMemoize;
190
- argsMemoize: typeof import("reselect").weakMapMemoize;
191
- };
192
- export declare const selectorChartsInteractionItemIsDefined: ((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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
193
19
  cacheKey: import("../../models/index.js").ChartStateCacheKey;
194
- }) => boolean) & {
195
- clearCache: () => void;
196
- resultsCount: () => number;
197
- resetResultsCount: () => void;
20
+ }, number | null, any[]>;
21
+ export declare const selectorChartsInteractionPointerY: 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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
22
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
198
23
  } & {
199
- resultFunc: (resultFuncArgs_0: import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null) => boolean;
200
- memoizedResultFunc: ((resultFuncArgs_0: import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null) => boolean) & {
201
- clearCache: () => void;
202
- resultsCount: () => number;
203
- resetResultsCount: () => void;
204
- };
205
- lastResult: () => boolean;
206
- dependencies: [((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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
207
- cacheKey: import("../../models/index.js").ChartStateCacheKey;
208
- }) => import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null) & {
209
- clearCache: () => void;
210
- resultsCount: () => number;
211
- resetResultsCount: () => void;
212
- } & {
213
- resultFunc: (resultFuncArgs_0: {
214
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
215
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
216
- } | undefined) => import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null;
217
- memoizedResultFunc: ((resultFuncArgs_0: {
218
- item: null | import("../../../index.js").ChartItemIdentifier<import("../../../index.js").ChartSeriesType>;
219
- pointer: import("./useChartInteraction.types.js").Coordinate | null;
220
- } | undefined) => import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null) & {
221
- clearCache: () => void;
222
- resultsCount: () => number;
223
- resetResultsCount: () => void;
224
- };
225
- lastResult: () => import("../../../../index.js").ScatterItemIdentifier | import("../../../../index.js").LineItemIdentifier | import("../../../../index.js").BarItemIdentifier | import("../../../../index.js").PieItemIdentifier | import("../../../../index.js").RadarItemIdentifier | null;
226
- dependencies: [ChartOptionalRootSelector<UseChartInteractionSignature>];
227
- recomputations: () => number;
228
- resetRecomputations: () => void;
229
- dependencyRecomputations: () => number;
230
- resetDependencyRecomputations: () => void;
231
- } & {
232
- memoize: typeof import("reselect").weakMapMemoize;
233
- argsMemoize: typeof import("reselect").weakMapMemoize;
234
- }];
235
- recomputations: () => number;
236
- resetRecomputations: () => void;
237
- dependencyRecomputations: () => number;
238
- resetDependencyRecomputations: () => void;
24
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
25
+ }, number | null, any[]>;
26
+ export declare const selectorChartsInteractionItemIsDefined: 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 & Partial<import("./useChartInteraction.types.js").UseChartInteractionState> & {
27
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
239
28
  } & {
240
- memoize: typeof import("reselect").weakMapMemoize;
241
- argsMemoize: typeof import("reselect").weakMapMemoize;
242
- };
29
+ cacheKey: import("../../models/index.js").ChartStateCacheKey;
30
+ }, boolean, any[]>;
@@ -1,8 +1,8 @@
1
1
  import { createSelector } from "../../utils/selectors.js";
2
2
  const selectInteraction = state => state.interaction;
3
- export const selectorChartsInteractionIsInitialized = createSelector(selectInteraction, interaction => interaction !== undefined);
4
- export const selectorChartsInteractionItem = createSelector(selectInteraction, interaction => interaction?.item ?? null);
5
- export const selectorChartsInteractionPointer = createSelector(selectInteraction, interaction => interaction?.pointer ?? null);
6
- export const selectorChartsInteractionPointerX = createSelector(selectorChartsInteractionPointer, pointer => pointer && pointer.x);
7
- export const selectorChartsInteractionPointerY = createSelector(selectorChartsInteractionPointer, pointer => pointer && pointer.y);
8
- export const selectorChartsInteractionItemIsDefined = createSelector(selectorChartsInteractionItem, item => item !== null);
3
+ export const selectorChartsInteractionIsInitialized = createSelector([selectInteraction], interaction => interaction !== undefined);
4
+ export const selectorChartsInteractionItem = createSelector([selectInteraction], interaction => interaction?.item ?? null);
5
+ export const selectorChartsInteractionPointer = createSelector([selectInteraction], interaction => interaction?.pointer ?? null);
6
+ export const selectorChartsInteractionPointerX = createSelector([selectorChartsInteractionPointer], pointer => pointer && pointer.x);
7
+ export const selectorChartsInteractionPointerY = createSelector([selectorChartsInteractionPointer], pointer => pointer && pointer.y);
8
+ export const selectorChartsInteractionItemIsDefined = createSelector([selectorChartsInteractionItem], item => item !== null);
@@ -91,10 +91,26 @@ export const useChartPolarAxis = ({
91
91
  instance.cleanInteraction?.();
92
92
  };
93
93
  const handleMove = event => {
94
- const target = 'targetTouches' in event ? event.targetTouches[0] : event;
95
- const svgPoint = getSVGPoint(element, target);
96
- mousePosition.current.x = svgPoint.x;
97
- mousePosition.current.y = svgPoint.y;
94
+ const srcEvent = event;
95
+
96
+ // On touch, we want to allow user to interact with the entire svg area in
97
+ // order to better display the tooltip.
98
+ if (event.pointerType === 'touch') {
99
+ const svgRect = element.getBoundingClientRect();
100
+ if (srcEvent.clientX < svgRect.left || srcEvent.clientX > svgRect.right || srcEvent.clientY < svgRect.top || srcEvent.clientY > svgRect.bottom) {
101
+ mousePosition.current.isInChart = false;
102
+ instance.cleanInteraction();
103
+ return;
104
+ }
105
+ const svgPoint = getSVGPoint(element, srcEvent);
106
+ mousePosition.current.isInChart = true;
107
+ instance.setPointerCoordinate(svgPoint);
108
+ return;
109
+ }
110
+
111
+ // On mouse, we want to restrict the interaction to the drawing area and radar circle.
112
+
113
+ const svgPoint = getSVGPoint(element, srcEvent);
98
114
 
99
115
  // Test if it's in the drawing area
100
116
  if (!instance.isPointInside(svgPoint.x, svgPoint.y, event.target)) {