@gooddata/sdk-ui-charts 11.47.0-alpha.0 → 11.47.0-alpha.2

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 (63) hide show
  1. package/NOTICE +5 -5
  2. package/esm/charts/mekko/CoreMekko.d.ts +3 -0
  3. package/esm/charts/mekko/CoreMekko.d.ts.map +1 -0
  4. package/esm/charts/mekko/CoreMekko.js +7 -0
  5. package/esm/charts/mekko/Mekko.d.ts +51 -0
  6. package/esm/charts/mekko/Mekko.d.ts.map +1 -0
  7. package/esm/charts/mekko/Mekko.js +55 -0
  8. package/esm/highcharts/ChartTransformation.d.ts.map +1 -1
  9. package/esm/highcharts/ChartTransformation.js +13 -4
  10. package/esm/highcharts/adapter/Chart.d.ts +1 -0
  11. package/esm/highcharts/adapter/Chart.d.ts.map +1 -1
  12. package/esm/highcharts/adapter/Chart.js +1 -0
  13. package/esm/highcharts/adapter/chartPlugins.d.ts.map +1 -1
  14. package/esm/highcharts/adapter/chartPlugins.js +4 -1
  15. package/esm/highcharts/adapter/legendBuilder.d.ts.map +1 -1
  16. package/esm/highcharts/adapter/legendBuilder.js +1 -0
  17. package/esm/highcharts/adapter/plugins/pointShapeSymbols.d.ts +11 -0
  18. package/esm/highcharts/adapter/plugins/pointShapeSymbols.d.ts.map +1 -0
  19. package/esm/highcharts/adapter/plugins/pointShapeSymbols.js +20 -0
  20. package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.d.ts.map +1 -1
  21. package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.js +1 -0
  22. package/esm/highcharts/chartTypes/_chartCreators/customTooltip/identifierMapping.d.ts.map +1 -1
  23. package/esm/highcharts/chartTypes/_chartCreators/customTooltip/identifierMapping.js +4 -0
  24. package/esm/highcharts/chartTypes/_chartCreators/drilldownEventing.d.ts.map +1 -1
  25. package/esm/highcharts/chartTypes/_chartCreators/drilldownEventing.js +8 -1
  26. package/esm/highcharts/chartTypes/_chartCreators/getOptionalStackingConfiguration.d.ts +1 -1
  27. package/esm/highcharts/chartTypes/_chartCreators/getOptionalStackingConfiguration.d.ts.map +1 -1
  28. package/esm/highcharts/chartTypes/_chartCreators/getOptionalStackingConfiguration.js +8 -4
  29. package/esm/highcharts/chartTypes/_chartCreators/highChartsCreators.d.ts.map +1 -1
  30. package/esm/highcharts/chartTypes/_chartCreators/highChartsCreators.js +2 -0
  31. package/esm/highcharts/chartTypes/_chartOptions/chartCapabilities.d.ts +1 -1
  32. package/esm/highcharts/chartTypes/_chartOptions/chartCapabilities.d.ts.map +1 -1
  33. package/esm/highcharts/chartTypes/_chartOptions/chartCapabilities.js +1 -0
  34. package/esm/highcharts/chartTypes/_chartOptions/chartDistinctPointShapes.d.ts.map +1 -1
  35. package/esm/highcharts/chartTypes/_chartOptions/chartDistinctPointShapes.js +9 -0
  36. package/esm/highcharts/chartTypes/_chartOptions/chartLimits.d.ts +1 -2
  37. package/esm/highcharts/chartTypes/_chartOptions/chartLimits.d.ts.map +1 -1
  38. package/esm/highcharts/chartTypes/_chartOptions/chartLimits.js +4 -9
  39. package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.d.ts.map +1 -1
  40. package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.js +22 -4
  41. package/esm/highcharts/chartTypes/_chartOptions/chartSeries.d.ts.map +1 -1
  42. package/esm/highcharts/chartTypes/_chartOptions/chartSeries.js +30 -3
  43. package/esm/highcharts/chartTypes/_util/common.d.ts +12 -1
  44. package/esm/highcharts/chartTypes/_util/common.d.ts.map +1 -1
  45. package/esm/highcharts/chartTypes/_util/common.js +22 -0
  46. package/esm/highcharts/chartTypes/mekko/mekkoChartOptions.d.ts +18 -0
  47. package/esm/highcharts/chartTypes/mekko/mekkoChartOptions.d.ts.map +1 -0
  48. package/esm/highcharts/chartTypes/mekko/mekkoChartOptions.js +32 -0
  49. package/esm/highcharts/chartTypes/mekko/mekkoConfiguration.d.ts +4 -0
  50. package/esm/highcharts/chartTypes/mekko/mekkoConfiguration.d.ts.map +1 -0
  51. package/esm/highcharts/chartTypes/mekko/mekkoConfiguration.js +52 -0
  52. package/esm/highcharts/chartTypes/mekko/mekkoSeries.d.ts +7 -0
  53. package/esm/highcharts/chartTypes/mekko/mekkoSeries.d.ts.map +1 -0
  54. package/esm/highcharts/chartTypes/mekko/mekkoSeries.js +102 -0
  55. package/esm/highcharts/typings/unsafe.d.ts +7 -0
  56. package/esm/highcharts/typings/unsafe.d.ts.map +1 -1
  57. package/esm/index.d.ts +2 -1
  58. package/esm/index.d.ts.map +1 -1
  59. package/esm/index.js +1 -0
  60. package/esm/interfaces/chartConfig.d.ts +45 -4
  61. package/esm/interfaces/chartConfig.d.ts.map +1 -1
  62. package/esm/sdk-ui-charts.d.ts +98 -4
  63. package/package.json +13 -13
package/NOTICE CHANGED
@@ -7,9 +7,9 @@
7
7
 
8
8
  The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
9
9
 
10
- Date generated: 2026-7-9
10
+ Date generated: 2026-7-10
11
11
 
12
- Revision ID: fbb2b207aa6388a6070a52fba94dbfaee4ce7208
12
+ Revision ID: 49e9a8adde3ee1f908b34090cae5065e788ef0dd
13
13
 
14
14
  ================================================================================
15
15
  ================================================================================
@@ -8770,7 +8770,7 @@ Package Title: json5 (2.2.3)
8770
8770
 
8771
8771
  Package Locator: npm+json5$2.2.3
8772
8772
 
8773
- Package Depth: Direct
8773
+ Package Depth: Transitive
8774
8774
  --------------------------------------------------------------------------------
8775
8775
 
8776
8776
  * Declared Licenses *
@@ -13284,7 +13284,7 @@ Package Title: watchpack (2.5.2)
13284
13284
 
13285
13285
  Package Locator: npm+watchpack$2.5.2
13286
13286
 
13287
- Package Depth: Direct
13287
+ Package Depth: Transitive
13288
13288
  --------------------------------------------------------------------------------
13289
13289
 
13290
13290
  * Declared Licenses *
@@ -29272,4 +29272,4 @@ POSSIBILITY OF SUCH DAMAGE.
29272
29272
  --------------------------------------------------------------------------------
29273
29273
  --------------------------------------------------------------------------------
29274
29274
 
29275
- Report Generated by FOSSA on 2026-7-9
29275
+ Report Generated by FOSSA on 2026-7-10
@@ -0,0 +1,3 @@
1
+ import { type ICoreChartProps } from "../../interfaces/chartProps.js";
2
+ export declare const CoreMekko: import("react").NamedExoticComponent<ICoreChartProps>;
3
+ //# sourceMappingURL=CoreMekko.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreMekko.d.ts","sourceRoot":"","sources":["../../../src/charts/mekko/CoreMekko.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE,eAAO,MAAM,SAAS,uDAEpB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2026 GoodData Corporation
3
+ import { memo } from "react";
4
+ import { BaseChart } from "../_base/BaseChart.js";
5
+ export const CoreMekko = memo(function CoreMekko(props) {
6
+ return _jsx(BaseChart, { type: "mekko", ...props });
7
+ });
@@ -0,0 +1,51 @@
1
+ import { type AttributeOrPlaceholder, type MeasureOrPlaceholder, type NullableFiltersOrPlaceholders, type SortsOrPlaceholders } from "@gooddata/sdk-ui";
2
+ import { type IBucketChartProps } from "../../interfaces/chartProps.js";
3
+ /**
4
+ * @beta
5
+ */
6
+ export interface IMekkoBucketProps {
7
+ /**
8
+ * Specify the measure that sets each column's width (proportional to its value).
9
+ */
10
+ widthMeasure?: MeasureOrPlaceholder;
11
+ /**
12
+ * Specify the measure that sets each column's height, read off the Y axis.
13
+ */
14
+ heightMeasure?: MeasureOrPlaceholder;
15
+ /**
16
+ * Specify the attribute used to create the columns (one column per attribute element).
17
+ */
18
+ viewBy?: AttributeOrPlaceholder;
19
+ /**
20
+ * Specify the attribute used to stack the columns into segments.
21
+ */
22
+ stackBy?: AttributeOrPlaceholder;
23
+ /**
24
+ * Specify filters to apply on the data to chart.
25
+ */
26
+ filters?: NullableFiltersOrPlaceholders;
27
+ /**
28
+ * Specify how to sort the data to chart.
29
+ */
30
+ sortBy?: SortsOrPlaceholders;
31
+ /**
32
+ * Resolution context for composed placeholders.
33
+ */
34
+ placeholdersResolutionContext?: any;
35
+ }
36
+ /**
37
+ * @beta
38
+ */
39
+ export interface IMekkoProps extends IBucketChartProps, IMekkoBucketProps {
40
+ }
41
+ /**
42
+ * Mekko (Marimekko) chart shows data as stacked columns whose widths are proportional to a measure.
43
+ *
44
+ * @remarks
45
+ * Each column's width is driven by the width measure, its height by the height measure, columns are
46
+ * created from the view-by attribute, and segments come from the stack-by attribute.
47
+ *
48
+ * @beta
49
+ */
50
+ export declare function Mekko(props: IMekkoProps): import("react/jsx-runtime").JSX.Element;
51
+ //# sourceMappingURL=Mekko.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mekko.d.ts","sourceRoot":"","sources":["../../../src/charts/mekko/Mekko.tsx"],"names":[],"mappings":"AASA,OAAO,EACH,KAAK,sBAAsB,EAE3B,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EAE3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AA4CxE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAEpC;;OAEG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAErC;;OAEG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,EAAE,6BAA6B,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,6BAA6B,CAAC,EAAE,GAAG,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,iBAAiB,EAAE,iBAAiB;CAAG;AAI5E;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,WAAW,2CAmBvC"}
@@ -0,0 +1,55 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2026 GoodData Corporation
3
+ import { newBucket, } from "@gooddata/sdk-model";
4
+ import { BucketNames, useResolveValuesWithPlaceholders, } from "@gooddata/sdk-ui";
5
+ import { withChart } from "../_base/withChart.js";
6
+ import { stackedChartDimensions } from "../_commons/dimensions.js";
7
+ import { CoreMekko } from "./CoreMekko.js";
8
+ //
9
+ // Internals
10
+ //
11
+ const mekkoDefinition = {
12
+ chartName: "Mekko",
13
+ bucketPropsKeys: ["widthMeasure", "heightMeasure", "viewBy", "stackBy", "filters", "sortBy"],
14
+ bucketsFactory: (props) => {
15
+ // Bucket order defines the MeasureGroup order consumed by getMekkoSeries:
16
+ // MEASURES (width) -> index 0, SECONDARY_MEASURES (height) -> index 1.
17
+ return [
18
+ newBucket(BucketNames.MEASURES, props.widthMeasure),
19
+ newBucket(BucketNames.SECONDARY_MEASURES, props.heightMeasure),
20
+ newBucket(BucketNames.VIEW, props.viewBy),
21
+ newBucket(BucketNames.STACK, props.stackBy),
22
+ ];
23
+ },
24
+ executionFactory: (props, buckets) => {
25
+ const { backend, workspace, execConfig } = props;
26
+ const sortBy = props.sortBy ?? [];
27
+ return backend
28
+ .withTelemetry("Mekko", props)
29
+ .workspace(workspace)
30
+ .execution()
31
+ .forBuckets(buckets, props.filters)
32
+ .withSorting(...sortBy)
33
+ .withDimensions(stackedChartDimensions)
34
+ .withExecConfig(execConfig);
35
+ },
36
+ };
37
+ const WrappedMekko = withChart(mekkoDefinition)(CoreMekko);
38
+ /**
39
+ * Mekko (Marimekko) chart shows data as stacked columns whose widths are proportional to a measure.
40
+ *
41
+ * @remarks
42
+ * Each column's width is driven by the width measure, its height by the height measure, columns are
43
+ * created from the view-by attribute, and segments come from the stack-by attribute.
44
+ *
45
+ * @beta
46
+ */
47
+ export function Mekko(props) {
48
+ const [widthMeasure, heightMeasure, viewBy, stackBy, filters, sortBy] = useResolveValuesWithPlaceholders([props.widthMeasure, props.heightMeasure, props.viewBy, props.stackBy, props.filters, props.sortBy], props.placeholdersResolutionContext);
49
+ return (_jsx(WrappedMekko, { ...props, widthMeasure,
50
+ heightMeasure,
51
+ viewBy,
52
+ stackBy,
53
+ filters,
54
+ sortBy }));
55
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ChartTransformation.d.ts","sourceRoot":"","sources":["../../src/highcharts/ChartTransformation.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,OAAO,CAAC;AAQnE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAMzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAuB,KAAK,iBAAiB,EAAoB,MAAM,8BAA8B,CAAC;AAE7G,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,OAAO,EAEH,KAAK,wBAAwB,EAGhC,MAAM,iCAAiC,CAAC;AAczC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,GAAG,YAAY,CAM9E;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,SAAS,CAAC;IAEpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAE7B,WAAW,IAAI,IAAI,CAAC;IACpB,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,gBAAgB,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAEvD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,CAAC,GAAG,EAAE,wBAAwB,GAAG,YAAY,CAAC;IAEvD,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;CACxC;AAqJD,eAAO,MAAM,mBAAmB,iJAK9B,CAAC"}
1
+ {"version":3,"file":"ChartTransformation.d.ts","sourceRoot":"","sources":["../../src/highcharts/ChartTransformation.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,OAAO,CAAC;AAQnE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAMzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAuB,KAAK,iBAAiB,EAAoB,MAAM,8BAA8B,CAAC;AAE7G,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,OAAO,EAEH,KAAK,wBAAwB,EAGhC,MAAM,iCAAiC,CAAC;AAczC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,GAAG,YAAY,CAM9E;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,SAAS,CAAC;IAEpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAE7B,WAAW,IAAI,IAAI,CAAC;IACpB,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,gBAAgB,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAEvD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,CAAC,GAAG,EAAE,wBAAwB,GAAG,YAAY,CAAC;IAEvD,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;CACxC;AA+JD,eAAO,MAAM,mBAAmB,iJAK9B,CAAC"}
@@ -55,10 +55,11 @@ function ChartTransformationImpl({ config, renderer = renderHighCharts, dataView
55
55
  onDataTooLarge(chartOptions, getDataTooLargeErrorMessage(config.limits, chartOptions));
56
56
  }
57
57
  else if (validationResult.hasNegativeValue) {
58
- // ignore hasNegativeValue if validation already fails on dataTooLarge
59
- // force onNegativeValues error handling only for pie chart.
60
- // hasNegativeValue can be true only for pie chart.
61
- invariant(onNegativeValues, '"onNegativeValues" callback required for pie chart transformation is missing.');
58
+ // ignore hasNegativeValue if validation already fails on dataTooLarge.
59
+ // hasNegativeValue is true for pie-family charts (any negative value) and for Mekko
60
+ // (negative Width). onNegativeValues is always supplied via withEntireDataView, so this
61
+ // invariant is a safety guard, not a pie-only constraint both route to the empty state.
62
+ invariant(onNegativeValues, '"onNegativeValues" callback required for negative-value error handling is missing.');
62
63
  onNegativeValues(chartOptions);
63
64
  }
64
65
  else {
@@ -68,6 +69,14 @@ function ChartTransformationImpl({ config, renderer = renderHighCharts, dataView
68
69
  propertiesMeta: {
69
70
  legend_enabled: legendOptions.toggleEnabled,
70
71
  isFilteringRecommended,
72
+ // Mekko: "Stack to 100%" was requested but downgraded to absolute stacking because the
73
+ // Height metric has negative values (percent of mixed-sign segments is undefined).
74
+ // Surfaced as an info note in AD; the property stays set so 100% re-enables once cleaned.
75
+ // No Stack-by means no percent stacking to downgrade (getStackingConfig only yields
76
+ // "percent" with a stack attribute), so the note must not show.
77
+ stackToPercentDisabledByNegativeValues: Boolean(config.stackMeasuresToPercent) &&
78
+ Boolean(chartOptions.hasStackByAttribute) &&
79
+ Boolean(chartOptions.stackToPercentBlockedByNegativeValues),
71
80
  },
72
81
  colors: {
73
82
  colorAssignments: chartOptions.colorAssignments,
@@ -9,6 +9,7 @@ import "highcharts/esm/modules/heatmap.js";
9
9
  import "highcharts/esm/modules/pattern-fill.js";
10
10
  import "highcharts/esm/modules/sankey.js";
11
11
  import "highcharts/esm/modules/dependency-wheel.js";
12
+ import "highcharts/esm/modules/variwide.js";
12
13
  import "highcharts/esm/modules/accessibility.js";
13
14
  /**
14
15
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/highcharts/adapter/Chart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAWlC,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,mCAAmC,CAAC;AAC3C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,wCAAwC,CAAC;AAChD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,4CAA4C,CAAC;AACpD,OAAO,yCAAyC,CAAC;AAUjD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,IAAI,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,KAAM,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC7C,OAAc,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,CAAC,CAGpE;IAEF,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,QAAQ,CAAe;IAE/B,OAAO,CAAC,EAAE,CAAmC;IAE7C,OAAO,CAAC,cAAc,CAcpB;IAEc,iBAAiB,IAAI,IAAI,CAaxC;IAEe,qBAAqB,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAKrE;IAEe,kBAAkB,IAAI,IAAI,CAEzC;IAEe,oBAAoB,IAAI,IAAI,CAQ3C;IAEM,eAAe,IAAI,WAAW,CAEpC;IAEM,WAAW,6BAEhB;IAEK,QAAQ,IAAI,MAAM,CAMxB;IAEM,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAmBlD;IAEe,MAAM,4CAErB;CACJ"}
1
+ {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/highcharts/adapter/Chart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAWlC,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,mCAAmC,CAAC;AAC3C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,wCAAwC,CAAC;AAChD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,4CAA4C,CAAC;AACpD,OAAO,oCAAoC,CAAC;AAC5C,OAAO,yCAAyC,CAAC;AAUjD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,IAAI,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,KAAM,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC7C,OAAc,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,CAAC,CAGpE;IAEF,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,QAAQ,CAAe;IAE/B,OAAO,CAAC,EAAE,CAAmC;IAE7C,OAAO,CAAC,cAAc,CAcpB;IAEc,iBAAiB,IAAI,IAAI,CAaxC;IAEe,qBAAqB,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAKrE;IAEe,kBAAkB,IAAI,IAAI,CAEzC;IAEe,oBAAoB,IAAI,IAAI,CAQ3C;IAEM,eAAe,IAAI,WAAW,CAEpC;IAEM,WAAW,6BAEhB;IAEK,QAAQ,IAAI,MAAM,CAMxB;IAEM,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAmBlD;IAEe,MAAM,4CAErB;CACJ"}
@@ -15,6 +15,7 @@ import "highcharts/esm/modules/heatmap.js";
15
15
  import "highcharts/esm/modules/pattern-fill.js";
16
16
  import "highcharts/esm/modules/sankey.js";
17
17
  import "highcharts/esm/modules/dependency-wheel.js";
18
+ import "highcharts/esm/modules/variwide.js";
18
19
  import "highcharts/esm/modules/accessibility.js";
19
20
  // NOTE: default initialization without accessible tooltip plugin.
20
21
  // The conditional init with the flag is done in ChartTransformation.
@@ -1 +1 @@
1
- {"version":3,"file":"chartPlugins.d.ts","sourceRoot":"","sources":["../../../src/highcharts/adapter/chartPlugins.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAelD,wBAAgB,gBAAgB,CAC5B,UAAU,EAAE,GAAG,EACf,4BAA4B,CAAC,EAAE,OAAO,EACtC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI,CAqBN"}
1
+ {"version":3,"file":"chartPlugins.d.ts","sourceRoot":"","sources":["../../../src/highcharts/adapter/chartPlugins.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAgBlD,wBAAgB,gBAAgB,CAC5B,UAAU,EAAE,GAAG,EACf,4BAA4B,CAAC,EAAE,OAAO,EACtC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI,CAuBN"}
@@ -1,4 +1,4 @@
1
- // (C) 2007-2025 GoodData Corporation
1
+ // (C) 2007-2026 GoodData Corporation
2
2
  import { groupedCategories } from "./plugins/3rdParty/grouped-categories.js";
3
3
  import { initAccessibleTooltipPluginOnce } from "./plugins/accessibleTooltip.js";
4
4
  import { adjustTickAmount } from "./plugins/adjustTickAmount.js";
@@ -7,6 +7,7 @@ import { extendDataLabelColors } from "./plugins/dataLabelsColors.js";
7
7
  import { groupCategoriesWrapper } from "./plugins/group-categories-wrapper.js";
8
8
  import { linearTickPositions } from "./plugins/linearTickPositions.js";
9
9
  import { applyPointHaloOptions } from "./plugins/pointHalo.js";
10
+ import { registerPointShapeSymbols } from "./plugins/pointShapeSymbols.js";
10
11
  import { renderBubbles } from "./plugins/renderBubbles.js";
11
12
  let basePluginsInitialized = false;
12
13
  let dataLabelColorsInitialized = false;
@@ -20,6 +21,8 @@ export function initChartPlugins(highcharts, enableAccessibleChartTooltip, theme
20
21
  adjustTickAmount(highcharts);
21
22
  // modify rendering bubbles in bubble chart after upgrade to Highcharts v7.1.1
22
23
  renderBubbles(highcharts);
24
+ // register custom point-shape marker symbols beyond the five Highcharts built-ins
25
+ registerPointShapeSymbols(highcharts);
23
26
  basePluginsInitialized = true;
24
27
  }
25
28
  if (enableAccessibleChartTooltip) {
@@ -1 +1 @@
1
- {"version":3,"file":"legendBuilder.d.ts","sourceRoot":"","sources":["../../../src/highcharts/adapter/legendBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAEH,KAAK,cAAc,EAGnB,KAAK,qBAAqB,EAC7B,MAAM,8BAA8B,CAAC;AAgBtC,OAAO,EAAE,KAAK,aAAa,EAA0C,MAAM,sBAAsB,CAAC;AAgBlG,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,aAAa,GAAG,OAAO,CAkD1E;AAED,wBAAgB,cAAc,CAC1B,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,CAAC,EAAE,SAAS,GACjB,qBAAqB,EAAE,CAiGzB;AA+BD,wBAAgB,kBAAkB,CAC9B,YAAY,KAAU,EACtB,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,CAAC,EAAE,SAAS,GACjB,cAAc,CAkEhB"}
1
+ {"version":3,"file":"legendBuilder.d.ts","sourceRoot":"","sources":["../../../src/highcharts/adapter/legendBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAEH,KAAK,cAAc,EAGnB,KAAK,qBAAqB,EAC7B,MAAM,8BAA8B,CAAC;AAgBtC,OAAO,EAAE,KAAK,aAAa,EAA0C,MAAM,sBAAsB,CAAC;AAgBlG,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,aAAa,GAAG,OAAO,CAkD1E;AAED,wBAAgB,cAAc,CAC1B,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,CAAC,EAAE,SAAS,GACjB,qBAAqB,EAAE,CAiGzB;AA+BD,wBAAgB,kBAAkB,CAC9B,YAAY,KAAU,EACtB,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,CAAC,EAAE,SAAS,GACjB,cAAc,CAmEhB"}
@@ -180,6 +180,7 @@ export function buildLegendOptions(legendConfig = {}, chartOptions, theme, intl)
180
180
  VisualizationTypes.PIE,
181
181
  VisualizationTypes.DONUT,
182
182
  VisualizationTypes.WATERFALL,
183
+ VisualizationTypes.MEKKO,
183
184
  ];
184
185
  const defaultHideLegendCharts = [
185
186
  VisualizationTypes.SANKEY,
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Registers the custom point-shape marker symbols (star, pentagon, cross, plus, hexagon, octagon,
3
+ * arrow and the extra triangle orientations) on the Highcharts SVG renderer.
4
+ *
5
+ * @remarks
6
+ * Highcharts only knows five built-in marker symbols; every other documented point shape would
7
+ * otherwise silently fall back to "circle". Each shape is drawn from the shared normalized polygon
8
+ * geometry so chart markers stay in sync with the legend icons.
9
+ */
10
+ export declare function registerPointShapeSymbols(Highcharts: any): void;
11
+ //# sourceMappingURL=pointShapeSymbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pointShapeSymbols.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/adapter/plugins/pointShapeSymbols.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI,CAU/D"}
@@ -0,0 +1,20 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { CUSTOM_POINT_SHAPES, getPointShapeSvgPath } from "@gooddata/sdk-ui-vis-commons";
3
+ /**
4
+ * Registers the custom point-shape marker symbols (star, pentagon, cross, plus, hexagon, octagon,
5
+ * arrow and the extra triangle orientations) on the Highcharts SVG renderer.
6
+ *
7
+ * @remarks
8
+ * Highcharts only knows five built-in marker symbols; every other documented point shape would
9
+ * otherwise silently fall back to "circle". Each shape is drawn from the shared normalized polygon
10
+ * geometry so chart markers stay in sync with the legend icons.
11
+ */
12
+ export function registerPointShapeSymbols(Highcharts) {
13
+ const symbols = Highcharts?.SVGRenderer?.prototype?.symbols;
14
+ if (!symbols) {
15
+ return;
16
+ }
17
+ CUSTOM_POINT_SHAPES.forEach((shape) => {
18
+ symbols[shape] = (x, y, w, h) => getPointShapeSvgPath(shape, x, y, w, h);
19
+ });
20
+ }
@@ -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;AAyND,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;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"}
@@ -846,6 +846,7 @@ function getHoverStyles({ type }, config) {
846
846
  case VisualizationTypes.BAR:
847
847
  case VisualizationTypes.COLUMN:
848
848
  case VisualizationTypes.BULLET:
849
+ case VisualizationTypes.MEKKO:
849
850
  seriesMapFn = barSeriesMapFn;
850
851
  break;
851
852
  case VisualizationTypes.HEATMAP:
@@ -1 +1 @@
1
- {"version":3,"file":"identifierMapping.d.ts","sourceRoot":"","sources":["../../../../../src/highcharts/chartTypes/_chartCreators/customTooltip/identifierMapping.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAA4C,MAAM,qBAAqB,CAAC;AAI1G;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,iBAAiB,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAyBD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,oBAAoB,EAChC,SAAS,CAAC,EAAE,MAAM,GACnB,kBAAkB,CAiCpB"}
1
+ {"version":3,"file":"identifierMapping.d.ts","sourceRoot":"","sources":["../../../../../src/highcharts/chartTypes/_chartCreators/customTooltip/identifierMapping.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAA4C,MAAM,qBAAqB,CAAC;AAI1G;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,iBAAiB,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AA6BD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,oBAAoB,EAChC,SAAS,CAAC,EAAE,MAAM,GACnB,kBAAkB,CAiCpB"}
@@ -19,6 +19,10 @@ function getMeasurePointField(chartType, bucketLocalId) {
19
19
  // primary (MEASURES) and comparative (TERTIARY_MEASURES) series
20
20
  // both use point.y.
21
21
  return bucketLocalId === BucketNames.SECONDARY_MEASURES ? "target" : "y";
22
+ case VisualizationTypes.MEKKO:
23
+ // Mekko (variwide): Width (MEASURES) is the column width on point.z,
24
+ // Height (SECONDARY_MEASURES) is on point.y.
25
+ return bucketLocalId === BucketNames.MEASURES ? "z" : "y";
22
26
  default:
23
27
  return "y";
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"drilldownEventing.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/drilldownEventing.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,EAOjB,KAAK,OAAO,EAGf,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,KAAK,sBAAsB,EAA+B,MAAM,kCAAkC,CAAC;AAE5G,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAwBlF;AA0JD,wBAAgB,UAAU,CACtB,WAAW,EAAE,YAAY,EACzB,KAAK,EAAE,UAAU,CAAC,oBAAoB,EACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACrB,IAAI,CAEN;AAuCD,wBAAgB,cAAc,CAC1B,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,sBAAsB,EAAE,EAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACrB,IAAI,CAEN"}
1
+ {"version":3,"file":"drilldownEventing.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/drilldownEventing.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,YAAY,EAOjB,KAAK,OAAO,EAGf,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,KAAK,sBAAsB,EAA+B,MAAM,kCAAkC,CAAC;AAE5G,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAyBlF;AAgKD,wBAAgB,UAAU,CACtB,WAAW,EAAE,YAAY,EACzB,KAAK,EAAE,UAAU,CAAC,oBAAoB,EACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACrB,IAAI,CAEN;AAuCD,wBAAgB,cAAc,CAC1B,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,sBAAsB,EAAE,EAChC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACrB,IAAI,CAEN"}
@@ -14,6 +14,7 @@ export function getClickableElementNameByChartType(type) {
14
14
  case VisualizationTypes.COLUMN:
15
15
  case VisualizationTypes.BAR:
16
16
  case VisualizationTypes.WATERFALL:
17
+ case VisualizationTypes.MEKKO:
17
18
  return "bar";
18
19
  case VisualizationTypes.PIE:
19
20
  case VisualizationTypes.TREEMAP:
@@ -41,7 +42,13 @@ function fireEvent(onDrill, data, target) {
41
42
  }
42
43
  }
43
44
  const getElementChartType = (chartType, point) => {
44
- return point?.series?.type ?? chartType;
45
+ const seriesType = point?.series?.type;
46
+ // Mekko renders as a `variwide` series; map that series type back to the logical Mekko type so
47
+ // VisualizationType-based consumers (e.g. getClickableElementNameByChartType) recognize it.
48
+ if (seriesType === "variwide") {
49
+ return VisualizationTypes.MEKKO;
50
+ }
51
+ return seriesType ?? chartType;
45
52
  };
46
53
  const getDrillPointCustomProps = (point, chartType) => {
47
54
  if (isComboChart(chartType)) {
@@ -31,6 +31,6 @@ export declare function getShowInPercentConfiguration(chartOptions: IChartOption
31
31
  * Convert [0, 1] to [0, 100], it's needed by highchart
32
32
  * Only applied to primary Y axis
33
33
  */
34
- export declare function convertMinMaxFromPercentToNumber(_chartOptions: IChartOptions, config: HighchartsOptions, chartConfig: IChartConfig): HighchartsOptions;
34
+ export declare function convertMinMaxFromPercentToNumber(chartOptions: IChartOptions, config: HighchartsOptions, chartConfig: IChartConfig): HighchartsOptions;
35
35
  export declare function getOptionalStackingConfiguration(chartOptions: IChartOptions, config: HighchartsOptions, chartConfig?: IChartConfig, drillConfig?: IDrillConfig): HighchartsOptions;
36
36
  //# 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;AAiGjC;;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,CA4Bd;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,YAAY,GAC1B,oBAAoB,CAkBtB;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,2BAAoB,EAChC,WAAW,EAAE,YAAY,EACzB,OAAO,GAAE,iBAAsB,GAChC,iBAAiB,CAyBnB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC5C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,YAAY,GAC1B,iBAAiB,CAgCnB;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;AAiGjC;;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,CA4Bd;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,2BAAoB,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"}
@@ -147,7 +147,8 @@ export function getYAxisConfiguration(chartOptions, config, chartConfig) {
147
147
  */
148
148
  export function getStackMeasuresConfiguration(chartOptions, config, chartConfig) {
149
149
  const { stackMeasures = false, stackMeasuresToPercent = false } = chartConfig;
150
- const canStackInPercent = canComboChartBeStackedInPercent(chartOptions.data?.series ?? []);
150
+ const canStackInPercent = canComboChartBeStackedInPercent(chartOptions.data?.series ?? []) &&
151
+ !chartOptions.stackToPercentBlockedByNegativeValues;
151
152
  if (!stackMeasures && !stackMeasuresToPercent) {
152
153
  return {};
153
154
  }
@@ -189,7 +190,8 @@ export function setDrillConfigToXAxis(drillConfig) {
189
190
  */
190
191
  export function getShowInPercentConfiguration(chartOptions = {}, chartConfig, _config = {}) {
191
192
  const { stackMeasuresToPercent = false, primaryChartType } = chartConfig;
192
- const canStackInPercent = canComboChartBeStackedInPercent(chartOptions.data?.series);
193
+ const canStackInPercent = canComboChartBeStackedInPercent(chartOptions.data?.series) &&
194
+ !chartOptions.stackToPercentBlockedByNegativeValues;
193
195
  if (!canStackInPercent || !stackMeasuresToPercent || isLineChart(primaryChartType)) {
194
196
  return {};
195
197
  }
@@ -213,9 +215,11 @@ export function getShowInPercentConfiguration(chartOptions = {}, chartConfig, _c
213
215
  * Convert [0, 1] to [0, 100], it's needed by highchart
214
216
  * Only applied to primary Y axis
215
217
  */
216
- export function convertMinMaxFromPercentToNumber(_chartOptions, config, chartConfig) {
218
+ export function convertMinMaxFromPercentToNumber(chartOptions, config, chartConfig) {
217
219
  const { stackMeasuresToPercent = false } = chartConfig;
218
- if (!stackMeasuresToPercent) {
220
+ // When Mekko downgrades 100%→absolute (negative Height) the axis shows absolute values, so
221
+ // user min/max must not be rescaled — same guard as the sibling stacking-config functions.
222
+ if (!stackMeasuresToPercent || chartOptions?.stackToPercentBlockedByNegativeValues) {
219
223
  return {};
220
224
  }
221
225
  let yAxes;
@@ -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;AAyD/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":"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"}
@@ -14,6 +14,7 @@ import { getDonutConfiguration } from "../donutChart/donutConfiguration.js";
14
14
  import { getFunnelConfiguration } from "../funnelChart/funnelConfiguration.js";
15
15
  import { getHeatmapConfiguration } from "../heatmap/heatmapConfiguration.js";
16
16
  import { getLineConfiguration } from "../lineChart/lineConfiguration.js";
17
+ import { getMekkoConfiguration } from "../mekko/mekkoConfiguration.js";
17
18
  import { getPieConfiguration } from "../pieChart/pieConfiguration.js";
18
19
  import { getPyramidConfiguration } from "../pyramidChart/pyramidConfiguration.js";
19
20
  import { getRadarConfiguration } from "../radarChart/radarConfiguration.js";
@@ -43,6 +44,7 @@ const chartConfigurationMap = {
43
44
  [VisualizationTypes.DEPENDENCY_WHEEL]: getDependencyWheelConfiguration,
44
45
  [VisualizationTypes.WATERFALL]: getWaterfallConfiguration,
45
46
  [VisualizationTypes.RADAR]: getRadarConfiguration,
47
+ [VisualizationTypes.MEKKO]: getMekkoConfiguration,
46
48
  };
47
49
  export function getHighchartsOptions(chartOptions, drillConfig, config, definition, intl, theme) {
48
50
  const getConfigurationByType = chartConfigurationMap[chartOptions.type];
@@ -1,6 +1,6 @@
1
1
  export declare const supportedDualAxesChartTypes: ("area" | "bar" | "bullet" | "column" | "combo" | "combo2" | "line" | "waterfall")[];
2
2
  export declare const supportedTooltipFollowPointerChartTypes: ("bar" | "bullet" | "column" | "combo" | "combo2" | "waterfall")[];
3
- export declare const supportedStackingAttributesChartTypes: ("area" | "bar" | "bullet" | "column" | "combo" | "combo2" | "waterfall")[];
3
+ export declare const supportedStackingAttributesChartTypes: ("area" | "bar" | "bullet" | "column" | "combo" | "combo2" | "mekko" | "waterfall")[];
4
4
  export declare const multiMeasuresAlternatingTypes: ("donut" | "funnel" | "pie" | "pyramid" | "treemap" | "waterfall")[];
5
5
  export declare const unsupportedNegativeValuesTypes: ("dependencywheel" | "donut" | "funnel" | "pie" | "pyramid" | "sankey" | "treemap")[];
6
6
  export declare const showingNameInLegendWhenViewByPresent: ("donut" | "funnel" | "pie" | "pyramid")[];
@@ -1 +1 @@
1
- {"version":3,"file":"chartCapabilities.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartCapabilities.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,2BAA2B,sFASvC,CAAC;AACF,eAAO,MAAM,uCAAuC,oEAOnD,CAAC;AACF,eAAO,MAAM,qCAAqC,6EAQjD,CAAC;AAEF,eAAO,MAAM,6BAA6B,sEAOzC,CAAC;AACF,eAAO,MAAM,8BAA8B,uFAQ1C,CAAC;AACF,eAAO,MAAM,oCAAoC,4CAKhD,CAAC;AACF,eAAO,MAAM,wBAAwB,sDAMpC,CAAC"}
1
+ {"version":3,"file":"chartCapabilities.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartCapabilities.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,2BAA2B,sFASvC,CAAC;AACF,eAAO,MAAM,uCAAuC,oEAOnD,CAAC;AACF,eAAO,MAAM,qCAAqC,uFASjD,CAAC;AAEF,eAAO,MAAM,6BAA6B,sEAOzC,CAAC;AACF,eAAO,MAAM,8BAA8B,uFAQ1C,CAAC;AACF,eAAO,MAAM,oCAAoC,4CAKhD,CAAC;AACF,eAAO,MAAM,wBAAwB,sDAMpC,CAAC"}
@@ -26,6 +26,7 @@ export const supportedStackingAttributesChartTypes = [
26
26
  VisualizationTypes.COMBO,
27
27
  VisualizationTypes.COMBO2,
28
28
  VisualizationTypes.WATERFALL,
29
+ VisualizationTypes.MEKKO,
29
30
  ];
30
31
  // types with only many measures or one measure and one attribute
31
32
  export const multiMeasuresAlternatingTypes = [
@@ -1 +1 @@
1
- {"version":3,"file":"chartDistinctPointShapes.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartDistinctPointShapes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EACH,KAAK,YAAY,EAGpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA2F3D;;GAEG;AACH,wBAAgB,gCAAgC,CAC5C,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,WAAW,EAAE,EACrB,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,iBAiB9D"}
1
+ {"version":3,"file":"chartDistinctPointShapes.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartDistinctPointShapes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EACH,KAAK,YAAY,EAGpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAoG3D;;GAEG;AACH,wBAAgB,gCAAgC,CAC5C,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,WAAW,EAAE,EACrB,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,iBAiB9D"}
@@ -9,6 +9,15 @@ const POINT_SHAPES_CONFIGS = [
9
9
  { symbol: "triangle" },
10
10
  { symbol: "triangle-down" },
11
11
  { symbol: "diamond" },
12
+ { symbol: "star" },
13
+ { symbol: "cross" },
14
+ { symbol: "plus" },
15
+ { symbol: "pentagon" },
16
+ { symbol: "hexagon" },
17
+ { symbol: "octagon" },
18
+ { symbol: "arrow" },
19
+ { symbol: "triangle-left" },
20
+ { symbol: "triangle-right" },
12
21
  ];
13
22
  /**
14
23
  * Checks if the chart type supports distinct point shapes
@@ -1,10 +1,9 @@
1
1
  import { type IChartLimits } from "../../../interfaces/chartConfig.js";
2
- import { type IChartOptions, type ISeriesItem } from "../../typings/unsafe.js";
2
+ import { type IChartOptions } from "../../typings/unsafe.js";
3
3
  export interface IValidationResult {
4
4
  dataTooLarge: boolean;
5
5
  hasNegativeValue: boolean;
6
6
  }
7
- export declare function isNegativeValueIncluded(series: ISeriesItem[] | undefined): boolean;
8
7
  export declare function cannotShowNegativeValues(type: string | undefined): boolean;
9
8
  export declare function validateData(limits: IChartLimits | undefined, chartOptions: IChartOptions): IValidationResult;
10
9
  export declare function getIsFilteringRecommended(chartOptions: IChartOptions): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"chartLimits.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartLimits.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAuBvE,OAAO,EACH,KAAK,aAAa,EAGlB,KAAK,WAAW,EACnB,MAAM,yBAAyB,CAAC;AAMjC,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAID,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,GAAG,OAAO,CAUlF;AAkHD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE1E;AAkCD,wBAAgB,YAAY,CACxB,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,YAAY,EAAE,aAAa,GAC5B,iBAAiB,CAoBnB;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,aAAa,GAAG,OAAO,CAW9E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,UA6D5F"}
1
+ {"version":3,"file":"chartLimits.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartLimits.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAuBvE,OAAO,EAAE,KAAK,aAAa,EAA4C,MAAM,yBAAyB,CAAC;AAYvG,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAkHD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE1E;AAkCD,wBAAgB,YAAY,CACxB,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,YAAY,EAAE,aAAa,GAC5B,iBAAiB,CAsBnB;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,aAAa,GAAG,OAAO,CAW9E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,UA6D5F"}
@@ -2,15 +2,8 @@
2
2
  import { VisualizationTypes } from "@gooddata/sdk-ui";
3
3
  import { COLUMN_BAR_TOTAL_DATA_POINTS_LIMIT, DEFAULT_CATEGORIES_LIMIT, DEFAULT_DATA_POINTS_LIMIT, DEFAULT_SERIES_LIMIT, HEATMAP_DATA_POINTS_LIMIT, PIE_CHART_LIMIT, SANKEY_CHART_DATA_POINT_LIMIT, SANKEY_CHART_NODE_LIMIT, SOFT_COLUMN_BAR_TOTAL_DATA_POINTS_LIMIT, SOFT_DEFAULT_CATEGORIES_LIMIT, SOFT_DEFAULT_DATA_POINTS_LIMIT, SOFT_DEFAULT_SERIES_LIMIT, SOFT_PIE_CHART_LIMIT, SOFT_SANKEY_CHART_DATA_POINT_LIMIT, SOFT_SANKEY_CHART_NODE_LIMIT, SOFT_STACKED_COLUMN_BAR_SERIES_LIMIT, SOFT_WATERFALL_CHART_DATA_POINT_LIMIT, STACKED_COLUMN_BAR_SERIES_LIMIT, WATERFALL_CHART_DATA_POINT_LIMIT, } from "../../constants/limits.js";
4
4
  import { isDataOfReasonableSize } from "../_chartCreators/highChartsCreators.js";
5
- import { isOneOfTypes, isTreemap } from "../_util/common.js";
5
+ import { isMekko, isNegativeValueIncluded, isNegativeWidthIncluded, isOneOfTypes, isTreemap, } from "../_util/common.js";
6
6
  import { unsupportedNegativeValuesTypes } from "./chartCapabilities.js";
7
- const isNegativeNumber = (n) => typeof n === "number" && n < 0;
8
- export function isNegativeValueIncluded(series) {
9
- if (!series) {
10
- return false;
11
- }
12
- return series.some((seriesItem) => (seriesItem.data || []).some(({ y, value, weight }) => isNegativeNumber(y) || isNegativeNumber(value) || isNegativeNumber(weight)));
13
- }
14
7
  function getChartLimits(type, chartOptions) {
15
8
  const isStacked = !!chartOptions?.stacking;
16
9
  switch (type) {
@@ -159,7 +152,9 @@ export function validateData(limits, chartOptions) {
159
152
  const totalDataTooLarge = !limits && exceedsColumnBarTotalDataPoints(type, dataToValidate, COLUMN_BAR_TOTAL_DATA_POINTS_LIMIT);
160
153
  return {
161
154
  dataTooLarge: totalDataTooLarge || !isDataOfReasonableSize(dataToValidate, finalLimits, isViewByTwoAttributes),
162
- hasNegativeValue: cannotShowNegativeValues(type) && isNegativeValueIncluded(chartOptions.data?.series),
155
+ hasNegativeValue: (cannotShowNegativeValues(type) && isNegativeValueIncluded(chartOptions.data?.series)) ||
156
+ // Mekko: a negative Width (point `z`) yields a column with negative width — unrenderable.
157
+ (isMekko(type) && isNegativeWidthIncluded(chartOptions.data?.series)),
163
158
  };
164
159
  }
165
160
  export function getIsFilteringRecommended(chartOptions) {
@@ -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;AA6IjC,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,GACxB,aAAa,CA4bf"}
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,GACxB,aAAa,CAycf"}