@mui/x-charts 8.0.0-beta.0 → 8.0.0-beta.2
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.
- package/BarChart/seriesConfig/extremums.js +2 -2
- package/BarChart/useBarChartProps.d.ts +2 -1
- package/BarChart/useBarChartProps.js +20 -13
- package/CHANGELOG.md +171 -0
- package/ChartsAxisHighlight/ChartsXAxisHighlight.js +8 -8
- package/ChartsAxisHighlight/ChartsYAxisHighlight.js +8 -8
- package/ChartsOverlay/ChartsLoadingOverlay.js +1 -1
- package/ChartsOverlay/ChartsNoDataOverlay.js +1 -1
- package/ChartsTooltip/ChartsTooltipContainer.js +2 -1
- package/ChartsTooltip/useAxisTooltip.js +2 -2
- package/LineChart/CircleMarkElement.js +2 -2
- package/LineChart/LineHighlightPlot.js +2 -2
- package/LineChart/MarkElement.js +2 -2
- package/LineChart/useLineChartProps.d.ts +2 -1
- package/LineChart/useLineChartProps.js +7 -4
- package/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.js +9 -5
- package/RadarChart/RadarGrid/RadarGrid.d.ts +1 -1
- package/RadarChart/RadarGrid/RadarGrid.js +5 -1
- package/RadarChart/RadarGrid/useRadarGridData.d.ts +1 -1
- package/RadarChart/RadarGrid/useRadarGridData.js +3 -0
- package/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +2 -2
- package/ScatterChart/useScatterChartProps.d.ts +2 -1
- package/ScatterChart/useScatterChartProps.js +6 -3
- package/esm/BarChart/seriesConfig/extremums.js +2 -2
- package/esm/BarChart/useBarChartProps.d.ts +2 -1
- package/esm/BarChart/useBarChartProps.js +19 -13
- package/esm/ChartsAxisHighlight/ChartsXAxisHighlight.js +8 -8
- package/esm/ChartsAxisHighlight/ChartsYAxisHighlight.js +8 -8
- package/esm/ChartsOverlay/ChartsLoadingOverlay.js +1 -1
- package/esm/ChartsOverlay/ChartsNoDataOverlay.js +1 -1
- package/esm/ChartsTooltip/ChartsTooltipContainer.js +2 -1
- package/esm/ChartsTooltip/useAxisTooltip.js +1 -1
- package/esm/LineChart/CircleMarkElement.js +1 -1
- package/esm/LineChart/LineHighlightPlot.js +1 -1
- package/esm/LineChart/MarkElement.js +1 -1
- package/esm/LineChart/useLineChartProps.d.ts +2 -1
- package/esm/LineChart/useLineChartProps.js +6 -4
- package/esm/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.js +9 -5
- package/esm/RadarChart/RadarGrid/RadarGrid.d.ts +1 -1
- package/esm/RadarChart/RadarGrid/RadarGrid.js +5 -1
- package/esm/RadarChart/RadarGrid/useRadarGridData.d.ts +1 -1
- package/esm/RadarChart/RadarGrid/useRadarGridData.js +3 -0
- package/esm/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +2 -2
- package/esm/ScatterChart/useScatterChartProps.d.ts +2 -1
- package/esm/ScatterChart/useScatterChartProps.js +5 -3
- package/esm/hooks/useAxis.d.ts +5 -5
- package/esm/hooks/useInteractionItemProps.js +1 -1
- package/esm/hooks/useScale.d.ts +2 -2
- package/esm/hooks/useScale.js +2 -2
- package/esm/index.js +1 -1
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.d.ts +8 -6
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.js +28 -22
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +1 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +10 -43
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +1 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +41 -0
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +7 -20
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +36 -242
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +4 -10
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.d.ts +9 -15
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.d.ts +12 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.js +8 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.d.ts +6 -4
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.js +18 -13
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +17 -33
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +3669 -0
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.js +22 -0
- package/hooks/useAxis.d.ts +5 -5
- package/hooks/useInteractionItemProps.js +1 -1
- package/hooks/useScale.d.ts +2 -2
- package/hooks/useScale.js +2 -2
- package/index.js +1 -1
- package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.d.ts +8 -6
- package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.js +29 -22
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +12 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +8 -41
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +1 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +47 -0
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +7 -20
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +36 -242
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +5 -11
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.d.ts +9 -15
- package/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.d.ts +12 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.js +17 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.d.ts +6 -4
- package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.js +19 -13
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +17 -33
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +3669 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.js +28 -0
- package/modern/BarChart/seriesConfig/extremums.js +2 -2
- package/modern/BarChart/useBarChartProps.d.ts +2 -1
- package/modern/BarChart/useBarChartProps.js +19 -13
- package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +8 -8
- package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +8 -8
- package/modern/ChartsOverlay/ChartsLoadingOverlay.js +1 -1
- package/modern/ChartsOverlay/ChartsNoDataOverlay.js +1 -1
- package/modern/ChartsTooltip/ChartsTooltipContainer.js +2 -1
- package/modern/ChartsTooltip/useAxisTooltip.js +1 -1
- package/modern/LineChart/CircleMarkElement.js +1 -1
- package/modern/LineChart/LineHighlightPlot.js +1 -1
- package/modern/LineChart/MarkElement.js +1 -1
- package/modern/LineChart/useLineChartProps.d.ts +2 -1
- package/modern/LineChart/useLineChartProps.js +6 -4
- package/modern/RadarChart/RadarAxisHighlight/useRadarAxisHighlight.js +9 -5
- package/modern/RadarChart/RadarGrid/RadarGrid.d.ts +1 -1
- package/modern/RadarChart/RadarGrid/RadarGrid.js +5 -1
- package/modern/RadarChart/RadarGrid/useRadarGridData.d.ts +1 -1
- package/modern/RadarChart/RadarGrid/useRadarGridData.js +3 -0
- package/modern/RadarChart/RadarSeriesPlot/useRadarSeriesData.js +2 -2
- package/modern/ScatterChart/useScatterChartProps.d.ts +2 -1
- package/modern/ScatterChart/useScatterChartProps.js +5 -3
- package/modern/hooks/useAxis.d.ts +5 -5
- package/modern/hooks/useInteractionItemProps.js +1 -1
- package/modern/hooks/useScale.d.ts +2 -2
- package/modern/hooks/useScale.js +2 -2
- package/modern/index.js +1 -1
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.d.ts +8 -6
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisValue.js +28 -22
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -0
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +1 -0
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +10 -43
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +1 -0
- package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +41 -0
- package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +7 -20
- package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +36 -242
- package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +4 -10
- package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.d.ts +9 -15
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.d.ts +12 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/coordinateTransformation.js +8 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.d.ts +6 -4
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/getAxisValue.js +18 -13
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +17 -33
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +3669 -0
- package/modern/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.js +22 -0
- package/package.json +3 -3
- package/tsconfig.build.tsbuildinfo +1 -1
package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js
CHANGED
|
@@ -9,9 +9,9 @@ import { selectorChartDrawingArea } from "../../corePlugins/useChartDimensions/u
|
|
|
9
9
|
import { selectorChartSeriesProcessed } from "../../corePlugins/useChartSeries/useChartSeries.selectors.js";
|
|
10
10
|
import { defaultizeXAxis, defaultizeYAxis } from "./defaultizeAxis.js";
|
|
11
11
|
import { selectorChartXAxis, selectorChartYAxis } from "./useChartCartesianAxisRendering.selectors.js";
|
|
12
|
-
import {
|
|
12
|
+
import { getAxisIndex } from "./getAxisValue.js";
|
|
13
13
|
import { getSVGPoint } from "../../../getSVGPoint.js";
|
|
14
|
-
import {
|
|
14
|
+
import { selectorChartsInteractionIsInitialized } from "../useChartInteraction/index.js";
|
|
15
15
|
export const useChartCartesianAxis = ({
|
|
16
16
|
params,
|
|
17
17
|
store,
|
|
@@ -33,7 +33,6 @@ export const useChartCartesianAxis = ({
|
|
|
33
33
|
}
|
|
34
34
|
const drawingArea = useSelector(store, selectorChartDrawingArea);
|
|
35
35
|
const processedSeries = useSelector(store, selectorChartSeriesProcessed);
|
|
36
|
-
const interactionAxis = useSelector(store, selectorChartsInteractionAxis);
|
|
37
36
|
const isInteractionEnabled = useSelector(store, selectorChartsInteractionIsInitialized);
|
|
38
37
|
const {
|
|
39
38
|
axis: xAxisWithScale,
|
|
@@ -75,58 +74,31 @@ export const useChartCartesianAxis = ({
|
|
|
75
74
|
if (!instance.isPointInside(svgPoint, {
|
|
76
75
|
targetElement: event.target
|
|
77
76
|
})) {
|
|
78
|
-
|
|
79
|
-
interaction: {
|
|
80
|
-
item: null,
|
|
81
|
-
axis: {
|
|
82
|
-
x: null,
|
|
83
|
-
y: null
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}));
|
|
77
|
+
instance.cleanInteraction?.();
|
|
87
78
|
return;
|
|
88
79
|
}
|
|
89
|
-
instance.
|
|
90
|
-
x: getAxisValue(xAxisWithScale[usedXAxis], svgPoint.x),
|
|
91
|
-
y: getAxisValue(yAxisWithScale[usedYAxis], svgPoint.y)
|
|
92
|
-
});
|
|
80
|
+
instance.setPointerCoordinate?.(svgPoint);
|
|
93
81
|
};
|
|
94
82
|
const handleDown = event => {
|
|
95
83
|
const target = event.currentTarget;
|
|
96
84
|
if (!target) {
|
|
97
85
|
return;
|
|
98
86
|
}
|
|
99
|
-
if (target.hasPointerCapture(event.pointerId)) {
|
|
87
|
+
if ('hasPointerCapture' in target && target.hasPointerCapture(event.pointerId)) {
|
|
100
88
|
target.releasePointerCapture(event.pointerId);
|
|
101
89
|
}
|
|
102
90
|
};
|
|
103
91
|
element.addEventListener('pointerdown', handleDown);
|
|
104
92
|
element.addEventListener('pointermove', handleMove);
|
|
105
|
-
element.addEventListener('pointerout', handleOut);
|
|
106
93
|
element.addEventListener('pointercancel', handleOut);
|
|
107
94
|
element.addEventListener('pointerleave', handleOut);
|
|
108
95
|
return () => {
|
|
109
96
|
element.removeEventListener('pointerdown', handleDown);
|
|
110
97
|
element.removeEventListener('pointermove', handleMove);
|
|
111
|
-
element.removeEventListener('pointerout', handleOut);
|
|
112
98
|
element.removeEventListener('pointercancel', handleOut);
|
|
113
99
|
element.removeEventListener('pointerleave', handleOut);
|
|
114
100
|
};
|
|
115
101
|
}, [svgRef, store, xAxisWithScale, usedXAxis, yAxisWithScale, usedYAxis, instance, params.disableAxisListener, isInteractionEnabled]);
|
|
116
|
-
const axisInteractionRef = React.useRef({
|
|
117
|
-
x: null,
|
|
118
|
-
y: null
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
// This avoids re-attaching the event listener on mouse move.
|
|
122
|
-
React.useEffect(() => {
|
|
123
|
-
const {
|
|
124
|
-
x,
|
|
125
|
-
y
|
|
126
|
-
} = interactionAxis;
|
|
127
|
-
axisInteractionRef.current.x = x;
|
|
128
|
-
axisInteractionRef.current.y = y;
|
|
129
|
-
}, [interactionAxis]);
|
|
130
102
|
React.useEffect(() => {
|
|
131
103
|
const element = svgRef.current;
|
|
132
104
|
const onAxisClick = params.onAxisClick;
|
|
@@ -137,15 +109,10 @@ export const useChartCartesianAxis = ({
|
|
|
137
109
|
event.preventDefault();
|
|
138
110
|
let dataIndex = null;
|
|
139
111
|
let isXAxis = false;
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
dataIndex = isXAxis ? xIndex : getAxisValue(yAxisWithScale[usedYAxis], svgPoint.y)?.index ?? null;
|
|
145
|
-
} else {
|
|
146
|
-
isXAxis = axisInteractionRef.current.x !== null && axisInteractionRef.current.x.index !== -1;
|
|
147
|
-
dataIndex = isXAxis ? axisInteractionRef.current.x && axisInteractionRef.current.x.index : axisInteractionRef.current.y && axisInteractionRef.current.y.index;
|
|
148
|
-
}
|
|
112
|
+
const svgPoint = getSVGPoint(element, event);
|
|
113
|
+
const xIndex = getAxisIndex(xAxisWithScale[usedXAxis], svgPoint.x);
|
|
114
|
+
isXAxis = xIndex !== -1;
|
|
115
|
+
dataIndex = isXAxis ? xIndex : getAxisIndex(yAxisWithScale[usedYAxis], svgPoint.y);
|
|
149
116
|
const USED_AXIS_ID = isXAxis ? xAxisIds[0] : yAxisIds[0];
|
|
150
117
|
if (dataIndex == null || dataIndex === -1) {
|
|
151
118
|
return;
|
|
@@ -175,7 +142,7 @@ export const useChartCartesianAxis = ({
|
|
|
175
142
|
return () => {
|
|
176
143
|
element.removeEventListener('click', handleMouseClick);
|
|
177
144
|
};
|
|
178
|
-
}, [params.onAxisClick, processedSeries, svgRef, xAxisWithScale, xAxisIds, yAxisWithScale, yAxisIds,
|
|
145
|
+
}, [params.onAxisClick, processedSeries, svgRef, xAxisWithScale, xAxisIds, yAxisWithScale, yAxisIds, usedXAxis, usedYAxis]);
|
|
179
146
|
return {};
|
|
180
147
|
};
|
|
181
148
|
useChartCartesianAxis.params = {
|