@mui/x-charts-pro 8.0.0-alpha.11 → 8.0.0-alpha.13
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/BarChartPro/BarChartPro.d.ts +3 -4
- package/BarChartPro/BarChartPro.js +245 -244
- package/BarChartPro/BarChartPro.plugins.d.ts +3 -9
- package/BarChartPro/BarChartPro.plugins.js +9 -3
- package/BarChartPro/index.d.ts +1 -1
- package/BarChartPro/index.js +16 -1
- package/CHANGELOG.md +460 -1
- package/ChartContainerPro/ChartContainerPro.d.ts +5 -5
- package/ChartContainerPro/ChartContainerPro.js +179 -173
- package/ChartContainerPro/index.d.ts +2 -1
- package/ChartContainerPro/index.js +17 -1
- package/ChartContainerPro/useChartContainerProProps.d.ts +3 -3
- package/ChartContainerPro/useChartContainerProProps.js +20 -11
- package/ChartDataProviderPro/ChartDataProviderPro.d.ts +4 -4
- package/ChartDataProviderPro/ChartDataProviderPro.js +37 -30
- package/ChartDataProviderPro/index.d.ts +2 -1
- package/ChartDataProviderPro/index.js +17 -1
- package/ChartDataProviderPro/useChartDataProviderProProps.d.ts +4 -4
- package/ChartDataProviderPro/useChartDataProviderProProps.js +10 -4
- package/Heatmap/Heatmap.d.ts +45 -44
- package/Heatmap/Heatmap.js +232 -241
- package/Heatmap/Heatmap.plugins.d.ts +2 -7
- package/Heatmap/Heatmap.plugins.js +8 -2
- package/Heatmap/HeatmapItem.d.ts +33 -33
- package/Heatmap/HeatmapItem.js +39 -32
- package/Heatmap/HeatmapPlot.d.ts +4 -5
- package/Heatmap/HeatmapPlot.js +22 -16
- package/Heatmap/HeatmapTooltip.d.ts +3 -4
- package/Heatmap/HeatmapTooltip.js +97 -89
- package/Heatmap/heatmapClasses.d.ts +7 -7
- package/Heatmap/heatmapClasses.js +15 -7
- package/Heatmap/index.d.ts +4 -4
- package/Heatmap/index.js +47 -4
- package/Heatmap/{extremums.d.ts → seriesConfig/extremums.d.ts} +1 -1
- package/Heatmap/{getColor.d.ts → seriesConfig/getColor.d.ts} +1 -1
- package/Heatmap/seriesConfig/index.d.ts +2 -0
- package/{node/Heatmap/plugin.js → Heatmap/seriesConfig/index.js} +4 -4
- package/Heatmap/seriesConfig/seriesProcessor.d.ts +3 -0
- package/{node/Heatmap/formatter.js → Heatmap/seriesConfig/seriesProcessor.js} +2 -2
- package/Heatmap/{tooltip.d.ts → seriesConfig/tooltip.d.ts} +1 -1
- package/LineChartPro/LineChartPro.d.ts +3 -4
- package/LineChartPro/LineChartPro.js +257 -256
- package/LineChartPro/LineChartPro.plugins.d.ts +3 -9
- package/LineChartPro/LineChartPro.plugins.js +9 -3
- package/LineChartPro/index.d.ts +1 -1
- package/LineChartPro/index.js +16 -1
- package/ScatterChartPro/ScatterChartPro.d.ts +4 -4
- package/ScatterChartPro/ScatterChartPro.js +234 -235
- package/ScatterChartPro/ScatterChartPro.plugins.d.ts +4 -10
- package/ScatterChartPro/ScatterChartPro.plugins.js +9 -3
- package/ScatterChartPro/index.d.ts +1 -1
- package/ScatterChartPro/index.js +16 -1
- package/esm/BarChartPro/BarChartPro.d.ts +17 -0
- package/esm/BarChartPro/BarChartPro.js +450 -0
- package/esm/BarChartPro/BarChartPro.plugins.d.ts +4 -0
- package/esm/BarChartPro/BarChartPro.plugins.js +3 -0
- package/esm/BarChartPro/index.d.ts +1 -0
- package/esm/BarChartPro/index.js +1 -0
- package/esm/ChartContainerPro/ChartContainerPro.d.ts +35 -0
- package/esm/ChartContainerPro/ChartContainerPro.js +290 -0
- package/esm/ChartContainerPro/index.d.ts +2 -0
- package/esm/ChartContainerPro/index.js +2 -0
- package/esm/ChartContainerPro/useChartContainerProProps.d.ts +9 -0
- package/esm/ChartContainerPro/useChartContainerProProps.js +35 -0
- package/esm/ChartDataProviderPro/ChartDataProviderPro.d.ts +37 -0
- package/{node → esm}/ChartDataProviderPro/ChartDataProviderPro.js +31 -36
- package/esm/ChartDataProviderPro/index.d.ts +2 -0
- package/esm/ChartDataProviderPro/index.js +2 -0
- package/esm/ChartDataProviderPro/useChartDataProviderProProps.d.ts +8 -0
- package/esm/ChartDataProviderPro/useChartDataProviderProProps.js +15 -0
- package/esm/Heatmap/Heatmap.d.ts +57 -0
- package/esm/Heatmap/Heatmap.js +387 -0
- package/esm/Heatmap/Heatmap.plugins.d.ts +3 -0
- package/esm/Heatmap/Heatmap.plugins.js +2 -0
- package/esm/Heatmap/HeatmapItem.d.ts +49 -0
- package/esm/Heatmap/HeatmapItem.js +106 -0
- package/esm/Heatmap/HeatmapPlot.d.ts +8 -0
- package/{node → esm}/Heatmap/HeatmapPlot.js +16 -22
- package/esm/Heatmap/HeatmapTooltip.d.ts +8 -0
- package/esm/Heatmap/HeatmapTooltip.js +276 -0
- package/esm/Heatmap/heatmapClasses.d.ts +11 -0
- package/esm/Heatmap/heatmapClasses.js +14 -0
- package/esm/Heatmap/index.d.ts +4 -0
- package/esm/Heatmap/index.js +4 -0
- package/esm/Heatmap/seriesConfig/extremums.d.ts +2 -0
- package/esm/Heatmap/seriesConfig/getColor.d.ts +3 -0
- package/esm/Heatmap/seriesConfig/index.d.ts +2 -0
- package/{Heatmap/plugin.js → esm/Heatmap/seriesConfig/index.js} +3 -3
- package/esm/Heatmap/seriesConfig/seriesProcessor.d.ts +3 -0
- package/{Heatmap/formatter.js → esm/Heatmap/seriesConfig/seriesProcessor.js} +2 -2
- package/esm/Heatmap/seriesConfig/tooltip.d.ts +3 -0
- package/esm/LineChartPro/LineChartPro.d.ts +16 -0
- package/esm/LineChartPro/LineChartPro.js +501 -0
- package/esm/LineChartPro/LineChartPro.plugins.d.ts +4 -0
- package/esm/LineChartPro/LineChartPro.plugins.js +3 -0
- package/esm/LineChartPro/index.d.ts +1 -0
- package/esm/LineChartPro/index.js +1 -0
- package/esm/ScatterChartPro/ScatterChartPro.d.ts +17 -0
- package/esm/ScatterChartPro/ScatterChartPro.js +395 -0
- package/esm/ScatterChartPro/ScatterChartPro.plugins.d.ts +4 -0
- package/esm/ScatterChartPro/ScatterChartPro.plugins.js +3 -0
- package/esm/ScatterChartPro/index.d.ts +1 -0
- package/esm/ScatterChartPro/index.js +1 -0
- package/esm/hooks/index.d.ts +2 -0
- package/esm/hooks/index.js +2 -0
- package/esm/hooks/useHeatmapSeries.d.ts +33 -0
- package/esm/hooks/useHeatmapSeries.js +42 -0
- package/esm/hooks/zoom/index.d.ts +1 -0
- package/esm/hooks/zoom/index.js +1 -0
- package/esm/hooks/zoom/useIsZoomInteracting.d.ts +6 -0
- package/esm/hooks/zoom/useIsZoomInteracting.js +14 -0
- package/esm/index.d.ts +32 -0
- package/esm/index.js +43 -0
- package/esm/internals/plugins/allPlugins.d.ts +5 -0
- package/esm/internals/plugins/allPlugins.js +5 -0
- package/esm/internals/plugins/useChartProZoom/index.d.ts +3 -0
- package/esm/internals/plugins/useChartProZoom/index.js +3 -0
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.d.ts +3 -0
- package/{node → esm}/internals/plugins/useChartProZoom/useChartProZoom.js +94 -54
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +203 -0
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +4 -0
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +53 -0
- package/esm/internals/plugins/useChartProZoom/useChartProZoom.utils.d.ts +45 -0
- package/{node → esm}/internals/plugins/useChartProZoom/useChartProZoom.utils.js +8 -22
- package/esm/internals/utils/releaseInfo.d.ts +1 -0
- package/esm/internals/utils/releaseInfo.js +13 -0
- package/esm/models/index.d.ts +2 -0
- package/esm/models/index.js +2 -0
- package/esm/models/seriesType/heatmap.d.ts +28 -0
- package/esm/models/seriesType/index.d.ts +1 -0
- package/esm/models/seriesType/index.js +1 -0
- package/esm/package.json +1 -0
- package/esm/themeAugmentation/components.d.ts +23 -0
- package/esm/themeAugmentation/index.d.ts +4 -0
- package/esm/themeAugmentation/index.js +0 -0
- package/esm/themeAugmentation/overrides.d.ts +11 -0
- package/esm/themeAugmentation/props.d.ts +20 -0
- package/esm/typeOverloads/index.d.ts +1 -0
- package/esm/typeOverloads/index.js +1 -0
- package/esm/typeOverloads/modules.d.ts +22 -0
- package/esm/typeOverloads/modules.js +1 -0
- package/hooks/index.d.ts +2 -2
- package/hooks/index.js +27 -2
- package/hooks/useHeatmapSeries.d.ts +33 -0
- package/hooks/useHeatmapSeries.js +48 -0
- package/hooks/zoom/index.d.ts +1 -1
- package/hooks/zoom/index.js +16 -1
- package/hooks/zoom/useIsZoomInteracting.d.ts +1 -1
- package/hooks/zoom/useIsZoomInteracting.js +10 -5
- package/index.d.ts +8 -7
- package/index.js +347 -36
- package/internals/plugins/allPlugins.d.ts +3 -9
- package/internals/plugins/allPlugins.js +9 -3
- package/internals/plugins/useChartProZoom/index.d.ts +3 -3
- package/internals/plugins/useChartProZoom/index.js +38 -3
- package/internals/plugins/useChartProZoom/useChartProZoom.d.ts +2 -2
- package/internals/plugins/useChartProZoom/useChartProZoom.js +101 -47
- package/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +154 -328
- package/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +11 -10
- package/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +42 -39
- package/internals/plugins/useChartProZoom/useChartProZoom.types.js +5 -1
- package/internals/plugins/useChartProZoom/useChartProZoom.utils.d.ts +13 -13
- package/internals/plugins/useChartProZoom/useChartProZoom.utils.js +22 -8
- package/internals/utils/releaseInfo.d.ts +1 -1
- package/internals/utils/releaseInfo.js +13 -5
- package/models/index.d.ts +1 -1
- package/models/index.js +16 -2
- package/models/seriesType/heatmap.d.ts +18 -19
- package/models/seriesType/heatmap.js +5 -1
- package/models/seriesType/index.d.ts +1 -1
- package/models/seriesType/index.js +16 -1
- package/modern/BarChartPro/BarChartPro.d.ts +17 -0
- package/modern/BarChartPro/BarChartPro.js +25 -30
- package/modern/BarChartPro/BarChartPro.plugins.d.ts +4 -0
- package/modern/BarChartPro/index.d.ts +1 -0
- package/modern/ChartContainerPro/ChartContainerPro.d.ts +35 -0
- package/modern/ChartContainerPro/ChartContainerPro.js +1 -1
- package/modern/ChartContainerPro/index.d.ts +2 -0
- package/modern/ChartContainerPro/index.js +1 -0
- package/modern/ChartContainerPro/useChartContainerProProps.d.ts +9 -0
- package/modern/ChartContainerPro/useChartContainerProProps.js +3 -1
- package/modern/ChartDataProviderPro/ChartDataProviderPro.d.ts +37 -0
- package/modern/ChartDataProviderPro/ChartDataProviderPro.js +3 -2
- package/modern/ChartDataProviderPro/index.d.ts +2 -0
- package/modern/ChartDataProviderPro/index.js +1 -0
- package/modern/ChartDataProviderPro/useChartDataProviderProProps.d.ts +8 -0
- package/modern/Heatmap/Heatmap.d.ts +57 -0
- package/modern/Heatmap/Heatmap.js +39 -54
- package/modern/Heatmap/Heatmap.plugins.d.ts +3 -0
- package/modern/Heatmap/HeatmapItem.d.ts +49 -0
- package/modern/Heatmap/HeatmapPlot.d.ts +8 -0
- package/modern/Heatmap/HeatmapPlot.js +2 -2
- package/modern/Heatmap/HeatmapTooltip.d.ts +8 -0
- package/modern/Heatmap/HeatmapTooltip.js +6 -4
- package/modern/Heatmap/heatmapClasses.d.ts +11 -0
- package/modern/Heatmap/index.d.ts +4 -0
- package/modern/Heatmap/seriesConfig/extremums.d.ts +2 -0
- package/modern/Heatmap/seriesConfig/getColor.d.ts +3 -0
- package/modern/Heatmap/seriesConfig/index.d.ts +2 -0
- package/modern/Heatmap/{plugin.js → seriesConfig/index.js} +3 -3
- package/modern/Heatmap/seriesConfig/seriesProcessor.d.ts +3 -0
- package/modern/Heatmap/{formatter.js → seriesConfig/seriesProcessor.js} +2 -2
- package/modern/Heatmap/seriesConfig/tooltip.d.ts +3 -0
- package/modern/LineChartPro/LineChartPro.d.ts +16 -0
- package/modern/LineChartPro/LineChartPro.js +25 -30
- package/modern/LineChartPro/LineChartPro.plugins.d.ts +4 -0
- package/modern/LineChartPro/index.d.ts +1 -0
- package/modern/ScatterChartPro/ScatterChartPro.d.ts +17 -0
- package/modern/ScatterChartPro/ScatterChartPro.js +26 -33
- package/modern/ScatterChartPro/ScatterChartPro.plugins.d.ts +4 -0
- package/modern/ScatterChartPro/ScatterChartPro.plugins.js +2 -2
- package/modern/ScatterChartPro/index.d.ts +1 -0
- package/modern/hooks/index.d.ts +2 -0
- package/modern/hooks/index.js +1 -1
- package/modern/hooks/useHeatmapSeries.d.ts +33 -0
- package/modern/hooks/useHeatmapSeries.js +42 -0
- package/modern/hooks/zoom/index.d.ts +1 -0
- package/modern/hooks/zoom/useIsZoomInteracting.d.ts +6 -0
- package/modern/index.d.ts +32 -0
- package/modern/index.js +2 -2
- package/modern/internals/plugins/allPlugins.d.ts +5 -0
- package/modern/internals/plugins/useChartProZoom/index.d.ts +3 -0
- package/modern/internals/plugins/useChartProZoom/useChartProZoom.d.ts +3 -0
- package/modern/internals/plugins/useChartProZoom/useChartProZoom.js +65 -18
- package/modern/internals/plugins/useChartProZoom/useChartProZoom.selectors.d.ts +203 -0
- package/modern/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +1 -7
- package/modern/internals/plugins/useChartProZoom/useChartProZoom.types.d.ts +53 -0
- package/modern/internals/plugins/useChartProZoom/useChartProZoom.utils.d.ts +45 -0
- package/modern/internals/utils/releaseInfo.d.ts +1 -0
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/modern/models/index.d.ts +2 -0
- package/modern/models/seriesType/heatmap.d.ts +28 -0
- package/modern/models/seriesType/index.d.ts +1 -0
- package/modern/package.json +1 -0
- package/modern/themeAugmentation/components.d.ts +23 -0
- package/modern/themeAugmentation/index.d.ts +4 -0
- package/modern/themeAugmentation/overrides.d.ts +11 -0
- package/modern/themeAugmentation/props.d.ts +20 -0
- package/modern/typeOverloads/index.d.ts +1 -0
- package/modern/typeOverloads/modules.d.ts +22 -0
- package/package.json +41 -11
- package/themeAugmentation/components.d.ts +1 -3
- package/themeAugmentation/index.d.ts +1 -1
- package/themeAugmentation/index.js +1 -0
- package/themeAugmentation/overrides.d.ts +2 -4
- package/themeAugmentation/props.d.ts +5 -7
- package/tsconfig.build.tsbuildinfo +1 -0
- package/typeOverloads/index.d.ts +1 -1
- package/typeOverloads/index.js +6 -1
- package/typeOverloads/modules.d.ts +20 -23
- package/typeOverloads/modules.js +5 -1
- package/BarChartPro/package.json +0 -6
- package/ChartContainerPro/package.json +0 -6
- package/ChartDataProviderPro/package.json +0 -6
- package/Heatmap/formatter.d.ts +0 -3
- package/Heatmap/package.json +0 -6
- package/Heatmap/plugin.d.ts +0 -2
- package/LineChartPro/package.json +0 -6
- package/ScatterChartPro/package.json +0 -6
- package/hooks/package.json +0 -6
- package/hooks/useSeries.d.ts +0 -9
- package/hooks/useSeries.js +0 -16
- package/internals/plugins/useChartProZoom/creatZoomLookup.d.ts +0 -3
- package/internals/plugins/useChartProZoom/creatZoomLookup.js +0 -12
- package/internals/plugins/useChartProZoom/defaultizeZoom.d.ts +0 -2
- package/internals/plugins/useChartProZoom/defaultizeZoom.js +0 -25
- package/internals/plugins/useChartProZoom/zoom.types.d.ts +0 -53
- package/models/package.json +0 -6
- package/modern/hooks/useSeries.js +0 -16
- package/modern/internals/plugins/useChartProZoom/creatZoomLookup.js +0 -12
- package/modern/internals/plugins/useChartProZoom/defaultizeZoom.js +0 -25
- package/node/BarChartPro/BarChartPro.js +0 -461
- package/node/BarChartPro/BarChartPro.plugins.js +0 -9
- package/node/BarChartPro/index.js +0 -16
- package/node/ChartContainerPro/ChartContainerPro.js +0 -296
- package/node/ChartContainerPro/index.js +0 -16
- package/node/ChartContainerPro/useChartContainerProProps.js +0 -40
- package/node/ChartDataProviderPro/index.js +0 -16
- package/node/ChartDataProviderPro/useChartDataProviderProProps.js +0 -21
- package/node/Heatmap/Heatmap.js +0 -408
- package/node/Heatmap/Heatmap.plugins.js +0 -8
- package/node/Heatmap/HeatmapItem.js +0 -113
- package/node/Heatmap/HeatmapTooltip.js +0 -280
- package/node/Heatmap/heatmapClasses.js +0 -22
- package/node/Heatmap/index.js +0 -47
- package/node/LineChartPro/LineChartPro.js +0 -512
- package/node/LineChartPro/LineChartPro.plugins.js +0 -9
- package/node/LineChartPro/index.js +0 -16
- package/node/ScatterChartPro/ScatterChartPro.js +0 -408
- package/node/ScatterChartPro/ScatterChartPro.plugins.js +0 -9
- package/node/ScatterChartPro/index.js +0 -16
- package/node/hooks/index.js +0 -27
- package/node/hooks/useSeries.js +0 -21
- package/node/hooks/zoom/index.js +0 -16
- package/node/hooks/zoom/useIsZoomInteracting.js +0 -19
- package/node/index.js +0 -354
- package/node/internals/plugins/allPlugins.js +0 -11
- package/node/internals/plugins/useChartProZoom/creatZoomLookup.js +0 -19
- package/node/internals/plugins/useChartProZoom/defaultizeZoom.js +0 -33
- package/node/internals/plugins/useChartProZoom/index.js +0 -38
- package/node/internals/plugins/useChartProZoom/useChartProZoom.selectors.js +0 -18
- package/node/internals/plugins/useChartProZoom/useChartProZoom.types.js +0 -5
- package/node/internals/plugins/useChartProZoom/zoom.types.js +0 -5
- package/node/internals/utils/releaseInfo.js +0 -21
- package/node/models/index.js +0 -16
- package/node/models/seriesType/heatmap.js +0 -5
- package/node/models/seriesType/index.js +0 -16
- package/node/themeAugmentation/index.js +0 -1
- package/node/typeOverloads/index.js +0 -6
- package/node/typeOverloads/modules.js +0 -5
- package/themeAugmentation/package.json +0 -6
- package/typeOverloads/package.json +0 -6
- /package/{node/Heatmap → Heatmap/seriesConfig}/extremums.js +0 -0
- /package/{node/Heatmap → Heatmap/seriesConfig}/getColor.js +0 -0
- /package/{node/Heatmap → Heatmap/seriesConfig}/tooltip.js +0 -0
- /package/{Heatmap → esm/Heatmap/seriesConfig}/extremums.js +0 -0
- /package/{Heatmap → esm/Heatmap/seriesConfig}/getColor.js +0 -0
- /package/{Heatmap → esm/Heatmap/seriesConfig}/tooltip.js +0 -0
- /package/{internals/plugins/useChartProZoom/zoom.types.js → esm/internals/plugins/useChartProZoom/useChartProZoom.types.js} +0 -0
- /package/{modern/internals/plugins/useChartProZoom/zoom.types.js → esm/models/seriesType/heatmap.js} +0 -0
- /package/modern/Heatmap/{extremums.js → seriesConfig/extremums.js} +0 -0
- /package/modern/Heatmap/{getColor.js → seriesConfig/getColor.js} +0 -0
- /package/modern/Heatmap/{tooltip.js → seriesConfig/tooltip.js} +0 -0
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
'use client';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.useChartProZoom = void 0;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
13
|
+
var _internals = require("@mui/x-charts/internals");
|
|
14
|
+
var _useChartProZoom = require("./useChartProZoom.utils");
|
|
10
15
|
// It is helpful to avoid the need to provide the possibly auto-generated id for each axis.
|
|
11
16
|
function initializeZoomData(options) {
|
|
12
17
|
return Object.values(options).map(({
|
|
@@ -19,39 +24,79 @@ function initializeZoomData(options) {
|
|
|
19
24
|
end
|
|
20
25
|
}));
|
|
21
26
|
}
|
|
22
|
-
|
|
27
|
+
const useChartProZoom = ({
|
|
23
28
|
store,
|
|
24
29
|
instance,
|
|
25
30
|
svgRef,
|
|
26
31
|
params
|
|
27
32
|
}) => {
|
|
28
|
-
const
|
|
29
|
-
|
|
33
|
+
const {
|
|
34
|
+
zoomData: paramsZoomData,
|
|
35
|
+
onZoomChange
|
|
36
|
+
} = params;
|
|
37
|
+
const drawingArea = (0, _internals.useSelector)(store, _internals.selectorChartDrawingArea);
|
|
38
|
+
const optionsLookup = (0, _internals.useSelector)(store, _internals.selectorChartZoomOptionsLookup);
|
|
30
39
|
const isZoomEnabled = Object.keys(optionsLookup).length > 0;
|
|
31
40
|
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
// Manage controlled state
|
|
42
|
+
|
|
43
|
+
(0, _useEnhancedEffect.default)(() => {
|
|
44
|
+
if (paramsZoomData === undefined) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
store.update(prevState => {
|
|
48
|
+
if (process.env.NODE_ENV !== 'production' && !prevState.zoom.isControlled) {
|
|
49
|
+
console.error([`MUI X: A chart component is changing the \`zoomData\` from uncontrolled to controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', 'Decide between using a controlled or uncontrolled for the lifetime of the component.', "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'].join('\n'));
|
|
50
|
+
}
|
|
51
|
+
return (0, _extends2.default)({}, prevState, {
|
|
52
|
+
zoom: (0, _extends2.default)({}, prevState.zoom, {
|
|
53
|
+
isInteracting: true,
|
|
54
|
+
zoomData: paramsZoomData
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
const timeout = setTimeout(() => {
|
|
59
|
+
store.update(prevState => {
|
|
60
|
+
return (0, _extends2.default)({}, prevState, {
|
|
61
|
+
zoom: (0, _extends2.default)({}, prevState.zoom, {
|
|
62
|
+
isInteracting: false
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}, 166);
|
|
67
|
+
return () => {
|
|
68
|
+
clearTimeout(timeout);
|
|
69
|
+
};
|
|
70
|
+
}, [store, paramsZoomData]);
|
|
71
|
+
|
|
72
|
+
// Add instance methods
|
|
37
73
|
const setIsInteracting = React.useCallback(isInteracting => {
|
|
38
|
-
store.update(prev =>
|
|
39
|
-
zoom:
|
|
74
|
+
store.update(prev => (0, _extends2.default)({}, prev, {
|
|
75
|
+
zoom: (0, _extends2.default)({}, prev.zoom, {
|
|
40
76
|
isInteracting
|
|
41
77
|
})
|
|
42
78
|
}));
|
|
43
79
|
}, [store]);
|
|
44
80
|
const setZoomDataCallback = React.useCallback(zoomData => {
|
|
45
81
|
store.update(prevState => {
|
|
46
|
-
const newZoomData = typeof zoomData === 'function' ? zoomData(prevState.zoom.zoomData) : zoomData;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
82
|
+
const newZoomData = typeof zoomData === 'function' ? zoomData([...prevState.zoom.zoomData]) : zoomData;
|
|
83
|
+
onZoomChange?.(newZoomData);
|
|
84
|
+
if (prevState.zoom.isControlled) {
|
|
85
|
+
return prevState;
|
|
86
|
+
}
|
|
87
|
+
return (0, _extends2.default)({}, prevState, {
|
|
88
|
+
zoom: (0, _extends2.default)({}, prevState.zoom, {
|
|
50
89
|
zoomData: newZoomData
|
|
51
90
|
})
|
|
52
91
|
});
|
|
53
92
|
});
|
|
54
|
-
}, [
|
|
93
|
+
}, [onZoomChange, store]);
|
|
94
|
+
|
|
95
|
+
// Add events
|
|
96
|
+
const panningEventCacheRef = React.useRef([]);
|
|
97
|
+
const zoomEventCacheRef = React.useRef([]);
|
|
98
|
+
const eventPrevDiff = React.useRef(0);
|
|
99
|
+
const interactionTimeoutRef = React.useRef(undefined);
|
|
55
100
|
|
|
56
101
|
// Add event for chart panning
|
|
57
102
|
const isPanEnabled = React.useMemo(() => Object.values(optionsLookup).some(v => v.panning) || false, [optionsLookup]);
|
|
@@ -69,7 +114,7 @@ export const useChartProZoom = ({
|
|
|
69
114
|
if (touchStartRef.current == null) {
|
|
70
115
|
return;
|
|
71
116
|
}
|
|
72
|
-
const point = getSVGPoint(element, event);
|
|
117
|
+
const point = (0, _internals.getSVGPoint)(element, event);
|
|
73
118
|
const movementX = point.x - touchStartRef.current.x;
|
|
74
119
|
const movementY = (point.y - touchStartRef.current.y) * -1;
|
|
75
120
|
const newZoomData = touchStartRef.current.zoomData.map(zoom => {
|
|
@@ -97,7 +142,7 @@ export const useChartProZoom = ({
|
|
|
97
142
|
if (newMinPercent < MIN_PERCENT || newMaxPercent > MAX_PERCENT || span < options.minSpan || span > options.maxSpan) {
|
|
98
143
|
return zoom;
|
|
99
144
|
}
|
|
100
|
-
return
|
|
145
|
+
return (0, _extends2.default)({}, zoom, {
|
|
101
146
|
start: newMinPercent,
|
|
102
147
|
end: newMaxPercent
|
|
103
148
|
});
|
|
@@ -106,7 +151,7 @@ export const useChartProZoom = ({
|
|
|
106
151
|
};
|
|
107
152
|
const handleDown = event => {
|
|
108
153
|
panningEventCacheRef.current.push(event);
|
|
109
|
-
const point = getSVGPoint(element, event);
|
|
154
|
+
const point = (0, _internals.getSVGPoint)(element, event);
|
|
110
155
|
if (!instance.isPointInside(point)) {
|
|
111
156
|
return;
|
|
112
157
|
}
|
|
@@ -152,7 +197,7 @@ export const useChartProZoom = ({
|
|
|
152
197
|
if (element === null) {
|
|
153
198
|
return;
|
|
154
199
|
}
|
|
155
|
-
const point = getSVGPoint(element, event);
|
|
200
|
+
const point = (0, _internals.getSVGPoint)(element, event);
|
|
156
201
|
if (!instance.isPointInside(point)) {
|
|
157
202
|
return;
|
|
158
203
|
}
|
|
@@ -172,13 +217,13 @@ export const useChartProZoom = ({
|
|
|
172
217
|
if (!option) {
|
|
173
218
|
return zoom;
|
|
174
219
|
}
|
|
175
|
-
const centerRatio = option.axisDirection === 'x' ? getHorizontalCenterRatio(point, drawingArea) : getVerticalCenterRatio(point, drawingArea);
|
|
220
|
+
const centerRatio = option.axisDirection === 'x' ? (0, _useChartProZoom.getHorizontalCenterRatio)(point, drawingArea) : (0, _useChartProZoom.getVerticalCenterRatio)(point, drawingArea);
|
|
176
221
|
const {
|
|
177
222
|
scaleRatio,
|
|
178
223
|
isZoomIn
|
|
179
|
-
} = getWheelScaleRatio(event, option.step);
|
|
180
|
-
const [newMinRange, newMaxRange] = zoomAtPoint(centerRatio, scaleRatio, zoom, option);
|
|
181
|
-
if (!isSpanValid(newMinRange, newMaxRange, isZoomIn, option)) {
|
|
224
|
+
} = (0, _useChartProZoom.getWheelScaleRatio)(event, option.step);
|
|
225
|
+
const [newMinRange, newMaxRange] = (0, _useChartProZoom.zoomAtPoint)(centerRatio, scaleRatio, zoom, option);
|
|
226
|
+
if (!(0, _useChartProZoom.isSpanValid)(newMinRange, newMaxRange, isZoomIn, option)) {
|
|
182
227
|
return zoom;
|
|
183
228
|
}
|
|
184
229
|
return {
|
|
@@ -205,7 +250,7 @@ export const useChartProZoom = ({
|
|
|
205
250
|
return;
|
|
206
251
|
}
|
|
207
252
|
const firstEvent = zoomEventCacheRef.current[0];
|
|
208
|
-
const curDiff = getDiff(zoomEventCacheRef.current);
|
|
253
|
+
const curDiff = (0, _useChartProZoom.getDiff)(zoomEventCacheRef.current);
|
|
209
254
|
setZoomDataCallback(prevZoomData => {
|
|
210
255
|
const newZoomData = prevZoomData.map(zoom => {
|
|
211
256
|
const option = optionsLookup[zoom.axisId];
|
|
@@ -215,16 +260,16 @@ export const useChartProZoom = ({
|
|
|
215
260
|
const {
|
|
216
261
|
scaleRatio,
|
|
217
262
|
isZoomIn
|
|
218
|
-
} = getPinchScaleRatio(curDiff, eventPrevDiff.current, option.step);
|
|
263
|
+
} = (0, _useChartProZoom.getPinchScaleRatio)(curDiff, eventPrevDiff.current, option.step);
|
|
219
264
|
|
|
220
265
|
// If the scale ratio is 0, it means the pinch gesture is not valid.
|
|
221
266
|
if (scaleRatio === 0) {
|
|
222
267
|
return zoom;
|
|
223
268
|
}
|
|
224
|
-
const point = getSVGPoint(element, firstEvent);
|
|
225
|
-
const centerRatio = option.axisDirection === 'x' ? getHorizontalCenterRatio(point, drawingArea) : getVerticalCenterRatio(point, drawingArea);
|
|
226
|
-
const [newMinRange, newMaxRange] = zoomAtPoint(centerRatio, scaleRatio, zoom, option);
|
|
227
|
-
if (!isSpanValid(newMinRange, newMaxRange, isZoomIn, option)) {
|
|
269
|
+
const point = (0, _internals.getSVGPoint)(element, firstEvent);
|
|
270
|
+
const centerRatio = option.axisDirection === 'x' ? (0, _useChartProZoom.getHorizontalCenterRatio)(point, drawingArea) : (0, _useChartProZoom.getVerticalCenterRatio)(point, drawingArea);
|
|
271
|
+
const [newMinRange, newMaxRange] = (0, _useChartProZoom.zoomAtPoint)(centerRatio, scaleRatio, zoom, option);
|
|
272
|
+
if (!(0, _useChartProZoom.isSpanValid)(newMinRange, newMaxRange, isZoomIn, option)) {
|
|
228
273
|
return zoom;
|
|
229
274
|
}
|
|
230
275
|
return {
|
|
@@ -255,8 +300,8 @@ export const useChartProZoom = ({
|
|
|
255
300
|
element.addEventListener('pointerleave', pointerUpHandler);
|
|
256
301
|
|
|
257
302
|
// Prevent zooming the entire page on touch devices
|
|
258
|
-
element.addEventListener('touchstart', preventDefault);
|
|
259
|
-
element.addEventListener('touchmove', preventDefault);
|
|
303
|
+
element.addEventListener('touchstart', _useChartProZoom.preventDefault);
|
|
304
|
+
element.addEventListener('touchmove', _useChartProZoom.preventDefault);
|
|
260
305
|
return () => {
|
|
261
306
|
element.removeEventListener('wheel', wheelHandler);
|
|
262
307
|
element.removeEventListener('pointerdown', pointerDownHandler);
|
|
@@ -265,8 +310,8 @@ export const useChartProZoom = ({
|
|
|
265
310
|
element.removeEventListener('pointercancel', pointerUpHandler);
|
|
266
311
|
element.removeEventListener('pointerout', pointerUpHandler);
|
|
267
312
|
element.removeEventListener('pointerleave', pointerUpHandler);
|
|
268
|
-
element.removeEventListener('touchstart', preventDefault);
|
|
269
|
-
element.removeEventListener('touchmove', preventDefault);
|
|
313
|
+
element.removeEventListener('touchstart', _useChartProZoom.preventDefault);
|
|
314
|
+
element.removeEventListener('touchmove', _useChartProZoom.preventDefault);
|
|
270
315
|
if (interactionTimeoutRef.current) {
|
|
271
316
|
clearTimeout(interactionTimeoutRef.current);
|
|
272
317
|
}
|
|
@@ -281,23 +326,32 @@ export const useChartProZoom = ({
|
|
|
281
326
|
}
|
|
282
327
|
};
|
|
283
328
|
};
|
|
329
|
+
exports.useChartProZoom = useChartProZoom;
|
|
284
330
|
useChartProZoom.params = {
|
|
285
331
|
initialZoom: true,
|
|
286
|
-
onZoomChange: true
|
|
332
|
+
onZoomChange: true,
|
|
333
|
+
zoomData: true
|
|
287
334
|
};
|
|
288
335
|
useChartProZoom.getDefaultizedParams = ({
|
|
289
336
|
params
|
|
290
337
|
}) => {
|
|
291
|
-
|
|
292
|
-
return _extends({}, params, {
|
|
293
|
-
optionsLookup
|
|
294
|
-
});
|
|
338
|
+
return (0, _extends2.default)({}, params);
|
|
295
339
|
};
|
|
296
340
|
useChartProZoom.getInitialState = params => {
|
|
341
|
+
const {
|
|
342
|
+
initialZoom,
|
|
343
|
+
zoomData,
|
|
344
|
+
defaultizedXAxis,
|
|
345
|
+
defaultizedYAxis
|
|
346
|
+
} = params;
|
|
347
|
+
const optionsLookup = (0, _extends2.default)({}, (0, _internals.createZoomLookup)('x')(defaultizedXAxis), (0, _internals.createZoomLookup)('y')(defaultizedYAxis));
|
|
297
348
|
return {
|
|
298
349
|
zoom: {
|
|
299
|
-
zoomData:
|
|
300
|
-
|
|
350
|
+
zoomData:
|
|
351
|
+
// eslint-disable-next-line no-nested-ternary
|
|
352
|
+
zoomData !== undefined ? zoomData : initialZoom !== undefined ? initialZoom : initializeZoomData(optionsLookup),
|
|
353
|
+
isInteracting: false,
|
|
354
|
+
isControlled: zoomData !== undefined
|
|
301
355
|
}
|
|
302
356
|
};
|
|
303
357
|
};
|