@gooddata/sdk-ui-geo 11.11.0-alpha.2 → 11.11.0-alpha.3
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/esm/next/GeoAreaChart.d.ts +33 -0
- package/esm/next/GeoAreaChart.d.ts.map +1 -0
- package/esm/next/GeoAreaChart.js +65 -0
- package/esm/next/GeoAreaChart.js.map +1 -0
- package/esm/next/GeoPushpinChartNext.js +2 -2
- package/esm/next/GeoPushpinChartNext.js.map +1 -1
- package/esm/next/RenderGeoAreaChart.d.ts +15 -0
- package/esm/next/RenderGeoAreaChart.d.ts.map +1 -0
- package/esm/next/RenderGeoAreaChart.js +104 -0
- package/esm/next/RenderGeoAreaChart.js.map +1 -0
- package/esm/next/RenderGeoPushpinChart.d.ts.map +1 -1
- package/esm/next/RenderGeoPushpinChart.js.map +1 -1
- package/esm/next/components/legends/Legend.js +1 -1
- package/esm/next/components/legends/Legend.js.map +1 -1
- package/esm/next/components/legends/types.d.ts +2 -2
- package/esm/next/components/legends/types.d.ts.map +1 -1
- package/esm/next/context/GeoAreaCollectionContext.d.ts +24 -0
- package/esm/next/context/GeoAreaCollectionContext.d.ts.map +1 -0
- package/esm/next/context/GeoAreaCollectionContext.js +39 -0
- package/esm/next/context/GeoAreaCollectionContext.js.map +1 -0
- package/esm/next/context/GeoAreaDataContext.d.ts +69 -0
- package/esm/next/context/GeoAreaDataContext.d.ts.map +1 -0
- package/esm/next/context/GeoAreaDataContext.js +87 -0
- package/esm/next/context/GeoAreaDataContext.js.map +1 -0
- package/esm/next/context/GeoAreaPropsContext.d.ts +47 -0
- package/esm/next/context/GeoAreaPropsContext.d.ts.map +1 -0
- package/esm/next/context/GeoAreaPropsContext.js +84 -0
- package/esm/next/context/GeoAreaPropsContext.js.map +1 -0
- package/esm/next/context/GeoDataContext.d.ts +13 -19
- package/esm/next/context/GeoDataContext.d.ts.map +1 -1
- package/esm/next/context/GeoDataContext.js +7 -53
- package/esm/next/context/GeoDataContext.js.map +1 -1
- package/esm/next/context/GeoPushpinDataContext.d.ts +14 -0
- package/esm/next/context/GeoPushpinDataContext.d.ts.map +1 -0
- package/esm/next/context/GeoPushpinDataContext.js +51 -0
- package/esm/next/context/GeoPushpinDataContext.js.map +1 -0
- package/esm/next/features/clustering/clustering.d.ts +2 -2
- package/esm/next/features/clustering/clustering.d.ts.map +1 -1
- package/esm/next/features/clustering/clustering.js.map +1 -1
- package/esm/next/features/coloring/areaColorStrategy.d.ts +22 -0
- package/esm/next/features/coloring/areaColorStrategy.d.ts.map +1 -0
- package/esm/next/features/coloring/areaColorStrategy.js +83 -0
- package/esm/next/features/coloring/areaColorStrategy.js.map +1 -0
- package/esm/next/features/coloring/areaPalette.d.ts +28 -0
- package/esm/next/features/coloring/areaPalette.d.ts.map +1 -0
- package/esm/next/features/coloring/areaPalette.js +41 -0
- package/esm/next/features/coloring/areaPalette.js.map +1 -0
- package/esm/next/features/coloring/colorStrategy.d.ts +2 -2
- package/esm/next/features/coloring/colorStrategy.d.ts.map +1 -1
- package/esm/next/features/coloring/colorStrategy.js +2 -2
- package/esm/next/features/coloring/colorStrategy.js.map +1 -1
- package/esm/next/features/data/areaTransformation.d.ts +60 -0
- package/esm/next/features/data/areaTransformation.d.ts.map +1 -0
- package/esm/next/features/data/areaTransformation.js +248 -0
- package/esm/next/features/data/areaTransformation.js.map +1 -0
- package/esm/next/features/data/dataSourceManagement.d.ts +2 -2
- package/esm/next/features/data/dataSourceManagement.d.ts.map +1 -1
- package/esm/next/features/data/dataSourceManagement.js.map +1 -1
- package/esm/next/features/data/pushpinTransformation.d.ts +72 -0
- package/esm/next/features/data/pushpinTransformation.d.ts.map +1 -0
- package/esm/next/features/data/{transformation.js → pushpinTransformation.js} +21 -70
- package/esm/next/features/data/pushpinTransformation.js.map +1 -0
- package/esm/next/features/data/transformationCommon.d.ts +21 -0
- package/esm/next/features/data/transformationCommon.d.ts.map +1 -0
- package/esm/next/features/data/transformationCommon.js +52 -0
- package/esm/next/features/data/transformationCommon.js.map +1 -0
- package/esm/next/features/map/areaLayerManagement.d.ts +51 -0
- package/esm/next/features/map/areaLayerManagement.d.ts.map +1 -0
- package/esm/next/features/map/areaLayerManagement.js +81 -0
- package/esm/next/features/map/areaLayerManagement.js.map +1 -0
- package/esm/next/features/map/layerManagement.d.ts +3 -3
- package/esm/next/features/map/layerManagement.d.ts.map +1 -1
- package/esm/next/features/map/layerManagement.js.map +1 -1
- package/esm/next/features/map/viewportManagement.d.ts +13 -0
- package/esm/next/features/map/viewportManagement.d.ts.map +1 -1
- package/esm/next/features/map/viewportManagement.js +30 -0
- package/esm/next/features/map/viewportManagement.js.map +1 -1
- package/esm/next/features/tooltip/tooltipManagement.d.ts +1 -1
- package/esm/next/features/tooltip/tooltipManagement.d.ts.map +1 -1
- package/esm/next/features/tooltip/tooltipManagement.js +11 -7
- package/esm/next/features/tooltip/tooltipManagement.js.map +1 -1
- package/esm/next/helpers/areaAttributeResolver.d.ts +10 -0
- package/esm/next/helpers/areaAttributeResolver.d.ts.map +1 -0
- package/esm/next/helpers/areaAttributeResolver.js +26 -0
- package/esm/next/helpers/areaAttributeResolver.js.map +1 -0
- package/esm/next/hooks/init/useInitExecution.d.ts +5 -2
- package/esm/next/hooks/init/useInitExecution.d.ts.map +1 -1
- package/esm/next/hooks/init/useInitExecution.js +32 -16
- package/esm/next/hooks/init/useInitExecution.js.map +1 -1
- package/esm/next/hooks/legend/useAreaLegendItems.d.ts +27 -0
- package/esm/next/hooks/legend/useAreaLegendItems.d.ts.map +1 -0
- package/esm/next/hooks/legend/useAreaLegendItems.js +33 -0
- package/esm/next/hooks/legend/useAreaLegendItems.js.map +1 -0
- package/esm/next/hooks/legend/useLegendDetails.d.ts +2 -2
- package/esm/next/hooks/legend/useLegendDetails.d.ts.map +1 -1
- package/esm/next/hooks/legend/useLegendDetails.js.map +1 -1
- package/esm/next/hooks/legend/useLegendProps.d.ts +2 -2
- package/esm/next/hooks/legend/useLegendProps.d.ts.map +1 -1
- package/esm/next/hooks/legend/useLegendProps.js.map +1 -1
- package/esm/next/hooks/legend/{useLegendItems.d.ts → usePushpinLegendItems.d.ts} +3 -3
- package/esm/next/hooks/legend/usePushpinLegendItems.d.ts.map +1 -0
- package/esm/next/hooks/legend/usePushpinLegendItems.js +33 -0
- package/esm/next/hooks/legend/usePushpinLegendItems.js.map +1 -0
- package/esm/next/hooks/map/useAreaMapDataSync.d.ts +9 -0
- package/esm/next/hooks/map/useAreaMapDataSync.d.ts.map +1 -0
- package/esm/next/hooks/map/useAreaMapDataSync.js +71 -0
- package/esm/next/hooks/map/useAreaMapDataSync.js.map +1 -0
- package/esm/next/hooks/map/useMapDataSync.d.ts +2 -2
- package/esm/next/hooks/map/useMapDataSync.d.ts.map +1 -1
- package/esm/next/hooks/map/useMapDataSync.js.map +1 -1
- package/esm/next/hooks/map/useTooltipHandlers.d.ts +1 -1
- package/esm/next/hooks/map/useTooltipHandlers.d.ts.map +1 -1
- package/esm/next/hooks/map/useTooltipHandlers.js +3 -3
- package/esm/next/hooks/map/useTooltipHandlers.js.map +1 -1
- package/esm/next/hooks/shared/geoCollectionBoundingBox.d.ts +17 -0
- package/esm/next/hooks/shared/geoCollectionBoundingBox.d.ts.map +1 -0
- package/esm/next/hooks/shared/geoCollectionBoundingBox.js +86 -0
- package/esm/next/hooks/shared/geoCollectionBoundingBox.js.map +1 -0
- package/esm/next/hooks/shared/useAreaCollectionFeatures.d.ts +43 -0
- package/esm/next/hooks/shared/useAreaCollectionFeatures.d.ts.map +1 -0
- package/esm/next/hooks/shared/useAreaCollectionFeatures.js +213 -0
- package/esm/next/hooks/shared/useAreaCollectionFeatures.js.map +1 -0
- package/esm/next/hooks/shared/useAreaDataTransformation.d.ts +21 -0
- package/esm/next/hooks/shared/useAreaDataTransformation.d.ts.map +1 -0
- package/esm/next/hooks/shared/useAreaDataTransformation.js +25 -0
- package/esm/next/hooks/shared/useAreaDataTransformation.js.map +1 -0
- package/esm/next/hooks/shared/useAreaPushData.d.ts +11 -0
- package/esm/next/hooks/shared/useAreaPushData.d.ts.map +1 -0
- package/esm/next/hooks/shared/useAreaPushData.js +20 -0
- package/esm/next/hooks/shared/useAreaPushData.js.map +1 -0
- package/esm/next/hooks/shared/useGeoDataTransformation.d.ts +4 -18
- package/esm/next/hooks/shared/useGeoDataTransformation.d.ts.map +1 -1
- package/esm/next/hooks/shared/useGeoDataTransformation.js +5 -22
- package/esm/next/hooks/shared/useGeoDataTransformation.js.map +1 -1
- package/esm/next/hooks/shared/useGeoPushData.d.ts +20 -0
- package/esm/next/hooks/shared/useGeoPushData.d.ts.map +1 -0
- package/esm/next/hooks/shared/useGeoPushData.js +36 -0
- package/esm/next/hooks/shared/useGeoPushData.js.map +1 -0
- package/esm/next/hooks/shared/usePushData.d.ts.map +1 -1
- package/esm/next/hooks/shared/usePushData.js +5 -26
- package/esm/next/hooks/shared/usePushData.js.map +1 -1
- package/esm/next/hooks/shared/usePushpinDataTransformation.d.ts +23 -0
- package/esm/next/hooks/shared/usePushpinDataTransformation.d.ts.map +1 -0
- package/esm/next/hooks/shared/usePushpinDataTransformation.js +27 -0
- package/esm/next/hooks/shared/usePushpinDataTransformation.js.map +1 -0
- package/esm/next/hooks/shared/useResolvedAreaProps.d.ts +16 -0
- package/esm/next/hooks/shared/useResolvedAreaProps.d.ts.map +1 -0
- package/esm/next/hooks/shared/useResolvedAreaProps.js +36 -0
- package/esm/next/hooks/shared/useResolvedAreaProps.js.map +1 -0
- package/esm/next/hooks/shared/useResolvedPlaceholderValues.d.ts +8 -0
- package/esm/next/hooks/shared/useResolvedPlaceholderValues.d.ts.map +1 -0
- package/esm/next/hooks/shared/useResolvedPlaceholderValues.js +11 -0
- package/esm/next/hooks/shared/useResolvedPlaceholderValues.js.map +1 -0
- package/esm/next/hooks/shared/useResolvedProps.d.ts.map +1 -1
- package/esm/next/hooks/shared/useResolvedProps.js +3 -3
- package/esm/next/hooks/shared/useResolvedProps.js.map +1 -1
- package/esm/next/hooks/shared/useSegmentLegendItems.d.ts +17 -0
- package/esm/next/hooks/shared/useSegmentLegendItems.d.ts.map +1 -0
- package/esm/next/hooks/shared/useSegmentLegendItems.js +33 -0
- package/esm/next/hooks/shared/useSegmentLegendItems.js.map +1 -0
- package/esm/next/index.d.ts +4 -0
- package/esm/next/index.d.ts.map +1 -1
- package/esm/next/index.js +1 -0
- package/esm/next/index.js.map +1 -1
- package/esm/next/providers/maplibre/maplibreDataLayers.d.ts +2 -2
- package/esm/next/providers/maplibre/maplibreDataLayers.d.ts.map +1 -1
- package/esm/next/providers/maplibre/maplibreDataLayers.js.map +1 -1
- package/esm/next/providers/maplibre/maplibreDataLayersArea.d.ts +41 -0
- package/esm/next/providers/maplibre/maplibreDataLayersArea.d.ts.map +1 -0
- package/esm/next/providers/maplibre/maplibreDataLayersArea.js +83 -0
- package/esm/next/providers/maplibre/maplibreDataLayersArea.js.map +1 -0
- package/esm/next/providers/maplibre/maplibreDataSource.d.ts +2 -2
- package/esm/next/providers/maplibre/maplibreDataSource.d.ts.map +1 -1
- package/esm/next/providers/maplibre/maplibreDataSourceArea.d.ts +34 -0
- package/esm/next/providers/maplibre/maplibreDataSourceArea.d.ts.map +1 -0
- package/esm/next/providers/maplibre/maplibreDataSourceArea.js +209 -0
- package/esm/next/providers/maplibre/maplibreDataSourceArea.js.map +1 -0
- package/esm/next/providers/maplibre/maplibreTooltip.d.ts.map +1 -1
- package/esm/next/providers/maplibre/maplibreTooltip.js +20 -4
- package/esm/next/providers/maplibre/maplibreTooltip.js.map +1 -1
- package/esm/next/types/areaConfig.d.ts +68 -0
- package/esm/next/types/areaConfig.d.ts.map +1 -0
- package/esm/next/types/areaConfig.js +3 -0
- package/esm/next/types/areaConfig.js.map +1 -0
- package/esm/next/types/areaInternal.d.ts +13 -0
- package/esm/next/types/areaInternal.d.ts.map +1 -0
- package/esm/next/types/areaInternal.js +3 -0
- package/esm/next/types/areaInternal.js.map +1 -0
- package/esm/next/types/areaPublic.d.ts +68 -0
- package/esm/next/types/areaPublic.d.ts.map +1 -0
- package/esm/next/types/areaPublic.js +3 -0
- package/esm/next/types/areaPublic.js.map +1 -0
- package/esm/next/types/shared.d.ts +57 -21
- package/esm/next/types/shared.d.ts.map +1 -1
- package/esm/next/utils/geoCollection.d.ts +40 -0
- package/esm/next/utils/geoCollection.d.ts.map +1 -0
- package/esm/next/utils/geoCollection.js +102 -0
- package/esm/next/utils/geoCollection.js.map +1 -0
- package/package.json +10 -9
- package/styles/css/main.css +18 -0
- package/styles/css/main.css.map +1 -1
- package/styles/scss/geo-area-next.scss +24 -0
- package/styles/scss/main.scss +1 -0
- package/esm/next/features/data/transformation.d.ts +0 -99
- package/esm/next/features/data/transformation.d.ts.map +0 -1
- package/esm/next/features/data/transformation.js.map +0 -1
- package/esm/next/hooks/legend/useLegendItems.d.ts.map +0 -1
- package/esm/next/hooks/legend/useLegendItems.js +0 -54
- package/esm/next/hooks/legend/useLegendItems.js.map +0 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { useResolvedPlaceholderValues } from "./useResolvedPlaceholderValues.js";
|
|
4
|
+
/**
|
|
5
|
+
* Resolves area props into a normalized format
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Unlike pushpin charts, area always uses a single area attribute
|
|
9
|
+
* (geographic areas like countries or regions), so no special resolution is needed.
|
|
10
|
+
* This hook exists for consistency with the pushpin implementation.
|
|
11
|
+
*
|
|
12
|
+
* @param props - Raw props from component
|
|
13
|
+
* @returns Resolved props ready for execution
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export function useResolvedAreaProps(props) {
|
|
18
|
+
const [area, color, segmentBy, filters, sortBy] = useResolvedPlaceholderValues([
|
|
19
|
+
props.area,
|
|
20
|
+
props.color,
|
|
21
|
+
props.segmentBy,
|
|
22
|
+
props.filters,
|
|
23
|
+
props.sortBy,
|
|
24
|
+
]);
|
|
25
|
+
return useMemo(() => {
|
|
26
|
+
return {
|
|
27
|
+
...props,
|
|
28
|
+
area,
|
|
29
|
+
color,
|
|
30
|
+
segmentBy,
|
|
31
|
+
filters,
|
|
32
|
+
sortBy,
|
|
33
|
+
};
|
|
34
|
+
}, [props, area, color, segmentBy, filters, sortBy]);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=useResolvedAreaProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResolvedAreaProps.js","sourceRoot":"","sources":["../../../../src/next/hooks/shared/useResolvedAreaProps.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGjF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC1D,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,4BAA4B,CAAC;QAC3E,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,MAAM;KACf,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,OAAO;YACH,GAAG,KAAK;YACR,IAAI;YACJ,KAAK;YACL,SAAS;YACT,OAAO;YACP,MAAM;SACT,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PlaceholdersResolvedValues } from "@gooddata/sdk-ui";
|
|
2
|
+
/**
|
|
3
|
+
* Helper wrapper to resolve arrays of placeholders consistently.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function useResolvedPlaceholderValues<T extends unknown[], C>(values: [...T], resolutionContext?: C): PlaceholdersResolvedValues<T>;
|
|
8
|
+
//# sourceMappingURL=useResolvedPlaceholderValues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResolvedPlaceholderValues.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/shared/useResolvedPlaceholderValues.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAoC,MAAM,kBAAkB,CAAC;AAEhG;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC/D,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EACd,iBAAiB,CAAC,EAAE,CAAC,GACtB,0BAA0B,CAAC,CAAC,CAAC,CAE/B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { useResolveValuesWithPlaceholders } from "@gooddata/sdk-ui";
|
|
3
|
+
/**
|
|
4
|
+
* Helper wrapper to resolve arrays of placeholders consistently.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export function useResolvedPlaceholderValues(values, resolutionContext) {
|
|
9
|
+
return useResolveValuesWithPlaceholders(values, resolutionContext);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=useResolvedPlaceholderValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResolvedPlaceholderValues.js","sourceRoot":"","sources":["../../../../src/next/hooks/shared/useResolvedPlaceholderValues.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAA8B,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AAEhG;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CACxC,MAAc,EACd,iBAAqB;IAErB,OAAO,gCAAgC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResolvedProps.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/shared/useResolvedProps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useResolvedProps.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/shared/useResolvedProps.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EACH,yBAAyB,EAE5B,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,yBAAyB,GAAG,iCAAiC,CA0BpG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// (C) 2025 GoodData Corporation
|
|
2
|
-
import {
|
|
2
|
+
import { useResolvedPlaceholderValues } from "./useResolvedPlaceholderValues.js";
|
|
3
3
|
import { isGeoPushpinChartNextLatitudeLongitudeProps, } from "../../types/public.js";
|
|
4
4
|
/**
|
|
5
5
|
* Resolves placeholders in GeoPushpinChartNext props and returns strongly-typed props.
|
|
@@ -15,7 +15,7 @@ import { isGeoPushpinChartNextLatitudeLongitudeProps, } from "../../types/public
|
|
|
15
15
|
*/
|
|
16
16
|
export function useResolvedProps(props) {
|
|
17
17
|
const isLatLngMode = isGeoPushpinChartNextLatitudeLongitudeProps(props);
|
|
18
|
-
const [location, latitude, longitude, segmentBy, size, color, filters, sortBy] =
|
|
18
|
+
const [location, latitude, longitude, segmentBy, size, color, filters, sortBy] = useResolvedPlaceholderValues([
|
|
19
19
|
isLatLngMode ? undefined : props.location,
|
|
20
20
|
isLatLngMode ? props.latitude : undefined,
|
|
21
21
|
isLatLngMode ? props.longitude : undefined,
|
|
@@ -24,7 +24,7 @@ export function useResolvedProps(props) {
|
|
|
24
24
|
props.color,
|
|
25
25
|
props.filters,
|
|
26
26
|
props.sortBy,
|
|
27
|
-
]
|
|
27
|
+
]);
|
|
28
28
|
return {
|
|
29
29
|
...props,
|
|
30
30
|
location,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResolvedProps.js","sourceRoot":"","sources":["../../../../src/next/hooks/shared/useResolvedProps.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useResolvedProps.js","sourceRoot":"","sources":["../../../../src/next/hooks/shared/useResolvedProps.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAEH,2CAA2C,GAC9C,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAgC;IAC7D,MAAM,YAAY,GAAG,2CAA2C,CAAC,KAAK,CAAC,CAAC;IAExE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1E,4BAA4B,CAAC;QACzB,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;QACzC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACzC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC1C,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,MAAM;KACf,CAAC,CAAC;IAEP,OAAO;QACH,GAAG,KAAK;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,SAAS;QACT,IAAI;QACJ,KAAK;QACL,OAAO;QACP,MAAM;KACT,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DataViewFacade } from "@gooddata/sdk-ui";
|
|
2
|
+
import { IColorStrategy, IPushpinCategoryLegendItem } from "@gooddata/sdk-ui-vis-commons";
|
|
3
|
+
import { IGeoCommonData } from "../../types/shared.js";
|
|
4
|
+
interface IUseSegmentLegendItemsConfig<TGeoData extends IGeoCommonData> {
|
|
5
|
+
type: IPushpinCategoryLegendItem["type"];
|
|
6
|
+
dataView: DataViewFacade | null;
|
|
7
|
+
geoData: TGeoData | null;
|
|
8
|
+
colorStrategy: IColorStrategy | null;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Generic hook for building legend items from segment data.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare function useSegmentLegendItems<TGeoData extends IGeoCommonData>({ type, dataView, geoData, colorStrategy, }: IUseSegmentLegendItemsConfig<TGeoData>): IPushpinCategoryLegendItem[];
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=useSegmentLegendItems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSegmentLegendItems.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/shared/useSegmentLegendItems.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1F,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,UAAU,4BAA4B,CAAC,QAAQ,SAAS,cAAc;IAClE,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAS,cAAc,EAAE,EACnE,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,aAAa,GAChB,EAAE,4BAA4B,CAAC,QAAQ,CAAC,GAAG,0BAA0B,EAAE,CA2BvE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Generic hook for building legend items from segment data.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export function useSegmentLegendItems({ type, dataView, geoData, colorStrategy, }) {
|
|
9
|
+
return useMemo(() => {
|
|
10
|
+
if (!dataView || !geoData?.segment || !colorStrategy) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
const uniqueSegments = new Map();
|
|
14
|
+
geoData.segment.data.forEach((segmentValue, index) => {
|
|
15
|
+
const uri = geoData.segment?.uris?.[index];
|
|
16
|
+
if (uri && !uniqueSegments.has(uri)) {
|
|
17
|
+
uniqueSegments.set(uri, {
|
|
18
|
+
name: segmentValue,
|
|
19
|
+
uri,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return Array.from(uniqueSegments.values()).map(({ name, uri }, index) => ({
|
|
24
|
+
type,
|
|
25
|
+
name,
|
|
26
|
+
uri,
|
|
27
|
+
color: colorStrategy.getColorByIndex(index),
|
|
28
|
+
legendIndex: index,
|
|
29
|
+
isVisible: true,
|
|
30
|
+
}));
|
|
31
|
+
}, [type, dataView, geoData, colorStrategy]);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=useSegmentLegendItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSegmentLegendItems.js","sourceRoot":"","sources":["../../../../src/next/hooks/shared/useSegmentLegendItems.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAchC;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAkC,EACnE,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,aAAa,GACwB;IACrC,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyC,CAAC;QAExE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAoB,EAAE,KAAa,EAAE,EAAE;YACjE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE;oBACpB,IAAI,EAAE,YAAY;oBAClB,GAAG;iBACN,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACtE,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;YAC3C,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AACjD,CAAC"}
|
package/esm/next/index.d.ts
CHANGED
|
@@ -2,4 +2,8 @@ export { GeoPushpinChartNext, GeoPushpinChartNextImplementation } from "./GeoPus
|
|
|
2
2
|
export type { IGeoPushpinChartNextBaseProps, IGeoPushpinChartNextLocationProps, IGeoPushpinChartNextLatitudeLongitudeProps, IGeoPushpinChartNextProps, isGeoPushpinChartNextLocationProps, isGeoPushpinChartNextLatitudeLongitudeProps, } from "./types/public.js";
|
|
3
3
|
export type { ICoreGeoPushpinChartNextProps } from "./types/internal.js";
|
|
4
4
|
export type { IGeoPushpinChartNextConfig, IGeoConfigViewportNext, IGeoConfigViewportAreaNext, IGeoPointsConfigNext, PushpinSizeOptionNext, IGeoLegendConfigNext, } from "./types/config.js";
|
|
5
|
+
export { GeoAreaChart, GeoAreaChartImplementation } from "./GeoAreaChart.js";
|
|
6
|
+
export type { IGeoAreaChartBaseProps, IGeoAreaChartProps } from "./types/areaPublic.js";
|
|
7
|
+
export type { ICoreGeoAreaChartProps } from "./types/areaInternal.js";
|
|
8
|
+
export type { IGeoAreaChartConfig, IGeoAreasConfig } from "./types/areaConfig.js";
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/next/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAClG,YAAY,EACR,6BAA6B,EAC7B,iCAAiC,EACjC,0CAA0C,EAC1C,yBAAyB,EACzB,kCAAkC,EAClC,2CAA2C,GAC9C,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACzE,YAAY,EACR,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACvB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAClG,YAAY,EACR,6BAA6B,EAC7B,iCAAiC,EACjC,0CAA0C,EAC1C,yBAAyB,EACzB,kCAAkC,EAClC,2CAA2C,GAC9C,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACzE,YAAY,EACR,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACxF,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
package/esm/next/index.js
CHANGED
package/esm/next/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAmBlG,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CircleLayerSpecification, FilterSpecification, SymbolLayerSpecification } from "maplibre-gl";
|
|
2
2
|
import { IGeoPushpinChartNextConfig } from "../../types/config.js";
|
|
3
|
-
import {
|
|
3
|
+
import { IPushpinGeoData } from "../../types/shared.js";
|
|
4
4
|
/**
|
|
5
5
|
* Creates a filter expression for pushpins based on selected segment items
|
|
6
6
|
*
|
|
@@ -20,7 +20,7 @@ export declare function createPushpinFilter(selectedSegmentItems: string[]): Fil
|
|
|
20
20
|
*
|
|
21
21
|
* @alpha
|
|
22
22
|
*/
|
|
23
|
-
export declare function createPushpinDataLayer(dataSourceName: string, geoData:
|
|
23
|
+
export declare function createPushpinDataLayer(dataSourceName: string, geoData: IPushpinGeoData, config: IGeoPushpinChartNextConfig): CircleLayerSpecification;
|
|
24
24
|
/**
|
|
25
25
|
* Create layer for clustered points/pins which have 'properties.point_count' indicates number of same points is clustered together
|
|
26
26
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maplibreDataLayers.d.ts","sourceRoot":"","sources":["../../../../src/next/providers/maplibre/maplibreDataLayers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,wBAAwB,EAExB,mBAAmB,EACnB,wBAAwB,EAC3B,MAAM,aAAa,CAAC;AAkBrB,OAAO,EAAwB,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"maplibreDataLayers.d.ts","sourceRoot":"","sources":["../../../../src/next/providers/maplibre/maplibreDataLayers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,wBAAwB,EAExB,mBAAmB,EACnB,wBAAwB,EAC3B,MAAM,aAAa,CAAC;AAkBrB,OAAO,EAAwB,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAmGxD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAQvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAClC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,0BAA0B,GACnC,wBAAwB,CAkB1B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,wBAAwB,CAYpF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,wBAAwB,CAMpF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,wBAAwB,CAatF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maplibreDataLayers.js","sourceRoot":"","sources":["../../../../src/next/providers/maplibre/maplibreDataLayers.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EACH,0BAA0B,EAC1B,kBAAkB,EAClB,kCAAkC,EAClC,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,iCAAiC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAIhE,MAAM,6BAA6B,GAAG;IAClC,qBAAqB,EAAE;QACnB,MAAM;QACN,CAAC,KAAK,EAAE,aAAa,CAAC;QACtB,SAAS,EAAE,8BAA8B;QACzC,EAAE;QACF,SAAS,EAAE,oCAAoC;QAC/C,GAAG;QACH,SAAS,EAAE,8CAA8C;KACjC;IAC5B,uBAAuB,EAAE,GAAG;IAC5B,qBAAqB,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,4BAA4B,GAAG;IACjC,MAAM;IACN,CAAC,KAAK,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,8BAA8B;IACzC,EAAE;IACF,SAAS,EAAE,oCAAoC;IAC/C,GAAG;IACH,SAAS,EAAE,8CAA8C;CAC5D,CAAC;AAEF,MAAM,2BAA2B,GAA4B;IACzD,MAAM;IACN,CAAC,KAAK,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,+BAA+B;IACnC,GAAG;IACH,EAAE,EAAE,8CAA8C;CACrD,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,cAAsB,EAAE,IAAY,EAAE,QAAgB;IACxE,MAAM,SAAS,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5D,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,wBAAwB,CAC7B,
|
|
1
|
+
{"version":3,"file":"maplibreDataLayers.js","sourceRoot":"","sources":["../../../../src/next/providers/maplibre/maplibreDataLayers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { FillLayerSpecification, FilterSpecification, LineLayerSpecification } from "maplibre-gl";
|
|
2
|
+
import { IGeoAreaChartConfig } from "../../types/areaConfig.js";
|
|
3
|
+
export declare const DEFAULT_AREA_LAYER_NAME = "gdcArea";
|
|
4
|
+
export declare const DEFAULT_AREA_OUTLINE_LAYER_NAME = "gdcAreaOutline";
|
|
5
|
+
/**
|
|
6
|
+
* Creates a filter expression for geographic areas based on selected segment items
|
|
7
|
+
*
|
|
8
|
+
* @param selectedSegmentItems - Array of segment URIs to show
|
|
9
|
+
* @returns MapLibre expression for filtering
|
|
10
|
+
*
|
|
11
|
+
* @alpha
|
|
12
|
+
*/
|
|
13
|
+
export declare function createAreaFilter(selectedSegmentItems: string[]): FilterSpecification;
|
|
14
|
+
/**
|
|
15
|
+
* Creates the area fill layer for areas
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* This layer renders filled polygons representing geographic areas (countries, regions, etc.)
|
|
19
|
+
* with colors data-driven by measure values.
|
|
20
|
+
*
|
|
21
|
+
* @param dataSourceName - Name of the GeoJSON data source
|
|
22
|
+
* @param config - Area chart configuration
|
|
23
|
+
* @returns MapLibre fill layer specification
|
|
24
|
+
*
|
|
25
|
+
* @alpha
|
|
26
|
+
*/
|
|
27
|
+
export declare function createAreaFillLayer(dataSourceName: string, config: IGeoAreaChartConfig): FillLayerSpecification;
|
|
28
|
+
/**
|
|
29
|
+
* Creates the area outline layer for area borders
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* This layer renders borders around geographic areas for better visual separation.
|
|
33
|
+
*
|
|
34
|
+
* @param dataSourceName - Name of the GeoJSON data source
|
|
35
|
+
* @param config - Area chart configuration
|
|
36
|
+
* @returns MapLibre line layer specification
|
|
37
|
+
*
|
|
38
|
+
* @alpha
|
|
39
|
+
*/
|
|
40
|
+
export declare function createAreaOutlineLayer(dataSourceName: string, config: IGeoAreaChartConfig): LineLayerSpecification;
|
|
41
|
+
//# sourceMappingURL=maplibreDataLayersArea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maplibreDataLayersArea.d.ts","sourceRoot":"","sources":["../../../../src/next/providers/maplibre/maplibreDataLayersArea.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAKvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,+BAA+B,mBAAmB,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAQpF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAC/B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,mBAAmB,GAC5B,sBAAsB,CAoBxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAClC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,mBAAmB,GAC5B,sBAAsB,CAmBxB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { BucketNames } from "@gooddata/sdk-ui";
|
|
3
|
+
import { EMPTY_SEGMENT_VALUE } from "../../constants/geoChart.js";
|
|
4
|
+
export const DEFAULT_AREA_LAYER_NAME = "gdcArea";
|
|
5
|
+
export const DEFAULT_AREA_OUTLINE_LAYER_NAME = "gdcAreaOutline";
|
|
6
|
+
/**
|
|
7
|
+
* Creates a filter expression for geographic areas based on selected segment items
|
|
8
|
+
*
|
|
9
|
+
* @param selectedSegmentItems - Array of segment URIs to show
|
|
10
|
+
* @returns MapLibre expression for filtering
|
|
11
|
+
*
|
|
12
|
+
* @alpha
|
|
13
|
+
*/
|
|
14
|
+
export function createAreaFilter(selectedSegmentItems) {
|
|
15
|
+
return [
|
|
16
|
+
"match",
|
|
17
|
+
["get", "uri", ["get", BucketNames.SEGMENT]],
|
|
18
|
+
selectedSegmentItems.length ? selectedSegmentItems : [EMPTY_SEGMENT_VALUE],
|
|
19
|
+
true,
|
|
20
|
+
false,
|
|
21
|
+
];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Creates the area fill layer for areas
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* This layer renders filled polygons representing geographic areas (countries, regions, etc.)
|
|
28
|
+
* with colors data-driven by measure values.
|
|
29
|
+
*
|
|
30
|
+
* @param dataSourceName - Name of the GeoJSON data source
|
|
31
|
+
* @param config - Area chart configuration
|
|
32
|
+
* @returns MapLibre fill layer specification
|
|
33
|
+
*
|
|
34
|
+
* @alpha
|
|
35
|
+
*/
|
|
36
|
+
export function createAreaFillLayer(dataSourceName, config) {
|
|
37
|
+
const { selectedSegmentItems = [], areas = {} } = config || {};
|
|
38
|
+
const { fillOpacity = 0.7 } = areas;
|
|
39
|
+
const layer = {
|
|
40
|
+
id: DEFAULT_AREA_LAYER_NAME,
|
|
41
|
+
type: "fill",
|
|
42
|
+
source: dataSourceName,
|
|
43
|
+
paint: {
|
|
44
|
+
// Use data-driven styling from flattened feature properties
|
|
45
|
+
"fill-color": ["coalesce", ["get", "color_fill"], "#20B2E2"],
|
|
46
|
+
"fill-opacity": fillOpacity,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
if (selectedSegmentItems.length > 0) {
|
|
50
|
+
layer.filter = createAreaFilter(selectedSegmentItems);
|
|
51
|
+
}
|
|
52
|
+
return layer;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Creates the area outline layer for area borders
|
|
56
|
+
*
|
|
57
|
+
* @remarks
|
|
58
|
+
* This layer renders borders around geographic areas for better visual separation.
|
|
59
|
+
*
|
|
60
|
+
* @param dataSourceName - Name of the GeoJSON data source
|
|
61
|
+
* @param config - Area chart configuration
|
|
62
|
+
* @returns MapLibre line layer specification
|
|
63
|
+
*
|
|
64
|
+
* @alpha
|
|
65
|
+
*/
|
|
66
|
+
export function createAreaOutlineLayer(dataSourceName, config) {
|
|
67
|
+
const { selectedSegmentItems = [], areas = {} } = config || {};
|
|
68
|
+
const { borderColor = "#FFFFFF", borderWidth = 1 } = areas;
|
|
69
|
+
const layer = {
|
|
70
|
+
id: DEFAULT_AREA_OUTLINE_LAYER_NAME,
|
|
71
|
+
type: "line",
|
|
72
|
+
source: dataSourceName,
|
|
73
|
+
paint: {
|
|
74
|
+
"line-color": borderColor,
|
|
75
|
+
"line-width": borderWidth,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
if (selectedSegmentItems.length > 0) {
|
|
79
|
+
layer.filter = createAreaFilter(selectedSegmentItems);
|
|
80
|
+
}
|
|
81
|
+
return layer;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=maplibreDataLayersArea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maplibreDataLayersArea.js","sourceRoot":"","sources":["../../../../src/next/providers/maplibre/maplibreDataLayersArea.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AACjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,gBAAgB,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,oBAA8B;IAC3D,OAAO;QACH,OAAO;QACP,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5C,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC1E,IAAI;QACJ,KAAK;KACe,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAC/B,cAAsB,EACtB,MAA2B;IAE3B,MAAM,EAAE,oBAAoB,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAC/D,MAAM,EAAE,WAAW,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;IAEpC,MAAM,KAAK,GAA2B;QAClC,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE;YACH,4DAA4D;YAC5D,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC;YAC5D,cAAc,EAAE,WAAW;SAC9B;KACJ,CAAC;IAEF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAClC,cAAsB,EACtB,MAA2B;IAE3B,MAAM,EAAE,oBAAoB,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAC/D,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;IAE3D,MAAM,KAAK,GAA2B;QAClC,EAAE,EAAE,+BAA+B;QACnC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE;YACH,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,WAAW;SAC5B;KACJ,CAAC;IAEF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { GeoJSONSourceSpecification } from "maplibre-gl";
|
|
2
2
|
import { IColorStrategy } from "@gooddata/sdk-ui-vis-commons";
|
|
3
3
|
import { IGeoPushpinChartNextConfig } from "../../types/config.js";
|
|
4
|
-
import {
|
|
4
|
+
import { IPushpinGeoData } from "../../types/shared.js";
|
|
5
5
|
/**
|
|
6
6
|
* Properties for creating a geo data source
|
|
7
7
|
*
|
|
@@ -10,7 +10,7 @@ import { IGeoData } from "../../types/shared.js";
|
|
|
10
10
|
export interface IGeoDataSourceProps {
|
|
11
11
|
colorStrategy: IColorStrategy;
|
|
12
12
|
config: IGeoPushpinChartNextConfig;
|
|
13
|
-
geoData:
|
|
13
|
+
geoData: IPushpinGeoData;
|
|
14
14
|
hasClustering: boolean;
|
|
15
15
|
}
|
|
16
16
|
type IGeoDataSourceFeature = GeoJSON.Feature<GeoJSON.Point, GeoJSON.GeoJsonProperties>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maplibreDataSource.d.ts","sourceRoot":"","sources":["../../../../src/next/providers/maplibre/maplibreDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAS9D,OAAO,EAAwB,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,
|
|
1
|
+
{"version":3,"file":"maplibreDataSource.d.ts","sourceRoot":"","sources":["../../../../src/next/providers/maplibre/maplibreDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAS9D,OAAO,EAAwB,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAA6B,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnF;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,0BAA0B,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED,KAAK,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACvF,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,EAAE,CAAC;AAoH7D;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAAI,iBAAiB,mBAAmB,KAAG,0BAoB9E,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { GeoJSONSourceSpecification } from "maplibre-gl";
|
|
2
|
+
import { IGeoJsonFeature } from "@gooddata/sdk-model";
|
|
3
|
+
import { IColorStrategy } from "@gooddata/sdk-ui-vis-commons";
|
|
4
|
+
import { IGeoAreaChartConfig } from "../../types/areaConfig.js";
|
|
5
|
+
import { IAreaGeoData } from "../../types/shared.js";
|
|
6
|
+
/**
|
|
7
|
+
* Properties for creating a area data source
|
|
8
|
+
*
|
|
9
|
+
* @alpha
|
|
10
|
+
*/
|
|
11
|
+
export interface IAreaDataSourceProps {
|
|
12
|
+
colorStrategy: IColorStrategy;
|
|
13
|
+
config: IGeoAreaChartConfig;
|
|
14
|
+
geoData: IAreaGeoData;
|
|
15
|
+
features?: IGeoJsonFeature[];
|
|
16
|
+
}
|
|
17
|
+
type IAreaDataSourceFeature = GeoJSON.Feature<GeoJSON.Geometry, GeoJSON.GeoJsonProperties>;
|
|
18
|
+
export type IAreaDataSourceFeatures = IAreaDataSourceFeature[];
|
|
19
|
+
/**
|
|
20
|
+
* Creates a GeoJSON data source for area visualization
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* Creates a GeoJSON source with polygon features for area-based visualization.
|
|
24
|
+
* In production, this should integrate with a boundaries provider to load
|
|
25
|
+
* actual geographic polygon data.
|
|
26
|
+
*
|
|
27
|
+
* @param dataSourceProps - Properties containing area data, config, and styling
|
|
28
|
+
* @returns GeoJSON source specification for MapLibre
|
|
29
|
+
*
|
|
30
|
+
* @alpha
|
|
31
|
+
*/
|
|
32
|
+
export declare const createAreaDataSource: (dataSourceProps: IAreaDataSourceProps) => GeoJSONSourceSpecification;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=maplibreDataSourceArea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maplibreDataSourceArea.d.ts","sourceRoot":"","sources":["../../../../src/next/providers/maplibre/maplibreDataSourceArea.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,aAAa,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,KAAK,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC3F,MAAM,MAAM,uBAAuB,GAAG,sBAAsB,EAAE,CAAC;AAiQ/D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,GAAI,iBAAiB,oBAAoB,KAAG,0BAU5E,CAAC"}
|