@gooddata/sdk-ui-charts 11.40.0 → 11.41.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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-6-3
10
+ Date generated: 2026-6-4
11
11
 
12
- Revision ID: b9738773036699fe93297bb03e2fa59ed72696e9
12
+ Revision ID: a7fab12176348facd5a01002c6136fbda5f84b80
13
13
 
14
14
  ================================================================================
15
15
  ================================================================================
@@ -38775,4 +38775,4 @@ POSSIBILITY OF SUCH DAMAGE.
38775
38775
  --------------------------------------------------------------------------------
38776
38776
  --------------------------------------------------------------------------------
38777
38777
 
38778
- Report Generated by FOSSA on 2026-6-3
38778
+ Report Generated by FOSSA on 2026-6-4
@@ -2,7 +2,7 @@ import { type ReactElement } from "react";
2
2
  import { type IDataView } from "@gooddata/sdk-backend-spi";
3
3
  import { type ITheme } from "@gooddata/sdk-model";
4
4
  import { type ExplicitDrill, type OnFiredDrillEvent } from "@gooddata/sdk-ui";
5
- import { type ITooltipExecutionBundle } from "@gooddata/sdk-ui-vis-commons";
5
+ import { type ITooltipExecution } from "@gooddata/sdk-ui-vis-commons";
6
6
  import { type IChartConfig } from "../interfaces/chartConfig.js";
7
7
  import { type OnLegendReady } from "../interfaces/chartProps.js";
8
8
  import { type IHighChartsRendererProps } from "./adapter/HighChartsRenderer.js";
@@ -26,6 +26,6 @@ export interface IChartTransformationProps {
26
26
  theme?: ITheme;
27
27
  pushData?(data: any): void;
28
28
  renderer?(arg: IHighChartsRendererProps): ReactElement;
29
- tooltipExecution?: ITooltipExecutionBundle;
29
+ tooltipExecution?: ITooltipExecution;
30
30
  }
31
31
  export declare const ChartTransformation: import("react").MemoExoticComponent<import("react").ComponentType<Omit<IChartTransformationProps, "theme" | "themeIsLoading" | "themeStatus">>>;
@@ -1,13 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  // (C) 2007-2026 GoodData Corporation
3
- import { memo, useEffect, useMemo, useRef } from "react";
3
+ import { memo, useEffect, useRef } from "react";
4
4
  import Highcharts from "highcharts/esm/highcharts.js";
5
5
  import { isEqual, omitBy } from "lodash-es";
6
- import { defineMessages, useIntl } from "react-intl";
6
+ import { useIntl } from "react-intl";
7
7
  import { invariant } from "ts-invariant";
8
8
  import { anomaliesTitleFromIntl, clusterTitleFromIntl, convertDrillableItemsToPredicates, emptyHeaderTitleFromIntl, totalColumnTitleFromIntl, } from "@gooddata/sdk-ui";
9
9
  import { withTheme } from "@gooddata/sdk-ui-theme-provider";
10
- import { useTooltipLookup, } from "@gooddata/sdk-ui-vis-commons";
10
+ import { useTooltipLookup } from "@gooddata/sdk-ui-vis-commons";
11
11
  import { initChartPlugins } from "./adapter/chartPlugins.js";
12
12
  import { HighChartsMeasuredRenderer } from "./adapter/HighChartsMeasuredRenderer.js";
13
13
  import { HighChartsRenderer, renderChart as chartRenderer, renderLegend as legendRenderer, } from "./adapter/HighChartsRenderer.js";
@@ -17,10 +17,6 @@ import { getHighchartsOptions } from "./chartTypes/_chartCreators/highChartsCrea
17
17
  import { getDataTooLargeErrorMessage, getIsFilteringRecommended, validateData, } from "./chartTypes/_chartOptions/chartLimits.js";
18
18
  import { getChartOptions } from "./chartTypes/_chartOptions/chartOptionsBuilder.js";
19
19
  import { isChartSupported, stringifyChartTypes } from "./chartTypes/_util/common.js";
20
- const customTooltipMessages = defineMessages({
21
- noData: { id: "richText.no_data" },
22
- multipleItems: { id: "richText.multiple_data" },
23
- });
24
20
  export function renderHighCharts(props) {
25
21
  const childrenRenderer = (contentRect) => (_jsx(HighChartsRenderer, { contentRect: contentRect, ...props }));
26
22
  return _jsx(HighChartsMeasuredRenderer, { childrenRenderer: childrenRenderer });
@@ -29,23 +25,20 @@ function ChartTransformationImpl({ config, renderer = renderHighCharts, dataView
29
25
  const intl = useIntl();
30
26
  const visType = config.type;
31
27
  const drillablePredicates = convertDrillableItemsToPredicates(drillableItems);
32
- const tooltipLocalizedStrings = useMemo(() => ({
33
- noData: `(${intl.formatMessage(customTooltipMessages.noData)})`,
34
- multipleItems: `(${intl.formatMessage(customTooltipMessages.multipleItems)})`,
35
- }), [intl]);
36
- // Execute the secondary tooltip execution and build the lookup table.
37
- // `undefined` until the first result lands; `getCustomTooltipSection` treats
38
- // it as "no external values" and falls back to in-chart drill intersection.
39
- const tooltipLookup = useTooltipLookup(tooltipExecution, config.separators, tooltipLocalizedStrings);
28
+ // `undefined` until the first result lands (treated as "no external values").
29
+ // Placeholder strings are applied later, at render time, in formatTooltip.
30
+ const tooltipLookup = useTooltipLookup(tooltipExecution, config.separators);
40
31
  const customTooltipRuntimeRef = useRef({});
41
32
  const chartOptions = getChartOptions(dataView, config, drillablePredicates, emptyHeaderTitleFromIntl(intl), theme, totalColumnTitleFromIntl(intl), clusterTitleFromIntl(intl), anomaliesTitleFromIntl(intl));
42
33
  if (config.customTooltip?.enabled) {
43
34
  customTooltipRuntimeRef.current.identifierMapping = buildIdentifierMapping(dataView.definition, config.type);
44
- customTooltipRuntimeRef.current.tooltipLookup = tooltipLookup;
35
+ customTooltipRuntimeRef.current.tooltipLookup = tooltipLookup?.lookup;
36
+ customTooltipRuntimeRef.current.erroredRefs = tooltipLookup?.erroredRefs;
45
37
  }
46
38
  else {
47
39
  customTooltipRuntimeRef.current.identifierMapping = undefined;
48
40
  customTooltipRuntimeRef.current.tooltipLookup = undefined;
41
+ customTooltipRuntimeRef.current.erroredRefs = undefined;
49
42
  }
50
43
  chartOptions.customTooltipRuntime = customTooltipRuntimeRef.current;
51
44
  const legendOptions = buildLegendOptions(config.legend, chartOptions, theme, intl);
@@ -1,19 +1,17 @@
1
1
  // (C) 2007-2026 GoodData Corporation
2
2
  import cx from "classnames";
3
3
  import { compact, isEmpty, merge, partial, pickBy } from "lodash-es";
4
- import { defineMessages } from "react-intl";
5
4
  import { ClientFormatterFacade } from "@gooddata/number-formatter";
6
5
  import { isMeasureFormatInPercent } from "@gooddata/sdk-model";
7
6
  import { VisualizationTypes } from "@gooddata/sdk-ui";
8
- import { composeCustomTooltipSectionHtml, getLighterColor, isPatternObject, } from "@gooddata/sdk-ui-vis-commons";
7
+ import { buildTooltipLocalizedStrings, getLighterColor, isPatternObject } from "@gooddata/sdk-ui-vis-commons";
9
8
  import { isHighContrastMode } from "../../utils/highContrastMode.js";
10
9
  import { supportedDualAxesChartTypes, supportedTooltipFollowPointerChartTypes, } from "../_chartOptions/chartCapabilities.js";
11
10
  import { AXIS_LINE_COLOR } from "../_util/color.js";
12
11
  import { isAreaChart, isBarChart, isBubbleChart, isBulletChart, isColumnChart, isComboChart, isHeatmap, isInvertedChartType, isOneOfTypes, isRotationInRange, isScatterPlot, isSupportingJoinedAttributeAxisName, percentFormatter, } from "../_util/common.js";
13
12
  import { canComboChartBeStackedInPercent } from "../comboChart/comboChartOptions.js";
14
13
  import { HOVER_BRIGHTNESS, MINIMUM_HC_SAFE_BRIGHTNESS } from "./commonConfiguration.js";
15
- import { resolveReferencesFromPoint } from "./customTooltip/referenceResolver.js";
16
- import { buildPointKey } from "./customTooltip/tooltipLookup.js";
14
+ import { getCustomTooltipSection, getCustomTooltipSeparator } from "./customTooltip/section.js";
17
15
  import { formatAsPercent, getLabelsStyling, getLabelsVisibilityConfig, getTotalsVisibility, getTotalsVisibilityConfig, } from "./dataLabelsHelpers.js";
18
16
  import { getAxisLabelConfigurationForDualBarChart } from "./getAxisLabelConfigurationForDualBarChart.js";
19
17
  import { getAxisNameConfiguration } from "./getAxisNameConfiguration.js";
@@ -43,10 +41,6 @@ const HEATMAP_DATA_LABELS_LIMIT = 150;
43
41
  const TOOLTIP_FULLSCREEN_THRESHOLD = 480;
44
42
  export const TOOLTIP_PADDING = 24; // padding of tooltip container - defined by CSS
45
43
  export const TOOLTIP_VIEWPORT_MARGIN_TOP = 20;
46
- const customTooltipMessages = defineMessages({
47
- noFetch: { id: "richText.no_fetch" },
48
- noData: { id: "richText.no_data" },
49
- });
50
44
  const BAR_WIDTH_WHEN_TOTAL_LABELS_AVAILABLE = "90%";
51
45
  const escapeAngleBrackets = (str) => {
52
46
  return str?.replace(/</g, "&lt;")?.replace(/>/g, "&gt;");
@@ -266,29 +260,6 @@ function getColorFromHighchartsPointColor(color) {
266
260
  }
267
261
  return defaultColor;
268
262
  }
269
- function getCustomTooltipSection(point, fallbackText, noDataLabel, chartConfig, customTooltipRuntime) {
270
- const customTooltip = chartConfig?.customTooltip;
271
- if (!customTooltip?.enabled || !customTooltip.content) {
272
- return "";
273
- }
274
- // External values from the precomputed lookup (refs not in the chart).
275
- const intersection = point.drillIntersection ?? [];
276
- const pointKey = buildPointKey(intersection);
277
- const externalValues = customTooltipRuntime?.tooltipLookup?.get(pointKey) ?? {};
278
- // In-chart values from the hovered point's drill intersection.
279
- const pointLocal = resolveReferencesFromPoint(point, chartConfig?.separators, customTooltipRuntime?.identifierMapping, noDataLabel);
280
- return composeCustomTooltipSectionHtml(customTooltip.content, pointLocal, externalValues, fallbackText);
281
- }
282
- function getCustomTooltipSeparator(chartConfig) {
283
- const customTooltip = chartConfig?.customTooltip;
284
- if (!customTooltip?.enabled || !customTooltip.content) {
285
- return "";
286
- }
287
- if (customTooltip.placement === "replace") {
288
- return "";
289
- }
290
- return `<div class="gd-viz-tooltip-custom-separator"></div>`;
291
- }
292
263
  function formatTooltip(tooltipCallback, chartConfig, customTooltipRuntime, intl) {
293
264
  const { chart } = this.series;
294
265
  const pointColor = getColorFromHighchartsPointColor(this.color);
@@ -309,11 +280,8 @@ function formatTooltip(tooltipCallback, chartConfig, customTooltipRuntime, intl)
309
280
  const tooltipContent = tooltipCallback(tooltipPoint, maxTooltipContentWidth, this.percentage);
310
281
  const interactionMessage = getInteractionMessage(isDrillable, chartConfig, intl);
311
282
  const anomalyMessage = getAnomalyMessage(this.anomaly, intl);
312
- const fallbackText = intl
313
- ? `(${intl.formatMessage(customTooltipMessages.noFetch)})`
314
- : "(Data could not be retrieved)";
315
- const noDataLabel = intl ? `(${intl.formatMessage(customTooltipMessages.noData)})` : "(No data)";
316
- const customSection = getCustomTooltipSection(tooltipPoint, fallbackText, noDataLabel, chartConfig, customTooltipRuntime);
283
+ const localizedStrings = buildTooltipLocalizedStrings(intl);
284
+ const customSection = getCustomTooltipSection(tooltipPoint, localizedStrings, chartConfig, customTooltipRuntime);
317
285
  const placement = chartConfig?.customTooltip?.placement ?? "above";
318
286
  const defaultContent = placement === "replace" ? "" : (tooltipContent ?? "");
319
287
  const defaultSectionWithInteraction = defaultContent
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Highcharts-specific reference resolution for custom tooltip content.
3
+ *
4
+ * The pure substitution function (`resolveReferences`) and the value lookup
5
+ * shape (`IResolvedReferenceValues`) live in @gooddata/sdk-ui-vis-commons; this
6
+ * file builds the lookup from a hovered Highcharts point's drill intersection.
7
+ */
1
8
  import { type ISeparators } from "@gooddata/sdk-model";
2
9
  import { type IResolvedReferenceValues } from "@gooddata/sdk-ui-vis-commons";
3
10
  import { type IUnsafeHighchartsTooltipPoint } from "../../../typings/unsafe.js";
@@ -14,4 +21,4 @@ import { type IIdentifierMapping } from "./identifierMapping.js";
14
21
  * resolver falls back to `point.y`, which is correct for the single-Y chart
15
22
  * family.
16
23
  */
17
- export declare function resolveReferencesFromPoint(point: IUnsafeHighchartsTooltipPoint, separators: ISeparators | undefined, identifierMapping: IIdentifierMapping | undefined, noDataLabel: string): IResolvedReferenceValues;
24
+ export declare function resolveReferencesFromPoint(point: IUnsafeHighchartsTooltipPoint, separators: ISeparators | undefined, identifierMapping: IIdentifierMapping | undefined): IResolvedReferenceValues;
@@ -6,9 +6,9 @@
6
6
  * shape (`IResolvedReferenceValues`) live in @gooddata/sdk-ui-vis-commons; this
7
7
  * file builds the lookup from a hovered Highcharts point's drill intersection.
8
8
  */
9
- import { ClientFormatterFacade } from "@gooddata/number-formatter";
10
9
  import { isMeasureDescriptor } from "@gooddata/sdk-model";
11
10
  import { isDrillIntersectionAttributeItem } from "@gooddata/sdk-ui";
11
+ import { labelKey, labelReference, measureReference, metricKey, } from "@gooddata/sdk-ui-vis-commons";
12
12
  /**
13
13
  * Builds resolved values from the hovered point's drill intersection.
14
14
  *
@@ -21,7 +21,7 @@ import { isDrillIntersectionAttributeItem } from "@gooddata/sdk-ui";
21
21
  * resolver falls back to `point.y`, which is correct for the single-Y chart
22
22
  * family.
23
23
  */
24
- export function resolveReferencesFromPoint(point, separators, identifierMapping, noDataLabel) {
24
+ export function resolveReferencesFromPoint(point, separators, identifierMapping) {
25
25
  const intersection = point.drillIntersection ?? [];
26
26
  const values = {};
27
27
  const measureMap = identifierMapping?.measures ?? {};
@@ -32,10 +32,11 @@ export function resolveReferencesFromPoint(point, separators, identifierMapping,
32
32
  const displayFormId = header.attributeHeader.identifier;
33
33
  const attributeId = header.attributeHeader.formOf.identifier;
34
34
  const displayValue = header.attributeHeaderItem.formattedName ?? header.attributeHeaderItem.name ?? undefined;
35
+ const status = labelReference(displayValue);
35
36
  // Register under both display form and attribute identifiers
36
- values[`label/${displayFormId}`] = displayValue;
37
+ values[labelKey(displayFormId)] = status;
37
38
  if (attributeId !== displayFormId) {
38
- values[`label/${attributeId}`] = displayValue;
39
+ values[labelKey(attributeId)] = status;
39
40
  }
40
41
  }
41
42
  else if (isMeasureDescriptor(header)) {
@@ -51,19 +52,7 @@ export function resolveReferencesFromPoint(point, separators, identifierMapping,
51
52
  // `isNullTarget` flag — read the flag so it surfaces as no-data
52
53
  // rather than a formatted zero.
53
54
  const rawValue = pointField === "target" && point["isNullTarget"] ? null : point[pointField];
54
- if (rawValue == null) {
55
- // In-chart point with a null value — emit the no-data sentinel
56
- // so the custom section reads "(No data)" instead of falling
57
- // through to the resolution-failure fallback text.
58
- values[`metric/${ldmId}`] = noDataLabel;
59
- }
60
- else if (format) {
61
- const { formattedValue } = ClientFormatterFacade.formatValue(rawValue, format, separators);
62
- values[`metric/${ldmId}`] = formattedValue;
63
- }
64
- else {
65
- values[`metric/${ldmId}`] = String(rawValue);
66
- }
55
+ values[metricKey(ldmId)] = measureReference(rawValue, format, separators);
67
56
  }
68
57
  }
69
58
  return values;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Assembles the custom-tooltip section / separator HTML for a hovered Highcharts
3
+ * point: external values from the precomputed lookup (with errored references
4
+ * overlaid), merged with in-chart values from the point's drill intersection.
5
+ * Lives in the customTooltip module rather than the general chart-config file.
6
+ */
7
+ import { type ITooltipLocalizedStrings } from "@gooddata/sdk-ui-vis-commons";
8
+ import { type IChartConfig } from "../../../../interfaces/chartConfig.js";
9
+ import { type ICustomTooltipRuntime, type IUnsafeHighchartsTooltipPoint } from "../../../typings/unsafe.js";
10
+ /**
11
+ * @internal
12
+ */
13
+ export declare function getCustomTooltipSection(point: IUnsafeHighchartsTooltipPoint, localizedStrings: ITooltipLocalizedStrings, chartConfig?: IChartConfig, customTooltipRuntime?: ICustomTooltipRuntime): string;
14
+ /**
15
+ * @internal
16
+ */
17
+ export declare function getCustomTooltipSeparator(chartConfig?: IChartConfig): string;
@@ -0,0 +1,44 @@
1
+ // (C) 2026 GoodData Corporation
2
+ /**
3
+ * Assembles the custom-tooltip section / separator HTML for a hovered Highcharts
4
+ * point: external values from the precomputed lookup (with errored references
5
+ * overlaid), merged with in-chart values from the point's drill intersection.
6
+ * Lives in the customTooltip module rather than the general chart-config file.
7
+ */
8
+ import { composeCustomTooltipSectionHtml, } from "@gooddata/sdk-ui-vis-commons";
9
+ import { resolveReferencesFromPoint } from "./referenceResolver.js";
10
+ import { buildPointKey } from "./tooltipLookup.js";
11
+ /**
12
+ * @internal
13
+ */
14
+ export function getCustomTooltipSection(point, localizedStrings, chartConfig, customTooltipRuntime) {
15
+ const customTooltip = chartConfig?.customTooltip;
16
+ if (!customTooltip?.enabled || !customTooltip.content) {
17
+ return "";
18
+ }
19
+ // External values from the lookup, with errored references overlaid as errors.
20
+ const intersection = point.drillIntersection ?? [];
21
+ const pointKey = buildPointKey(intersection);
22
+ const externalValues = {
23
+ ...(customTooltipRuntime?.tooltipLookup?.get(pointKey) ?? {}),
24
+ };
25
+ for (const key of customTooltipRuntime?.erroredRefs ?? []) {
26
+ externalValues[key] = { kind: "error" };
27
+ }
28
+ // In-chart values from the hovered point's drill intersection.
29
+ const pointLocal = resolveReferencesFromPoint(point, chartConfig?.separators, customTooltipRuntime?.identifierMapping);
30
+ return composeCustomTooltipSectionHtml(customTooltip.content, pointLocal, externalValues, localizedStrings);
31
+ }
32
+ /**
33
+ * @internal
34
+ */
35
+ export function getCustomTooltipSeparator(chartConfig) {
36
+ const customTooltip = chartConfig?.customTooltip;
37
+ if (!customTooltip?.enabled || !customTooltip.content) {
38
+ return "";
39
+ }
40
+ if (customTooltip.placement === "replace") {
41
+ return "";
42
+ }
43
+ return `<div class="gd-viz-tooltip-custom-separator"></div>`;
44
+ }
@@ -155,6 +155,7 @@ export interface IChartOptions {
155
155
  export interface ICustomTooltipRuntime {
156
156
  identifierMapping?: IIdentifierMapping;
157
157
  tooltipLookup?: Map<string, IResolvedReferenceValues>;
158
+ erroredRefs?: ReadonlySet<string>;
158
159
  }
159
160
  export interface IPatternOptionsObject {
160
161
  path: SVGAttributes;
@@ -1,7 +1,7 @@
1
1
  import { type IAnalyticalBackend, type IClusteringConfig, type IForecastConfig, type IOutliersConfig, type IPreparedExecution } from "@gooddata/sdk-backend-spi";
2
2
  import { type IExecutionConfig } from "@gooddata/sdk-model";
3
3
  import { type IVisualizationCallbacks, type IVisualizationProps } from "@gooddata/sdk-ui";
4
- import { type ITooltipExecutionBundle } from "@gooddata/sdk-ui-vis-commons";
4
+ import { type ITooltipExecution } from "@gooddata/sdk-ui-vis-commons";
5
5
  import { type IChartConfig } from "./chartConfig.js";
6
6
  /**
7
7
  * Props applicable for all charts
@@ -114,5 +114,5 @@ export interface ICoreChartProps extends ICommonChartProps {
114
114
  * sliced by the chart's attributes.
115
115
  * @internal
116
116
  */
117
- tooltipExecution?: ITooltipExecutionBundle;
117
+ tooltipExecution?: ITooltipExecution;
118
118
  }
@@ -52,7 +52,7 @@ import { ISeparators } from '@gooddata/sdk-model';
52
52
  import { ISettings } from '@gooddata/sdk-model';
53
53
  import { ISortItem } from '@gooddata/sdk-model';
54
54
  import { ITheme } from '@gooddata/sdk-model';
55
- import { ITooltipExecutionBundle } from '@gooddata/sdk-ui-vis-commons';
55
+ import { ITooltipExecution } from '@gooddata/sdk-ui-vis-commons';
56
56
  import { IVisualizationCallbacks } from '@gooddata/sdk-ui';
57
57
  import { IVisualizationProps } from '@gooddata/sdk-ui';
58
58
  import { JSX } from 'react/jsx-runtime';
@@ -1517,7 +1517,7 @@ export declare interface ICoreChartProps extends ICommonChartProps {
1517
1517
  * sliced by the chart's attributes.
1518
1518
  * @internal
1519
1519
  */
1520
- tooltipExecution?: ITooltipExecutionBundle;
1520
+ tooltipExecution?: ITooltipExecution;
1521
1521
  }
1522
1522
 
1523
1523
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-charts",
3
- "version": "11.40.0",
3
+ "version": "11.41.0-alpha.1",
4
4
  "description": "GoodData.UI SDK - Charts",
5
5
  "license": "LicenseRef-LICENSE",
6
6
  "author": "GoodData Corporation",
@@ -69,13 +69,13 @@
69
69
  "ts-invariant": "0.10.3",
70
70
  "tslib": "2.8.1",
71
71
  "uuid": "11.1.0",
72
- "@gooddata/sdk-backend-spi": "11.40.0",
73
- "@gooddata/sdk-ui": "11.40.0",
74
- "@gooddata/sdk-model": "11.40.0",
75
- "@gooddata/sdk-ui-theme-provider": "11.40.0",
76
- "@gooddata/sdk-ui-kit": "11.40.0",
77
- "@gooddata/util": "11.40.0",
78
- "@gooddata/sdk-ui-vis-commons": "11.40.0"
72
+ "@gooddata/sdk-backend-spi": "11.41.0-alpha.1",
73
+ "@gooddata/sdk-ui": "11.41.0-alpha.1",
74
+ "@gooddata/sdk-model": "11.41.0-alpha.1",
75
+ "@gooddata/sdk-ui-kit": "11.41.0-alpha.1",
76
+ "@gooddata/sdk-ui-theme-provider": "11.41.0-alpha.1",
77
+ "@gooddata/sdk-ui-vis-commons": "11.41.0-alpha.1",
78
+ "@gooddata/util": "11.41.0-alpha.1"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@microsoft/api-documenter": "^7.17.0",
@@ -120,11 +120,11 @@
120
120
  "typescript": "5.9.3",
121
121
  "vitest": "4.1.8",
122
122
  "vitest-dom": "0.1.1",
123
- "@gooddata/eslint-config": "11.40.0",
124
- "@gooddata/oxlint-config": "11.40.0",
125
- "@gooddata/reference-workspace": "11.40.0",
126
- "@gooddata/sdk-backend-mockingbird": "11.40.0",
127
- "@gooddata/stylelint-config": "11.40.0"
123
+ "@gooddata/eslint-config": "11.41.0-alpha.1",
124
+ "@gooddata/oxlint-config": "11.41.0-alpha.1",
125
+ "@gooddata/reference-workspace": "11.41.0-alpha.1",
126
+ "@gooddata/sdk-backend-mockingbird": "11.41.0-alpha.1",
127
+ "@gooddata/stylelint-config": "11.41.0-alpha.1"
128
128
  },
129
129
  "peerDependencies": {
130
130
  "react": "^18.0.0 || ^19.0.0",