@mui/x-charts 8.6.0 → 8.8.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.
- package/BarChart/BarChart.d.ts +1 -1
- package/BarChart/BarChart.js +16 -0
- package/BarChart/BarPlot.js +11 -150
- package/BarChart/useBarPlotData.d.ts +8 -0
- package/BarChart/useBarPlotData.js +146 -0
- package/CHANGELOG.md +202 -1
- package/ChartContainer/ChartContainer.d.ts +1 -21
- package/ChartContainer/ChartContainer.js +22 -8
- package/ChartContainer/index.d.ts +8 -1
- package/ChartContainer/useChartContainerProps.js +8 -2
- package/ChartDataProvider/ChartDataProvider.js +6 -0
- package/ChartDataProvider/useChartDataProviderProps.d.ts +1 -1
- package/ChartDataProvider/useChartDataProviderProps.js +6 -1
- package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +1 -1
- package/ChartsAxisHighlight/ChartsXAxisHighlight.js +34 -24
- package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +1 -1
- package/ChartsAxisHighlight/ChartsYAxisHighlight.js +34 -24
- package/ChartsReferenceLine/ChartsReferenceLine.d.ts +1 -1
- package/ChartsReferenceLine/ChartsXReferenceLine.d.ts +3 -0
- package/ChartsReferenceLine/ChartsXReferenceLine.js +48 -1
- package/ChartsReferenceLine/ChartsYReferenceLine.d.ts +3 -0
- package/ChartsReferenceLine/ChartsYReferenceLine.js +48 -1
- package/ChartsReferenceLine/index.d.ts +3 -1
- package/ChartsSurface/ChartsSurface.js +2 -1
- package/ChartsTooltip/ChartsTooltipContainer.js +6 -3
- package/ChartsTooltip/ChartsTooltipTable.d.ts +1 -1
- package/ChartsTooltip/utils.js +18 -29
- package/Gauge/GaugeContainer.d.ts +1 -1
- package/LineChart/AreaPlot.js +5 -115
- package/LineChart/LineChart.js +22 -0
- package/LineChart/LineHighlightPlot.js +10 -4
- package/LineChart/LinePlot.js +5 -99
- package/LineChart/MarkPlot.js +17 -3
- package/LineChart/useAreaPlotData.d.ts +12 -0
- package/LineChart/useAreaPlotData.js +126 -0
- package/LineChart/useLinePlotData.d.ts +11 -0
- package/LineChart/useLinePlotData.js +108 -0
- package/PieChart/PieChart.d.ts +1 -1
- package/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +1 -1
- package/ScatterChart/Scatter.js +22 -48
- package/ScatterChart/ScatterChart.d.ts +1 -1
- package/ScatterChart/ScatterPlot.js +2 -2
- package/ScatterChart/seriesConfig/seriesProcessor.js +3 -0
- package/ScatterChart/useScatterPlotData.d.ts +8 -0
- package/ScatterChart/useScatterPlotData.js +33 -0
- package/SparkLineChart/SparkLineChart.d.ts +1 -1
- package/SparkLineChart/SparkLineChart.js +16 -0
- package/context/ChartApi.d.ts +22 -0
- package/context/ChartApi.js +5 -0
- package/context/ChartProvider/ChartContext.js +1 -0
- package/context/index.d.ts +2 -1
- package/context/useChartApiContext.d.ts +1 -1
- package/esm/BarChart/BarChart.d.ts +1 -1
- package/esm/BarChart/BarChart.js +16 -0
- package/esm/BarChart/BarPlot.js +12 -152
- package/esm/BarChart/useBarPlotData.d.ts +8 -0
- package/esm/BarChart/useBarPlotData.js +139 -0
- package/esm/ChartContainer/ChartContainer.d.ts +1 -21
- package/esm/ChartContainer/ChartContainer.js +22 -8
- package/esm/ChartContainer/index.d.ts +8 -1
- package/esm/ChartContainer/index.js +6 -1
- package/esm/ChartContainer/useChartContainerProps.js +8 -2
- package/esm/ChartDataProvider/ChartDataProvider.js +6 -0
- package/esm/ChartDataProvider/useChartDataProviderProps.d.ts +1 -1
- package/esm/ChartDataProvider/useChartDataProviderProps.js +7 -2
- package/esm/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +1 -1
- package/esm/ChartsAxisHighlight/ChartsXAxisHighlight.js +36 -26
- package/esm/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +1 -1
- package/esm/ChartsAxisHighlight/ChartsYAxisHighlight.js +36 -26
- package/esm/ChartsReferenceLine/ChartsReferenceLine.d.ts +1 -1
- package/esm/ChartsReferenceLine/ChartsXReferenceLine.d.ts +3 -0
- package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +47 -0
- package/esm/ChartsReferenceLine/ChartsYReferenceLine.d.ts +3 -0
- package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +47 -0
- package/esm/ChartsReferenceLine/index.d.ts +3 -1
- package/esm/ChartsReferenceLine/index.js +2 -1
- package/esm/ChartsSurface/ChartsSurface.js +2 -1
- package/esm/ChartsTooltip/ChartsTooltipContainer.js +6 -3
- package/esm/ChartsTooltip/ChartsTooltipTable.d.ts +1 -1
- package/esm/ChartsTooltip/utils.js +18 -29
- package/esm/Gauge/GaugeContainer.d.ts +1 -1
- package/esm/LineChart/AreaPlot.js +5 -115
- package/esm/LineChart/LineChart.js +22 -0
- package/esm/LineChart/LineHighlightPlot.js +11 -5
- package/esm/LineChart/LinePlot.js +5 -99
- package/esm/LineChart/MarkPlot.js +17 -3
- package/esm/LineChart/useAreaPlotData.d.ts +12 -0
- package/esm/LineChart/useAreaPlotData.js +119 -0
- package/esm/LineChart/useLinePlotData.d.ts +11 -0
- package/esm/LineChart/useLinePlotData.js +101 -0
- package/esm/PieChart/PieChart.d.ts +1 -1
- package/esm/RadarChart/RadarDataProvider/RadarDataProvider.d.ts +1 -1
- package/esm/ScatterChart/Scatter.js +23 -49
- package/esm/ScatterChart/ScatterChart.d.ts +1 -1
- package/esm/ScatterChart/ScatterPlot.js +2 -2
- package/esm/ScatterChart/seriesConfig/seriesProcessor.js +3 -0
- package/esm/ScatterChart/useScatterPlotData.d.ts +8 -0
- package/esm/ScatterChart/useScatterPlotData.js +26 -0
- package/esm/SparkLineChart/SparkLineChart.d.ts +1 -1
- package/esm/SparkLineChart/SparkLineChart.js +16 -0
- package/esm/context/ChartApi.d.ts +22 -0
- package/esm/context/ChartApi.js +1 -0
- package/esm/context/ChartProvider/ChartContext.js +2 -0
- package/esm/context/index.d.ts +2 -1
- package/esm/context/useChartApiContext.d.ts +1 -1
- package/esm/hooks/useAxis.d.ts +2 -2
- package/esm/hooks/useInteractionItemProps.d.ts +14 -9
- package/esm/hooks/useInteractionItemProps.js +28 -28
- package/esm/index.d.ts +2 -1
- package/esm/index.js +2 -2
- package/esm/internals/constants.d.ts +3 -0
- package/esm/internals/constants.js +4 -0
- package/esm/internals/getLabel.d.ts +1 -1
- package/esm/internals/index.d.ts +6 -0
- package/esm/internals/index.js +6 -0
- package/esm/internals/plugins/corePlugins/corePlugins.d.ts +4 -2
- package/esm/internals/plugins/corePlugins/corePlugins.js +3 -1
- package/esm/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.d.ts +1 -1
- package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +1 -29
- package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +3 -3
- package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +0 -6
- package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/index.d.ts +3 -0
- package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/index.js +2 -0
- package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.d.ts +3 -0
- package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.js +27 -0
- package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.selectors.d.ts +8 -0
- package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.selectors.js +3 -0
- package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.d.ts +21 -0
- package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js +1 -0
- package/esm/internals/plugins/corePlugins/useChartId/useChartId.js +2 -0
- package/esm/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +1 -1
- package/esm/internals/plugins/corePlugins/useChartInteractionListener/index.d.ts +2 -0
- package/esm/internals/plugins/corePlugins/useChartInteractionListener/index.js +1 -0
- package/esm/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.d.ts +3 -0
- package/esm/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.js +77 -0
- package/esm/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.types.d.ts +31 -0
- package/esm/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.types.js +1 -0
- package/esm/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +2 -2
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +5 -1
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +4 -2
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.d.ts +1 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.js +5 -2
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisDomainLimit.d.ts +7 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisDomainLimit.js +14 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +2 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +2 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +4 -4
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +90 -36
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +18 -1
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.d.ts +3 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.js +76 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +10 -5
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js +8 -5
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.d.ts +47 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.js +48 -0
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +18 -12
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +16 -2
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.d.ts +6 -1
- package/esm/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +5 -5
- package/esm/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +6 -6
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +34 -34
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +5 -5
- package/esm/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +7 -8
- package/esm/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.js +47 -30
- package/esm/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.d.ts +1 -1
- package/esm/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +1 -1
- package/esm/internals/plugins/utils/useLazySelectorEffect.d.ts +7 -0
- package/esm/internals/plugins/utils/useLazySelectorEffect.js +70 -0
- package/esm/internals/store/useCharts.d.ts +1 -1
- package/esm/locales/elGR.d.ts +19 -0
- package/esm/locales/elGR.js +15 -0
- package/esm/locales/index.d.ts +1 -0
- package/esm/locales/index.js +1 -0
- package/esm/models/axis.d.ts +15 -0
- package/esm/models/axis.js +4 -0
- package/esm/models/index.d.ts +1 -1
- package/esm/models/seriesType/scatter.d.ts +11 -2
- package/esm/themeAugmentation/components.d.ts +3 -0
- package/esm/themeAugmentation/props.d.ts +2 -0
- package/hooks/useAxis.d.ts +2 -2
- package/hooks/useInteractionItemProps.d.ts +14 -9
- package/hooks/useInteractionItemProps.js +29 -28
- package/index.d.ts +2 -1
- package/index.js +37 -11
- package/internals/constants.d.ts +3 -0
- package/internals/constants.js +5 -1
- package/internals/getLabel.d.ts +1 -1
- package/internals/index.d.ts +6 -0
- package/internals/index.js +52 -0
- package/internals/plugins/corePlugins/corePlugins.d.ts +4 -2
- package/internals/plugins/corePlugins/corePlugins.js +3 -1
- package/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.d.ts +1 -1
- package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +1 -29
- package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +3 -3
- package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +0 -6
- package/internals/plugins/corePlugins/useChartExperimentalFeature/index.d.ts +3 -0
- package/internals/plugins/corePlugins/useChartExperimentalFeature/index.js +27 -0
- package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.d.ts +3 -0
- package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.js +34 -0
- package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.selectors.d.ts +8 -0
- package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.selectors.js +10 -0
- package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.d.ts +21 -0
- package/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js +5 -0
- package/internals/plugins/corePlugins/useChartId/useChartId.js +1 -0
- package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +1 -1
- package/internals/plugins/corePlugins/useChartInteractionListener/index.d.ts +2 -0
- package/internals/plugins/corePlugins/useChartInteractionListener/index.js +12 -0
- package/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.d.ts +3 -0
- package/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.js +84 -0
- package/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.types.d.ts +31 -0
- package/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.types.js +5 -0
- package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +2 -2
- package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +5 -1
- package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js +4 -2
- package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.d.ts +1 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeZoom.js +4 -1
- package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisDomainLimit.d.ts +7 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisDomainLimit.js +21 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +2 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +24 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartAxisSize.selectors.d.ts +4 -4
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +90 -36
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +18 -1
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.d.ts +3 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.js +82 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +10 -5
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.js +9 -6
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.d.ts +47 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.js +55 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +18 -12
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.js +18 -3
- package/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.d.ts +6 -1
- package/internals/plugins/featurePlugins/useChartHighlight/useChartHighlight.selectors.d.ts +5 -5
- package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +6 -6
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +34 -34
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +5 -5
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +7 -8
- package/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.js +46 -30
- package/internals/plugins/featurePlugins/useChartVoronoi/useChartVoronoi.selectors.d.ts +1 -1
- package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +1 -1
- package/internals/plugins/utils/useLazySelectorEffect.d.ts +7 -0
- package/internals/plugins/utils/useLazySelectorEffect.js +77 -0
- package/internals/store/useCharts.d.ts +1 -1
- package/locales/elGR.d.ts +19 -0
- package/locales/elGR.js +21 -0
- package/locales/index.d.ts +1 -0
- package/locales/index.js +11 -0
- package/models/axis.d.ts +15 -0
- package/models/axis.js +4 -0
- package/models/index.d.ts +1 -1
- package/models/seriesType/scatter.d.ts +11 -2
- package/package.json +4 -3
- package/themeAugmentation/components.d.ts +3 -0
- package/themeAugmentation/props.d.ts +2 -0
package/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-charts v8.
|
|
2
|
+
* @mui/x-charts v8.8.0
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -30,6 +30,6 @@ export * from "./SparkLineChart/index.js";
|
|
|
30
30
|
export * from "./Gauge/index.js";
|
|
31
31
|
export * from "./RadarChart/index.js";
|
|
32
32
|
export * from "./ChartsSurface/index.js";
|
|
33
|
-
export
|
|
33
|
+
export { ChartContainer } from "./ChartContainer/index.js";
|
|
34
34
|
export * from "./ChartDataProvider/index.js";
|
|
35
35
|
export * from "./Toolbar/index.js";
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { ZoomSliderShowTooltip } from "./plugins/featurePlugins/useChartCartesianAxis/zoom.types.js";
|
|
2
2
|
/** Margin in the opposite direction of the axis, i.e., horizontal if the axis is vertical and vice versa. */
|
|
3
3
|
export declare const ZOOM_SLIDER_MARGIN = 4;
|
|
4
|
+
/** Size of the zoom slider preview. */
|
|
5
|
+
export declare const ZOOM_SLIDER_PREVIEW_SIZE = 40;
|
|
4
6
|
/** Size reserved for the zoom slider. The actual size of the slider might be smaller. */
|
|
5
7
|
export declare const DEFAULT_ZOOM_SLIDER_SIZE: number;
|
|
8
|
+
export declare const DEFAULT_ZOOM_SLIDER_PREVIEW_SIZE: number;
|
|
6
9
|
export declare const DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP: ZoomSliderShowTooltip;
|
|
7
10
|
/** Default margin for pie charts. */
|
|
8
11
|
export declare const DEFAULT_PIE_CHART_MARGIN: {
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/** Margin in the opposite direction of the axis, i.e., horizontal if the axis is vertical and vice versa. */
|
|
2
2
|
export const ZOOM_SLIDER_MARGIN = 4;
|
|
3
3
|
|
|
4
|
+
/** Size of the zoom slider preview. */
|
|
5
|
+
export const ZOOM_SLIDER_PREVIEW_SIZE = 40;
|
|
6
|
+
|
|
4
7
|
/** Size reserved for the zoom slider. The actual size of the slider might be smaller. */
|
|
5
8
|
export const DEFAULT_ZOOM_SLIDER_SIZE = 20 + 2 * ZOOM_SLIDER_MARGIN;
|
|
9
|
+
export const DEFAULT_ZOOM_SLIDER_PREVIEW_SIZE = 40 + 2 * ZOOM_SLIDER_MARGIN;
|
|
6
10
|
export const DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP = 'hover';
|
|
7
11
|
|
|
8
12
|
/** Default margin for pie charts. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function getLabel<Location extends string>(value: string | ((location: Location) => string) | undefined, location: Location): string | undefined;
|
|
1
|
+
export declare function getLabel<Location extends string>(value: string | ((location: Location) => string | undefined) | undefined, location: Location): string | undefined;
|
package/esm/internals/index.d.ts
CHANGED
|
@@ -6,8 +6,13 @@ export { useSeries } from "../hooks/useSeries.js";
|
|
|
6
6
|
export { useInteractionItemProps } from "../hooks/useInteractionItemProps.js";
|
|
7
7
|
export { useDrawingArea } from "../hooks/useDrawingArea.js";
|
|
8
8
|
export { useScatterChartProps } from "../ScatterChart/useScatterChartProps.js";
|
|
9
|
+
export { useScatterPlotData } from "../ScatterChart/useScatterPlotData.js";
|
|
10
|
+
export { seriesConfig as scatterSeriesConfig } from "../ScatterChart/seriesConfig/index.js";
|
|
9
11
|
export { useLineChartProps } from "../LineChart/useLineChartProps.js";
|
|
12
|
+
export { useAreaPlotData } from "../LineChart/useAreaPlotData.js";
|
|
13
|
+
export { useLinePlotData } from "../LineChart/useLinePlotData.js";
|
|
10
14
|
export { useBarChartProps } from "../BarChart/useBarChartProps.js";
|
|
15
|
+
export { useBarPlotData } from "../BarChart/useBarPlotData.js";
|
|
11
16
|
export { useRadarChartProps } from "../RadarChart/useRadarChartProps.js";
|
|
12
17
|
export * from "../ChartContainer/useChartContainerProps.js";
|
|
13
18
|
export * from "../ChartDataProvider/useChartDataProviderProps.js";
|
|
@@ -15,6 +20,7 @@ export * from "./createSeriesSelectorOfType.js";
|
|
|
15
20
|
export * from "./plugins/corePlugins/useChartId/index.js";
|
|
16
21
|
export * from "./plugins/corePlugins/useChartSeries/index.js";
|
|
17
22
|
export * from "./plugins/corePlugins/useChartDimensions/index.js";
|
|
23
|
+
export * from "./plugins/corePlugins/useChartInteractionListener/index.js";
|
|
18
24
|
export * from "./plugins/featurePlugins/useChartZAxis/index.js";
|
|
19
25
|
export * from "./plugins/featurePlugins/useChartCartesianAxis/index.js";
|
|
20
26
|
export * from "./plugins/featurePlugins/useChartPolarAxis/index.js";
|
package/esm/internals/index.js
CHANGED
|
@@ -9,8 +9,13 @@ export { useSeries } from "../hooks/useSeries.js";
|
|
|
9
9
|
export { useInteractionItemProps } from "../hooks/useInteractionItemProps.js";
|
|
10
10
|
export { useDrawingArea } from "../hooks/useDrawingArea.js";
|
|
11
11
|
export { useScatterChartProps } from "../ScatterChart/useScatterChartProps.js";
|
|
12
|
+
export { useScatterPlotData } from "../ScatterChart/useScatterPlotData.js";
|
|
13
|
+
export { seriesConfig as scatterSeriesConfig } from "../ScatterChart/seriesConfig/index.js";
|
|
12
14
|
export { useLineChartProps } from "../LineChart/useLineChartProps.js";
|
|
15
|
+
export { useAreaPlotData } from "../LineChart/useAreaPlotData.js";
|
|
16
|
+
export { useLinePlotData } from "../LineChart/useLinePlotData.js";
|
|
13
17
|
export { useBarChartProps } from "../BarChart/useBarChartProps.js";
|
|
18
|
+
export { useBarPlotData } from "../BarChart/useBarPlotData.js";
|
|
14
19
|
export { useRadarChartProps } from "../RadarChart/useRadarChartProps.js";
|
|
15
20
|
export * from "../ChartContainer/useChartContainerProps.js";
|
|
16
21
|
export * from "../ChartDataProvider/useChartDataProviderProps.js";
|
|
@@ -20,6 +25,7 @@ export * from "./createSeriesSelectorOfType.js";
|
|
|
20
25
|
export * from "./plugins/corePlugins/useChartId/index.js";
|
|
21
26
|
export * from "./plugins/corePlugins/useChartSeries/index.js";
|
|
22
27
|
export * from "./plugins/corePlugins/useChartDimensions/index.js";
|
|
28
|
+
export * from "./plugins/corePlugins/useChartInteractionListener/index.js";
|
|
23
29
|
export * from "./plugins/featurePlugins/useChartZAxis/index.js";
|
|
24
30
|
export * from "./plugins/featurePlugins/useChartCartesianAxis/index.js";
|
|
25
31
|
export * from "./plugins/featurePlugins/useChartPolarAxis/index.js";
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { type UseChartAnimationSignature } from "./useChartAnimation/index.js";
|
|
2
2
|
import { type UseChartDimensionsSignature } from "./useChartDimensions/index.js";
|
|
3
|
+
import { type UseChartExperimentalFeaturesSignature } from "./useChartExperimentalFeature/index.js";
|
|
3
4
|
import { type UseChartIdSignature, UseChartIdParameters } from "./useChartId/index.js";
|
|
4
5
|
import { type UseChartSeriesSignature } from "./useChartSeries/index.js";
|
|
6
|
+
import { type UseChartInteractionListenerSignature } from "./useChartInteractionListener/index.js";
|
|
5
7
|
/**
|
|
6
8
|
* Internal plugins that create the tools used by the other plugins.
|
|
7
9
|
* These plugins are used by the Charts components.
|
|
8
10
|
*/
|
|
9
|
-
export declare const CHART_CORE_PLUGINS: readonly [import("../models/index.js").ChartPlugin<UseChartIdSignature>, import("../models/index.js").ChartPlugin<UseChartDimensionsSignature>, import("../models/index.js").ChartPlugin<UseChartSeriesSignature>, import("../models/index.js").ChartPlugin<UseChartAnimationSignature>];
|
|
10
|
-
export type ChartCorePluginSignatures = [UseChartIdSignature, UseChartDimensionsSignature, UseChartSeriesSignature, UseChartAnimationSignature];
|
|
11
|
+
export declare const CHART_CORE_PLUGINS: readonly [import("../models/index.js").ChartPlugin<UseChartIdSignature>, import("../models/index.js").ChartPlugin<UseChartExperimentalFeaturesSignature>, import("../models/index.js").ChartPlugin<UseChartDimensionsSignature>, import("../models/index.js").ChartPlugin<UseChartSeriesSignature>, import("../models/index.js").ChartPlugin<UseChartInteractionListenerSignature>, import("../models/index.js").ChartPlugin<UseChartAnimationSignature>];
|
|
12
|
+
export type ChartCorePluginSignatures = [UseChartIdSignature, UseChartExperimentalFeaturesSignature, UseChartDimensionsSignature, UseChartSeriesSignature, UseChartAnimationSignature, UseChartInteractionListenerSignature];
|
|
11
13
|
export interface ChartCorePluginParameters extends UseChartIdParameters {}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { useChartAnimation } from "./useChartAnimation/index.js";
|
|
2
2
|
import { useChartDimensions } from "./useChartDimensions/index.js";
|
|
3
|
+
import { useChartExperimentalFeatures } from "./useChartExperimentalFeature/index.js";
|
|
3
4
|
import { useChartId } from "./useChartId/index.js";
|
|
4
5
|
import { useChartSeries } from "./useChartSeries/index.js";
|
|
6
|
+
import { useChartInteractionListener } from "./useChartInteractionListener/index.js";
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Internal plugins that create the tools used by the other plugins.
|
|
8
10
|
* These plugins are used by the Charts components.
|
|
9
11
|
*/
|
|
10
|
-
export const CHART_CORE_PLUGINS = [useChartId, useChartDimensions, useChartSeries, useChartAnimation];
|
|
12
|
+
export const CHART_CORE_PLUGINS = [useChartId, useChartExperimentalFeatures, useChartDimensions, useChartSeries, useChartInteractionListener, useChartAnimation];
|
package/esm/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.selectors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const selectorChartSkipAnimation: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("../useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("./useChartAnimation.types.js").UseChartAnimationState & Partial<{}> & {
|
|
1
|
+
export declare const selectorChartSkipAnimation: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("../useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("./useChartAnimation.types.js").UseChartAnimationState & import("../useChartInteractionListener/index.js").UseChartInteractionListenerState & Partial<{}> & {
|
|
2
2
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
3
3
|
} & {
|
|
4
4
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
@@ -8,7 +8,6 @@ import { useSelector } from "../../../store/useSelector.js";
|
|
|
8
8
|
import { DEFAULT_MARGINS } from "../../../../constants/index.js";
|
|
9
9
|
import { selectorChartDrawingArea } from "./useChartDimensions.selectors.js";
|
|
10
10
|
import { defaultizeMargin } from "../../../defaultizeMargin.js";
|
|
11
|
-
import { getSVGPoint } from "../../../getSVGPoint.js";
|
|
12
11
|
const MAX_COMPUTE_RUN = 10;
|
|
13
12
|
export const useChartDimensions = ({
|
|
14
13
|
params,
|
|
@@ -155,38 +154,11 @@ export const useChartDimensions = ({
|
|
|
155
154
|
}
|
|
156
155
|
return isXInside(x) && isYInside(y);
|
|
157
156
|
}, [isXInside, isYInside]);
|
|
158
|
-
const isElementInside = React.useCallback(element => {
|
|
159
|
-
const svgElement = svgRef.current;
|
|
160
|
-
if (!element || !(element instanceof Element) || !svgElement) {
|
|
161
|
-
return false;
|
|
162
|
-
}
|
|
163
|
-
// For element allowed to overflow, wrapping them in <g data-drawing-container /> make them fully part of the drawing area.
|
|
164
|
-
if (element.closest('[data-drawing-container]')) {
|
|
165
|
-
return true;
|
|
166
|
-
}
|
|
167
|
-
const rect = element.getBoundingClientRect();
|
|
168
|
-
const {
|
|
169
|
-
x: left,
|
|
170
|
-
y: top
|
|
171
|
-
} = getSVGPoint(svgElement, {
|
|
172
|
-
clientX: rect.left,
|
|
173
|
-
clientY: rect.top
|
|
174
|
-
});
|
|
175
|
-
const {
|
|
176
|
-
x: right,
|
|
177
|
-
y: bottom
|
|
178
|
-
} = getSVGPoint(svgElement, {
|
|
179
|
-
clientX: rect.right,
|
|
180
|
-
clientY: rect.bottom
|
|
181
|
-
});
|
|
182
|
-
return isXInside(left) && isXInside(right) && isYInside(top) && isYInside(bottom);
|
|
183
|
-
}, [isXInside, isYInside, svgRef]);
|
|
184
157
|
return {
|
|
185
158
|
instance: {
|
|
186
159
|
isPointInside,
|
|
187
160
|
isXInside,
|
|
188
|
-
isYInside
|
|
189
|
-
isElementInside
|
|
161
|
+
isYInside
|
|
190
162
|
}
|
|
191
163
|
};
|
|
192
164
|
};
|
package/esm/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { UseChartDimensionsSignature } from "./useChartDimensions.types.js"
|
|
|
3
3
|
import { ChartState } from "../../models/chart.js";
|
|
4
4
|
export declare const selectorChartDimensionsState: ChartRootSelector<UseChartDimensionsSignature>;
|
|
5
5
|
export declare const selectorChartMargin: (state: ChartState<[UseChartDimensionsSignature]>) => import("./useChartDimensions.types.js").ChartMargin;
|
|
6
|
-
export declare const selectorChartDrawingArea: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("./useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & Partial<{}> & {
|
|
6
|
+
export declare const selectorChartDrawingArea: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("../useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("./useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../useChartInteractionListener/index.js").UseChartInteractionListenerState & Partial<{}> & {
|
|
7
7
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
8
8
|
} & Partial<import("../../../index.js").UseChartCartesianAxisState> & {
|
|
9
9
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
@@ -15,7 +15,7 @@ export declare const selectorChartDrawingArea: import("reselect").Selector<impor
|
|
|
15
15
|
top: number;
|
|
16
16
|
bottom: number;
|
|
17
17
|
}, []>;
|
|
18
|
-
export declare const selectorChartPropsSize: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("./useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & Partial<{}> & {
|
|
18
|
+
export declare const selectorChartPropsSize: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("../useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("./useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../useChartInteractionListener/index.js").UseChartInteractionListenerState & Partial<{}> & {
|
|
19
19
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
20
20
|
} & {
|
|
21
21
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
@@ -23,7 +23,7 @@ export declare const selectorChartPropsSize: import("reselect").Selector<import(
|
|
|
23
23
|
width: number | undefined;
|
|
24
24
|
height: number | undefined;
|
|
25
25
|
}, any[]>;
|
|
26
|
-
export declare const selectorChartContainerSize: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("./useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & Partial<{}> & {
|
|
26
|
+
export declare const selectorChartContainerSize: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("../useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("./useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../useChartInteractionListener/index.js").UseChartInteractionListenerState & Partial<{}> & {
|
|
27
27
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
28
28
|
} & {
|
|
29
29
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
@@ -63,12 +63,6 @@ export interface UseChartDimensionsState {
|
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
65
|
export interface UseChartDimensionsInstance {
|
|
66
|
-
/**
|
|
67
|
-
* Checks if an element is inside the drawing area.
|
|
68
|
-
* @param {Element | EventTarget | null} element The element to check.
|
|
69
|
-
* @returns {boolean} `true` if the element is inside the drawing area, `false` otherwise.
|
|
70
|
-
*/
|
|
71
|
-
isElementInside: (element: Element | EventTarget | null | undefined) => boolean;
|
|
72
66
|
/**
|
|
73
67
|
* Checks if a point is inside the drawing area.
|
|
74
68
|
* @param {number} x The x coordinate of the point.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { useChartExperimentalFeatures } from "./useChartExperimentalFeature.js";
|
|
2
|
+
export type { UseChartExperimentalFeaturesSignature, UseChartExperimentalFeaturesParameters } from "./useChartExperimentalFeature.types.js";
|
|
3
|
+
export * from "./useChartExperimentalFeature.selectors.js";
|
package/esm/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
5
|
+
export const useChartExperimentalFeatures = ({
|
|
6
|
+
params,
|
|
7
|
+
store
|
|
8
|
+
}) => {
|
|
9
|
+
useEnhancedEffect(() => {
|
|
10
|
+
store.update(prevState => {
|
|
11
|
+
return _extends({}, prevState, {
|
|
12
|
+
experimentalFeatures: params.experimentalFeatures
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
}, [store, params.experimentalFeatures]);
|
|
16
|
+
return {};
|
|
17
|
+
};
|
|
18
|
+
useChartExperimentalFeatures.params = {
|
|
19
|
+
experimentalFeatures: true
|
|
20
|
+
};
|
|
21
|
+
useChartExperimentalFeatures.getInitialState = ({
|
|
22
|
+
experimentalFeatures
|
|
23
|
+
}) => {
|
|
24
|
+
return {
|
|
25
|
+
experimentalFeatures
|
|
26
|
+
};
|
|
27
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ChartRootSelector } from "../../utils/selectors.js";
|
|
2
|
+
import type { UseChartExperimentalFeaturesSignature } from "./useChartExperimentalFeature.types.js";
|
|
3
|
+
export declare const selectorChartExperimentalFeaturesState: ChartRootSelector<UseChartExperimentalFeaturesSignature>;
|
|
4
|
+
export declare const selectorPreferStrictDomainInLineCharts: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("./useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../useChartInteractionListener/index.js").UseChartInteractionListenerState & Partial<{}> & {
|
|
5
|
+
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
6
|
+
} & {
|
|
7
|
+
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
8
|
+
}, boolean, any[]>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createSelector } from "../../utils/selectors.js";
|
|
2
|
+
export const selectorChartExperimentalFeaturesState = state => state.experimentalFeatures;
|
|
3
|
+
export const selectorPreferStrictDomainInLineCharts = createSelector([selectorChartExperimentalFeaturesState], features => Boolean(features?.preferStrictDomainInLineCharts));
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ChartPluginSignature } from "../../models/index.js";
|
|
2
|
+
export interface ChartExperimentalFeatures {
|
|
3
|
+
/**
|
|
4
|
+
* Default domainLimit to strict for line chart x-axis.
|
|
5
|
+
*/
|
|
6
|
+
preferStrictDomainInLineCharts?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface UseChartExperimentalFeaturesParameters {
|
|
9
|
+
/**
|
|
10
|
+
* Options to enable features planned for the next major.
|
|
11
|
+
*/
|
|
12
|
+
experimentalFeatures?: ChartExperimentalFeatures;
|
|
13
|
+
}
|
|
14
|
+
export interface UseChartExperimentalFeaturesState {
|
|
15
|
+
experimentalFeatures?: ChartExperimentalFeatures;
|
|
16
|
+
}
|
|
17
|
+
export type UseChartExperimentalFeaturesSignature = ChartPluginSignature<{
|
|
18
|
+
params: UseChartExperimentalFeaturesParameters;
|
|
19
|
+
defaultizedParams: UseChartExperimentalFeaturesParameters;
|
|
20
|
+
state: UseChartExperimentalFeaturesState;
|
|
21
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @param {ChartState<[UseChartIdSignature]>} state The state of the chart.
|
|
4
4
|
* @returns {string} The id attribute of the chart.
|
|
5
5
|
*/
|
|
6
|
-
export declare const selectorChartId: import("reselect").Selector<import("./useChartId.types.js").UseChartIdState & import("../useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & Partial<{}> & {
|
|
6
|
+
export declare const selectorChartId: import("reselect").Selector<import("./useChartId.types.js").UseChartIdState & import("../useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../useChartInteractionListener/index.js").UseChartInteractionListenerState & Partial<{}> & {
|
|
7
7
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
8
8
|
} & {
|
|
9
9
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { useChartInteractionListener } from "./useChartInteractionListener.js";
|
|
2
|
+
export type { UseChartInteractionListenerParameters, UseChartInteractionListenerState, UseChartInteractionListenerInstance, UseChartInteractionListenerSignature, ChartInteraction } from "./useChartInteractionListener.types.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useChartInteractionListener } from "./useChartInteractionListener.js";
|
package/esm/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { GestureManager, MoveGesture, PanGesture, PinchGesture, PressGesture, TapGesture, TurnWheelGesture } from '@mui/x-internal-gestures/core';
|
|
5
|
+
const preventDefault = event => event.preventDefault();
|
|
6
|
+
export const useChartInteractionListener = ({
|
|
7
|
+
svgRef
|
|
8
|
+
}) => {
|
|
9
|
+
React.useEffect(() => {
|
|
10
|
+
const svg = svgRef.current;
|
|
11
|
+
if (!svg) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
const gestureManager = new GestureManager({
|
|
15
|
+
gestures: [new PanGesture({
|
|
16
|
+
name: 'pan',
|
|
17
|
+
threshold: 0,
|
|
18
|
+
maxPointers: 1
|
|
19
|
+
}), new MoveGesture({
|
|
20
|
+
name: 'move',
|
|
21
|
+
preventIf: ['pan', 'pinch'] // Prevent move gesture when pan is active
|
|
22
|
+
}), new PinchGesture({
|
|
23
|
+
name: 'pinch',
|
|
24
|
+
threshold: 5,
|
|
25
|
+
preventIf: ['pan']
|
|
26
|
+
}), new TurnWheelGesture({
|
|
27
|
+
name: 'turnWheel',
|
|
28
|
+
sensitivity: 0.01,
|
|
29
|
+
initialDelta: 1
|
|
30
|
+
}), new TapGesture({
|
|
31
|
+
name: 'tap',
|
|
32
|
+
maxDistance: 10,
|
|
33
|
+
preventIf: ['pan', 'pinch']
|
|
34
|
+
}), new PressGesture({
|
|
35
|
+
name: 'quickPress',
|
|
36
|
+
duration: 50,
|
|
37
|
+
maxDistance: 10
|
|
38
|
+
})]
|
|
39
|
+
});
|
|
40
|
+
gestureManager.registerElement(['pan', 'move', 'pinch', 'turnWheel', 'tap', 'quickPress'], svg);
|
|
41
|
+
return () => {
|
|
42
|
+
// Cleanup gesture manager
|
|
43
|
+
gestureManager.destroy();
|
|
44
|
+
};
|
|
45
|
+
}, [svgRef]);
|
|
46
|
+
const addInteractionListener = React.useCallback((interaction, callback, options) => {
|
|
47
|
+
// Forcefully cast the svgRef to any, it is annoying to fix the types.
|
|
48
|
+
const svg = svgRef.current;
|
|
49
|
+
svg?.addEventListener(interaction, callback, options);
|
|
50
|
+
return {
|
|
51
|
+
cleanup: () => svg?.removeEventListener(interaction, callback)
|
|
52
|
+
};
|
|
53
|
+
}, [svgRef]);
|
|
54
|
+
React.useEffect(() => {
|
|
55
|
+
const svg = svgRef.current;
|
|
56
|
+
|
|
57
|
+
// Disable gesture on safari
|
|
58
|
+
// https://use-gesture.netlify.app/docs/gestures/#about-the-pinch-gesture
|
|
59
|
+
svg?.addEventListener('gesturestart', preventDefault);
|
|
60
|
+
svg?.addEventListener('gesturechange', preventDefault);
|
|
61
|
+
svg?.addEventListener('gestureend', preventDefault);
|
|
62
|
+
return () => {
|
|
63
|
+
svg?.removeEventListener('gesturestart', preventDefault);
|
|
64
|
+
svg?.removeEventListener('gesturechange', preventDefault);
|
|
65
|
+
svg?.removeEventListener('gestureend', preventDefault);
|
|
66
|
+
};
|
|
67
|
+
}, [svgRef]);
|
|
68
|
+
return {
|
|
69
|
+
instance: {
|
|
70
|
+
addInteractionListener
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
useChartInteractionListener.params = {};
|
|
75
|
+
useChartInteractionListener.getInitialState = () => {
|
|
76
|
+
return {};
|
|
77
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MoveEvent, PanEvent, PinchEvent, PressEvent, TapEvent, TurnWheelEvent } from '@mui/x-internal-gestures/core';
|
|
2
|
+
import { ChartPluginSignature } from "../../models/index.js";
|
|
3
|
+
export type ChartInteraction = 'pan' | 'panStart' | 'panEnd' | 'pinch' | 'pinchStart' | 'pinchEnd' | 'move' | 'moveStart' | 'moveEnd' | 'quickPress' | 'quickPressEnd' | 'turnWheel' | 'tap';
|
|
4
|
+
export type InteractionListenerResult = {
|
|
5
|
+
cleanup: () => void;
|
|
6
|
+
};
|
|
7
|
+
export type AddInteractionListener = {
|
|
8
|
+
<CustomData extends Record<string, unknown> = Record<string, unknown>>(interaction: 'pan' | 'panStart' | 'panEnd', callback: (event: PanEvent<CustomData>) => void, options?: boolean | AddEventListenerOptions): InteractionListenerResult;
|
|
9
|
+
<CustomData extends Record<string, unknown> = Record<string, unknown>>(interaction: 'pinch' | 'pinchStart' | 'pinchEnd', callback: (event: PinchEvent<CustomData>) => void, options?: boolean | AddEventListenerOptions): InteractionListenerResult;
|
|
10
|
+
<CustomData extends Record<string, unknown> = Record<string, unknown>>(interaction: 'turnWheel', callback: (event: TurnWheelEvent<CustomData>) => void, options?: boolean | AddEventListenerOptions): InteractionListenerResult;
|
|
11
|
+
<CustomData extends Record<string, unknown> = Record<string, unknown>>(interaction: 'move' | 'moveStart' | 'moveEnd', callback: (event: MoveEvent<CustomData>) => void, options?: boolean | AddEventListenerOptions): InteractionListenerResult;
|
|
12
|
+
<CustomData extends Record<string, unknown> = Record<string, unknown>>(interaction: 'tap', callback: (event: TapEvent<CustomData>) => void, options?: boolean | AddEventListenerOptions): InteractionListenerResult;
|
|
13
|
+
<CustomData extends Record<string, unknown> = Record<string, unknown>>(interaction: 'quickPress' | 'quickPressEnd', callback: (event: PressEvent<CustomData>) => void, options?: boolean | AddEventListenerOptions): InteractionListenerResult;
|
|
14
|
+
};
|
|
15
|
+
export interface UseChartInteractionListenerParameters {}
|
|
16
|
+
export interface UseChartInteractionListenerState {}
|
|
17
|
+
export interface UseChartInteractionListenerInstance {
|
|
18
|
+
/**
|
|
19
|
+
* Adds an interaction listener to the SVG element.
|
|
20
|
+
*
|
|
21
|
+
* @param interaction The interaction to listen to.
|
|
22
|
+
* @param callback The callback to call when the interaction occurs.
|
|
23
|
+
*/
|
|
24
|
+
addInteractionListener: AddInteractionListener;
|
|
25
|
+
}
|
|
26
|
+
export type UseChartInteractionListenerSignature = ChartPluginSignature<{
|
|
27
|
+
params: UseChartInteractionListenerParameters;
|
|
28
|
+
defaultizedParams: UseChartInteractionListenerParameters;
|
|
29
|
+
state: UseChartInteractionListenerState;
|
|
30
|
+
instance: UseChartInteractionListenerInstance;
|
|
31
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ChartRootSelector } from "../../utils/selectors.js";
|
|
2
2
|
import { UseChartSeriesSignature } from "./useChartSeries.types.js";
|
|
3
3
|
export declare const selectorChartSeriesState: ChartRootSelector<UseChartSeriesSignature>;
|
|
4
|
-
export declare const selectorChartSeriesProcessed: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("../useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("./useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & Partial<{}> & {
|
|
4
|
+
export declare const selectorChartSeriesProcessed: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("../useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("./useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../useChartInteractionListener/index.js").UseChartInteractionListenerState & Partial<{}> & {
|
|
5
5
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
6
6
|
} & {
|
|
7
7
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
8
8
|
}, import("./useChartSeries.types.js").ProcessedSeries<keyof import("../../../index.js").ChartsSeriesConfig>, any[]>;
|
|
9
|
-
export declare const selectorChartSeriesConfig: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("../useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("./useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & Partial<{}> & {
|
|
9
|
+
export declare const selectorChartSeriesConfig: import("reselect").Selector<import("../useChartId/useChartId.types.js").UseChartIdState & import("../useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("./useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../useChartInteractionListener/index.js").UseChartInteractionListenerState & Partial<{}> & {
|
|
10
10
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
11
11
|
} & {
|
|
12
12
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
@@ -7,7 +7,7 @@ import { ProcessedSeries } from "../../corePlugins/useChartSeries/useChartSeries
|
|
|
7
7
|
import { GetZoomAxisFilters, ZoomData } from "./zoom.types.js";
|
|
8
8
|
export type ComputeResult<T extends ChartsAxisProps> = {
|
|
9
9
|
axis: ComputedAxisConfig<T>;
|
|
10
|
-
axisIds:
|
|
10
|
+
axisIds: AxisId[];
|
|
11
11
|
};
|
|
12
12
|
type ComputeCommonParams<T extends ChartSeriesType = ChartSeriesType> = {
|
|
13
13
|
drawingArea: ChartDrawingArea;
|
|
@@ -16,6 +16,10 @@ type ComputeCommonParams<T extends ChartSeriesType = ChartSeriesType> = {
|
|
|
16
16
|
zoomMap?: Map<AxisId, ZoomData>;
|
|
17
17
|
zoomOptions?: Record<AxisId, DefaultizedZoomOptions>;
|
|
18
18
|
getFilters?: GetZoomAxisFilters;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated To remove in v9. This is an experimental feature to avoid breaking change.
|
|
21
|
+
*/
|
|
22
|
+
preferStrictDomainInLineCharts?: boolean;
|
|
19
23
|
};
|
|
20
24
|
export declare function computeAxisValue<T extends ChartSeriesType>(options: ComputeCommonParams<T> & {
|
|
21
25
|
axis?: DefaultedYAxis[];
|
|
@@ -9,6 +9,7 @@ import { isDateData, createDateFormatter } from "../../../dateHelpers.js";
|
|
|
9
9
|
import { zoomScaleRange } from "./zoom.js";
|
|
10
10
|
import { getAxisExtremum } from "./getAxisExtremum.js";
|
|
11
11
|
import { getAxisTriggerTooltip } from "./getAxisTriggerTooltip.js";
|
|
12
|
+
import { getAxisDomainLimit } from "./getAxisDomainLimit.js";
|
|
12
13
|
function getRange(drawingArea, axisDirection,
|
|
13
14
|
// | 'rotation' | 'radius',
|
|
14
15
|
axis) {
|
|
@@ -25,7 +26,8 @@ export function computeAxisValue({
|
|
|
25
26
|
axisDirection,
|
|
26
27
|
zoomMap,
|
|
27
28
|
zoomOptions,
|
|
28
|
-
getFilters
|
|
29
|
+
getFilters,
|
|
30
|
+
preferStrictDomainInLineCharts
|
|
29
31
|
}) {
|
|
30
32
|
if (allAxis === undefined) {
|
|
31
33
|
return {
|
|
@@ -95,7 +97,7 @@ export function computeAxisValue({
|
|
|
95
97
|
return;
|
|
96
98
|
}
|
|
97
99
|
const scaleType = axis.scaleType ?? 'linear';
|
|
98
|
-
const domainLimit = axis.domainLimit ?? 'nice';
|
|
100
|
+
const domainLimit = preferStrictDomainInLineCharts ? getAxisDomainLimit(axis, axisDirection, axisIndex, formattedSeries) : axis.domainLimit ?? 'nice';
|
|
99
101
|
const axisExtremums = [axis.min ?? minData, axis.max ?? maxData];
|
|
100
102
|
if (typeof domainLimit === 'function') {
|
|
101
103
|
const {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP, DEFAULT_ZOOM_SLIDER_SIZE } from "../../../constants.js";
|
|
2
|
+
import { DEFAULT_ZOOM_SLIDER_PREVIEW_SIZE, DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP, DEFAULT_ZOOM_SLIDER_SIZE } from "../../../constants.js";
|
|
3
3
|
export const defaultZoomOptions = {
|
|
4
4
|
minStart: 0,
|
|
5
5
|
maxEnd: 100,
|
|
@@ -10,6 +10,7 @@ export const defaultZoomOptions = {
|
|
|
10
10
|
filterMode: 'keep',
|
|
11
11
|
slider: {
|
|
12
12
|
enabled: false,
|
|
13
|
+
preview: false,
|
|
13
14
|
size: DEFAULT_ZOOM_SLIDER_SIZE,
|
|
14
15
|
showTooltip: DEFAULT_ZOOM_SLIDER_SHOW_TOOLTIP
|
|
15
16
|
}
|
|
@@ -28,6 +29,8 @@ export const defaultizeZoom = (zoom, axisId, axisDirection) => {
|
|
|
28
29
|
axisId,
|
|
29
30
|
axisDirection
|
|
30
31
|
}, defaultZoomOptions, zoom, {
|
|
31
|
-
slider: _extends({}, defaultZoomOptions.slider,
|
|
32
|
+
slider: _extends({}, defaultZoomOptions.slider, {
|
|
33
|
+
size: zoom.slider?.preview ?? defaultZoomOptions.slider.preview ? DEFAULT_ZOOM_SLIDER_PREVIEW_SIZE : DEFAULT_ZOOM_SLIDER_SIZE
|
|
34
|
+
}, zoom.slider)
|
|
32
35
|
});
|
|
33
36
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AxisConfig } from "../../../../models/axis.js";
|
|
2
|
+
import { CartesianChartSeriesType } from "../../../../models/seriesType/config.js";
|
|
3
|
+
import { ProcessedSeries } from "../../corePlugins/useChartSeries/index.js";
|
|
4
|
+
export declare const getAxisDomainLimit: <T extends CartesianChartSeriesType>(axis: AxisConfig, axisDirection: "x" | "y", axisIndex: number, formattedSeries: ProcessedSeries<T | "line">) => "nice" | "strict" | ((min: number, max: number) => {
|
|
5
|
+
min: number;
|
|
6
|
+
max: number;
|
|
7
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const getAxisDomainLimit = (axis, axisDirection, axisIndex, formattedSeries) => {
|
|
2
|
+
if (axis.domainLimit !== undefined) {
|
|
3
|
+
return axis.domainLimit;
|
|
4
|
+
}
|
|
5
|
+
if (axisDirection === 'x') {
|
|
6
|
+
for (const seriesId of formattedSeries.line?.seriesOrder ?? []) {
|
|
7
|
+
const series = formattedSeries.line.series[seriesId];
|
|
8
|
+
if (series.xAxisId === axis.id || series.xAxisId === undefined && axisIndex === 0) {
|
|
9
|
+
return 'strict';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return 'nice';
|
|
14
|
+
};
|
|
@@ -3,6 +3,8 @@ export type * from "./useChartCartesianAxis.types.js";
|
|
|
3
3
|
export * from "./useChartCartesianAxisRendering.selectors.js";
|
|
4
4
|
export * from "./useChartCartesianAxisLayout.selectors.js";
|
|
5
5
|
export * from "./useChartCartesianInteraction.selectors.js";
|
|
6
|
+
export * from "./useChartCartesianHighlight.selectors.js";
|
|
7
|
+
export * from "./useChartCartesianAxisPreview.selectors.js";
|
|
6
8
|
export { defaultizeXAxis, defaultizeYAxis } from "./defaultizeAxis.js";
|
|
7
9
|
export * from "./computeAxisValue.js";
|
|
8
10
|
export * from "./createZoomLookup.js";
|
|
@@ -2,6 +2,8 @@ export { useChartCartesianAxis } from "./useChartCartesianAxis.js";
|
|
|
2
2
|
export * from "./useChartCartesianAxisRendering.selectors.js";
|
|
3
3
|
export * from "./useChartCartesianAxisLayout.selectors.js";
|
|
4
4
|
export * from "./useChartCartesianInteraction.selectors.js";
|
|
5
|
+
export * from "./useChartCartesianHighlight.selectors.js";
|
|
6
|
+
export * from "./useChartCartesianAxisPreview.selectors.js";
|
|
5
7
|
export { defaultizeXAxis, defaultizeYAxis } from "./defaultizeAxis.js";
|
|
6
8
|
export * from "./computeAxisValue.js";
|
|
7
9
|
export * from "./createZoomLookup.js";
|