@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 +6 -6
- package/esm/charts/_base/RawChart.d.ts +6 -0
- package/esm/charts/_base/RawChart.d.ts.map +1 -1
- package/esm/charts/repeater/CoreRepeater.d.ts.map +1 -1
- package/esm/charts/repeater/CoreRepeater.js +2 -3
- package/esm/charts/repeater/internal/RepeaterChart.d.ts.map +1 -1
- package/esm/charts/repeater/internal/RepeaterChart.js +2 -0
- package/esm/highcharts/ChartTransformation.d.ts +4 -2
- package/esm/highcharts/ChartTransformation.d.ts.map +1 -1
- package/esm/highcharts/ChartTransformation.js +7 -8
- package/esm/highcharts/chartTypes/_chartOptions/chartLimits.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_chartOptions/chartLimits.js +2 -0
- package/esm/highcharts/chartTypes/mekko/mekkoChartOptions.d.ts +3 -0
- package/esm/highcharts/chartTypes/mekko/mekkoChartOptions.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/mekko/mekkoChartOptions.js +15 -0
- 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-8-
|
|
10
|
+
Date generated: 2026-8-17
|
|
11
11
|
|
|
12
|
-
Revision ID:
|
|
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.
|
|
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.
|
|
5306
|
+
Package Title: baseline-browser-mapping (2.11.14)
|
|
5307
5307
|
|
|
5308
|
-
Package Locator: npm+baseline-browser-mapping$2.11.
|
|
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-
|
|
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;
|
|
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;
|
|
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
|
|
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(
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|
-
|
|
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;
|
|
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.
|
|
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.
|
|
73
|
-
"@gooddata/sdk-model": "11.53.0-alpha.
|
|
74
|
-
"@gooddata/sdk-ui-kit": "11.53.0-alpha.
|
|
75
|
-
"@gooddata/sdk-ui
|
|
76
|
-
"@gooddata/sdk-ui": "11.53.0-alpha.
|
|
77
|
-
"@gooddata/sdk-ui-vis-commons": "11.53.0-alpha.
|
|
78
|
-
"@gooddata/util": "11.53.0-alpha.
|
|
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/
|
|
124
|
-
"@gooddata/eslint-config": "11.53.0-alpha.
|
|
125
|
-
"@gooddata/sdk-backend-mockingbird": "11.53.0-alpha.
|
|
126
|
-
"@gooddata/
|
|
127
|
-
"@gooddata/stylelint-config": "11.53.0-alpha.
|
|
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",
|