@gooddata/sdk-ui-charts 11.61.0-alpha.0 → 11.61.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 (61) hide show
  1. package/esm/highcharts/ChartTransformation.d.ts.map +1 -1
  2. package/esm/highcharts/ChartTransformation.js +7 -1
  3. package/esm/highcharts/chartTypes/_chartCreators/configuratorContext.d.ts +6 -0
  4. package/esm/highcharts/chartTypes/_chartCreators/configuratorContext.d.ts.map +1 -0
  5. package/esm/highcharts/chartTypes/_chartCreators/configuratorContext.js +2 -0
  6. package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.d.ts +5 -7
  7. package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.d.ts.map +1 -1
  8. package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.js +47 -42
  9. package/esm/highcharts/chartTypes/_chartCreators/dataLabelsHelpers.d.ts +45 -4
  10. package/esm/highcharts/chartTypes/_chartCreators/dataLabelsHelpers.d.ts.map +1 -1
  11. package/esm/highcharts/chartTypes/_chartCreators/getAxisLabelConfigurationForDualBarChart.d.ts +3 -5
  12. package/esm/highcharts/chartTypes/_chartCreators/getAxisLabelConfigurationForDualBarChart.d.ts.map +1 -1
  13. package/esm/highcharts/chartTypes/_chartCreators/getAxisLabelConfigurationForDualBarChart.js +2 -2
  14. package/esm/highcharts/chartTypes/_chartCreators/getAxisNameConfiguration.d.ts +3 -5
  15. package/esm/highcharts/chartTypes/_chartCreators/getAxisNameConfiguration.d.ts.map +1 -1
  16. package/esm/highcharts/chartTypes/_chartCreators/getAxisNameConfiguration.js +1 -1
  17. package/esm/highcharts/chartTypes/_chartCreators/getChartHighlightingConfiguration.d.ts +2 -3
  18. package/esm/highcharts/chartTypes/_chartCreators/getChartHighlightingConfiguration.d.ts.map +1 -1
  19. package/esm/highcharts/chartTypes/_chartCreators/getChartHighlightingConfiguration.js +1 -1
  20. package/esm/highcharts/chartTypes/_chartCreators/getChartOrientationConfiguration.d.ts +2 -3
  21. package/esm/highcharts/chartTypes/_chartCreators/getChartOrientationConfiguration.d.ts.map +1 -1
  22. package/esm/highcharts/chartTypes/_chartCreators/getChartOrientationConfiguration.js +1 -1
  23. package/esm/highcharts/chartTypes/_chartCreators/getContinuousLineConfiguration.d.ts +2 -112
  24. package/esm/highcharts/chartTypes/_chartCreators/getContinuousLineConfiguration.d.ts.map +1 -1
  25. package/esm/highcharts/chartTypes/_chartCreators/getContinuousLineConfiguration.js +5 -1
  26. package/esm/highcharts/chartTypes/_chartCreators/getOptionalStackingConfiguration.d.ts +2 -1
  27. package/esm/highcharts/chartTypes/_chartCreators/getOptionalStackingConfiguration.d.ts.map +1 -1
  28. package/esm/highcharts/chartTypes/_chartCreators/getOptionalStackingConfiguration.js +2 -2
  29. package/esm/highcharts/chartTypes/_chartCreators/getWaterfallXAxisConfiguration.d.ts +2 -10
  30. package/esm/highcharts/chartTypes/_chartCreators/getWaterfallXAxisConfiguration.d.ts.map +1 -1
  31. package/esm/highcharts/chartTypes/_chartCreators/getWaterfallXAxisConfiguration.js +2 -1
  32. package/esm/highcharts/chartTypes/_chartCreators/getZeroAlignConfiguration.d.ts +3 -2
  33. package/esm/highcharts/chartTypes/_chartCreators/getZeroAlignConfiguration.d.ts.map +1 -1
  34. package/esm/highcharts/chartTypes/_chartCreators/getZeroAlignConfiguration.js +13 -4
  35. package/esm/highcharts/chartTypes/_chartCreators/highChartsCreators.d.ts +3 -6
  36. package/esm/highcharts/chartTypes/_chartCreators/highChartsCreators.d.ts.map +1 -1
  37. package/esm/highcharts/chartTypes/_chartCreators/highChartsCreators.js +3 -2
  38. package/esm/highcharts/chartTypes/_chartCreators/highchartsOptionsContext.d.ts +13 -0
  39. package/esm/highcharts/chartTypes/_chartCreators/highchartsOptionsContext.d.ts.map +1 -0
  40. package/esm/highcharts/chartTypes/_chartCreators/highchartsOptionsContext.js +2 -0
  41. package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.d.ts.map +1 -1
  42. package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.js +17 -16
  43. package/esm/highcharts/chartTypes/_chartOptions/extendedStackingChartOptions.d.ts +2 -6
  44. package/esm/highcharts/chartTypes/_chartOptions/extendedStackingChartOptions.d.ts.map +1 -1
  45. package/esm/highcharts/chartTypes/_chartOptions/extendedStackingChartOptions.js +1 -1
  46. package/esm/highcharts/chartTypes/_util/common.d.ts +4 -1
  47. package/esm/highcharts/chartTypes/_util/common.d.ts.map +1 -1
  48. package/esm/highcharts/chartTypes/_util/common.js +13 -0
  49. package/esm/highcharts/chartTypes/comboChart/comboChartOptions.d.ts.map +1 -1
  50. package/esm/highcharts/chartTypes/comboChart/comboChartOptions.js +6 -2
  51. package/esm/highcharts/chartTypes/waterfallChart/waterfallChartOptions.d.ts +1 -1
  52. package/esm/highcharts/chartTypes/waterfallChart/waterfallChartOptions.d.ts.map +1 -1
  53. package/esm/highcharts/constants/label.d.ts +15 -1
  54. package/esm/highcharts/constants/label.d.ts.map +1 -1
  55. package/esm/highcharts/constants/label.js +1 -1
  56. package/esm/highcharts/lib/index.d.ts +3 -0
  57. package/esm/highcharts/lib/index.d.ts.map +1 -1
  58. package/esm/highcharts/lib/index.js +1 -1
  59. package/esm/highcharts/typings/unsafe.d.ts +7 -3
  60. package/esm/highcharts/typings/unsafe.d.ts.map +1 -1
  61. package/package.json +13 -13
@@ -1,114 +1,4 @@
1
- import { type IChartConfig } from "../../../interfaces/chartConfig.js";
2
1
  import { type HighchartsOptions } from "../../lib/index.js";
3
- import { type IChartOptions } from "../../typings/unsafe.js";
4
- export declare function getContinuousLineConfiguration(chartOptions: IChartOptions, config: HighchartsOptions, chartConfig?: IChartConfig): {
5
- plotOptions?: undefined;
6
- series?: undefined;
7
- } | {
8
- plotOptions: {
9
- series: {
10
- connectNulls: true;
11
- };
12
- };
13
- series: (import("highcharts").SeriesAreaOptions | {
14
- accessibility?: Highcharts.SeriesAccessibilityOptionsObject;
15
- allowPointSelect?: boolean;
16
- animation?: (boolean | Highcharts.AnimationOptionsObject);
17
- animationLimit?: number;
18
- boostBlending?: Highcharts.OptionsBoostBlendingValue;
19
- boostThreshold?: number;
20
- className?: string;
21
- clip?: boolean;
22
- color?: (Highcharts.ColorString | Highcharts.GradientColorObject | Highcharts.PatternObject);
23
- colorAxis?: (boolean | number | string);
24
- colorIndex?: number;
25
- colorKey?: string;
26
- compare?: Highcharts.OptionsCompareValue;
27
- compareBase?: (0 | 100);
28
- compareStart?: boolean;
29
- connectEnds?: boolean;
30
- connectNulls?: boolean;
31
- crisp?: boolean;
32
- cropThreshold?: number;
33
- cumulative?: boolean;
34
- cumulativeStart?: boolean;
35
- cursor?: (string | Highcharts.CursorValue);
36
- custom?: Highcharts.Dictionary<any>;
37
- dashStyle?: Highcharts.DashStyleValue;
38
- dataGrouping?: Highcharts.DataGroupingOptionsObject;
39
- dataLabels?: (Highcharts.PlotAreaDataLabelsOptions | Array<Highcharts.PlotAreaDataLabelsOptions>);
40
- dataSorting?: (Highcharts.DataSortingOptionsObject | Highcharts.PlotAreaDataSortingOptions);
41
- description?: string;
42
- dragDrop?: Highcharts.SeriesDragDropOptionsObject;
43
- enableMouseTracking?: boolean;
44
- events?: Highcharts.SeriesEventsOptionsObject;
45
- fillColor?: (Highcharts.ColorString | Highcharts.GradientColorObject | Highcharts.PatternObject);
46
- fillOpacity?: number;
47
- findNearestPointBy?: Highcharts.OptionsFindNearestPointByValue;
48
- gapSize?: number;
49
- gapUnit?: Highcharts.OptionsGapUnitValue;
50
- getExtremesFromAll?: boolean;
51
- inactiveOtherPoints?: boolean;
52
- includeInDataExport?: boolean;
53
- keys?: Array<string>;
54
- label?: Highcharts.SeriesLabelOptionsObject;
55
- lastPrice?: Highcharts.SeriesLastPriceOptionsObject;
56
- lastVisiblePrice?: Highcharts.SeriesLastVisiblePriceOptionsObject;
57
- legendSymbol?: Highcharts.OptionsLegendSymbolValue;
58
- legendSymbolColor?: (Highcharts.ColorString | Highcharts.GradientColorObject | Highcharts.PatternObject);
59
- linecap?: Highcharts.SeriesLinecapValue;
60
- lineColor?: (Highcharts.ColorString | Highcharts.GradientColorObject | Highcharts.PatternObject);
61
- lineWidth?: number;
62
- linkedTo?: string;
63
- marker?: Highcharts.PointMarkerOptionsObject;
64
- navigatorOptions?: Highcharts.PlotSeriesOptions;
65
- negativeColor?: (Highcharts.ColorString | Highcharts.GradientColorObject | Highcharts.PatternObject);
66
- negativeFillColor?: (Highcharts.ColorString | Highcharts.GradientColorObject | Highcharts.PatternObject);
67
- nullInteraction?: (boolean | undefined);
68
- onPoint?: (object | Highcharts.PlotAreaOnPointOptions);
69
- opacity?: number;
70
- point?: Highcharts.PlotSeriesPointOptions;
71
- pointDescriptionFormat?: Function;
72
- pointDescriptionFormatter?: Function;
73
- pointInterval?: number;
74
- pointIntervalUnit?: Highcharts.OptionsPointIntervalUnitValue;
75
- pointPlacement?: (number | string);
76
- pointRange?: number;
77
- pointStart?: (number | string);
78
- relativeXValue?: boolean;
79
- selected?: boolean;
80
- shadow?: (boolean | Highcharts.ShadowOptionsObject);
81
- showCheckbox?: boolean;
82
- showInLegend?: boolean;
83
- showInNavigator?: boolean;
84
- skipKeyboardNavigation?: boolean;
85
- softThreshold?: boolean;
86
- sonification?: Highcharts.SeriesSonificationOptions;
87
- states?: Highcharts.SeriesStatesOptionsObject;
88
- step?: Highcharts.OptionsStepValue;
89
- stickyTracking?: boolean;
90
- threshold?: (number | null);
91
- tooltip?: Highcharts.SeriesTooltipOptionsObject;
92
- trackByArea?: boolean;
93
- turboThreshold?: number;
94
- visible?: boolean;
95
- zoneAxis?: string;
96
- zones?: Array<Highcharts.SeriesZonesOptionsObject>;
97
- data?: Array<(number | [(number | string), (number | null)] | null | import("highcharts").PointOptionsObject)>;
98
- dataParser?: undefined;
99
- dataURL?: undefined;
100
- type: "area";
101
- useOhlcData?: undefined;
102
- id?: string;
103
- index?: number;
104
- legendIndex?: number;
105
- mapData?: (import("highcharts").GeoJSON | import("highcharts").TopoJSON | Array<import("highcharts").SeriesMapDataOptions>);
106
- name?: string;
107
- xAxis?: (number | string);
108
- yAxis?: (number | string);
109
- zIndex?: number;
110
- stack: null;
111
- stacking: null;
112
- })[];
113
- };
2
+ import { type IConfiguratorContext } from "./configuratorContext.js";
3
+ export declare function getContinuousLineConfiguration({ chartOptions, highchartsOptions: config, chartConfig, }: IConfiguratorContext): HighchartsOptions;
114
4
  //# sourceMappingURL=getContinuousLineConfiguration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getContinuousLineConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/getContinuousLineConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,iBAAiB,EAA0B,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAc7D,wBAAgB,8BAA8B,CAC1C,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,YAAY;;;;;QAalB,MAAM;YACF,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK3B"}
1
+ {"version":3,"file":"getContinuousLineConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/getContinuousLineConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAA0B,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAarE,wBAAgB,8BAA8B,CAAC,EAC3C,YAAY,EACZ,iBAAiB,EAAE,MAAM,EACzB,WAAW,GACd,EAAE,oBAAoB,GAAG,iBAAiB,CAsB1C"}
@@ -7,7 +7,7 @@ const removeStacking = (series) => series.map((seriesItem) => seriesItem.type &&
7
7
  stack: null,
8
8
  stacking: null,
9
9
  });
10
- export function getContinuousLineConfiguration(chartOptions, config, chartConfig) {
10
+ export function getContinuousLineConfiguration({ chartOptions, highchartsOptions: config, chartConfig, }) {
11
11
  const isContinuousLineEnabled = chartConfig?.continuousLine?.enabled ?? false;
12
12
  if (!isContinuousLineEnabled || chartConfig?.stackMeasures) {
13
13
  return {};
@@ -22,6 +22,10 @@ export function getContinuousLineConfiguration(chartOptions, config, chartConfig
22
22
  connectNulls: isContinuousLineEnabled,
23
23
  },
24
24
  },
25
+ // @ts-expect-error `removeStacking()` sets `{ stack: null, stacking: null }`, but Highcharts accepts
26
+ // only `undefined` for these properties. We can't set `undefined` there though, because lodash'es `merge()`
27
+ // function (in `getCustomizedConfiguration()`) then doesn't update the value to `undefined` (i.e. clears the value),
28
+ // but ignores it and keeps previous value, which is exactly what we don't want here.
25
29
  series: sanitizedSeries,
26
30
  };
27
31
  }
@@ -2,6 +2,7 @@ import { type IDrillConfig } from "@gooddata/sdk-ui";
2
2
  import { type IChartConfig } from "../../../interfaces/chartConfig.js";
3
3
  import { type HighchartsOptions, type XAxisOptions } from "../../lib/index.js";
4
4
  import { type IChartOptions, type ISeriesItem, type IStackMeasuresConfig, type IYAxisConfig } from "../../typings/unsafe.js";
5
+ import { type IConfiguratorContext } from "./configuratorContext.js";
5
6
  /**
6
7
  * For y axis having one series, this series should be removed stacking config
7
8
  */
@@ -32,5 +33,5 @@ export declare function getShowInPercentConfiguration(chartOptions: IChartOption
32
33
  * Only applied to primary Y axis
33
34
  */
34
35
  export declare function convertMinMaxFromPercentToNumber(chartOptions: IChartOptions, config: HighchartsOptions, chartConfig: IChartConfig): HighchartsOptions;
35
- export declare function getOptionalStackingConfiguration(chartOptions: IChartOptions, config: HighchartsOptions, chartConfig?: IChartConfig, drillConfig?: IDrillConfig): HighchartsOptions;
36
+ export declare function getOptionalStackingConfiguration({ chartOptions, highchartsOptions: config, chartConfig, drillConfig, }: IConfiguratorContext): HighchartsOptions;
36
37
  //# sourceMappingURL=getOptionalStackingConfiguration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getOptionalStackingConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/getOptionalStackingConfiguration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACpB,MAAM,yBAAyB,CAAC;AAkGjC;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CA8BlF;AA2BD,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,YAAY,GAC1B,YAAY,CA+Bd;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,YAAY,GAC1B,oBAAoB,CAoBtB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC3C,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,YAAY,GAC3B;IACC,KAAK,EAAE,YAAY,EAAE,CAAC;CACzB,CA4BA;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,YAAY,GAAG;IAC9D,KAAK,EAAE;QACH,WAAW,EAAE,YAAY,CAAC;KAC7B,EAAE,CAAC;CACP,CAEA;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CACzC,YAAY,EAAE,aAAa,YAAK,EAChC,WAAW,EAAE,YAAY,EACzB,OAAO,GAAE,iBAAsB,GAChC,iBAAiB,CA2BnB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC5C,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,YAAY,GAC1B,iBAAiB,CAkCnB;AAED,wBAAgB,gCAAgC,CAC5C,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,GAAE,YAAiB,EAC9B,WAAW,CAAC,EAAE,YAAY,GAC3B,iBAAiB,CAanB"}
1
+ {"version":3,"file":"getOptionalStackingConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/getOptionalStackingConfiguration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACpB,MAAM,yBAAyB,CAAC;AAajC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAsFrE;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CA8BlF;AA2BD,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,YAAY,GAC1B,YAAY,CA+Bd;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,YAAY,GAC1B,oBAAoB,CAoBtB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC3C,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,YAAY,GAC3B;IACC,KAAK,EAAE,YAAY,EAAE,CAAC;CACzB,CA4BA;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,YAAY,GAAG;IAC9D,KAAK,EAAE;QACH,WAAW,EAAE,YAAY,CAAC;KAC7B,EAAE,CAAC;CACP,CAEA;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CACzC,YAAY,EAAE,aAAa,YAAK,EAChC,WAAW,EAAE,YAAY,EACzB,OAAO,GAAE,iBAAsB,GAChC,iBAAiB,CA2BnB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC5C,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,YAAY,GAC1B,iBAAiB,CAkCnB;AAED,wBAAgB,gCAAgC,CAAC,EAC7C,YAAY,EACZ,iBAAiB,EAAE,MAAM,EACzB,WAAW,EACX,WAAW,GACd,EAAE,oBAAoB,GAAG,iBAAiB,CAa1C"}
@@ -136,7 +136,7 @@ export function getYAxisConfiguration(chartOptions, config, chartConfig) {
136
136
  // disable stack labels for primary Y axis when there is 'Stack to 100%' on
137
137
  const stackLabelEnabled = (index !== 0 || !stacksToPercent) && !!stackingDataLabelEnabled;
138
138
  return {
139
- ...(axis ?? {}),
139
+ ...axis,
140
140
  stackLabels: {
141
141
  enabled: stackLabelEnabled,
142
142
  },
@@ -247,7 +247,7 @@ export function convertMinMaxFromPercentToNumber(chartOptions, config, chartConf
247
247
  });
248
248
  return { yAxis };
249
249
  }
250
- export function getOptionalStackingConfiguration(chartOptions, config, chartConfig = {}, drillConfig) {
250
+ export function getOptionalStackingConfiguration({ chartOptions, highchartsOptions: config, chartConfig, drillConfig, }) {
251
251
  const { type } = chartOptions;
252
252
  // supportedStackingAttributesChartTypes not include empty string so cast undefined to empty string is ok
253
253
  return supportedStackingAttributesChartTypes.includes(type ?? "")
@@ -1,12 +1,4 @@
1
- import { type IChartConfig } from "../../../interfaces/chartConfig.js";
2
1
  import { type HighchartsOptions } from "../../lib/index.js";
3
- import { type IChartOptions } from "../../typings/unsafe.js";
4
- export declare function getWaterfallXAxisConfiguration(chartOptions: IChartOptions, _config: HighchartsOptions, chartConfig?: IChartConfig): {
5
- xAxis?: undefined;
6
- } | {
7
- xAxis: {
8
- categories: string[][] | undefined;
9
- type: string;
10
- }[];
11
- };
2
+ import { type IConfiguratorContext } from "./configuratorContext.js";
3
+ export declare function getWaterfallXAxisConfiguration({ chartOptions, chartConfig, }: IConfiguratorContext): HighchartsOptions;
12
4
  //# sourceMappingURL=getWaterfallXAxisConfiguration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getWaterfallXAxisConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/getWaterfallXAxisConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,wBAAgB,8BAA8B,CAC1C,YAAY,EAAE,aAAa,EAC3B,OAAO,EAAE,iBAAiB,EAC1B,WAAW,CAAC,EAAE,YAAY;;;;;;;EAkB7B"}
1
+ {"version":3,"file":"getWaterfallXAxisConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/getWaterfallXAxisConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,wBAAgB,8BAA8B,CAAC,EAC3C,YAAY,EACZ,WAAW,GACd,EAAE,oBAAoB,GAAG,iBAAiB,CAkB1C"}
@@ -1,6 +1,6 @@
1
1
  // (C) 2023-2026 GoodData Corporation
2
2
  import { isWaterfall } from "../_util/common.js";
3
- export function getWaterfallXAxisConfiguration(chartOptions, _config, chartConfig) {
3
+ export function getWaterfallXAxisConfiguration({ chartOptions, chartConfig, }) {
4
4
  const { data, type } = chartOptions;
5
5
  if (!isWaterfall(type)) {
6
6
  return {};
@@ -9,6 +9,7 @@ export function getWaterfallXAxisConfiguration(chartOptions, _config, chartConfi
9
9
  return {
10
10
  xAxis: [
11
11
  {
12
+ // @ts-expect-error This is expected as legacy code appends custom properties to Highcharts types. Such properties should ideally moved somewhere else in the future.
12
13
  categories: hasTotalMeasure ? undefined : data?.categories,
13
14
  type: "category",
14
15
  },
@@ -1,5 +1,6 @@
1
1
  import { type StackingType } from "../../constants/stacking.js";
2
- import { type IChartOptions } from "../../typings/unsafe.js";
2
+ import { type HighchartsOptions } from "../../lib/index.js";
3
+ import { type IConfiguratorContext } from "./configuratorContext.js";
3
4
  export interface ICanon {
4
5
  min?: number;
5
6
  max?: number;
@@ -32,5 +33,5 @@ export declare function convertNumberToPercent(yData: number[][]): number[][];
32
33
  /**
33
34
  * Calculate new min/max to make Y axes aligned
34
35
  */
35
- export declare function getZeroAlignConfiguration(chartOptions: IChartOptions, config: any): any;
36
+ export declare function getZeroAlignConfiguration({ chartOptions, highchartsOptions: config, }: IConfiguratorContext): HighchartsOptions;
36
37
  //# sourceMappingURL=getZeroAlignConfiguration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getZeroAlignConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/getZeroAlignConfiguration.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACH,KAAK,aAAa,EAIrB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,WAAW,MAAM;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,WAAY,SAAQ,MAAM;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;CAC9B;AAqFD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAqDrG;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,EAAE,CAsB1G;AAgED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAMpE;AAqHD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,CAiDvF"}
1
+ {"version":3,"file":"getZeroAlignConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/getZeroAlignConfiguration.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,iBAAiB,EAA0B,MAAM,oBAAoB,CAAC;AAIpF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,WAAW,MAAM;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,WAAY,SAAQ,MAAM;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;CAC9B;AAqFD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAqDrG;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,EAAE,CAsB1G;AAwED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAMpE;AAqHD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACtC,YAAY,EACZ,iBAAiB,EAAE,MAAM,GAC5B,EAAE,oBAAoB,GAAG,iBAAiB,CAmD1C"}
@@ -144,7 +144,14 @@ function getSeriesOnAxis(series, axisIndex) {
144
144
  * Get y value in series
145
145
  */
146
146
  function getYDataInSeries(series) {
147
- return series.data.map((item) => item.y);
147
+ if ("data" in series && Array.isArray(series.data)) {
148
+ return series.data.map((item) => typeof item === "object" && item !== null && !Array.isArray(item) && "y" in item
149
+ ? Number(item.y)
150
+ : NaN);
151
+ }
152
+ else {
153
+ return [];
154
+ }
148
155
  }
149
156
  /**
150
157
  * Convert table of y value from row-view
@@ -301,10 +308,10 @@ function hideInvalidAxis(config, minmax, type) {
301
308
  /**
302
309
  * Calculate new min/max to make Y axes aligned
303
310
  */
304
- export function getZeroAlignConfiguration(chartOptions, config) {
311
+ export function getZeroAlignConfiguration({ chartOptions, highchartsOptions: config, }) {
305
312
  const { stacking, type } = chartOptions;
306
313
  const { yAxis } = config;
307
- const isDualAxis = (yAxis || []).length === 2;
314
+ const isDualAxis = Array.isArray(yAxis) && yAxis.length === 2;
308
315
  if (!isDualAxis) {
309
316
  return {};
310
317
  }
@@ -319,9 +326,11 @@ export function getZeroAlignConfiguration(chartOptions, config) {
319
326
  return {
320
327
  yAxis: [
321
328
  {
329
+ // @ts-expect-error This is expected as legacy code appends custom properties to Highcharts types. Such properties should ideally moved somewhere else in the future.
322
330
  isUserMinMax: true,
323
331
  },
324
332
  {
333
+ // @ts-expect-error This is expected as legacy code appends custom properties to Highcharts types. Such properties should ideally moved somewhere else in the future.
325
334
  isUserMinMax: true,
326
335
  },
327
336
  ],
@@ -330,7 +339,7 @@ export function getZeroAlignConfiguration(chartOptions, config) {
330
339
  // calculate min/max on both Y axes and set it to HighCharts yAxis config
331
340
  const yAxisWithMinMax = [0, 1].map((axisIndex) => {
332
341
  const { min, max } = minmax[axisIndex];
333
- const newMinMax = getMinMax(axisIndex, getExtremeByChartTypeOnAxis(min, config.series, axisIndex, type), getExtremeByChartTypeOnAxis(max, config.series, axisIndex, type), minmax);
342
+ const newMinMax = getMinMax(axisIndex, getExtremeByChartTypeOnAxis(min, config.series ?? [], axisIndex, type), getExtremeByChartTypeOnAxis(max, config.series ?? [], axisIndex, type), minmax);
334
343
  return {
335
344
  isUserMinMax: minmax[axisIndex].isSetMin || minmax[axisIndex].isSetMax,
336
345
  ...newMinMax,
@@ -1,9 +1,6 @@
1
- import { type IntlShape } from "react-intl";
2
- import { type IExecutionDefinition, type ITheme } from "@gooddata/sdk-model";
3
- import { type IDrillConfig } from "@gooddata/sdk-ui";
4
- import { type IChartConfig, type IChartLimits } from "../../../interfaces/chartConfig.js";
1
+ import { type IChartLimits } from "../../../interfaces/chartConfig.js";
5
2
  import { type HighchartsOptions } from "../../lib/index.js";
6
- import { type IChartOptions } from "../../typings/unsafe.js";
7
- export declare function getHighchartsOptions(chartOptions: IChartOptions, drillConfig: IDrillConfig, config?: IChartConfig, definition?: IExecutionDefinition, intl?: IntlShape, theme?: ITheme): HighchartsOptions;
3
+ import { type IHighchartsOptionsContext } from "./highchartsOptionsContext.js";
4
+ export declare function getHighchartsOptions({ chartOptions, drillConfig, chartConfig, intl, theme, }: IHighchartsOptionsContext): HighchartsOptions;
8
5
  export declare function isDataOfReasonableSize(chartData: any, limits: IChartLimits, isViewByTwoAttributes?: boolean): boolean;
9
6
  //# sourceMappingURL=highChartsCreators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"highChartsCreators.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/highChartsCreators.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,KAAK,YAAY,EAAoC,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC1F,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,yBAAyB,CAAC;AA2D/E,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,aAAa,EAC3B,WAAW,EAAE,YAAY,EACzB,MAAM,CAAC,EAAE,YAAY,EACrB,UAAU,CAAC,EAAE,oBAAoB,EACjC,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,MAAM,GACf,iBAAiB,CAanB;AAED,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,YAAY,EACpB,qBAAqB,UAAQ,GAC9B,OAAO,CAgCT"}
1
+ {"version":3,"file":"highChartsCreators.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/highChartsCreators.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAyB5D,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAoC/E,wBAAgB,oBAAoB,CAAC,EACjC,YAAY,EACZ,WAAW,EACX,WAAW,EACX,IAAI,EACJ,KAAK,GACR,EAAE,yBAAyB,GAAG,iBAAiB,CAe/C;AAED,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,YAAY,EACpB,qBAAqB,UAAQ,GAC9B,OAAO,CAgCT"}
@@ -46,10 +46,11 @@ const chartConfigurationMap = {
46
46
  [VisualizationTypes.RADAR]: getRadarConfiguration,
47
47
  [VisualizationTypes.MEKKO]: getMekkoConfiguration,
48
48
  };
49
- export function getHighchartsOptions(chartOptions, drillConfig, config, definition, intl, theme) {
49
+ export function getHighchartsOptions({ chartOptions, drillConfig, chartConfig, 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, intl), getConfigurationByType.call(null, config, definition, theme), getCustomizedConfiguration(chartOptions, config, drillConfig, intl, theme));
52
+ const definition = drillConfig.dataView.definition;
53
+ return merge({}, getCommonConfiguration(chartOptions, drillConfig, theme, chartConfig, intl), getConfigurationByType.call(null, chartConfig, definition, theme), getCustomizedConfiguration({ chartOptions, chartConfig, drillConfig, intl, theme }));
53
54
  }
54
55
  export function isDataOfReasonableSize(chartData, limits, isViewByTwoAttributes = false) {
55
56
  let result = true;
@@ -0,0 +1,13 @@
1
+ import { type IntlShape } from "react-intl";
2
+ import { type ITheme } from "@gooddata/sdk-model";
3
+ import { type IDrillConfig } from "@gooddata/sdk-ui";
4
+ import { type IChartConfig } from "../../../interfaces/chartConfig.js";
5
+ import { type IChartOptions } from "../../typings/unsafe.js";
6
+ export interface IHighchartsOptionsContext {
7
+ chartOptions: IChartOptions;
8
+ chartConfig: IChartConfig;
9
+ drillConfig: IDrillConfig;
10
+ intl: IntlShape;
11
+ theme?: ITheme;
12
+ }
13
+ //# sourceMappingURL=highchartsOptionsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highchartsOptionsContext.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/highchartsOptionsContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,yBAAyB;IACtC,YAAY,EAAE,aAAa,CAAC;IAC5B,WAAW,EAAE,YAAY,CAAC;IAC1B,WAAW,EAAE,YAAY,CAAC;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ // (C) 2026 GoodData Corporation
2
+ export {};
@@ -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;AAkKjC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,WAAW,EAAE,YAAK,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;AAsFF,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,CA8ff"}
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;AAsKjC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,WAAW,EAAE,YAAK,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;AAsFF,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,CAggBf"}
@@ -33,18 +33,17 @@ const isAreaChartStackingEnabled = (options) => {
33
33
  }
34
34
  return stackMeasures;
35
35
  };
36
+ function getHeatmapCategories(viewByAttribute, stackByAttribute, emptyHeaderTitle) {
37
+ return [
38
+ viewByAttribute
39
+ ? viewByAttribute.items.map((item) => valueWithEmptyHandling(getMappingHeaderFormattedName(item), emptyHeaderTitle))
40
+ : [""],
41
+ stackByAttribute
42
+ ? stackByAttribute.items.map((item) => valueWithEmptyHandling(getMappingHeaderFormattedName(item), emptyHeaderTitle))
43
+ : [""],
44
+ ];
45
+ }
36
46
  function getCategories(type, measureGroup, viewByAttribute, stackByAttribute, emptyHeaderTitle) {
37
- // We need an explicit any[] return type otherwise the code down the line no longer type checks, no time to fix all of it now
38
- if (isHeatmap(type)) {
39
- return [
40
- viewByAttribute
41
- ? viewByAttribute.items.map((item) => valueWithEmptyHandling(getMappingHeaderFormattedName(item), emptyHeaderTitle))
42
- : [""],
43
- stackByAttribute
44
- ? stackByAttribute.items.map((item) => valueWithEmptyHandling(getMappingHeaderFormattedName(item), emptyHeaderTitle))
45
- : [""],
46
- ];
47
- }
48
47
  if (isScatterPlot(type)) {
49
48
  return stackByAttribute
50
49
  ? stackByAttribute.items.map((item) => valueWithEmptyHandling(getMappingHeaderFormattedName(item), emptyHeaderTitle))
@@ -235,9 +234,10 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
235
234
  const seriesWithoutDrillability = getSeries(dv, measureGroup, viewByAttribute, viewByParentAttribute, stackByAttribute, type, colorStrategy, emptyHeaderTitle, theme, config.chartFill, config);
236
235
  const drillableSeries = getDrillableSeries(dv, seriesWithoutDrillability, drillableItems, [viewByAttribute, viewByParentAttribute], stackByAttribute, type, config.customTooltip?.enabled ?? false, isBubbleChart(type) && (chartConfig?.enableSingleBubbleSeries ?? false));
237
236
  let initialSeries = assignYAxes(drillableSeries, yAxes);
238
- let categories = viewByParentAttribute
237
+ const treeCategories = viewByParentAttribute
239
238
  ? getCategoriesForTwoAttributes(viewByAttribute, viewByParentAttribute, emptyHeaderTitle)
240
- : getCategories(type, measureGroup, viewByAttribute, stackByAttribute, emptyHeaderTitle);
239
+ : undefined;
240
+ let categories = getCategories(type, measureGroup, viewByAttribute, stackByAttribute, emptyHeaderTitle);
241
241
  // When custom sorting is enabled and is chart which does the auto-sorting,
242
242
  // need to skip this, so the sort specified by the user does not get override.
243
243
  if (isAutoSortableChart(type, viewByAttribute) && !config.enableChartSorting && initialSeries[0]?.data) {
@@ -349,6 +349,7 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
349
349
  };
350
350
  }
351
351
  if (isHeatmap(type)) {
352
+ const heatmapCategories = getHeatmapCategories(viewByAttribute, stackByAttribute, emptyHeaderTitle);
352
353
  const { xAxisProps, yAxisProps } = getChartProperties(config, type);
353
354
  return {
354
355
  type,
@@ -364,11 +365,11 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
364
365
  yAxes,
365
366
  data: {
366
367
  series,
367
- categories,
368
+ categories: heatmapCategories,
368
369
  },
369
370
  actions: {
370
371
  tooltip: generateTooltipHeatmapFn(viewByAttribute, stackByAttribute, emptyHeaderTitle, config),
371
- pointDescription: generateDescriptionHeatmapFn(xAxes, yAxes, categories, unwrap(measureGroup.items[0]).format, viewByAttribute?.formOf?.name, config),
372
+ pointDescription: generateDescriptionHeatmapFn(xAxes, yAxes, heatmapCategories, unwrap(measureGroup.items[0]).format, viewByAttribute?.formOf?.name, config),
372
373
  },
373
374
  grid: {
374
375
  enabled: false,
@@ -532,7 +533,7 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
532
533
  yAxes,
533
534
  data: {
534
535
  series: outSeries,
535
- categories: outCategories,
536
+ categories: treeCategories ?? outCategories,
536
537
  },
537
538
  actions: {
538
539
  tooltip: tooltipFactory,
@@ -1,8 +1,5 @@
1
1
  import { type IUnwrappedAttributeHeadersWithItems } from "../../typings/mess.js";
2
- type NameAndCategories = {
3
- name: string;
4
- categories: string[];
5
- };
2
+ import { type ICategoryGroup } from "../../typings/unsafe.js";
6
3
  /**
7
4
  * Transform
8
5
  * viewByParentAttribute: [P1, P1, P2, P2, P3],
@@ -21,6 +18,5 @@ type NameAndCategories = {
21
18
  * }]
22
19
  * ```
23
20
  */
24
- export declare function getCategoriesForTwoAttributes(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, viewByParentAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, emptyHeaderTitle: string): NameAndCategories[];
25
- export {};
21
+ export declare function getCategoriesForTwoAttributes(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, viewByParentAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, emptyHeaderTitle: string): ICategoryGroup[];
26
22
  //# sourceMappingURL=extendedStackingChartOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extendedStackingChartOptions.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/extendedStackingChartOptions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAEjF,KAAK,iBAAiB,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,6BAA6B,CACzC,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,qBAAqB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EAC7E,gBAAgB,EAAE,MAAM,GACzB,iBAAiB,EAAE,CAuCrB"}
1
+ {"version":3,"file":"extendedStackingChartOptions.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/extendedStackingChartOptions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,6BAA6B,CACzC,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,qBAAqB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EAC7E,gBAAgB,EAAE,MAAM,GACzB,cAAc,EAAE,CAuClB"}
@@ -1,4 +1,4 @@
1
- // (C) 2007-2025 GoodData Corporation
1
+ // (C) 2007-2026 GoodData Corporation
2
2
  import { getMappingHeaderFormattedName } from "@gooddata/sdk-ui";
3
3
  import { valueWithEmptyHandling } from "@gooddata/sdk-ui-vis-commons";
4
4
  /**
@@ -1,7 +1,7 @@
1
1
  import { setWith } from "lodash-es";
2
2
  import { type DataValue } from "@gooddata/sdk-model";
3
3
  import { type ChartOrientationType, type IChartConfig } from "../../../interfaces/chartConfig.js";
4
- import { type IChartOptions, type ISeriesItem } from "../../typings/unsafe.js";
4
+ import { type IChartOptions, type IChartOptionsData, type ISeriesItem } from "../../typings/unsafe.js";
5
5
  export declare function parseValue(value: DataValue): number | null;
6
6
  export declare const immutableSet: <T extends object, U>(dataSet: T, path: Parameters<typeof setWith>[1], newValue: U) => T;
7
7
  export declare const repeatItemsNTimes: <T>(array: T[], n: number) => T[];
@@ -116,6 +116,9 @@ export declare const isInvertedChartType: (type: string | undefined, orientation
116
116
  export declare const isChartSupported: (type: string | undefined) => boolean;
117
117
  export declare const isOneOfTypes: (type: string | undefined, types: string[]) => boolean;
118
118
  export declare const stringifyChartTypes: () => string;
119
+ export declare function isFlatCategories(categories: IChartOptionsData["categories"]): categories is string[];
120
+ export declare function isPerAxisCategories(categories: IChartOptionsData["categories"]): categories is string[][];
121
+ export declare function isTreeCategories(categories: IChartOptionsData["categories"]): categories is import("../../typings/unsafe.js").ICategoryGroup[];
119
122
  export declare function formatLegendLabel(value: number, format: string, diff: number, numericSymbols: string[]): string;
120
123
  export declare const getPrimaryChartType: (chartOptions: IChartOptions) => string;
121
124
  export declare const unwrap: (wrappedObject: any) => any;
@@ -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":"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"}
@@ -138,6 +138,19 @@ export const isChartSupported = (type) => {
138
138
  };
139
139
  export const isOneOfTypes = (type, types) => types.includes(type ?? "");
140
140
  export const stringifyChartTypes = () => Object.values(VisualizationTypes).join(", ");
141
+ // Automatically narrows categories type to `string[]`
142
+ export function isFlatCategories(categories) {
143
+ return Array.isArray(categories) && categories.every((category) => typeof category === "string");
144
+ }
145
+ // Automatically narrows categories type to `string[][]`
146
+ export function isPerAxisCategories(categories) {
147
+ return Array.isArray(categories) && categories.every((category) => Array.isArray(category));
148
+ }
149
+ // Automatically narrows categories type to `ICategoryGroup[]`
150
+ export function isTreeCategories(categories) {
151
+ return (Array.isArray(categories) &&
152
+ categories.every((category) => typeof category === "object" && "name" in category));
153
+ }
141
154
  export function formatLegendLabel(value, format, diff, numericSymbols) {
142
155
  if (format?.includes("%")) {
143
156
  return ClientFormatterFacade.formatValue(value, "#,#0%", undefined).formattedValue;
@@ -1 +1 @@
1
- {"version":3,"file":"comboChartOptions.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/comboChart/comboChartOptions.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,KAAK,uBAAuB,EAG/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,KAAK,cAAc,EAAsB,MAAM,kBAAkB,CAAC;AAExF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,gCAIlC,CAAC;AAiBF,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,MAAM,EAAE,WAAW,EAAE,EACrB,EAAE,EAAE,cAAc,GACnB,WAAW,EAAE,CA4Cf;AAUD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,GAAG,OAAO,CAK1F;AAED,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,WAAW,EAAE,EACrB,eAAe,EAAE,YAAY,GAC9B,YAAY,CASd"}
1
+ {"version":3,"file":"comboChartOptions.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/comboChart/comboChartOptions.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,KAAK,uBAAuB,EAG/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,KAAK,cAAc,EAAsB,MAAM,kBAAkB,CAAC;AAExF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,gCAIlC,CAAC;AAiBF,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,MAAM,EAAE,WAAW,EAAE,EACrB,EAAE,EAAE,cAAc,GACnB,WAAW,EAAE,CAiDf;AAUD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,GAAG,OAAO,CAK1F;AAED,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,WAAW,EAAE,EACrB,eAAe,EAAE,YAAY,GAC9B,YAAY,CASd"}
@@ -1,9 +1,9 @@
1
1
  // (C) 2007-2026 GoodData Corporation
2
- import { cloneDeep, set } from "lodash-es";
2
+ import { cloneDeep, set, unset } from "lodash-es";
3
3
  import { isMeasure, measureLocalId, } from "@gooddata/sdk-model";
4
4
  import { BucketNames, VisualizationTypes } from "@gooddata/sdk-ui";
5
5
  import { isSolidFill } from "../_chartOptions/patternFillOptions.js";
6
- import { isAreaChart, isLineChart } from "../_util/common.js";
6
+ import { isAreaChart, isColumnChart, isLineChart } from "../_util/common.js";
7
7
  export const CHART_ORDER = {
8
8
  [VisualizationTypes.AREA]: 1,
9
9
  [VisualizationTypes.COLUMN]: 2,
@@ -50,6 +50,10 @@ export function getComboChartSeries(config, measureGroup, series, dv) {
50
50
  });
51
51
  // Enforce solid color for any line series so that chart fill (pattern/outline) does not affect lines
52
52
  updatedSeries.forEach((series, index) => {
53
+ if (isColumnChart(series.type)) {
54
+ unset(updatedSeries, [index, "dashStyle"]);
55
+ unset(updatedSeries, [index, "lineWidth"]);
56
+ }
53
57
  const color = series.color;
54
58
  const baseColor = series.borderColor ?? (typeof color === "string" ? color : undefined);
55
59
  if (isLineChart(series.type)) {
@@ -5,6 +5,6 @@ import { type IChartConfig } from "../../../interfaces/chartConfig.js";
5
5
  import { type ISeriesItem } from "../../typings/unsafe.js";
6
6
  export declare function getTotalColumnColor(colorAssignment: IColorAssignment, colorPalette: IColorPalette): string;
7
7
  export declare function buildWaterfallChartSeries(measureGroup: IMeasureGroupDescriptor["measureGroupHeader"], series: ISeriesItem[], chartConfig: IChartConfig, colorAssignment: IColorAssignment, colorPalette: IColorPalette, emptyHeaderTitle: string, chartFill: IChartFillConfig | undefined, theme: ITheme | undefined): ISeriesItem[];
8
- export declare function getWaterfallChartCategories(categories: string[], chartConfig: IChartConfig, measureGroup: IMeasureGroupDescriptor["measureGroupHeader"], emptyHeaderTitle: string): any[];
8
+ export declare function getWaterfallChartCategories(categories: string[], chartConfig: IChartConfig, measureGroup: IMeasureGroupDescriptor["measureGroupHeader"], emptyHeaderTitle: string): string[];
9
9
  export declare function getColorAssignment(colorAssignments: IColorAssignment[], chartConfig: IChartConfig, series: ISeriesItem[]): IColorAssignment[];
10
10
  //# sourceMappingURL=waterfallChartOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"waterfallChartOptions.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/waterfallChart/waterfallChartOptions.ts"],"names":[],"mappings":"AAIA,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,gBAAgB,EAAuC,MAAM,8BAA8B,CAAC;AAE1G,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,oCAAoC,CAAC;AAC1F,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsCjF,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,UAIjG;AAwDD,wBAAgB,yBAAyB,CACrC,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,MAAM,EAAE,WAAW,EAAE,EACrB,WAAW,EAAE,YAAY,EACzB,eAAe,EAAE,gBAAgB,EACjC,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,gBAAgB,GAAG,SAAS,EACvC,KAAK,EAAE,MAAM,GAAG,SAAS,GAC1B,WAAW,EAAE,CAyCf;AAED,wBAAgB,2BAA2B,CACvC,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,gBAAgB,EAAE,MAAM,GACzB,GAAG,EAAE,CAWP;AAkBD,wBAAgB,kBAAkB,CAC9B,gBAAgB,EAAE,gBAAgB,EAAE,EACpC,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,WAAW,EAAE,sBAyBxB"}
1
+ {"version":3,"file":"waterfallChartOptions.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/waterfallChart/waterfallChartOptions.ts"],"names":[],"mappings":"AAIA,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,gBAAgB,EAAuC,MAAM,8BAA8B,CAAC;AAE1G,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,oCAAoC,CAAC;AAC1F,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsCjF,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,UAIjG;AAwDD,wBAAgB,yBAAyB,CACrC,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,MAAM,EAAE,WAAW,EAAE,EACrB,WAAW,EAAE,YAAY,EACzB,eAAe,EAAE,gBAAgB,EACjC,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,gBAAgB,GAAG,SAAS,EACvC,KAAK,EAAE,MAAM,GAAG,SAAS,GAC1B,WAAW,EAAE,CAyCf;AAED,wBAAgB,2BAA2B,CACvC,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,gBAAgB,EAAE,MAAM,YAY3B;AAkBD,wBAAgB,kBAAkB,CAC9B,gBAAgB,EAAE,gBAAgB,EAAE,EACpC,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,WAAW,EAAE,sBAyBxB"}
@@ -4,7 +4,21 @@ export declare const getWhiteLabelStyle: (theme?: ITheme | null) => CSSObject;
4
4
  export declare const getBlackLabelStyle: (theme?: ITheme | null) => CSSObject;
5
5
  export declare const getBlackStackedLabelStyle: (theme?: ITheme | null) => CSSObject;
6
6
  export declare const getBackplateStackedLabelStyling: (theme?: ITheme | null) => Highcharts.YAxisStackLabelsOptions;
7
- export declare const getBackplateLabelStyling: (theme?: ITheme | null) => Highcharts.DataLabelsOptions;
7
+ export declare const getBackplateLabelStyling: (theme?: ITheme | null) => {
8
+ style: import("highcharts").CSSObject;
9
+ color: string;
10
+ backgroundColor: string;
11
+ borderRadius: number;
12
+ borderColor: string;
13
+ borderWidth: number;
14
+ shadow?: {
15
+ color: string;
16
+ offsetX: number;
17
+ offsetY: number;
18
+ opacity: number;
19
+ width: number;
20
+ } | undefined;
21
+ };
8
22
  export declare const getBackplateLabelStyle: (theme?: ITheme | null) => CSSObject;
9
23
  export declare const getBackplateLabelColor: (theme?: ITheme | null) => string;
10
24
  export declare const DATA_LABEL_C6: CSSObject;