@gooddata/sdk-ui-charts 11.53.0-alpha.1 → 11.53.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE CHANGED
@@ -7,9 +7,9 @@
7
7
 
8
8
  The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
9
9
 
10
- Date generated: 2026-8-13
10
+ Date generated: 2026-8-17
11
11
 
12
- Revision ID: 03b276147864f291b2ed2694a19ccbfa1d69ce6b
12
+ Revision ID: a87db0e8382a288c7d652219ae8787851fb066a3
13
13
 
14
14
  ================================================================================
15
15
  ================================================================================
@@ -375,7 +375,7 @@ Revision ID: 03b276147864f291b2ed2694a19ccbfa1d69ce6b
375
375
  - balanced-match (2.0.0) [MIT]
376
376
  - balanced-match (4.0.4) [MIT]
377
377
  - base64-js (1.5.1) [MIT]
378
- - baseline-browser-mapping (2.11.13) [Apache-2.0]
378
+ - baseline-browser-mapping (2.11.14) [Apache-2.0]
379
379
  - batch (0.6.1) [MIT]
380
380
  - binary-extensions (2.3.0) [MIT]
381
381
  - bl (4.1.0) [MIT]
@@ -5303,9 +5303,9 @@ MIT
5303
5303
 
5304
5304
 
5305
5305
  --------------------------------------------------------------------------------
5306
- Package Title: baseline-browser-mapping (2.11.13)
5306
+ Package Title: baseline-browser-mapping (2.11.14)
5307
5307
 
5308
- Package Locator: npm+baseline-browser-mapping$2.11.13
5308
+ Package Locator: npm+baseline-browser-mapping$2.11.14
5309
5309
 
5310
5310
  Package Depth: Transitive
5311
5311
  --------------------------------------------------------------------------------
@@ -29407,4 +29407,4 @@ POSSIBILITY OF SUCH DAMAGE.
29407
29407
  --------------------------------------------------------------------------------
29408
29408
  --------------------------------------------------------------------------------
29409
29409
 
29410
- Report Generated by FOSSA on 2026-8-13
29410
+ Report Generated by FOSSA on 2026-8-17
@@ -1,3 +1,4 @@
1
+ import { type ITheme } from "@gooddata/sdk-model";
1
2
  import { type ChartType } from "@gooddata/sdk-ui";
2
3
  import { type IChartTransformationProps } from "../../highcharts/ChartTransformation.js";
3
4
  /**
@@ -7,6 +8,11 @@ import { type IChartTransformationProps } from "../../highcharts/ChartTransforma
7
8
  */
8
9
  export interface IRawChartProps extends IChartTransformationProps {
9
10
  type: ChartType;
11
+ /**
12
+ * Presentation theme provided to the chart via context; undefined for pluggable charts in AD
13
+ * that should not respect theming.
14
+ */
15
+ theme?: ITheme;
10
16
  }
11
17
  /**
12
18
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"RawChart.d.ts","sourceRoot":"","sources":["../../../src/charts/_base/RawChart.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,SAAS,EAIjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAI9G;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,yBAAyB;IAC7D,IAAI,EAAE,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,cAAc,2CA0E7C"}
1
+ {"version":3,"file":"RawChart.d.ts","sourceRoot":"","sources":["../../../src/charts/_base/RawChart.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACH,KAAK,SAAS,EAIjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAI9G;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,yBAAyB;IAC7D,IAAI,EAAE,SAAS,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,cAAc,2CA0E7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"CoreRepeater.d.ts","sourceRoot":"","sources":["../../../src/charts/repeater/CoreRepeater.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAA4B,MAAM,qBAAqB,CAAC;AAiB5E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAItE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,eAAe,CAAC,EAAE,6BAA6B,CAAC;CACnD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,2CA8J9D;AAID;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,uBAAuB,2CAQ1D"}
1
+ {"version":3,"file":"CoreRepeater.d.ts","sourceRoot":"","sources":["../../../src/charts/repeater/CoreRepeater.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAA4B,MAAM,qBAAqB,CAAC;AAiB5E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAItE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,eAAe,CAAC,EAAE,6BAA6B,CAAC;CACnD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,2CA8J9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,uBAAuB,2CAQ1D"}
@@ -4,7 +4,7 @@ import { useEffect, useMemo } from "react";
4
4
  import { useIntl } from "react-intl";
5
5
  import { bucketsFind, isAttribute } from "@gooddata/sdk-model";
6
6
  import { BucketNames, DataViewFacade, ErrorCodes, IntlWrapper, ErrorComponent as SDKErrorComponent, LoadingComponent as SDKLoadingComponent, convertError, newErrorMapping, useCancelablePromise, } from "@gooddata/sdk-ui";
7
- import { ThemeContextProvider, useTheme, withTheme } from "@gooddata/sdk-ui-theme-provider";
7
+ import { ThemeContextProvider, useTheme } from "@gooddata/sdk-ui-theme-provider";
8
8
  import { ColorFactory } from "../../highcharts/chartTypes/_chartOptions/colorFactory.js";
9
9
  import { getValidColorPalette } from "../../highcharts/chartTypes/_util/color.js";
10
10
  import { getWindowSize } from "./internal/repeaterAgGridDataSource.js";
@@ -110,10 +110,9 @@ export function CoreRepeaterImpl(props) {
110
110
  }
111
111
  return (_jsx(RepeaterChart, { dataView: result, drillableItems: drillableItems, onDrill: onDrill, config: configWithColorPalette, onError: onError, onColumnResized: onColumnResized, afterRender: afterRender }));
112
112
  }
113
- const CoreRepeaterWithIntl = withTheme(CoreRepeaterImpl);
114
113
  /**
115
114
  * @internal
116
115
  */
117
116
  export function CoreRepeater(props) {
118
- return (_jsx(ThemeContextProvider, { theme: props.theme, themeIsLoading: false, children: _jsx(IntlWrapper, { locale: props.locale, children: _jsx(CoreRepeaterWithIntl, { ...props }) }) }));
117
+ return (_jsx(ThemeContextProvider, { theme: props.theme, themeIsLoading: false, children: _jsx(IntlWrapper, { locale: props.locale, children: _jsx(CoreRepeaterImpl, { ...props }) }) }));
119
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RepeaterChart.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/RepeaterChart.tsx"],"names":[],"mappings":"AA4CA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAe7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,2CAgLvD"}
1
+ {"version":3,"file":"RepeaterChart.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/RepeaterChart.tsx"],"names":[],"mappings":"AA4CA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAe7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,2CAkLvD"}
@@ -104,6 +104,8 @@ export function RepeaterChart(props) {
104
104
  config?.cellImageSizing,
105
105
  config?.hyperLinks,
106
106
  config?.inlineVisualizations,
107
+ config?.colorMapping,
108
+ config?.colorPalette,
107
109
  ]);
108
110
  const { onColumnResized, onGridReady: onResizingGridReady, onGridSizeChanged, containerRef, } = useResizing(columnDefs, items, props);
109
111
  const { onCellClicked, onCellKeyDown, onGridReady: onDrillingGridReady, } = useDrilling(columnDefs, items, props);
@@ -23,7 +23,6 @@ export interface IChartTransformationProps {
23
23
  onDataTooLarge(chartOptions: any, errorMessage?: string): void;
24
24
  onNegativeValues: ((chartOptions: any) => void) | null;
25
25
  numericSymbols?: string[];
26
- theme?: ITheme;
27
26
  /**
28
27
  * Theme of record for derived color computations; when the chart renders in an isolated
29
28
  * React root (pluggable visualizations), the reference cannot travel via context and
@@ -34,5 +33,8 @@ export interface IChartTransformationProps {
34
33
  renderer?(arg: IHighChartsRendererProps): ReactElement;
35
34
  tooltipExecution?: ITooltipExecution;
36
35
  }
37
- export declare const ChartTransformation: import("react").MemoExoticComponent<import("react").ComponentType<Omit<IChartTransformationProps, "theme" | "themeIsLoading" | "themeStatus">>>;
36
+ /**
37
+ * @internal
38
+ */
39
+ export declare const ChartTransformation: import("react").NamedExoticComponent<IChartTransformationProps>;
38
40
  //# sourceMappingURL=ChartTransformation.d.ts.map
@@ -1 +1 @@
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
+ {"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;;;;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;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,iEAyK/B,CAAC"}
@@ -6,7 +6,7 @@ import { isEqual, omitBy } from "lodash-es";
6
6
  import { useIntl } from "react-intl";
7
7
  import { invariant } from "ts-invariant";
8
8
  import { DataViewFacade, anomaliesTitleFromIntl, clusterTitleFromIntl, convertDrillableItemsToPredicates, emptyHeaderTitleFromIntl, totalColumnTitleFromIntl, } from "@gooddata/sdk-ui";
9
- import { useReferenceTheme, withTheme } from "@gooddata/sdk-ui-theme-provider";
9
+ import { useReferenceTheme, useTheme } from "@gooddata/sdk-ui-theme-provider";
10
10
  import { useTooltipLookup } from "@gooddata/sdk-ui-vis-commons";
11
11
  import { initChartPlugins } from "./adapter/chartPlugins.js";
12
12
  import { HighChartsMeasuredRenderer } from "./adapter/HighChartsMeasuredRenderer.js";
@@ -23,8 +23,12 @@ export function renderHighCharts(props) {
23
23
  const childrenRenderer = (contentRect) => (_jsx(HighChartsRenderer, { contentRect: contentRect, ...props }));
24
24
  return _jsx(HighChartsMeasuredRenderer, { childrenRenderer: childrenRenderer });
25
25
  }
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
+ * @internal
28
+ */
29
+ export const ChartTransformation = memo(function ChartTransformation({ config: configProp, renderer = renderHighCharts, dataView, height, width, afterRender = () => { }, onDrill = () => true, onLegendReady = () => { }, locale, referenceTheme: referenceThemeProp, numericSymbols, drillableItems = [], onDataTooLarge, onNegativeValues = null, pushData = () => { }, tooltipExecution, }) {
27
30
  const intl = useIntl();
31
+ const theme = useTheme();
28
32
  const referenceThemeFromContext = useReferenceTheme();
29
33
  const referenceTheme = referenceThemeProp ?? referenceThemeFromContext;
30
34
  // mekko stacking is bucket-driven — sanitize stackMeasures* once for every config consumer below
@@ -124,11 +128,6 @@ function ChartTransformationImpl({ config: configProp, renderer = renderHighChar
124
128
  theme,
125
129
  config,
126
130
  });
127
- }
128
- /**
129
- * @internal
130
- */
131
- const ChartTransformationWithInjectedProps = withTheme(ChartTransformationImpl);
132
- export const ChartTransformation = memo(ChartTransformationWithInjectedProps, (props, nextProps) => {
131
+ }, (props, nextProps) => {
133
132
  return isEqual(omitBy(props, (v) => typeof v === "function"), omitBy(nextProps, (v) => typeof v === "function"));
134
133
  });
@@ -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,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"}
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;AAavG,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,CAY9E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,UA6D5F"}
@@ -3,6 +3,7 @@ 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
5
  import { isMekko, isNegativeValueIncluded, isNegativeWidthIncluded, isOneOfTypes, isTreemap, } from "../_util/common.js";
6
+ import { hasNegligibleMekkoColumnWidth } from "../mekko/mekkoChartOptions.js";
6
7
  import { unsupportedNegativeValuesTypes } from "./chartCapabilities.js";
7
8
  function getChartLimits(type, chartOptions) {
8
9
  const isStacked = !!chartOptions?.stacking;
@@ -164,6 +165,7 @@ export function getIsFilteringRecommended(chartOptions) {
164
165
  ? getTreemapDataForValidation(chartOptions.data)
165
166
  : chartOptions.data;
166
167
  return (exceedsColumnBarTotalDataPoints(type, dataToValidate, SOFT_COLUMN_BAR_TOTAL_DATA_POINTS_LIMIT) ||
168
+ hasNegligibleMekkoColumnWidth(type, chartOptions.data?.series) ||
167
169
  !isDataOfReasonableSize(dataToValidate, limits, isViewByTwoAttributes));
168
170
  }
169
171
  /**
@@ -42,6 +42,9 @@ export declare function sortMekkoColumnsByMeasure<TCategory>(series: ISeriesItem
42
42
  series: ISeriesItem[];
43
43
  categories: TCategory[];
44
44
  };
45
+ export declare const MEKKO_MIN_VISIBLE_WIDTH_SHARE = 0.005;
46
+ /** A column's width is its share of the total Width metric — a low-value item is invisible, so AD recommends filtering. */
47
+ export declare function hasNegligibleMekkoColumnWidth(type: string | undefined, series: ISeriesItem[] | undefined): boolean;
45
48
  /**
46
49
  * Drops Mekko columns whose Width (point.z) is 0 — from every series' data and the categories in
47
50
  * 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":"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
+ {"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;AAGD,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,6HAA2H;AAC3H,wBAAgB,6BAA6B,CACzC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,GAClC,OAAO,CAaT;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"}
@@ -104,6 +104,21 @@ export function sortMekkoColumnsByMeasure(series, categories, config, dv, measur
104
104
  categories: columnOrder.map((column) => categories[column]),
105
105
  };
106
106
  }
107
+ // Share of the total Width under which a column renders as an unreadable sliver (~3 px at usual plot widths).
108
+ export const MEKKO_MIN_VISIBLE_WIDTH_SHARE = 0.005;
109
+ /** A column's width is its share of the total Width metric — a low-value item is invisible, so AD recommends filtering. */
110
+ export function hasNegligibleMekkoColumnWidth(type, series) {
111
+ if (!isMekko(type) || !series?.[0]?.data?.length) {
112
+ return false;
113
+ }
114
+ // all series in a column repeat the same z; zero widths are already dropped upstream
115
+ const widths = series[0].data.map((point) => point?.z ?? 0);
116
+ const total = widths.reduce((sum, width) => sum + width, 0);
117
+ if (total <= 0) {
118
+ return false;
119
+ }
120
+ return widths.some((width) => width > 0 && width / total < MEKKO_MIN_VISIBLE_WIDTH_SHARE);
121
+ }
107
122
  /**
108
123
  * Drops Mekko columns whose Width (point.z) is 0 — from every series' data and the categories in
109
124
  * lockstep. Negative z is kept so validateData can reject it. The first series drives the mask (all
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-charts",
3
- "version": "11.53.0-alpha.1",
3
+ "version": "11.53.0-alpha.3",
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.53.0-alpha.1",
73
- "@gooddata/sdk-model": "11.53.0-alpha.1",
74
- "@gooddata/sdk-ui-kit": "11.53.0-alpha.1",
75
- "@gooddata/sdk-ui-theme-provider": "11.53.0-alpha.1",
76
- "@gooddata/sdk-ui": "11.53.0-alpha.1",
77
- "@gooddata/sdk-ui-vis-commons": "11.53.0-alpha.1",
78
- "@gooddata/util": "11.53.0-alpha.1"
72
+ "@gooddata/sdk-backend-spi": "11.53.0-alpha.3",
73
+ "@gooddata/sdk-model": "11.53.0-alpha.3",
74
+ "@gooddata/sdk-ui-kit": "11.53.0-alpha.3",
75
+ "@gooddata/sdk-ui": "11.53.0-alpha.3",
76
+ "@gooddata/sdk-ui-theme-provider": "11.53.0-alpha.3",
77
+ "@gooddata/sdk-ui-vis-commons": "11.53.0-alpha.3",
78
+ "@gooddata/util": "11.53.0-alpha.3"
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/oxlint-config": "11.53.0-alpha.1",
124
- "@gooddata/eslint-config": "11.53.0-alpha.1",
125
- "@gooddata/sdk-backend-mockingbird": "11.53.0-alpha.1",
126
- "@gooddata/reference-workspace": "11.53.0-alpha.1",
127
- "@gooddata/stylelint-config": "11.53.0-alpha.1"
123
+ "@gooddata/reference-workspace": "11.53.0-alpha.3",
124
+ "@gooddata/eslint-config": "11.53.0-alpha.3",
125
+ "@gooddata/sdk-backend-mockingbird": "11.53.0-alpha.3",
126
+ "@gooddata/oxlint-config": "11.53.0-alpha.3",
127
+ "@gooddata/stylelint-config": "11.53.0-alpha.3"
128
128
  },
129
129
  "peerDependencies": {
130
130
  "react": "^18.0.0 || ^19.0.0",