@gooddata/sdk-ui-charts 11.52.0-alpha.5 → 11.52.0-alpha.7

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 (25) hide show
  1. package/esm/charts/mekko/Mekko.d.ts.map +1 -1
  2. package/esm/charts/mekko/Mekko.js +11 -2
  3. package/esm/highcharts/ChartTransformation.d.ts.map +1 -1
  4. package/esm/highcharts/ChartTransformation.js +6 -3
  5. package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.d.ts.map +1 -1
  6. package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.js +13 -5
  7. package/esm/highcharts/chartTypes/_chartOptions/chartAxes.d.ts.map +1 -1
  8. package/esm/highcharts/chartTypes/_chartOptions/chartAxes.js +17 -1
  9. package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.d.ts.map +1 -1
  10. package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.js +18 -12
  11. package/esm/highcharts/chartTypes/_chartOptions/chartTooltips.d.ts +2 -0
  12. package/esm/highcharts/chartTypes/_chartOptions/chartTooltips.d.ts.map +1 -1
  13. package/esm/highcharts/chartTypes/_chartOptions/chartTooltips.js +29 -0
  14. package/esm/highcharts/chartTypes/mekko/mekkoChartOptions.d.ts +24 -0
  15. package/esm/highcharts/chartTypes/mekko/mekkoChartOptions.d.ts.map +1 -1
  16. package/esm/highcharts/chartTypes/mekko/mekkoChartOptions.js +70 -1
  17. package/esm/highcharts/chartTypes/mekko/mekkoSeries.d.ts +1 -0
  18. package/esm/highcharts/chartTypes/mekko/mekkoSeries.d.ts.map +1 -1
  19. package/esm/highcharts/chartTypes/mekko/mekkoSeries.js +16 -10
  20. package/esm/highcharts/typings/unsafe.d.ts +2 -0
  21. package/esm/highcharts/typings/unsafe.d.ts.map +1 -1
  22. package/esm/interfaces/chartConfig.d.ts +11 -1
  23. package/esm/interfaces/chartConfig.d.ts.map +1 -1
  24. package/esm/sdk-ui-charts.d.ts +10 -0
  25. package/package.json +13 -13
@@ -1 +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"}
1
+ {"version":3,"file":"Mekko.d.ts","sourceRoot":"","sources":["../../../src/charts/mekko/Mekko.tsx"],"names":[],"mappings":"AAUA,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;AAqDxE;;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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  // (C) 2026 GoodData Corporation
3
- import { newBucket, } from "@gooddata/sdk-model";
3
+ import { isMeasureSort, newBucket, } from "@gooddata/sdk-model";
4
4
  import { BucketNames, useResolveValuesWithPlaceholders, } from "@gooddata/sdk-ui";
5
5
  import { withChart } from "../_base/withChart.js";
6
6
  import { stackedChartDimensions } from "../_commons/dimensions.js";
@@ -24,15 +24,24 @@ const mekkoDefinition = {
24
24
  executionFactory: (props, buckets) => {
25
25
  const { backend, workspace, execConfig } = props;
26
26
  const sortBy = props.sortBy ?? [];
27
+ // stacked executions cannot express a measure sort of the columns — it applies client-side
28
+ const executionSortBy = props.stackBy ? sortBy.filter((sort) => !isMeasureSort(sort)) : sortBy;
27
29
  return backend
28
30
  .withTelemetry("Mekko", props)
29
31
  .workspace(workspace)
30
32
  .execution()
31
33
  .forBuckets(buckets, props.filters)
32
- .withSorting(...sortBy)
34
+ .withSorting(...executionSortBy)
33
35
  .withDimensions(stackedChartDimensions)
34
36
  .withExecConfig(execConfig);
35
37
  },
38
+ propOverridesFactory: (props) => ({
39
+ config: {
40
+ ...props.config,
41
+ // the sortBy prop wins over config.sortBy; keep a user-set config value otherwise
42
+ ...(props.sortBy ? { sortBy: props.sortBy } : {}),
43
+ },
44
+ }),
36
45
  };
37
46
  const WrappedMekko = withChart(mekkoDefinition)(CoreMekko);
38
47
  /**
@@ -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;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,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;AAmKD,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,EAAoC,MAAM,OAAO,CAAC;AAQ5E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAEH,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;AAezC,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;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,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;AAyKD,eAAO,MAAM,mBAAmB,iJAK9B,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  // (C) 2007-2026 GoodData Corporation
3
- import { memo, useEffect, useRef } from "react";
3
+ import { memo, useEffect, useMemo, useRef } from "react";
4
4
  import Highcharts from "highcharts/esm/highcharts.js";
5
5
  import { isEqual, omitBy } from "lodash-es";
6
6
  import { useIntl } from "react-intl";
7
7
  import { invariant } from "ts-invariant";
8
- import { anomaliesTitleFromIntl, clusterTitleFromIntl, convertDrillableItemsToPredicates, emptyHeaderTitleFromIntl, totalColumnTitleFromIntl, } from "@gooddata/sdk-ui";
8
+ import { DataViewFacade, anomaliesTitleFromIntl, clusterTitleFromIntl, convertDrillableItemsToPredicates, emptyHeaderTitleFromIntl, totalColumnTitleFromIntl, } from "@gooddata/sdk-ui";
9
9
  import { useReferenceTheme, withTheme } from "@gooddata/sdk-ui-theme-provider";
10
10
  import { useTooltipLookup } from "@gooddata/sdk-ui-vis-commons";
11
11
  import { initChartPlugins } from "./adapter/chartPlugins.js";
@@ -18,14 +18,17 @@ import { getHighchartsOptions } from "./chartTypes/_chartCreators/highChartsCrea
18
18
  import { getDataTooLargeErrorMessage, getIsFilteringRecommended, validateData, } from "./chartTypes/_chartOptions/chartLimits.js";
19
19
  import { getChartOptions } from "./chartTypes/_chartOptions/chartOptionsBuilder.js";
20
20
  import { isChartSupported, stringifyChartTypes } from "./chartTypes/_util/common.js";
21
+ import { getMekkoEffectiveConfig } from "./chartTypes/mekko/mekkoChartOptions.js";
21
22
  export function renderHighCharts(props) {
22
23
  const childrenRenderer = (contentRect) => (_jsx(HighChartsRenderer, { contentRect: contentRect, ...props }));
23
24
  return _jsx(HighChartsMeasuredRenderer, { childrenRenderer: childrenRenderer });
24
25
  }
25
- function ChartTransformationImpl({ config, renderer = renderHighCharts, dataView, height, width, afterRender = () => { }, onDrill = () => true, onLegendReady = () => { }, locale, theme, referenceTheme: referenceThemeProp, numericSymbols, drillableItems = [], onDataTooLarge, onNegativeValues = null, pushData = () => { }, tooltipExecution, }) {
26
+ function ChartTransformationImpl({ config: configProp, renderer = renderHighCharts, dataView, height, width, afterRender = () => { }, onDrill = () => true, onLegendReady = () => { }, locale, theme, referenceTheme: referenceThemeProp, numericSymbols, drillableItems = [], onDataTooLarge, onNegativeValues = null, pushData = () => { }, tooltipExecution, }) {
26
27
  const intl = useIntl();
27
28
  const referenceThemeFromContext = useReferenceTheme();
28
29
  const referenceTheme = referenceThemeProp ?? referenceThemeFromContext;
30
+ // mekko stacking is bucket-driven — sanitize stackMeasures* once for every config consumer below
31
+ const config = useMemo(() => getMekkoEffectiveConfig(configProp, DataViewFacade.for(dataView)), [configProp, dataView]);
29
32
  const visType = config.type;
30
33
  const drillablePredicates = convertDrillableItemsToPredicates(drillableItems);
31
34
  // `undefined` until the first result lands (treated as "no external values").
@@ -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;AAEzF,OAAO,EAEH,KAAK,iBAAiB,EAGzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEH,KAAK,aAAa,EAOlB,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;AA+gBD,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,GAAG,CASvE;AA0ND,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,MAAM,aAAa,EAClC,6BAA6B,EAAE,OAAO,GACvC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CActB;AA+DD,eAAO,MAAM,oBAAoB;;CAgBhC,CAAC;AAkVF,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,aAAa,EAC3B,WAAW,CAAC,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,YAAY,EAC1B,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,MAAM,GACf,iBAAiB,CA+BnB"}
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;AAEzF,OAAO,EAEH,KAAK,iBAAiB,EAGzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEH,KAAK,aAAa,EAOlB,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;AAwhBD,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,GAAG,CASvE;AA0ND,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,MAAM,aAAa,EAClC,6BAA6B,EAAE,OAAO,GACvC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CActB;AA+DD,eAAO,MAAM,oBAAoB;;CAgBhC,CAAC;AAkVF,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,aAAa,EAC3B,WAAW,CAAC,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,YAAY,EAC1B,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,MAAM,GACf,iBAAiB,CA+BnB"}
@@ -402,6 +402,13 @@ function labelFormatterScatter() {
402
402
  }
403
403
  return null;
404
404
  }
405
+ function labelFormatterMekkoWidth(config) {
406
+ const value = this.point?.z;
407
+ if (value === null || value === undefined || isNaN(value)) {
408
+ return null;
409
+ }
410
+ return formatLabel(value, this.point?.format, config);
411
+ }
405
412
  // check whether series contains only positive values, not consider nulls
406
413
  function hasOnlyPositiveValues(series, x) {
407
414
  return series.every((seriesItem) => {
@@ -603,14 +610,15 @@ function getDataLabelsConfiguration(chartOptions, _config, chartConfig, _drillCo
603
610
  ...dataLabelsBugWorkaround,
604
611
  },
605
612
  },
606
- // mekko; keeps absolute labels when negative values block "stack to 100%",
607
- // as Highcharts computes point.percentage even then
613
+ // mekko: width-only without Stack By labels the Width value; absolute when negatives block 100%
608
614
  variwide: {
609
615
  dataLabels: {
610
616
  ...DEFAULT_LABELS_CONFIG,
611
- formatter: partial(chartOptions.stackToPercentBlockedByNegativeValues
612
- ? labelFormatter
613
- : dataLabelFormatter, chartConfig),
617
+ formatter: partial(chartOptions.mekkoWidthOnly && !chartOptions.hasStackByAttribute
618
+ ? labelFormatterMekkoWidth
619
+ : chartOptions.stackToPercentBlockedByNegativeValues
620
+ ? labelFormatter
621
+ : dataLabelFormatter, chartConfig),
614
622
  },
615
623
  },
616
624
  heatmap: {
@@ -1 +1 @@
1
- {"version":3,"file":"chartAxes.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartAxes.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAiCvE,wBAAgB,QAAQ,CACpB,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,qBAAqB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EAC7E,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,GAChC,KAAK,EAAE,CAqDT;AAoHD,wBAAgB,QAAQ,CACpB,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,GACzE,KAAK,EAAE,CAgCT;AAuCD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAgBhF"}
1
+ {"version":3,"file":"chartAxes.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartAxes.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAmCvE,wBAAgB,QAAQ,CACpB,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,qBAAqB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EAC7E,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,GAChC,KAAK,EAAE,CAqDT;AAsID,wBAAgB,QAAQ,CACpB,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,GACzE,KAAK,EAAE,CAoCT;AAuCD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAgBhF"}
@@ -1,7 +1,8 @@
1
1
  // (C) 2007-2026 GoodData Corporation
2
2
  import { compact, isEmpty, range } from "lodash-es";
3
3
  import { BucketNames } from "@gooddata/sdk-ui";
4
- import { isBarChart, isBubbleChart, isComboChart, isHeatmap, isLineChart, isOneOfTypes, isScatterPlot, isSupportingJoinedAttributeAxisName, unwrap, } from "../_util/common.js";
4
+ import { isBarChart, isBubbleChart, isComboChart, isHeatmap, isLineChart, isMekko, isOneOfTypes, isScatterPlot, isSupportingJoinedAttributeAxisName, unwrap, } from "../_util/common.js";
5
+ import { getMekkoMeasures } from "../mekko/mekkoChartOptions.js";
5
6
  import { supportedDualAxesChartTypes } from "./chartCapabilities.js";
6
7
  function preprocessMeasureGroupItems(measureGroup, defaultValues) {
7
8
  return measureGroup.items.map((item, index) => {
@@ -84,6 +85,18 @@ function getHeatmapYAxes(stackByAttribute) {
84
85
  },
85
86
  ];
86
87
  }
88
+ // Mekko's Y axis reads the Height measure; blank when width-only.
89
+ function getMekkoYAxes(dv, config, measureGroup) {
90
+ const { height } = getMekkoMeasures(dv, measureGroup);
91
+ const heightItem = height ? unwrap(height) : undefined;
92
+ return [
93
+ {
94
+ label: config.yLabel || (heightItem?.name ?? ""),
95
+ format: config.yFormat || heightItem?.format,
96
+ seriesIndices: range(measureGroup.items.length),
97
+ },
98
+ ];
99
+ }
87
100
  function addSeriesIndicesToAxis(axis, measuresInAxis) {
88
101
  if (!axis) {
89
102
  return null;
@@ -149,6 +162,9 @@ export function getYAxes(dv, config, measureGroup, stackByAttribute) {
149
162
  if (isHeatmap(type)) {
150
163
  return getHeatmapYAxes(stackByAttribute);
151
164
  }
165
+ if (isMekko(type)) {
166
+ return getMekkoYAxes(dv, config, measureGroup);
167
+ }
152
168
  const isDualAxes = isOneOfTypes(type, supportedDualAxesChartTypes) &&
153
169
  !isEmpty(measureGroupItems) &&
154
170
  !isEmpty(secondaryAxisMeasures);
@@ -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;AA+JjC,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;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,CAief"}
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,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;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"}
@@ -9,7 +9,7 @@ import { getChartProperties } from "../_chartCreators/helpers.js";
9
9
  import { isAreaChart, isBubbleChart, isChartSupported, isComboChart, isHeatmap, isMekko, isOneOfTypes, isPyramid, isSankeyOrDependencyWheel, isScatterPlot, isTreemap, isWaterfall, stringifyChartTypes, unwrap, } from "../_util/common.js";
10
10
  import { findAttributeInDimension, findMeasureGroupInDimensions } from "../_util/executionResultHelper.js";
11
11
  import { canComboChartBeStackedInPercent, getComboChartSeries, getComboChartStackingConfig, } from "../comboChart/comboChartOptions.js";
12
- import { collapseMekkoViewByItems, dropZeroWidthMekkoColumns, isMekkoPercentBlockedByNegatives, } from "../mekko/mekkoChartOptions.js";
12
+ import { collapseMekkoViewByItems, dropZeroWidthMekkoColumns, getMekkoMeasures, getMekkoWidthOnlyYAxisProps, isMekkoPercentBlockedByNegatives, isMekkoWidthOnly, sortMekkoColumnsByMeasure, } from "../mekko/mekkoChartOptions.js";
13
13
  import { buildWaterfallChartSeries, getColorAssignment, getWaterfallChartCategories, } from "../waterfallChart/waterfallChartOptions.js";
14
14
  import { assignYAxes, getXAxes, getYAxes } from "./chartAxes.js";
15
15
  import { multiMeasuresAlternatingTypes, showingNameInLegendWhenViewByPresent, unsupportedStackingTypes, } from "./chartCapabilities.js";
@@ -19,7 +19,7 @@ import { assignForecastAxes } from "./chartForecast.js";
19
19
  import { assignOutliersAxes } from "./chartOutliers.js";
20
20
  import { getSeries } from "./chartSeries.js";
21
21
  import { filterThresholdZonesCategories, setupComboThresholdZones, setupThresholdZones, } from "./chartThresholds.js";
22
- import { buildTooltipFactory, generateDescriptionHeatmapFn, generateDescriptionScatterPlotFn, generateDescriptionTreemapFn, generateDescriptionXYFn, generateTooltipHeatmapFn, generateTooltipSankeyChartFn, generateTooltipScatterPlotFn, generateTooltipXYFn, getTooltipFactory, getTooltipWaterfallChart, } from "./chartTooltips.js";
22
+ import { buildTooltipFactory, generateDescriptionHeatmapFn, generateDescriptionScatterPlotFn, generateDescriptionTreemapFn, generateDescriptionXYFn, generateTooltipHeatmapFn, generateTooltipMekkoFn, generateTooltipSankeyChartFn, generateTooltipScatterPlotFn, generateTooltipXYFn, getTooltipFactory, getTooltipWaterfallChart, } from "./chartTooltips.js";
23
23
  import { ColorFactory } from "./colorFactory.js";
24
24
  import { setMeasuresToSecondaryAxis } from "./dualAxis.js";
25
25
  import { getCategoriesForTwoAttributes } from "./extendedStackingChartOptions.js";
@@ -65,10 +65,7 @@ function getCategories(type, measureGroup, viewByAttribute, stackByAttribute, em
65
65
  function getStackingConfig(stackByAttribute, options) {
66
66
  const { type, stackMeasures, stackMeasuresToPercent } = options;
67
67
  const stackingValue = stackMeasuresToPercent ? "percent" : "normal";
68
- // Mekko has a single Height measure, so it stacks ONLY by the Stack-by attribute. Without a
69
- // stack attribute there is nothing to stack: applying stack-measures / stack-to-100% to the
70
- // single series would collapse every column to uniform full height. Guard before the generic
71
- // stackMeasures/stackMeasuresToPercent branch below (which a stale property would otherwise hit).
68
+ // Mekko stacks ONLY by the Stack-by attribute; its stackMeasures* flags are pre-sanitized bucket-driven
72
69
  if (isMekko(type)) {
73
70
  return stackByAttribute ? stackingValue : null;
74
71
  }
@@ -501,22 +498,31 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
501
498
  ...measureGroup.items[0],
502
499
  };
503
500
  }
504
- const tooltipFactory = getTooltipFactory(isViewByTwoAttributes, viewByAttribute, viewByParentAttribute, stackByAttribute, measure, emptyHeaderTitle, config, isDualAxis);
505
501
  // apply distinct point shapes configuration if enabled
506
502
  const finalSeries = setupDistinctPointShapesToSeries(type, series, config, measureGroup);
507
- // Mekko: drop zero-width columns (Width/point.z of 0) from series + categories in lockstep.
508
- const { series: outSeries, categories: outCategories } = isMekko(type)
509
- ? dropZeroWidthMekkoColumns(finalSeries, categories)
510
- : { series: finalSeries, categories };
503
+ // Mekko: drop zero-width columns, then order columns by the config-fed measure sort
504
+ let mekkoData = { series: finalSeries, categories };
505
+ if (isMekko(type)) {
506
+ mekkoData = dropZeroWidthMekkoColumns(finalSeries, categories);
507
+ mekkoData = sortMekkoColumnsByMeasure(mekkoData.series, mekkoData.categories, config, dv, measureGroup);
508
+ }
509
+ const { series: outSeries, categories: outCategories } = mekkoData;
511
510
  // Mekko: fall back to absolute stacking for negative Height. The stackMeasuresToPercent property
512
511
  // is preserved so 100% re-enables once the data is cleaned. Computed once here and exposed on the
513
512
  // returned options for downstream consumers (stacking config, ChartTransformation).
514
513
  const stackToPercentBlockedByNegativeValues = isMekkoPercentBlockedByNegatives(type, outSeries);
515
514
  const effectiveStacking = stacking === "percent" && stackToPercentBlockedByNegativeValues ? "normal" : stacking;
515
+ const mekkoWidthOnly = isMekko(type) && isMekkoWidthOnly(dv);
516
+ const mekkoMeasures = isMekko(type) ? getMekkoMeasures(dv, measureGroup) : {};
517
+ const tooltipFactory = isMekko(type)
518
+ ? generateTooltipMekkoFn(mekkoMeasures.width, mekkoMeasures.height, viewByAttribute, stackByAttribute, config, effectiveStacking === "percent", mekkoWidthOnly)
519
+ : getTooltipFactory(isViewByTwoAttributes, viewByAttribute, viewByParentAttribute, stackByAttribute, measure, emptyHeaderTitle, config, isDualAxis);
520
+ const effectiveYAxisProps = getMekkoWidthOnlyYAxisProps(mekkoWidthOnly, Boolean(stackByAttribute), yAxisProps);
516
521
  return {
517
522
  type,
518
523
  stacking: effectiveStacking,
519
524
  stackToPercentBlockedByNegativeValues,
525
+ mekkoWidthOnly,
520
526
  hasStackByAttribute: Boolean(stackByAttribute),
521
527
  hasViewByAttribute: Boolean(viewByAttribute),
522
528
  legendLayout: config.legendLayout || "horizontal",
@@ -538,7 +544,7 @@ export function getChartOptions(dataView, chartConfig, drillableItems, emptyHead
538
544
  enabled: gridEnabled,
539
545
  },
540
546
  xAxisProps,
541
- yAxisProps,
547
+ yAxisProps: effectiveYAxisProps,
542
548
  secondary_xAxisProps,
543
549
  secondary_yAxisProps,
544
550
  colorAssignments,
@@ -5,6 +5,8 @@ import { type IAxis, type IPointDescriptionFn, type ITooltipFactory, type IUnsaf
5
5
  export declare function buildTooltipFactory(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, type: string | undefined, config?: IChartConfig, isDualAxis?: boolean, measure?: IMeasureDescriptor, stackByAttribute?: IUnwrappedAttributeHeadersWithItems | null): ITooltipFactory;
6
6
  export declare function buildTooltipForTwoAttributesFactory(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, viewByParentAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, config?: IChartConfig, isDualAxis?: boolean, measure?: IMeasureDescriptor, stackByAttribute?: IUnwrappedAttributeHeadersWithItems | null): ITooltipFactory;
7
7
  export declare function generateTooltipXYFn(measures: (IMeasureDescriptor | null)[], stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, config?: IChartConfig): ITooltipFactory;
8
+ /** Mekko tooltip: Height reads point.y, Width point.z; width-only stacked shows the segment's share instead. */
9
+ export declare function generateTooltipMekkoFn(widthMeasure: IMeasureDescriptor | undefined, heightMeasure: IMeasureDescriptor | undefined, viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, config?: IChartConfig, percentStacked?: boolean, widthOnly?: boolean): ITooltipFactory;
8
10
  export declare function generateDescriptionXYFn(stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, xAxes: IAxis[] | undefined, yAxes: IAxis[] | undefined, zAxes: IAxis[] | undefined, config?: IChartConfig): IPointDescriptionFn;
9
11
  export declare function generateDescriptionScatterPlotFn(viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, xAxes: IAxis[] | undefined, yAxes: IAxis[] | undefined, config?: IChartConfig): IPointDescriptionFn;
10
12
  export declare function generateTooltipScatterPlotFn(measures: (IMeasureDescriptor | null)[], stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, config?: IChartConfig, clusterTitle?: string): ITooltipFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"chartTooltips.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartTooltips.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chartTooltips.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartOptions/chartTooltips.ts"],"names":[],"mappings":"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"}
@@ -132,6 +132,35 @@ export function generateTooltipXYFn(measures, stackByAttribute, config = {}) {
132
132
  return renderTooltipHTML(textData, maxTooltipContentWidth);
133
133
  };
134
134
  }
135
+ /** Mekko tooltip: Height reads point.y, Width point.z; width-only stacked shows the segment's share instead. */
136
+ export function generateTooltipMekkoFn(widthMeasure, heightMeasure, viewByAttribute, stackByAttribute, config = {}, percentStacked = false, widthOnly = false) {
137
+ const { separators } = config;
138
+ return (point, maxTooltipContentWidth, percentageValue) => {
139
+ const textData = [];
140
+ if (viewByAttribute) {
141
+ textData.push([
142
+ customEscape(viewByAttribute.formOf.name),
143
+ customEscape(point.category?.name || point.name),
144
+ ]);
145
+ }
146
+ if (stackByAttribute) {
147
+ textData.push([customEscape(stackByAttribute.formOf.name), customEscape(point.series?.name)]);
148
+ }
149
+ if (heightMeasure) {
150
+ textData.push([
151
+ customEscape(heightMeasure.measureHeaderItem.name),
152
+ getFormattedValueForTooltip(false, percentStacked, point, separators, percentageValue),
153
+ ]);
154
+ }
155
+ if (widthMeasure) {
156
+ const widthValue = widthOnly && stackByAttribute
157
+ ? getFormattedValueForTooltip(false, percentStacked, point, separators, percentageValue)
158
+ : formatValueForTooltip(point.z, widthMeasure.measureHeaderItem.format, separators);
159
+ textData.push([customEscape(widthMeasure.measureHeaderItem.name), widthValue]);
160
+ }
161
+ return renderTooltipHTML(textData, maxTooltipContentWidth);
162
+ };
163
+ }
135
164
  function decodeAxisLabel(axis) {
136
165
  return decodeHtmlEntities(axis?.label ?? "");
137
166
  }
@@ -1,6 +1,20 @@
1
+ import { type IMeasureDescriptor, type IMeasureGroupDescriptor } from "@gooddata/sdk-model";
1
2
  import { type DataViewFacade } from "@gooddata/sdk-ui";
3
+ import { type IAxisConfig, type IChartConfig } from "../../../interfaces/chartConfig.js";
2
4
  import { type IUnwrappedAttributeHeadersWithItems } from "../../typings/mess.js";
3
5
  import { type ISeriesItem } from "../../typings/unsafe.js";
6
+ /** Width-only authoring state: Width (MEASURES) filled, Height (SECONDARY_MEASURES) empty. */
7
+ export declare function isMekkoWidthOnly(dv: DataViewFacade): boolean;
8
+ export interface IMekkoMeasures {
9
+ width?: IMeasureDescriptor;
10
+ height?: IMeasureDescriptor;
11
+ }
12
+ /** Width = first item (MEASURES), Height = last (SECONDARY_MEASURES); a lone measure goes by its bucket. */
13
+ export declare function getMekkoMeasures(dv: DataViewFacade, measureGroup: IMeasureGroupDescriptor["measureGroupHeader"]): IMekkoMeasures;
14
+ /** Bucket-driven stacking sanitization, applied once at the ChartTransformation config boundary. */
15
+ export declare function getMekkoEffectiveConfig(config: IChartConfig, dv: DataViewFacade): IChartConfig;
16
+ /** Width-only without Stack By pins the flat zero axis to [0, 1] and hides it (min alone still gets padded). */
17
+ export declare function getMekkoWidthOnlyYAxisProps(mekkoWidthOnly: boolean, hasStackByAttribute: boolean, yAxisProps: IAxisConfig | undefined): IAxisConfig | undefined;
4
18
  /**
5
19
  * Stacked Mekko executes with [[stackBy], [viewBy, MeasureGroup]], so the view-by header items
6
20
  * enumerate view × measure combinations. Downstream consumers (categories, point names, drills)
@@ -18,6 +32,16 @@ export declare function collapseMekkoViewByItems(dv: DataViewFacade, viewByAttri
18
32
  * ChartTransformation) read that flag rather than re-deriving it.
19
33
  */
20
34
  export declare function isMekkoPercentBlockedByNegatives(type: string | undefined, series: ISeriesItem[] | undefined): boolean;
35
+ /**
36
+ * Orders stacked Mekko columns by the config.sortBy measure sort — the stacked execution cannot
37
+ * express it, so every series' data and the categories are permuted in lockstep on the client.
38
+ * The column key is the Width total already reduced into point.z, or the Height total summed
39
+ * across the stack; ties keep the backend order.
40
+ */
41
+ export declare function sortMekkoColumnsByMeasure<TCategory>(series: ISeriesItem[], categories: TCategory[], config: IChartConfig, dv: DataViewFacade, measureGroup: IMeasureGroupDescriptor["measureGroupHeader"]): {
42
+ series: ISeriesItem[];
43
+ categories: TCategory[];
44
+ };
21
45
  /**
22
46
  * Drops Mekko columns whose Width (point.z) is 0 — from every series' data and the categories in
23
47
  * lockstep. Negative z is kept so validateData can reject it. The first series drives the mask (all
@@ -1 +1 @@
1
- {"version":3,"file":"mekkoChartOptions.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/mekko/mekkoChartOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,cAAc,EAClB,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,GACxE,mCAAmC,GAAG,SAAS,GAAG,IAAI,CAiBxD;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC5C,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,GAClC,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAC/C,MAAM,EAAE,WAAW,EAAE,EACrB,UAAU,EAAE,SAAS,EAAE,GACxB;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAkBpD"}
1
+ {"version":3,"file":"mekkoChartOptions.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/mekko/mekkoChartOptions.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAK/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEzF,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAK5D;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,4GAA4G;AAC5G,wBAAgB,gBAAgB,CAC5B,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,GAC5D,cAAc,CAMhB;AAED,oGAAoG;AACpG,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,cAAc,GAAG,YAAY,CAQ9F;AAED,gHAAgH;AAChH,wBAAgB,2BAA2B,CACvC,cAAc,EAAE,OAAO,EACvB,mBAAmB,EAAE,OAAO,EAC5B,UAAU,EAAE,WAAW,GAAG,SAAS,GACpC,WAAW,GAAG,SAAS,CAIzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,cAAc,EAClB,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,GACxE,mCAAmC,GAAG,SAAS,GAAG,IAAI,CAiBxD;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC5C,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,GAClC,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAC/C,MAAM,EAAE,WAAW,EAAE,EACrB,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,GAC5D;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAuCpD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAC/C,MAAM,EAAE,WAAW,EAAE,EACrB,UAAU,EAAE,SAAS,EAAE,GACxB;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAkBpD"}
@@ -1,7 +1,37 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { isMeasureGroupDescriptor } from "@gooddata/sdk-model";
2
+ import { isMeasureGroupDescriptor, isMeasureLocator, isMeasureSort, sortDirection, } from "@gooddata/sdk-model";
3
+ import { BucketNames } from "@gooddata/sdk-ui";
3
4
  import { VIEW_BY_DIMENSION_INDEX } from "../../constants/dimensions.js";
4
5
  import { isMekko, isNegativeValueIncluded } from "../_util/common.js";
6
+ /** Width-only authoring state: Width (MEASURES) filled, Height (SECONDARY_MEASURES) empty. */
7
+ export function isMekkoWidthOnly(dv) {
8
+ return (!dv.def().isBucketEmpty(BucketNames.MEASURES) &&
9
+ dv.def().isBucketEmpty(BucketNames.SECONDARY_MEASURES));
10
+ }
11
+ /** Width = first item (MEASURES), Height = last (SECONDARY_MEASURES); a lone measure goes by its bucket. */
12
+ export function getMekkoMeasures(dv, measureGroup) {
13
+ const { items } = measureGroup;
14
+ if (items.length >= 2) {
15
+ return { width: items[0], height: items[items.length - 1] };
16
+ }
17
+ return isMekkoWidthOnly(dv) ? { width: items[0] } : { height: items[0] };
18
+ }
19
+ /** Bucket-driven stacking sanitization, applied once at the ChartTransformation config boundary. */
20
+ export function getMekkoEffectiveConfig(config, dv) {
21
+ if (!isMekko(config.type)) {
22
+ return config;
23
+ }
24
+ if (dv.def().isBucketEmpty(BucketNames.STACK)) {
25
+ return { ...config, stackMeasures: false, stackMeasuresToPercent: false };
26
+ }
27
+ return isMekkoWidthOnly(dv) ? { ...config, stackMeasuresToPercent: true } : config;
28
+ }
29
+ /** Width-only without Stack By pins the flat zero axis to [0, 1] and hides it (min alone still gets padded). */
30
+ export function getMekkoWidthOnlyYAxisProps(mekkoWidthOnly, hasStackByAttribute, yAxisProps) {
31
+ return mekkoWidthOnly && !hasStackByAttribute
32
+ ? { ...yAxisProps, min: "0", max: "1", visible: false }
33
+ : yAxisProps;
34
+ }
5
35
  /**
6
36
  * Stacked Mekko executes with [[stackBy], [viewBy, MeasureGroup]], so the view-by header items
7
37
  * enumerate view × measure combinations. Downstream consumers (categories, point names, drills)
@@ -35,6 +65,45 @@ export function collapseMekkoViewByItems(dv, viewByAttribute) {
35
65
  export function isMekkoPercentBlockedByNegatives(type, series) {
36
66
  return isMekko(type) && isNegativeValueIncluded(series);
37
67
  }
68
+ /**
69
+ * Orders stacked Mekko columns by the config.sortBy measure sort — the stacked execution cannot
70
+ * express it, so every series' data and the categories are permuted in lockstep on the client.
71
+ * The column key is the Width total already reduced into point.z, or the Height total summed
72
+ * across the stack; ties keep the backend order.
73
+ */
74
+ export function sortMekkoColumnsByMeasure(series, categories, config, dv, measureGroup) {
75
+ if (dv.def().isBucketEmpty(BucketNames.STACK) || !series[0]?.data?.length) {
76
+ return { series, categories };
77
+ }
78
+ const measureSort = (config.sortBy ?? []).find(isMeasureSort);
79
+ const measureLocator = measureSort?.measureSortItem.locators.find(isMeasureLocator);
80
+ const measureId = measureLocator?.measureLocatorItem.measureIdentifier;
81
+ if (!measureSort || !measureId) {
82
+ return { series, categories };
83
+ }
84
+ const { width, height } = getMekkoMeasures(dv, measureGroup);
85
+ const isWidthSort = width?.measureHeaderItem.localIdentifier === measureId;
86
+ if (!isWidthSort && height?.measureHeaderItem.localIdentifier !== measureId) {
87
+ return { series, categories };
88
+ }
89
+ const columnKeys = series[0].data.map((point, column) => isWidthSort
90
+ ? (point?.z ?? 0)
91
+ : series.reduce((sum, seriesItem) => sum + (seriesItem.data?.[column]?.y ?? 0), 0));
92
+ const directionFactor = sortDirection(measureSort) === "desc" ? -1 : 1;
93
+ const columnOrder = columnKeys
94
+ .map((_, column) => column)
95
+ .sort((a, b) => directionFactor * (columnKeys[a] - columnKeys[b]) || a - b);
96
+ if (columnOrder.every((column, index) => column === index)) {
97
+ return { series, categories };
98
+ }
99
+ return {
100
+ series: series.map((seriesItem) => ({
101
+ ...seriesItem,
102
+ data: columnOrder.map((column) => (seriesItem.data ?? [])[column]),
103
+ })),
104
+ categories: columnOrder.map((column) => categories[column]),
105
+ };
106
+ }
38
107
  /**
39
108
  * Drops Mekko columns whose Width (point.z) is 0 — from every series' data and the categories in
40
109
  * lockstep. Negative z is kept so validateData can reject it. The first series drives the mask (all
@@ -3,5 +3,6 @@ import { type DataViewFacade } from "@gooddata/sdk-ui";
3
3
  import { type IChartFillConfig, type IColorStrategy } from "@gooddata/sdk-ui-vis-commons";
4
4
  import { type IUnwrappedAttributeHeadersWithItems } from "../../typings/mess.js";
5
5
  import { type ISeriesItemConfig } from "../../typings/unsafe.js";
6
+ export declare const MEKKO_WIDTH_ONLY_MIN_POINT_LENGTH = 5;
6
7
  export declare function getMekkoSeries(dv: DataViewFacade, measureGroup: IMeasureGroupDescriptor["measureGroupHeader"], viewByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, stackByAttribute: IUnwrappedAttributeHeadersWithItems | undefined | null, colorStrategy: IColorStrategy, emptyHeaderTitle: string, _chartFill: IChartFillConfig | undefined, _theme: ITheme | undefined): ISeriesItemConfig[];
7
8
  //# sourceMappingURL=mekkoSeries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mekkoSeries.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/mekko/mekkoSeries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,uBAAuB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,KAAK,cAAc,EAAiC,MAAM,kBAAkB,CAAC;AACtF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEtB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA8BlF,wBAAgB,cAAc,CAC1B,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACxE,aAAa,EAAE,cAAc,EAC7B,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,GAAG,SAAS,GAC3B,iBAAiB,EAAE,CAiGrB"}
1
+ {"version":3,"file":"mekkoSeries.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/mekko/mekkoSeries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,uBAAuB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,KAAK,cAAc,EAAiC,MAAM,kBAAkB,CAAC;AACtF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEtB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAiClF,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,wBAAgB,cAAc,CAC1B,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAC3D,eAAe,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACvE,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,GAAG,IAAI,EACxE,aAAa,EAAE,cAAc,EAC7B,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,GAAG,SAAS,GAC3B,iBAAiB,EAAE,CAoGrB"}
@@ -2,6 +2,7 @@
2
2
  import { getMappingHeaderFormattedName } from "@gooddata/sdk-ui";
3
3
  import { valueWithEmptyHandling, } from "@gooddata/sdk-ui-vis-commons";
4
4
  import { parseValue, unwrap } from "../_util/common.js";
5
+ import { getMekkoMeasures } from "./mekkoChartOptions.js";
5
6
  /**
6
7
  * Mekko (Marimekko) series builder.
7
8
  *
@@ -27,6 +28,8 @@ import { parseValue, unwrap } from "../_util/common.js";
27
28
  // Width metric is the first (MEASURES bucket), Height the second (SECONDARY_MEASURES).
28
29
  const WIDTH_MEASURE_INDEX = 0;
29
30
  const HEIGHT_MEASURE_INDEX = 1;
31
+ // Minimal visual height (px, Highcharts minPointLength) of the zero-height width-only columns.
32
+ export const MEKKO_WIDTH_ONLY_MIN_POINT_LENGTH = 5;
30
33
  export function getMekkoSeries(dv, measureGroup, viewByAttribute, stackByAttribute, colorStrategy, emptyHeaderTitle, _chartFill, _theme) {
31
34
  const data = dv.rawData().twoDimData();
32
35
  // The number of measures = however many metric buckets are actually filled.
@@ -35,16 +38,18 @@ export function getMekkoSeries(dv, measureGroup, viewByAttribute, stackByAttribu
35
38
  if (measureCount === 0 || data.length === 0) {
36
39
  return [];
37
40
  }
38
- const hasWidthMeasure = measureCount >= 2;
39
- // With a single metric present treat it as the Height (the value drawn on the Y axis);
40
- // width then falls back to equal-width columns (z = 1).
41
- const heightIndex = hasWidthMeasure ? HEIGHT_MEASURE_INDEX : 0;
42
- const heightDescriptor = measureGroup.items[heightIndex];
43
- const heightFormat = heightDescriptor ? unwrap(heightDescriptor).format : undefined;
41
+ // Bucket-driven roles: a lone Width measure keeps driving widths — never the Height role.
42
+ const { width, height } = getMekkoMeasures(dv, measureGroup);
43
+ const widthOnly = Boolean(width && !height);
44
+ const hasWidthMeasure = Boolean(width);
45
+ const heightIndex = measureCount >= 2 ? HEIGHT_MEASURE_INDEX : 0;
46
+ // Height, or Width when width-only — provides the point format and the non-stacked series name.
47
+ const primaryDescriptor = height ?? width;
48
+ const pointFormat = primaryDescriptor ? unwrap(primaryDescriptor).format : undefined;
44
49
  const buildPoint = (y, z, viewIndex) => ({
45
50
  y: parseValue(y),
46
51
  z,
47
- format: heightFormat,
52
+ format: pointFormat,
48
53
  name: viewByAttribute
49
54
  ? valueWithEmptyHandling(getMappingHeaderFormattedName(viewByAttribute.items[viewIndex]), emptyHeaderTitle)
50
55
  : "",
@@ -88,16 +93,17 @@ export function getMekkoSeries(dv, measureGroup, viewByAttribute, stackByAttribu
88
93
  }
89
94
  // Non-stacked layout from getBarColumnDimensions: [[MeasureGroup], [viewBy]].
90
95
  // twoDimData rows = measures; each row's columns are the viewBy values. One series.
91
- const heightRow = data[heightIndex] ?? [];
92
96
  const widthRow = hasWidthMeasure ? data[WIDTH_MEASURE_INDEX] : undefined;
93
- const seriesData = heightRow.map((value, v) => buildPoint(value, widthRow ? finiteOrZero(widthRow[v]) : 1, v));
97
+ const baseRow = (widthOnly ? widthRow : data[heightIndex]) ?? [];
98
+ const seriesData = baseRow.map((value, v) => buildPoint(widthOnly ? 0 : value, widthRow ? finiteOrZero(widthRow[v]) : 1, v));
94
99
  return [
95
100
  {
96
- name: valueWithEmptyHandling(heightDescriptor ? unwrap(heightDescriptor).name : "", emptyHeaderTitle),
101
+ name: valueWithEmptyHandling(primaryDescriptor ? unwrap(primaryDescriptor).name : "", emptyHeaderTitle),
97
102
  legendIndex: 0,
98
103
  seriesIndex: 0,
99
104
  color: colorStrategy.getColorByIndex(0),
100
105
  data: seriesData,
106
+ ...(widthOnly ? { minPointLength: MEKKO_WIDTH_ONLY_MIN_POINT_LENGTH } : {}),
101
107
  },
102
108
  ];
103
109
  }
@@ -129,6 +129,7 @@ export interface IChartOptions {
129
129
  hasViewByAttribute?: boolean;
130
130
  isViewByTwoAttributes?: boolean;
131
131
  stackToPercentBlockedByNegativeValues?: boolean;
132
+ mekkoWidthOnly?: boolean;
132
133
  legendLayout?: string;
133
134
  xAxes?: IAxis[];
134
135
  yAxes?: IAxis[];
@@ -283,6 +284,7 @@ export interface ISeriesItemConfig {
283
284
  marker?: {
284
285
  enabled: boolean;
285
286
  };
287
+ minPointLength?: number;
286
288
  }
287
289
  export interface IAxis {
288
290
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"unsafe.d.ts","sourceRoot":"","sources":["../../../src/highcharts/typings/unsafe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unsafe.d.ts","sourceRoot":"","sources":["../../../src/highcharts/typings/unsafe.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type IColor, type IColorPalette, type ISeparators, type Identifier } from "@gooddata/sdk-model";
1
+ import { type IColor, type IColorPalette, type ISeparators, type ISortItem, type Identifier } from "@gooddata/sdk-model";
2
2
  import { type IDrillEventIntersectionElement, type VisType } from "@gooddata/sdk-ui";
3
3
  import { type IChartFillConfig, type IColorMapping, type ICustomTooltipConfig } from "@gooddata/sdk-ui-vis-commons";
4
4
  import { type IComparison } from "./comparison.js";
@@ -201,6 +201,16 @@ export interface IChartConfig {
201
201
  *
202
202
  */
203
203
  enableChartSorting?: boolean;
204
+ /**
205
+ * Sort items to apply on the client where the backend cannot.
206
+ *
207
+ * @remarks
208
+ * Used by the stacked Mekko chart to order its columns by a single measure: such a measure
209
+ * sort is not expressible in the execution (it would target the stack dimension), so it is
210
+ * kept out of the execution and the chart reorders the columns from this config instead.
211
+ * Other chart types ignore this property.
212
+ */
213
+ sortBy?: ISortItem[];
204
214
  /**
205
215
  * Enables change order of stacked items in bar chart.
206
216
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chartConfig.d.ts","sourceRoot":"","sources":["../../src/interfaces/chartConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAAE,KAAK,8BAA8B,EAAE,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC5B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAE/B;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAEvC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAE3C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC;IAE9B;;OAEG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC;IAE9B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAE/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAE/B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAE9C;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEhD;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAKjC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;;;;;;;OAWG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAE1C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,WAAW,CAAC;IAMzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAErC;;;OAGG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAEjC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC;;;OAGG;IACH,cAAc,CAAC,EAAE,8BAA8B,EAAE,EAAE,CAAC;IAEpD;;;OAGG;IACH,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAE1C;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAE3C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IAEzC;;;OAGG;IACH,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAEvC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;IAEnD;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,sBAAsB,CAAC;IAEpC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;OAGG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IAErC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAErC;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE1C;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC9C;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACtB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,WAAW,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEvC;;;OAGG;IACH,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEjC;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,CAAC,eAAe,EAAE,MAAM,GAAG;QACvB;;WAEG;QACH,IAAI,EAAE,4BAA4B,CAAC;KACtC,CAAC;CACL;AAED;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExE;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,MAAM,CAAC;AAElD;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,CAAC,0BAA0B,EAAE,MAAM,GAAG;QAClC;;WAEG;QACH,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAC1B,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,UAAU,CAAC;AAEjB;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC5D;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IAExB;;OAEG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"chartConfig.d.ts","sourceRoot":"","sources":["../../src/interfaces/chartConfig.ts"],"names":[],"mappings":"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"}
@@ -999,6 +999,16 @@ export declare interface IChartConfig {
999
999
  *
1000
1000
  */
1001
1001
  enableChartSorting?: boolean;
1002
+ /**
1003
+ * Sort items to apply on the client where the backend cannot.
1004
+ *
1005
+ * @remarks
1006
+ * Used by the stacked Mekko chart to order its columns by a single measure: such a measure
1007
+ * sort is not expressible in the execution (it would target the stack dimension), so it is
1008
+ * kept out of the execution and the chart reorders the columns from this config instead.
1009
+ * Other chart types ignore this property.
1010
+ */
1011
+ sortBy?: ISortItem[];
1002
1012
  /**
1003
1013
  * Enables change order of stacked items in bar chart.
1004
1014
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-charts",
3
- "version": "11.52.0-alpha.5",
3
+ "version": "11.52.0-alpha.7",
4
4
  "description": "GoodData.UI SDK - Charts",
5
5
  "license": "LicenseRef-LICENSE",
6
6
  "author": "GoodData Corporation",
@@ -69,13 +69,13 @@
69
69
  "ts-invariant": "0.10.3",
70
70
  "tslib": "2.8.1",
71
71
  "uuid": "11.1.1",
72
- "@gooddata/sdk-backend-spi": "11.52.0-alpha.5",
73
- "@gooddata/sdk-model": "11.52.0-alpha.5",
74
- "@gooddata/sdk-ui-theme-provider": "11.52.0-alpha.5",
75
- "@gooddata/sdk-ui-kit": "11.52.0-alpha.5",
76
- "@gooddata/sdk-ui": "11.52.0-alpha.5",
77
- "@gooddata/sdk-ui-vis-commons": "11.52.0-alpha.5",
78
- "@gooddata/util": "11.52.0-alpha.5"
72
+ "@gooddata/sdk-backend-spi": "11.52.0-alpha.7",
73
+ "@gooddata/sdk-model": "11.52.0-alpha.7",
74
+ "@gooddata/sdk-ui": "11.52.0-alpha.7",
75
+ "@gooddata/sdk-ui-kit": "11.52.0-alpha.7",
76
+ "@gooddata/sdk-ui-theme-provider": "11.52.0-alpha.7",
77
+ "@gooddata/sdk-ui-vis-commons": "11.52.0-alpha.7",
78
+ "@gooddata/util": "11.52.0-alpha.7"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@microsoft/api-documenter": "^7.17.0",
@@ -120,11 +120,11 @@
120
120
  "typescript": "5.9.3",
121
121
  "vitest": "4.1.8",
122
122
  "vitest-dom": "0.1.1",
123
- "@gooddata/eslint-config": "11.52.0-alpha.5",
124
- "@gooddata/oxlint-config": "11.52.0-alpha.5",
125
- "@gooddata/reference-workspace": "11.52.0-alpha.5",
126
- "@gooddata/sdk-backend-mockingbird": "11.52.0-alpha.5",
127
- "@gooddata/stylelint-config": "11.52.0-alpha.5"
123
+ "@gooddata/eslint-config": "11.52.0-alpha.7",
124
+ "@gooddata/oxlint-config": "11.52.0-alpha.7",
125
+ "@gooddata/reference-workspace": "11.52.0-alpha.7",
126
+ "@gooddata/stylelint-config": "11.52.0-alpha.7",
127
+ "@gooddata/sdk-backend-mockingbird": "11.52.0-alpha.7"
128
128
  },
129
129
  "peerDependencies": {
130
130
  "react": "^18.0.0 || ^19.0.0",