@gooddata/sdk-ui-charts 11.48.0-alpha.0 → 11.48.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.
Files changed (23) hide show
  1. package/NOTICE +1 -1
  2. package/esm/highcharts/chartTypes/_chartColoring/measure.d.ts.map +1 -1
  3. package/esm/highcharts/chartTypes/_chartColoring/measure.js +18 -14
  4. package/esm/highcharts/chartTypes/_chartCreators/commonConfiguration.d.ts +2 -1
  5. package/esm/highcharts/chartTypes/_chartCreators/commonConfiguration.d.ts.map +1 -1
  6. package/esm/highcharts/chartTypes/_chartCreators/commonConfiguration.js +255 -36
  7. package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.d.ts.map +1 -1
  8. package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.js +4 -2
  9. package/esm/highcharts/chartTypes/_chartCreators/highChartsCreators.js +1 -1
  10. package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.d.ts.map +1 -1
  11. package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.js +10 -1
  12. package/esm/highcharts/chartTypes/_chartOptions/chartTooltips.d.ts +5 -1
  13. package/esm/highcharts/chartTypes/_chartOptions/chartTooltips.d.ts.map +1 -1
  14. package/esm/highcharts/chartTypes/_chartOptions/chartTooltips.js +145 -1
  15. package/esm/highcharts/chartTypes/_util/common.d.ts +1 -0
  16. package/esm/highcharts/chartTypes/_util/common.d.ts.map +1 -1
  17. package/esm/highcharts/chartTypes/_util/common.js +3 -0
  18. package/esm/highcharts/chartTypes/scatterPlot/scatterPlotColoring.d.ts.map +1 -1
  19. package/esm/highcharts/chartTypes/scatterPlot/scatterPlotColoring.js +3 -1
  20. package/esm/highcharts/chartTypes/treemap/treemapColoring.js +1 -1
  21. package/esm/highcharts/typings/unsafe.d.ts +4 -0
  22. package/esm/highcharts/typings/unsafe.d.ts.map +1 -1
  23. package/package.json +13 -13
package/NOTICE CHANGED
@@ -9,7 +9,7 @@ The following 3rd-party software packages may be used by or distributed with goo
9
9
 
10
10
  Date generated: 2026-7-16
11
11
 
12
- Revision ID: a9c1bae6689fa76eb7a3de0ef1c0e7153ce0579c
12
+ Revision ID: 673cff1911eb24f1e212d2c51b5463b98c9b6c96
13
13
 
14
14
  ================================================================================
15
15
  ================================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartColoring/measure.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,aAAa,EAKrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EACH,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,iCAAiC,EAOzC,MAAM,8BAA8B,CAAC;AAWtC,qBAAa,oBAAqB,SAAQ,aAAa;IACnD,SAAS,CAAC,qBAAqB,CAC3B,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAAE,GAAG,SAAS,EACzC,gBAAgB,EAAE,GAAG,EACrB,iBAAiB,EAAE,GAAG,EACtB,EAAE,EAAE,cAAc,GACnB,iCAAiC,CAWnC;IAED,OAAO,CAAC,qBAAqB;IAsC7B,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,2BAA2B;IAqCnC,OAAO,CAAC,gCAAgC;IAqBxC,OAAO,CAAC,2BAA2B;CAyCtC"}
1
+ {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartColoring/measure.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,aAAa,EAKrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EACH,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,iCAAiC,EAOzC,MAAM,8BAA8B,CAAC;AAWtC,qBAAa,oBAAqB,SAAQ,aAAa;IACnD,SAAS,CAAC,qBAAqB,CAC3B,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAAE,GAAG,SAAS,EACzC,gBAAgB,EAAE,GAAG,EACrB,iBAAiB,EAAE,GAAG,EACtB,EAAE,EAAE,cAAc,GACnB,iCAAiC,CAWnC;IAED,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,2BAA2B;IAkDnC,OAAO,CAAC,gCAAgC;IAqBxC,OAAO,CAAC,2BAA2B;CAyCtC"}
@@ -10,17 +10,15 @@ const DERIVED_COLOR_BLEND_STEP = 0.4;
10
10
  const MIN_NON_TEXT_CONTRAST = 3;
11
11
  export class MeasureColorStrategy extends ColorStrategy {
12
12
  createColorAssignment(colorPalette, colorMapping, _viewByAttribute, _stackByAttribute, dv) {
13
- const { allMeasuresAssignment, nonDerivedMeasuresAssignment } = this.mapColorsFromMeasures(dv, colorMapping, colorPalette);
13
+ const allMeasuresAssignment = this.mapColorsFromMeasures(dv, colorMapping, colorPalette);
14
14
  return {
15
- fullColorAssignment: this.mapColorsFromDerivedMeasure(dv, allMeasuresAssignment, colorPalette),
16
- outputColorAssignment: nonDerivedMeasuresAssignment,
15
+ fullColorAssignment: this.mapColorsFromDerivedMeasure(dv, allMeasuresAssignment, colorPalette, colorMapping),
17
16
  };
18
17
  }
19
18
  mapColorsFromMeasures(dv, colorMapping, colorPalette) {
20
19
  let currentColorPaletteIndex = 0;
21
- const nonDerivedMeasuresAssignment = [];
22
20
  const measureGroup = findMeasureGroupInDimensions(dv.meta().dimensions());
23
- const allMeasuresAssignment = measureGroup?.items.map((headerItem, index) => {
21
+ return (measureGroup?.items.map((headerItem, index) => {
24
22
  if (dv.meta().isDerivedMeasure(measureGroup.items[index])) {
25
23
  return {
26
24
  headerItem,
@@ -29,13 +27,8 @@ export class MeasureColorStrategy extends ColorStrategy {
29
27
  }
30
28
  const mappedMeasure = this.mapMeasureColor(headerItem, currentColorPaletteIndex, colorPalette, colorMapping, dv);
31
29
  currentColorPaletteIndex++;
32
- nonDerivedMeasuresAssignment.push(mappedMeasure);
33
30
  return mappedMeasure;
34
- }) ?? [];
35
- return {
36
- allMeasuresAssignment,
37
- nonDerivedMeasuresAssignment,
38
- };
31
+ }) ?? []);
39
32
  }
40
33
  mapMeasureColor(descriptor, currentColorPaletteIndex, colorPalette, colorAssignment, dv) {
41
34
  const mappedColor = getColorFromMapping(descriptor, colorAssignment, dv);
@@ -50,20 +43,31 @@ export class MeasureColorStrategy extends ColorStrategy {
50
43
  color,
51
44
  };
52
45
  }
53
- mapColorsFromDerivedMeasure(dv, measuresColorAssignment, colorPalette) {
46
+ mapColorsFromDerivedMeasure(dv, measuresColorAssignment, colorPalette, colorMapping) {
54
47
  return measuresColorAssignment.map((mapItem, measureItemIndex) => {
55
48
  const measureGroup = findMeasureGroupInDimensions(dv.meta().dimensions());
56
- if (!dv.meta().isDerivedMeasure(measureGroup.items[measureItemIndex])) {
49
+ const derivedHeader = measureGroup.items[measureItemIndex];
50
+ if (!dv.meta().isDerivedMeasure(derivedHeader)) {
57
51
  return mapItem;
58
52
  }
59
53
  const masterMeasure = dv
60
54
  .def()
61
- .masterMeasureForDerived(measureGroup.items[measureItemIndex].measureHeaderItem.localIdentifier);
55
+ .masterMeasureForDerived(derivedHeader.measureHeaderItem.localIdentifier);
62
56
  if (!masterMeasure) {
63
57
  return mapItem;
64
58
  }
65
59
  const parentMeasureIndex = dv.def().measureIndex(masterMeasure.measure.localIdentifier);
66
60
  if (parentMeasureIndex > -1) {
61
+ // mappings that also match the master target the master; the derived measure
62
+ // then keeps the color derived from it
63
+ const masterHeader = measureGroup.items[parentMeasureIndex];
64
+ const mapping = colorMapping?.find((item) => item.predicate(derivedHeader, { dv }) && !item.predicate(masterHeader, { dv }));
65
+ if (mapping && isValidMappedColor(mapping.color, colorPalette)) {
66
+ return {
67
+ ...mapItem,
68
+ color: mapping.color,
69
+ };
70
+ }
67
71
  const sourceMeasureColor = measuresColorAssignment[parentMeasureIndex].color;
68
72
  return this.getDerivedMeasureColorAssignment(sourceMeasureColor, colorPalette, measureItemIndex, mapItem);
69
73
  }
@@ -1,3 +1,4 @@
1
+ import { type IntlShape } from "react-intl";
1
2
  import { type ITheme } from "@gooddata/sdk-model";
2
3
  import { type ChartType, type IDrillConfig } from "@gooddata/sdk-ui";
3
4
  import { type IChartConfig } from "../../../interfaces/chartConfig.js";
@@ -6,5 +7,5 @@ export declare const MAX_POINT_WIDTH = 100;
6
7
  export declare const HOVER_BRIGHTNESS = 0.1;
7
8
  export declare const MINIMUM_HC_SAFE_BRIGHTNESS: number;
8
9
  export declare function handleChartLoad(chartType: ChartType): (this: any) => void;
9
- export declare function getCommonConfiguration(chartOptions: IChartOptions, drillConfig: IDrillConfig, theme?: ITheme, config?: IChartConfig): any;
10
+ export declare function getCommonConfiguration(chartOptions: IChartOptions, drillConfig: IDrillConfig, theme?: ITheme, config?: IChartConfig, intl?: IntlShape): any;
10
11
  //# sourceMappingURL=commonConfiguration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commonConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/commonConfiguration.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAUvE,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,yBAAyB,CAAC;AAcnF,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,0BAA0B,QAAmB,CAAC;AAiS3D,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,uBAUnD;AASD,wBAAgB,sBAAsB,CAClC,YAAY,EAAE,aAAa,EAC3B,WAAW,EAAE,YAAY,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,YAAY,GACtB,GAAG,CASL"}
1
+ {"version":3,"file":"commonConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/commonConfiguration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAUvE,OAAO,EAAkB,KAAK,aAAa,EAAwB,MAAM,yBAAyB,CAAC;AAkBnG,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,0BAA0B,QAAmB,CAAC;AAoiB3D,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,uBAUnD;AASD,wBAAgB,sBAAsB,CAClC,YAAY,EAAE,aAAa,EAC3B,WAAW,EAAE,YAAY,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,YAAY,EACrB,IAAI,CAAC,EAAE,SAAS,GACjB,GAAG,CASL"}
@@ -6,12 +6,15 @@ import { DEFAULT_CATEGORIES_LIMIT } from "../../constants/limits.js";
6
6
  import { isHighContrastMode } from "../../utils/highContrastMode.js";
7
7
  import { supportedDualAxesChartTypes } from "../_chartOptions/chartCapabilities.js";
8
8
  import { formatValueForTooltip } from "../_chartOptions/tooltip.js";
9
- import { isOneOfTypes } from "../_util/common.js";
9
+ import { decodeHtmlEntities, isOneOfTypes } from "../_util/common.js";
10
10
  import { chartClick } from "./drilldownEventing.js";
11
11
  import { setupDrilldown } from "./setupDrilldownToParentAttribute.js";
12
12
  import { styleVariables } from "./styles/variables.js";
13
13
  const isTouchDevice = typeof window !== "undefined" && ("ontouchstart" in window || navigator.maxTouchPoints > 0);
14
14
  const HIGHCHART_PLOT_LIMITED_RANGE = 1e5;
15
+ // Keyed by the chart container element; avoids expando properties on DOM nodes.
16
+ const stackKeyHandlers = new WeakMap();
17
+ const stackKeyDestroyRegistered = new WeakSet();
15
18
  export const MAX_POINT_WIDTH = 100;
16
19
  export const HOVER_BRIGHTNESS = 0.1;
17
20
  export const MINIMUM_HC_SAFE_BRIGHTNESS = Number.MIN_VALUE;
@@ -69,10 +72,233 @@ function handleTouchDeviceClick(context) {
69
72
  previousChart = currentChart;
70
73
  }
71
74
  }
72
- function decodeHtmlEntities(str) {
73
- return str.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&");
75
+ function stackLabelKey(xIdx, isNegative) {
76
+ return `${xIdx}:${isNegative ? "neg" : "pos"}`;
74
77
  }
75
- function getThemedConfiguration(theme, config, chartOptions) {
78
+ function processStackLabelAccessibility(chart, chartOptions, config, intl) {
79
+ const yAxes = chart.yAxis ?? [];
80
+ const xCategories = chart.xAxis?.[0]?.categories;
81
+ const xTitle = decodeHtmlEntities(chartOptions?.xAxes?.[0]?.label ?? "");
82
+ const totalLabel = intl?.formatMessage({ id: "visualization.stackLabel.aria.total" }) ?? "total";
83
+ const stackLabelsByAxis = new Map();
84
+ yAxes.forEach((yAxis, axisIndex) => {
85
+ if (!yAxis?.stacking?.stacks)
86
+ return;
87
+ const totalFormat = chartOptions?.yAxes?.[axisIndex]?.format;
88
+ const processed = new Set();
89
+ const stackLabelsByX = new Map();
90
+ Object.values(yAxis.stacking.stacks).forEach((stackByX) => {
91
+ Object.values(stackByX).forEach((stackItem) => {
92
+ const xIdx = stackItem.x;
93
+ const isNegative = Boolean(stackItem.isNegative);
94
+ const key = stackLabelKey(xIdx, isNegative);
95
+ if (processed.has(key))
96
+ return;
97
+ processed.add(key);
98
+ const labelEl = stackItem.label?.element;
99
+ if (!labelEl)
100
+ return;
101
+ const rawCategory = xCategories?.[xIdx];
102
+ let categoryPart;
103
+ if (rawCategory != null &&
104
+ typeof rawCategory === "object" &&
105
+ rawCategory.parent?.name != null) {
106
+ const titleParts = xTitle.split(" › ");
107
+ const parentVal = decodeHtmlEntities(rawCategory.parent.name);
108
+ const childVal = decodeHtmlEntities(rawCategory.name ?? "");
109
+ if (titleParts.length === 2) {
110
+ const parentTitle = decodeHtmlEntities(titleParts[0] ?? "");
111
+ const childTitle = decodeHtmlEntities(titleParts[1] ?? "");
112
+ const parentPart = parentTitle ? `${parentTitle}: ${parentVal}` : parentVal;
113
+ const childPart = childTitle ? `${childTitle}: ${childVal}` : childVal;
114
+ categoryPart = [parentPart, childPart].filter(Boolean).join(", ");
115
+ }
116
+ else {
117
+ categoryPart = [parentVal, childVal].filter(Boolean).join(" › ");
118
+ }
119
+ }
120
+ else {
121
+ const categoryStr = rawCategory == null
122
+ ? String(xIdx)
123
+ : typeof rawCategory === "object"
124
+ ? decodeHtmlEntities(rawCategory.name ?? String(xIdx))
125
+ : decodeHtmlEntities(String(rawCategory));
126
+ categoryPart = xTitle ? `${xTitle}: ${categoryStr}` : categoryStr;
127
+ }
128
+ const total = stackItem.total;
129
+ const formattedTotal = total == null
130
+ ? ""
131
+ : (formatValueForTooltip(total, totalFormat, config?.separators) ?? String(total));
132
+ labelEl.setAttribute("tabindex", "-1");
133
+ labelEl.setAttribute("role", "img");
134
+ labelEl.setAttribute("aria-label", `${categoryPart}, ${totalLabel}: ${formattedTotal}.`);
135
+ labelEl.setAttribute("data-x-index", String(xIdx));
136
+ labelEl.setAttribute("data-axis-index", String(axisIndex));
137
+ labelEl.setAttribute("data-stack-sign", isNegative ? "neg" : "pos");
138
+ // Prevent the inner <text> from being read separately by screen readers.
139
+ const textEl = labelEl.querySelector("text");
140
+ if (textEl)
141
+ textEl.setAttribute("aria-hidden", "true");
142
+ stackLabelsByX.set(key, labelEl);
143
+ });
144
+ });
145
+ if (stackLabelsByX.size > 0) {
146
+ stackLabelsByAxis.set(axisIndex, stackLabelsByX);
147
+ }
148
+ });
149
+ setupStackKeyboardNavigation(chart, stackLabelsByAxis);
150
+ }
151
+ function setupStackKeyboardNavigation(chart, stackLabelsByAxis) {
152
+ const container = chart.container;
153
+ if (!container)
154
+ return;
155
+ const prevHandler = stackKeyHandlers.get(container);
156
+ if (prevHandler) {
157
+ container.removeEventListener("keydown", prevHandler, true);
158
+ stackKeyHandlers.delete(container);
159
+ }
160
+ if (!stackKeyDestroyRegistered.has(container)) {
161
+ stackKeyDestroyRegistered.add(container);
162
+ Highcharts.addEvent(chart, "destroy", () => {
163
+ const current = stackKeyHandlers.get(container);
164
+ if (current) {
165
+ container.removeEventListener("keydown", current, true);
166
+ stackKeyHandlers.delete(container);
167
+ }
168
+ });
169
+ }
170
+ if (stackLabelsByAxis.size === 0) {
171
+ return;
172
+ }
173
+ const findStackedSeriesIdx = (startIdx, direction, yAxis, xIdx, isNegative) => {
174
+ const series = chart.series ?? [];
175
+ for (let i = startIdx; i >= 0 && i < series.length; i += direction) {
176
+ const point = series[i]?.points?.[xIdx];
177
+ if (series[i].visible &&
178
+ series[i].yAxis === yAxis &&
179
+ Boolean(series[i].options?.stacking) &&
180
+ point &&
181
+ !point.isNull &&
182
+ point.graphic?.element &&
183
+ (point.y ?? 0) < 0 === isNegative) {
184
+ return i;
185
+ }
186
+ }
187
+ return -1;
188
+ };
189
+ const getEffectiveReversedStacks = (yAxis) => yAxis?.options?.reversedStacks ?? true;
190
+ const getTopVisibleSeriesIdxForAxisAndSign = (yAxis, xIdx, isNegative) => getEffectiveReversedStacks(yAxis)
191
+ ? findStackedSeriesIdx(0, 1, yAxis, xIdx, isNegative)
192
+ : findStackedSeriesIdx((chart.series ?? []).length - 1, -1, yAxis, xIdx, isNegative);
193
+ const handler = (e) => {
194
+ if (!["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(e.key))
195
+ return;
196
+ const focused = document.activeElement;
197
+ if (!focused || !container.contains(focused))
198
+ return;
199
+ // ── Focused on a stack total label ──────────────────────────────
200
+ if (focused.hasAttribute("data-x-index") &&
201
+ focused.hasAttribute("data-axis-index") &&
202
+ focused.hasAttribute("data-stack-sign")) {
203
+ const xIdx = parseInt(focused.getAttribute("data-x-index"), 10);
204
+ const axisIdx = parseInt(focused.getAttribute("data-axis-index"), 10);
205
+ const isNegative = focused.getAttribute("data-stack-sign") === "neg";
206
+ const axisLabels = stackLabelsByAxis.get(axisIdx);
207
+ if (e.key === "ArrowDown") {
208
+ // Descend into the topmost visible segment of this column.
209
+ // point.highlight() draws the focus border AND sets chart.highlightedPoint,
210
+ // which is what Highcharts reads as the current position for subsequent
211
+ // arrow-key navigation. setFocusToElement alone leaves highlightedPoint stale.
212
+ const topIdx = getTopVisibleSeriesIdxForAxisAndSign(chart.yAxis?.[axisIdx], xIdx, isNegative);
213
+ const targetPoint = topIdx >= 0 ? chart.series?.[topIdx]?.points?.[xIdx] : undefined;
214
+ if (targetPoint?.highlight) {
215
+ e.stopImmediatePropagation();
216
+ e.preventDefault();
217
+ targetPoint.highlight();
218
+ }
219
+ }
220
+ else if (e.key === "ArrowLeft") {
221
+ const prev = axisLabels?.get(stackLabelKey(xIdx - 1, isNegative));
222
+ if (prev) {
223
+ e.stopImmediatePropagation();
224
+ e.preventDefault();
225
+ prev.focus();
226
+ }
227
+ }
228
+ else if (e.key === "ArrowRight") {
229
+ const next = axisLabels?.get(stackLabelKey(xIdx + 1, isNegative));
230
+ if (next) {
231
+ e.stopImmediatePropagation();
232
+ e.preventDefault();
233
+ next.focus();
234
+ }
235
+ }
236
+ return;
237
+ }
238
+ if ((e.key === "ArrowUp" || e.key === "ArrowDown") &&
239
+ focused.classList.contains("highcharts-point")) {
240
+ let focusedSeriesIdx = -1;
241
+ let focusedPointIdx = -1;
242
+ chart.series?.forEach((series, si) => {
243
+ series.points?.forEach((point, pi) => {
244
+ if (point.graphic?.element === focused) {
245
+ focusedSeriesIdx = si;
246
+ focusedPointIdx = pi;
247
+ }
248
+ });
249
+ });
250
+ if (focusedSeriesIdx === -1)
251
+ return; // couldn't identify the point
252
+ if (!chart.series?.[focusedSeriesIdx]?.options?.stacking)
253
+ return;
254
+ const focusedAxis = chart.series?.[focusedSeriesIdx]?.yAxis;
255
+ const focusedPoint = chart.series?.[focusedSeriesIdx]?.points?.[focusedPointIdx];
256
+ const focusedIsNegative = (focusedPoint?.y ?? 0) < 0;
257
+ if (e.key === "ArrowUp") {
258
+ if (focusedSeriesIdx ===
259
+ getTopVisibleSeriesIdxForAxisAndSign(focusedAxis, focusedPointIdx, focusedIsNegative)) {
260
+ const axisIdx = chart.yAxis?.indexOf(focusedAxis);
261
+ const stackLabel = axisIdx != null && axisIdx >= 0
262
+ ? stackLabelsByAxis
263
+ .get(axisIdx)
264
+ ?.get(stackLabelKey(focusedPointIdx, focusedIsNegative))
265
+ : undefined;
266
+ if (stackLabel) {
267
+ e.stopImmediatePropagation();
268
+ e.preventDefault();
269
+ chart.series?.[focusedSeriesIdx]?.points?.[focusedPointIdx]?.setState?.("");
270
+ chart.focusElement?.removeFocusBorder?.();
271
+ delete chart.focusElement;
272
+ stackLabel.focus();
273
+ }
274
+ }
275
+ else {
276
+ const towardTop = getEffectiveReversedStacks(focusedAxis) ? -1 : 1;
277
+ const nextIdx = findStackedSeriesIdx(focusedSeriesIdx + towardTop, towardTop, focusedAxis, focusedPointIdx, focusedIsNegative);
278
+ const nextPoint = nextIdx >= 0 ? chart.series?.[nextIdx]?.points?.[focusedPointIdx] : undefined;
279
+ if (nextPoint?.highlight) {
280
+ e.stopImmediatePropagation();
281
+ e.preventDefault();
282
+ nextPoint.highlight();
283
+ }
284
+ }
285
+ }
286
+ else {
287
+ const towardBottom = getEffectiveReversedStacks(focusedAxis) ? 1 : -1;
288
+ const prevIdx = findStackedSeriesIdx(focusedSeriesIdx + towardBottom, towardBottom, focusedAxis, focusedPointIdx, focusedIsNegative);
289
+ const prevPoint = prevIdx >= 0 ? chart.series?.[prevIdx]?.points?.[focusedPointIdx] : undefined;
290
+ if (prevPoint?.highlight) {
291
+ e.stopImmediatePropagation();
292
+ e.preventDefault();
293
+ prevPoint.highlight();
294
+ }
295
+ }
296
+ }
297
+ };
298
+ stackKeyHandlers.set(container, handler);
299
+ container.addEventListener("keydown", handler, true);
300
+ }
301
+ function getThemedConfiguration(theme, config, chartOptions, intl) {
76
302
  // Check if Windows High Contrast Mode is active
77
303
  const isHighContrast = isHighContrastMode();
78
304
  const backgroundColor = getBackgroundColor(theme);
@@ -89,6 +315,9 @@ function getThemedConfiguration(theme, config, chartOptions) {
89
315
  enabled: config?.enableHighchartsAccessibility ?? true,
90
316
  point: {
91
317
  descriptionFormatter: (point) => {
318
+ if (chartOptions?.actions?.pointDescription) {
319
+ return chartOptions.actions.pointDescription(point);
320
+ }
92
321
  const anyPoint = point;
93
322
  const xAxisTitle = decodeHtmlEntities(anyPoint.series?.xAxis?.axisTitle?.textStr ?? "");
94
323
  const rawCategory = anyPoint.category;
@@ -97,45 +326,31 @@ function getThemedConfiguration(theme, config, chartOptions) {
97
326
  : typeof rawCategory === "string"
98
327
  ? rawCategory
99
328
  : "");
329
+ const parentCategory = decodeHtmlEntities(typeof rawCategory === "object" ? (rawCategory?.parent?.name ?? "") : "");
100
330
  const seriesName = decodeHtmlEntities(point.series.name);
101
331
  const pointName = decodeHtmlEntities(anyPoint.name ?? "");
102
- // treemaps store the data value in point.value; other charts use point.y
103
- const rawValue = anyPoint.value ?? point.y;
104
- const yValue = formatValueForTooltip(rawValue, anyPoint.format, config?.separators) ??
105
- String(rawValue ?? "");
106
- // Bubble chart: series type is "bubble"; x/y/z are measures, not categories
107
- if (anyPoint.series?.type === "bubble") {
108
- const xAxisLabel = decodeHtmlEntities(chartOptions?.xAxes?.[0]?.label ?? "");
109
- const yAxisLabel = decodeHtmlEntities(chartOptions?.yAxes?.[0]?.label ?? "");
110
- const zAxisLabel = decodeHtmlEntities(chartOptions?.zAxes?.[0]?.label ?? "");
111
- const xVal = formatValueForTooltip(anyPoint.x, chartOptions?.xAxes?.[0]?.format, config?.separators) ?? String(anyPoint.x ?? "");
112
- const yVal = formatValueForTooltip(anyPoint.y, chartOptions?.yAxes?.[0]?.format, config?.separators) ?? String(anyPoint.y ?? "");
113
- const zVal = formatValueForTooltip(anyPoint.z, chartOptions?.zAxes?.[0]?.format, config?.separators) ?? String(anyPoint.z ?? "");
114
- // Bubble charts use viewByTitle (hasStackByAttribute is not set for bubble)
115
- const attrTitle = stackByTitle || viewByTitle;
116
- const namePart = attrTitle && pointName ? `${attrTitle}: ${pointName}` : pointName;
117
- const parts = [];
118
- if (namePart)
119
- parts.push(namePart);
120
- parts.push(xAxisLabel ? `${xAxisLabel}: ${xVal}` : `x: ${xVal}`);
121
- // Only include y/z when the measures are actually configured
122
- if (yAxisLabel)
123
- parts.push(`${yAxisLabel}: ${yVal}`);
124
- if (Number.isFinite(anyPoint.z)) {
125
- parts.push(zAxisLabel ? `${zAxisLabel}: ${zVal}` : `z: ${zVal}`);
126
- }
127
- return `${parts.join(", ")}.`;
332
+ const yValue = formatValueForTooltip(point.y, anyPoint.format, config?.separators) ??
333
+ String(point.y ?? "");
334
+ let xPart;
335
+ if (parentCategory && category) {
336
+ const titleParts = xAxisTitle.split(" ");
337
+ xPart =
338
+ titleParts.length === 2
339
+ ? `${titleParts[0]}: ${parentCategory}, ${titleParts[1]}: ${category}`
340
+ : `${parentCategory} ${category}`;
341
+ }
342
+ else {
343
+ const effectiveXTitle = xAxisTitle ||
344
+ viewByTitle ||
345
+ decodeHtmlEntities(chartOptions?.xAxes?.[0]?.label ?? "");
346
+ xPart = effectiveXTitle && category ? `${effectiveXTitle}: ${category}` : category;
128
347
  }
129
- const xPart = xAxisTitle && category ? `${xAxisTitle}: ${category}` : category;
130
348
  if (xPart) {
131
349
  if (stackByTitle && measureName) {
132
- // Stacked: "Department: Direct Sales, Region: East Coast, Won: $8 384 271,02."
133
350
  return `${xPart}, ${stackByTitle}: ${seriesName}, ${measureName}: ${yValue}.`;
134
351
  }
135
352
  return `${xPart}, ${seriesName}: ${yValue}.`;
136
353
  }
137
- // For pie/treemap/funnel etc.: point.name is the slice label.
138
- // When there is a viewBy, include its title and the measure name.
139
354
  if (pointName) {
140
355
  if (viewByTitle && pointName !== seriesName) {
141
356
  return `${viewByTitle}: ${pointName}, ${seriesName}: ${yValue}.`;
@@ -214,6 +429,10 @@ function getThemedConfiguration(theme, config, chartOptions) {
214
429
  events: {
215
430
  afterGetContainer() {
216
431
  handleTooltipOffScreen(this.renderTo);
432
+ // Stack on top of any existing render handlers (addEvent does not replace).
433
+ Highcharts.addEvent(this, "render", () => {
434
+ processStackLabelAccessibility(this, chartOptions, config, intl);
435
+ });
217
436
  },
218
437
  },
219
438
  },
@@ -259,8 +478,8 @@ function registerRenderHandler(configuration, chartOptions) {
259
478
  }
260
479
  return configuration;
261
480
  }
262
- export function getCommonConfiguration(chartOptions, drillConfig, theme, config) {
263
- const commonConfiguration = getThemedConfiguration(theme, config, chartOptions);
481
+ export function getCommonConfiguration(chartOptions, drillConfig, theme, config, intl) {
482
+ const commonConfiguration = getThemedConfiguration(theme, config, chartOptions, intl);
264
483
  const handlers = [registerDrilldownHandler, registerRenderHandler];
265
484
  return handlers.reduce((configuration, handler) => handler(configuration, chartOptions, drillConfig), commonConfiguration);
266
485
  }
@@ -1 +1 @@
1
- {"version":3,"file":"customConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/customConfiguration.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,KAAK,MAAM,EAA4B,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAkB,KAAK,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AAGzF,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAEH,KAAK,iBAAiB,EAGzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEH,KAAK,aAAa,EAMlB,KAAK,mCAAmC,EAC3C,MAAM,yBAAyB,CAAC;AA0GjC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AA+D9C,wBAAgB,mCAAmC,CAC/C,IAAI,EAAE,UAAU,CAAC,gCAAgC,EACjD,QAAQ,EAAE,GAAG,GACd,MAAM,CAkBR;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,gCAAgC,GAAG,MAAM,CAiB3F;AAyFD,wBAAgB,kCAAkC,CAC9C,IAAI,EAAE,UAAU,CAAC,OAAO,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,mCAAmC,GAC3C;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAmB1B;AA8CD,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,UAAU,CAAC,OAAO,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,mCAAmC,GAC3C;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CA2B1B;AA6JD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAarF;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAO3F;AAucD,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,GAAG,CASvE;AA0ND,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,MAAM,aAAa,EAClC,6BAA6B,EAAE,OAAO,GACvC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CActB;AA+DD,eAAO,MAAM,oBAAoB;;CAgBhC,CAAC;AAgVF,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,aAAa,EAC3B,WAAW,CAAC,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,YAAY,EAC1B,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,MAAM,GACf,iBAAiB,CA+BnB"}
1
+ {"version":3,"file":"customConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/customConfiguration.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,KAAK,MAAM,EAA4B,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAkB,KAAK,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AAGzF,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAEH,KAAK,iBAAiB,EAGzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEH,KAAK,aAAa,EAMlB,KAAK,mCAAmC,EAC3C,MAAM,yBAAyB,CAAC;AA0GjC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AA+D9C,wBAAgB,mCAAmC,CAC/C,IAAI,EAAE,UAAU,CAAC,gCAAgC,EACjD,QAAQ,EAAE,GAAG,GACd,MAAM,CAkBR;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,gCAAgC,GAAG,MAAM,CAiB3F;AAyFD,wBAAgB,kCAAkC,CAC9C,IAAI,EAAE,UAAU,CAAC,OAAO,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,mCAAmC,GAC3C;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAmB1B;AA8CD,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,UAAU,CAAC,OAAO,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,mCAAmC,GAC3C;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CA2B1B;AA6JD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAarF;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAO3F;AAucD,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,GAAG,CASvE;AA0ND,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,MAAM,aAAa,EAClC,6BAA6B,EAAE,OAAO,GACvC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CActB;AA+DD,eAAO,MAAM,oBAAoB;;CAgBhC,CAAC;AAkVF,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,aAAa,EAC3B,WAAW,CAAC,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,YAAY,EAC1B,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,MAAM,GACf,iBAAiB,CA+BnB"}
@@ -1234,11 +1234,13 @@ function getReversedStacking(chartOptions, _config, chartConfig) {
1234
1234
  const hasAnyStackOptionSelected = chartConfig?.stackMeasures ||
1235
1235
  chartConfig?.stackMeasuresToPercent ||
1236
1236
  chartOptions?.hasStackByAttribute;
1237
- const shouldReverseStacking = isBarChart(chartConfig?.type) && chartConfig?.enableReversedStacking && hasAnyStackOptionSelected;
1237
+ const isHorizontalBar = isBarChart(chartConfig?.type);
1238
+ const shouldReverseStacking = isHorizontalBar && chartConfig?.enableReversedStacking && hasAnyStackOptionSelected;
1239
+ const reversedStacks = isHorizontalBar ? !shouldReverseStacking : true;
1238
1240
  return {
1239
1241
  yAxis: yAxes.map((axis) => axis
1240
1242
  ? {
1241
- reversedStacks: !shouldReverseStacking,
1243
+ reversedStacks,
1242
1244
  }
1243
1245
  : {}),
1244
1246
  };
@@ -49,7 +49,7 @@ const chartConfigurationMap = {
49
49
  export function getHighchartsOptions(chartOptions, drillConfig, config, definition, intl, theme) {
50
50
  const getConfigurationByType = chartConfigurationMap[chartOptions.type];
51
51
  invariant(getConfigurationByType, `visualisation type ${chartOptions.type} is invalid (valid types: ${stringifyChartTypes()}).`);
52
- return merge({}, getCommonConfiguration(chartOptions, drillConfig, theme, config), getConfigurationByType.call(null, config, definition, theme), getCustomizedConfiguration(chartOptions, config, drillConfig, intl, theme));
52
+ return merge({}, getCommonConfiguration(chartOptions, drillConfig, theme, config, intl), getConfigurationByType.call(null, config, definition, theme), getCustomizedConfiguration(chartOptions, config, drillConfig, intl, theme));
53
53
  }
54
54
  export function isDataOfReasonableSize(chartData, limits, isViewByTwoAttributes = false) {
55
55
  let result = true;
@@ -1 +1 @@
1
- {"version":3,"file":"chartOptionsBuilder.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAyD,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAEH,cAAc,EACd,KAAK,gBAAgB,EAGxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,8BAA8B,CAAC;AAE3F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AASvE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,WAAW,EAEnB,MAAM,yBAAyB,CAAC;AAuJjC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,wBAAgB,qBAAqB,CACjC,MAAM,2BAAoB,EAC1B,aAAa,EAAE,cAAc,GAC9B,2BAA2B,EAAE,CAoC/B;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,cAAc,GAAG,iBAAiB,CAuBjF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,GAAG,iBAAiB,CA4C1E;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,cAAc,GAAG,iBAAiB,CAmB9E;AAED,KAAK,iBAAiB,GAAG;IACrB,eAAe,CAAC,EAAE,mCAAmC,GAAG,IAAI,CAAC;IAC7D,qBAAqB,CAAC,EAAE,mCAAmC,GAAG,IAAI,CAAC;IACnE,gBAAgB,CAAC,EAAE,mCAAmC,GAAG,IAAI,CAAC;IAC9D,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AA8EF,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,YAAY,EACzB,cAAc,EAAE,gBAAgB,EAAE,EAClC,gBAAgB,EAAE,MAAM,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,EACzB,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACxB,aAAa,CA2cf"}
1
+ {"version":3,"file":"chartOptionsBuilder.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAyD,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAEH,cAAc,EACd,KAAK,gBAAgB,EAGxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,8BAA8B,CAAC;AAE3F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AASvE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,WAAW,EAEnB,MAAM,yBAAyB,CAAC;AA2JjC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,wBAAgB,qBAAqB,CACjC,MAAM,2BAAoB,EAC1B,aAAa,EAAE,cAAc,GAC9B,2BAA2B,EAAE,CAoC/B;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,cAAc,GAAG,iBAAiB,CAuBjF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,GAAG,iBAAiB,CA4C1E;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,cAAc,GAAG,iBAAiB,CAmB9E;AAED,KAAK,iBAAiB,GAAG;IACrB,eAAe,CAAC,EAAE,mCAAmC,GAAG,IAAI,CAAC;IAC7D,qBAAqB,CAAC,EAAE,mCAAmC,GAAG,IAAI,CAAC;IACnE,gBAAgB,CAAC,EAAE,mCAAmC,GAAG,IAAI,CAAC;IAC9D,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AA8EF,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,YAAY,EACzB,cAAc,EAAE,gBAAgB,EAAE,EAClC,gBAAgB,EAAE,MAAM,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,EACzB,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACxB,aAAa,CAief"}
@@ -19,7 +19,7 @@ import { assignForecastAxes } from "./chartForecast.js";
19
19
  import { assignOutliersAxes } from "./chartOutliers.js";
20
20
  import { getSeries } from "./chartSeries.js";
21
21
  import { filterThresholdZonesCategories, setupComboThresholdZones, setupThresholdZones, } from "./chartThresholds.js";
22
- import { buildTooltipFactory, generateTooltipHeatmapFn, generateTooltipSankeyChartFn, generateTooltipScatterPlotFn, generateTooltipXYFn, getTooltipFactory, getTooltipWaterfallChart, } from "./chartTooltips.js";
22
+ import { buildTooltipFactory, generateDescriptionHeatmapFn, generateDescriptionScatterPlotFn, generateDescriptionTreemapFn, generateDescriptionXYFn, generateTooltipHeatmapFn, generateTooltipSankeyChartFn, generateTooltipScatterPlotFn, generateTooltipXYFn, getTooltipFactory, getTooltipWaterfallChart, } from "./chartTooltips.js";
23
23
  import { ColorFactory } from "./colorFactory.js";
24
24
  import { setMeasuresToSecondaryAxis } from "./dualAxis.js";
25
25
  import { getCategoriesForTwoAttributes } from "./extendedStackingChartOptions.js";
@@ -321,6 +321,8 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
321
321
  type,
322
322
  stacking,
323
323
  legendLayout: "horizontal",
324
+ segmentByLabel: viewByAttribute?.formOf?.name,
325
+ stackByAttributeLabel: stackByAttribute?.formOf?.name,
324
326
  yAxes,
325
327
  xAxes,
326
328
  data: {
@@ -329,6 +331,7 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
329
331
  },
330
332
  actions: {
331
333
  tooltip: generateTooltipScatterPlotFn(measures, stackByAttribute, viewByAttribute, config, clusterTitle),
334
+ pointDescription: generateDescriptionScatterPlotFn(viewByAttribute, stackByAttribute, xAxes, yAxes, config),
332
335
  },
333
336
  grid: {
334
337
  enabled: gridEnabled,
@@ -361,6 +364,7 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
361
364
  },
362
365
  actions: {
363
366
  tooltip: generateTooltipHeatmapFn(viewByAttribute, stackByAttribute, emptyHeaderTitle, config),
367
+ pointDescription: generateDescriptionHeatmapFn(xAxes, yAxes, categories, unwrap(measureGroup.items[0]).format, viewByAttribute?.formOf?.name, config),
364
368
  },
365
369
  grid: {
366
370
  enabled: false,
@@ -418,6 +422,7 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
418
422
  },
419
423
  actions: {
420
424
  tooltip: generateTooltipXYFn(measures, stackByAttribute, config),
425
+ pointDescription: generateDescriptionXYFn(stackByAttribute, xAxes, yAxes, zAxes, config),
421
426
  },
422
427
  grid: {
423
428
  enabled: gridEnabled,
@@ -509,6 +514,7 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
509
514
  hasViewByAttribute: Boolean(viewByAttribute),
510
515
  legendLayout: config.legendLayout || "horizontal",
511
516
  legendLabel: getLegendLabel(type, viewByAttribute, stackByAttribute),
517
+ segmentByLabel: isTreemap(type) ? stackByAttribute?.formOf?.name : undefined,
512
518
  xAxes,
513
519
  yAxes,
514
520
  data: {
@@ -517,6 +523,9 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
517
523
  },
518
524
  actions: {
519
525
  tooltip: tooltipFactory,
526
+ pointDescription: isTreemap(type)
527
+ ? generateDescriptionTreemapFn(viewByAttribute, stackByAttribute, yAxes, config)
528
+ : undefined,
520
529
  },
521
530
  grid: {
522
531
  enabled: gridEnabled,
@@ -1,13 +1,17 @@
1
1
  import { type IMeasureDescriptor } from "@gooddata/sdk-model";
2
2
  import { type IChartConfig } from "../../../interfaces/chartConfig.js";
3
3
  import { type IUnwrappedAttributeHeadersWithItems } from "../../typings/mess.js";
4
- import { type ITooltipFactory, type IUnsafeHighchartsTooltipPoint } from "../../typings/unsafe.js";
4
+ import { type IAxis, type IPointDescriptionFn, type ITooltipFactory, type IUnsafeHighchartsTooltipPoint } from "../../typings/unsafe.js";
5
5
  export declare function buildTooltipFactory(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, type: string | undefined, config?: IChartConfig, isDualAxis?: boolean, measure?: IMeasureDescriptor, stackByAttribute?: IUnwrappedAttributeHeadersWithItems | null): ITooltipFactory;
6
6
  export declare function buildTooltipForTwoAttributesFactory(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, viewByParentAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, config?: IChartConfig, isDualAxis?: boolean, measure?: IMeasureDescriptor, stackByAttribute?: IUnwrappedAttributeHeadersWithItems | null): ITooltipFactory;
7
7
  export declare function generateTooltipXYFn(measures: (IMeasureDescriptor | null)[], stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, config?: IChartConfig): ITooltipFactory;
8
+ export declare function generateDescriptionXYFn(stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, xAxes: IAxis[] | undefined, yAxes: IAxis[] | undefined, zAxes: IAxis[] | undefined, config?: IChartConfig): IPointDescriptionFn;
9
+ export declare function generateDescriptionScatterPlotFn(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, xAxes: IAxis[] | undefined, yAxes: IAxis[] | undefined, config?: IChartConfig): IPointDescriptionFn;
8
10
  export declare function generateTooltipScatterPlotFn(measures: (IMeasureDescriptor | null)[], stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, config?: IChartConfig, clusterTitle?: string): ITooltipFactory;
9
11
  export declare function generateTooltipHeatmapFn(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, emptyHeaderTitle: string, config?: IChartConfig): ITooltipFactory;
12
+ export declare function generateDescriptionHeatmapFn(xAxes: IAxis[] | undefined, yAxes: IAxis[] | undefined, categories: string[][] | undefined, valueFormat: string | undefined, viewByAttributeTitle: string | undefined, config?: IChartConfig): IPointDescriptionFn;
10
13
  export declare function buildTooltipTreemapFactory(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, emptyHeaderTitle: string, config?: IChartConfig): ITooltipFactory;
14
+ export declare function generateDescriptionTreemapFn(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, yAxes: IAxis[] | undefined, config?: IChartConfig): IPointDescriptionFn;
11
15
  export declare function generateTooltipSankeyChartFn(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, viewByParentAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, measure: IMeasureDescriptor, config?: IChartConfig): ITooltipFactory;
12
16
  export declare function getTooltipWaterfallChart(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, config?: IChartConfig): (point: IUnsafeHighchartsTooltipPoint, maxTooltipContentWidth: number, percentageValue?: number | undefined) => string;
13
17
  export declare function getTooltipFactory(isViewByTwoAttributes: boolean, viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, viewByParentAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, measure: IMeasureDescriptor | undefined, emptyHeaderTitle: string, config?: IChartConfig, isDualAxis?: boolean): ITooltipFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"chartTooltips.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartTooltips.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAI9D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAEH,KAAK,eAAe,EACpB,KAAK,6BAA6B,EACrC,MAAM,yBAAyB,CAAC;AAsEjC,wBAAgB,mBAAmB,CAC/B,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,GAAE,YAAiB,EACzB,UAAU,GAAE,OAAe,EAC3B,OAAO,CAAC,EAAE,kBAAkB,EAC5B,gBAAgB,CAAC,EAAE,mCAAmC,GAAG,IAAI,GAC9D,eAAe,CAqCjB;AAED,wBAAgB,mCAAmC,CAC/C,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,qBAAqB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EAC7E,MAAM,GAAE,YAAiB,EACzB,UAAU,GAAE,OAAe,EAC3B,OAAO,CAAC,EAAE,kBAAkB,EAC5B,gBAAgB,CAAC,EAAE,mCAAmC,GAAG,IAAI,GAC9D,eAAe,CAuCjB;AAED,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,EACvC,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACxE,MAAM,GAAE,YAAiB,GAC1B,eAAe,CAkCjB;AAED,wBAAgB,4BAA4B,CACxC,QAAQ,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,EACvC,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACxE,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,MAAM,GAAE,YAAiB,EACzB,YAAY,CAAC,EAAE,MAAM,GACtB,eAAe,CAqCjB;AAED,wBAAgB,wBAAwB,CACpC,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACxE,gBAAgB,EAAE,MAAM,EACxB,MAAM,GAAE,YAAiB,GAC1B,eAAe,CA2CjB;AAED,wBAAgB,0BAA0B,CACtC,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACxE,gBAAgB,EAAE,MAAM,EACxB,MAAM,GAAE,YAAiB,GAC1B,eAAe,CAyCjB;AAED,wBAAgB,4BAA4B,CACxC,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,qBAAqB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EAC7E,OAAO,EAAE,kBAAkB,EAC3B,MAAM,GAAE,YAAiB,GAC1B,eAAe,CAsBjB;AAED,wBAAgB,wBAAwB,CACpC,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,MAAM,GAAE,YAAiB,0HAwB5B;AAED,wBAAgB,iBAAiB,CAC7B,qBAAqB,EAAE,OAAO,EAC9B,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,qBAAqB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EAC7E,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACxE,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,gBAAgB,EAAE,MAAM,EACxB,MAAM,GAAE,YAAiB,EACzB,UAAU,GAAE,OAAe,GAC5B,eAAe,CAgBjB"}
1
+ {"version":3,"file":"chartTooltips.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartTooltips.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import cx from "classnames";
3
3
  import { ClientFormatterFacade } from "@gooddata/number-formatter";
4
4
  import { getMappingHeaderFormattedName } from "@gooddata/sdk-ui";
5
5
  import { valueWithEmptyHandling } from "@gooddata/sdk-ui-vis-commons";
6
- import { customEscape, isCssMultiLineTruncationSupported, isOneOfTypes, isTreemap, unwrap, } from "../_util/common.js";
6
+ import { customEscape, decodeHtmlEntities, isCssMultiLineTruncationSupported, isOneOfTypes, isTreemap, unwrap, } from "../_util/common.js";
7
7
  import { multiMeasuresAlternatingTypes } from "./chartCapabilities.js";
8
8
  import { formatValueForTooltip, getFormattedValueForTooltip } from "./tooltip.js";
9
9
  const TOOLTIP_PADDING = 10;
@@ -132,6 +132,61 @@ export function generateTooltipXYFn(measures, stackByAttribute, config = {}) {
132
132
  return renderTooltipHTML(textData, maxTooltipContentWidth);
133
133
  };
134
134
  }
135
+ function decodeAxisLabel(axis) {
136
+ return decodeHtmlEntities(axis?.label ?? "");
137
+ }
138
+ function formatAxisValue(value, axis, separators) {
139
+ return formatValueForTooltip(value, axis?.format, separators) ?? String(value ?? "");
140
+ }
141
+ export function generateDescriptionXYFn(stackByAttribute, xAxes, yAxes, zAxes, config = {}) {
142
+ const { separators } = config;
143
+ const attrTitle = decodeHtmlEntities(stackByAttribute?.formOf?.name ?? "");
144
+ return (point) => {
145
+ const pointName = decodeHtmlEntities(point.name ?? "");
146
+ const xAxisLabel = decodeAxisLabel(xAxes?.[0]);
147
+ const yAxisLabel = decodeAxisLabel(yAxes?.[0]);
148
+ const zAxisLabel = decodeAxisLabel(zAxes?.[0]);
149
+ const xVal = formatAxisValue(point.x, xAxes?.[0], separators);
150
+ const yVal = formatAxisValue(point.y, yAxes?.[0], separators);
151
+ const zVal = formatAxisValue(point.z, zAxes?.[0], separators);
152
+ const namePart = attrTitle && pointName ? `${attrTitle}: ${pointName}` : pointName;
153
+ const parts = [];
154
+ if (namePart)
155
+ parts.push(namePart);
156
+ parts.push(xAxisLabel ? `${xAxisLabel}: ${xVal}` : `x: ${xVal}`);
157
+ if (yAxisLabel)
158
+ parts.push(`${yAxisLabel}: ${yVal}`);
159
+ if (Number.isFinite(point.z)) {
160
+ parts.push(zAxisLabel ? `${zAxisLabel}: ${zVal}` : `z: ${zVal}`);
161
+ }
162
+ return `${parts.join(", ")}.`;
163
+ };
164
+ }
165
+ export function generateDescriptionScatterPlotFn(viewByAttribute, stackByAttribute, xAxes, yAxes, config = {}) {
166
+ const { separators } = config;
167
+ const attrTitle = decodeHtmlEntities(viewByAttribute?.formOf?.name ?? "");
168
+ const segmentTitle = decodeHtmlEntities(stackByAttribute?.formOf?.name ?? "");
169
+ return (point) => {
170
+ const pointName = decodeHtmlEntities(point.name ?? "");
171
+ const segmentName = decodeHtmlEntities(point.segmentName ?? "");
172
+ const xAxisLabel = decodeAxisLabel(xAxes?.[0]);
173
+ const yAxisLabel = decodeAxisLabel(yAxes?.[0]);
174
+ const xVal = formatAxisValue(point.x, xAxes?.[0], separators);
175
+ const yVal = formatAxisValue(point.y, yAxes?.[0], separators);
176
+ const namePart = attrTitle && pointName ? `${attrTitle}: ${pointName}` : pointName;
177
+ const parts = [];
178
+ if (segmentName) {
179
+ parts.push(segmentTitle ? `${segmentTitle}: ${segmentName}` : segmentName);
180
+ }
181
+ if (namePart)
182
+ parts.push(namePart);
183
+ if (xAxisLabel)
184
+ parts.push(`${xAxisLabel}: ${xVal}`);
185
+ if (yAxisLabel)
186
+ parts.push(`${yAxisLabel}: ${yVal}`);
187
+ return `${parts.join(", ")}.`;
188
+ };
189
+ }
135
190
  export function generateTooltipScatterPlotFn(measures, stackByAttribute, viewByAttribute, config = {}, clusterTitle) {
136
191
  const { separators } = config;
137
192
  return (point, maxTooltipContentWidth) => {
@@ -190,6 +245,49 @@ export function generateTooltipHeatmapFn(viewByAttribute, stackByAttribute, empt
190
245
  return renderTooltipHTML(textData, maxTooltipContentWidth);
191
246
  };
192
247
  }
248
+ export function generateDescriptionHeatmapFn(xAxes, yAxes, categories, valueFormat, viewByAttributeTitle, config = {}) {
249
+ const { separators } = config;
250
+ const viewByTitle = decodeHtmlEntities(viewByAttributeTitle ?? "");
251
+ return (point) => {
252
+ const xAxisTitle = decodeHtmlEntities(point.series?.xAxis?.axisTitle?.textStr ?? "");
253
+ const rawCategory = point.category;
254
+ const category = decodeHtmlEntities(typeof rawCategory === "object" && rawCategory?.name
255
+ ? rawCategory.name
256
+ : typeof rawCategory === "string"
257
+ ? rawCategory
258
+ : "");
259
+ const parentCategory = decodeHtmlEntities(typeof rawCategory === "object" ? (rawCategory?.parent?.name ?? "") : "");
260
+ const seriesName = decodeHtmlEntities(point.series.name);
261
+ let xPart;
262
+ if (parentCategory && category) {
263
+ const titleParts = xAxisTitle.split(" › ");
264
+ xPart =
265
+ titleParts.length === 2
266
+ ? `${titleParts[0]}: ${parentCategory}, ${titleParts[1]}: ${category}`
267
+ : `${parentCategory} › ${category}`;
268
+ }
269
+ else {
270
+ const effectiveXTitle = xAxisTitle || viewByTitle || decodeAxisLabel(xAxes?.[0]);
271
+ xPart = effectiveXTitle && category ? `${effectiveXTitle}: ${category}` : category;
272
+ }
273
+ const yIdx = typeof point.y === "number" ? point.y : -1;
274
+ const rowCats = categories?.[1];
275
+ const yRaw = yIdx >= 0 && Array.isArray(rowCats) ? rowCats[yIdx] : undefined;
276
+ const yCategory = typeof yRaw === "string" ? decodeHtmlEntities(yRaw) : "";
277
+ const yTitle = decodeAxisLabel(yAxes?.[0]);
278
+ const rawValue = point.value;
279
+ const formattedValue = formatValueForTooltip(rawValue, valueFormat, separators) ?? String(rawValue ?? "");
280
+ const parts = [];
281
+ if (yTitle && yCategory)
282
+ parts.push(`${yTitle}: ${yCategory}`);
283
+ else if (yCategory)
284
+ parts.push(yCategory);
285
+ if (xPart)
286
+ parts.push(xPart);
287
+ parts.push(`${seriesName}: ${formattedValue}`);
288
+ return `${parts.join(", ")}.`;
289
+ };
290
+ }
193
291
  export function buildTooltipTreemapFactory(viewByAttribute, stackByAttribute, emptyHeaderTitle, config = {}) {
194
292
  const { separators } = config;
195
293
  return (point, maxTooltipContentWidth) => {
@@ -218,6 +316,52 @@ export function buildTooltipTreemapFactory(viewByAttribute, stackByAttribute, em
218
316
  return renderTooltipHTML(textData, maxTooltipContentWidth);
219
317
  };
220
318
  }
319
+ export function generateDescriptionTreemapFn(viewByAttribute, stackByAttribute, yAxes, config = {}) {
320
+ const { separators } = config;
321
+ const hasStackByAttribute = Boolean(stackByAttribute);
322
+ const stackByTitle = decodeHtmlEntities(hasStackByAttribute ? (viewByAttribute?.formOf?.name ?? "") : "");
323
+ const viewByTitle = decodeHtmlEntities(hasStackByAttribute ? "" : (viewByAttribute?.formOf?.name ?? ""));
324
+ const segmentByTitle = decodeHtmlEntities(stackByAttribute?.formOf?.name ?? "");
325
+ const measureName = decodeAxisLabel(yAxes?.[0]);
326
+ return (point) => {
327
+ const pointName = decodeHtmlEntities(point.name ?? "");
328
+ const seriesName = decodeHtmlEntities(point.series.name);
329
+ const rawValue = point.value;
330
+ const yValue = formatValueForTooltip(rawValue, point.format, separators) ?? String(rawValue ?? "");
331
+ const hasParent = point.parent !== undefined && point.parent !== "";
332
+ if (!hasParent && point.value == null) {
333
+ return "";
334
+ }
335
+ if (hasParent) {
336
+ const seriesPoints = point.series.points;
337
+ const parentPoint = seriesPoints?.find((p) => p.id === point.parent);
338
+ const segmentName = decodeHtmlEntities(parentPoint?.name ?? "");
339
+ if (segmentByTitle && pointName) {
340
+ const parts = [];
341
+ if (stackByTitle && segmentName) {
342
+ parts.push(`${stackByTitle}: ${segmentName}`);
343
+ }
344
+ parts.push(`${segmentByTitle}: ${pointName}`);
345
+ const valueName = stackByTitle
346
+ ? measureName || seriesName
347
+ : segmentName || measureName || seriesName;
348
+ parts.push(`${valueName}: ${yValue}`);
349
+ return `${parts.join(", ")}.`;
350
+ }
351
+ if (viewByTitle && segmentName) {
352
+ return `${viewByTitle}: ${segmentName}, ${measureName || seriesName}: ${yValue}.`;
353
+ }
354
+ return segmentName ? `${segmentName}: ${yValue}.` : `${measureName || seriesName}: ${yValue}.`;
355
+ }
356
+ if (pointName) {
357
+ const dimTitle = viewByTitle || stackByTitle;
358
+ return dimTitle
359
+ ? `${dimTitle}: ${pointName}, ${measureName || seriesName}: ${yValue}.`
360
+ : `${pointName}: ${yValue}.`;
361
+ }
362
+ return `${seriesName}: ${yValue}.`;
363
+ };
364
+ }
221
365
  export function generateTooltipSankeyChartFn(viewByAttribute, viewByParentAttribute, measure, config = {}) {
222
366
  const { separators } = config;
223
367
  return (point, maxTooltipContentWidth) => {
@@ -5,6 +5,7 @@ export declare function parseValue(value: DataValue): number | null;
5
5
  export declare const immutableSet: <T extends object, U>(dataSet: T, path: import("lodash-es").PropertyPath, newValue: U) => T;
6
6
  export declare const repeatItemsNTimes: <T>(array: T[], n: number) => T[];
7
7
  export declare const unEscapeAngleBrackets: (str: string) => string;
8
+ export declare function decodeHtmlEntities(str: string): string;
8
9
  export declare function isRotationInRange(rotation: number, min: number, max: number): boolean;
9
10
  /**
10
11
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_util/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_util/common.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElG,OAAO,EAAE,KAAK,aAAa,EAAwB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAErG,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAM1D;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,iBAAiB,CAAC,uEAIM,CAAC;AAEvD,eAAO,MAAM,iBAAiB,GAAI,CAAC,+BAIzB,CAAC;AAEX,eAAO,MAAM,qBAAqB,yBAC8B,CAAC;AAEjE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAErF;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,uCAA4E,CAAC;AAEvG;;GAEG;AACH,eAAO,MAAM,UAAU,uCAAyE,CAAC;AAEjG;;GAEG;AACH,eAAO,MAAM,aAAa,uCAA4E,CAAC;AAEvG;;GAEG;AACH,eAAO,MAAM,WAAW,uCAA0E,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,aAAa,uCAA6E,CAAC;AAExG;;GAEG;AACH,eAAO,MAAM,UAAU,uCAAyE,CAAC;AAEjG;;GAEG;AACH,eAAO,MAAM,YAAY,uCAA2E,CAAC;AAErG;;GAEG;AACH,eAAO,MAAM,iBAAiB,uCACY,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,WAAW,uCAA0E,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,aAAa,uCAA4E,CAAC;AAEvG;;GAEG;AACH,eAAO,MAAM,YAAY,uCACkD,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,SAAS,uCAA6E,CAAC;AAEpG;;GAEG;AACH,eAAO,MAAM,SAAS,uCAA6E,CAAC;AAEpG;;GAEG;AACH,eAAO,MAAM,QAAQ,uCAA4E,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,SAAS,uCAA6E,CAAC;AAEpG;;GAEG;AACH,eAAO,MAAM,QAAQ,uCAA4E,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,iBAAiB,uCACkB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,yBAAyB,uCACO,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,WAAW,uCAA+E,CAAC;AAExG;;GAEG;AACH,eAAO,MAAM,YAAY,uCAA2E,CAAC;AAErG;;GAEG;AACH,eAAO,MAAM,OAAO,uCAA2E,CAAC;AAEhG;;GAEG;AACH,eAAO,MAAM,mCAAmC,uCACkB,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,mBAAmB,+FAIwE,CAAC;AACzG,eAAO,MAAM,gBAAgB,uCAK5B,CAAC;AACF,eAAO,MAAM,YAAY,wDACK,CAAC;AAC/B,eAAO,MAAM,mBAAmB,cAA6D,CAAC;AAE9F,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EAAE,GACzB,MAAM,CA6BR;AAED,eAAO,MAAM,mBAAmB,yCAK/B,CAAC;AAEF,eAAO,MAAM,MAAM,6BAElB,CAAC;AAmBF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAS1F;AAED,eAAO,MAAM,iCAAiC,eAG7C,CAAC;AACF,eAAO,MAAM,YAAY,iDAAgF,CAAC;AAE1G,eAAO,MAAM,aAAa,4CAIzB,CAAC;AAIF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,GAAG,OAAO,CAUlF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,GAAG,OAAO,CAOlF"}
@@ -16,6 +16,9 @@ export const repeatItemsNTimes = (array, n) => new Array(n).fill(null).reduce((r
16
16
  return result;
17
17
  }, []);
18
18
  export const unEscapeAngleBrackets = (str) => str?.replace(/&lt;|&#60;/g, "<").replace(/&gt;|&#62;/g, ">");
19
+ export function decodeHtmlEntities(str) {
20
+ return str.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&");
21
+ }
19
22
  export function isRotationInRange(rotation, min, max) {
20
23
  return rotation >= min && rotation <= max;
21
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scatterPlotColoring.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/scatterPlot/scatterPlotColoring.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsC,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,iCAAiC,EAIzC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,qBAAa,wBAAyB,SAAQ,oBAAoB;IAC9D,UAAmB,qBAAqB,CACpC,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAAE,GAAG,SAAS,EACzC,eAAe,EAAE,GAAG,EACpB,gBAAgB,EAAE,GAAG,EACrB,EAAE,EAAE,cAAc,EAClB,YAAY,CAAC,EAAE,MAAM,GACtB,iCAAiC,CAmDnC;CACJ"}
1
+ {"version":3,"file":"scatterPlotColoring.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/scatterPlot/scatterPlotColoring.ts"],"names":[],"mappings":"AAKA,OAAO,EAGH,KAAK,aAAa,EAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,iCAAiC,EAIzC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,qBAAa,wBAAyB,SAAQ,oBAAoB;IAC9D,UAAmB,qBAAqB,CACpC,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAAE,GAAG,SAAS,EACzC,eAAe,EAAE,GAAG,EACpB,gBAAgB,EAAE,GAAG,EACrB,EAAE,EAAE,cAAc,EAClB,YAAY,CAAC,EAAE,MAAM,GACtB,iCAAiC,CAuDnC;CACJ"}
@@ -37,7 +37,9 @@ export class ScatterPlotColorStrategy extends MeasureColorStrategy {
37
37
  }
38
38
  else {
39
39
  const result = super.createColorAssignment(colorPalette, colorMapping, viewByAttribute, stackByAttribute, dv);
40
- colorAssignment = result.outputColorAssignment.slice(0, 1);
40
+ colorAssignment = result.fullColorAssignment
41
+ .filter((assignment) => !dv.meta().isDerivedMeasure(assignment.headerItem))
42
+ .slice(0, 1);
41
43
  }
42
44
  return {
43
45
  fullColorAssignment: colorAssignment,
@@ -9,7 +9,7 @@ export class TreemapColorStrategy extends MeasureColorStrategy {
9
9
  }
10
10
  else {
11
11
  const result = super.createColorAssignment(colorPalette, colorMapping, viewByAttribute, stackByAttribute, dv);
12
- colorAssignment = result.outputColorAssignment;
12
+ colorAssignment = result.fullColorAssignment;
13
13
  }
14
14
  return {
15
15
  fullColorAssignment: colorAssignment,
@@ -121,6 +121,7 @@ export interface IChartOptionsData {
121
121
  categories?: string[][];
122
122
  }
123
123
  export type ITooltipFactory = (point: IUnsafeHighchartsTooltipPoint, maxTooltipContentWidth: number, percentageValue?: number) => string | null;
124
+ export type IPointDescriptionFn = (point: UnsafeInternals) => string;
124
125
  export interface IChartOptions {
125
126
  type?: string;
126
127
  stacking?: StackingType;
@@ -135,6 +136,7 @@ export interface IChartOptions {
135
136
  data?: IChartOptionsData;
136
137
  actions?: {
137
138
  tooltip: ITooltipFactory;
139
+ pointDescription?: IPointDescriptionFn;
138
140
  };
139
141
  grid?: IGridConfig;
140
142
  xAxisProps?: IAxisConfig;
@@ -152,6 +154,8 @@ export interface IChartOptions {
152
154
  forceDisableDrillOnAxes?: boolean;
153
155
  verticalAlign?: ChartAlignTypes;
154
156
  legendLabel?: string;
157
+ segmentByLabel?: string;
158
+ stackByAttributeLabel?: string;
155
159
  chartFill?: IChartFillConfig;
156
160
  customTooltipRuntime?: ICustomTooltipRuntime;
157
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"unsafe.d.ts","sourceRoot":"","sources":["../../../src/highcharts/typings/unsafe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unsafe.d.ts","sourceRoot":"","sources":["../../../src/highcharts/typings/unsafe.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-charts",
3
- "version": "11.48.0-alpha.0",
3
+ "version": "11.48.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.1",
72
- "@gooddata/sdk-backend-spi": "11.48.0-alpha.0",
73
- "@gooddata/sdk-model": "11.48.0-alpha.0",
74
- "@gooddata/sdk-ui-kit": "11.48.0-alpha.0",
75
- "@gooddata/sdk-ui": "11.48.0-alpha.0",
76
- "@gooddata/sdk-ui-theme-provider": "11.48.0-alpha.0",
77
- "@gooddata/sdk-ui-vis-commons": "11.48.0-alpha.0",
78
- "@gooddata/util": "11.48.0-alpha.0"
72
+ "@gooddata/sdk-backend-spi": "11.48.0-alpha.1",
73
+ "@gooddata/sdk-ui": "11.48.0-alpha.1",
74
+ "@gooddata/sdk-ui-kit": "11.48.0-alpha.1",
75
+ "@gooddata/sdk-model": "11.48.0-alpha.1",
76
+ "@gooddata/sdk-ui-theme-provider": "11.48.0-alpha.1",
77
+ "@gooddata/sdk-ui-vis-commons": "11.48.0-alpha.1",
78
+ "@gooddata/util": "11.48.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.48.0-alpha.0",
124
- "@gooddata/oxlint-config": "11.48.0-alpha.0",
125
- "@gooddata/reference-workspace": "11.48.0-alpha.0",
126
- "@gooddata/sdk-backend-mockingbird": "11.48.0-alpha.0",
127
- "@gooddata/stylelint-config": "11.48.0-alpha.0"
123
+ "@gooddata/eslint-config": "11.48.0-alpha.1",
124
+ "@gooddata/reference-workspace": "11.48.0-alpha.1",
125
+ "@gooddata/oxlint-config": "11.48.0-alpha.1",
126
+ "@gooddata/sdk-backend-mockingbird": "11.48.0-alpha.1",
127
+ "@gooddata/stylelint-config": "11.48.0-alpha.1"
128
128
  },
129
129
  "peerDependencies": {
130
130
  "react": "^18.0.0 || ^19.0.0",