@gooddata/sdk-ui-geo 11.42.0-alpha.3 → 11.42.0-alpha.4

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 (31) hide show
  1. package/esm/next/hooks/dataLoading/useNormalizedLayerExecutions.d.ts.map +1 -1
  2. package/esm/next/hooks/dataLoading/useNormalizedLayerExecutions.js +11 -0
  3. package/esm/next/hooks/layers/useLayersTooltipData.d.ts.map +1 -1
  4. package/esm/next/hooks/layers/useLayersTooltipData.js +14 -7
  5. package/esm/next/layers/area/adapter.d.ts.map +1 -1
  6. package/esm/next/layers/area/adapter.js +6 -2
  7. package/esm/next/layers/area/tooltip/tooltipManagement.d.ts.map +1 -1
  8. package/esm/next/layers/area/tooltip/tooltipManagement.js +2 -5
  9. package/esm/next/layers/common/mapFacade.d.ts +6 -0
  10. package/esm/next/layers/common/mapFacade.d.ts.map +1 -1
  11. package/esm/next/layers/common/mapFacade.js +9 -0
  12. package/esm/next/layers/common/resolveLayerCustomTooltip.d.ts +16 -0
  13. package/esm/next/layers/common/resolveLayerCustomTooltip.d.ts.map +1 -0
  14. package/esm/next/layers/common/resolveLayerCustomTooltip.js +15 -0
  15. package/esm/next/layers/common/tooltipPlacement.d.ts +8 -0
  16. package/esm/next/layers/common/tooltipPlacement.d.ts.map +1 -0
  17. package/esm/next/layers/common/tooltipPlacement.js +59 -0
  18. package/esm/next/layers/pushpin/adapter.d.ts.map +1 -1
  19. package/esm/next/layers/pushpin/adapter.js +6 -2
  20. package/esm/next/layers/pushpin/tooltip/tooltipManagement.d.ts.map +1 -1
  21. package/esm/next/layers/pushpin/tooltip/tooltipManagement.js +2 -5
  22. package/esm/next/types/layers/index.d.ts +11 -1
  23. package/esm/next/types/layers/index.d.ts.map +1 -1
  24. package/esm/next/utils/layerConversion.d.ts.map +1 -1
  25. package/esm/next/utils/layerConversion.js +36 -19
  26. package/esm/sdk-ui-geo.d.ts +10 -0
  27. package/package.json +11 -11
  28. package/styles/css/main.css +31 -1
  29. package/styles/css/main.css.map +1 -1
  30. package/styles/scss/_maplibre-overrides.scss +7 -0
  31. package/styles/scss/tooltip.scss +20 -2
@@ -1 +1 @@
1
- {"version":3,"file":"useNormalizedLayerExecutions.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/dataLoading/useNormalizedLayerExecutions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAIhE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAIpF,KAAK,iBAAiB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;AAwBhE;;GAEG;AACH,UAAU,mBAAmB;IACzB,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AAwBD;;;;GAIG;AACH,MAAM,WAAW,0BAA0B,CAAC,UAAU;IAClD;;OAEG;IACH,eAAe,EAAE,qBAAqB,EAAE,CAAC;IAEzC;;OAEG;IACH,eAAe,EAAE,UAAU,GAAG;QAAE,MAAM,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;CACzD;AAoFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CACxC,UAAU,SAAS,uBAAuB,GAAG,mBAAmB,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1F,KAAK,EAAE,UAAU,GAAG,0BAA0B,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAuE9E"}
1
+ {"version":3,"file":"useNormalizedLayerExecutions.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/dataLoading/useNormalizedLayerExecutions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAIhE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAIpF,KAAK,iBAAiB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;AAiChE;;GAEG;AACH,UAAU,mBAAmB;IACzB,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AA2BD;;;;GAIG;AACH,MAAM,WAAW,0BAA0B,CAAC,UAAU;IAClD;;OAEG;IACH,eAAe,EAAE,qBAAqB,EAAE,CAAC;IAEzC;;OAEG;IACH,eAAe,EAAE,UAAU,GAAG;QAAE,MAAM,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;CACzD;AAoFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CACxC,UAAU,SAAS,uBAAuB,GAAG,mBAAmB,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1F,KAAK,EAAE,UAAU,GAAG,0BAA0B,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAuE9E"}
@@ -23,6 +23,14 @@ function colorMappingFingerprint(colorMapping) {
23
23
  })
24
24
  .join("|");
25
25
  }
26
+ function customTooltipFingerprint(customTooltip) {
27
+ if (!customTooltip) {
28
+ return "";
29
+ }
30
+ // Positional, content last: `|` inside content can't collide with the other fields.
31
+ const { enabled, placement, content } = customTooltip;
32
+ return `${enabled ?? false}|${placement ?? ""}|${content ?? ""}`;
33
+ }
26
34
  function executionContextFingerprint(execution) {
27
35
  if (!hasGeoLayerContext(execution)) {
28
36
  return "";
@@ -32,6 +40,9 @@ function executionContextFingerprint(execution) {
32
40
  `${type}:${id}:${name ?? ""}`,
33
41
  stringify(config?.colorPalette),
34
42
  colorMappingFingerprint(config?.colorMapping),
43
+ // customTooltip is per-layer config that is not part of the AFM, so it must be
44
+ // fingerprinted here or content/enabled edits would serve a stale cached layer.
45
+ customTooltipFingerprint(config?.customTooltip),
35
46
  ].join("|");
36
47
  }
37
48
  function executionNormalizationFingerprint(execution, index) {
@@ -1 +1 @@
1
- {"version":3,"file":"useLayersTooltipData.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/layers/useLayersTooltipData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,+CAA+C,CAAC;AAGvD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACvD;AAED,UAAU,2BAA2B;IACjC,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC;;;;;;OAMG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,SAAS,CAAC;CACnB;AA6DD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,qBAAqB,CA+C/F"}
1
+ {"version":3,"file":"useLayersTooltipData.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/layers/useLayersTooltipData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,+CAA+C,CAAC;AAIvD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACvD;AAED,UAAU,2BAA2B;IACjC,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC;;;;;;OAMG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,SAAS,CAAC;CACnB;AA6DD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,qBAAqB,CAwD/F"}
@@ -1,6 +1,7 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  import { useMemo } from "react";
3
3
  import { useTooltipLookupExecutions } from "@gooddata/sdk-ui-vis-commons";
4
+ import { resolveLayerCustomTooltip } from "../../layers/common/resolveLayerCustomTooltip.js";
4
5
  import { getLayerAdapter } from "../../layers/registry/adapterRegistry.js";
5
6
  const EMPTY_RESULT = { tooltipLookups: new Map() };
6
7
  function planTooltipExecutions(layerExecutions, layerDataViews, backend, workspace, config, execConfig, intl) {
@@ -46,12 +47,18 @@ function planTooltipExecutions(layerExecutions, layerDataViews, backend, workspa
46
47
  export function useLayersTooltipData(params) {
47
48
  const { layerExecutions, layerDataViews, backend, workspace, config, execConfig, intl } = params;
48
49
  const isExportMode = config?.isExportMode ?? false;
49
- const customTooltip = config?.customTooltip;
50
- const tooltipContent = customTooltip?.content ?? "";
51
- const tooltipEnabled = !isExportMode && Boolean(customTooltip?.enabled) && Boolean(tooltipContent);
52
- // Content arrives already debounced from the AD editor.
53
- // `config` / `execConfig` are excluded from deps: any change that affects
54
- // the tooltip execution is already baked into `record.execution` upstream.
50
+ const tooltipEnabled = !isExportMode &&
51
+ layerExecutions.some((record) => {
52
+ const tooltip = resolveLayerCustomTooltip(record.layer, config);
53
+ return Boolean(tooltip?.enabled) && Boolean(tooltip?.content);
54
+ });
55
+ // Per-layer tooltip edits change `layerExecutions` identity (customTooltip is part of the
56
+ // normalization fingerprint). The chart-level fallback `config.customTooltip` — used by
57
+ // direct GeoChart consumers — is NOT in that fingerprint, so track its content here too;
58
+ // otherwise switching between two enabled chart-level templates would reuse the old plan.
59
+ const chartTooltipContent = config?.customTooltip?.content ?? "";
60
+ // `config` / `execConfig` are excluded from deps: any change that affects the tooltip
61
+ // execution is already baked into `record.execution` upstream (or captured above).
55
62
  // `intl` is read inside the planning function for forward-compat with future adapters.
56
63
  const planned = useMemo(() => {
57
64
  if (!tooltipEnabled || layerExecutions.length === 0) {
@@ -59,7 +66,7 @@ export function useLayersTooltipData(params) {
59
66
  }
60
67
  return planTooltipExecutions(layerExecutions, layerDataViews, backend, workspace, config, execConfig, intl);
61
68
  // eslint-disable-next-line react-hooks/exhaustive-deps
62
- }, [tooltipEnabled, layerExecutions, layerDataViews, backend, workspace, tooltipContent]);
69
+ }, [tooltipEnabled, layerExecutions, layerDataViews, backend, workspace, chartTooltipContent]);
63
70
  const separators = config?.separators;
64
71
  const lookupResults = useTooltipLookupExecutions(planned, separators);
65
72
  // Lookup-table construction is downstream of the cancelable promise so a
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/area/adapter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAiBjE,OAAO,EACH,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACxB,MAAM,6BAA6B,CAAC;AAkIrC,eAAO,MAAM,WAAW,EAAE,gBAAgB,CAAC,aAAa,EAAE,gBAAgB,CA8LzE,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/area/adapter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAkBjE,OAAO,EACH,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACxB,MAAM,6BAA6B,CAAC;AAkIrC,eAAO,MAAM,WAAW,EAAE,gBAAgB,CAAC,aAAa,EAAE,gBAAgB,CAiMzE,CAAC"}
@@ -10,6 +10,7 @@ import { computeLegend } from "../common/computeLegend.js";
10
10
  import { getAttributeIdRefIdentifier, getAttributeLocalIdsFromBuckets, getAttributeRefId, } from "../common/customTooltipExecution.js";
11
11
  import { getGeoChartDimensions } from "../common/dimensions.js";
12
12
  import { canSetGeoJsonSourceData, trySetGeoJsonSourceData } from "../common/layerOps.js";
13
+ import { resolveLayerCustomTooltip } from "../common/resolveLayerCustomTooltip.js";
13
14
  import { buildTooltipReferenceMaps } from "../common/tooltipReferenceMaps.js";
14
15
  import { createLayerInsight, sanitizeDeduplicatedGlobalFilters } from "../execution/layerInsightFactory.js";
15
16
  import { prepareExecutionWithTooltipText } from "../execution/prepareTooltipExecution.js";
@@ -77,7 +78,7 @@ async function fetchAreaFeatures(dataView, areaAttribute, metadata) {
77
78
  return result?.features ?? [];
78
79
  }
79
80
  function buildAreaTooltipExecution(layer, context, mainDefinition) {
80
- const customTooltip = context.config?.customTooltip;
81
+ const customTooltip = resolveLayerCustomTooltip(layer, context.config);
81
82
  if (!customTooltip?.enabled || !customTooltip.content) {
82
83
  return null;
83
84
  }
@@ -232,7 +233,10 @@ export const areaAdapter = {
232
233
  if (!tooltip || !context.intl) {
233
234
  return undefined;
234
235
  }
235
- const config = context.config ?? {};
236
+ const config = {
237
+ ...(context.config ?? {}),
238
+ customTooltip: resolveLayerCustomTooltip(layer, context.config),
239
+ };
236
240
  const ids = getAreaLayerIds(layer.id);
237
241
  const layerIds = [ids.fillLayerId, ids.outlineLayerId];
238
242
  return createAreaTooltipConfig(tooltip, config, drillablePredicates, context.intl, layerIds, output.tooltipReferenceMaps, tooltipLookup);
@@ -1 +1 @@
1
- {"version":3,"file":"tooltipManagement.d.ts","sourceRoot":"","sources":["../../../../../src/next/layers/area/tooltip/tooltipManagement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAU9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AA4D/F;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,mBAAmB,EAC3B,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC/C,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,aAAa,CAAC,EAAE,qBAAqB,EACrC,aAAa,CAAC,EAAE,sBAAsB,GACvC,iBAAiB,CA8CnB"}
1
+ {"version":3,"file":"tooltipManagement.d.ts","sourceRoot":"","sources":["../../../../../src/next/layers/area/tooltip/tooltipManagement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAW9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AA4D/F;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,mBAAmB,EAC3B,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC/C,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,aAAa,CAAC,EAAE,qBAAqB,EACrC,aAAa,CAAC,EAAE,sBAAsB,GACvC,iBAAiB,CA0CnB"}
@@ -1,6 +1,7 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { buildTooltipLocalizedStrings } from "@gooddata/sdk-ui-vis-commons";
3
3
  import { buildCustomTooltipPieces, composeTooltipBody } from "../../common/customTooltipSection.js";
4
+ import { presentTooltip } from "../../common/tooltipPlacement.js";
4
5
  import { dedupeAttributePayloadsByAttrId, formatAttributeHtml, formatMeasureHtml, getTooltipProperties, parseTooltipPayload, } from "../../common/tooltipUtils.js";
5
6
  function escapeHtml(str) {
6
7
  return str
@@ -64,11 +65,7 @@ export function createAreaTooltipConfig(tooltip, config, _drillableItems, intl,
64
65
  const tooltipStroke = color?.fill ?? (typeof fallbackStroke === "string" ? fallbackStroke : "#20B2E2");
65
66
  const tooltipHtml = buildAreaTooltipHtml(feature.properties, locationName, color, segment, tooltipStroke, separators, config.customTooltip, referenceMaps, intl, tooltipLookup);
66
67
  if (tooltipHtml) {
67
- tooltip
68
- .setLngLat([lngLat.lng, lngLat.lat])
69
- .setHTML(tooltipHtml)
70
- .setMaxWidth("320px")
71
- .addTo(map);
68
+ presentTooltip(tooltip, map, [lngLat.lng, lngLat.lat], tooltipHtml, 320);
72
69
  map.getCanvas().style.cursor = "pointer";
73
70
  }
74
71
  },
@@ -73,6 +73,10 @@ export interface IMapFacade {
73
73
  getZoom(...args: []): ZoomResult;
74
74
  getStyle(): StyleResult;
75
75
  getCanvas(): HTMLCanvasElement;
76
+ project(lnglat: LngLatLike): {
77
+ x: number;
78
+ y: number;
79
+ };
76
80
  loaded(): LoadedResult;
77
81
  areTilesLoaded(): TilesLoadedResult;
78
82
  queryRenderedFeatures(...args: QueryRenderedFeaturesArgs): QueryRenderedFeaturesResult;
@@ -97,9 +101,11 @@ export interface IPopupFacade {
97
101
  setLngLat(...args: SetLngLatArgs): IPopupFacade;
98
102
  setHTML(...args: SetHtmlArgs): IPopupFacade;
99
103
  setMaxWidth(...args: SetMaxWidthArgs): IPopupFacade;
104
+ setAnchor(anchor: PopupOptions["anchor"]): IPopupFacade;
100
105
  addTo(map: IMapFacade): IPopupFacade;
101
106
  remove(): void;
102
107
  isOpen(): boolean;
108
+ getElement(): HTMLElement | undefined;
103
109
  }
104
110
  /**
105
111
  * Wraps a MapLibre map into a lightweight facade with the subset of APIs used by Geo logic.
@@ -1 +1 @@
1
- {"version":3,"file":"mapFacade.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/common/mapFacade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapFacade.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/common/mapFacade.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,10 @@ export function createMapFacade(map) {
78
78
  getZoom: () => map.getZoom(),
79
79
  getStyle: () => map.getStyle(),
80
80
  getCanvas: () => map.getCanvas(),
81
+ project: (lnglat) => {
82
+ const point = map.project(lnglat);
83
+ return { x: point.x, y: point.y };
84
+ },
81
85
  loaded: () => map.loaded(),
82
86
  areTilesLoaded: () => map.areTilesLoaded(),
83
87
  queryRenderedFeatures: (...args) => map.queryRenderedFeatures(...args),
@@ -120,6 +124,10 @@ export function createPopupFacade(popup) {
120
124
  popup.setMaxWidth(...args);
121
125
  return facade;
122
126
  },
127
+ setAnchor: (anchor) => {
128
+ popup.options.anchor = anchor;
129
+ return facade;
130
+ },
123
131
  addTo: (mapFacade) => {
124
132
  const mapInstance = getUnderlyingMap(mapFacade);
125
133
  if (mapInstance) {
@@ -131,6 +139,7 @@ export function createPopupFacade(popup) {
131
139
  popup.remove();
132
140
  },
133
141
  isOpen: () => popup.isOpen(),
142
+ getElement: () => (popup.isOpen() ? popup.getElement() : undefined),
134
143
  };
135
144
  return facade;
136
145
  }
@@ -0,0 +1,16 @@
1
+ import { type ICustomTooltipConfig } from "@gooddata/sdk-ui-vis-commons";
2
+ import { type IGeoChartConfig } from "../../types/config/unified.js";
3
+ import { type IGeoLayer } from "../../types/layers/index.js";
4
+ /**
5
+ * Resolves the effective custom tooltip for a layer: the layer's own config takes
6
+ * precedence, falling back to the chart-level config.
7
+ *
8
+ * @remarks
9
+ * The pluggable visualizations store the tooltip per layer, so the chart-level
10
+ * fallback only applies when GeoChart is used directly. This precedence is the
11
+ * feature's central invariant — kept here so every call site stays in lockstep.
12
+ *
13
+ * @internal
14
+ */
15
+ export declare function resolveLayerCustomTooltip(layer: IGeoLayer, chartConfig: IGeoChartConfig | undefined): ICustomTooltipConfig | undefined;
16
+ //# sourceMappingURL=resolveLayerCustomTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveLayerCustomTooltip.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/common/resolveLayerCustomTooltip.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,eAAe,GAAG,SAAS,GACzC,oBAAoB,GAAG,SAAS,CAElC"}
@@ -0,0 +1,15 @@
1
+ // (C) 2026 GoodData Corporation
2
+ /**
3
+ * Resolves the effective custom tooltip for a layer: the layer's own config takes
4
+ * precedence, falling back to the chart-level config.
5
+ *
6
+ * @remarks
7
+ * The pluggable visualizations store the tooltip per layer, so the chart-level
8
+ * fallback only applies when GeoChart is used directly. This precedence is the
9
+ * feature's central invariant — kept here so every call site stays in lockstep.
10
+ *
11
+ * @internal
12
+ */
13
+ export function resolveLayerCustomTooltip(layer, chartConfig) {
14
+ return layer.config?.customTooltip ?? chartConfig?.customTooltip;
15
+ }
@@ -0,0 +1,8 @@
1
+ import type { IMapFacade, IPopupFacade, LngLatLike } from "./mapFacade.js";
2
+ /**
3
+ * Shows the reused tooltip popup with a fixed anchor and a height capped to the available space.
4
+ *
5
+ * @internal
6
+ */
7
+ export declare function presentTooltip(tooltip: IPopupFacade, map: IMapFacade, coordinates: LngLatLike, html: string, maxWidth: number): void;
8
+ //# sourceMappingURL=tooltipPlacement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltipPlacement.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/common/tooltipPlacement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAgB,MAAM,gBAAgB,CAAC;AA8CzF;;;;GAIG;AACH,wBAAgB,cAAc,CAC1B,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,UAAU,EACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACjB,IAAI,CAyBN"}
@@ -0,0 +1,59 @@
1
+ // (C) 2025-2026 GoodData Corporation
2
+ // Slack kept between the point and the map edge so the popup isn't flush against it (also absorbs
3
+ // the popup's own offset from the point — the exact value isn't load-bearing).
4
+ const EDGE_MARGIN = 24;
5
+ // Minimum tooltip height. On rare very short charts (< ~208px) it can exceed the available room and
6
+ // slightly overflow — accepted, as clamping tighter would leave an unreadable sliver.
7
+ const MIN_CONTENT_HEIGHT = 80;
8
+ const CLIPPED_CLASS = "gd-viz-tooltip-content--clipped";
9
+ // A fixed anchor stops MapLibre from recomputing (and flipping) it when async content resizes the
10
+ // popup — the cause of the hover "shake". We pick the roomier side and cap the height so it always fits.
11
+ function computeTooltipPlacement(map, coordinates, maxWidth) {
12
+ const { x, y } = map.project(coordinates);
13
+ const { clientWidth, clientHeight } = map.getCanvas();
14
+ // Anchor to the roomier side and cap the height to the room within the map. Containing the popup
15
+ // is load-bearing: overflow → page scrollbar → map offset → restarts the hover "shake". MapLibre
16
+ // anchors are inverted: "top" renders the popup below the point.
17
+ const roomBelow = clientHeight - y - EDGE_MARGIN;
18
+ const roomAbove = y - EDGE_MARGIN;
19
+ const vertical = roomBelow >= roomAbove ? "top" : "bottom";
20
+ const maxHeight = Math.max(roomBelow, roomAbove, MIN_CONTENT_HEIGHT);
21
+ // Anchor to the near horizontal edge when a centered popup wouldn't fit, so it extends inward
22
+ // and stays over the map (off the side panels).
23
+ const half = maxWidth / 2;
24
+ let horizontal = "";
25
+ if (x < half + EDGE_MARGIN) {
26
+ horizontal = "-left";
27
+ }
28
+ else if (x > clientWidth - half - EDGE_MARGIN) {
29
+ horizontal = "-right";
30
+ }
31
+ return { anchor: `${vertical}${horizontal}`, maxHeight };
32
+ }
33
+ /**
34
+ * Shows the reused tooltip popup with a fixed anchor and a height capped to the available space.
35
+ *
36
+ * @internal
37
+ */
38
+ export function presentTooltip(tooltip, map, coordinates, html, maxWidth) {
39
+ const { anchor, maxHeight } = computeTooltipPlacement(map, coordinates, maxWidth);
40
+ tooltip.setAnchor(anchor).setLngLat(coordinates).setHTML(html).setMaxWidth(`${maxWidth}px`).addTo(map);
41
+ const card = tooltip.getElement()?.querySelector(".gd-viz-tooltip-content");
42
+ if (!card) {
43
+ return;
44
+ }
45
+ // overflow + max-height live in tooltip.scss; we only feed the dynamic cap (unset → no clamp).
46
+ card.style.setProperty("--gd-viz-tooltip-max-height", `${maxHeight}px`);
47
+ // The popup has pointer-events:none, so overflow can't scroll; the clipped edge is faded in tooltip.scss.
48
+ const markClipped = () => {
49
+ card.classList.toggle(CLIPPED_CLASS, card.scrollHeight > card.clientHeight + 1);
50
+ };
51
+ markClipped();
52
+ // Re-check once async images settle (load or error): either way the content height stabilizes.
53
+ card.querySelectorAll("img").forEach((img) => {
54
+ if (!img.complete) {
55
+ img.addEventListener("load", markClipped, { once: true });
56
+ img.addEventListener("error", markClipped, { once: true });
57
+ }
58
+ });
59
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/pushpin/adapter.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAoBpE,OAAO,KAAK,EAAsB,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAqB7G,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAuEhG;AA2LD,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,mBAAmB,CAuLlF,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/pushpin/adapter.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAqBpE,OAAO,KAAK,EAAsB,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAqB7G,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAuEhG;AA2LD,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,mBAAmB,CA0LlF,CAAC"}
@@ -9,6 +9,7 @@ import { computeLegend } from "../common/computeLegend.js";
9
9
  import { getAttributeIdRefIdentifier, getAttributeLocalIdsFromBuckets, getAttributeRefId, getBucketAttributeIdRefIdentifier, readAttrIdentity, } from "../common/customTooltipExecution.js";
10
10
  import { getGeoChartDimensions } from "../common/dimensions.js";
11
11
  import { canSetGeoJsonSourceData, trySetGeoJsonSourceData } from "../common/layerOps.js";
12
+ import { resolveLayerCustomTooltip } from "../common/resolveLayerCustomTooltip.js";
12
13
  import { buildTooltipReferenceMaps } from "../common/tooltipReferenceMaps.js";
13
14
  import { createLayerInsight, sanitizeDeduplicatedGlobalFilters } from "../execution/layerInsightFactory.js";
14
15
  import { prepareExecutionWithGeoIcon } from "../execution/prepareGeoIconExecution.js";
@@ -181,7 +182,7 @@ function createExecution(layer, context) {
181
182
  return execution;
182
183
  }
183
184
  function buildPushpinTooltipExecution(layer, context, mainDefinition) {
184
- const customTooltip = context.config?.customTooltip;
185
+ const customTooltip = resolveLayerCustomTooltip(layer, context.config);
185
186
  if (!customTooltip?.enabled || !customTooltip.content) {
186
187
  return null;
187
188
  }
@@ -346,7 +347,10 @@ export const pushpinAdapter = {
346
347
  if (!tooltip || !context.intl) {
347
348
  return undefined;
348
349
  }
349
- const config = context.config ?? {};
350
+ const config = {
351
+ ...(context.config ?? {}),
352
+ customTooltip: resolveLayerCustomTooltip(layer, context.config),
353
+ };
350
354
  const ids = getPushpinLayerIds(layer.id);
351
355
  const layerIds = [ids.pointLayerId, ids.unclusterLayerId].filter(Boolean);
352
356
  if (layerIds.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"tooltipManagement.d.ts","sourceRoot":"","sources":["../../../../../src/next/layers/pushpin/tooltip/tooltipManagement.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,oBAAoB,EAAgC,MAAM,8BAA8B,CAAC;AAGvG,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAQpF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAW9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAS/F,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAuErC;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAe/F;AAQD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAC1B,aAAa,EAAE,OAAO,CAAC,iBAAiB,EACxC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,cAAc,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC9C,IAAI,EAAE,SAAS,EACf,UAAU,GAAE,OAAc,EAC1B,YAAY,CAAC,EAAE,oBAAoB,EACnC,aAAa,CAAC,EAAE,qBAAqB,EACrC,aAAa,CAAC,EAAE,sBAAsB,GACvC,MAAM,CA6CR;AAcD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,sBAAsB,EAC9B,cAAc,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC9C,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,aAAa,CAAC,EAAE,qBAAqB,EACrC,aAAa,CAAC,EAAE,sBAAsB,GACvC,iBAAiB,CA2EnB"}
1
+ {"version":3,"file":"tooltipManagement.d.ts","sourceRoot":"","sources":["../../../../../src/next/layers/pushpin/tooltip/tooltipManagement.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,oBAAoB,EAAgC,MAAM,8BAA8B,CAAC;AAGvG,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAQpF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAY9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAS/F,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAuErC;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAe/F;AAQD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAC1B,aAAa,EAAE,OAAO,CAAC,iBAAiB,EACxC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,cAAc,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC9C,IAAI,EAAE,SAAS,EACf,UAAU,GAAE,OAAc,EAC1B,YAAY,CAAC,EAAE,oBAAoB,EACnC,aAAa,CAAC,EAAE,qBAAqB,EACrC,aAAa,CAAC,EAAE,sBAAsB,GACvC,MAAM,CA6CR;AAcD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,sBAAsB,EAC9B,cAAc,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC9C,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,aAAa,CAAC,EAAE,qBAAqB,EACrC,aAAa,CAAC,EAAE,sBAAsB,GACvC,iBAAiB,CAuEnB"}
@@ -4,6 +4,7 @@ import { buildTooltipLocalizedStrings } from "@gooddata/sdk-ui-vis-commons";
4
4
  import { getTooltipContentWidth } from "../../../map/style/tooltipFormatting.js";
5
5
  import { isGeoJsonPoint, isLngLatTuple, isRecord, } from "../../../utils/guards.js";
6
6
  import { buildCustomTooltipPieces, composeTooltipBody } from "../../common/customTooltipSection.js";
7
+ import { presentTooltip } from "../../common/tooltipPlacement.js";
7
8
  import { dedupeAttributePayloadsByAttrId, formatAttributeHtml, formatMeasureHtml, getTooltipProperties, isTooltipPayloadValid, parseTooltipPayload, } from "../../common/tooltipUtils.js";
8
9
  import { DEFAULT_PUSHPIN_COLOR_VALUE, NULL_TOOLTIP_VALUE, PUSHPIN_STYLE_FEATURE_PROPERTIES, } from "../constants.js";
9
10
  import { parsePushpinGeoProperties } from "../data/transformation.js";
@@ -186,11 +187,7 @@ export function createPushpinTooltipConfig(tooltip, config, drillableItems, intl
186
187
  const shapeType = config.points?.shapeType ?? "circle";
187
188
  const isIconShape = shapeType === "iconByValue" || shapeType === "oneIcon";
188
189
  const tooltipHtml = getTooltipHtml(parsedProps, tooltipStroke, maxTooltipContentWidth, separators, drillableItems, intl, !isIconShape, config.customTooltip, referenceMaps, tooltipLookup);
189
- tooltip
190
- .setLngLat(coordinates)
191
- .setHTML(tooltipHtml)
192
- .setMaxWidth(`${maxTooltipContentWidth}px`)
193
- .addTo(map);
190
+ presentTooltip(tooltip, map, coordinates, tooltipHtml, maxTooltipContentWidth);
194
191
  },
195
192
  hideTooltip(map) {
196
193
  if (isTooltipDisabled(config)) {
@@ -1,5 +1,5 @@
1
1
  import { type IAttribute, type IAttributeOrMeasure, type IColorPalette, type INullableFilter, type ISortItem, type GeoLayerType as ModelGeoLayerType } from "@gooddata/sdk-model";
2
- import { type IColorMapping } from "@gooddata/sdk-ui-vis-commons";
2
+ import { type IColorMapping, type ICustomTooltipConfig } from "@gooddata/sdk-ui-vis-commons";
3
3
  /**
4
4
  * Layer types supported by GeoChart.
5
5
  *
@@ -29,6 +29,16 @@ export interface IGeoLayerConfig {
29
29
  * Optional custom color mappings override for this layer.
30
30
  */
31
31
  colorMapping?: IColorMapping[];
32
+ /**
33
+ * Optional custom tooltip configuration for this layer.
34
+ *
35
+ * @remarks
36
+ * Each layer renders its own custom tooltip. When omitted, the layer has no
37
+ * custom tooltip section (it does not inherit another layer's configuration).
38
+ *
39
+ * @alpha
40
+ */
41
+ customTooltip?: ICustomTooltipConfig;
32
42
  }
33
43
  /**
34
44
  * Base interface for all geo layer configurations.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/next/types/layers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,YAAY,IAAI,iBAAiB,EACzC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,IAAI,EAAE,YAAY,CAAC;IAEnB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAE5B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAE5B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IAErB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACnD,IAAI,EAAE,SAAS,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,EAAE,UAAU,CAAC;IAErB;;;;;;OAMG;IACH,SAAS,EAAE,UAAU,CAAC;IAEtB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,aAAc,SAAQ,aAAa;IAChD,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;OAUG;IACH,IAAI,EAAE,UAAU,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,gBAAgB,CAE7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,aAAa,CAEvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/next/types/layers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,YAAY,IAAI,iBAAiB,EACzC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAE7F;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAE/B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,IAAI,EAAE,YAAY,CAAC;IAEnB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAE5B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAE5B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IAErB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACnD,IAAI,EAAE,SAAS,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,EAAE,UAAU,CAAC;IAErB;;;;;;OAMG;IACH,SAAS,EAAE,UAAU,CAAC;IAEtB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,aAAc,SAAQ,aAAa;IAChD,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;OAUG;IACH,IAAI,EAAE,UAAU,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,gBAAgB,CAE7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,aAAa,CAEvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"layerConversion.d.ts","sourceRoot":"","sources":["../../../src/next/utils/layerConversion.ts"],"names":[],"mappings":"AAEA,OAAO,EAOH,KAAK,uBAAuB,EAY/B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACH,KAAK,SAAS,EAKjB,MAAM,0BAA0B,CAAC;AA2GlC;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAyQX;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI,CAW9F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,SAAS,EAAE,CAE9F;AA+FD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAehF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,uBAAuB,EAAE,CAEvF"}
1
+ {"version":3,"file":"layerConversion.d.ts","sourceRoot":"","sources":["../../../src/next/utils/layerConversion.ts"],"names":[],"mappings":"AAEA,OAAO,EAOH,KAAK,uBAAuB,EAY/B,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EACH,KAAK,SAAS,EAKjB,MAAM,0BAA0B,CAAC;AA6IlC;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAyPX;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI,CAW9F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,SAAS,EAAE,CAE9F;AAoGD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAehF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,uBAAuB,EAAE,CAEvF"}
@@ -1,7 +1,7 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { attributeDisplayFormRef, attributeLocalId, bucketAttribute, bucketMeasure, idRef, isAttribute, isIdentifierRef, isMeasure, newAttribute, } from "@gooddata/sdk-model";
3
3
  import { BucketNames } from "@gooddata/sdk-ui";
4
- import { getColorMappingPredicate } from "@gooddata/sdk-ui-vis-commons";
4
+ import { getColorMappingPredicate, } from "@gooddata/sdk-ui-vis-commons";
5
5
  import { isGeoLayerPushpin, } from "../types/layers/index.js";
6
6
  import { isRecord } from "./guards.js";
7
7
  import { registerHeaderPredicateKey } from "./predicateFingerprint.js";
@@ -73,6 +73,35 @@ function getLayerColorPaletteFromControls(controls) {
73
73
  });
74
74
  return palette.length > 0 ? palette : undefined;
75
75
  }
76
+ function getLayerCustomTooltipFromControls(controls) {
77
+ if (!isRecord(controls)) {
78
+ return undefined;
79
+ }
80
+ const raw = controls["customTooltip"];
81
+ if (!isRecord(raw) || typeof raw["content"] !== "string") {
82
+ return undefined;
83
+ }
84
+ const tooltip = { content: raw["content"] };
85
+ if (typeof raw["enabled"] === "boolean") {
86
+ tooltip.enabled = raw["enabled"];
87
+ }
88
+ if (raw["placement"] === "above" || raw["placement"] === "below" || raw["placement"] === "replace") {
89
+ tooltip.placement = raw["placement"];
90
+ }
91
+ return tooltip;
92
+ }
93
+ /** Assembles the per-layer {@link IGeoLayerConfig} from controls; `undefined` when empty. */
94
+ function buildLayerConfigFromControls(controls) {
95
+ const colorPalette = getLayerColorPaletteFromControls(controls);
96
+ const colorMapping = getLayerColorMappingFromControls(controls);
97
+ const customTooltip = getLayerCustomTooltipFromControls(controls);
98
+ const config = {
99
+ ...(colorPalette ? { colorPalette } : {}),
100
+ ...(colorMapping ? { colorMapping } : {}),
101
+ ...(customTooltip ? { customTooltip } : {}),
102
+ };
103
+ return Object.keys(config).length > 0 ? config : undefined;
104
+ }
76
105
  /**
77
106
  * Type guard for IGeoLayerControls.
78
107
  */
@@ -245,15 +274,7 @@ function convertToPushpinLayer(insightLayer) {
245
274
  if (!geoIcon && isGeoLayerControls(controls) && controls.geoIcon) {
246
275
  geoIcon = createAttributeFromDisplayFormId(controls.geoIcon, "geoIcon_df");
247
276
  }
248
- const colorMapping = getLayerColorMappingFromControls(controls);
249
- const colorPalette = getLayerColorPaletteFromControls(controls);
250
- const layerConfig = colorPalette || colorMapping ? {} : undefined;
251
- if (layerConfig && colorPalette) {
252
- layerConfig.colorPalette = colorPalette;
253
- }
254
- if (layerConfig && colorMapping) {
255
- layerConfig.colorMapping = colorMapping;
256
- }
277
+ const layerConfig = buildLayerConfigFromControls(controls);
257
278
  if (!latitude || !longitude) {
258
279
  return null;
259
280
  }
@@ -298,15 +319,7 @@ function convertToAreaLayer(insightLayer) {
298
319
  const color = getAttributeOrMeasureFromBucket(buckets, BucketNames.COLOR);
299
320
  const segmentBy = getAttributeFromBucket(buckets, BucketNames.SEGMENT);
300
321
  const tooltipText = getAttributeFromBucket(buckets, BucketNames.TOOLTIP_TEXT);
301
- const colorMapping = getLayerColorMappingFromControls(controls);
302
- const colorPalette = getLayerColorPaletteFromControls(controls);
303
- const layerConfig = colorPalette || colorMapping ? {} : undefined;
304
- if (layerConfig && colorPalette) {
305
- layerConfig.colorPalette = colorPalette;
306
- }
307
- if (layerConfig && colorMapping) {
308
- layerConfig.colorMapping = colorMapping;
309
- }
322
+ const layerConfig = buildLayerConfigFromControls(controls);
310
323
  return {
311
324
  id,
312
325
  name,
@@ -412,6 +425,10 @@ function layerConfigToInsightProperties(config) {
412
425
  if (colorMapping) {
413
426
  controls["colorMapping"] = colorMapping;
414
427
  }
428
+ // Mirror the read path (requires content) so write/read stay symmetric.
429
+ if (config.customTooltip?.content) {
430
+ controls["customTooltip"] = config.customTooltip;
431
+ }
415
432
  if (Object.keys(controls).length === 0) {
416
433
  return undefined;
417
434
  }
@@ -1025,6 +1025,16 @@ export declare interface IGeoLayerConfig {
1025
1025
  * Optional custom color mappings override for this layer.
1026
1026
  */
1027
1027
  colorMapping?: IColorMapping[];
1028
+ /**
1029
+ * Optional custom tooltip configuration for this layer.
1030
+ *
1031
+ * @remarks
1032
+ * Each layer renders its own custom tooltip. When omitted, the layer has no
1033
+ * custom tooltip section (it does not inherit another layer's configuration).
1034
+ *
1035
+ * @alpha
1036
+ */
1037
+ customTooltip?: ICustomTooltipConfig;
1028
1038
  }
1029
1039
 
1030
1040
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-geo",
3
- "version": "11.42.0-alpha.3",
3
+ "version": "11.42.0-alpha.4",
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.1",
46
- "@gooddata/sdk-backend-spi": "11.42.0-alpha.3",
47
- "@gooddata/sdk-model": "11.42.0-alpha.3",
48
- "@gooddata/sdk-ui": "11.42.0-alpha.3",
49
- "@gooddata/sdk-ui-kit": "11.42.0-alpha.3",
50
- "@gooddata/sdk-ui-theme-provider": "11.42.0-alpha.3",
51
- "@gooddata/sdk-ui-vis-commons": "11.42.0-alpha.3"
46
+ "@gooddata/sdk-backend-spi": "11.42.0-alpha.4",
47
+ "@gooddata/sdk-model": "11.42.0-alpha.4",
48
+ "@gooddata/sdk-ui": "11.42.0-alpha.4",
49
+ "@gooddata/sdk-ui-theme-provider": "11.42.0-alpha.4",
50
+ "@gooddata/sdk-ui-kit": "11.42.0-alpha.4",
51
+ "@gooddata/sdk-ui-vis-commons": "11.42.0-alpha.4"
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.1.8",
93
93
  "vitest-dom": "0.1.1",
94
- "@gooddata/eslint-config": "11.42.0-alpha.3",
95
- "@gooddata/sdk-backend-mockingbird": "11.42.0-alpha.3",
96
- "@gooddata/oxlint-config": "11.42.0-alpha.3",
97
- "@gooddata/stylelint-config": "11.42.0-alpha.3"
94
+ "@gooddata/eslint-config": "11.42.0-alpha.4",
95
+ "@gooddata/oxlint-config": "11.42.0-alpha.4",
96
+ "@gooddata/sdk-backend-mockingbird": "11.42.0-alpha.4",
97
+ "@gooddata/stylelint-config": "11.42.0-alpha.4"
98
98
  },
99
99
  "peerDependencies": {
100
100
  "react": "^18.0.0 || ^19.0.0",
@@ -1791,7 +1791,17 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
1791
1791
  border-radius: 3px;
1792
1792
  font-family: gdcustomfont, "Avenir", "Helvetica Neue", arial, sans-serif;
1793
1793
  color: var(--gd-chart-tooltip-labelColor, var(--gd-chart-tooltipLabelColor, var(--gd-palette-complementary-6-from-theme, var(--gd-palette-complementary-9, #000))));
1794
- background-color: var(--gd-chart-tooltip-backgroundColor, var(--gd-chart-tooltipBackgroundColor, var(--gd-palette-complementary-0-from-theme, rgba(255, 255, 255, 0.95))));
1794
+ --gd-viz-tooltip-bg: var(
1795
+ --gd-chart-tooltip-backgroundColor,
1796
+ var(
1797
+ --gd-chart-tooltipBackgroundColor,
1798
+ var(
1799
+ --gd-palette-complementary-0-from-theme,
1800
+ rgba(255, 255, 255, 0.95)
1801
+ )
1802
+ )
1803
+ );
1804
+ background-color: var(--gd-viz-tooltip-bg);
1795
1805
  }
1796
1806
  .gd-viz-tooltip .tt-name {
1797
1807
  font-family: gdcustomfont, "Avenir", "Helvetica Neue", arial, sans-serif;
@@ -1819,7 +1829,10 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
1819
1829
  }
1820
1830
 
1821
1831
  .gd-viz-tooltip-content {
1832
+ position: relative;
1822
1833
  display: block;
1834
+ max-height: var(--gd-viz-tooltip-max-height, none);
1835
+ overflow-y: hidden;
1823
1836
  padding: 10px 9px 9px;
1824
1837
  border-radius: 3px;
1825
1838
  border: 1px solid;
@@ -1834,6 +1847,17 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
1834
1847
  }
1835
1848
  }
1836
1849
 
1850
+ .gd-viz-tooltip-content--clipped::after {
1851
+ content: "";
1852
+ position: absolute;
1853
+ right: 0;
1854
+ bottom: 0;
1855
+ left: 0;
1856
+ height: 28px;
1857
+ background: linear-gradient(to bottom, transparent, var(--gd-viz-tooltip-bg));
1858
+ pointer-events: none;
1859
+ }
1860
+
1837
1861
  .gd-viz-tooltip-item {
1838
1862
  display: block;
1839
1863
  margin-bottom: 10px;
@@ -2712,6 +2736,12 @@ a.maplibregl-ctrl-logo.maplibregl-compact {
2712
2736
  pointer-events: none;
2713
2737
  }
2714
2738
 
2739
+ .maplibregl-popup-content img {
2740
+ display: block;
2741
+ max-width: 100%;
2742
+ max-height: 300px;
2743
+ }
2744
+
2715
2745
  .maplibregl-scroll-zoom-blocker,
2716
2746
  .maplibregl-touch-pan-blocker {
2717
2747
  font-family: gdcustomfont, "Avenir", "Helvetica Neue", arial, sans-serif;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/src/@ui/defaultTheme.scss","../../node_modules/mapbox-gl/dist/mapbox-gl.css","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/aria.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Button/_variables.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Bubble/_variables.scss","../../node_modules/@gooddata/sdk-ui-vis-commons/styles/scss/legend.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../../node_modules/@gooddata/sdk-ui-vis-commons/styles/scss/customTooltip.scss","../scss/tooltip.scss","../scss/_variables.scss","../scss/charts.scss","../../node_modules/maplibre-gl/dist/maplibre-gl.css","../scss/_maplibre-overrides.scss","../scss/_geo-pushpin-next-legend.scss","../scss/geo-pushpin-next.scss","../scss/geo-area-next.scss","../scss/geo-chart-next.scss","../scss/_geo-multi-layer-legend.scss","../scss/main.scss"],"names":[],"mappings":";AAIA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EAGA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA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AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA,kBJvGiB;;AI4GzB;EACI;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA,OP5FI;;AO+FR;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OJnIiB;EIoIjB,aPhCM;;AOoCN;EACI;;AAMZ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAMJ;EACI;EACA;EACA;;;ACvJR;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;ACpDJ;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;;;AClBJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;;ACOR;EACI;EACA;EACA;EACA;EACA,kBXRa;EWSb;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA,aX4Dc;EW3Dd;EACA;EAEA;EAEA;;AAEA;EAzBJ;IA0BQ;;;AAIJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAMJ;EACI;EACA;EACA;EACA;EACA;EACA;EAGA;;AAGA;EACI;;AAIJ;EACI;EACA;EACA;;AAIJ;EACI;;AAKR;EACI;EACA;EACA;EACA;EACA;EACA;EACA,kBXrGS;EWsGT;EAEA;EACA;;AAIA;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;;AAMZ;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAKR;EACI;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACI;EACA,OAhLe;EAiLf;EACA;;AAEA;EACI;;AAKR;EACI;EACA;EACA;EACA;EACA,OAjMa;EAkMb;EACA;EACA;;AAIJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIJ;EAEI;EACA;EACA;;AAKJ;EACI;EACA;EAEA;EACA;EACA;EACA;EACA;EA0CA;EACA;;AAxCA;EACI;EACA;EACA;;AAIJ;EACI;EACA;EACA;;AAKJ;EACI;EACA;EACA;;AAIJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAWR;EAGI;;AAGA;EACI;;AAIJ;EACI;EACA;;AAGJ;EACI;;AAIA;EACI,YACI;EAjShB;EACA;;AAuSA;EACI;EACA;;AAIJ;EACI;EACA;EACA;EACA,OA5TY;EA6TZ;EACA;EACA;EACA;;AAMJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA,OAhWY;EAiWZ;;AAMJ;EACI;EACA;;AAIA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAGA;EACI;EACA;EACA;EACA;;AAGA;EACI;;AAGJ;EApYR;EACA,gBAoY0C;EAnY1C;;AA0YQ;EA5YR;EACA,gBA4Y0C;EA3Y1C;EAIA;EACA;;AAyYY;EACI;;AAOR;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAKZ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA,OArbY;EAsbZ;EACA;EACA;;AAGJ;EACI;EACA,OA7bY;EA8bZ;;AAMJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EAEA;;AAOJ;EACI;EACA;EACA;;AAGJ;EAEI;EACA;EACA;EACA,OAleY;;;ACUZ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;EACA;;AAOA;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAIA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAMZ;EACI;EACA;EACA;;;AAKJ;EAEI;;AAGJ;EACI;;AAEA;EAEI;;AAGJ;EAEI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;AAAA;EAEI;;AAGJ;EACI;;AAGJ;EACI;;;AAIR;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA,OZ1HQ;EY2HR;EACA;EACA;EACA;;AAIA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA,OZ5II;;AY+IR;EACI,OT7KiB;ES8KjB,aZ1EM;;AY8EN;EACI;;AAKZ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;EACI;;;AAGJ;EACI;EAGA;;;AAIJ;EAEI;;;AAIJ;EACI;EACA;EACA;;;AAGJ;AACA;EACI;;;AAGJ;EACI;EACA;;;AAGJ;AACA;AAAA;EAEI,aT3Oe;ES6Of;EACA,OZpNoB;EYqNpB;;;AAIJ;EAEI;EAEA","file":"main.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/src/@ui/defaultTheme.scss","../../node_modules/mapbox-gl/dist/mapbox-gl.css","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/aria.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Button/_variables.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Bubble/_variables.scss","../../node_modules/@gooddata/sdk-ui-vis-commons/styles/scss/legend.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../../node_modules/@gooddata/sdk-ui-vis-commons/styles/scss/customTooltip.scss","../scss/tooltip.scss","../scss/_variables.scss","../scss/charts.scss","../../node_modules/maplibre-gl/dist/maplibre-gl.css","../scss/_maplibre-overrides.scss","../scss/_geo-pushpin-next-legend.scss","../scss/geo-pushpin-next.scss","../scss/geo-area-next.scss","../scss/geo-chart-next.scss","../scss/_geo-multi-layer-legend.scss","../scss/main.scss"],"names":[],"mappings":";AAIA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EAGA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACtVJ;EAAc;EAAyC;EAAyD;EAAgB;;;AAAkB;EAAiB;EAAO;EAAkB;;;AAAM;EAAkC;EAAY;;;AAAW;EAAiB;;;AAAwB;EAAkG;EAAY;EAAyB;;;AAAiB;EAAuE;;;AAAe;EAAgH;;;AAAgB;EAA6H;;;AAAyB;EAAuH;;;AAAwB;EAA6K;;;AAAkB;EAAwG;EAAoB;EAAkB;;;AAAU;EAAwB;EAAO;;;AAAM;EAAyB;EAAQ;;;AAAM;EAA2B;EAAS;;;AAAO;EAA4B;EAAS;;;AAAQ;EAAe;EAAW;EAAoB;;;AAAuB;EAAuC;EAAW;;;AAAqB;EAAwC;EAAY;;;AAAqB;EAA0C;EAAW;;;AAAqB;EAA2C;EAAY;;;AAAqB;EAAqB;EAAgB;;;AAAkB;EAAiC;;;AAAoC;EAAkC;IAAiC;;;AAAiC;EAA4B;EAA6B;EAAS;EAAsB;EAAe;EAAc;EAAY;EAAa;EAAgB;EAAU;;;AAAW;EAAmC;;;AAA0B;EAA0C;EAAwB;EAA4B;EAAc;EAAY;;;AAAW;EAAkC;IAAoB;;EAA6B;IAAmC;;;AAAiC;EAAqE;;;AAA+B;EAA+B;;;AAAmB;EAAmD;;;AAAY;EAAwC;;;AAA0B;EAAuC;;;AAA0B;EAAuC;;;AAAsB;EAA2C;;;AAA+B;EAAgD;;;AAA+B;EAAsD;;;AAAgB;EAAiE;;;AAAuP;EAAgE;;;AAAyV;EAAkC;IAAiE;;EAAuP;IAAgE;;;AAA0V;EAA0C;IAAiE;;EAAuP;IAAgE;;;AAA0V;EAAmE;;;AAAmb;EAA+D;;;AAA4a;EAAkC;IAAmE;;EAAmb;IAA+D;;;AAA2b;EAA0C;IAAmE;;EAAmb;IAA+D;;;AAA2b;EAAgE;;;AAAmP;EAAkC;IAAgE;;;AAAoP;EAA0C;IAAgE;;;AAAoP;EAAkE;;;AAAie;EAA2E;;;AAAge;EAAiG;;;AAAoe;EAAuG;;;AAAoe;EAAqG;;;AAAmf;EAA2G;;;AAAmf;EAAkG;;;AAA2C;EAAkC;IAAkE;;EAAie;IAA2E;;EAAge;IAAiG;;EAAoe;IAAuG;;EAAoe;IAAqG;;EAAmf;IAA2G;;;AAAof;EAA0C;IAAkE;;EAAie;IAA2E;;;AAAie;EAAyB;IAAG;;EAAuB;IAAG;;;AAAyB;EAAqB;EAAgmG;EAA4B;EAAe;EAAc;EAAY;EAAqB;EAAgB;;;AAAW;EAAsC;;;AAAW;EAAkC;IAAqB;IAA6B;;;AAA6lG;EAA0C;IAAqB;;;AAA2mG;EAAoC;EAAoC;EAAS;;;AAAc;EAAc;IAAuC;IAAsB;IAAmB;IAAY;IAAgB;IAAuB;;EAAkB;IAA4C;IAAyB;;EAAmB;IAA2I;IAAmB;;EAAyB;IAAmE;;EAAa;IAA6B;IAAoC;IAA6Q;IAAS;IAAmB;IAAsB;IAAe;IAAa;IAAY;IAAa;IAAkB;IAAQ;IAAM;;EAAW;IAA6G;;EAAO;IAA4I;;EAAc;IAAyE;;EAA+B;IAAyE;IAAS;;EAAQ;IAAsE;IAAQ;;EAAM;IAAqE;IAAO;;EAAM;IAAwE;IAAS;;;AAAQ;EAA6C;IAA6C;;;AAA4R;EAAqD;IAA6C;;;AAA8Q;EAAwB;EAAsB;;;AAAqB;EAA8B;EAAc;;;AAA0B;EAA0C;EAAgB;;;AAAgB;EAAuB;;;AAAa;EAAqB;EAAqC;EAAsB;EAAgB;EAAsB;EAAW;EAAe;EAAc;;;AAAmB;EAAgB;EAAa;EAAO;EAAoB;EAAkB;EAAM;;;AAAsB;EAA4F;;;AAAsB;EAAqG;;;AAA8B;EAA4B;;;AAAmB;EAA6B;;;AAA2B;EAAoB;EAA8B;EAAS;EAAQ;;;AAAU;EAA+C;EAAkB;EAAyB;;;AAAgB;EAAoD;EAAsB;EAAyB;EAAiB;;;AAAgB;EAAqD;EAAoB;EAAyB;EAAkB;;;AAAgB;EAAkD;EAAkB;EAAmB;;;AAAsB;EAAuD;EAAsB;EAAmB;EAAiB;;;AAAsB;EAAwD;EAAoB;EAAmB;EAAkB;;;AAAsB;EAAgD;EAAkB;EAAiB;;;AAAwB;EAAiD;EAAkB;EAAuB;;;AAAkB;EAA6B;EAA6B;EAAS;EAAwB;EAAe;EAAkB;EAAQ;;;AAAM;EAAmC;;;AAA+B;EAAwB;EAAgB;EAAkB;EAAoC;EAAuB;EAAoB;;;AAAkB;EAAwD;;;AAAyB;EAAyD;;;AAA0B;EAA2D;;;AAA4B;EAA4D;;;AAA6B;EAA8B;;;AAAa;EAAgC;EAAoB;;;AAAiB;EAAkD;;;AAAa;EAAmD;;;AAAa;EAAiB;EAAO;EAAU;EAAkB;EAAM;EAAuB;;;AAAsB;EAA+D;EAAyB;EAAkB;EAAY;;;AAAW;EAAmC;EAAuD;EAAW;;;AAAkB;EAAkC;EAAsB;EAAkB;EAAmC;EAAsB;EAAW;EAAY;EAAU;EAAkB;EAAS;;;AAAW;EAAqE;EAAS;;;AAAQ;EAAuJ;EAAkC;EAAW;;;AAAkB;EAA4E;EAAoC;;;AAA0C;EAA2E;EAAqC;;;AAA8C;EAA4C;IAAG;IAAU;;EAAmB;IAAI;IAAU;;EAAmB;IAAG;IAAU;;;AAAoB;EAAkC;;;AAAsB;EAAwC;;;AAAa;EAAwC;EAA2B;EAAmB;EAAW;;;AAAU;EAA+G;;;AAAiB;EAAkB;EAAgB;EAA0B;EAAS;EAAO;EAAW;EAAkB;EAAM;;;AAAQ;EAAa;IAAoB;;;AAAc;EAA0D;EAAmB;EAA0B;EAAW;EAAa;EAAiF;EAAY;EAAuB;EAAO;EAAU;EAAoB;EAAkB;EAAkB;EAAM;EAAoC;EAAoB;;;AAAW;EAAoE;EAAU;;;AAAmC;EAAiM;;;ACEjzlC;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACPJ;AAAA;AAAA;ACsHA;AA4DA;ACjLA;AAAA;AAAA;ACSA;EAEQ;IAEI;;;AAKZ;EACI;EACA;;;AAGJ;EACI;;;AAIA;EAEI;;AAGJ;EAEI;;;AAIR;EACI;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAIR;EACI;;AAGJ;AAAA;EAEI;EACA;EACA,aC8BU;ED7BV;;AAEA;AAAA;EACI;;AAGJ;AAAA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;AAAA;AAAA;AAAA;EAEI;EACA;EACA;EACA;EFuBR;EACA;EACA,eAHwB;;AEhBxB;EACI;EACA;;AAEA;EACI;;AAIR;EACI;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;;AFgDZ;EE5CY;EACA,kBCbQ;;ADiBR;EACI,OCxGJ;;AD4GJ;EACI;;AAOA;EACI,OC7GE;;AHsIlB;EEhBgB;;AAOA;EACI,OC3IJ;;ADkJhB;EACI;EACA;;AAEA;EAEI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EAEI;;AAEA;EACI,OArMK;;AAyMb;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;AAGA;EACI;;AAMJ;EACI;EACA;EACA;EACA;EACA,OC/NJ;;ADmOJ;EACI;;AAEA;EACI;;AAMJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAKA;EACI;EACA;;AAKZ;EACI;EACA;EACA,OA7SS;EA8ST,WA9SS;;AAiTb;EACI;;AAGJ;EACI;EACA;EACA;EACA,aAxTe;;AA0Tf;EACI,OA3TW;EA4TX,QA5TW;EA6TX,WA7TW;EA8TX,YA9TW;;AAiUf;EACI;EACA;EACA;EACA,OChTO;EDiTP,aCvOE;;AD2OF;EACI,OCzSJ;;AD+SZ;EACI,aCnPU;;ADqPV;EACI;EACA;EACA;EACA;EACA;EACA,OClUI;;ADqUR;EACI;EACA;;AAEA;EACI;;AAIR;EAEI;EACA;;AAEA;EACI;;AAIA;EACI;;AAUA;EACI;;AAIA;EACI;;AAYR;EACI;;AAMhB;EACI;;AAGJ;EAEI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAIA;EACI;;AAMhB;EACI;;AAEA;EACI;;AAEA;EACI;;AAIR;EACI;;AAEA;EACI;EACA;;;AAMhB;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,kBC5WoB;ED6WpB;;AAEA;EACI,MCtcQ;;ADycZ;EAEI;;AAEA;EACI,MCtcU;;;AD2ctB;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAOZ;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI,aC1cM;ED2cN,OClhBI;EDmhBJ;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA,kBAvjBoB;EAwjBpB;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,YACI;EAEJ,YC3doB;;AD6dpB;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EA/BJ;IAgCQ;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OCllBQ;EDmlBR;;AAEA;EACI;EACA;;AAIA;EACI,OClkBmB;;ADwkBvB;EACI,OCplBU;;;AD+lBlB;AAAA;AAAA;EACI;;AAGJ;AAAA;AAAA;EACI;;;AAQJ;AAAA;AAAA;EAEI;;;AAMR;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;;;AAOJ;EAEI;;;AAQJ;AAAA;AAAA;EAEI;;AAGJ;AAAA;EACI;;AAMJ;AAAA;EACI,oBCnlBY;;;AD4lBhB;AAAA;AAAA;AAAA;AAAA;EAEI;;AAGJ;AAAA;AAAA;EACI,mBClmBY;;ADqmBhB;AAAA;AAAA;EACI;;;AAWJ;AAAA;AAAA;EAEI;;AAGJ;AAAA;EACI;;AAGJ;AAAA;EACI;;;AAeJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEI;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACI;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACI;;;AAYJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEI;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;EACI;;AAMJ;AAAA;AAAA;AAAA;AAAA;AAAA;EACI,qBC7qBY;;;ADsrBhB;AAAA;AAAA;AAAA;AAAA;EAEI;;AAGJ;AAAA;AAAA;EACI;;AAMJ;AAAA;AAAA;EACI,kBCnsBY;;;AD4sBhB;AAAA;AAAA;AAAA;AAAA;EAEI;;;AASJ;AAAA;AAAA;AAAA;AAAA;EAEI;;;AASJ;AAAA;AAAA;AAAA;AAAA;EAEI;;;AAKZ;EACI;;AAEA;EFrnBA;EACA;EACA;;;AI1OJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;EAII;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;AAAA;EAEI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;;;AAKZ;EACI;EACA;;;AC7DJ;EACI;EACA;EACA;EACA;EAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWA;;AAEA;EACI,aCvBW;EDwBX;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAOA,YACI;EAEJ;EACA;;AAEA;EArBJ;IAsBQ;;;;AAKR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAaR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;AAEA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;;AAMZ;EAKI;;AAJA;EACI;;;AAMR;EACI;EACA,OF7LmB;EE8LnB;EACA;EACA;EACA;;AAEA;EARJ;IASQ;;;;AE9NR;EACI;EACA;EACA;EACA;EACA,kBJ8HkB;;AI5HlB;EACI;;AAGJ;EACI;;;ACfR;EAAgB;EAAyD;EAAgB;EAAkB;;;AAAyC;EAAmB;EAAO;EAAkB;;;AAAM;EAA2B;EAAY;;;AAAW;EAAsD;;;AAAkB;EAA0G;EAAY;EAAyB;EAAsB;;;AAAiB;EAA6E;;;AAAe;EAAwH;;;AAAgB;EAAuI;;;AAAyB;EAAiI;;;AAAwB;EAA2L;;;AAAkB;EAAiM;;;AAAyB;EAAgH;EAAoB;EAAkB;;;AAAU;EAA0B;EAAO;;;AAAM;EAA2B;EAAQ;;;AAAM;EAA6B;EAAS;;;AAAO;EAA8B;EAAS;;;AAAQ;EAAiB;EAAW;EAAoB;;;AAAuB;EAA2C;EAAW;;;AAAqB;EAA4C;EAAY;;;AAAqB;EAA8C;EAAW;;;AAAqB;EAA+C;EAAY;;;AAAqB;EAAuB;EAAgB;;;AAAkB;EAAmC;;;AAAoC;EAA8B;IAAmC;;;AAAiC;EAA8B;EAA6B;EAAS;EAAsB;EAAe;EAAc;EAAY;EAAa;EAAU;;;AAAW;EAAqC;;;AAA0B;EAA8C;EAAwB;EAA4B;EAAc;EAAY;;;AAAW;EAA8B;IAAsB;;EAA6B;IAAqC;;;AAAiC;EAA0C;EAAS;;;AAAU;EAAyE;;;AAA+B;EAAiC;;;AAAmB;EAAuD;;;AAAY;EAA6C;;;AAA+B;EAAkD;;;AAA+B;EAAwD;;;AAAgB;EAAgD;;;AAA0B;EAA+C;;;AAA0B;EAA+C;;;AAAsB;EAAuE;;;AAA2Q;EAAsE;;;AAA+W;EAA8B;IAAuE;;EAA2Q;IAAsE;;;AAAgX;EAA+D;IAAuE;;EAA6P;IAAsE;;;AAAkW;EAAyE;;;AAA+b;EAAqE;;;AAAib;EAA8B;IAAyE;;EAA+b;IAAqE;;;AAAgc;EAA+D;IAAyE;;EAAib;IAAqE;;;AAAkb;EAAsE;;;AAAyP;EAA8B;IAAsE;;;AAA0P;EAA+D;IAAsE;;;AAA4O;EAAsE;;;AAAwX;EAA8E;;;AAA2X;EAAwE;;;AAA4a;EAAiF;;;AAAyd;EAAyG;;;AAA+a;EAA+G;;;AAA+a;EAA6G;;;AAA4Y;EAAmH;;;AAA4Y;EAA0G;;;AAA6C;EAA8B;IAAwE;;EAA4a;IAAiF;;EAAyd;IAAyG;;EAA+a;IAA+G;;EAA+a;IAA6G;;EAA4Y;IAAmH;;;AAA6Y;EAA+D;IAAwE;;EAA8Z;IAAiF;;;AAA0d;EAA2B;IAAG;;EAAuB;IAAG;;;AAAyB;EAAuB;EAAmiZ;EAA4B;EAAe;EAAc;EAAY;EAAqB;EAAgB;;;AAAW;EAA0C;;;AAAW;EAA8B;IAAuB;IAA6B;;;AAAoiZ;EAA+D;IAAuB;;;AAAoiZ;EAAwC;EAAoC;EAAS;;;AAAc;EAAc;IAA2C;IAAsB;IAAmB;IAAuB;IAAW;IAAY;IAAgB;IAAuB;;EAAkB;IAAgD;IAAyB;;EAAmB;IAAuJ;IAAmB;;EAAyB;IAAyE;;EAAa;IAA+B;IAAoC;IAAoS;IAAS;IAAmB;IAAsB;IAAe;IAAa;IAAY;IAAa;IAAkB;IAAQ;IAAM;;EAAW;IAA8D;IAAwB;IAAqB;IAAgB;;EAAgB;IAAsF;;EAAa;IAAqH;;EAAO;IAAwJ;;EAAc;IAA+E;;EAA+B;IAA+E;IAAS;;EAAQ;IAA4E;IAAQ;;EAAM;IAA2E;IAAO;;EAAM;IAA8E;IAAS;;;AAAQ;EAAyC;IAAiD;;;AAAmT;EAA0E;IAAiD;;;AAAqS;EAA0B;EAAsB;;;AAAqB;EAAgC;EAAc;;;AAA0B;EAAyB;;;AAAa;EAAuB;EAAqC;EAAsB;EAAgB;EAAsB;EAAW;EAAe;;;AAAc;EAAkB;EAAa;EAAO;EAAoB;EAAkB;EAAM;;;AAAsB;EAAkG;;;AAAsB;EAA2G;;;AAA8B;EAA8B;;;AAAmB;EAA+B;;;AAA2B;EAAsB;EAA8B;EAAS;EAAQ;;;AAAU;EAAmD;EAAkB;EAAyB;;;AAAgB;EAAwD;EAAsB;EAAyB;EAAiB;;;AAAgB;EAAyD;EAAoB;EAAyB;EAAkB;;;AAAgB;EAAsD;EAAkB;EAAmB;;;AAAsB;EAA2D;EAAsB;EAAmB;EAAiB;;;AAAsB;EAA4D;EAAoB;EAAmB;EAAkB;;;AAAsB;EAAoD;EAAkB;EAAiB;;;AAAwB;EAAqD;EAAkB;EAAuB;;;AAAkB;EAA+B;EAA6B;EAAS;EAAwB;EAAe;EAAkB;EAAQ;;;AAAM;EAAqC;;;AAA+B;EAA0B;EAAgB;EAAkB;EAAoC;EAAkB;EAAoB;;;AAAkB;EAA4D;;;AAAyB;EAA6D;;;AAA0B;EAA+D;;;AAA4B;EAAgE;;;AAA6B;EAAgC;;;AAAa;EAAkC;EAAoB;EAAyB;EAAsB;;;AAAiB;EAAsD;;;AAAa;EAAuD;;;AAAa;EAAmB;EAAO;EAAkB;EAAM;EAAuB;;;AAAsB;EAAmE;EAAyB;EAAkB;EAAY;;;AAAW;EAAqC;EAAyD;EAAW;;;AAAkB;EAAoC;EAAsB;EAAkB;EAAmC;EAAsB;EAAW;EAAY;EAAU;EAAkB;EAAS;;;AAAW;EAA8C;IAAG;IAAU;;EAAmB;IAAI;IAAU;;EAAmB;IAAG;IAAU;;;AAAoB;EAAoC;;;AAAsB;EAA0C;;;AAAa;EAA0C;EAA2B;EAAmB;EAAW;;;AAAU;EAAyH;;;AAAiB;EAAoB;EAAgB;EAA0B;EAAS;EAAO;EAAW;EAAkB;EAAM;;;AAAQ;EAAuC;EAAmB;EAA0B;EAAW;EAAa;EAAgB;EAAQ;EAAuB;EAAgB;EAAU;EAAa;EAAoB;EAAkB;EAA8B;;;AAAc;EAAuD;EAAU;;;AAAwB;EAAkE;;;AAAa;EAAqC;IAAmE;;EAAa;IAAkE;;;AAAe;EAA8B;EAAsB;EAAiB;EAAyB;EAAgB;EAAqB;;;ACUh//D;EACI;EAGA;;;AAIJ;EAEI;;;AAIJ;EACI;EACA;EACA;;;AAIJ;EACI;EACA;EACA;;;AAIJ;EACI;;;AAGJ;EACI;EACA;;;AAIJ;EACI;EACA;EACA;;;AAIJ;AAAA;EAEI,aHhDe;EGkDf;EAEA;;;AAIJ;EAEI;EAEA;;;AC1DA;EAEI;EACA;EAEA;EACA;EACA;EACA;;AAGJ;EAEI;;AAIJ;EACI;;AAEA;EAEI;;AAKR;EACI;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAIJ;AAAA;EAEI;;AAIJ;EACI;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA,OP5CI;EO6CJ;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA,kBJvGiB;;AI4GzB;EACI;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA,OP5FI;;AO+FR;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OJnIiB;EIoIjB,aPhCM;;AOoCN;EACI;;AAMZ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAMJ;EACI;EACA;EACA;;;ACvJR;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;ACpDJ;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;;;AClBJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;;ACOR;EACI;EACA;EACA;EACA;EACA,kBXRa;EWSb;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA,aX4Dc;EW3Dd;EACA;EAEA;EAEA;;AAEA;EAzBJ;IA0BQ;;;AAIJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAMJ;EACI;EACA;EACA;EACA;EACA;EACA;EAGA;;AAGA;EACI;;AAIJ;EACI;EACA;EACA;;AAIJ;EACI;;AAKR;EACI;EACA;EACA;EACA;EACA;EACA;EACA,kBXrGS;EWsGT;EAEA;EACA;;AAIA;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;;AAMZ;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAKR;EACI;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACI;EACA,OAhLe;EAiLf;EACA;;AAEA;EACI;;AAKR;EACI;EACA;EACA;EACA;EACA,OAjMa;EAkMb;EACA;EACA;;AAIJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIJ;EAEI;EACA;EACA;;AAKJ;EACI;EACA;EAEA;EACA;EACA;EACA;EACA;EA0CA;EACA;;AAxCA;EACI;EACA;EACA;;AAIJ;EACI;EACA;EACA;;AAKJ;EACI;EACA;EACA;;AAIJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAWR;EAGI;;AAGA;EACI;;AAIJ;EACI;EACA;;AAGJ;EACI;;AAIA;EACI,YACI;EAjShB;EACA;;AAuSA;EACI;EACA;;AAIJ;EACI;EACA;EACA;EACA,OA5TY;EA6TZ;EACA;EACA;EACA;;AAMJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA,OAhWY;EAiWZ;;AAMJ;EACI;EACA;;AAIA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAGA;EACI;EACA;EACA;EACA;;AAGA;EACI;;AAGJ;EApYR;EACA,gBAoY0C;EAnY1C;;AA0YQ;EA5YR;EACA,gBA4Y0C;EA3Y1C;EAIA;EACA;;AAyYY;EACI;;AAOR;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAKZ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA,OArbY;EAsbZ;EACA;EACA;;AAGJ;EACI;EACA,OA7bY;EA8bZ;;AAMJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EAEA;;AAOJ;EACI;EACA;EACA;;AAGJ;EAEI;EACA;EACA;EACA,OAleY;;;ACUZ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;EACA;;AAOA;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAIA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAMZ;EACI;EACA;EACA;;;AAKJ;EAEI;;AAGJ;EACI;;AAEA;EAEI;;AAGJ;EAEI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;AAAA;EAEI;;AAGJ;EACI;;AAGJ;EACI;;;AAIR;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA,OZ1HQ;EY2HR;EACA;EACA;EACA;;AAIA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA,OZ5II;;AY+IR;EACI,OT7KiB;ES8KjB,aZ1EM;;AY8EN;EACI;;AAKZ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;EACI;;;AAGJ;EACI;EAGA;;;AAIJ;EAEI;;;AAIJ;EACI;EACA;EACA;;;AAGJ;AACA;EACI;;;AAGJ;EACI;EACA;;;AAGJ;AACA;AAAA;EAEI,aT3Oe;ES6Of;EACA,OZpNoB;EYqNpB;;;AAIJ;EAEI;EAEA","file":"main.css"}
@@ -45,6 +45,13 @@
45
45
  pointer-events: none;
46
46
  }
47
47
 
48
+ // Cap tooltip images near the popover width so a square image fits and portraits shrink.
49
+ .maplibregl-popup-content img {
50
+ display: block;
51
+ max-width: 100%;
52
+ max-height: 300px;
53
+ }
54
+
48
55
  // Partially overwrite MapLibre blocker CSS
49
56
  .maplibregl-scroll-zoom-blocker,
50
57
  .maplibregl-touch-pan-blocker {
@@ -15,17 +15,20 @@
15
15
  var(--gd-palette-complementary-6-from-theme, kit-variables.$gd-color-dark)
16
16
  )
17
17
  );
18
- background-color: var(
18
+
19
+ --gd-viz-tooltip-bg: var(
19
20
  --gd-chart-tooltip-backgroundColor,
20
21
  var(
21
22
  --gd-chart-tooltipBackgroundColor,
22
23
  var(
23
24
  --gd-palette-complementary-0-from-theme,
24
- color.adjust(kit-variables.$default-gd-color-white, $alpha: -0.05)
25
+ #{color.adjust(kit-variables.$default-gd-color-white, $alpha: -0.05)}
25
26
  )
26
27
  )
27
28
  );
28
29
 
30
+ background-color: var(--gd-viz-tooltip-bg);
31
+
29
32
  .tt-name {
30
33
  font-family: variables.$font-stack-roman;
31
34
  font-size: 12px;
@@ -54,7 +57,10 @@
54
57
  }
55
58
 
56
59
  .gd-viz-tooltip-content {
60
+ position: relative;
57
61
  display: block;
62
+ max-height: var(--gd-viz-tooltip-max-height, none);
63
+ overflow-y: hidden;
58
64
  padding: 10px 9px 9px;
59
65
  border-radius: 3px;
60
66
  border: 1px solid;
@@ -76,6 +82,18 @@
76
82
  }
77
83
  }
78
84
 
85
+ // Fades clipped content into the card background instead of showing a (non-scrollable) scrollbar.
86
+ .gd-viz-tooltip-content--clipped::after {
87
+ content: "";
88
+ position: absolute;
89
+ right: 0;
90
+ bottom: 0;
91
+ left: 0;
92
+ height: 28px;
93
+ background: linear-gradient(to bottom, transparent, var(--gd-viz-tooltip-bg));
94
+ pointer-events: none;
95
+ }
96
+
79
97
  .gd-viz-tooltip-item {
80
98
  display: block;
81
99
  margin-bottom: 10px;