@gooddata/sdk-ui-geo 11.9.0-alpha.2 → 11.9.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.
- package/esm/next/RenderGeoPushpinChart.d.ts.map +1 -1
- package/esm/next/RenderGeoPushpinChart.js +6 -3
- package/esm/next/RenderGeoPushpinChart.js.map +1 -1
- package/esm/next/context/GeoLegendContext.d.ts +7 -3
- package/esm/next/context/GeoLegendContext.d.ts.map +1 -1
- package/esm/next/context/GeoLegendContext.js +5 -14
- package/esm/next/context/GeoLegendContext.js.map +1 -1
- package/esm/next/features/coloring/palette.d.ts.map +1 -1
- package/esm/next/features/coloring/palette.js +9 -5
- package/esm/next/features/coloring/palette.js.map +1 -1
- package/esm/next/hooks/init/useInitExecutionResult.d.ts.map +1 -1
- package/esm/next/hooks/init/useInitExecutionResult.js +10 -3
- package/esm/next/hooks/init/useInitExecutionResult.js.map +1 -1
- package/esm/next/hooks/legend/useLegendDetails.d.ts.map +1 -1
- package/esm/next/hooks/legend/useLegendDetails.js +6 -4
- package/esm/next/hooks/legend/useLegendDetails.js.map +1 -1
- package/esm/next/hooks/legend/useLegendItemsWithState.d.ts +3 -2
- package/esm/next/hooks/legend/useLegendItemsWithState.d.ts.map +1 -1
- package/esm/next/hooks/legend/useLegendItemsWithState.js +12 -4
- package/esm/next/hooks/legend/useLegendItemsWithState.js.map +1 -1
- package/esm/next/hooks/legend/useSelectedSegments.d.ts +3 -3
- package/esm/next/hooks/legend/useSelectedSegments.d.ts.map +1 -1
- package/esm/next/hooks/legend/useSelectedSegments.js +8 -4
- package/esm/next/hooks/legend/useSelectedSegments.js.map +1 -1
- package/package.json +9 -9
|
@@ -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;
|
|
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:
|
|
106
|
-
return (_jsx(Measure, { client: true, onResize: setChartContainerRect, children: ({ measureRef }) => (_jsxs("div", { id:
|
|
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":";AAAA,gCAAgC;AAEhC,OAAO,EAAgB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,YAAqD,MAAM,eAAe,CAAC;
|
|
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
|
|
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
|
|
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
|
-
//
|
|
22
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
|
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,
|
|
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:
|
|
199
|
-
background:
|
|
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":"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
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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
|
|
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 ?? (
|
|
33
|
-
return getLegendDetails(
|
|
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,
|
|
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
|
-
* -
|
|
13
|
-
* -
|
|
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
|
|
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
|
-
* -
|
|
15
|
-
* -
|
|
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
|
-
//
|
|
29
|
-
if (enabledLegendItems
|
|
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
|
|
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
|
-
*
|
|
9
|
-
*
|
|
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,
|
|
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
|
-
*
|
|
11
|
-
*
|
|
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
|
-
//
|
|
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
|
|
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.
|
|
3
|
+
"version": "11.9.0-alpha.4",
|
|
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.
|
|
47
|
-
"@gooddata/sdk-model": "11.9.0-alpha.
|
|
48
|
-
"@gooddata/sdk-ui": "11.9.0-alpha.
|
|
49
|
-
"@gooddata/sdk-ui-
|
|
50
|
-
"@gooddata/sdk-ui-
|
|
51
|
-
"@gooddata/sdk-ui-vis-commons": "11.9.0-alpha.
|
|
46
|
+
"@gooddata/sdk-backend-spi": "11.9.0-alpha.4",
|
|
47
|
+
"@gooddata/sdk-model": "11.9.0-alpha.4",
|
|
48
|
+
"@gooddata/sdk-ui": "11.9.0-alpha.4",
|
|
49
|
+
"@gooddata/sdk-ui-theme-provider": "11.9.0-alpha.4",
|
|
50
|
+
"@gooddata/sdk-ui-kit": "11.9.0-alpha.4",
|
|
51
|
+
"@gooddata/sdk-ui-vis-commons": "11.9.0-alpha.4"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@gooddata/stylelint-config": "^5.0.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.
|
|
95
|
-
"@gooddata/sdk-backend-mockingbird": "11.9.0-alpha.
|
|
94
|
+
"@gooddata/eslint-config": "11.9.0-alpha.4",
|
|
95
|
+
"@gooddata/sdk-backend-mockingbird": "11.9.0-alpha.4"
|
|
96
96
|
},
|
|
97
97
|
"peerDependencies": {
|
|
98
98
|
"react": "^18.0.0 || ^19.0.0",
|