@gooddata/sdk-ui-geo 11.9.0-alpha.1 → 11.9.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"RenderGeoPushpinChart.d.ts","sourceRoot":"","sources":["../../src/next/RenderGeoPushpinChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA6B,MAAM,OAAO,CAAC;AA+BhE;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,IAAI,YAAY,CA2HpD"}
1
+ {"version":3,"file":"RenderGeoPushpinChart.d.ts","sourceRoot":"","sources":["../../src/next/RenderGeoPushpinChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA6B,MAAM,OAAO,CAAC;AAiChE;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,IAAI,YAAY,CA4HpD"}
@@ -5,6 +5,7 @@ import cx from "classnames";
5
5
  import { defaultImport } from "default-import";
6
6
  import { useIntl } from "react-intl";
7
7
  import ReactMeasure from "react-measure";
8
+ import { v4 } from "uuid";
8
9
  import { convertDrillableItemsToPredicates } from "@gooddata/sdk-ui";
9
10
  import { Legend } from "./components/legends/Legend.js";
10
11
  import { useGeoData } from "./context/GeoDataContext.js";
@@ -26,6 +27,7 @@ import { usePushData } from "./hooks/shared/usePushData.js";
26
27
  // In ESM, default exports of CJS modules are wrapped in default properties instead of being exposed directly.
27
28
  // https://github.com/microsoft/TypeScript/issues/52086#issuecomment-1385978414
28
29
  const Measure = defaultImport(ReactMeasure);
30
+ const containerBaseId = "geo-pushpin-chart-next";
29
31
  /**
30
32
  * Rendering layer - displays the map
31
33
  *
@@ -43,6 +45,7 @@ export function RenderGeoPushpinChart() {
43
45
  const props = useGeoPushpinProps();
44
46
  const { initialDataView } = useInitialExecution();
45
47
  const mapContainerRef = useRef(null);
48
+ const containerId = useMemo(() => `${containerBaseId}-${v4()}`, []);
46
49
  // Track chart container dimensions for legend responsive behavior
47
50
  const [chartContainerRect, setChartContainerRect] = useState(null);
48
51
  // Get all computed data from context (no transformations needed here)
@@ -99,10 +102,10 @@ export function RenderGeoPushpinChart() {
99
102
  const isRow = position === "left" || position === "right";
100
103
  const flexDirection = isRow ? "flex-direction-row" : "flex-direction-column";
101
104
  const isExportMode = props.config?.isExportMode ?? false;
102
- const containerClass = cx("gd-geo-pushpin-next__container", "gd-geo-component", flexDirection, isRow ? "gd-geo-pushpin-next__container--flex-row" : "gd-geo-pushpin-next__container--flex-column", {
105
+ const containerClass = cx("gd-geo-pushpin-next__container", "gd-geo-component", containerBaseId, containerId, flexDirection, isRow ? "gd-geo-pushpin-next__container--flex-row" : "gd-geo-pushpin-next__container--flex-column", {
103
106
  isExportMode,
104
107
  });
105
- const legendComponent = (_jsx(Legend, { colorStrategy: colorStrategy, config: props.config, categoryItems: legendItems, containerId: "geo-pushpin-chart-next", chartContainerRect: chartContainerRect ?? undefined }));
106
- return (_jsx(Measure, { client: true, onResize: setChartContainerRect, children: ({ measureRef }) => (_jsxs("div", { id: "geo-pushpin-chart-next", "data-testid": isExportMode ? "geo-pushpin-chart-next-export-mode" : "geo-pushpin-chart-next", className: containerClass, ref: measureRef, children: [isLegendRenderedFirst ? legendComponent : null, _jsx("div", { ref: mapContainerRef, className: "gd-geo-pushpin-next__map" }), isLegendRenderedFirst ? null : legendComponent] })) }));
108
+ const legendComponent = (_jsx(Legend, { colorStrategy: colorStrategy, config: props.config, categoryItems: legendItems, containerId: containerId, chartContainerRect: chartContainerRect ?? undefined }));
109
+ return (_jsx(Measure, { client: true, onResize: setChartContainerRect, children: ({ measureRef }) => (_jsxs("div", { id: containerId, "data-testid": isExportMode ? "geo-pushpin-chart-next-export-mode" : containerBaseId, className: containerClass, ref: measureRef, children: [isLegendRenderedFirst ? legendComponent : null, _jsx("div", { ref: mapContainerRef, className: "gd-geo-pushpin-next__map" }), isLegendRenderedFirst ? null : legendComponent] })) }));
107
110
  }
108
111
  //# sourceMappingURL=RenderGeoPushpinChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderGeoPushpinChart.js","sourceRoot":"","sources":["../../src/next/RenderGeoPushpinChart.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderGeoPushpinChart.js","sourceRoot":"","sources":["../../src/next/RenderGeoPushpinChart.tsx"],"names":[],"mappings":"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"}
@@ -11,13 +11,17 @@ import { PositionType } from "@gooddata/sdk-ui-vis-commons";
11
11
  */
12
12
  interface IGeoLegendContext {
13
13
  /**
14
- * URIs of enabled legend items (empty array means all enabled)
14
+ * URIs of enabled legend items.
15
+ *
16
+ * @remarks
17
+ * `null` signals that all items are currently enabled. An empty array means the user explicitly
18
+ * disabled every legend item (the map remains unfiltered, but legend items render as disabled).
15
19
  */
16
- enabledLegendItems: string[];
20
+ enabledLegendItems: string[] | null;
17
21
  /**
18
22
  * Updates the enabled legend items
19
23
  */
20
- setEnabledLegendItems: (items: string[]) => void;
24
+ setEnabledLegendItems: (items: string[] | null) => void;
21
25
  /**
22
26
  * Toggles a legend item's enabled state
23
27
  *
@@ -1 +1 @@
1
- {"version":3,"file":"GeoLegendContext.d.ts","sourceRoot":"","sources":["../../../src/next/context/GeoLegendContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAuC,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;;;;;;;GAQG;AACH,UAAU,iBAAiB;IACvB;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B;;OAEG;IACH,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEjD;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAE3D;;OAEG;IACH,cAAc,EAAE,YAAY,CAAC;IAE7B;;OAEG;IACH,iBAAiB,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAEpD;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,eAAe,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAID;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAmDtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,IAAI,iBAAiB,CAQhD"}
1
+ {"version":3,"file":"GeoLegendContext.d.ts","sourceRoot":"","sources":["../../../src/next/context/GeoLegendContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAuC,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;;;;;;;GAQG;AACH,UAAU,iBAAiB;IACvB;;;;;;OAMG;IACH,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAExD;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAE3D;;OAEG;IACH,cAAc,EAAE,YAAY,CAAC;IAE7B;;OAEG;IACH,iBAAiB,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAEpD;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,eAAe,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAID;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CA0CtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,IAAI,iBAAiB,CAQhD"}
@@ -12,33 +12,24 @@ const GeoLegendContext = createContext(undefined);
12
12
  * @alpha
13
13
  */
14
14
  export function GeoLegendProvider({ children }) {
15
- const [enabledLegendItems, setEnabledLegendItems] = useState([]);
15
+ const [enabledLegendItems, setEnabledLegendItems] = useState(null);
16
16
  const [legendPosition, setLegendPosition] = useState("top");
17
17
  const [isResponsive, setIsResponsive] = useState(false);
18
18
  const [showPopup, setShowPopup] = useState(false);
19
19
  const toggleLegendItem = (uri, allUris) => {
20
20
  setEnabledLegendItems((prev) => {
21
- // If empty (all enabled), clicking disables the clicked item
22
- // by enabling all EXCEPT the clicked one
23
- if (prev.length === 0) {
21
+ // All items are enabled; disable the clicked one by tracking all others explicitly.
22
+ if (prev === null) {
24
23
  return allUris.filter((itemUri) => itemUri !== uri);
25
24
  }
26
25
  // If the item is enabled, disable it
27
26
  if (prev.includes(uri)) {
28
27
  const newEnabled = prev.filter((item) => item !== uri);
29
- // If all items would be enabled again, return to "all enabled" state (empty array)
30
- if (newEnabled.length === allUris.length - 1) {
31
- return [];
32
- }
33
- return newEnabled;
28
+ return newEnabled.length === 0 ? [] : newEnabled;
34
29
  }
35
30
  // If the item is disabled, enable it
36
31
  const newEnabled = [...prev, uri];
37
- // If all items are now enabled, return to "all enabled" state (empty array)
38
- if (newEnabled.length === allUris.length) {
39
- return [];
40
- }
41
- return newEnabled;
32
+ return newEnabled.length === allUris.length ? null : newEnabled;
42
33
  });
43
34
  };
44
35
  return (_jsx(GeoLegendContext.Provider, { value: {
@@ -1 +1 @@
1
- {"version":3,"file":"GeoLegendContext.js","sourceRoot":"","sources":["../../../src/next/context/GeoLegendContext.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAa,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AA+DvE,MAAM,gBAAgB,GAAG,aAAa,CAAgC,SAAS,CAAC,CAAC;AAEjF;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAA2B;IACnE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAe,KAAK,CAAC,CAAC;IAC1E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,OAAiB,EAAE,EAAE;QACxD,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,6DAA6D;YAC7D,yCAAyC;YACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC;YACxD,CAAC;YAED,qCAAqC;YACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;gBACvD,mFAAmF;gBACnF,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3C,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,OAAO,UAAU,CAAC;YACtB,CAAC;YAED,qCAAqC;YACrC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;YAClC,4EAA4E;YAC5E,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvC,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,gBAAgB,CAAC,QAAQ,IACtB,KAAK,EAAE;YACH,kBAAkB;YAClB,qBAAqB;YACrB,gBAAgB;YAChB,cAAc;YACd,iBAAiB;YACjB,YAAY;YACZ,eAAe;YACf,SAAS;YACT,YAAY;SACf,YAEA,QAAQ,GACe,CAC/B,CAAC;AACN,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY;IACxB,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE7C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"GeoLegendContext.js","sourceRoot":"","sources":["../../../src/next/context/GeoLegendContext.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAa,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAmEvE,MAAM,gBAAgB,GAAG,aAAa,CAAgC,SAAS,CAAC,CAAC;AAEjF;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAA2B;IACnE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAC;IACpF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAe,KAAK,CAAC,CAAC;IAC1E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,OAAiB,EAAE,EAAE;QACxD,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,oFAAoF;YACpF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC;YACxD,CAAC;YAED,qCAAqC;YACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;gBACvD,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YACrD,CAAC;YAED,qCAAqC;YACrC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,gBAAgB,CAAC,QAAQ,IACtB,KAAK,EAAE;YACH,kBAAkB;YAClB,qBAAqB;YACrB,gBAAgB;YAChB,cAAc;YACd,iBAAiB;YACjB,YAAY;YACZ,eAAe;YACf,SAAS;YACT,YAAY;SACf,YAEA,QAAQ,GACe,CAC/B,CAAC;AACN,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY;IACxB,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE7C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../../../src/next/features/coloring/palette.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAkD,MAAM,qBAAqB,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAOhF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAiEtD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,OAAO,SAAI,GAAG,MAAM,EAAE,CAOzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,CAG5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB7F;AAED;;GAEG;AACH,KAAK,mBAAmB,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAAC;AAE5D;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,cAAc,GAAG,mBAAmB,CAsBzF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC5B,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,EACjC,aAAa,EAAE,MAAM,EAAE,YAAK,EAC5B,aAAa,EAAE,cAAc,GAC9B,aAAa,EAAE,CAwDjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAwBtG"}
1
+ {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../../../src/next/features/coloring/palette.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAkD,MAAM,qBAAqB,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAOhF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAiEtD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,OAAO,SAAI,GAAG,MAAM,EAAE,CAOzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,CAG5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB7F;AAED;;GAEG;AACH,KAAK,mBAAmB,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAAC;AAE5D;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,cAAc,GAAG,mBAAmB,CAsBzF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC5B,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,EACjC,aAAa,EAAE,MAAM,EAAE,YAAK,EAC5B,aAAa,EAAE,cAAc,GAC9B,aAAa,EAAE,CA8DjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAwBtG"}
@@ -166,13 +166,15 @@ export function getPushpinColors(colorValues, segmentValues = [], colorStrategy)
166
166
  }
167
167
  const segmentNames = [...segmentValues];
168
168
  const colorPaletteMapping = getColorPaletteMapping(colorStrategy);
169
+ const fallbackPalette = colorPaletteMapping[DEFAULT_SEGMENT_ITEM] ??
170
+ getColorPalette(defaultColorValue, DEFAULT_PUSHPIN_COLOR_OPACITY);
169
171
  // Only segment data, no color measure
170
172
  if (colorValues.length === 0) {
171
173
  return segmentNames.map((name) => {
172
- const palette = colorPaletteMapping[name];
174
+ const palette = colorPaletteMapping[name] ?? fallbackPalette;
173
175
  return {
174
176
  border: DEFAULT_PUSHPIN_BORDER_COLOR_VALUE,
175
- background: palette[DEFAULT_COLOR_INDEX_IN_PALETTE],
177
+ background: palette?.[DEFAULT_COLOR_INDEX_IN_PALETTE] ?? defaultColor,
176
178
  };
177
179
  });
178
180
  }
@@ -193,10 +195,12 @@ export function getPushpinColors(colorValues, segmentValues = [], colorStrategy)
193
195
  const value = color !== null && Number.isFinite(color) ? color : min;
194
196
  const colorIndex = getColorIndexInPalette(value, min, max);
195
197
  const segmentItemName = segmentNames[index] || DEFAULT_SEGMENT_ITEM;
196
- const palette = colorPaletteMapping[segmentItemName];
198
+ const palette = colorPaletteMapping[segmentItemName] ?? fallbackPalette;
199
+ const borderColor = palette?.[DEFAULT_COLOR_INDEX_IN_PALETTE] ?? fallbackPalette[DEFAULT_COLOR_INDEX_IN_PALETTE];
200
+ const backgroundColor = palette?.[colorIndex] ?? fallbackPalette[colorIndex] ?? defaultColor;
197
201
  return {
198
- border: palette[DEFAULT_COLOR_INDEX_IN_PALETTE],
199
- background: palette[colorIndex],
202
+ border: borderColor ?? DEFAULT_PUSHPIN_BORDER_COLOR_VALUE,
203
+ background: backgroundColor,
200
204
  };
201
205
  });
202
206
  }
@@ -1 +1 @@
1
- {"version":3,"file":"palette.js","sourceRoot":"","sources":["../../../../src/next/features/coloring/palette.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAkB,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGrG,OAAO,EACH,kCAAkC,EAClC,6BAA6B,EAC7B,2BAA2B,GAC9B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD;;;;GAIG;AAEH,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AACpD,MAAM,8BAA8B,GAAG,2BAA2B,GAAG,CAAC,CAAC;AAEvE;;GAEG;AACH,SAAS,WAAW,CAAC,GAAW,EAAE,KAAa,EAAE,IAAY,EAAE,OAAO,GAAG,CAAC;IACtE,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,OAAO,GAAG,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC;IAC1C,CAAC;IACD,OAAO,QAAQ,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAa;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,KAAa,EAAE,IAAY;IACtE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAa,EAAE,QAAkB,EAAE,KAAe,EAAE,OAAO,GAAG,CAAC;IACxF,OAAO,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAa,EAAU,EAAE,CACjD,WAAW,CACP,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAClD,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAClD,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAClD,OAAO,CACV,CACJ,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAA8B;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,SAAkC,EAAE,OAAO,GAAG,CAAC;IAC3E,MAAM,eAAe,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,mBAAmB,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,OAAO,GAAG,CAAC;IAChD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAoB,EAAE,GAAW,EAAE,GAAW;IACjF,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAC5E,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,8BAA8B,CAAC;IAC1C,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,2BAA2B,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,2BAA2B,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;QACjF,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAED,OAAO,8BAA8B,CAAC;AAC1C,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,aAA6B;IAChE,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,EAAE,CAAC;IAE3D,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAA2B,EAAE,IAAI,EAAE,KAAK,EAAuB,EAAE;QAC5F,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;QAE3E,0BAA0B;QAC1B,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,OAAO;gBACH,CAAC,oBAAoB,CAAC,EAAE,YAAY;aACvC,CAAC;QACN,CAAC;QAED,2BAA2B;QAC3B,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI;YAC1C,CAAC,CAAC,oBAAoB,CAAC;QAE3B,MAAM,CAAC,IAAI,IAAI,oBAAoB,CAAC,GAAG,YAAY,CAAC;QACpD,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAC5B,WAAiC,EACjC,gBAA0B,EAAE,EAC5B,aAA6B;IAE7B,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,SAAS,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;IAEjF,yCAAyC;IACzC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO;YACH;gBACI,MAAM,EAAE,kCAAkC;gBAC1C,UAAU,EAAE,YAAY;aAC3B;SACJ,CAAC;IACN,CAAC;IAED,MAAM,YAAY,GAAa,CAAC,GAAG,aAAa,CAAC,CAAC;IAClD,MAAM,mBAAmB,GAAwB,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAEvF,sCAAsC;IACtC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAY,EAAiB,EAAE;YACpD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO;gBACH,MAAM,EAAE,kCAAkC;gBAC1C,UAAU,EAAE,OAAO,CAAC,8BAA8B,CAAC;aACtD,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oCAAoC;IACpC,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1C,CAAC;IACd,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAElD,wDAAwD;IACxD,IAAI,GAAG,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO;YACH;gBACI,MAAM,EAAE,kCAAkC;gBAC1C,UAAU,EAAE,YAAY;aAC3B;SACJ,CAAC;IACN,CAAC;IAED,sCAAsC;IACtC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,KAAoB,EAAE,KAAa,EAAiB,EAAE;QAC1E,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACrE,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAM,EAAE,GAAI,EAAE,GAAI,CAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC;QACpE,MAAM,OAAO,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAErD,OAAO;YACH,MAAM,EAAE,OAAO,CAAC,8BAA8B,CAAC;YAC/C,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;SAClC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAqB,EAAE,WAAmB;IAC9E,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,2BAA2B,CAAC;IAEzD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,KAAa,EAAoB,EAAE;QACjF,MAAM,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC;QAClC,MAAM,UAAU,GAAG,KAAK,KAAK,2BAA2B,GAAG,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;QAE5C,OAAO;YACH,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACnB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC7B,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"palette.js","sourceRoot":"","sources":["../../../../src/next/features/coloring/palette.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useInitExecutionResult.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/init/useInitExecutionResult.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,yBAAyB,EAE5B,MAAM,kBAAkB,CAAC;AAI1B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,IAAI,yBAAyB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CA0BpG"}
1
+ {"version":3,"file":"useInitExecutionResult.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/init/useInitExecutionResult.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,yBAAyB,EAI5B,MAAM,kBAAkB,CAAC;AAI1B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,IAAI,yBAAyB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CA2CpG"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2025 GoodData Corporation
2
- import { useExecutionDataView, } from "@gooddata/sdk-ui";
2
+ import { createExportErrorFunction, createExportFunction, useExecutionDataView, } from "@gooddata/sdk-ui";
3
3
  import { useGeoPushpinProps } from "../../context/GeoPushpinPropsContext.js";
4
4
  /**
5
5
  * Fetches execution result and returns data view facade.
@@ -16,7 +16,7 @@ import { useGeoPushpinProps } from "../../context/GeoPushpinPropsContext.js";
16
16
  * @alpha
17
17
  */
18
18
  export function useInitExecutionResult() {
19
- const { onLoadingChanged, onDataView, onError, backend, workspace, execution } = useGeoPushpinProps();
19
+ const { onLoadingChanged, onDataView, onError, onExportReady, exportTitle, backend, workspace, execution, } = useGeoPushpinProps();
20
20
  return useExecutionDataView({
21
21
  backend,
22
22
  workspace,
@@ -28,16 +28,23 @@ export function useInitExecutionResult() {
28
28
  });
29
29
  },
30
30
  onSuccess: (dataView) => {
31
+ const executionResult = dataView.result();
31
32
  onLoadingChanged?.({
32
33
  isLoading: false,
33
34
  });
35
+ if (onExportReady) {
36
+ onExportReady(createExportFunction(executionResult, exportTitle));
37
+ }
34
38
  onDataView?.(dataView);
35
39
  },
36
40
  onError: (error) => {
41
+ onError?.(error);
37
42
  onLoadingChanged?.({
38
43
  isLoading: false,
39
44
  });
40
- onError?.(error);
45
+ if (onExportReady) {
46
+ onExportReady(createExportErrorFunction(error));
47
+ }
41
48
  },
42
49
  });
43
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useInitExecutionResult.js","sourceRoot":"","sources":["../../../../src/next/hooks/init/useInitExecutionResult.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAIH,oBAAoB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB;IAClC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEtG,OAAO,oBAAoB,CAAC;QACxB,OAAO;QACP,SAAS;QACT,SAAS;QACT,yBAAyB,EAAE,IAAI;QAC/B,SAAS,EAAE,GAAG,EAAE;YACZ,gBAAgB,EAAE,CAAC;gBACf,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;QACP,CAAC;QACD,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpB,gBAAgB,EAAE,CAAC;gBACf,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,gBAAgB,EAAE,CAAC;gBACf,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"useInitExecutionResult.js","sourceRoot":"","sources":["../../../../src/next/hooks/init/useInitExecutionResult.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAIH,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB;IAClC,MAAM,EACF,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,GACZ,GAAG,kBAAkB,EAAE,CAAC;IAEzB,OAAO,oBAAoB,CAAC;QACxB,OAAO;QACP,SAAS;QACT,SAAS;QACT,yBAAyB,EAAE,IAAI;QAC/B,SAAS,EAAE,GAAG,EAAE;YACZ,gBAAgB,EAAE,CAAC;gBACf,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;QACP,CAAC;QACD,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpB,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YAE1C,gBAAgB,EAAE,CAAC;gBACf,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,aAAa,EAAE,CAAC;gBAChB,aAAa,CAAC,oBAAoB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACjB,gBAAgB,EAAE,CAAC;gBACf,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,aAAa,EAAE,CAAC;gBAChB,aAAa,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLegendDetails.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useLegendDetails.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAoB,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,0BAA0B,GAAG,SAAS,EAC9C,OAAO,EAAE,QAAQ,GAAG,IAAI,EACxB,WAAW,EAAE,WAAW,GAAG,SAAS,GACrC,cAAc,GAAG,IAAI,CAwBvB"}
1
+ {"version":3,"file":"useLegendDetails.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useLegendDetails.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EACH,cAAc,EAIjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,0BAA0B,GAAG,SAAS,EAC9C,OAAO,EAAE,QAAQ,GAAG,IAAI,EACxB,WAAW,EAAE,WAAW,GAAG,SAAS,GACrC,cAAc,GAAG,IAAI,CA2BvB"}
@@ -1,6 +1,6 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
  import { useMemo } from "react";
3
- import { getLegendDetails } from "@gooddata/sdk-ui-vis-commons";
3
+ import { SupportedLegendPositions, getLegendDetails, } from "@gooddata/sdk-ui-vis-commons";
4
4
  /**
5
5
  * Hook to extract legend details from configuration.
6
6
  *
@@ -24,13 +24,15 @@ import { getLegendDetails } from "@gooddata/sdk-ui-vis-commons";
24
24
  */
25
25
  export function useLegendDetails(config, geoData, contentRect) {
26
26
  return useMemo(() => {
27
- const position = config?.legend?.position ?? "auto";
27
+ const rawPosition = config?.legend?.position;
28
+ const normalizedPosition = rawPosition && SupportedLegendPositions.includes(rawPosition) ? rawPosition : "top";
29
+ const effectivePosition = rawPosition ?? "auto";
28
30
  const responsive = config?.legend?.responsive;
29
31
  const legendLabel = geoData?.segment?.name;
30
32
  // Default respectLegendPosition to true when position is explicitly set (not "auto")
31
33
  // This prevents autoPositionWithPopup from overriding explicit positions
32
- const respectLegendPosition = config?.respectLegendPosition ?? (position === "auto" ? undefined : true);
33
- return getLegendDetails(position, responsive ?? false, { contentRect, legendLabel }, respectLegendPosition);
34
+ const respectLegendPosition = config?.respectLegendPosition ?? (effectivePosition === "auto" ? undefined : true);
35
+ return getLegendDetails(normalizedPosition, responsive ?? false, { contentRect, legendLabel }, respectLegendPosition);
34
36
  }, [
35
37
  config?.legend?.position,
36
38
  config?.legend?.responsive,
@@ -1 +1 @@
1
- {"version":3,"file":"useLegendDetails.js","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useLegendDetails.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAkB,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gBAAgB,CAC5B,MAA8C,EAC9C,OAAwB,EACxB,WAAoC;IAEpC,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;QAC9C,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;QAE3C,qFAAqF;QACrF,yEAAyE;QACzE,MAAM,qBAAqB,GACvB,MAAM,EAAE,qBAAqB,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE9E,OAAO,gBAAgB,CACnB,QAAQ,EACR,UAAU,IAAI,KAAK,EACnB,EAAE,WAAW,EAAE,WAAW,EAAE,EAC5B,qBAAqB,CACxB,CAAC;IACN,CAAC,EAAE;QACC,MAAM,EAAE,MAAM,EAAE,QAAQ;QACxB,MAAM,EAAE,MAAM,EAAE,UAAU;QAC1B,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,OAAO,EAAE,IAAI;QACtB,WAAW;KACd,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"useLegendDetails.js","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useLegendDetails.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAGH,wBAAwB,EACxB,gBAAgB,GACnB,MAAM,8BAA8B,CAAC;AAKtC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gBAAgB,CAC5B,MAA8C,EAC9C,OAAwB,EACxB,WAAoC;IAEpC,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC7C,MAAM,kBAAkB,GACpB,WAAW,IAAI,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QACxF,MAAM,iBAAiB,GAAG,WAAW,IAAI,MAAM,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;QAC9C,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;QAE3C,qFAAqF;QACrF,yEAAyE;QACzE,MAAM,qBAAqB,GACvB,MAAM,EAAE,qBAAqB,IAAI,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEvF,OAAO,gBAAgB,CACnB,kBAAkB,EAClB,UAAU,IAAI,KAAK,EACnB,EAAE,WAAW,EAAE,WAAW,EAAE,EAC5B,qBAAqB,CACxB,CAAC;IACN,CAAC,EAAE;QACC,MAAM,EAAE,MAAM,EAAE,QAAQ;QACxB,MAAM,EAAE,MAAM,EAAE,UAAU;QAC1B,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,OAAO,EAAE,IAAI;QACtB,WAAW;KACd,CAAC,CAAC;AACP,CAAC"}
@@ -9,8 +9,9 @@ import { IPushpinCategoryLegendItem } from "@gooddata/sdk-ui-vis-commons";
9
9
  *
10
10
  * In the old implementation, all items start visible. When you click an item,
11
11
  * it toggles its visibility. The same behavior is replicated here:
12
- * - Empty enabledLegendItems array = all items visible (initial state)
13
- * - Items in enabledLegendItems array = those items are visible
12
+ * - `enabledLegendItems === null`: all items visible (initial state)
13
+ * - `enabledLegendItems.length === 0`: user disabled every item (legend greyed out)
14
+ * - items listed in `enabledLegendItems`: only those stay visible
14
15
  *
15
16
  * @param baseLegendItems - Base legend items from data transformation
16
17
  * @returns Legend items with updated isVisible state
@@ -1 +1 @@
1
- {"version":3,"file":"useLegendItemsWithState.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useLegendItemsWithState.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAI1E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACnC,eAAe,EAAE,0BAA0B,EAAE,GAC9C,0BAA0B,EAAE,CAsB9B"}
1
+ {"version":3,"file":"useLegendItemsWithState.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useLegendItemsWithState.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAI1E;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACnC,eAAe,EAAE,0BAA0B,EAAE,GAC9C,0BAA0B,EAAE,CA8B9B"}
@@ -11,8 +11,9 @@ import { useGeoLegend } from "../../context/GeoLegendContext.js";
11
11
  *
12
12
  * In the old implementation, all items start visible. When you click an item,
13
13
  * it toggles its visibility. The same behavior is replicated here:
14
- * - Empty enabledLegendItems array = all items visible (initial state)
15
- * - Items in enabledLegendItems array = those items are visible
14
+ * - `enabledLegendItems === null`: all items visible (initial state)
15
+ * - `enabledLegendItems.length === 0`: user disabled every item (legend greyed out)
16
+ * - items listed in `enabledLegendItems`: only those stay visible
16
17
  *
17
18
  * @param baseLegendItems - Base legend items from data transformation
18
19
  * @returns Legend items with updated isVisible state
@@ -25,13 +26,20 @@ export function useLegendItemsWithState(baseLegendItems) {
25
26
  if (!baseLegendItems.length) {
26
27
  return [];
27
28
  }
28
- // If no items are explicitly tracked, all are visible (initial state)
29
- if (enabledLegendItems.length === 0) {
29
+ // No explicit state recorded means everything stays visible (initial state).
30
+ if (enabledLegendItems === null) {
30
31
  return baseLegendItems.map((item) => ({
31
32
  ...item,
32
33
  isVisible: true,
33
34
  }));
34
35
  }
36
+ // Explicitly tracking an empty list means all items are disabled (legacy behavior).
37
+ if (enabledLegendItems.length === 0) {
38
+ return baseLegendItems.map((item) => ({
39
+ ...item,
40
+ isVisible: false,
41
+ }));
42
+ }
35
43
  // Otherwise, item is visible if it's in the enabled list
36
44
  return baseLegendItems.map((item) => ({
37
45
  ...item,
@@ -1 +1 @@
1
- {"version":3,"file":"useLegendItemsWithState.js","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useLegendItemsWithState.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uBAAuB,CACnC,eAA6C;IAE7C,MAAM,EAAE,kBAAkB,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9C,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,sEAAsE;QACtE,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClC,GAAG,IAAI;gBACP,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC,CAAC;QACR,CAAC;QAED,yDAAyD;QACzD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClC,GAAG,IAAI;YACP,SAAS,EAAE,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SACnD,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"useLegendItemsWithState.js","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useLegendItemsWithState.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CACnC,eAA6C;IAE7C,MAAM,EAAE,kBAAkB,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9C,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,6EAA6E;QAC7E,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClC,GAAG,IAAI;gBACP,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC,CAAC;QACR,CAAC;QAED,oFAAoF;QACpF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClC,GAAG,IAAI;gBACP,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC,CAAC;QACR,CAAC;QAED,yDAAyD;QACzD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClC,GAAG,IAAI;YACP,SAAS,EAAE,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SACnD,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC9C,CAAC"}
@@ -4,9 +4,9 @@ import { IPushpinCategoryLegendItem } from "@gooddata/sdk-ui-vis-commons";
4
4
  *
5
5
  * @remarks
6
6
  * This hook filters category legend items to only include visible ones,
7
- * and returns their URIs for use in map filtering. If no legend items are
8
- * provided or the enabled list is empty (meaning all are enabled), returns
9
- * an empty array which signals "show all".
7
+ * and returns their URIs for use in map filtering. If no legend items are provided,
8
+ * or the state indicates either "all enabled" or "all disabled", returns an empty array
9
+ * which signals "show all".
10
10
  *
11
11
  * @param categoryItems - All category legend items
12
12
  * @returns Array of URIs for enabled segments (empty array means "show all")
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectedSegments.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useSelectedSegments.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAI1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,0BAA0B,EAAE,GAAG,MAAM,EAAE,CAgBzF"}
1
+ {"version":3,"file":"useSelectedSegments.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useSelectedSegments.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAI1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,0BAA0B,EAAE,GAAG,MAAM,EAAE,CAqBzF"}
@@ -6,9 +6,9 @@ import { useGeoLegend } from "../../context/GeoLegendContext.js";
6
6
  *
7
7
  * @remarks
8
8
  * This hook filters category legend items to only include visible ones,
9
- * and returns their URIs for use in map filtering. If no legend items are
10
- * provided or the enabled list is empty (meaning all are enabled), returns
11
- * an empty array which signals "show all".
9
+ * and returns their URIs for use in map filtering. If no legend items are provided,
10
+ * or the state indicates either "all enabled" or "all disabled", returns an empty array
11
+ * which signals "show all".
12
12
  *
13
13
  * @param categoryItems - All category legend items
14
14
  * @returns Array of URIs for enabled segments (empty array means "show all")
@@ -21,7 +21,11 @@ export function useSelectedSegments(categoryItems) {
21
21
  if (!categoryItems.length) {
22
22
  return [];
23
23
  }
24
- // If no items are explicitly enabled, show all
24
+ // All items enabled (initial state)
25
+ if (enabledLegendItems === null) {
26
+ return [];
27
+ }
28
+ // User explicitly disabled every item -> keep the map unfiltered
25
29
  if (enabledLegendItems.length === 0) {
26
30
  return [];
27
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectedSegments.js","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useSelectedSegments.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAA2C;IAC3E,MAAM,EAAE,kBAAkB,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9C,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,+CAA+C;QAC/C,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,+BAA+B;QAC/B,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzG,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"useSelectedSegments.js","sourceRoot":"","sources":["../../../../src/next/hooks/legend/useSelectedSegments.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAA2C;IAC3E,MAAM,EAAE,kBAAkB,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9C,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,oCAAoC;QACpC,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,iEAAiE;QACjE,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,+BAA+B;QAC/B,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzG,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-geo",
3
- "version": "11.9.0-alpha.1",
3
+ "version": "11.9.0-alpha.3",
4
4
  "description": "GoodData.UI SDK - Geo Charts",
5
5
  "repository": {
6
6
  "type": "git",
@@ -43,12 +43,12 @@
43
43
  "ts-invariant": "^0.7.5",
44
44
  "tslib": "2.8.1",
45
45
  "uuid": "^11.1.0",
46
- "@gooddata/sdk-backend-spi": "11.9.0-alpha.1",
47
- "@gooddata/sdk-model": "11.9.0-alpha.1",
48
- "@gooddata/sdk-ui-kit": "11.9.0-alpha.1",
49
- "@gooddata/sdk-ui": "11.9.0-alpha.1",
50
- "@gooddata/sdk-ui-theme-provider": "11.9.0-alpha.1",
51
- "@gooddata/sdk-ui-vis-commons": "11.9.0-alpha.1"
46
+ "@gooddata/sdk-backend-spi": "11.9.0-alpha.3",
47
+ "@gooddata/sdk-model": "11.9.0-alpha.3",
48
+ "@gooddata/sdk-ui": "11.9.0-alpha.3",
49
+ "@gooddata/sdk-ui-kit": "11.9.0-alpha.3",
50
+ "@gooddata/sdk-ui-theme-provider": "11.9.0-alpha.3",
51
+ "@gooddata/sdk-ui-vis-commons": "11.9.0-alpha.3"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@gooddata/stylelint-config": "^5.0.0",
@@ -66,7 +66,7 @@
66
66
  "@typescript-eslint/eslint-plugin": "8.46.0",
67
67
  "@typescript-eslint/parser": "8.46.0",
68
68
  "@vitest/eslint-plugin": "1.3.5",
69
- "dependency-cruiser": "^13.0.3",
69
+ "dependency-cruiser": "^14.1.2",
70
70
  "eslint": "^8.57.1",
71
71
  "eslint-config-prettier": "10.1.8",
72
72
  "eslint-plugin-eslint-comments": "3.2.0",
@@ -91,8 +91,8 @@
91
91
  "typescript": "5.8.3",
92
92
  "vitest": "3.2.4",
93
93
  "vitest-dom": "0.1.1",
94
- "@gooddata/eslint-config": "11.9.0-alpha.1",
95
- "@gooddata/sdk-backend-mockingbird": "11.9.0-alpha.1"
94
+ "@gooddata/eslint-config": "11.9.0-alpha.3",
95
+ "@gooddata/sdk-backend-mockingbird": "11.9.0-alpha.3"
96
96
  },
97
97
  "peerDependencies": {
98
98
  "react": "^18.0.0 || ^19.0.0",