@gooddata/sdk-ui-geo 11.25.0-alpha.0 → 11.25.0-alpha.1

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.
Files changed (33) hide show
  1. package/esm/next/hooks/map/useApplyInitialViewport.d.ts +5 -5
  2. package/esm/next/hooks/map/useApplyInitialViewport.js +6 -6
  3. package/esm/next/hooks/map/useApplyInitialViewport.js.map +1 -1
  4. package/esm/next/hooks/map/useApplyViewportOnConfigChange.d.ts.map +1 -1
  5. package/esm/next/hooks/map/useApplyViewportOnConfigChange.js +7 -3
  6. package/esm/next/hooks/map/useApplyViewportOnConfigChange.js.map +1 -1
  7. package/esm/next/hooks/map/useMapResize.d.ts +2 -1
  8. package/esm/next/hooks/map/useMapResize.d.ts.map +1 -1
  9. package/esm/next/hooks/map/useMapResize.js +45 -6
  10. package/esm/next/hooks/map/useMapResize.js.map +1 -1
  11. package/esm/next/map/MapController.js +1 -1
  12. package/esm/next/map/MapController.js.map +1 -1
  13. package/esm/next/map/runtime/bounds.d.ts +12 -0
  14. package/esm/next/map/runtime/bounds.d.ts.map +1 -0
  15. package/esm/next/map/runtime/bounds.js +24 -0
  16. package/esm/next/map/runtime/bounds.js.map +1 -0
  17. package/esm/next/map/runtime/mapConfig.js +2 -2
  18. package/esm/next/map/runtime/mapConfig.js.map +1 -1
  19. package/esm/next/map/runtime/mapInitialization.d.ts.map +1 -1
  20. package/esm/next/map/runtime/mapInitialization.js +2 -4
  21. package/esm/next/map/runtime/mapInitialization.js.map +1 -1
  22. package/esm/next/map/viewport/responsiveViewport.d.ts +9 -0
  23. package/esm/next/map/viewport/responsiveViewport.d.ts.map +1 -0
  24. package/esm/next/map/viewport/responsiveViewport.js +129 -0
  25. package/esm/next/map/viewport/responsiveViewport.js.map +1 -0
  26. package/esm/next/map/viewport/viewportCalculation.d.ts.map +1 -1
  27. package/esm/next/map/viewport/viewportCalculation.js +2 -3
  28. package/esm/next/map/viewport/viewportCalculation.js.map +1 -1
  29. package/esm/next/map/viewport/viewportResolution.d.ts +6 -5
  30. package/esm/next/map/viewport/viewportResolution.d.ts.map +1 -1
  31. package/esm/next/map/viewport/viewportResolution.js +28 -19
  32. package/esm/next/map/viewport/viewportResolution.js.map +1 -1
  33. package/package.json +11 -11
@@ -2,14 +2,14 @@ import type { IMapFacade } from "../../layers/common/mapFacade.js";
2
2
  import type { IGeoChartConfig } from "../../types/config/unified.js";
3
3
  import type { IMapViewport } from "../../types/map/provider.js";
4
4
  /**
5
- * Applies the data-derived initial viewport once, when it becomes available.
5
+ * Applies late data-derived viewport once, after map readiness.
6
6
  *
7
7
  * @remarks
8
- * Map initialization captures the initial viewport only at creation time. In Storybook/offline runs the viewport is
9
- * often derived from async boundary loading (collection-items), so it may arrive after the map instance already exists.
8
+ * Map initialization captures viewport only at creation time. In some flows (for example async boundary loading),
9
+ * data-derived bounds can arrive after the map instance already exists.
10
10
  *
11
- * This hook applies that viewport exactly once per map instance, but only when the viewport is not explicitly
12
- * configured via `config.center` or a preset `config.viewport.area` (other than `"auto"`).
11
+ * Explicit viewports (`config.center` or non-`auto` area) are handled at map initialization time.
12
+ * This hook only handles `auto` mode when real data bounds become available later.
13
13
  *
14
14
  * @internal
15
15
  */
@@ -2,14 +2,14 @@
2
2
  import { useEffect, useRef } from "react";
3
3
  import { applyViewport } from "../../map/viewport/viewportCalculation.js";
4
4
  /**
5
- * Applies the data-derived initial viewport once, when it becomes available.
5
+ * Applies late data-derived viewport once, after map readiness.
6
6
  *
7
7
  * @remarks
8
- * Map initialization captures the initial viewport only at creation time. In Storybook/offline runs the viewport is
9
- * often derived from async boundary loading (collection-items), so it may arrive after the map instance already exists.
8
+ * Map initialization captures viewport only at creation time. In some flows (for example async boundary loading),
9
+ * data-derived bounds can arrive after the map instance already exists.
10
10
  *
11
- * This hook applies that viewport exactly once per map instance, but only when the viewport is not explicitly
12
- * configured via `config.center` or a preset `config.viewport.area` (other than `"auto"`).
11
+ * Explicit viewports (`config.center` or non-`auto` area) are handled at map initialization time.
12
+ * This hook only handles `auto` mode when real data bounds become available later.
13
13
  *
14
14
  * @internal
15
15
  */
@@ -29,7 +29,7 @@ export function useApplyInitialViewport(map, isMapReady, config, initialViewport
29
29
  appliedForMapRef.current = map;
30
30
  return;
31
31
  }
32
- if (!initialViewport) {
32
+ if (!initialViewport?.bounds) {
33
33
  return;
34
34
  }
35
35
  applyViewport(map, initialViewport, false);
@@ -1 +1 @@
1
- {"version":3,"file":"useApplyInitialViewport.js","sourceRoot":"","sources":["../../../../src/next/hooks/map/useApplyInitialViewport.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAI1E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CACnC,GAAsB,EACtB,UAAmB,EACnB,MAAmC,EACnC,eAA6C,EACzC;IACJ,MAAM,gBAAgB,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE,CAAC;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,uCAAuC;QACvC,IAAI,gBAAgB,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;QACpC,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC;QACxF,IAAI,mBAAmB,EAAE,CAAC;YACtB,gBAAgB,CAAC,OAAO,GAAG,GAAG,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QAC3C,gBAAgB,CAAC,OAAO,GAAG,GAAG,CAAC;IAAA,CAClC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;AAAA,CAClF"}
1
+ {"version":3,"file":"useApplyInitialViewport.js","sourceRoot":"","sources":["../../../../src/next/hooks/map/useApplyInitialViewport.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAI1E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CACnC,GAAsB,EACtB,UAAmB,EACnB,MAAmC,EACnC,eAA6C,EACzC;IACJ,MAAM,gBAAgB,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE,CAAC;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,uCAAuC;QACvC,IAAI,gBAAgB,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;QACpC,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC;QACxF,IAAI,mBAAmB,EAAE,CAAC;YACtB,gBAAgB,CAAC,OAAO,GAAG,GAAG,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;YAC3B,OAAO;QACX,CAAC;QAED,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QAC3C,gBAAgB,CAAC,OAAO,GAAG,GAAG,CAAC;IAAA,CAClC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;AAAA,CAClF"}
@@ -1 +1 @@
1
- {"version":3,"file":"useApplyViewportOnConfigChange.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/map/useApplyViewportOnConfigChange.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAyBhE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,CAC1C,GAAG,EAAE,UAAU,GAAG,IAAI,EACtB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,eAAe,GAAG,SAAS,EACnC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAC3C,IAAI,CA6DN"}
1
+ {"version":3,"file":"useApplyViewportOnConfigChange.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/map/useApplyViewportOnConfigChange.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAInE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAyBhE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,CAC1C,GAAG,EAAE,UAAU,GAAG,IAAI,EACtB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,eAAe,GAAG,SAAS,EACnC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAC3C,IAAI,CAqEN"}
@@ -1,5 +1,6 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { useEffect, useMemo, useRef } from "react";
3
+ import { resolveResponsiveViewport } from "../../map/viewport/responsiveViewport.js";
3
4
  import { applyViewport } from "../../map/viewport/viewportCalculation.js";
4
5
  import { computeViewportFromConfig, getViewportConfigKey } from "../../map/viewport/viewportResolution.js";
5
6
  import { prefersReducedMotion } from "../../utils/prefersReducedMotion.js";
@@ -36,6 +37,7 @@ function isCenterAndZoomAlreadyApplied(map, viewport) {
36
37
  */
37
38
  export function useApplyViewportOnConfigChange(map, isMapReady, config, dataViewport) {
38
39
  const hasConfig = config !== undefined;
40
+ const enableGeoChartsViewportConfig = config?.enableGeoChartsViewportConfig;
39
41
  const center = config?.center;
40
42
  const zoom = config?.zoom;
41
43
  const applyViewportNavigation = config?.applyViewportNavigation;
@@ -45,6 +47,7 @@ export function useApplyViewportOnConfigChange(map, isMapReady, config, dataView
45
47
  return undefined;
46
48
  }
47
49
  return {
50
+ enableGeoChartsViewportConfig,
48
51
  center,
49
52
  zoom,
50
53
  applyViewportNavigation,
@@ -52,7 +55,7 @@ export function useApplyViewportOnConfigChange(map, isMapReady, config, dataView
52
55
  area,
53
56
  },
54
57
  };
55
- }, [hasConfig, center, zoom, applyViewportNavigation, area]);
58
+ }, [hasConfig, enableGeoChartsViewportConfig, center, zoom, applyViewportNavigation, area]);
56
59
  const configKey = useMemo(() => getViewportConfigKey(viewportConfig), [viewportConfig]);
57
60
  const previousConfigKeyRef = useRef(null);
58
61
  useEffect(() => {
@@ -77,12 +80,13 @@ export function useApplyViewportOnConfigChange(map, isMapReady, config, dataView
77
80
  if (!viewportToApply) {
78
81
  return;
79
82
  }
83
+ const responsiveViewportToApply = resolveResponsiveViewport(map, viewportToApply, dataViewport, viewportConfig);
80
84
  // Custom viewport persistence updates center/zoom from live map state.
81
85
  // Re-applying an already-current camera with flyTo causes redundant animation.
82
- if (isCenterAndZoomAlreadyApplied(map, viewportToApply)) {
86
+ if (isCenterAndZoomAlreadyApplied(map, responsiveViewportToApply)) {
83
87
  return;
84
88
  }
85
- applyViewport(map, viewportToApply, !prefersReducedMotion());
89
+ applyViewport(map, responsiveViewportToApply, !prefersReducedMotion());
86
90
  }, [map, isMapReady, applyViewportNavigation, configKey, viewportConfig, dataViewport]);
87
91
  }
88
92
  //# sourceMappingURL=useApplyViewportOnConfigChange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useApplyViewportOnConfigChange.js","sourceRoot":"","sources":["../../../../src/next/hooks/map/useApplyViewportOnConfigChange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useApplyViewportOnConfigChange.js","sourceRoot":"","sources":["../../../../src/next/hooks/map/useApplyViewportOnConfigChange.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type ContentRect } from "react-measure";
2
2
  import type { IMapFacade } from "../../layers/common/mapFacade.js";
3
+ import { type IGeoChartConfig } from "../../types/config/unified.js";
3
4
  import { type IMapViewport } from "../../types/map/provider.js";
4
5
  /**
5
6
  * Handle map resize when container dimensions change
@@ -20,5 +21,5 @@ import { type IMapViewport } from "../../types/map/provider.js";
20
21
  *
21
22
  * @internal
22
23
  */
23
- export declare function useMapResize(map: IMapFacade | null, isMapReady: boolean, chartContainerRect: ContentRect | null, viewport: Partial<IMapViewport> | null): void;
24
+ export declare function useMapResize(map: IMapFacade | null, isMapReady: boolean, chartContainerRect: ContentRect | null, viewport: Partial<IMapViewport> | null, dataViewport: Partial<IMapViewport> | null, config: IGeoChartConfig | undefined): void;
24
25
  //# sourceMappingURL=useMapResize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMapResize.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/map/useMapResize.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CACxB,GAAG,EAAE,UAAU,GAAG,IAAI,EACtB,UAAU,EAAE,OAAO,EACnB,kBAAkB,EAAE,WAAW,GAAG,IAAI,EACtC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GACvC,IAAI,CAmBN"}
1
+ {"version":3,"file":"useMapResize.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/map/useMapResize.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAuBhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CACxB,GAAG,EAAE,UAAU,GAAG,IAAI,EACtB,UAAU,EAAE,OAAO,EACnB,kBAAkB,EAAE,WAAW,GAAG,IAAI,EACtC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,EACtC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,EAC1C,MAAM,EAAE,eAAe,GAAG,SAAS,GACpC,IAAI,CA4CN"}
@@ -1,6 +1,23 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
- import { useEffect, useRef } from "react";
2
+ import { useEffect, useMemo, useRef } from "react";
3
+ import { resolveResponsiveViewport } from "../../map/viewport/responsiveViewport.js";
3
4
  import { applyViewport } from "../../map/viewport/viewportCalculation.js";
5
+ function getViewportKey(viewport) {
6
+ if (viewport.bounds) {
7
+ const { southWest, northEast } = viewport.bounds;
8
+ return `bounds:${southWest.lng}:${southWest.lat}:${northEast.lng}:${northEast.lat}`;
9
+ }
10
+ if (viewport.center && viewport.zoom !== undefined) {
11
+ return `center:${viewport.center.lng}:${viewport.center.lat}:zoom:${viewport.zoom}`;
12
+ }
13
+ if (viewport.center) {
14
+ return `center:${viewport.center.lng}:${viewport.center.lat}`;
15
+ }
16
+ if (viewport.zoom !== undefined) {
17
+ return `zoom:${viewport.zoom}`;
18
+ }
19
+ return "empty";
20
+ }
4
21
  /**
5
22
  * Handle map resize when container dimensions change
6
23
  *
@@ -20,21 +37,43 @@ import { applyViewport } from "../../map/viewport/viewportCalculation.js";
20
37
  *
21
38
  * @internal
22
39
  */
23
- export function useMapResize(map, isMapReady, chartContainerRect, viewport) {
40
+ export function useMapResize(map, isMapReady, chartContainerRect, viewport, dataViewport, config) {
41
+ const area = config?.viewport?.area;
42
+ const viewportConfig = useMemo(() => {
43
+ if (area === undefined) {
44
+ return undefined;
45
+ }
46
+ return {
47
+ viewport: { area },
48
+ };
49
+ }, [area]);
24
50
  const prevContainerRect = useRef(null);
51
+ const previousViewportKeyRef = useRef(null);
52
+ const previousMapRef = useRef(null);
25
53
  useEffect(() => {
26
54
  if (!map || !isMapReady || !chartContainerRect?.client || !viewport) {
27
55
  return;
28
56
  }
57
+ if (previousMapRef.current !== map) {
58
+ previousMapRef.current = map;
59
+ previousViewportKeyRef.current = null;
60
+ prevContainerRect.current = null;
61
+ }
29
62
  const prev = prevContainerRect.current?.client;
30
63
  const curr = chartContainerRect.client;
31
64
  const { width, height } = curr;
32
65
  const hasResized = !prev || prev.width !== width || prev.height !== height;
33
- if (hasResized) {
66
+ const viewportToApply = resolveResponsiveViewport(map, viewport, dataViewport, viewportConfig);
67
+ const viewportKey = getViewportKey(viewportToApply);
68
+ const hasViewportChanged = previousViewportKeyRef.current !== viewportKey;
69
+ if (hasResized || hasViewportChanged) {
34
70
  prevContainerRect.current = chartContainerRect;
35
- map.resize();
36
- applyViewport(map, viewport, false);
71
+ if (hasResized) {
72
+ map.resize();
73
+ }
74
+ applyViewport(map, viewportToApply, false);
75
+ previousViewportKeyRef.current = viewportKey;
37
76
  }
38
- }, [map, isMapReady, chartContainerRect, viewport]);
77
+ }, [map, isMapReady, chartContainerRect, viewport, dataViewport, viewportConfig]);
39
78
  }
40
79
  //# sourceMappingURL=useMapResize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMapResize.js","sourceRoot":"","sources":["../../../../src/next/hooks/map/useMapResize.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAK1C,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG1E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CACxB,GAAsB,EACtB,UAAmB,EACnB,kBAAsC,EACtC,QAAsC,EAClC;IACJ,MAAM,iBAAiB,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAE3D,SAAS,CAAC,GAAG,EAAE,CAAC;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClE,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACvC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;QAE3E,IAAI,UAAU,EAAE,CAAC;YACb,iBAAiB,CAAC,OAAO,GAAG,kBAAkB,CAAC;YAC/C,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IAAA,CACJ,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC;AAAA,CACvD"}
1
+ {"version":3,"file":"useMapResize.js","sourceRoot":"","sources":["../../../../src/next/hooks/map/useMapResize.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAKnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAI1E,SAAS,cAAc,CAAC,QAA+B,EAAU;IAC7D,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;QACjD,OAAO,UAAU,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;IACxF,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,UAAU,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxF,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,UAAU,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,OAAO,CAAC;AAAA,CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CACxB,GAAsB,EACtB,UAAmB,EACnB,kBAAsC,EACtC,QAAsC,EACtC,YAA0C,EAC1C,MAAmC,EAC/B;IACJ,MAAM,IAAI,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;IACpC,MAAM,cAAc,GAAG,OAAO,CAA8B,GAAG,EAAE,CAAC;QAC9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO;YACH,QAAQ,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC;IAAA,CACL,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,iBAAiB,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAC3D,MAAM,sBAAsB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE,CAAC;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClE,OAAO;QACX,CAAC;QAED,IAAI,cAAc,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACjC,cAAc,CAAC,OAAO,GAAG,GAAG,CAAC;YAC7B,sBAAsB,CAAC,OAAO,GAAG,IAAI,CAAC;YACtC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACvC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;QAC3E,MAAM,eAAe,GAAG,yBAAyB,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAC/F,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,OAAO,KAAK,WAAW,CAAC;QAE1E,IAAI,UAAU,IAAI,kBAAkB,EAAE,CAAC;YACnC,iBAAiB,CAAC,OAAO,GAAG,kBAAkB,CAAC;YAC/C,IAAI,UAAU,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;YACD,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;YAC3C,sBAAsB,CAAC,OAAO,GAAG,WAAW,CAAC;QACjD,CAAC;IAAA,CACJ,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;AAAA,CACrF"}
@@ -29,7 +29,7 @@ export function MapController({ mapContainerRef, legendPanelRef, chartContainerR
29
29
  }
30
30
  function MapLifecycleEffects({ chartContainerRect, initialViewport, dataViewport, config, layerExecutions, drillablePredicates, onCenterPositionChanged, onZoomChanged, onDrill, afterRender, }) {
31
31
  const { map, isMapReady } = useMapRuntime();
32
- useMapResize(map, isMapReady, chartContainerRect, initialViewport);
32
+ useMapResize(map, isMapReady, chartContainerRect, initialViewport, dataViewport, config);
33
33
  useApplyInitialViewport(map, isMapReady, config, initialViewport);
34
34
  useApplyViewportOnConfigChange(map, isMapReady, config, dataViewport);
35
35
  useMapCallbacks(map, {
@@ -1 +1 @@
1
- {"version":3,"file":"MapController.js","sourceRoot":"","sources":["../../../src/next/map/MapController.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MapController.js","sourceRoot":"","sources":["../../../src/next/map/MapController.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { LngLatBoundsLike } from "../../layers/common/mapFacade.js";
2
+ import type { IGeoLngLatBounds } from "../../types/common/coordinates.js";
3
+ /**
4
+ * Normalizes explicit dateline-crossing bounds to an increasing longitude interval.
5
+ *
6
+ * @remarks
7
+ * Bounds produced as min/max envelopes are preserved to avoid excluding intermediate longitudes.
8
+ *
9
+ * @internal
10
+ */
11
+ export declare function normalizeBoundsForShortestPath(bounds: IGeoLngLatBounds): LngLatBoundsLike;
12
+ //# sourceMappingURL=bounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounds.d.ts","sourceRoot":"","sources":["../../../../src/next/map/runtime/bounds.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAgBzF"}
@@ -0,0 +1,24 @@
1
+ // (C) 2026 GoodData Corporation
2
+ /**
3
+ * Normalizes explicit dateline-crossing bounds to an increasing longitude interval.
4
+ *
5
+ * @remarks
6
+ * Bounds produced as min/max envelopes are preserved to avoid excluding intermediate longitudes.
7
+ *
8
+ * @internal
9
+ */
10
+ export function normalizeBoundsForShortestPath(bounds) {
11
+ const south = [bounds.southWest.lng, bounds.southWest.lat];
12
+ const north = [bounds.northEast.lng, bounds.northEast.lat];
13
+ const west = south[0];
14
+ let east = north[0];
15
+ // Normalize explicit dateline-crossing input (e.g. west=170, east=-170) to positive span.
16
+ if (east < west) {
17
+ east += 360;
18
+ }
19
+ return [
20
+ [west, south[1]],
21
+ [east, north[1]],
22
+ ];
23
+ }
24
+ //# sourceMappingURL=bounds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounds.js","sourceRoot":"","sources":["../../../../src/next/map/runtime/bounds.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAKhC;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAwB,EAAoB;IACvF,MAAM,KAAK,GAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAE7E,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpB,0FAA0F;IAC1F,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QACd,IAAI,IAAI,GAAG,CAAC;IAChB,CAAC;IAED,OAAO;QACH,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACnB,CAAC;AAAA,CACL"}
@@ -87,8 +87,8 @@ export const DEFAULT_MAPLIBRE_OPTIONS = {
87
87
  maxZoom: 8,
88
88
  // If false, the map's pitch (tilt) control with "drag to rotate" interaction will be disabled.
89
89
  pitchWithRotate: false,
90
- // Allow world copies so fitBounds can properly center on data near world edges
91
- renderWorldCopies: true,
90
+ // Disable duplicate world copies in the new geo runtime.
91
+ renderWorldCopies: false,
92
92
  // If false, the "pinch to rotate and zoom" interaction is disabled
93
93
  touchZoomRotate: false,
94
94
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mapConfig.js","sourceRoot":"","sources":["../../../../src/next/map/runtime/mapConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapConfig.js","sourceRoot":"","sources":["../../../../src/next/map/runtime/mapConfig.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapInitialization.d.ts","sourceRoot":"","sources":["../../../../src/next/map/runtime/mapInitialization.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAGH,KAAK,sBAAsB,EAE9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAGR,GAAG,IAAI,WAAW,EAElB,KAAK,EACR,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;IAEf,UAAU,EAAE,cAAc,aAAa,CAAC,CAAC;CAC5C;AAED,UAAU,yBAA0B,SAAQ,WAAW;IACnD,UAAU,CAAC,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACvC,EACI,SAAS,EACT,MAAM,EACN,IAAI,EACJ,MAAM,EACN,WAAkB,EAClB,UAAU,EACV,eAAe,EACf,eAAe,EACf,UAAU,EACV,6BAAqC,EACrC,qBAA6B,EAC7B,mBAA0B,EAC1B,OAAO,EACP,KAAK,EACL,OAAO,EACV,EAAE,yBAAyB,EAC5B,MAAM,CAAC,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAmGzB"}
1
+ {"version":3,"file":"mapInitialization.d.ts","sourceRoot":"","sources":["../../../../src/next/map/runtime/mapInitialization.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAGH,KAAK,sBAAsB,EAE9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAGR,GAAG,IAAI,WAAW,EAElB,KAAK,EACR,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;IAEf,UAAU,EAAE,cAAc,aAAa,CAAC,CAAC;CAC5C;AAED,UAAU,yBAA0B,SAAQ,WAAW;IACnD,UAAU,CAAC,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACvC,EACI,SAAS,EACT,MAAM,EACN,IAAI,EACJ,MAAM,EACN,WAAkB,EAClB,UAAU,EACV,eAAe,EACf,eAAe,EACf,UAAU,EACV,6BAAqC,EACrC,qBAA6B,EAC7B,mBAA0B,EAC1B,OAAO,EACP,KAAK,EACL,OAAO,EACV,EAAE,yBAAyB,EAC5B,MAAM,CAAC,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAgGzB"}
@@ -1,4 +1,5 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
+ import { normalizeBoundsForShortestPath } from "./bounds.js";
2
3
  import { DEFAULT_MAPLIBRE_OPTIONS, DEFAULT_TOOLTIP_OPTIONS, resolveMapInteractionOptions, } from "./mapConfig.js";
3
4
  import { fetchMapStyle } from "../style/styleEndpoint.js";
4
5
  /**
@@ -45,10 +46,7 @@ export async function initializeMapLibreMap({ container, center, zoom, bounds, i
45
46
  mapOptions.maxZoom = maxZoom;
46
47
  }
47
48
  if (bounds) {
48
- const lngLatBounds = [
49
- [bounds.southWest.lng, bounds.southWest.lat],
50
- [bounds.northEast.lng, bounds.northEast.lat],
51
- ];
49
+ const lngLatBounds = normalizeBoundsForShortestPath(bounds);
52
50
  mapOptions.bounds = lngLatBounds;
53
51
  }
54
52
  else if (center) {
@@ -1 +1 @@
1
- {"version":3,"file":"mapInitialization.js","sourceRoot":"","sources":["../../../../src/next/map/runtime/mapInitialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapInitialization.js","sourceRoot":"","sources":["../../../../src/next/map/runtime/mapInitialization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { IMapFacade } from "../../layers/common/mapFacade.js";
2
+ import type { IGeoChartConfig } from "../../types/config/unified.js";
3
+ import type { IMapViewport } from "../../types/map/provider.js";
4
+ /**
5
+ * Keep preset viewport as the first priority.
6
+ * Recenter to data while keeping world zoom when the preset world camera cannot keep all loaded data visible.
7
+ */
8
+ export declare function resolveResponsiveViewport(map: IMapFacade, preferredViewport: Partial<IMapViewport>, dataViewport: Partial<IMapViewport> | null, config: IGeoChartConfig | undefined): Partial<IMapViewport>;
9
+ //# sourceMappingURL=responsiveViewport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsiveViewport.d.ts","sourceRoot":"","sources":["../../../../src/next/map/viewport/responsiveViewport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAyGhE;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,GAAG,EAAE,UAAU,EACf,iBAAiB,EAAE,OAAO,CAAC,YAAY,CAAC,EACxC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,EAC1C,MAAM,EAAE,eAAe,GAAG,SAAS,GACpC,OAAO,CAAC,YAAY,CAAC,CAgEvB"}
@@ -0,0 +1,129 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { normalizeBoundsForShortestPath } from "../runtime/bounds.js";
3
+ import { DEFAULT_BOUNDS_PADDING } from "../runtime/mapConfig.js";
4
+ const WORLD_LONGITUDE_SPAN = 360;
5
+ const WORLD_TILE_SIZE = 512;
6
+ const FLOATING_POINT_EPSILON = 0.000001;
7
+ const MAX_WEB_MERCATOR_LATITUDE = 85.051129;
8
+ function getLongitudeSpan(bounds) {
9
+ const west = bounds.southWest.lng;
10
+ const east = bounds.northEast.lng >= west ? bounds.northEast.lng : bounds.northEast.lng + WORLD_LONGITUDE_SPAN;
11
+ return east - west;
12
+ }
13
+ function getSingleWorldMinimumZoom(map) {
14
+ const canvas = map.getCanvas();
15
+ const canvasWidth = canvas.clientWidth || canvas.width;
16
+ if (canvasWidth <= 0) {
17
+ return null;
18
+ }
19
+ return Math.log2(canvasWidth / WORLD_TILE_SIZE);
20
+ }
21
+ function clampLatitude(latitude) {
22
+ return Math.max(-MAX_WEB_MERCATOR_LATITUDE, Math.min(MAX_WEB_MERCATOR_LATITUDE, latitude));
23
+ }
24
+ function latitudeToMercatorY(latitude) {
25
+ const latRad = (clampLatitude(latitude) * Math.PI) / 180;
26
+ return 0.5 - Math.log(Math.tan(Math.PI / 4 + latRad / 2)) / (2 * Math.PI);
27
+ }
28
+ function getLatitude(center) {
29
+ if (!center) {
30
+ return null;
31
+ }
32
+ if (Array.isArray(center)) {
33
+ return center.length >= 2 ? center[1] : null;
34
+ }
35
+ if ("lat" in center && typeof center.lat === "number") {
36
+ return center.lat;
37
+ }
38
+ return null;
39
+ }
40
+ function toViewportCenter(center) {
41
+ if (!center) {
42
+ return null;
43
+ }
44
+ if (Array.isArray(center)) {
45
+ const [lng, lat] = center;
46
+ if (typeof lng === "number" && typeof lat === "number") {
47
+ return { lng, lat };
48
+ }
49
+ return null;
50
+ }
51
+ if ("lng" in center &&
52
+ typeof center.lng === "number" &&
53
+ "lat" in center &&
54
+ typeof center.lat === "number") {
55
+ return { lng: center.lng, lat: center.lat };
56
+ }
57
+ return null;
58
+ }
59
+ function getDataVisibilityAspectRatioThreshold(centerLatitude, zoom, dataSouthLatitude, dataNorthLatitude, canvasWidth) {
60
+ if (canvasWidth <= 0) {
61
+ return null;
62
+ }
63
+ const worldSize = WORLD_TILE_SIZE * 2 ** zoom;
64
+ const centerY = latitudeToMercatorY(centerLatitude);
65
+ const dataSouthY = latitudeToMercatorY(dataSouthLatitude);
66
+ const dataNorthY = latitudeToMercatorY(dataNorthLatitude);
67
+ const requiredHalfSpan = Math.max(Math.abs(dataSouthY - centerY), Math.abs(dataNorthY - centerY));
68
+ if (requiredHalfSpan <= FLOATING_POINT_EPSILON) {
69
+ return null;
70
+ }
71
+ const requiredHeight = 2 * requiredHalfSpan * worldSize;
72
+ if (requiredHeight <= 0) {
73
+ return null;
74
+ }
75
+ return canvasWidth / requiredHeight;
76
+ }
77
+ /**
78
+ * Keep preset viewport as the first priority.
79
+ * Recenter to data while keeping world zoom when the preset world camera cannot keep all loaded data visible.
80
+ */
81
+ export function resolveResponsiveViewport(map, preferredViewport, dataViewport, config) {
82
+ const isWorldPreset = config?.viewport?.area === "world";
83
+ if (!isWorldPreset || !preferredViewport.bounds || !dataViewport?.bounds) {
84
+ return preferredViewport;
85
+ }
86
+ const isFullWorldBounds = getLongitudeSpan(preferredViewport.bounds) + FLOATING_POINT_EPSILON >= WORLD_LONGITUDE_SPAN;
87
+ if (!isFullWorldBounds) {
88
+ return preferredViewport;
89
+ }
90
+ const normalizedWorldBounds = normalizeBoundsForShortestPath(preferredViewport.bounds);
91
+ const worldCamera = map.cameraForBounds(normalizedWorldBounds, { padding: DEFAULT_BOUNDS_PADDING });
92
+ const minimumWorldZoom = getSingleWorldMinimumZoom(map);
93
+ const canvas = map.getCanvas();
94
+ const worldCameraZoom = worldCamera?.zoom;
95
+ const worldCameraCenterLat = getLatitude(worldCamera?.center);
96
+ const isWorldZoomClamped = worldCameraZoom !== undefined &&
97
+ minimumWorldZoom !== null &&
98
+ worldCameraZoom + FLOATING_POINT_EPSILON < minimumWorldZoom;
99
+ if (!isWorldZoomClamped) {
100
+ return preferredViewport;
101
+ }
102
+ const effectiveWorldZoom = minimumWorldZoom;
103
+ const canvasWidth = canvas.clientWidth || canvas.width;
104
+ const canvasHeight = canvas.clientHeight || canvas.height;
105
+ const currentAspectRatio = canvasHeight > 0 ? canvasWidth / canvasHeight : null;
106
+ const dataSouth = dataViewport.bounds.southWest.lat;
107
+ const dataNorth = dataViewport.bounds.northEast.lat;
108
+ let dataVisibilityAspectRatioThreshold = null;
109
+ if (worldCameraCenterLat !== null) {
110
+ dataVisibilityAspectRatioThreshold = getDataVisibilityAspectRatioThreshold(worldCameraCenterLat, effectiveWorldZoom, dataSouth, dataNorth, canvasWidth);
111
+ }
112
+ const shouldRecenterToData = currentAspectRatio !== null &&
113
+ dataVisibilityAspectRatioThreshold !== null &&
114
+ currentAspectRatio - FLOATING_POINT_EPSILON > dataVisibilityAspectRatioThreshold;
115
+ if (!shouldRecenterToData) {
116
+ return preferredViewport;
117
+ }
118
+ const normalizedDataBounds = normalizeBoundsForShortestPath(dataViewport.bounds);
119
+ const dataCamera = map.cameraForBounds(normalizedDataBounds, { padding: DEFAULT_BOUNDS_PADDING });
120
+ const dataCenter = toViewportCenter(dataCamera?.center);
121
+ if (!dataCenter) {
122
+ return preferredViewport;
123
+ }
124
+ return {
125
+ center: dataCenter,
126
+ zoom: effectiveWorldZoom,
127
+ };
128
+ }
129
+ //# sourceMappingURL=responsiveViewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsiveViewport.js","sourceRoot":"","sources":["../../../../src/next/map/viewport/responsiveViewport.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"viewportCalculation.d.ts","sourceRoot":"","sources":["../../../../src/next/map/viewport/viewportCalculation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAgC,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIxF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACjD,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAiB9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAiB3G;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CACzB,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,EAC/B,OAAO,GAAE,OAAc,GACxB,IAAI,CA4BN"}
1
+ {"version":3,"file":"viewportCalculation.d.ts","sourceRoot":"","sources":["../../../../src/next/map/viewport/viewportCalculation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAgC,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAKxF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACjD,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAiB9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAiB3G;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CACzB,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,EAC/B,OAAO,GAAE,OAAc,GACxB,IAAI,CA0BN"}
@@ -1,6 +1,7 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { getViewportOptions } from "./viewportPresets.js";
3
3
  import { isLngLatTupleBounds } from "../../utils/guards.js";
4
+ import { normalizeBoundsForShortestPath } from "../runtime/bounds.js";
4
5
  import { DEFAULT_BOUNDS_PADDING } from "../runtime/mapConfig.js";
5
6
  /**
6
7
  * Convert GeoJSON bbox array to viewport bounds.
@@ -61,9 +62,7 @@ export function calculateViewport(locations, config) {
61
62
  */
62
63
  export function applyViewport(map, viewport, animate = true) {
63
64
  if (viewport.bounds) {
64
- const southWest = [viewport.bounds.southWest.lng, viewport.bounds.southWest.lat];
65
- const northEast = [viewport.bounds.northEast.lng, viewport.bounds.northEast.lat];
66
- const bounds = [southWest, northEast];
65
+ const bounds = normalizeBoundsForShortestPath(viewport.bounds);
67
66
  const camera = map.cameraForBounds(bounds, { padding: DEFAULT_BOUNDS_PADDING });
68
67
  if (camera?.center && camera.zoom !== undefined) {
69
68
  if (animate) {
@@ -1 +1 @@
1
- {"version":3,"file":"viewportCalculation.js","sourceRoot":"","sources":["../../../../src/next/map/viewport/viewportCalculation.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC1B,IAAgD,EACpB;IAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE9C,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,MAAM,EAAE;YACJ,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;YACvC,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;SAC1C;KACJ,CAAC;AAAA,CACL;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAuB,EAAE,MAAyB,EAAyB;IACzG,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEtD,IAAI,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAChC,OAAO;YACH,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;gBACrC,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;aACxC;SACJ,CAAC;IACN,CAAC;IAED,OAAO;QACH,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;KACrB,CAAC;AAAA,CACL;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CACzB,GAAe,EACf,QAA+B,EAC/B,OAAO,GAAY,IAAI,EACnB;IACJ,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,SAAS,GAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnG,MAAM,SAAS,GAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnG,MAAM,MAAM,GAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAEhF,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9C,IAAI,OAAO,EAAE,CAAC;gBACV,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,MAAM,GAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtE,IAAI,OAAO,EAAE,CAAC;YACV,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;AAAA,CACJ"}
1
+ {"version":3,"file":"viewportCalculation.js","sourceRoot":"","sources":["../../../../src/next/map/viewport/viewportCalculation.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,12 @@ import type { IMapViewport } from "../../types/map/provider.js";
4
4
  * Resolves the map viewport from configuration, falling back to a data-derived viewport.
5
5
  *
6
6
  * Priority order (highest wins):
7
- * 1. AD-only override: preset `config.viewport.area` (when `applyViewportNavigation === false`)
8
- * 2. `config.center` + `config.zoom` (explicit center/zoom)
9
- * 3. `config.viewport.area` (preset area like "continent_eu")
10
- * 4. `dataViewport` (computed from layer data; used for `"auto"`)
11
- * 5. Default fallback
7
+ * 1. Advanced viewport config: `config.viewport.area` (including `"auto"`) when explicitly set
8
+ * 2. AD-only legacy override: preset `config.viewport.area` (when `applyViewportNavigation === false`)
9
+ * 3. `config.center` + `config.zoom` (explicit center/zoom)
10
+ * 4. `config.viewport.area` (preset area like "continent_eu")
11
+ * 5. `dataViewport` (computed from layer data; used for `"auto"`)
12
+ * 6. Default fallback
12
13
  *
13
14
  * @remarks
14
15
  * This function is intentionally pure and cycle-free so it can be reused both:
@@ -1 +1 @@
1
- {"version":3,"file":"viewportResolution.d.ts","sourceRoot":"","sources":["../../../../src/next/map/viewport/viewportResolution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,eAAe,GAAG,SAAS,EACnC,YAAY,GAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAW,GAClD,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAmC9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAchF"}
1
+ {"version":3,"file":"viewportResolution.d.ts","sourceRoot":"","sources":["../../../../src/next/map/viewport/viewportResolution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAsBhE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,eAAe,GAAG,SAAS,EACnC,YAAY,GAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAW,GAClD,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CA0B9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAoBhF"}
@@ -1,15 +1,28 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { isConcreteViewportPreset } from "../../types/config/viewport.js";
3
3
  import { DEFAULT_CENTER, DEFAULT_ZOOM, VIEWPORTS } from "../runtime/mapConfig.js";
4
+ function resolveAreaViewport(area, dataViewport) {
5
+ if (isConcreteViewportPreset(area)) {
6
+ const [southWest, northEast] = VIEWPORTS[area];
7
+ return {
8
+ bounds: { southWest, northEast },
9
+ };
10
+ }
11
+ return (dataViewport ?? {
12
+ center: DEFAULT_CENTER,
13
+ zoom: DEFAULT_ZOOM,
14
+ });
15
+ }
4
16
  /**
5
17
  * Resolves the map viewport from configuration, falling back to a data-derived viewport.
6
18
  *
7
19
  * Priority order (highest wins):
8
- * 1. AD-only override: preset `config.viewport.area` (when `applyViewportNavigation === false`)
9
- * 2. `config.center` + `config.zoom` (explicit center/zoom)
10
- * 3. `config.viewport.area` (preset area like "continent_eu")
11
- * 4. `dataViewport` (computed from layer data; used for `"auto"`)
12
- * 5. Default fallback
20
+ * 1. Advanced viewport config: `config.viewport.area` (including `"auto"`) when explicitly set
21
+ * 2. AD-only legacy override: preset `config.viewport.area` (when `applyViewportNavigation === false`)
22
+ * 3. `config.center` + `config.zoom` (explicit center/zoom)
23
+ * 4. `config.viewport.area` (preset area like "continent_eu")
24
+ * 5. `dataViewport` (computed from layer data; used for `"auto"`)
25
+ * 6. Default fallback
13
26
  *
14
27
  * @remarks
15
28
  * This function is intentionally pure and cycle-free so it can be reused both:
@@ -23,12 +36,13 @@ export function computeViewportFromConfig(config, dataViewport = null) {
23
36
  return dataViewport;
24
37
  }
25
38
  const area = config.viewport?.area;
39
+ const shouldPreferConfiguredArea = (config.enableGeoChartsViewportConfig ?? false) && area !== undefined && area !== "custom";
40
+ if (shouldPreferConfiguredArea) {
41
+ return resolveAreaViewport(area, dataViewport);
42
+ }
26
43
  // In AD runtime, preset changes must apply immediately even if stale center/zoom values are still present.
27
44
  if (config.applyViewportNavigation === false && isConcreteViewportPreset(area)) {
28
- const [southWest, northEast] = VIEWPORTS[area];
29
- return {
30
- bounds: { southWest, northEast },
31
- };
45
+ return resolveAreaViewport(area, dataViewport);
32
46
  }
33
47
  if (config.center) {
34
48
  return {
@@ -36,16 +50,7 @@ export function computeViewportFromConfig(config, dataViewport = null) {
36
50
  zoom: config.zoom ?? DEFAULT_ZOOM,
37
51
  };
38
52
  }
39
- if (isConcreteViewportPreset(area)) {
40
- const [southWest, northEast] = VIEWPORTS[area];
41
- return {
42
- bounds: { southWest, northEast },
43
- };
44
- }
45
- return (dataViewport ?? {
46
- center: DEFAULT_CENTER,
47
- zoom: DEFAULT_ZOOM,
48
- });
53
+ return resolveAreaViewport(area, dataViewport);
49
54
  }
50
55
  /**
51
56
  * Creates a stable key for viewport-relevant config so hooks can detect user changes.
@@ -59,6 +64,10 @@ export function computeViewportFromConfig(config, dataViewport = null) {
59
64
  */
60
65
  export function getViewportConfigKey(config) {
61
66
  const area = config?.viewport?.area;
67
+ const shouldPreferConfiguredArea = (config?.enableGeoChartsViewportConfig ?? false) && area !== undefined && area !== "custom";
68
+ if (shouldPreferConfiguredArea) {
69
+ return `area:${area}`;
70
+ }
62
71
  // Keep key aligned with computeViewportFromConfig for AD-specific precedence.
63
72
  if (config?.applyViewportNavigation === false && isConcreteViewportPreset(area)) {
64
73
  return `area:${area}`;
@@ -1 +1 @@
1
- {"version":3,"file":"viewportResolution.js","sourceRoot":"","sources":["../../../../src/next/map/viewport/viewportResolution.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAGrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAElF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CACrC,MAAmC,EACnC,YAAY,GAAiC,IAAI,EACrB;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;IAEnC,2GAA2G;IAC3G,IAAI,MAAM,CAAC,uBAAuB,KAAK,KAAK,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO;YACH,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SACnC,CAAC;IACN,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,YAAY;SACpC,CAAC;IACN,CAAC;IAED,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO;YACH,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SACnC,CAAC;IACN,CAAC;IAED,OAAO,CACH,YAAY,IAAI;QACZ,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,YAAY;KACrB,CACJ,CAAC;AAAA,CACL;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAmC,EAAU;IAC9E,MAAM,IAAI,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;IAEpC,8EAA8E;IAC9E,IAAI,MAAM,EAAE,uBAAuB,KAAK,KAAK,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,OAAO,QAAQ,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC;QACzC,OAAO,UAAU,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,OAAO,QAAQ,IAAI,IAAI,MAAM,EAAE,CAAC;AAAA,CACnC"}
1
+ {"version":3,"file":"viewportResolution.js","sourceRoot":"","sources":["../../../../src/next/map/viewport/viewportResolution.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAGrC,OAAO,EAA8B,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAEtG,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAElF,SAAS,mBAAmB,CACxB,IAAuC,EACvC,YAA0C,EACrB;IACrB,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO;YACH,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SACnC,CAAC;IACN,CAAC;IAED,OAAO,CACH,YAAY,IAAI;QACZ,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,YAAY;KACrB,CACJ,CAAC;AAAA,CACL;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,yBAAyB,CACrC,MAAmC,EACnC,YAAY,GAAiC,IAAI,EACrB;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;IACnC,MAAM,0BAA0B,GAC5B,CAAC,MAAM,CAAC,6BAA6B,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC;IAE/F,IAAI,0BAA0B,EAAE,CAAC;QAC7B,OAAO,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,2GAA2G;IAC3G,IAAI,MAAM,CAAC,uBAAuB,KAAK,KAAK,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,OAAO,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,YAAY;SACpC,CAAC;IACN,CAAC;IAED,OAAO,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAAA,CAClD;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAmC,EAAU;IAC9E,MAAM,IAAI,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;IACpC,MAAM,0BAA0B,GAC5B,CAAC,MAAM,EAAE,6BAA6B,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC;IAEhG,IAAI,0BAA0B,EAAE,CAAC;QAC7B,OAAO,QAAQ,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,8EAA8E;IAC9E,IAAI,MAAM,EAAE,uBAAuB,KAAK,KAAK,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,OAAO,QAAQ,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC;QACzC,OAAO,UAAU,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,OAAO,QAAQ,IAAI,IAAI,MAAM,EAAE,CAAC;AAAA,CACnC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-geo",
3
- "version": "11.25.0-alpha.0",
3
+ "version": "11.25.0-alpha.1",
4
4
  "description": "GoodData.UI SDK - Geo Charts",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -43,12 +43,12 @@
43
43
  "ts-invariant": "0.10.3",
44
44
  "tslib": "2.8.1",
45
45
  "uuid": "11.1.0",
46
- "@gooddata/sdk-model": "11.25.0-alpha.0",
47
- "@gooddata/sdk-ui": "11.25.0-alpha.0",
48
- "@gooddata/sdk-ui-theme-provider": "11.25.0-alpha.0",
49
- "@gooddata/sdk-ui-kit": "11.25.0-alpha.0",
50
- "@gooddata/sdk-ui-vis-commons": "11.25.0-alpha.0",
51
- "@gooddata/sdk-backend-spi": "11.25.0-alpha.0"
46
+ "@gooddata/sdk-backend-spi": "11.25.0-alpha.1",
47
+ "@gooddata/sdk-model": "11.25.0-alpha.1",
48
+ "@gooddata/sdk-ui": "11.25.0-alpha.1",
49
+ "@gooddata/sdk-ui-kit": "11.25.0-alpha.1",
50
+ "@gooddata/sdk-ui-theme-provider": "11.25.0-alpha.1",
51
+ "@gooddata/sdk-ui-vis-commons": "11.25.0-alpha.1"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@microsoft/api-documenter": "^7.17.0",
@@ -91,10 +91,10 @@
91
91
  "typescript": "5.9.3",
92
92
  "vitest": "4.0.8",
93
93
  "vitest-dom": "0.1.1",
94
- "@gooddata/eslint-config": "11.25.0-alpha.0",
95
- "@gooddata/oxlint-config": "11.25.0-alpha.0",
96
- "@gooddata/sdk-backend-mockingbird": "11.25.0-alpha.0",
97
- "@gooddata/stylelint-config": "11.25.0-alpha.0"
94
+ "@gooddata/eslint-config": "11.25.0-alpha.1",
95
+ "@gooddata/oxlint-config": "11.25.0-alpha.1",
96
+ "@gooddata/sdk-backend-mockingbird": "11.25.0-alpha.1",
97
+ "@gooddata/stylelint-config": "11.25.0-alpha.1"
98
98
  },
99
99
  "peerDependencies": {
100
100
  "react": "^18.0.0 || ^19.0.0",