@mui/x-charts-premium 9.3.0 → 9.5.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/BarChartPremium/BarChartPremium.js +35 -5
- package/BarChartPremium/BarChartPremium.mjs +35 -5
- package/BarChartPremium/RangeBar/RangeBarPlot.d.mts +10 -0
- package/BarChartPremium/RangeBar/RangeBarPlot.d.ts +10 -0
- package/BarChartPremium/RangeBar/RangeBarPlot.js +59 -2
- package/BarChartPremium/RangeBar/RangeBarPlot.mjs +59 -2
- package/BarChartPremium/RangeBar/RangeBarWebGLPlot.d.mts +10 -0
- package/BarChartPremium/RangeBar/RangeBarWebGLPlot.d.ts +10 -0
- package/BarChartPremium/RangeBar/RangeBarWebGLPlot.js +82 -0
- package/BarChartPremium/RangeBar/RangeBarWebGLPlot.mjs +76 -0
- package/BarChartPremium/RangeBar/seriesConfig/extrema.js +3 -0
- package/BarChartPremium/RangeBar/seriesConfig/extrema.mjs +3 -0
- package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.js +2 -2
- package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.mjs +2 -2
- package/BarChartPremium/useBarChartPremiumProps.js +2 -1
- package/BarChartPremium/useBarChartPremiumProps.mjs +2 -1
- package/BarChartPremium/webgl/useBarWebGLPlotData.d.mts +2 -7
- package/BarChartPremium/webgl/useBarWebGLPlotData.d.ts +2 -7
- package/BarChartPremium/webgl/useBarWebGLPlotData.js +4 -151
- package/BarChartPremium/webgl/useBarWebGLPlotData.mjs +4 -150
- package/BarChartPremium/webgl/useWebGLBarLikePlotData.d.mts +40 -0
- package/BarChartPremium/webgl/useWebGLBarLikePlotData.d.ts +40 -0
- package/BarChartPremium/webgl/useWebGLBarLikePlotData.js +228 -0
- package/BarChartPremium/webgl/useWebGLBarLikePlotData.mjs +222 -0
- package/CHANGELOG.md +296 -0
- package/CandlestickChart/CandlestickChart.js +11 -2
- package/CandlestickChart/CandlestickChart.mjs +11 -2
- package/CandlestickChart/index.d.mts +11 -2
- package/CandlestickChart/index.d.ts +11 -2
- package/CandlestickChart/index.js +15 -3
- package/CandlestickChart/index.mjs +16 -2
- package/CandlestickChart/seriesConfig/extrema.js +3 -0
- package/CandlestickChart/seriesConfig/extrema.mjs +3 -0
- package/CandlestickChart/seriesConfig/seriesProcessor.js +2 -2
- package/CandlestickChart/seriesConfig/seriesProcessor.mjs +2 -2
- package/ChartsDataProviderPremium/ChartsDataProviderPremium.js +2 -2
- package/ChartsDataProviderPremium/ChartsDataProviderPremium.mjs +2 -2
- package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.d.mts +35 -0
- package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.d.ts +35 -0
- package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.js +125 -0
- package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.mjs +119 -0
- package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.plugins.d.mts +5 -0
- package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.plugins.d.ts +5 -0
- package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.plugins.js +10 -0
- package/ChartsGeoDataProviderPremium/ChartsGeoDataProviderPremium.plugins.mjs +4 -0
- package/ChartsGeoDataProviderPremium/index.d.mts +3 -0
- package/ChartsGeoDataProviderPremium/index.d.ts +3 -0
- package/ChartsGeoDataProviderPremium/index.js +20 -0
- package/ChartsGeoDataProviderPremium/index.mjs +3 -0
- package/ChartsGeoDataProviderPremium/useChartsGeoDataProviderPremiumProps.d.mts +10 -0
- package/ChartsGeoDataProviderPremium/useChartsGeoDataProviderPremiumProps.d.ts +10 -0
- package/ChartsGeoDataProviderPremium/useChartsGeoDataProviderPremiumProps.js +49 -0
- package/ChartsGeoDataProviderPremium/useChartsGeoDataProviderPremiumProps.mjs +42 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.js +2 -2
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.mjs +2 -2
- package/HeatmapPremium/HeatmapPremium.js +32 -2
- package/HeatmapPremium/HeatmapPremium.mjs +32 -2
- package/Map/FocusedMapShape.d.mts +4 -0
- package/Map/FocusedMapShape.d.ts +4 -0
- package/Map/FocusedMapShape.js +66 -0
- package/Map/FocusedMapShape.mjs +60 -0
- package/Map/GeoDataPlot.d.mts +26 -0
- package/Map/GeoDataPlot.d.ts +26 -0
- package/Map/GeoDataPlot.js +65 -0
- package/Map/GeoDataPlot.mjs +60 -0
- package/Map/Graticule.d.mts +1 -0
- package/Map/Graticule.d.ts +1 -0
- package/Map/Graticule.js +30 -0
- package/Map/Graticule.mjs +24 -0
- package/Map/MapShape.d.mts +10 -0
- package/Map/MapShape.d.ts +10 -0
- package/Map/MapShape.js +55 -0
- package/Map/MapShape.mjs +49 -0
- package/Map/MapShapePlot.d.mts +21 -0
- package/Map/MapShapePlot.d.ts +21 -0
- package/Map/MapShapePlot.js +86 -0
- package/Map/MapShapePlot.mjs +80 -0
- package/Map/index.d.mts +7 -0
- package/Map/index.d.ts +7 -0
- package/Map/index.js +60 -0
- package/Map/index.mjs +8 -0
- package/Map/seriesConfig/descriptionGetter.d.mts +3 -0
- package/Map/seriesConfig/descriptionGetter.d.ts +3 -0
- package/Map/seriesConfig/descriptionGetter.js +19 -0
- package/Map/seriesConfig/descriptionGetter.mjs +13 -0
- package/Map/seriesConfig/getColor.d.mts +3 -0
- package/Map/seriesConfig/getColor.d.ts +3 -0
- package/Map/seriesConfig/getColor.js +35 -0
- package/Map/seriesConfig/getColor.mjs +29 -0
- package/Map/seriesConfig/getSeriesWithDefaultValues.d.mts +3 -0
- package/Map/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/Map/seriesConfig/getSeriesWithDefaultValues.js +15 -0
- package/Map/seriesConfig/getSeriesWithDefaultValues.mjs +8 -0
- package/Map/seriesConfig/index.d.mts +2 -0
- package/Map/seriesConfig/index.d.ts +2 -0
- package/Map/seriesConfig/index.js +28 -0
- package/Map/seriesConfig/index.mjs +21 -0
- package/Map/seriesConfig/keyboardFocusHandler.d.mts +9 -0
- package/Map/seriesConfig/keyboardFocusHandler.d.ts +9 -0
- package/Map/seriesConfig/keyboardFocusHandler.js +19 -0
- package/Map/seriesConfig/keyboardFocusHandler.mjs +13 -0
- package/Map/seriesConfig/legend.d.mts +3 -0
- package/Map/seriesConfig/legend.d.ts +3 -0
- package/Map/seriesConfig/legend.js +28 -0
- package/Map/seriesConfig/legend.mjs +22 -0
- package/Map/seriesConfig/seriesProcessor.d.mts +3 -0
- package/Map/seriesConfig/seriesProcessor.d.ts +3 -0
- package/Map/seriesConfig/seriesProcessor.js +66 -0
- package/Map/seriesConfig/seriesProcessor.mjs +59 -0
- package/Map/seriesConfig/tooltip.d.mts +3 -0
- package/Map/seriesConfig/tooltip.d.ts +3 -0
- package/Map/seriesConfig/tooltip.js +33 -0
- package/Map/seriesConfig/tooltip.mjs +27 -0
- package/RadialBarChart/RadialBarChart.d.mts +1 -1
- package/RadialBarChart/RadialBarChart.d.ts +1 -1
- package/RadialBarChart/RadialBarChart.js +2 -2
- package/RadialBarChart/RadialBarChart.mjs +1 -1
- package/RadialBarChart/index.d.mts +4 -0
- package/RadialBarChart/index.d.ts +4 -0
- package/RadialBarChart/index.js +8 -1
- package/RadialBarChart/index.mjs +6 -0
- package/RadialLineChart/RadialLineChart.d.mts +1 -1
- package/RadialLineChart/RadialLineChart.d.ts +1 -1
- package/RadialLineChart/RadialLineChart.js +4 -4
- package/RadialLineChart/RadialLineChart.mjs +5 -5
- package/RadialLineChart/RadialLineHighlightPlot.d.mts +3 -2
- package/RadialLineChart/RadialLineHighlightPlot.d.ts +3 -2
- package/RadialLineChart/index.d.mts +4 -0
- package/RadialLineChart/index.d.ts +4 -0
- package/RadialLineChart/index.js +16 -1
- package/RadialLineChart/index.mjs +6 -0
- package/ScatterChartPremium/ScatterChartPremium.d.mts +2 -1
- package/ScatterChartPremium/ScatterChartPremium.d.ts +2 -1
- package/ScatterChartPremium/ScatterChartPremium.js +36 -4
- package/ScatterChartPremium/ScatterChartPremium.mjs +37 -5
- package/ScatterChartPremium/ScatterChartPremium.plugins.d.mts +1 -1
- package/ScatterChartPremium/ScatterChartPremium.plugins.d.ts +1 -1
- package/ScatterChartPremium/ScatterPlotPremium.d.mts +2 -2
- package/ScatterChartPremium/ScatterPlotPremium.d.ts +2 -2
- package/hooks/index.d.mts +4 -1
- package/hooks/index.d.ts +4 -1
- package/hooks/index.js +33 -0
- package/hooks/index.mjs +4 -1
- package/hooks/useGeoData.d.mts +6 -0
- package/hooks/useGeoData.d.ts +6 -0
- package/hooks/useGeoData.js +17 -0
- package/hooks/useGeoData.mjs +13 -0
- package/hooks/useGeoFeatureIndexesByName.d.mts +7 -0
- package/hooks/useGeoFeatureIndexesByName.d.ts +7 -0
- package/hooks/useGeoFeatureIndexesByName.js +19 -0
- package/hooks/useGeoFeatureIndexesByName.mjs +15 -0
- package/hooks/useGeoPath.d.mts +6 -0
- package/hooks/useGeoPath.d.ts +6 -0
- package/hooks/useGeoPath.js +17 -0
- package/hooks/useGeoPath.mjs +13 -0
- package/hooks/useMapShapeSeries.d.mts +34 -0
- package/hooks/useMapShapeSeries.d.ts +34 -0
- package/hooks/useMapShapeSeries.js +45 -0
- package/hooks/useMapShapeSeries.mjs +40 -0
- package/index.d.mts +3 -1
- package/index.d.ts +3 -1
- package/index.js +32 -1
- package/index.mjs +4 -2
- package/internals/plugins/allPlugins.d.mts +5 -5
- package/internals/plugins/allPlugins.d.ts +5 -5
- package/internals/plugins/allPlugins.js +2 -2
- package/internals/plugins/allPlugins.mjs +3 -3
- package/internals/plugins/useGeoProjection/index.d.mts +3 -0
- package/internals/plugins/useGeoProjection/index.d.ts +3 -0
- package/internals/plugins/useGeoProjection/index.js +38 -0
- package/internals/plugins/useGeoProjection/index.mjs +3 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.d.mts +3 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.d.ts +3 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.js +58 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.mjs +50 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.selectors.d.mts +39 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.selectors.d.ts +39 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.selectors.js +135 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.selectors.mjs +128 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.types.d.mts +55 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.types.d.ts +55 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.types.js +5 -0
- package/internals/plugins/useGeoProjection/useGeoProjection.types.mjs +1 -0
- package/models/chartsSlotsComponentsPropsPremium.d.mts +1 -0
- package/models/chartsSlotsComponentsPropsPremium.d.ts +1 -0
- package/models/chartsSlotsComponentsPropsPremium.js +5 -0
- package/models/chartsSlotsComponentsPropsPremium.mjs +1 -0
- package/models/index.d.mts +2 -1
- package/models/index.d.ts +2 -1
- package/models/index.js +11 -0
- package/models/index.mjs +2 -1
- package/models/seriesType/index.d.mts +2 -1
- package/models/seriesType/index.d.ts +2 -1
- package/models/seriesType/index.js +11 -0
- package/models/seriesType/index.mjs +2 -1
- package/models/seriesType/mapShape.d.mts +105 -0
- package/models/seriesType/mapShape.d.ts +105 -0
- package/models/seriesType/mapShape.js +5 -0
- package/models/seriesType/mapShape.mjs +1 -0
- package/models/seriesType/ohlc.d.mts +1 -1
- package/models/seriesType/ohlc.d.ts +1 -1
- package/models/seriesType/radialBar.d.mts +1 -1
- package/models/seriesType/radialBar.d.ts +1 -1
- package/models/seriesType/radialLine.d.mts +1 -1
- package/models/seriesType/radialLine.d.ts +1 -1
- package/models/seriesType/rangeBar.d.mts +1 -1
- package/models/seriesType/rangeBar.d.ts +1 -1
- package/package.json +34 -6
- package/typeOverloads/modules.d.mts +16 -1
- package/typeOverloads/modules.d.ts +16 -1
- package/utils/webgl/useWebGLResizeObserver.js +3 -3
- package/utils/webgl/useWebGLResizeObserver.mjs +2 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type ChartSeriesType, type ConvertSignaturesIntoPlugins, type UseChartCartesianAxisSignature, type UseChartTooltipSignature, type UseChartInteractionSignature, type UseChartZAxisSignature, type UseChartHighlightSignature, type UseChartPolarAxisSignature, type UseChartBrushSignature, type UseChartVisibilityManagerSignature } from '@mui/x-charts/internals';
|
|
1
|
+
import { type ChartSeriesType, type ConvertSignaturesIntoPlugins, type UseChartCartesianAxisSignature, type UseChartTooltipSignature, type UseChartInteractionSignature, type UseChartZAxisSignature, type UseChartHighlightSignature, type UseChartPolarAxisSignature, type UseChartBrushSignature, type UseChartVisibilityManagerSignature, type UseProgressiveRenderingSignature } from '@mui/x-charts/internals';
|
|
2
2
|
import { type UseChartProExportSignature, type UseChartProZoomSignature } from '@mui/x-charts-pro/plugins';
|
|
3
|
-
export type AllPluginSignatures<SeriesType extends ChartSeriesType = ChartSeriesType> = [UseChartZAxisSignature, UseChartBrushSignature, UseChartTooltipSignature<SeriesType>, UseChartInteractionSignature, UseChartCartesianAxisSignature<SeriesType>, UseChartPolarAxisSignature<SeriesType>, UseChartHighlightSignature<SeriesType>, UseChartVisibilityManagerSignature<SeriesType>, UseChartProZoomSignature, UseChartProExportSignature];
|
|
3
|
+
export type AllPluginSignatures<SeriesType extends ChartSeriesType = ChartSeriesType> = [UseChartZAxisSignature, UseChartBrushSignature, UseChartTooltipSignature<SeriesType>, UseChartInteractionSignature, UseChartCartesianAxisSignature<SeriesType>, UseChartPolarAxisSignature<SeriesType>, UseChartHighlightSignature<SeriesType>, UseChartVisibilityManagerSignature<SeriesType>, UseChartProZoomSignature, UseChartProExportSignature, UseProgressiveRenderingSignature];
|
|
4
4
|
export type AllPluginsType<SeriesType extends ChartSeriesType = ChartSeriesType> = ConvertSignaturesIntoPlugins<AllPluginSignatures<SeriesType>>;
|
|
5
|
-
export declare const ALL_PLUGINS: (import("@mui/x-charts/internals").ChartPlugin<UseChartZAxisSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartBrushSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartInteractionSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProZoomSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProExportSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartTooltipSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartCartesianAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartPolarAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartHighlightSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartVisibilityManagerSignature<any>>)[];
|
|
6
|
-
export type DefaultPluginSignatures<SeriesType extends ChartSeriesType = ChartSeriesType> = [UseChartZAxisSignature, UseChartBrushSignature, UseChartTooltipSignature<SeriesType>, UseChartInteractionSignature, UseChartCartesianAxisSignature<SeriesType>, UseChartPolarAxisSignature<SeriesType>, UseChartHighlightSignature<SeriesType>, UseChartVisibilityManagerSignature<SeriesType>, UseChartProZoomSignature, UseChartProExportSignature];
|
|
5
|
+
export declare const ALL_PLUGINS: (import("@mui/x-charts/internals").ChartPlugin<UseChartZAxisSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartBrushSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartInteractionSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProZoomSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProExportSignature> | import("@mui/x-charts/internals").ChartPlugin<UseProgressiveRenderingSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartTooltipSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartCartesianAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartPolarAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartHighlightSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartVisibilityManagerSignature<any>>)[];
|
|
6
|
+
export type DefaultPluginSignatures<SeriesType extends ChartSeriesType = ChartSeriesType> = [UseChartZAxisSignature, UseChartBrushSignature, UseChartTooltipSignature<SeriesType>, UseChartInteractionSignature, UseChartCartesianAxisSignature<SeriesType>, UseChartPolarAxisSignature<SeriesType>, UseChartHighlightSignature<SeriesType>, UseChartVisibilityManagerSignature<SeriesType>, UseChartProZoomSignature, UseChartProExportSignature, UseProgressiveRenderingSignature];
|
|
7
7
|
export type DefaultPluginsType<SeriesType extends ChartSeriesType = ChartSeriesType> = ConvertSignaturesIntoPlugins<DefaultPluginSignatures<SeriesType>>;
|
|
8
|
-
export declare const DEFAULT_PLUGINS: (import("@mui/x-charts/internals").ChartPlugin<UseChartZAxisSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartBrushSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartInteractionSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProZoomSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProExportSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartTooltipSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartCartesianAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartHighlightSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartVisibilityManagerSignature<any>>)[];
|
|
8
|
+
export declare const DEFAULT_PLUGINS: (import("@mui/x-charts/internals").ChartPlugin<UseChartZAxisSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartBrushSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartInteractionSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProZoomSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProExportSignature> | import("@mui/x-charts/internals").ChartPlugin<UseProgressiveRenderingSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartTooltipSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartCartesianAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartHighlightSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartVisibilityManagerSignature<any>>)[];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type ChartSeriesType, type ConvertSignaturesIntoPlugins, type UseChartCartesianAxisSignature, type UseChartTooltipSignature, type UseChartInteractionSignature, type UseChartZAxisSignature, type UseChartHighlightSignature, type UseChartPolarAxisSignature, type UseChartBrushSignature, type UseChartVisibilityManagerSignature } from '@mui/x-charts/internals';
|
|
1
|
+
import { type ChartSeriesType, type ConvertSignaturesIntoPlugins, type UseChartCartesianAxisSignature, type UseChartTooltipSignature, type UseChartInteractionSignature, type UseChartZAxisSignature, type UseChartHighlightSignature, type UseChartPolarAxisSignature, type UseChartBrushSignature, type UseChartVisibilityManagerSignature, type UseProgressiveRenderingSignature } from '@mui/x-charts/internals';
|
|
2
2
|
import { type UseChartProExportSignature, type UseChartProZoomSignature } from '@mui/x-charts-pro/plugins';
|
|
3
|
-
export type AllPluginSignatures<SeriesType extends ChartSeriesType = ChartSeriesType> = [UseChartZAxisSignature, UseChartBrushSignature, UseChartTooltipSignature<SeriesType>, UseChartInteractionSignature, UseChartCartesianAxisSignature<SeriesType>, UseChartPolarAxisSignature<SeriesType>, UseChartHighlightSignature<SeriesType>, UseChartVisibilityManagerSignature<SeriesType>, UseChartProZoomSignature, UseChartProExportSignature];
|
|
3
|
+
export type AllPluginSignatures<SeriesType extends ChartSeriesType = ChartSeriesType> = [UseChartZAxisSignature, UseChartBrushSignature, UseChartTooltipSignature<SeriesType>, UseChartInteractionSignature, UseChartCartesianAxisSignature<SeriesType>, UseChartPolarAxisSignature<SeriesType>, UseChartHighlightSignature<SeriesType>, UseChartVisibilityManagerSignature<SeriesType>, UseChartProZoomSignature, UseChartProExportSignature, UseProgressiveRenderingSignature];
|
|
4
4
|
export type AllPluginsType<SeriesType extends ChartSeriesType = ChartSeriesType> = ConvertSignaturesIntoPlugins<AllPluginSignatures<SeriesType>>;
|
|
5
|
-
export declare const ALL_PLUGINS: (import("@mui/x-charts/internals").ChartPlugin<UseChartZAxisSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartBrushSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartInteractionSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProZoomSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProExportSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartTooltipSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartCartesianAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartPolarAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartHighlightSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartVisibilityManagerSignature<any>>)[];
|
|
6
|
-
export type DefaultPluginSignatures<SeriesType extends ChartSeriesType = ChartSeriesType> = [UseChartZAxisSignature, UseChartBrushSignature, UseChartTooltipSignature<SeriesType>, UseChartInteractionSignature, UseChartCartesianAxisSignature<SeriesType>, UseChartPolarAxisSignature<SeriesType>, UseChartHighlightSignature<SeriesType>, UseChartVisibilityManagerSignature<SeriesType>, UseChartProZoomSignature, UseChartProExportSignature];
|
|
5
|
+
export declare const ALL_PLUGINS: (import("@mui/x-charts/internals").ChartPlugin<UseChartZAxisSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartBrushSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartInteractionSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProZoomSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProExportSignature> | import("@mui/x-charts/internals").ChartPlugin<UseProgressiveRenderingSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartTooltipSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartCartesianAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartPolarAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartHighlightSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartVisibilityManagerSignature<any>>)[];
|
|
6
|
+
export type DefaultPluginSignatures<SeriesType extends ChartSeriesType = ChartSeriesType> = [UseChartZAxisSignature, UseChartBrushSignature, UseChartTooltipSignature<SeriesType>, UseChartInteractionSignature, UseChartCartesianAxisSignature<SeriesType>, UseChartPolarAxisSignature<SeriesType>, UseChartHighlightSignature<SeriesType>, UseChartVisibilityManagerSignature<SeriesType>, UseChartProZoomSignature, UseChartProExportSignature, UseProgressiveRenderingSignature];
|
|
7
7
|
export type DefaultPluginsType<SeriesType extends ChartSeriesType = ChartSeriesType> = ConvertSignaturesIntoPlugins<DefaultPluginSignatures<SeriesType>>;
|
|
8
|
-
export declare const DEFAULT_PLUGINS: (import("@mui/x-charts/internals").ChartPlugin<UseChartZAxisSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartBrushSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartInteractionSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProZoomSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProExportSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartTooltipSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartCartesianAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartHighlightSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartVisibilityManagerSignature<any>>)[];
|
|
8
|
+
export declare const DEFAULT_PLUGINS: (import("@mui/x-charts/internals").ChartPlugin<UseChartZAxisSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartBrushSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartInteractionSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProZoomSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartProExportSignature> | import("@mui/x-charts/internals").ChartPlugin<UseProgressiveRenderingSignature> | import("@mui/x-charts/internals").ChartPlugin<UseChartTooltipSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartCartesianAxisSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartHighlightSignature<any>> | import("@mui/x-charts/internals").ChartPlugin<UseChartVisibilityManagerSignature<any>>)[];
|
|
@@ -8,5 +8,5 @@ var _internals = require("@mui/x-charts/internals");
|
|
|
8
8
|
var _plugins = require("@mui/x-charts-pro/plugins");
|
|
9
9
|
// This file should be removed after creating all plugins in favor of a file per chart type.
|
|
10
10
|
|
|
11
|
-
const ALL_PLUGINS = exports.ALL_PLUGINS = [_internals.useChartZAxis, _internals.useChartBrush, _internals.useChartTooltip, _internals.useChartInteraction, _internals.useChartCartesianAxis, _internals.useChartPolarAxis, _internals.useChartHighlight, _internals.useChartVisibilityManager, _plugins.useChartProZoom, _plugins.useChartProExport];
|
|
12
|
-
const DEFAULT_PLUGINS = exports.DEFAULT_PLUGINS = [_internals.useChartZAxis, _internals.useChartBrush, _internals.useChartTooltip, _internals.useChartInteraction, _internals.useChartCartesianAxis, _internals.useChartHighlight, _internals.useChartVisibilityManager, _plugins.useChartProZoom, _plugins.useChartProExport];
|
|
11
|
+
const ALL_PLUGINS = exports.ALL_PLUGINS = [_internals.useChartZAxis, _internals.useChartBrush, _internals.useChartTooltip, _internals.useChartInteraction, _internals.useChartCartesianAxis, _internals.useChartPolarAxis, _internals.useChartHighlight, _internals.useChartVisibilityManager, _plugins.useChartProZoom, _plugins.useChartProExport, _internals.useProgressiveRendering];
|
|
12
|
+
const DEFAULT_PLUGINS = exports.DEFAULT_PLUGINS = [_internals.useChartZAxis, _internals.useChartBrush, _internals.useChartTooltip, _internals.useChartInteraction, _internals.useChartCartesianAxis, _internals.useChartHighlight, _internals.useChartVisibilityManager, _plugins.useChartProZoom, _plugins.useChartProExport, _internals.useProgressiveRendering];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// This file should be removed after creating all plugins in favor of a file per chart type.
|
|
2
2
|
|
|
3
|
-
import { useChartCartesianAxis, useChartTooltip, useChartInteraction, useChartZAxis, useChartHighlight, useChartPolarAxis, useChartBrush, useChartVisibilityManager } from '@mui/x-charts/internals';
|
|
3
|
+
import { useChartCartesianAxis, useChartTooltip, useChartInteraction, useChartZAxis, useChartHighlight, useChartPolarAxis, useChartBrush, useChartVisibilityManager, useProgressiveRendering } from '@mui/x-charts/internals';
|
|
4
4
|
import { useChartProExport, useChartProZoom } from '@mui/x-charts-pro/plugins';
|
|
5
|
-
export const ALL_PLUGINS = [useChartZAxis, useChartBrush, useChartTooltip, useChartInteraction, useChartCartesianAxis, useChartPolarAxis, useChartHighlight, useChartVisibilityManager, useChartProZoom, useChartProExport];
|
|
6
|
-
export const DEFAULT_PLUGINS = [useChartZAxis, useChartBrush, useChartTooltip, useChartInteraction, useChartCartesianAxis, useChartHighlight, useChartVisibilityManager, useChartProZoom, useChartProExport];
|
|
5
|
+
export const ALL_PLUGINS = [useChartZAxis, useChartBrush, useChartTooltip, useChartInteraction, useChartCartesianAxis, useChartPolarAxis, useChartHighlight, useChartVisibilityManager, useChartProZoom, useChartProExport, useProgressiveRendering];
|
|
6
|
+
export const DEFAULT_PLUGINS = [useChartZAxis, useChartBrush, useChartTooltip, useChartInteraction, useChartCartesianAxis, useChartHighlight, useChartVisibilityManager, useChartProZoom, useChartProExport, useProgressiveRendering];
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _useGeoProjection = require("./useGeoProjection");
|
|
7
|
+
Object.keys(_useGeoProjection).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _useGeoProjection[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _useGeoProjection[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _useGeoProjection2 = require("./useGeoProjection.types");
|
|
18
|
+
Object.keys(_useGeoProjection2).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _useGeoProjection2[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _useGeoProjection2[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _useGeoProjection3 = require("./useGeoProjection.selectors");
|
|
29
|
+
Object.keys(_useGeoProjection3).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _useGeoProjection3[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _useGeoProjection3[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
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.useGeoProjection = void 0;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
const useGeoProjection = ({
|
|
13
|
+
params,
|
|
14
|
+
store
|
|
15
|
+
}) => {
|
|
16
|
+
const {
|
|
17
|
+
geoData,
|
|
18
|
+
projection,
|
|
19
|
+
translate,
|
|
20
|
+
rotate,
|
|
21
|
+
scale
|
|
22
|
+
} = params;
|
|
23
|
+
const isFirstRender = React.useRef(true);
|
|
24
|
+
React.useEffect(() => {
|
|
25
|
+
if (isFirstRender.current) {
|
|
26
|
+
isFirstRender.current = false;
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
store.set('geoProjection', {
|
|
30
|
+
geoData: geoData ?? null,
|
|
31
|
+
projection: projection ?? null,
|
|
32
|
+
translate: translate ?? null,
|
|
33
|
+
rotate: rotate ?? null,
|
|
34
|
+
scale: scale ?? null
|
|
35
|
+
});
|
|
36
|
+
}, [geoData, projection, translate, rotate, scale, store]);
|
|
37
|
+
return {};
|
|
38
|
+
};
|
|
39
|
+
exports.useGeoProjection = useGeoProjection;
|
|
40
|
+
useGeoProjection.params = {
|
|
41
|
+
geoData: true,
|
|
42
|
+
projection: true,
|
|
43
|
+
translate: true,
|
|
44
|
+
rotate: true,
|
|
45
|
+
scale: true
|
|
46
|
+
};
|
|
47
|
+
useGeoProjection.getDefaultizedParams = ({
|
|
48
|
+
params
|
|
49
|
+
}) => (0, _extends2.default)({}, params);
|
|
50
|
+
useGeoProjection.getInitialState = params => ({
|
|
51
|
+
geoProjection: {
|
|
52
|
+
geoData: params.geoData ?? null,
|
|
53
|
+
projection: params.projection ?? null,
|
|
54
|
+
translate: params.translate ?? null,
|
|
55
|
+
rotate: params.rotate ?? null,
|
|
56
|
+
scale: params.scale ?? null
|
|
57
|
+
}
|
|
58
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
export const useGeoProjection = ({
|
|
6
|
+
params,
|
|
7
|
+
store
|
|
8
|
+
}) => {
|
|
9
|
+
const {
|
|
10
|
+
geoData,
|
|
11
|
+
projection,
|
|
12
|
+
translate,
|
|
13
|
+
rotate,
|
|
14
|
+
scale
|
|
15
|
+
} = params;
|
|
16
|
+
const isFirstRender = React.useRef(true);
|
|
17
|
+
React.useEffect(() => {
|
|
18
|
+
if (isFirstRender.current) {
|
|
19
|
+
isFirstRender.current = false;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
store.set('geoProjection', {
|
|
23
|
+
geoData: geoData ?? null,
|
|
24
|
+
projection: projection ?? null,
|
|
25
|
+
translate: translate ?? null,
|
|
26
|
+
rotate: rotate ?? null,
|
|
27
|
+
scale: scale ?? null
|
|
28
|
+
});
|
|
29
|
+
}, [geoData, projection, translate, rotate, scale, store]);
|
|
30
|
+
return {};
|
|
31
|
+
};
|
|
32
|
+
useGeoProjection.params = {
|
|
33
|
+
geoData: true,
|
|
34
|
+
projection: true,
|
|
35
|
+
translate: true,
|
|
36
|
+
rotate: true,
|
|
37
|
+
scale: true
|
|
38
|
+
};
|
|
39
|
+
useGeoProjection.getDefaultizedParams = ({
|
|
40
|
+
params
|
|
41
|
+
}) => _extends({}, params);
|
|
42
|
+
useGeoProjection.getInitialState = params => ({
|
|
43
|
+
geoProjection: {
|
|
44
|
+
geoData: params.geoData ?? null,
|
|
45
|
+
projection: params.projection ?? null,
|
|
46
|
+
translate: params.translate ?? null,
|
|
47
|
+
rotate: params.rotate ?? null,
|
|
48
|
+
scale: params.scale ?? null
|
|
49
|
+
}
|
|
50
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type ChartState } from '@mui/x-charts/internals';
|
|
2
|
+
import { type ExtendedFeatureCollection, type GeoProjection, type GeoPath } from '@mui/x-charts-vendor/d3-geo';
|
|
3
|
+
import type { GeoProjectionInput, UseGeoProjectionSignature, UseGeoProjectionState } from "./useGeoProjection.types.mjs";
|
|
4
|
+
export declare const selectorChartGeoProjectionState: (state: ChartState<[], [UseGeoProjectionSignature]>) => UseGeoProjectionState["geoProjection"] | undefined;
|
|
5
|
+
export declare const selectorChartRawGeoData: (state: ChartState<[], [UseGeoProjectionSignature]>) => ExtendedFeatureCollection | null;
|
|
6
|
+
export declare const selectorChartRawProjection: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<UseGeoProjectionState> & {
|
|
7
|
+
cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
|
|
8
|
+
}) => GeoProjectionInput | null;
|
|
9
|
+
export declare const selectorChartRawScale: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<UseGeoProjectionState> & {
|
|
10
|
+
cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
|
|
11
|
+
}) => number | null;
|
|
12
|
+
/**
|
|
13
|
+
* Map a feature's `properties.name` to its index in `geoData.features`,
|
|
14
|
+
* for fast lookup by name when joining series rows to features.
|
|
15
|
+
*
|
|
16
|
+
* Features without a string `properties.name` are skipped; on duplicates,
|
|
17
|
+
* the first occurrence wins.
|
|
18
|
+
*/
|
|
19
|
+
export declare const selectorChartGeoFeatureIndexesByName: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<UseGeoProjectionState> & {
|
|
20
|
+
cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
|
|
21
|
+
}) => ReadonlyMap<string, number[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Resolves the raw `projection` input into a ready-to-use `GeoProjection` instance
|
|
24
|
+
* fitted to the chart's drawing area.
|
|
25
|
+
*
|
|
26
|
+
* - String inputs (e.g. `'mercator'`) are mapped to the matching d3-geo factory.
|
|
27
|
+
* - `GeoProjection` instances are used as-is, then fitted.
|
|
28
|
+
* - Returns `null` when no projection is registered or the name is unknown.
|
|
29
|
+
*/
|
|
30
|
+
export declare const selectorChartProjection: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<UseGeoProjectionState> & {
|
|
31
|
+
cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
|
|
32
|
+
}) => GeoProjection | null;
|
|
33
|
+
/**
|
|
34
|
+
* Resolves the raw `projection` input into a ready-to-use `GeoPath` instance
|
|
35
|
+
* fitted to the chart's drawing area.
|
|
36
|
+
*/
|
|
37
|
+
export declare const selectorChartGeoPath: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<UseGeoProjectionState> & {
|
|
38
|
+
cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
|
|
39
|
+
}) => GeoPath<any, import("@mui/x-charts-vendor/d3-geo").GeoPermissibleObjects> | null;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type ChartState } from '@mui/x-charts/internals';
|
|
2
|
+
import { type ExtendedFeatureCollection, type GeoProjection, type GeoPath } from '@mui/x-charts-vendor/d3-geo';
|
|
3
|
+
import type { GeoProjectionInput, UseGeoProjectionSignature, UseGeoProjectionState } from "./useGeoProjection.types.js";
|
|
4
|
+
export declare const selectorChartGeoProjectionState: (state: ChartState<[], [UseGeoProjectionSignature]>) => UseGeoProjectionState["geoProjection"] | undefined;
|
|
5
|
+
export declare const selectorChartRawGeoData: (state: ChartState<[], [UseGeoProjectionSignature]>) => ExtendedFeatureCollection | null;
|
|
6
|
+
export declare const selectorChartRawProjection: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<UseGeoProjectionState> & {
|
|
7
|
+
cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
|
|
8
|
+
}) => GeoProjectionInput | null;
|
|
9
|
+
export declare const selectorChartRawScale: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<UseGeoProjectionState> & {
|
|
10
|
+
cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
|
|
11
|
+
}) => number | null;
|
|
12
|
+
/**
|
|
13
|
+
* Map a feature's `properties.name` to its index in `geoData.features`,
|
|
14
|
+
* for fast lookup by name when joining series rows to features.
|
|
15
|
+
*
|
|
16
|
+
* Features without a string `properties.name` are skipped; on duplicates,
|
|
17
|
+
* the first occurrence wins.
|
|
18
|
+
*/
|
|
19
|
+
export declare const selectorChartGeoFeatureIndexesByName: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<UseGeoProjectionState> & {
|
|
20
|
+
cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
|
|
21
|
+
}) => ReadonlyMap<string, number[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Resolves the raw `projection` input into a ready-to-use `GeoProjection` instance
|
|
24
|
+
* fitted to the chart's drawing area.
|
|
25
|
+
*
|
|
26
|
+
* - String inputs (e.g. `'mercator'`) are mapped to the matching d3-geo factory.
|
|
27
|
+
* - `GeoProjection` instances are used as-is, then fitted.
|
|
28
|
+
* - Returns `null` when no projection is registered or the name is unknown.
|
|
29
|
+
*/
|
|
30
|
+
export declare const selectorChartProjection: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<UseGeoProjectionState> & {
|
|
31
|
+
cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
|
|
32
|
+
}) => GeoProjection | null;
|
|
33
|
+
/**
|
|
34
|
+
* Resolves the raw `projection` input into a ready-to-use `GeoPath` instance
|
|
35
|
+
* fitted to the chart's drawing area.
|
|
36
|
+
*/
|
|
37
|
+
export declare const selectorChartGeoPath: (args_0: import("@mui/x-charts/internals/plugins/corePlugins/useChartId/useChartId.types").UseChartIdState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeriesConfig/useChartSeriesConfig.types").UseChartSeriesConfigState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types").UseChartExperimentalFeaturesState & import("@mui/x-charts/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types").UseChartDimensionsState & import("@mui/x-charts/internals/plugins/corePlugins/useChartSeries/useChartSeries.types").UseChartSeriesState<keyof import("@mui/x-charts/internals").ChartsSeriesConfig> & import("@mui/x-charts/internals/plugins/corePlugins/useChartAnimation/useChartAnimation.types").UseChartAnimationState & import("@mui/x-charts/internals").UseChartInteractionListenerState & Partial<UseGeoProjectionState> & {
|
|
38
|
+
cacheKey: import("@mui/x-charts/internals").ChartStateCacheKey;
|
|
39
|
+
}) => GeoPath<any, import("@mui/x-charts-vendor/d3-geo").GeoPermissibleObjects> | null;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.selectorChartRawScale = exports.selectorChartRawProjection = exports.selectorChartRawGeoData = exports.selectorChartProjection = exports.selectorChartGeoProjectionState = exports.selectorChartGeoPath = exports.selectorChartGeoFeatureIndexesByName = void 0;
|
|
7
|
+
var _store = require("@mui/x-internals/store");
|
|
8
|
+
var _internals = require("@mui/x-charts/internals");
|
|
9
|
+
var _d3Geo = require("@mui/x-charts-vendor/d3-geo");
|
|
10
|
+
const PROJECTION_FACTORIES = {
|
|
11
|
+
// Azimuthal projections (https://d3js.org/d3-geo/azimuthal)
|
|
12
|
+
azimuthalEqualArea: _d3Geo.geoAzimuthalEqualArea,
|
|
13
|
+
azimuthalEquidistant: _d3Geo.geoAzimuthalEquidistant,
|
|
14
|
+
gnomonic: _d3Geo.geoGnomonic,
|
|
15
|
+
orthographic: _d3Geo.geoOrthographic,
|
|
16
|
+
stereographic: _d3Geo.geoStereographic,
|
|
17
|
+
// Conic projections (https://d3js.org/d3-geo/conic)
|
|
18
|
+
conicConformal: _d3Geo.geoConicConformal,
|
|
19
|
+
conicEqualArea: _d3Geo.geoConicEqualArea,
|
|
20
|
+
conicEquidistant: _d3Geo.geoConicEquidistant,
|
|
21
|
+
albers: _d3Geo.geoAlbers,
|
|
22
|
+
albersUsa: _d3Geo.geoAlbersUsa,
|
|
23
|
+
// Special composition for the USA with an edge case for Alaska and Hawaii.
|
|
24
|
+
|
|
25
|
+
// Cylindrical projections (https://d3js.org/d3-geo/cylindrical)
|
|
26
|
+
equirectangular: _d3Geo.geoEquirectangular,
|
|
27
|
+
mercator: _d3Geo.geoMercator,
|
|
28
|
+
transverseMercator: _d3Geo.geoTransverseMercator,
|
|
29
|
+
equalEarth: _d3Geo.geoEqualEarth,
|
|
30
|
+
naturalEarth1: _d3Geo.geoNaturalEarth1
|
|
31
|
+
};
|
|
32
|
+
const isConicProjection = projection => {
|
|
33
|
+
return 'parallels' in projection && typeof projection.parallels === 'function';
|
|
34
|
+
};
|
|
35
|
+
const selectorChartGeoProjectionState = state => state.geoProjection;
|
|
36
|
+
exports.selectorChartGeoProjectionState = selectorChartGeoProjectionState;
|
|
37
|
+
const selectorChartRawGeoData = exports.selectorChartRawGeoData = (0, _store.createSelector)(selectorChartGeoProjectionState, geoProjection => geoProjection?.geoData ?? null);
|
|
38
|
+
const selectorChartRawProjection = exports.selectorChartRawProjection = (0, _store.createSelector)(selectorChartGeoProjectionState, geoProjection => geoProjection?.projection ?? null);
|
|
39
|
+
const selectorChartRawScale = exports.selectorChartRawScale = (0, _store.createSelector)(selectorChartGeoProjectionState, geoProjection => geoProjection?.scale ?? null);
|
|
40
|
+
const selectorChartRotate = (0, _store.createSelectorMemoized)(selectorChartGeoProjectionState, geoProjection => geoProjection?.rotate ?? null);
|
|
41
|
+
const selectorChartTranslate = (0, _store.createSelectorMemoized)(selectorChartGeoProjectionState, geoProjection => geoProjection?.translate ?? null);
|
|
42
|
+
const selectorChartParallels = (0, _store.createSelectorMemoized)(selectorChartGeoProjectionState, selectorChartRotate, (geoProjection, rotate) => geoProjection?.parallels ?? (rotate ? [rotate[1] - 15, rotate[1] + 15] : [30, 30]));
|
|
43
|
+
/**
|
|
44
|
+
* Map a feature's `properties.name` to its index in `geoData.features`,
|
|
45
|
+
* for fast lookup by name when joining series rows to features.
|
|
46
|
+
*
|
|
47
|
+
* Features without a string `properties.name` are skipped; on duplicates,
|
|
48
|
+
* the first occurrence wins.
|
|
49
|
+
*/
|
|
50
|
+
const selectorChartGeoFeatureIndexesByName = exports.selectorChartGeoFeatureIndexesByName = (0, _store.createSelectorMemoized)(selectorChartRawGeoData, geoData => {
|
|
51
|
+
const map = new Map();
|
|
52
|
+
if (!geoData) {
|
|
53
|
+
return map;
|
|
54
|
+
}
|
|
55
|
+
geoData.features.forEach((feature, index) => {
|
|
56
|
+
const name = feature.properties?.name;
|
|
57
|
+
if (typeof name !== 'string') {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (map.has(name)) {
|
|
61
|
+
map.get(name).push(index);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
map.set(name, [index]);
|
|
65
|
+
});
|
|
66
|
+
return map;
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Resolves the raw `projection` input into a ready-to-use `GeoProjection` instance
|
|
71
|
+
* fitted to the chart's drawing area.
|
|
72
|
+
*
|
|
73
|
+
* - String inputs (e.g. `'mercator'`) are mapped to the matching d3-geo factory.
|
|
74
|
+
* - `GeoProjection` instances are used as-is, then fitted.
|
|
75
|
+
* - Returns `null` when no projection is registered or the name is unknown.
|
|
76
|
+
*/
|
|
77
|
+
const selectorChartProjection = exports.selectorChartProjection = (0, _store.createSelectorMemoized)(selectorChartRawProjection, selectorChartRawGeoData, selectorChartParallels, selectorChartRotate, selectorChartTranslate, selectorChartRawScale, _internals.selectorChartDrawingArea, (projectionInput, geoData, parallels, rotate, translate, scale, drawingArea) => {
|
|
78
|
+
if (!projectionInput) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
let projection;
|
|
82
|
+
if (typeof projectionInput === 'string') {
|
|
83
|
+
const factory = PROJECTION_FACTORIES[projectionInput];
|
|
84
|
+
if (!factory) {
|
|
85
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
86
|
+
console.error(`MUI X Charts: Unknown projection name '${projectionInput}'. ` + `Expected one of: ${Object.keys(PROJECTION_FACTORIES).join(', ')}.`);
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
projection = factory();
|
|
91
|
+
if (isConicProjection(projection)) {
|
|
92
|
+
projection.parallels(parallels);
|
|
93
|
+
}
|
|
94
|
+
} else {
|
|
95
|
+
projection = projectionInput;
|
|
96
|
+
}
|
|
97
|
+
if (geoData) {
|
|
98
|
+
if (isConicProjection(projection)) {
|
|
99
|
+
if (rotate) {
|
|
100
|
+
projection.rotate?.(rotate);
|
|
101
|
+
}
|
|
102
|
+
if (!scale) {
|
|
103
|
+
const [[x0, y0], [x1, y1]] = (0, _d3Geo.geoPath)(projection).bounds(geoData);
|
|
104
|
+
const currentScale = projection.scale();
|
|
105
|
+
const fitScale = Math.min(currentScale * (drawingArea.width / (x1 - x0)), currentScale * (drawingArea.height / (y1 - y0)));
|
|
106
|
+
projection.scale(fitScale);
|
|
107
|
+
} else {
|
|
108
|
+
projection.scale(scale);
|
|
109
|
+
}
|
|
110
|
+
return projection;
|
|
111
|
+
}
|
|
112
|
+
if (rotate) {
|
|
113
|
+
projection.rotate?.(rotate);
|
|
114
|
+
}
|
|
115
|
+
if (scale) {
|
|
116
|
+
projection.scale(scale);
|
|
117
|
+
projection.clipExtent?.([[drawingArea.left, drawingArea.top], [drawingArea.left + drawingArea.width, drawingArea.top + drawingArea.height]]);
|
|
118
|
+
} else {
|
|
119
|
+
projection.fitExtent?.([[drawingArea.left, drawingArea.top], [drawingArea.left + drawingArea.width, drawingArea.top + drawingArea.height]], geoData);
|
|
120
|
+
}
|
|
121
|
+
projection.translate(translate ?? [drawingArea.left + drawingArea.width / 2, drawingArea.top + drawingArea.height / 2]);
|
|
122
|
+
}
|
|
123
|
+
return projection;
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Resolves the raw `projection` input into a ready-to-use `GeoPath` instance
|
|
128
|
+
* fitted to the chart's drawing area.
|
|
129
|
+
*/
|
|
130
|
+
const selectorChartGeoPath = exports.selectorChartGeoPath = (0, _store.createSelectorMemoized)(selectorChartProjection, projection => {
|
|
131
|
+
if (!projection) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
return (0, _d3Geo.geoPath)(projection);
|
|
135
|
+
});
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { createSelector, createSelectorMemoized } from '@mui/x-internals/store';
|
|
2
|
+
import { selectorChartDrawingArea } from '@mui/x-charts/internals';
|
|
3
|
+
import { geoAlbers, geoAlbersUsa, geoAzimuthalEqualArea, geoAzimuthalEquidistant, geoConicConformal, geoConicEqualArea, geoConicEquidistant, geoEqualEarth, geoEquirectangular, geoGnomonic, geoMercator, geoNaturalEarth1, geoOrthographic, geoStereographic, geoTransverseMercator, geoPath } from '@mui/x-charts-vendor/d3-geo';
|
|
4
|
+
const PROJECTION_FACTORIES = {
|
|
5
|
+
// Azimuthal projections (https://d3js.org/d3-geo/azimuthal)
|
|
6
|
+
azimuthalEqualArea: geoAzimuthalEqualArea,
|
|
7
|
+
azimuthalEquidistant: geoAzimuthalEquidistant,
|
|
8
|
+
gnomonic: geoGnomonic,
|
|
9
|
+
orthographic: geoOrthographic,
|
|
10
|
+
stereographic: geoStereographic,
|
|
11
|
+
// Conic projections (https://d3js.org/d3-geo/conic)
|
|
12
|
+
conicConformal: geoConicConformal,
|
|
13
|
+
conicEqualArea: geoConicEqualArea,
|
|
14
|
+
conicEquidistant: geoConicEquidistant,
|
|
15
|
+
albers: geoAlbers,
|
|
16
|
+
albersUsa: geoAlbersUsa,
|
|
17
|
+
// Special composition for the USA with an edge case for Alaska and Hawaii.
|
|
18
|
+
|
|
19
|
+
// Cylindrical projections (https://d3js.org/d3-geo/cylindrical)
|
|
20
|
+
equirectangular: geoEquirectangular,
|
|
21
|
+
mercator: geoMercator,
|
|
22
|
+
transverseMercator: geoTransverseMercator,
|
|
23
|
+
equalEarth: geoEqualEarth,
|
|
24
|
+
naturalEarth1: geoNaturalEarth1
|
|
25
|
+
};
|
|
26
|
+
const isConicProjection = projection => {
|
|
27
|
+
return 'parallels' in projection && typeof projection.parallels === 'function';
|
|
28
|
+
};
|
|
29
|
+
export const selectorChartGeoProjectionState = state => state.geoProjection;
|
|
30
|
+
export const selectorChartRawGeoData = createSelector(selectorChartGeoProjectionState, geoProjection => geoProjection?.geoData ?? null);
|
|
31
|
+
export const selectorChartRawProjection = createSelector(selectorChartGeoProjectionState, geoProjection => geoProjection?.projection ?? null);
|
|
32
|
+
export const selectorChartRawScale = createSelector(selectorChartGeoProjectionState, geoProjection => geoProjection?.scale ?? null);
|
|
33
|
+
const selectorChartRotate = createSelectorMemoized(selectorChartGeoProjectionState, geoProjection => geoProjection?.rotate ?? null);
|
|
34
|
+
const selectorChartTranslate = createSelectorMemoized(selectorChartGeoProjectionState, geoProjection => geoProjection?.translate ?? null);
|
|
35
|
+
const selectorChartParallels = createSelectorMemoized(selectorChartGeoProjectionState, selectorChartRotate, (geoProjection, rotate) => geoProjection?.parallels ?? (rotate ? [rotate[1] - 15, rotate[1] + 15] : [30, 30]));
|
|
36
|
+
/**
|
|
37
|
+
* Map a feature's `properties.name` to its index in `geoData.features`,
|
|
38
|
+
* for fast lookup by name when joining series rows to features.
|
|
39
|
+
*
|
|
40
|
+
* Features without a string `properties.name` are skipped; on duplicates,
|
|
41
|
+
* the first occurrence wins.
|
|
42
|
+
*/
|
|
43
|
+
export const selectorChartGeoFeatureIndexesByName = createSelectorMemoized(selectorChartRawGeoData, geoData => {
|
|
44
|
+
const map = new Map();
|
|
45
|
+
if (!geoData) {
|
|
46
|
+
return map;
|
|
47
|
+
}
|
|
48
|
+
geoData.features.forEach((feature, index) => {
|
|
49
|
+
const name = feature.properties?.name;
|
|
50
|
+
if (typeof name !== 'string') {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (map.has(name)) {
|
|
54
|
+
map.get(name).push(index);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
map.set(name, [index]);
|
|
58
|
+
});
|
|
59
|
+
return map;
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Resolves the raw `projection` input into a ready-to-use `GeoProjection` instance
|
|
64
|
+
* fitted to the chart's drawing area.
|
|
65
|
+
*
|
|
66
|
+
* - String inputs (e.g. `'mercator'`) are mapped to the matching d3-geo factory.
|
|
67
|
+
* - `GeoProjection` instances are used as-is, then fitted.
|
|
68
|
+
* - Returns `null` when no projection is registered or the name is unknown.
|
|
69
|
+
*/
|
|
70
|
+
export const selectorChartProjection = createSelectorMemoized(selectorChartRawProjection, selectorChartRawGeoData, selectorChartParallels, selectorChartRotate, selectorChartTranslate, selectorChartRawScale, selectorChartDrawingArea, (projectionInput, geoData, parallels, rotate, translate, scale, drawingArea) => {
|
|
71
|
+
if (!projectionInput) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
let projection;
|
|
75
|
+
if (typeof projectionInput === 'string') {
|
|
76
|
+
const factory = PROJECTION_FACTORIES[projectionInput];
|
|
77
|
+
if (!factory) {
|
|
78
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
79
|
+
console.error(`MUI X Charts: Unknown projection name '${projectionInput}'. ` + `Expected one of: ${Object.keys(PROJECTION_FACTORIES).join(', ')}.`);
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
projection = factory();
|
|
84
|
+
if (isConicProjection(projection)) {
|
|
85
|
+
projection.parallels(parallels);
|
|
86
|
+
}
|
|
87
|
+
} else {
|
|
88
|
+
projection = projectionInput;
|
|
89
|
+
}
|
|
90
|
+
if (geoData) {
|
|
91
|
+
if (isConicProjection(projection)) {
|
|
92
|
+
if (rotate) {
|
|
93
|
+
projection.rotate?.(rotate);
|
|
94
|
+
}
|
|
95
|
+
if (!scale) {
|
|
96
|
+
const [[x0, y0], [x1, y1]] = geoPath(projection).bounds(geoData);
|
|
97
|
+
const currentScale = projection.scale();
|
|
98
|
+
const fitScale = Math.min(currentScale * (drawingArea.width / (x1 - x0)), currentScale * (drawingArea.height / (y1 - y0)));
|
|
99
|
+
projection.scale(fitScale);
|
|
100
|
+
} else {
|
|
101
|
+
projection.scale(scale);
|
|
102
|
+
}
|
|
103
|
+
return projection;
|
|
104
|
+
}
|
|
105
|
+
if (rotate) {
|
|
106
|
+
projection.rotate?.(rotate);
|
|
107
|
+
}
|
|
108
|
+
if (scale) {
|
|
109
|
+
projection.scale(scale);
|
|
110
|
+
projection.clipExtent?.([[drawingArea.left, drawingArea.top], [drawingArea.left + drawingArea.width, drawingArea.top + drawingArea.height]]);
|
|
111
|
+
} else {
|
|
112
|
+
projection.fitExtent?.([[drawingArea.left, drawingArea.top], [drawingArea.left + drawingArea.width, drawingArea.top + drawingArea.height]], geoData);
|
|
113
|
+
}
|
|
114
|
+
projection.translate(translate ?? [drawingArea.left + drawingArea.width / 2, drawingArea.top + drawingArea.height / 2]);
|
|
115
|
+
}
|
|
116
|
+
return projection;
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Resolves the raw `projection` input into a ready-to-use `GeoPath` instance
|
|
121
|
+
* fitted to the chart's drawing area.
|
|
122
|
+
*/
|
|
123
|
+
export const selectorChartGeoPath = createSelectorMemoized(selectorChartProjection, projection => {
|
|
124
|
+
if (!projection) {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
return geoPath(projection);
|
|
128
|
+
});
|