@gooddata/sdk-ui-charts 10.41.0 → 10.42.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +7 -7
- package/esm/highcharts/ChartTransformation.d.ts.map +1 -1
- package/esm/highcharts/ChartTransformation.js +16 -3
- package/esm/highcharts/ChartTransformation.js.map +1 -1
- package/esm/highcharts/adapter/HighChartsRenderer.d.ts.map +1 -1
- package/esm/highcharts/adapter/HighChartsRenderer.js +1 -0
- package/esm/highcharts/adapter/HighChartsRenderer.js.map +1 -1
- package/esm/highcharts/adapter/chartPlugins.d.ts +2 -1
- package/esm/highcharts/adapter/chartPlugins.d.ts.map +1 -1
- package/esm/highcharts/adapter/chartPlugins.js +6 -2
- package/esm/highcharts/adapter/chartPlugins.js.map +1 -1
- package/esm/highcharts/adapter/legendBuilder.d.ts.map +1 -1
- package/esm/highcharts/adapter/legendBuilder.js +9 -0
- package/esm/highcharts/adapter/legendBuilder.js.map +1 -1
- package/esm/highcharts/adapter/legendHelpers.d.ts +13 -2
- package/esm/highcharts/adapter/legendHelpers.d.ts.map +1 -1
- package/esm/highcharts/adapter/legendHelpers.js +3 -1
- package/esm/highcharts/adapter/legendHelpers.js.map +1 -1
- package/esm/highcharts/adapter/plugins/accessibleTooltip.d.ts.map +1 -1
- package/esm/highcharts/adapter/plugins/accessibleTooltip.js +22 -0
- package/esm/highcharts/adapter/plugins/accessibleTooltip.js.map +1 -1
- package/esm/highcharts/adapter/plugins/dataLabelsColors.d.ts +3 -2
- package/esm/highcharts/adapter/plugins/dataLabelsColors.d.ts.map +1 -1
- package/esm/highcharts/adapter/plugins/dataLabelsColors.js +70 -42
- package/esm/highcharts/adapter/plugins/dataLabelsColors.js.map +1 -1
- package/esm/highcharts/chartTypes/_chartCreators/commonConfiguration.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_chartCreators/commonConfiguration.js +14 -2
- package/esm/highcharts/chartTypes/_chartCreators/commonConfiguration.js.map +1 -1
- package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.js +26 -12
- package/esm/highcharts/chartTypes/_chartCreators/customConfiguration.js.map +1 -1
- package/esm/highcharts/chartTypes/_chartCreators/dataLabelsHelpers.d.ts +3 -1
- package/esm/highcharts/chartTypes/_chartCreators/dataLabelsHelpers.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_chartCreators/dataLabelsHelpers.js +22 -6
- package/esm/highcharts/chartTypes/_chartCreators/dataLabelsHelpers.js.map +1 -1
- package/esm/highcharts/chartTypes/_chartCreators/getDistinctPointShapesConfiguration.d.ts +8 -0
- package/esm/highcharts/chartTypes/_chartCreators/getDistinctPointShapesConfiguration.d.ts.map +1 -0
- package/esm/highcharts/chartTypes/_chartCreators/getDistinctPointShapesConfiguration.js +65 -0
- package/esm/highcharts/chartTypes/_chartCreators/getDistinctPointShapesConfiguration.js.map +1 -0
- package/esm/highcharts/chartTypes/_chartOptions/chartForecast.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_chartOptions/chartForecast.js +21 -2
- package/esm/highcharts/chartTypes/_chartOptions/chartForecast.js.map +1 -1
- package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.js +10 -2
- package/esm/highcharts/chartTypes/_chartOptions/chartOptionsBuilder.js.map +1 -1
- package/esm/highcharts/chartTypes/_chartOptions/chartSeries.d.ts +3 -3
- package/esm/highcharts/chartTypes/_chartOptions/chartSeries.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_chartOptions/chartSeries.js +14 -8
- package/esm/highcharts/chartTypes/_chartOptions/chartSeries.js.map +1 -1
- package/esm/highcharts/chartTypes/_chartOptions/chartThresholds.d.ts +2 -2
- package/esm/highcharts/chartTypes/_chartOptions/chartThresholds.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/_chartOptions/chartThresholds.js +10 -2
- package/esm/highcharts/chartTypes/_chartOptions/chartThresholds.js.map +1 -1
- package/esm/highcharts/chartTypes/_chartOptions/patternFillOptions.d.ts +13 -0
- package/esm/highcharts/chartTypes/_chartOptions/patternFillOptions.d.ts.map +1 -0
- package/esm/highcharts/chartTypes/_chartOptions/patternFillOptions.js +38 -0
- package/esm/highcharts/chartTypes/_chartOptions/patternFillOptions.js.map +1 -0
- package/esm/highcharts/chartTypes/columnChart/columnConfiguration.d.ts +1 -2
- package/esm/highcharts/chartTypes/columnChart/columnConfiguration.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/columnChart/columnConfiguration.js +1 -7
- package/esm/highcharts/chartTypes/columnChart/columnConfiguration.js.map +1 -1
- package/esm/highcharts/chartTypes/waterfallChart/waterfallChartOptions.d.ts +2 -1
- package/esm/highcharts/chartTypes/waterfallChart/waterfallChartOptions.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/waterfallChart/waterfallChartOptions.js +11 -6
- package/esm/highcharts/chartTypes/waterfallChart/waterfallChartOptions.js.map +1 -1
- package/esm/highcharts/chartTypes/waterfallChart/waterfallChartsSeries.d.ts +26 -4
- package/esm/highcharts/chartTypes/waterfallChart/waterfallChartsSeries.d.ts.map +1 -1
- package/esm/highcharts/chartTypes/waterfallChart/waterfallChartsSeries.js +18 -6
- package/esm/highcharts/chartTypes/waterfallChart/waterfallChartsSeries.js.map +1 -1
- package/esm/highcharts/constants/label.d.ts +8 -2
- package/esm/highcharts/constants/label.d.ts.map +1 -1
- package/esm/highcharts/constants/label.js +67 -7
- package/esm/highcharts/constants/label.js.map +1 -1
- package/esm/highcharts/typings/unsafe.d.ts +9 -13
- package/esm/highcharts/typings/unsafe.d.ts.map +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/esm/interfaces/chartConfig.d.ts +34 -1
- package/esm/interfaces/chartConfig.d.ts.map +1 -1
- package/esm/interfaces/index.d.ts +1 -1
- package/esm/interfaces/index.d.ts.map +1 -1
- package/esm/interfaces/index.js +1 -1
- package/esm/interfaces/index.js.map +1 -1
- package/esm/sdk-ui-charts.d.ts +50 -0
- package/package.json +10 -10
- package/styles/css/charts.css +8 -7
- package/styles/css/charts.css.map +1 -1
- package/styles/css/main.css +32 -11
- package/styles/css/main.css.map +1 -1
- package/styles/css/tooltip.css +6 -6
- package/styles/css/tooltip.css.map +1 -1
- package/styles/scss/charts.scss +1 -1
- package/styles/scss/tooltip.scss +30 -12
@@ -1,18 +1,21 @@
|
|
1
1
|
// (C) 2007-2025 GoodData Corporation
|
2
2
|
import flatMap from "lodash/flatMap.js";
|
3
3
|
import { VisualizationTypes } from "@gooddata/sdk-ui";
|
4
|
-
import { parseRGBColorCode } from "@gooddata/sdk-ui-vis-commons";
|
4
|
+
import { getContrastRatio, getRgbFromWebColor, parseRGBColorCode } from "@gooddata/sdk-ui-vis-commons";
|
5
5
|
import { getDataLabelAttributes } from "../../chartTypes/_chartCreators/dataLabelsHelpers.js";
|
6
6
|
import { getChartType, getShapeAttributes, getVisibleSeries, isStacked, } from "../../chartTypes/_chartCreators/helpers.js";
|
7
7
|
import { isOneOfTypes } from "../../chartTypes/_util/common.js";
|
8
|
+
import { getBlackLabelStyle, getWhiteLabelStyle } from "../../constants/label.js";
|
8
9
|
import { isHighContrastMode } from "../../utils/highContrastMode.js";
|
9
|
-
const setWhiteColor = (point) => {
|
10
|
-
point.dataLabel.element.childNodes[0].style.fill =
|
11
|
-
point.dataLabel.element.childNodes[0].style["text-shadow"] =
|
10
|
+
const setWhiteColor = (point, color = "#fff", textShadow = true) => {
|
11
|
+
point.dataLabel.element.childNodes[0].style.fill = color;
|
12
|
+
point.dataLabel.element.childNodes[0].style["text-shadow"] = textShadow
|
13
|
+
? "rgb(0, 0, 0) 0px 0px 1px"
|
14
|
+
: "none";
|
12
15
|
point.dataLabel.element.classList.remove("gd-contrast-label");
|
13
16
|
};
|
14
|
-
const setBlackColor = (point) => {
|
15
|
-
point.dataLabel.element.childNodes[0].style.fill =
|
17
|
+
const setBlackColor = (point, color = "#000") => {
|
18
|
+
point.dataLabel.element.childNodes[0].style.fill = color;
|
16
19
|
point.dataLabel.element.childNodes[0].style["text-shadow"] = "none";
|
17
20
|
point.dataLabel.element.classList.remove("gd-contrast-label");
|
18
21
|
};
|
@@ -21,11 +24,11 @@ const setContrastColor = (point) => {
|
|
21
24
|
point.dataLabel.element.childNodes[0].style["text-shadow"] = "none";
|
22
25
|
point.dataLabel.element.classList.add("gd-contrast-label");
|
23
26
|
};
|
24
|
-
const changeDataLabelsColor = (condition, point) => condition ? setWhiteColor(point) : setContrastColor(point);
|
27
|
+
const changeDataLabelsColor = (condition, point, theme) => condition ? setWhiteColor(point, getWhiteLabelStyle(theme).color) : setContrastColor(point);
|
25
28
|
function getVisiblePointsWithLabel(chart) {
|
26
29
|
return flatMap(getVisibleSeries(chart), (series) => series.points).filter((point) => point.dataLabel && point.graphic);
|
27
30
|
}
|
28
|
-
function setBarDataLabelsColor(chart) {
|
31
|
+
function setBarDataLabelsColor(chart, theme) {
|
29
32
|
const points = getVisiblePointsWithLabel(chart);
|
30
33
|
return points.forEach((point) => {
|
31
34
|
const labelDimensions = getDataLabelAttributes(point);
|
@@ -33,10 +36,11 @@ function setBarDataLabelsColor(chart) {
|
|
33
36
|
const barRight = barDimensions.x + barDimensions.width;
|
34
37
|
const barLeft = barDimensions.x;
|
35
38
|
const labelLeft = labelDimensions.x;
|
39
|
+
const lightColor = getWhiteLabelStyle(theme).color;
|
36
40
|
if (point.negative) {
|
37
41
|
if (labelLeft > barLeft) {
|
38
42
|
// labelRight is overlapping bar even it is outside of it
|
39
|
-
setWhiteColor(point);
|
43
|
+
setWhiteColor(point, lightColor);
|
40
44
|
}
|
41
45
|
else {
|
42
46
|
setContrastColor(point);
|
@@ -44,7 +48,7 @@ function setBarDataLabelsColor(chart) {
|
|
44
48
|
}
|
45
49
|
else {
|
46
50
|
if (labelLeft < barRight) {
|
47
|
-
setWhiteColor(point);
|
51
|
+
setWhiteColor(point, lightColor);
|
48
52
|
}
|
49
53
|
else {
|
50
54
|
setContrastColor(point);
|
@@ -52,7 +56,7 @@ function setBarDataLabelsColor(chart) {
|
|
52
56
|
}
|
53
57
|
});
|
54
58
|
}
|
55
|
-
function setColumnDataLabelsColor(chart) {
|
59
|
+
function setColumnDataLabelsColor(chart, theme) {
|
56
60
|
const points = getVisiblePointsWithLabel(chart);
|
57
61
|
return points
|
58
62
|
.filter((point) => point.shapeArgs) // skip if shapeArgs missing (such as line points in line/column combo chart)
|
@@ -63,31 +67,45 @@ function setColumnDataLabelsColor(chart) {
|
|
63
67
|
const columnDown = columnDimensions.y;
|
64
68
|
const labelDown = labelDimensions.y;
|
65
69
|
if (point.negative) {
|
66
|
-
changeDataLabelsColor(labelDown < columnDown, point);
|
70
|
+
changeDataLabelsColor(labelDown < columnDown, point, theme);
|
67
71
|
}
|
68
72
|
else if (isStacked(chart)) {
|
69
|
-
changeDataLabelsColor(labelDown < columnTop, point);
|
73
|
+
changeDataLabelsColor(labelDown < columnTop, point, theme);
|
70
74
|
}
|
71
75
|
else {
|
72
|
-
changeDataLabelsColor(labelDown > columnTop, point);
|
76
|
+
changeDataLabelsColor(labelDown > columnTop, point, theme);
|
73
77
|
}
|
74
78
|
});
|
75
79
|
}
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
80
|
+
const isWhiteColor = (color) => {
|
81
|
+
const rgb = getRgbFromWebColor(color);
|
82
|
+
return rgb?.r === 255 && rgb?.g === 255 && rgb?.b === 255;
|
83
|
+
};
|
84
|
+
export function isLightNotContrastEnough(backgroundColor, lightColor = "#fff", darkColor = "#000") {
|
85
|
+
// keep old logic for white labels
|
86
|
+
if (isWhiteColor(lightColor)) {
|
87
|
+
// to keep first 17 colors from our default palette with white labels
|
88
|
+
const HIGHCHARTS_CONTRAST_THRESHOLD = 530;
|
89
|
+
const { R, G, B } = parseRGBColorCode(backgroundColor);
|
90
|
+
const lightnessHCH = R + G + B;
|
91
|
+
return lightnessHCH > HIGHCHARTS_CONTRAST_THRESHOLD;
|
92
|
+
}
|
93
|
+
else {
|
94
|
+
const contrastOfLight = getContrastRatio(backgroundColor, lightColor);
|
95
|
+
const contrastOfDark = getContrastRatio(backgroundColor, darkColor);
|
96
|
+
return contrastOfLight < contrastOfDark;
|
97
|
+
}
|
82
98
|
}
|
83
|
-
function setContrastLabelsColor(chart) {
|
99
|
+
function setContrastLabelsColor(chart, theme) {
|
84
100
|
const points = getVisiblePointsWithLabel(chart);
|
101
|
+
const lightColor = getWhiteLabelStyle(theme).color;
|
102
|
+
const darkColor = getBlackLabelStyle(theme).color;
|
85
103
|
return points.forEach((point) => {
|
86
|
-
if (
|
87
|
-
setBlackColor(point);
|
104
|
+
if (isLightNotContrastEnough(point.color, lightColor, darkColor)) {
|
105
|
+
setBlackColor(point, darkColor);
|
88
106
|
}
|
89
107
|
else {
|
90
|
-
setWhiteColor(point);
|
108
|
+
setWhiteColor(point, lightColor);
|
91
109
|
}
|
92
110
|
});
|
93
111
|
}
|
@@ -119,33 +137,43 @@ function ensureWCHMDataLabels(chart) {
|
|
119
137
|
});
|
120
138
|
}
|
121
139
|
}
|
122
|
-
|
140
|
+
function getDataLabelsStyle(chart) {
|
141
|
+
return chart.options.plotOptions?.gdcOptions?.dataLabels?.style;
|
142
|
+
}
|
143
|
+
export function extendDataLabelColors(Highcharts, theme) {
|
123
144
|
Highcharts.Chart.prototype.callbacks.push((chart) => {
|
124
145
|
const type = getChartType(chart);
|
146
|
+
const labelsStyle = getDataLabelsStyle(chart);
|
125
147
|
const changeLabelColor = () => {
|
126
148
|
if (isHighContrastMode()) {
|
127
149
|
// In WCHM: Ensure all data labels use system colors
|
128
150
|
ensureWCHMDataLabels(chart);
|
129
151
|
}
|
130
152
|
else {
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
setBarDataLabelsColor(chart);
|
135
|
-
}, 500);
|
153
|
+
if (labelsStyle === "backplate") {
|
154
|
+
// Backplate mode: styles already set in config
|
155
|
+
return;
|
136
156
|
}
|
137
|
-
else
|
138
|
-
|
139
|
-
VisualizationTypes.
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
157
|
+
else {
|
158
|
+
// Normal mode: Use custom color logic
|
159
|
+
if (type === VisualizationTypes.BAR) {
|
160
|
+
setTimeout(() => {
|
161
|
+
setBarDataLabelsColor(chart, theme);
|
162
|
+
}, 500);
|
163
|
+
}
|
164
|
+
else if (isOneOfTypes(type, [
|
165
|
+
VisualizationTypes.COLUMN,
|
166
|
+
VisualizationTypes.PIE,
|
167
|
+
VisualizationTypes.FUNNEL,
|
168
|
+
VisualizationTypes.PYRAMID,
|
169
|
+
])) {
|
170
|
+
setTimeout(() => {
|
171
|
+
setColumnDataLabelsColor(chart, theme);
|
172
|
+
}, 500);
|
173
|
+
}
|
174
|
+
else if (isOneOfTypes(type, [VisualizationTypes.HEATMAP, VisualizationTypes.TREEMAP])) {
|
175
|
+
setContrastLabelsColor(chart, theme);
|
176
|
+
}
|
149
177
|
}
|
150
178
|
}
|
151
179
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dataLabelsColors.js","sourceRoot":"","sources":["../../../../src/highcharts/adapter/plugins/dataLabelsColors.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,OAAO,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"dataLabelsColors.js","sourceRoot":"","sources":["../../../../src/highcharts/adapter/plugins/dataLabelsColors.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"commonConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/commonConfiguration.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAK3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
1
|
+
{"version":3,"file":"commonConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/commonConfiguration.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAK3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAU5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AASxD,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,0BAA0B,QAAmB,CAAC;AA8J3D,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,SAC5B,IAAI,CAS3B;AASD,wBAAgB,sBAAsB,CAClC,YAAY,EAAE,aAAa,EAC3B,WAAW,EAAE,YAAY,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,YAAY,GACtB,GAAG,CASL"}
|
@@ -6,6 +6,7 @@ import set from "lodash/set.js";
|
|
6
6
|
import { chartClick } from "./drilldownEventing.js";
|
7
7
|
import { setupDrilldown } from "./setupDrilldownToParentAttribute.js";
|
8
8
|
import { styleVariables } from "./styles/variables.js";
|
9
|
+
import { getBackplateLabelColor, getBackplateStackedLabelStyling, getBlackLabelStyle, getBlackStackedLabelStyle, } from "../../constants/label.js";
|
9
10
|
import { DEFAULT_CATEGORIES_LIMIT } from "../../constants/limits.js";
|
10
11
|
import { isHighContrastMode } from "../../utils/highContrastMode.js";
|
11
12
|
import { supportedDualAxesChartTypes } from "../_chartOptions/chartCapabilities.js";
|
@@ -33,7 +34,11 @@ function getThemedConfiguration(theme, config) {
|
|
33
34
|
// This way it is possible to rewrite css variables in the limited scope.
|
34
35
|
const themedBackground = `var(--gd-chart-backgroundColor, var(--gd-palette-complementary-0, ${styleVariables.gdColorBackground}))`;
|
35
36
|
const backgroundColor = theme ? themedBackground : styleVariables.gdColorBackground;
|
36
|
-
const axisLineColor = theme?.chart?.axisColor ??
|
37
|
+
const axisLineColor = theme?.chart?.axisColor ??
|
38
|
+
theme?.chart?.axis?.color ??
|
39
|
+
theme?.palette?.complementary?.c4 ??
|
40
|
+
styleVariables.gdColorAxisLine;
|
41
|
+
const isBackplateStyle = config?.dataLabels?.style === "backplate";
|
37
42
|
return {
|
38
43
|
credits: {
|
39
44
|
enabled: false,
|
@@ -51,7 +56,11 @@ function getThemedConfiguration(theme, config) {
|
|
51
56
|
},
|
52
57
|
drilldown: {
|
53
58
|
activeDataLabelStyle: {
|
54
|
-
color: isHighContrast
|
59
|
+
color: isHighContrast
|
60
|
+
? "CanvasText"
|
61
|
+
: isBackplateStyle
|
62
|
+
? getBackplateLabelColor(theme)
|
63
|
+
: getBlackLabelStyle(theme).color,
|
55
64
|
textDecoration: "none",
|
56
65
|
},
|
57
66
|
activeAxisLabelStyle: {
|
@@ -138,6 +147,9 @@ function getThemedConfiguration(theme, config) {
|
|
138
147
|
yAxis: [
|
139
148
|
{
|
140
149
|
lineColor: axisLineColor,
|
150
|
+
stackLabels: isBackplateStyle
|
151
|
+
? getBackplateStackedLabelStyling(theme)
|
152
|
+
: { style: getBlackStackedLabelStyle(theme) },
|
141
153
|
},
|
142
154
|
],
|
143
155
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"commonConfiguration.js","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/commonConfiguration.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,GAAG,MAAM,eAAe,CAAC;AAKhC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAIrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,aAAa,GACf,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,cAAc,IAAI,MAAM,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;AAChG,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,SAAS,CAAC;AAE3D,SAAS,sBAAsB,CAAC,QAAwB;IACpD,2CAA2C;IAC3C,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,gCAAgC,CAAC,IAA2B;IACjE,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC1C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACZ,6BAA6B;QAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,4BAA4B,CAAC;IACvE,CAAC;AACL,CAAC;AAED,IAAI,aAAa,GAAQ,IAAI,CAAC;AAE9B,SAAS,sBAAsB,CAAC,KAAa,EAAE,MAAqB;IAChE,gDAAgD;IAChD,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;IAE5C,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,qEAAqE,cAAc,CAAC,iBAAiB,IAAI,CAAC;IACnI,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACpF,MAAM,aAAa,GACf,KAAK,EAAE,KAAK,EAAE,SAAS,IAAI,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,
|
1
|
+
{"version":3,"file":"commonConfiguration.js","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/commonConfiguration.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"customConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/customConfiguration.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,MAAM,EAA4B,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAa,YAAY,EAAsB,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"customConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/highcharts/chartTypes/_chartCreators/customConfiguration.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,MAAM,EAA4B,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAa,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AA4B/E,OAAO,EAAe,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EACH,mCAAmC,EACnC,iBAAiB,EAGpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEH,aAAa,EAGb,mCAAmC,EACtC,MAAM,yBAAyB,CAAC;AA4CjC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAgE9C,wBAAgB,mCAAmC,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAkBzE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAiB1C;AAyFD,wBAAgB,kCAAkC,CAC9C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,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,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,mCAAmC,GAC3C;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CA2B1B;AA2ED,wBAAgB,4BAA4B,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAa1E;AAED,wBAAgB,kCAAkC,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAOhF;AA2bD,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,GAAG,GAAG,GAAG,CASzD;AAoND,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,MAAM,aAAa,EAClC,6BAA6B,EAAE,OAAO,GACvC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CActB;AAsDD,eAAO,MAAM,oBAAoB,GAC7B,cAAc,aAAa,EAC3B,cAAc,YAAY,GAAG,YAAY,GAAG,sBAAsB,GAAG,sBAAsB,EAC3F,aAAa,YAAY,EACzB,YAAY,MAAM,KACnB;IAAE,SAAS,CAAC,EAAE,mCAAmC,CAAA;CAWnD,CAAC;AA6RF,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,CAgCnB"}
|
@@ -15,12 +15,13 @@ import { isMeasureFormatInPercent } from "@gooddata/sdk-model";
|
|
15
15
|
import { VisualizationTypes } from "@gooddata/sdk-ui";
|
16
16
|
import { getLighterColor } from "@gooddata/sdk-ui-vis-commons";
|
17
17
|
import { HOVER_BRIGHTNESS, MINIMUM_HC_SAFE_BRIGHTNESS } from "./commonConfiguration.js";
|
18
|
-
import { formatAsPercent,
|
18
|
+
import { formatAsPercent, getLabelsStyling, getLabelsVisibilityConfig, getTotalsVisibility, getTotalsVisibilityConfig, } from "./dataLabelsHelpers.js";
|
19
19
|
import { getAxisLabelConfigurationForDualBarChart } from "./getAxisLabelConfigurationForDualBarChart.js";
|
20
20
|
import { getAxisNameConfiguration } from "./getAxisNameConfiguration.js";
|
21
21
|
import { getChartHighlightingConfiguration } from "./getChartHighlightingConfiguration.js";
|
22
22
|
import { getChartOrientationConfiguration } from "./getChartOrientationConfiguration.js";
|
23
23
|
import { getContinuousLineConfiguration } from "./getContinuousLineConfiguration.js";
|
24
|
+
import { getDistinctPointShapesConfiguration } from "./getDistinctPointShapesConfiguration.js";
|
24
25
|
import getOptionalStackingConfiguration from "./getOptionalStackingConfiguration.js";
|
25
26
|
import { getWaterfallXAxisConfiguration } from "./getWaterfallXAxisConfiguration.js";
|
26
27
|
import { getZeroAlignConfiguration } from "./getZeroAlignConfiguration.js";
|
@@ -399,14 +400,14 @@ function getTooltipConfiguration(chartOptions, _config, chartConfig, _drillConfi
|
|
399
400
|
}
|
400
401
|
: {};
|
401
402
|
}
|
402
|
-
function getTreemapLabelsConfiguration(isMultiLevel,
|
403
|
+
function getTreemapLabelsConfiguration(isMultiLevel, styling, config, labelsConfig) {
|
403
404
|
const smallLabelInCenter = {
|
404
405
|
dataLabels: {
|
405
406
|
enabled: true,
|
406
407
|
padding: 2,
|
407
408
|
formatter: partial(level2LabelsFormatter, config),
|
408
409
|
allowOverlap: false,
|
409
|
-
|
410
|
+
...styling,
|
410
411
|
...labelsConfig,
|
411
412
|
},
|
412
413
|
};
|
@@ -423,8 +424,9 @@ function getTreemapLabelsConfiguration(isMultiLevel, style, config, labelsConfig
|
|
423
424
|
align: "left",
|
424
425
|
verticalAlign: "top",
|
425
426
|
padding: 5,
|
427
|
+
...styling,
|
426
428
|
style: {
|
427
|
-
...style,
|
429
|
+
...styling.style,
|
428
430
|
fontSize: "14px",
|
429
431
|
fontFamily: `var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", Arial, sans-serif)`,
|
430
432
|
},
|
@@ -457,14 +459,16 @@ function getTreemapLabelsConfiguration(isMultiLevel, style, config, labelsConfig
|
|
457
459
|
function shouldDisableHeatmapDataLabels(series) {
|
458
460
|
return series.some((item) => item.data?.length >= HEATMAP_DATA_LABELS_LIMIT);
|
459
461
|
}
|
460
|
-
function
|
462
|
+
function getDataLabelsConfiguration(chartOptions, _config, chartConfig, _drillConfig, _intl, theme) {
|
461
463
|
const { stacking, yAxes = [], type } = chartOptions;
|
462
464
|
const { stackMeasuresToPercent = false, enableSeparateTotalLabels = false } = chartConfig || {};
|
463
465
|
const labelsVisible = chartConfig?.dataLabels?.visible;
|
466
|
+
const labelsStyle = chartConfig?.dataLabels?.style;
|
464
467
|
// handling of existing behaviour
|
465
468
|
const totalsVisible = isBarChart(type) && !enableSeparateTotalLabels ? false : getTotalsVisibility(chartConfig);
|
466
469
|
const labelsConfig = getLabelsVisibilityConfig(labelsVisible);
|
467
|
-
const
|
470
|
+
const isBackplate = labelsStyle === "backplate";
|
471
|
+
const styling = getLabelsStyling(type, stacking, theme, isBackplate);
|
468
472
|
const yAxis = yAxes.map((axis) => ({
|
469
473
|
defaultFormat: axis?.format,
|
470
474
|
}));
|
@@ -478,7 +482,7 @@ function getLabelsConfiguration(chartOptions, _config, chartConfig) {
|
|
478
482
|
: firstValuePercentageLabelFormatter;
|
479
483
|
const DEFAULT_LABELS_CONFIG = {
|
480
484
|
formatter: partial(labelFormatter, chartConfig),
|
481
|
-
|
485
|
+
...styling,
|
482
486
|
allowOverlap: false,
|
483
487
|
...labelsConfig,
|
484
488
|
};
|
@@ -487,13 +491,16 @@ function getLabelsConfiguration(chartOptions, _config, chartConfig) {
|
|
487
491
|
const dataLabelsBugWorkaround = stackMeasuresToPercent && canStackInPercent ? { inside: true } : {};
|
488
492
|
// only applied to heatmap chart
|
489
493
|
const areHeatmapDataLabelsDisabled = shouldDisableHeatmapDataLabels(series);
|
490
|
-
const heatmapLabelsConfig = areHeatmapDataLabelsDisabled
|
494
|
+
const heatmapLabelsConfig = areHeatmapDataLabelsDisabled
|
495
|
+
? { enabled: false }
|
496
|
+
: { ...labelsConfig, ...(isBackplate ? { ...styling, padding: 2 } : {}) };
|
491
497
|
return {
|
492
498
|
plotOptions: {
|
493
499
|
gdcOptions: {
|
494
500
|
dataLabels: {
|
495
501
|
visible: labelsVisible,
|
496
502
|
totalsVisible: totalsVisible,
|
503
|
+
style: labelsStyle,
|
497
504
|
},
|
498
505
|
},
|
499
506
|
bar: {
|
@@ -518,7 +525,7 @@ function getLabelsConfiguration(chartOptions, _config, chartConfig) {
|
|
518
525
|
},
|
519
526
|
},
|
520
527
|
treemap: {
|
521
|
-
...getTreemapLabelsConfiguration(!!stacking,
|
528
|
+
...getTreemapLabelsConfiguration(!!stacking, styling, chartConfig, labelsConfig),
|
522
529
|
},
|
523
530
|
line: {
|
524
531
|
dataLabels: DEFAULT_LABELS_CONFIG,
|
@@ -1086,8 +1093,14 @@ const getXAxisConfiguration = (chartOptions, chartConfig, axisValueColor, axisLa
|
|
1086
1093
|
});
|
1087
1094
|
};
|
1088
1095
|
function getAxesConfiguration(chartOptions, _config, chartConfig, _drillConfig, _intl, theme) {
|
1089
|
-
const axisValueColor = theme?.chart?.axisValueColor ??
|
1090
|
-
|
1096
|
+
const axisValueColor = theme?.chart?.axisValueColor ??
|
1097
|
+
theme?.chart?.axis?.valueColor ??
|
1098
|
+
theme?.palette?.complementary?.c6 ??
|
1099
|
+
styleVariables.gdColorStateBlank;
|
1100
|
+
const axisLabelColor = theme?.chart?.axisLabelColor ??
|
1101
|
+
theme?.chart?.axis?.labelColor ??
|
1102
|
+
theme?.palette?.complementary?.c7 ??
|
1103
|
+
styleVariables.gdColorLink;
|
1091
1104
|
const plotLineColor = theme?.chart?.plotLineColor ?? theme?.palette?.complementary?.c5 ?? styleVariables.gdColorPlotLine;
|
1092
1105
|
return {
|
1093
1106
|
plotOptions: {
|
@@ -1153,7 +1166,7 @@ export function getCustomizedConfiguration(chartOptions, chartConfig, drillConfi
|
|
1153
1166
|
getTooltipConfiguration,
|
1154
1167
|
getHoverStyles,
|
1155
1168
|
getGridConfiguration,
|
1156
|
-
|
1169
|
+
getDataLabelsConfiguration,
|
1157
1170
|
getDataPointsConfiguration,
|
1158
1171
|
// should be after 'getDataConfiguration' to modify 'series'
|
1159
1172
|
// and should be after 'getStackingConfiguration' to get stackLabels config
|
@@ -1165,6 +1178,7 @@ export function getCustomizedConfiguration(chartOptions, chartConfig, drillConfi
|
|
1165
1178
|
getZoomingAndPanningConfiguration,
|
1166
1179
|
getReversedStacking,
|
1167
1180
|
getContinuousLineConfiguration,
|
1181
|
+
getDistinctPointShapesConfiguration,
|
1168
1182
|
getWaterfallXAxisConfiguration,
|
1169
1183
|
getChartOrientationConfiguration,
|
1170
1184
|
getChartHighlightingConfiguration,
|