@gooddata/sdk-ui-ext 11.28.0-alpha.0 → 11.28.0-alpha.2

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 (84) hide show
  1. package/NOTICE +16 -3
  2. package/esm/internal/components/configurationControls/DropdownControl.d.ts +2 -0
  3. package/esm/internal/components/configurationControls/DropdownControl.d.ts.map +1 -1
  4. package/esm/internal/components/configurationControls/DropdownControl.js +16 -5
  5. package/esm/internal/components/configurationControls/DropdownControl.js.map +1 -1
  6. package/esm/internal/components/configurationControls/GeoViewportControl.d.ts +2 -1
  7. package/esm/internal/components/configurationControls/GeoViewportControl.d.ts.map +1 -1
  8. package/esm/internal/components/configurationControls/GeoViewportControl.js +42 -0
  9. package/esm/internal/components/configurationControls/GeoViewportControl.js.map +1 -1
  10. package/esm/internal/components/configurationControls/PushpinShapeControl.d.ts +13 -0
  11. package/esm/internal/components/configurationControls/PushpinShapeControl.d.ts.map +1 -0
  12. package/esm/internal/components/configurationControls/PushpinShapeControl.js +70 -0
  13. package/esm/internal/components/configurationControls/PushpinShapeControl.js.map +1 -0
  14. package/esm/internal/components/configurationPanels/GeoPushpinConfigurationPanel.d.ts +3 -0
  15. package/esm/internal/components/configurationPanels/GeoPushpinConfigurationPanel.d.ts.map +1 -1
  16. package/esm/internal/components/configurationPanels/GeoPushpinConfigurationPanel.js +12 -14
  17. package/esm/internal/components/configurationPanels/GeoPushpinConfigurationPanel.js.map +1 -1
  18. package/esm/internal/components/configurationPanels/geoInsightBucketUtils.d.ts +13 -0
  19. package/esm/internal/components/configurationPanels/geoInsightBucketUtils.d.ts.map +1 -1
  20. package/esm/internal/components/configurationPanels/geoInsightBucketUtils.js +19 -12
  21. package/esm/internal/components/configurationPanels/geoInsightBucketUtils.js.map +1 -1
  22. package/esm/internal/components/pluggableVisualizations/geoAreaChart/PluggableGeoAreaChart.d.ts +2 -0
  23. package/esm/internal/components/pluggableVisualizations/geoAreaChart/PluggableGeoAreaChart.d.ts.map +1 -1
  24. package/esm/internal/components/pluggableVisualizations/geoAreaChart/PluggableGeoAreaChart.js +6 -0
  25. package/esm/internal/components/pluggableVisualizations/geoAreaChart/PluggableGeoAreaChart.js.map +1 -1
  26. package/esm/internal/components/pluggableVisualizations/geoAreaChart/geoAreaConfigBuilder.d.ts.map +1 -1
  27. package/esm/internal/components/pluggableVisualizations/geoAreaChart/geoAreaConfigBuilder.js +2 -1
  28. package/esm/internal/components/pluggableVisualizations/geoAreaChart/geoAreaConfigBuilder.js.map +1 -1
  29. package/esm/internal/components/pluggableVisualizations/geoChartNext/PluggableGeoPushpinChartNext.d.ts +12 -0
  30. package/esm/internal/components/pluggableVisualizations/geoChartNext/PluggableGeoPushpinChartNext.d.ts.map +1 -1
  31. package/esm/internal/components/pluggableVisualizations/geoChartNext/PluggableGeoPushpinChartNext.js +125 -14
  32. package/esm/internal/components/pluggableVisualizations/geoChartNext/PluggableGeoPushpinChartNext.js.map +1 -1
  33. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoAttributeHelper.d.ts +9 -0
  34. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoAttributeHelper.d.ts.map +1 -1
  35. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoAttributeHelper.js +13 -0
  36. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoAttributeHelper.js.map +1 -1
  37. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoConfigBuilder.d.ts.map +1 -1
  38. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoConfigBuilder.js +3 -1
  39. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoConfigBuilder.js.map +1 -1
  40. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoConfigBuilder.test.js +39 -0
  41. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoConfigBuilder.test.js.map +1 -1
  42. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoEmbeddingLayers.js +2 -0
  43. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoEmbeddingLayers.js.map +1 -1
  44. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoPushpinBucketHelper.d.ts +8 -15
  45. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoPushpinBucketHelper.d.ts.map +1 -1
  46. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoPushpinBucketHelper.js +35 -28
  47. package/esm/internal/components/pluggableVisualizations/geoChartNext/geoPushpinBucketHelper.js.map +1 -1
  48. package/esm/internal/components/pluggableVisualizations/geoCommon/liveMapViewTracking.d.ts +14 -6
  49. package/esm/internal/components/pluggableVisualizations/geoCommon/liveMapViewTracking.d.ts.map +1 -1
  50. package/esm/internal/components/pluggableVisualizations/geoCommon/liveMapViewTracking.js +43 -19
  51. package/esm/internal/components/pluggableVisualizations/geoCommon/liveMapViewTracking.js.map +1 -1
  52. package/esm/internal/constants/dropdowns.d.ts +1 -0
  53. package/esm/internal/constants/dropdowns.d.ts.map +1 -1
  54. package/esm/internal/constants/dropdowns.js +13 -0
  55. package/esm/internal/constants/dropdowns.js.map +1 -1
  56. package/esm/internal/constants/featureFlags.d.ts +2 -0
  57. package/esm/internal/constants/featureFlags.d.ts.map +1 -1
  58. package/esm/internal/constants/featureFlags.js +5 -0
  59. package/esm/internal/constants/featureFlags.js.map +1 -1
  60. package/esm/internal/constants/supportedProperties.d.ts.map +1 -1
  61. package/esm/internal/constants/supportedProperties.js +4 -0
  62. package/esm/internal/constants/supportedProperties.js.map +1 -1
  63. package/esm/internal/constants/uiConfig.d.ts.map +1 -1
  64. package/esm/internal/constants/uiConfig.js +6 -0
  65. package/esm/internal/constants/uiConfig.js.map +1 -1
  66. package/esm/internal/translations/en-US.localization-bundle.d.ts +40 -0
  67. package/esm/internal/translations/en-US.localization-bundle.d.ts.map +1 -1
  68. package/esm/internal/translations/en-US.localization-bundle.js +40 -0
  69. package/esm/internal/translations/en-US.localization-bundle.js.map +1 -1
  70. package/esm/internal/utils/bucketHelper.d.ts.map +1 -1
  71. package/esm/internal/utils/bucketHelper.js +10 -3
  72. package/esm/internal/utils/bucketHelper.js.map +1 -1
  73. package/esm/internal/utils/geoPushpinCompatibility.d.ts +11 -0
  74. package/esm/internal/utils/geoPushpinCompatibility.d.ts.map +1 -0
  75. package/esm/internal/utils/geoPushpinCompatibility.js +47 -0
  76. package/esm/internal/utils/geoPushpinCompatibility.js.map +1 -0
  77. package/esm/internal/utils/uiConfigHelpers/geoPushpinChartUiConfigHelper.d.ts +1 -1
  78. package/esm/internal/utils/uiConfigHelpers/geoPushpinChartUiConfigHelper.d.ts.map +1 -1
  79. package/esm/internal/utils/uiConfigHelpers/geoPushpinChartUiConfigHelper.js +31 -5
  80. package/esm/internal/utils/uiConfigHelpers/geoPushpinChartUiConfigHelper.js.map +1 -1
  81. package/esm/locales.d.ts.map +1 -1
  82. package/esm/locales.js +10 -0
  83. package/esm/locales.js.map +1 -1
  84. package/package.json +20 -20
package/NOTICE CHANGED
@@ -7,9 +7,9 @@
7
7
 
8
8
  The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
9
9
 
10
- Date generated: 2026-3-25
10
+ Date generated: 2026-3-27
11
11
 
12
- Revision ID: 6d7baf09fe804f35c8c785314dbb79a6a131be26
12
+ Revision ID: 59ce5c4a71dedf1e73c63133f5e598b36219c7c6
13
13
 
14
14
  ================================================================================
15
15
  ================================================================================
@@ -1105,6 +1105,7 @@ Revision ID: 6d7baf09fe804f35c8c785314dbb79a6a131be26
1105
1105
  - wsl-utils (0.1.0) [MIT]
1106
1106
  - yallist (3.1.1) [ISC]
1107
1107
  - yallist (4.0.0) [ISC]
1108
+ - yaml (2.8.3) [ISC]
1108
1109
  - yaml (1.10.2) [ISC]
1109
1110
  - zwitch (2.0.4) [MIT]
1110
1111
 
@@ -14211,6 +14212,18 @@ Package Depth: Transitive
14211
14212
  ISC
14212
14213
 
14213
14214
 
14215
+ --------------------------------------------------------------------------------
14216
+ Package Title: yaml (2.8.3)
14217
+
14218
+ Package Locator: npm+yaml$2.8.3
14219
+
14220
+ Package Depth: Direct
14221
+ --------------------------------------------------------------------------------
14222
+
14223
+ * Declared Licenses *
14224
+ ISC
14225
+
14226
+
14214
14227
  --------------------------------------------------------------------------------
14215
14228
  Package Title: yaml (1.10.2)
14216
14229
 
@@ -38160,4 +38173,4 @@ POSSIBILITY OF SUCH DAMAGE.
38160
38173
  --------------------------------------------------------------------------------
38161
38174
  --------------------------------------------------------------------------------
38162
38175
 
38163
- Report Generated by FOSSA on 2026-3-25
38176
+ Report Generated by FOSSA on 2026-3-27
@@ -14,6 +14,8 @@ export interface IDropdownControlProps {
14
14
  showDisabledMessage?: boolean;
15
15
  disabledMessageAlignPoints?: IAlignPoint[];
16
16
  customListItem?: ComponentType<ISingleSelectListItemProps>;
17
+ showSearch?: boolean;
18
+ searchPlaceholder?: string;
17
19
  pushData?(data: any): void;
18
20
  }
19
21
  export declare const DropdownControl: import("react").FC<import("react-intl").WithIntlProps<IDropdownControlProps & WrappedComponentProps>> & {
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/DropdownControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,KAAK,qBAAqB,EAAc,MAAM,YAAY,CAAC;AAEpE,OAAO,EAIH,KAAK,WAAW,EAChB,KAAK,0BAA0B,EAElC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAIlF,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0BAA0B,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3C,cAAc,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;IAE3D,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CAC9B;AAMD,eAAO,MAAM,eAAe;;CAiG3B,CAAC"}
1
+ {"version":3,"file":"DropdownControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/DropdownControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAA+B,MAAM,OAAO,CAAC;AAGxE,OAAO,EAAE,KAAK,qBAAqB,EAAc,MAAM,YAAY,CAAC;AAEpE,OAAO,EAIH,KAAK,WAAW,EAChB,KAAK,0BAA0B,EAElC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAIlF,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0BAA0B,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3C,cAAc,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CAC9B;AAMD,eAAO,MAAM,eAAe;;CAyH3B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // (C) 2019-2025 GoodData Corporation
3
- import { memo } from "react";
2
+ // (C) 2019-2026 GoodData Corporation
3
+ import { memo, useCallback, useState } from "react";
4
4
  import { cloneDeep, set } from "lodash-es";
5
5
  import { injectIntl } from "react-intl";
6
6
  import { Dropdown, DropdownButton, DropdownList, SingleSelectListItem, } from "@gooddata/sdk-ui-kit";
@@ -8,7 +8,14 @@ import { getTranslation } from "../../utils/translations.js";
8
8
  import { DisabledBubbleMessage } from "../DisabledBubbleMessage.js";
9
9
  const alignPoints = ["bl tl", "tl bl", "br tr", "tr br"];
10
10
  const DROPDOWN_ALIGNMENTS = alignPoints.map((align) => ({ align, offset: { x: 1, y: 0 } }));
11
- export const DropdownControl = injectIntl(memo(function DropdownControl({ valuePath, properties, labelText, value = "", items = [], disabled = false, width = 117, showDisabledMessage = false, disabledMessageAlignPoints, customListItem: ListItem = SingleSelectListItem, pushData, intl, }) {
11
+ export const DropdownControl = injectIntl(memo(function DropdownControl({ valuePath, properties, labelText, value = "", items = [], disabled = false, width = 117, showDisabledMessage = false, disabledMessageAlignPoints, customListItem: ListItem = SingleSelectListItem, showSearch = false, searchPlaceholder, pushData, intl, }) {
12
+ const [searchString, setSearchString] = useState("");
13
+ const onSearch = useCallback((value) => setSearchString(value), []);
14
+ const filteredItems = showSearch && searchString
15
+ ? items.filter((item) => item.type === "header" ||
16
+ item.type === "separator" ||
17
+ (item.title ?? "").toLowerCase().includes(searchString.toLowerCase()))
18
+ : items;
12
19
  const getSelectedItem = (value) => {
13
20
  if (items) {
14
21
  return items.find((item) => item.value === value);
@@ -30,8 +37,12 @@ export const DropdownControl = injectIntl(memo(function DropdownControl({ valueP
30
37
  return (_jsx(DisabledBubbleMessage, { showDisabledMessage: showDisabledMessage, alignPoints: disabledMessageAlignPoints, children: _jsxs("div", { className: "adi-properties-dropdown-container", children: [
31
38
  _jsx("span", { className: "input-label-text", children: getTranslation(labelText, intl) }), _jsx("label", { className: "adi-bucket-inputfield gd-input gd-input-small", children: _jsx(Dropdown, { renderButton: ({ isOpen, toggleDropdown }) => {
32
39
  return getDropdownButton(selectedItem, disabled, isOpen, toggleDropdown);
33
- }, closeOnParentScroll: true, closeOnMouseDrag: true, alignPoints: DROPDOWN_ALIGNMENTS, renderBody: ({ closeDropdown, isMobile }) => {
34
- return (_jsx(DropdownList, { width: width, isMobile: isMobile, items: items, renderItem: ({ item }) => (_jsx(ListItem, { title: item.title, isSelected: item.value === selectedItem.value, onClick: () => {
40
+ }, closeOnParentScroll: true, closeOnMouseDrag: true, alignPoints: DROPDOWN_ALIGNMENTS, onOpenStateChanged: (isOpen) => {
41
+ if (!isOpen) {
42
+ setSearchString("");
43
+ }
44
+ }, renderBody: ({ closeDropdown, isMobile }) => {
45
+ return (_jsx(DropdownList, { width: width, isMobile: isMobile, items: filteredItems, showSearch: showSearch, searchString: searchString, onSearch: onSearch, searchPlaceholder: searchPlaceholder, renderItem: ({ item }) => (_jsx(ListItem, { title: item.title, isSelected: item.value === selectedItem.value, onClick: () => {
35
46
  onSelect(item);
36
47
  closeDropdown();
37
48
  }, type: item.type, icon: item.icon, info: item.info })) }));
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownControl.js","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/DropdownControl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownControl.js","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/DropdownControl.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { type ReactElement, type ReactNode } from "react";
2
2
  import { type IPushData } from "@gooddata/sdk-ui";
3
- import { type IGeoLngLat } from "@gooddata/sdk-ui-geo";
3
+ import { type IGeoLngLat, type IGeoLngLatBounds } from "@gooddata/sdk-ui-geo";
4
4
  import { type IVisualizationProperties } from "../../interfaces/Visualization.js";
5
5
  export interface ICurrentMapView {
6
6
  center?: IGeoLngLat;
7
7
  zoom?: number;
8
+ bounds?: IGeoLngLatBounds;
8
9
  }
9
10
  export interface IGeoViewportControl {
10
11
  disabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"GeoViewportControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/GeoViewportControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AAKhF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAO/E,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAGlF,MAAM,WAAW,eAAe;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,eAAe,CAAC;IAC1C,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAYD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAiH3E"}
1
+ {"version":3,"file":"GeoViewportControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/GeoViewportControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AAKhF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAGH,KAAK,UAAU,EACf,KAAK,gBAAgB,EACxB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAGlF,MAAM,WAAW,eAAe;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,eAAe,CAAC;IAC1C,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAmCD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA6I3E"}
@@ -3,6 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useCallback, useMemo } from "react";
4
4
  import { cloneDeep, set } from "lodash-es";
5
5
  import { useIntl } from "react-intl";
6
+ import { PRESET_VIEWPORT_BOUNDS, isConcreteViewportPreset } from "@gooddata/sdk-ui-geo/internal";
6
7
  import { Bubble, BubbleHoverTrigger } from "@gooddata/sdk-ui-kit";
7
8
  import { CheckboxControl } from "./CheckboxControl.js";
8
9
  import { DropdownControl } from "./DropdownControl.js";
@@ -17,6 +18,23 @@ function getViewportProperty(props) {
17
18
  };
18
19
  }
19
20
  const TOOLTIP_ALIGN_POINTS = [{ align: "cr cl", offset: { x: 5, y: 0 } }];
21
+ const GEO_COORD_EPSILON = 1e-6;
22
+ function getPresetViewportBounds(area) {
23
+ if (!isConcreteViewportPreset(area)) {
24
+ return undefined;
25
+ }
26
+ const [southWest, northEast] = PRESET_VIEWPORT_BOUNDS[area];
27
+ return { southWest, northEast };
28
+ }
29
+ function areBoundsEqual(left, right) {
30
+ if (!left || !right) {
31
+ return false;
32
+ }
33
+ return (Math.abs(left.southWest.lat - right.southWest.lat) < GEO_COORD_EPSILON &&
34
+ Math.abs(left.southWest.lng - right.southWest.lng) < GEO_COORD_EPSILON &&
35
+ Math.abs(left.northEast.lat - right.northEast.lat) < GEO_COORD_EPSILON &&
36
+ Math.abs(left.northEast.lng - right.northEast.lng) < GEO_COORD_EPSILON);
37
+ }
20
38
  /**
21
39
  * Generic viewport control for geo charts (pushpin and area).
22
40
  * Allows users to select a default viewport and configure navigation interactions.
@@ -40,16 +58,40 @@ export function GeoViewportControl(props) {
40
58
  }
41
59
  const selectedArea = nextProperties?.controls?.["viewport"]?.area;
42
60
  if (selectedArea === "custom") {
61
+ const previousArea = properties?.controls?.["viewport"]?.area;
43
62
  const currentMapView = getCurrentMapView?.();
44
63
  const hasValidSnapshot = Boolean(currentMapView?.center) && typeof currentMapView?.zoom === "number";
64
+ const presetBounds = isConcreteViewportPreset(previousArea)
65
+ ? getPresetViewportBounds(previousArea)
66
+ : undefined;
67
+ if (presetBounds) {
68
+ set(nextProperties, "controls.bounds", presetBounds);
69
+ if (hasValidSnapshot &&
70
+ currentMapView?.center &&
71
+ areBoundsEqual(currentMapView.bounds, presetBounds)) {
72
+ set(nextProperties, "controls.center", currentMapView.center);
73
+ set(nextProperties, "controls.zoom", currentMapView.zoom);
74
+ }
75
+ else {
76
+ set(nextProperties, "controls.center", undefined);
77
+ set(nextProperties, "controls.zoom", undefined);
78
+ }
79
+ pushData?.({
80
+ ...data,
81
+ properties: nextProperties,
82
+ });
83
+ return;
84
+ }
45
85
  if (hasValidSnapshot && currentMapView?.center) {
46
86
  set(nextProperties, "controls.center", currentMapView.center);
47
87
  set(nextProperties, "controls.zoom", currentMapView.zoom);
88
+ set(nextProperties, "controls.bounds", currentMapView.bounds);
48
89
  }
49
90
  }
50
91
  else {
51
92
  set(nextProperties, "controls.center", undefined);
52
93
  set(nextProperties, "controls.zoom", undefined);
94
+ set(nextProperties, "controls.bounds", undefined);
53
95
  }
54
96
  pushData?.({
55
97
  ...data,
@@ -1 +1 @@
1
- {"version":3,"file":"GeoViewportControl.js","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/GeoViewportControl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeoViewportControl.js","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/GeoViewportControl.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type ReactElement } from "react";
2
+ import { type IDropdownItem } from "../../interfaces/Dropdown.js";
3
+ import { type IVisualizationProperties } from "../../interfaces/Visualization.js";
4
+ export interface IPushpinShapeControlProps {
5
+ disabled: boolean;
6
+ properties: IVisualizationProperties;
7
+ pushData: (data: unknown) => void;
8
+ spriteIcons?: IDropdownItem[];
9
+ hasGeoIconLabel?: boolean;
10
+ hasSizeOrColorMeasure?: boolean;
11
+ }
12
+ export declare function PushpinShapeControl(props: IPushpinShapeControlProps): ReactElement | null;
13
+ //# sourceMappingURL=PushpinShapeControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushpinShapeControl.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/PushpinShapeControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,OAAO,CAAC;AAS7D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAGlF,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,wBAAwB,CAAC;IACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAkGzF"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2026 GoodData Corporation
3
+ import { useEffect, useRef } from "react";
4
+ import { cloneDeep, set } from "lodash-es";
5
+ import { useIntl } from "react-intl";
6
+ import { ConfigSubsection } from "./ConfigSubsection.js";
7
+ import { DropdownControl } from "./DropdownControl.js";
8
+ import { messages } from "../../../locales.js";
9
+ import { pushpinShapeTypeDropdownItems } from "../../constants/dropdowns.js";
10
+ import { getTranslatedDropdownItems } from "../../utils/translations.js";
11
+ export function PushpinShapeControl(props) {
12
+ const intl = useIntl();
13
+ const { disabled, properties, pushData, spriteIcons = [], hasGeoIconLabel = false, hasSizeOrColorMeasure = false, } = props;
14
+ const shapeType = properties?.controls?.["points"]?.shapeType ?? "circle";
15
+ const icon = properties?.controls?.["points"]?.icon ?? "";
16
+ const hasSpriteIcons = spriteIcons.length > 0;
17
+ const disabledIconTooltip = intl.formatMessage({ id: messages["shapeTypeIconDisabled"].id });
18
+ const allItems = getTranslatedDropdownItems(pushpinShapeTypeDropdownItems, intl);
19
+ const isCurrentShapeType = (value) => value === shapeType;
20
+ const isIconShapeType = (value) => value === "oneIcon" || value === "iconByValue";
21
+ const isShapeTypeSelectionDisabled = disabled || (hasSizeOrColorMeasure && !isIconShapeType(shapeType));
22
+ const lastAutoSelectedIcon = useRef(undefined);
23
+ const shapeTypeItems = allItems
24
+ .filter((item) => {
25
+ if (item.value === "oneIcon" && !hasSpriteIcons && !isCurrentShapeType(item.value)) {
26
+ return false;
27
+ }
28
+ if (item.value === "iconByValue" && !hasGeoIconLabel && !isCurrentShapeType(item.value)) {
29
+ return false;
30
+ }
31
+ if (hasSizeOrColorMeasure && isIconShapeType(item.value) && !isCurrentShapeType(item.value)) {
32
+ return false;
33
+ }
34
+ return true;
35
+ })
36
+ .map((item) => {
37
+ // Keep the current invalid icon shape visible so the user can switch back to circle.
38
+ if (hasSizeOrColorMeasure && isIconShapeType(item.value)) {
39
+ return { ...item, info: disabledIconTooltip };
40
+ }
41
+ return item;
42
+ });
43
+ // Auto-select first sprite icon when switching to "oneIcon" with no icon set
44
+ useEffect(() => {
45
+ if (shapeType !== "oneIcon" || icon || spriteIcons.length === 0) {
46
+ lastAutoSelectedIcon.current = undefined;
47
+ return;
48
+ }
49
+ const firstSpriteIcon = spriteIcons[0]?.value;
50
+ if (typeof firstSpriteIcon !== "string" || !firstSpriteIcon) {
51
+ return;
52
+ }
53
+ if (lastAutoSelectedIcon.current === firstSpriteIcon) {
54
+ return;
55
+ }
56
+ lastAutoSelectedIcon.current = firstSpriteIcon;
57
+ const clonedProperties = cloneDeep(properties);
58
+ set(clonedProperties, "controls.points.icon", firstSpriteIcon);
59
+ pushData({ properties: clonedProperties });
60
+ }, [shapeType, icon, spriteIcons, properties, pushData]);
61
+ // Keep the shape section visible when metrics lock the current valid mode to circle.
62
+ // This mirrors other disabled controls and makes the restriction explicit.
63
+ const selectableItems = shapeTypeItems.filter((item) => item.value !== undefined);
64
+ if (selectableItems.length <= 1 && !isShapeTypeSelectionDisabled) {
65
+ return null;
66
+ }
67
+ return (_jsxs(ConfigSubsection, { title: messages["pointsShapeTitle"].id, children: [
68
+ _jsx(DropdownControl, { value: shapeType, valuePath: "points.shapeType", labelText: messages["pointsShapeTypeTitle"].id, disabled: isShapeTypeSelectionDisabled, showDisabledMessage: isShapeTypeSelectionDisabled, properties: properties, pushData: pushData, items: shapeTypeItems }), shapeType === "oneIcon" && hasSpriteIcons ? (_jsx(DropdownControl, { value: icon, valuePath: "points.icon", labelText: messages["pointsShapeIconTitle"].id, disabled: disabled, showDisabledMessage: disabled, properties: properties, pushData: pushData, items: spriteIcons, showSearch: true, width: 160 })) : null] }));
69
+ }
70
+ //# sourceMappingURL=PushpinShapeControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushpinShapeControl.js","sourceRoot":"","sources":["../../../../src/internal/components/configurationControls/PushpinShapeControl.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import { type ReactElement, type ReactNode } from "react";
2
2
  import { type GeoBasemap, type GeoColorScheme } from "@gooddata/sdk-ui-geo";
3
3
  import { ConfigurationPanelContent, type IConfigurationPanelContentProps } from "./ConfigurationPanelContent.js";
4
+ import { type IDropdownItem } from "../../interfaces/Dropdown.js";
4
5
  import { type ICurrentMapView } from "../configurationControls/GeoViewportControl.js";
5
6
  interface IGeoPushpinConfigurationPanelProps extends IConfigurationPanelContentProps {
6
7
  getCurrentMapView?: () => ICurrentMapView;
8
+ spriteIcons?: IDropdownItem[];
9
+ hasGeoIconLabel?: boolean;
7
10
  }
8
11
  export declare class GeoPushpinConfigurationPanel extends ConfigurationPanelContent<IGeoPushpinConfigurationPanelProps> {
9
12
  protected getControlProperties(): {
@@ -1 +1 @@
1
- {"version":3,"file":"GeoPushpinConfigurationPanel.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationPanels/GeoPushpinConfigurationPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAY1D,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAoC,MAAM,sBAAsB,CAAC;AAG9G,OAAO,EACH,yBAAyB,EACzB,KAAK,+BAA+B,EACvC,MAAM,gCAAgC,CAAC;AAoBxC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAKtF,UAAU,kCAAmC,SAAQ,+BAA+B;IAChF,iBAAiB,CAAC,EAAE,MAAM,eAAe,CAAC;CAC7C;AAED,qBAAa,4BAA6B,SAAQ,yBAAyB,CAAC,kCAAkC,CAAC;IAC3G,SAAS,CAAC,oBAAoB,IAAI;QAC9B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;QAChC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC;KAC3C,CAYA;IAED,UAAmB,mBAAmB,IAAI,SAAS,CAoBlD;IAED,SAAS,CAAC,qBAAqB,IAAI,YAAY,CAkD9C;IAED,SAAS,CAAC,mBAAmB,IAAI,YAAY,CAgC5C;IAED,UAAmB,iBAAiB,IAAI,OAAO,CAG9C;IAED,SAAS,CAAC,mBAAmB,IAAI,MAAM,CAItC;IAED,SAAS,CAAC,wBAAwB,IAAI,SAAS,CAkB9C;IAED,UAAmB,kBAAkB,IAAI,SAAS,CAkBjD;CACJ"}
1
+ {"version":3,"file":"GeoPushpinConfigurationPanel.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationPanels/GeoPushpinConfigurationPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAO1D,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAoC,MAAM,sBAAsB,CAAC;AAG9G,OAAO,EACH,yBAAyB,EACzB,KAAK,+BAA+B,EACvC,MAAM,gCAAgC,CAAC;AAqBxC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAMlE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAMtF,UAAU,kCAAmC,SAAQ,+BAA+B;IAChF,iBAAiB,CAAC,EAAE,MAAM,eAAe,CAAC;IAC1C,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,4BAA6B,SAAQ,yBAAyB,CAAC,kCAAkC,CAAC;IAC3G,SAAS,CAAC,oBAAoB,IAAI;QAC9B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;QAChC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC;KAC3C,CAYA;IAED,UAAmB,mBAAmB,IAAI,SAAS,CAoBlD;IAED,SAAS,CAAC,qBAAqB,IAAI,YAAY,CAkD9C;IAED,SAAS,CAAC,mBAAmB,IAAI,YAAY,CAiD5C;IAED,UAAmB,iBAAiB,IAAI,OAAO,CAG9C;IAED,SAAS,CAAC,mBAAmB,IAAI,MAAM,CAItC;IAED,SAAS,CAAC,wBAAwB,IAAI,SAAS,CAkB9C;IAED,UAAmB,kBAAkB,IAAI,SAAS,CAkBjD;CACJ"}
@@ -1,15 +1,15 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import cx from "classnames";
3
3
  import { FormattedMessage } from "react-intl";
4
- import { bucketIsEmpty, insightBucket, insightHasMeasures, } from "@gooddata/sdk-model";
4
+ import { bucketIsEmpty, insightBucket } from "@gooddata/sdk-model";
5
5
  import { BucketNames } from "@gooddata/sdk-ui";
6
6
  import { doesGeoBasemapSupportColorScheme } from "@gooddata/sdk-ui-geo";
7
7
  import { Bubble, BubbleHoverTrigger } from "@gooddata/sdk-ui-kit";
8
8
  import { ConfigurationPanelContent, } from "./ConfigurationPanelContent.js";
9
- import { hasColorMeasure, hasSegmentAttribute } from "./geoInsightBucketUtils.js";
9
+ import { hasColorMeasure, hasSegmentAttribute, hasSizeMeasure, isPushpinClusteringEditable, } from "./geoInsightBucketUtils.js";
10
10
  import { messages } from "../../../locales.js";
11
11
  import { BUBBLE_ARROW_OFFSET_X, BUBBLE_ARROW_OFFSET_Y, HIDE_DELAY_DEFAULT, SHOW_DELAY_DEFAULT, } from "../../constants/bubble.js";
12
- import { isGeoBasemapConfigEnabled, isGeoChartsViewportConfigEnabled, isGeoSatelliteBasemapEnabled, } from "../../constants/featureFlags.js";
12
+ import { isGeoBasemapConfigEnabled, isGeoChartsViewportConfigEnabled, isGeoPushpinIconEnabled, isGeoSatelliteBasemapEnabled, } from "../../constants/featureFlags.js";
13
13
  import { sanitizeGeoMapStyleOptions } from "../../constants/geoMapStyle.js";
14
14
  import { BasemapDropdownControl } from "../configurationControls/BasemapDropdownControl.js";
15
15
  import { CheckboxControl } from "../configurationControls/CheckboxControl.js";
@@ -17,6 +17,7 @@ import { ColorsSection } from "../configurationControls/colors/ColorsSection.js"
17
17
  import { ColorSchemeDropdownControl } from "../configurationControls/ColorSchemeDropdownControl.js";
18
18
  import { ConfigSection } from "../configurationControls/ConfigSection.js";
19
19
  import { GeoLegendSection } from "../configurationControls/legend/GeoLegendSection.js";
20
+ import { PushpinShapeControl } from "../configurationControls/PushpinShapeControl.js";
20
21
  import { PushpinSizeControl } from "../configurationControls/PushpinSizeControl.js";
21
22
  import { PushpinViewportControl } from "../configurationControls/PushpinViewportControl.js";
22
23
  export class GeoPushpinConfigurationPanel extends ConfigurationPanelContent {
@@ -65,13 +66,17 @@ export class GeoPushpinConfigurationPanel extends ConfigurationPanelContent {
65
66
  }
66
67
  renderPointsSection() {
67
68
  const { groupNearbyPoints } = this.getControlProperties();
68
- const { properties, propertiesMeta, pushData, insight } = this.props;
69
+ const { properties, propertiesMeta, pushData, insight, featureFlags, spriteIcons, hasGeoIconLabel } = this.props;
69
70
  const isControlDisabled = this.isControlDisabled();
70
- const isClusteringDisabled = isControlDisabled || insightHasMeasures(insight) || hasSegmentAttribute(insight);
71
+ const iconEnabled = isGeoPushpinIconEnabled(featureFlags);
72
+ const shapeType = properties?.controls?.["points"]?.shapeType ?? "circle";
73
+ const isIconShape = shapeType === "iconByValue" || shapeType === "oneIcon";
74
+ const shouldRenderPushpinSizeControl = isIconShape === false;
75
+ const isClusteringDisabled = isControlDisabled || !isPushpinClusteringEditable(insight, shapeType);
71
76
  const isPushpinSizeControlDisabled = isControlDisabled || !hasSizeMeasure(insight);
77
+ const hasSizeOrColorMeasure = hasSizeMeasure(insight) || hasColorMeasure(insight);
72
78
  return (_jsxs(ConfigSection, { id: "points_section", title: messages["pointsTitle"].id, propertiesMeta: propertiesMeta, properties: properties, pushData: pushData, children: [
73
- _jsx(CheckboxControl, { valuePath: "points.groupNearbyPoints", labelText: messages["pointsGroupNearbyPoints"].id, properties: properties, checked: groupNearbyPoints, disabled: isClusteringDisabled, showDisabledMessage: isClusteringDisabled, pushData: pushData }), _jsx(PushpinSizeControl, { properties: properties, disabled: isPushpinSizeControlDisabled, pushData: pushData })
74
- ] }));
79
+ _jsx(CheckboxControl, { valuePath: "points.groupNearbyPoints", labelText: messages["pointsGroupNearbyPoints"].id, properties: properties, checked: groupNearbyPoints, disabled: isClusteringDisabled, showDisabledMessage: isClusteringDisabled, pushData: pushData }), iconEnabled ? (_jsx(PushpinShapeControl, { properties: properties, disabled: isControlDisabled, pushData: pushData, spriteIcons: spriteIcons, hasGeoIconLabel: hasGeoIconLabel, hasSizeOrColorMeasure: hasSizeOrColorMeasure })) : null, shouldRenderPushpinSizeControl ? (_jsx(PushpinSizeControl, { properties: properties, disabled: isPushpinSizeControlDisabled, pushData: pushData })) : null] }));
75
80
  }
76
81
  isControlDisabled() {
77
82
  const { insight, isError, isLoading } = this.props;
@@ -94,13 +99,6 @@ export class GeoPushpinConfigurationPanel extends ConfigurationPanelContent {
94
99
  : true, isLoading: isLoading, supportsChartFill: false }));
95
100
  }
96
101
  }
97
- function hasSizeMeasure(insight) {
98
- if (!insight) {
99
- return false;
100
- }
101
- const bucket = insightBucket(insight, BucketNames.SIZE);
102
- return bucket !== undefined && !bucketIsEmpty(bucket);
103
- }
104
102
  function hasLocationAttribute(insight) {
105
103
  if (!insight) {
106
104
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"GeoPushpinConfigurationPanel.js","sourceRoot":"","sources":["../../../../src/internal/components/configurationPanels/GeoPushpinConfigurationPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeoPushpinConfigurationPanel.js","sourceRoot":"","sources":["../../../../src/internal/components/configurationPanels/GeoPushpinConfigurationPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  import { type IInsightDefinition } from "@gooddata/sdk-model";
2
+ import { isPushpinClusteringEditable as isPushpinClusteringEditableInternal } from "../../utils/geoPushpinCompatibility.js";
3
+ /**
4
+ * Checks whether the insight contains a non-empty size bucket.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare function hasSizeMeasure(insight: IInsightDefinition | undefined): boolean;
2
9
  /**
3
10
  * Checks whether the insight contains a non-empty color bucket.
4
11
  *
@@ -11,4 +18,10 @@ export declare function hasColorMeasure(insight: IInsightDefinition | undefined)
11
18
  * @internal
12
19
  */
13
20
  export declare function hasSegmentAttribute(insight: IInsightDefinition | undefined): boolean;
21
+ /**
22
+ * Checks whether pushpin clustering can be edited for the current insight configuration.
23
+ *
24
+ * @internal
25
+ */
26
+ export declare function isPushpinClusteringEditable(insight: IInsightDefinition | undefined, shapeType?: Parameters<typeof isPushpinClusteringEditableInternal>[1]): boolean;
14
27
  //# sourceMappingURL=geoInsightBucketUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"geoInsightBucketUtils.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationPanels/geoInsightBucketUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,qBAAqB,CAAC;AAG5F;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAMhF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAMpF"}
1
+ {"version":3,"file":"geoInsightBucketUtils.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/configurationPanels/geoInsightBucketUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAIH,2BAA2B,IAAI,mCAAmC,EACrE,MAAM,wCAAwC,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAEpF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACvC,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,mCAAmC,CAAC,CAAC,CAAC,CAAC,GACtE,OAAO,CAET"}
@@ -1,17 +1,20 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
- import { bucketIsEmpty, insightBucket } from "@gooddata/sdk-model";
3
- import { BucketNames } from "@gooddata/sdk-ui";
2
+ import { hasPushpinColorMeasure, hasPushpinSegmentAttribute, hasPushpinSizeMeasure, isPushpinClusteringEditable as isPushpinClusteringEditableInternal, } from "../../utils/geoPushpinCompatibility.js";
3
+ /**
4
+ * Checks whether the insight contains a non-empty size bucket.
5
+ *
6
+ * @internal
7
+ */
8
+ export function hasSizeMeasure(insight) {
9
+ return hasPushpinSizeMeasure(insight);
10
+ }
4
11
  /**
5
12
  * Checks whether the insight contains a non-empty color bucket.
6
13
  *
7
14
  * @internal
8
15
  */
9
16
  export function hasColorMeasure(insight) {
10
- if (!insight) {
11
- return false;
12
- }
13
- const bucket = insightBucket(insight, BucketNames.COLOR);
14
- return bucket !== undefined && !bucketIsEmpty(bucket);
17
+ return hasPushpinColorMeasure(insight);
15
18
  }
16
19
  /**
17
20
  * Checks whether the insight contains a non-empty segment bucket.
@@ -19,10 +22,14 @@ export function hasColorMeasure(insight) {
19
22
  * @internal
20
23
  */
21
24
  export function hasSegmentAttribute(insight) {
22
- if (!insight) {
23
- return false;
24
- }
25
- const bucket = insightBucket(insight, BucketNames.SEGMENT);
26
- return bucket !== undefined && !bucketIsEmpty(bucket);
25
+ return hasPushpinSegmentAttribute(insight);
26
+ }
27
+ /**
28
+ * Checks whether pushpin clustering can be edited for the current insight configuration.
29
+ *
30
+ * @internal
31
+ */
32
+ export function isPushpinClusteringEditable(insight, shapeType) {
33
+ return isPushpinClusteringEditableInternal(insight, shapeType);
27
34
  }
28
35
  //# sourceMappingURL=geoInsightBucketUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geoInsightBucketUtils.js","sourceRoot":"","sources":["../../../../src/internal/components/configurationPanels/geoInsightBucketUtils.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAA2B,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAuC,EAAW;IAC9E,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,MAAM,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAAA,CACzD;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAuC,EAAW;IAClF,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO,MAAM,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAAA,CACzD"}
1
+ {"version":3,"file":"geoInsightBucketUtils.js","sourceRoot":"","sources":["../../../../src/internal/components/configurationPanels/geoInsightBucketUtils.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAIrC,OAAO,EACH,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,IAAI,mCAAmC,GACrE,MAAM,wCAAwC,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAuC,EAAW;IAC7E,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAAA,CACzC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAuC,EAAW;IAC9E,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAAA,CAC1C;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAuC,EAAW;IAClF,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAAA,CAC9C;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACvC,OAAuC,EACvC,SAAqE,EAC9D;IACP,OAAO,mCAAmC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAAA,CAClE"}
@@ -52,6 +52,8 @@ export declare class PluggableGeoAreaChart extends PluggableBaseChart {
52
52
  private syncedHandlers;
53
53
  private handleCenterPositionChanged;
54
54
  private handleZoomChanged;
55
+ private handleBoundsChanged;
56
+ private handleViewportInteractionEnded;
55
57
  private getCurrentMapView;
56
58
  }
57
59
  //# sourceMappingURL=PluggableGeoAreaChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluggableGeoAreaChart.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/pluggableVisualizations/geoAreaChart/PluggableGeoAreaChart.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEH,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEH,KAAK,kBAAkB,EAM1B,MAAM,qBAAqB,CAAC;AAyB7B,OAAO,EAEH,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EAEjB,MAAM,sCAAsC,CAAC;AAQ9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAexE;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,kBAAkB;IACzD,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA4B;IAE/C,YAAY,KAAK,EAAE,aAAa,EAO/B;IAID,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACa,yBAAyB,CACrC,cAAc,EAAE,eAAe,GAChC,OAAO,CAAC,uBAAuB,CAAC,CA0BlC;IAEe,WAAW,IAAI,SAAS,CAEvC;IAED,UAAmB,0BAA0B,IAAI,MAAM,EAAE,CAExD;IAED;;OAEG;IACH,UAAmB,gBAAgB,CAC/B,sBAAsB,EAAE,uBAAuB,GAChD,uBAAuB,CAkBzB;IAED;;OAEG;IACH,UAAmB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAWzE;IAED;;;;;;;OAOG;IACa,YAAY,CACxB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,GACpC,kBAAkB,CAqBpB;IAEe,aAAa,CACzB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,GACpC,kBAAkB,EAAE,CAqBtB;IAED,UAAmB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CA6BjG;IAED;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAevC,UAAmB,mBAAmB,CAClC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,GACpC,IAAI,CAmCN;IAED,OAAO,CAAC,wBAAwB;IAuChC,OAAO,CAAC,8BAA8B;IAItC,OAAO,CAAC,8BAA8B;IAyBtC,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,cAAc,CAOnB;IAEH,OAAO,CAAC,2BAA2B,CAAmD;IACtF,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,iBAAiB,CAA0E;CACtG"}
1
+ {"version":3,"file":"PluggableGeoAreaChart.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/pluggableVisualizations/geoAreaChart/PluggableGeoAreaChart.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEH,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEH,KAAK,kBAAkB,EAM1B,MAAM,qBAAqB,CAAC;AAyB7B,OAAO,EAEH,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EAEjB,MAAM,sCAAsC,CAAC;AAQ9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAexE;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,kBAAkB;IACzD,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA4B;IAE/C,YAAY,KAAK,EAAE,aAAa,EAO/B;IAID,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACa,yBAAyB,CACrC,cAAc,EAAE,eAAe,GAChC,OAAO,CAAC,uBAAuB,CAAC,CA0BlC;IAEe,WAAW,IAAI,SAAS,CAEvC;IAED,UAAmB,0BAA0B,IAAI,MAAM,EAAE,CAExD;IAED;;OAEG;IACH,UAAmB,gBAAgB,CAC/B,sBAAsB,EAAE,uBAAuB,GAChD,uBAAuB,CAkBzB;IAED;;OAEG;IACH,UAAmB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAWzE;IAED;;;;;;;OAOG;IACa,YAAY,CACxB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,GACpC,kBAAkB,CAqBpB;IAEe,aAAa,CACzB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,GACpC,kBAAkB,EAAE,CAqBtB;IAED,UAAmB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CA6BjG;IAED;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAevC,UAAmB,mBAAmB,CAClC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,iBAAiB,GACpC,IAAI,CAuCN;IAED,OAAO,CAAC,wBAAwB;IAuChC,OAAO,CAAC,8BAA8B;IAItC,OAAO,CAAC,8BAA8B;IAyBtC,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,cAAc,CAOnB;IAEH,OAAO,CAAC,2BAA2B,CAAmD;IACtF,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,mBAAmB,CAA2C;IACtE,OAAO,CAAC,8BAA8B,CAAsD;IAC5F,OAAO,CAAC,iBAAiB,CAA0E;CACtG"}
@@ -204,6 +204,10 @@ export class PluggableGeoAreaChart extends PluggableBaseChart {
204
204
  onDrill: this.onDrill,
205
205
  onCenterPositionChanged: isViewportConfigEnabled ? this.handleCenterPositionChanged : undefined,
206
206
  onZoomChanged: isViewportConfigEnabled ? this.handleZoomChanged : undefined,
207
+ onBoundsChanged: isViewportConfigEnabled ? this.handleBoundsChanged : undefined,
208
+ onViewportInteractionEnd: isViewportConfigEnabled
209
+ ? this.handleViewportInteractionEnded
210
+ : undefined,
207
211
  };
208
212
  this.renderFun(_jsx(GeoChartInternal, { ...geoChartProps }), this.getElement());
209
213
  }
@@ -272,6 +276,8 @@ export class PluggableGeoAreaChart extends PluggableBaseChart {
272
276
  });
273
277
  handleCenterPositionChanged = this.syncedHandlers.handleCenterPositionChanged;
274
278
  handleZoomChanged = this.syncedHandlers.handleZoomChanged;
279
+ handleBoundsChanged = this.syncedHandlers.handleBoundsChanged;
280
+ handleViewportInteractionEnded = this.syncedHandlers.handleViewportInteractionEnded;
275
281
  getCurrentMapView = () => this.liveMapView.getCurrentMapView(this.visualizationProperties);
276
282
  }
277
283
  //# sourceMappingURL=PluggableGeoAreaChart.js.map