@gooddata/sdk-ui 11.65.0-alpha.0 → 11.65.0-alpha.10

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 (95) hide show
  1. package/esm/base/localization/bundles/de-DE.localization-bundle.d.ts +11 -0
  2. package/esm/base/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  3. package/esm/base/localization/bundles/de-DE.localization-bundle.js +102 -91
  4. package/esm/base/localization/bundles/en-AU.localization-bundle.d.ts +11 -0
  5. package/esm/base/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  6. package/esm/base/localization/bundles/en-AU.localization-bundle.js +11 -0
  7. package/esm/base/localization/bundles/en-GB.localization-bundle.d.ts +11 -0
  8. package/esm/base/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  9. package/esm/base/localization/bundles/en-GB.localization-bundle.js +19 -8
  10. package/esm/base/localization/bundles/es-419.localization-bundle.d.ts +11 -0
  11. package/esm/base/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  12. package/esm/base/localization/bundles/es-419.localization-bundle.js +11 -0
  13. package/esm/base/localization/bundles/es-ES.localization-bundle.d.ts +11 -0
  14. package/esm/base/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  15. package/esm/base/localization/bundles/es-ES.localization-bundle.js +11 -0
  16. package/esm/base/localization/bundles/fi-FI.localization-bundle.d.ts +11 -0
  17. package/esm/base/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  18. package/esm/base/localization/bundles/fi-FI.localization-bundle.js +11 -0
  19. package/esm/base/localization/bundles/fr-CA.localization-bundle.d.ts +11 -0
  20. package/esm/base/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  21. package/esm/base/localization/bundles/fr-CA.localization-bundle.js +11 -0
  22. package/esm/base/localization/bundles/fr-FR.localization-bundle.d.ts +11 -0
  23. package/esm/base/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  24. package/esm/base/localization/bundles/fr-FR.localization-bundle.js +234 -223
  25. package/esm/base/localization/bundles/id-ID.localization-bundle.d.ts +11 -0
  26. package/esm/base/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  27. package/esm/base/localization/bundles/id-ID.localization-bundle.js +11 -0
  28. package/esm/base/localization/bundles/it-IT.localization-bundle.d.ts +11 -0
  29. package/esm/base/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  30. package/esm/base/localization/bundles/it-IT.localization-bundle.js +11 -0
  31. package/esm/base/localization/bundles/ja-JP.localization-bundle.d.ts +11 -0
  32. package/esm/base/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  33. package/esm/base/localization/bundles/ja-JP.localization-bundle.js +11 -0
  34. package/esm/base/localization/bundles/ko-KR.localization-bundle.d.ts +11 -0
  35. package/esm/base/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  36. package/esm/base/localization/bundles/ko-KR.localization-bundle.js +11 -0
  37. package/esm/base/localization/bundles/nl-NL.localization-bundle.d.ts +11 -0
  38. package/esm/base/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  39. package/esm/base/localization/bundles/nl-NL.localization-bundle.js +11 -0
  40. package/esm/base/localization/bundles/pl-PL.localization-bundle.d.ts +11 -0
  41. package/esm/base/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  42. package/esm/base/localization/bundles/pl-PL.localization-bundle.js +11 -0
  43. package/esm/base/localization/bundles/pt-BR.localization-bundle.d.ts +11 -0
  44. package/esm/base/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  45. package/esm/base/localization/bundles/pt-BR.localization-bundle.js +11 -0
  46. package/esm/base/localization/bundles/pt-PT.localization-bundle.d.ts +11 -0
  47. package/esm/base/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  48. package/esm/base/localization/bundles/pt-PT.localization-bundle.js +11 -0
  49. package/esm/base/localization/bundles/ru-RU.localization-bundle.d.ts +11 -0
  50. package/esm/base/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  51. package/esm/base/localization/bundles/ru-RU.localization-bundle.js +11 -0
  52. package/esm/base/localization/bundles/sl-SI.localization-bundle.d.ts +11 -0
  53. package/esm/base/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  54. package/esm/base/localization/bundles/sl-SI.localization-bundle.js +11 -0
  55. package/esm/base/localization/bundles/th-TH.localization-bundle.d.ts +11 -0
  56. package/esm/base/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  57. package/esm/base/localization/bundles/th-TH.localization-bundle.js +11 -0
  58. package/esm/base/localization/bundles/tr-TR.localization-bundle.d.ts +11 -0
  59. package/esm/base/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  60. package/esm/base/localization/bundles/tr-TR.localization-bundle.js +11 -0
  61. package/esm/base/localization/bundles/uk-UA.localization-bundle.d.ts +11 -0
  62. package/esm/base/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  63. package/esm/base/localization/bundles/uk-UA.localization-bundle.js +11 -0
  64. package/esm/base/localization/bundles/vi-VN.localization-bundle.d.ts +11 -0
  65. package/esm/base/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  66. package/esm/base/localization/bundles/vi-VN.localization-bundle.js +11 -0
  67. package/esm/base/localization/bundles/zh-HK.localization-bundle.d.ts +11 -0
  68. package/esm/base/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  69. package/esm/base/localization/bundles/zh-HK.localization-bundle.js +11 -0
  70. package/esm/base/localization/bundles/zh-Hans.localization-bundle.d.ts +11 -0
  71. package/esm/base/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  72. package/esm/base/localization/bundles/zh-Hans.localization-bundle.js +11 -0
  73. package/esm/base/localization/bundles/zh-Hant.localization-bundle.d.ts +11 -0
  74. package/esm/base/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  75. package/esm/base/localization/bundles/zh-Hant.localization-bundle.js +11 -0
  76. package/esm/base/results/attributeNumberFormat.d.ts +47 -0
  77. package/esm/base/results/attributeNumberFormat.d.ts.map +1 -0
  78. package/esm/base/results/attributeNumberFormat.js +192 -0
  79. package/esm/base/results/dataAccessConfig.d.ts +12 -0
  80. package/esm/base/results/dataAccessConfig.d.ts.map +1 -1
  81. package/esm/base/results/dataAccessConfig.js +19 -1
  82. package/esm/base/results/tableData/mapping/getValue/attributeHeader.d.ts +6 -4
  83. package/esm/base/results/tableData/mapping/getValue/attributeHeader.d.ts.map +1 -1
  84. package/esm/base/results/tableData/mapping/getValue/attributeHeader.js +7 -5
  85. package/esm/base/results/tableData/mapping/subtotalRow/attribute.d.ts +1 -1
  86. package/esm/base/results/tableData/mapping/subtotalRow/attribute.d.ts.map +1 -1
  87. package/esm/base/results/tableData/mapping/subtotalRow/attribute.js +3 -3
  88. package/esm/base/results/tableData/mapping/valueRow/attribute.d.ts +1 -1
  89. package/esm/base/results/tableData/mapping/valueRow/attribute.d.ts.map +1 -1
  90. package/esm/base/results/tableData/mapping/valueRow/attribute.js +3 -3
  91. package/esm/index.d.ts +2 -1
  92. package/esm/index.d.ts.map +1 -1
  93. package/esm/index.js +2 -1
  94. package/esm/sdk-ui.d.ts +59 -0
  95. package/package.json +11 -11
@@ -0,0 +1,192 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { isAttributeDescriptor, isResultAttributeHeader, } from "@gooddata/sdk-model";
3
+ /**
4
+ * A whole string in plain decimal or exponent notation, the way the backend sends numeric values.
5
+ */
6
+ const NUMBER_PATTERN = /^[-+]?(\d+\.?\d*|\.\d+)([eE][-+]?\d+)?$/;
7
+ /**
8
+ * Formats the raw element value if the whole value is a number; empty values and values that are not
9
+ * numbers (e.g. "12 Main St", "2011-04" or "0x1A") are left alone, so that they are never mangled.
10
+ *
11
+ * @param name - raw element value
12
+ * @param format - number format to apply
13
+ * @param valueFormatter - formatter applying the number format
14
+ * @internal
15
+ */
16
+ export function formatAttributeValue(name, format, valueFormatter) {
17
+ if (name === null || name === "") {
18
+ return name;
19
+ }
20
+ if (!NUMBER_PATTERN.test(name.trim()) || !Number.isFinite(Number(name))) {
21
+ return name;
22
+ }
23
+ return valueFormatter(name, format);
24
+ }
25
+ /**
26
+ * Gets the value to display for the attribute element.
27
+ *
28
+ * @remarks
29
+ * Prefers the already formatted name (dates, or attribute values formatted with
30
+ * {@link formatAttributeHeaderValues}). Otherwise, when the descriptor carries a number format, formats the
31
+ * raw element name with it. Falls back to the raw element name. Never falls back to the element uri, as that
32
+ * holds the primary label value, not the display value.
33
+ *
34
+ * @param header - attribute element header
35
+ * @param descriptor - descriptor of the attribute the header belongs to
36
+ * @param valueFormatter - formatter to apply the number format with
37
+ * @internal
38
+ */
39
+ export function attributeHeaderDisplayValue(header, descriptor, valueFormatter) {
40
+ const { formattedName, name } = header.attributeHeaderItem;
41
+ if (formattedName !== undefined) {
42
+ return formattedName;
43
+ }
44
+ const numberFormat = descriptor?.attributeHeader.numberFormat;
45
+ if (numberFormat && valueFormatter) {
46
+ return formatAttributeValue(name, numberFormat, valueFormatter);
47
+ }
48
+ return name ?? null;
49
+ }
50
+ function formatHeaders(headers, format, valueFormatter) {
51
+ return headers.map((header) => {
52
+ if (!isResultAttributeHeader(header) || header.attributeHeaderItem.formattedName !== undefined) {
53
+ return header;
54
+ }
55
+ const formattedName = formatAttributeValue(header.attributeHeaderItem.name, format, valueFormatter);
56
+ if (formattedName === null || formattedName === header.attributeHeaderItem.name) {
57
+ return header;
58
+ }
59
+ return {
60
+ attributeHeaderItem: {
61
+ ...header.attributeHeaderItem,
62
+ formattedName,
63
+ },
64
+ };
65
+ });
66
+ }
67
+ /**
68
+ * Data view whose header items were replaced; everything else is read from the original view.
69
+ */
70
+ class DataViewWithHeaderItems {
71
+ original;
72
+ headerItems;
73
+ constructor(original, headerItems) {
74
+ this.original = original;
75
+ this.headerItems = headerItems;
76
+ }
77
+ get offset() {
78
+ return this.original.offset;
79
+ }
80
+ get count() {
81
+ return this.original.count;
82
+ }
83
+ get totalCount() {
84
+ return this.original.totalCount;
85
+ }
86
+ get data() {
87
+ return this.original.data;
88
+ }
89
+ get totals() {
90
+ return this.original.totals;
91
+ }
92
+ get totalTotals() {
93
+ return this.original.totalTotals;
94
+ }
95
+ get definition() {
96
+ return this.original.definition;
97
+ }
98
+ get result() {
99
+ return this.original.result;
100
+ }
101
+ get context() {
102
+ return this.original.context;
103
+ }
104
+ get metadata() {
105
+ return this.original.metadata;
106
+ }
107
+ get forecastConfig() {
108
+ return this.original.forecastConfig;
109
+ }
110
+ get forecastResult() {
111
+ return this.original.forecastResult;
112
+ }
113
+ get outliersConfig() {
114
+ return this.original.outliersConfig;
115
+ }
116
+ get outliersResult() {
117
+ return this.original.outliersResult;
118
+ }
119
+ get clusteringConfig() {
120
+ return this.original.clusteringConfig;
121
+ }
122
+ get clusteringResult() {
123
+ return this.original.clusteringResult;
124
+ }
125
+ get warnings() {
126
+ return this.original.warnings;
127
+ }
128
+ equals(other) {
129
+ return this.original.equals(other);
130
+ }
131
+ fingerprint() {
132
+ return this.original.fingerprint();
133
+ }
134
+ forecast() {
135
+ return this.original.forecast();
136
+ }
137
+ clustering() {
138
+ return this.original.clustering();
139
+ }
140
+ outliers() {
141
+ return this.original.outliers();
142
+ }
143
+ withForecast(config, result) {
144
+ return new DataViewWithHeaderItems(this.original.withForecast(config, result), this.headerItems);
145
+ }
146
+ withClustering(config, result) {
147
+ return new DataViewWithHeaderItems(this.original.withClustering(config, result), this.headerItems);
148
+ }
149
+ withOutliers(config, result) {
150
+ return new DataViewWithHeaderItems(this.original.withOutliers(config, result), this.headerItems);
151
+ }
152
+ readCollectionItems(config) {
153
+ return this.original.readCollectionItems(config);
154
+ }
155
+ }
156
+ /**
157
+ * Formats element values of attributes that carry a number format.
158
+ *
159
+ * @remarks
160
+ * For every attribute descriptor with a number format on the result header, the element headers get a
161
+ * `formattedName` holding the value
162
+ * formatted the same way measure values are. Element headers that already have a `formattedName` (dates)
163
+ * and values that are not numbers are left untouched. The raw element `name` and `uri` stay as they are,
164
+ * so drilling, sorting and grouping keep working on the original values.
165
+ *
166
+ * The original data view is not mutated; when nothing needs formatting it is returned as is.
167
+ *
168
+ * @param dataView - data view to format
169
+ * @param valueFormatter - formatter applying a number format to a value; use one that does not escape
170
+ * HTML, the display sites escape on their own
171
+ * @internal
172
+ */
173
+ export function formatAttributeHeaderValues(dataView, valueFormatter) {
174
+ let changed = false;
175
+ const headerItems = dataView.result.dimensions.map((dimension, dimensionIndex) => {
176
+ const dimensionHeaderItems = dataView.headerItems[dimensionIndex] ?? [];
177
+ return dimension.headers.map((descriptor, headerIndex) => {
178
+ const headers = dimensionHeaderItems[headerIndex] ?? [];
179
+ if (!isAttributeDescriptor(descriptor)) {
180
+ return headers;
181
+ }
182
+ const format = descriptor.attributeHeader.numberFormat;
183
+ if (!format) {
184
+ return headers;
185
+ }
186
+ const formatted = formatHeaders(headers, format, valueFormatter);
187
+ changed = changed || formatted.some((header, idx) => header !== headers[idx]);
188
+ return formatted;
189
+ });
190
+ });
191
+ return changed ? new DataViewWithHeaderItems(dataView, headerItems) : dataView;
192
+ }
@@ -19,6 +19,18 @@ export type HeaderTranslator = (value: string | null) => string;
19
19
  * @public
20
20
  */
21
21
  export declare function createNumberJsFormatter(separators?: ISeparators): ValueFormatter;
22
+ /**
23
+ * Creates value formatter that uses `@gooddata/number-formatter` to format raw values according to the
24
+ * format string, without escaping HTML in the result.
25
+ *
26
+ * @remarks
27
+ * Use where the display site escapes the value on its own (cells, tooltips) so that the value is not
28
+ * escaped twice. Coloring information is stripped away; only the formatted value is returned.
29
+ *
30
+ * @param separators - number separators to use. if not specified then `numberjs` defaults will be used
31
+ * @internal
32
+ */
33
+ export declare function createNumberFormatter(separators?: ISeparators): ValueFormatter;
22
34
  /**
23
35
  * Default configuration for the data access methods. Uses default `@gooddata/number-formatter` formatter and no result formatting.
24
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"dataAccessConfig.d.ts","sourceRoot":"","sources":["../../../src/base/results/dataAccessConfig.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,cAAc,CAMhF;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAErC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"dataAccessConfig.d.ts","sourceRoot":"","sources":["../../../src/base/results/dataAccessConfig.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,cAAc,CAMhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,cAAc,CAM9E;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAErC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACvC,CAAC"}
@@ -1,4 +1,4 @@
1
- // (C) 2019-2025 GoodData Corporation
1
+ // (C) 2019-2026 GoodData Corporation
2
2
  import { escape, unescape } from "lodash-es";
3
3
  import { ClientFormatterFacade } from "@gooddata/number-formatter";
4
4
  const customEscape = (str) => str && escape(unescape(str));
@@ -20,6 +20,24 @@ export function createNumberJsFormatter(separators) {
20
20
  return customEscape(formattedValue);
21
21
  };
22
22
  }
23
+ /**
24
+ * Creates value formatter that uses `@gooddata/number-formatter` to format raw values according to the
25
+ * format string, without escaping HTML in the result.
26
+ *
27
+ * @remarks
28
+ * Use where the display site escapes the value on its own (cells, tooltips) so that the value is not
29
+ * escaped twice. Coloring information is stripped away; only the formatted value is returned.
30
+ *
31
+ * @param separators - number separators to use. if not specified then `numberjs` defaults will be used
32
+ * @internal
33
+ */
34
+ export function createNumberFormatter(separators) {
35
+ return (value, format) => {
36
+ const valueToFormat = ClientFormatterFacade.convertValue(value);
37
+ const { formattedValue } = ClientFormatterFacade.formatValue(valueToFormat, format, separators);
38
+ return formattedValue;
39
+ };
40
+ }
23
41
  /**
24
42
  * Default configuration for the data access methods. Uses default `@gooddata/number-formatter` formatter and no result formatting.
25
43
  *
@@ -1,12 +1,14 @@
1
- import { type IResultAttributeHeader } from "@gooddata/sdk-model";
1
+ import { type IAttributeDescriptor, type IResultAttributeHeader } from "@gooddata/sdk-model";
2
+ import { type ValueFormatter } from "../../../dataAccessConfig.js";
2
3
  /**
3
4
  * Gets the display value from an attribute header.
4
5
  *
5
6
  * @remarks
6
- * Uses formattedName (for dates) with fallback to name (labelValue).
7
- * Does NOT fall back to uri since that contains primaryLabelValue, not the display value.
7
+ * Uses formattedName (for dates) with fallback to name (labelValue); when the attribute descriptor carries
8
+ * a number format, the name is formatted with it. Does NOT fall back to uri since that contains
9
+ * primaryLabelValue, not the display value.
8
10
  *
9
11
  * @internal
10
12
  */
11
- export declare function getAttributeHeaderValue(attributeHeader: IResultAttributeHeader): string | null;
13
+ export declare function getAttributeHeaderValue(attributeHeader: IResultAttributeHeader, descriptor?: IAttributeDescriptor, valueFormatter?: ValueFormatter): string | null;
12
14
  //# sourceMappingURL=attributeHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attributeHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/base/results/tableData/mapping/getValue/attributeHeader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAI9F"}
1
+ {"version":3,"file":"attributeHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/base/results/tableData/mapping/getValue/attributeHeader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7F,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACnC,eAAe,EAAE,sBAAsB,EACvC,UAAU,CAAC,EAAE,oBAAoB,EACjC,cAAc,CAAC,EAAE,cAAc,GAChC,MAAM,GAAG,IAAI,CAEf"}
@@ -1,13 +1,15 @@
1
- // (C) 2019-2025 GoodData Corporation
1
+ // (C) 2019-2026 GoodData Corporation
2
+ import { attributeHeaderDisplayValue } from "../../../attributeNumberFormat.js";
2
3
  /**
3
4
  * Gets the display value from an attribute header.
4
5
  *
5
6
  * @remarks
6
- * Uses formattedName (for dates) with fallback to name (labelValue).
7
- * Does NOT fall back to uri since that contains primaryLabelValue, not the display value.
7
+ * Uses formattedName (for dates) with fallback to name (labelValue); when the attribute descriptor carries
8
+ * a number format, the name is formatted with it. Does NOT fall back to uri since that contains
9
+ * primaryLabelValue, not the display value.
8
10
  *
9
11
  * @internal
10
12
  */
11
- export function getAttributeHeaderValue(attributeHeader) {
12
- return (attributeHeader.attributeHeaderItem.formattedName ?? attributeHeader.attributeHeaderItem.name ?? null);
13
+ export function getAttributeHeaderValue(attributeHeader, descriptor, valueFormatter) {
14
+ return attributeHeaderDisplayValue(attributeHeader, descriptor, valueFormatter);
13
15
  }
@@ -5,5 +5,5 @@ import { type ITableSubtotalRowDefinition } from "../../interfaces/rows.js";
5
5
  /**
6
6
  * @internal
7
7
  */
8
- export declare function mapSubtotalRowAttributeColumn(rowDefinition: ITableSubtotalRowDefinition, columnDefinition: ITableAttributeColumnDefinition, _options: IMappingOptions): ITableDataValue;
8
+ export declare function mapSubtotalRowAttributeColumn(rowDefinition: ITableSubtotalRowDefinition, columnDefinition: ITableAttributeColumnDefinition, options: IMappingOptions): ITableDataValue;
9
9
  //# sourceMappingURL=attribute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../../../../../../src/base/results/tableData/mapping/subtotalRow/attribute.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAI5E;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,aAAa,EAAE,2BAA2B,EAC1C,gBAAgB,EAAE,+BAA+B,EACjD,QAAQ,EAAE,eAAe,GAC1B,eAAe,CAqCjB"}
1
+ {"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../../../../../../src/base/results/tableData/mapping/subtotalRow/attribute.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAI5E;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,aAAa,EAAE,2BAA2B,EAC1C,gBAAgB,EAAE,+BAA+B,EACjD,OAAO,EAAE,eAAe,GACzB,eAAe,CAyCjB"}
@@ -1,11 +1,11 @@
1
- // (C) 2019-2025 GoodData Corporation
1
+ // (C) 2019-2026 GoodData Corporation
2
2
  import { UnexpectedSdkError } from "../../../../errors/GoodDataSdkError.js";
3
3
  import { getAttributeHeaderValue } from "../getValue/attributeHeader.js";
4
4
  import { getTotalHeaderValue } from "../getValue/totalHeader.js";
5
5
  /**
6
6
  * @internal
7
7
  */
8
- export function mapSubtotalRowAttributeColumn(rowDefinition, columnDefinition, _options) {
8
+ export function mapSubtotalRowAttributeColumn(rowDefinition, columnDefinition, options) {
9
9
  const { rowIndex, rowScope } = rowDefinition;
10
10
  const { columnIndex, rowHeaderIndex } = columnDefinition;
11
11
  const attributeScope = rowScope[rowHeaderIndex];
@@ -13,7 +13,7 @@ export function mapSubtotalRowAttributeColumn(rowDefinition, columnDefinition, _
13
13
  throw new UnexpectedSdkError("mapSubtotalRowAttributeColumn: attribute scope or attribute total scope expected");
14
14
  }
15
15
  if (attributeScope.type === "attributeScope") {
16
- const formattedValue = getAttributeHeaderValue(attributeScope.header);
16
+ const formattedValue = getAttributeHeaderValue(attributeScope.header, attributeScope.descriptor, options.config.valueFormatter);
17
17
  return {
18
18
  type: "attributeHeader",
19
19
  formattedValue,
@@ -5,5 +5,5 @@ import { type ITableValueRowDefinition } from "../../interfaces/rows.js";
5
5
  /**
6
6
  * @internal
7
7
  */
8
- export declare function mapValueRowAttributeColumn(rowDefinition: ITableValueRowDefinition, columnDefinition: ITableAttributeColumnDefinition, _options: IMappingOptions): ITableDataValue;
8
+ export declare function mapValueRowAttributeColumn(rowDefinition: ITableValueRowDefinition, columnDefinition: ITableAttributeColumnDefinition, options: IMappingOptions): ITableDataValue;
9
9
  //# sourceMappingURL=attribute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../../../../../../src/base/results/tableData/mapping/valueRow/attribute.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGzE;;GAEG;AACH,wBAAgB,0BAA0B,CACtC,aAAa,EAAE,wBAAwB,EACvC,gBAAgB,EAAE,+BAA+B,EACjD,QAAQ,EAAE,eAAe,GAC1B,eAAe,CAqBjB"}
1
+ {"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../../../../../../src/base/results/tableData/mapping/valueRow/attribute.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGzE;;GAEG;AACH,wBAAgB,0BAA0B,CACtC,aAAa,EAAE,wBAAwB,EACvC,gBAAgB,EAAE,+BAA+B,EACjD,OAAO,EAAE,eAAe,GACzB,eAAe,CAyBjB"}
@@ -1,17 +1,17 @@
1
- // (C) 2019-2025 GoodData Corporation
1
+ // (C) 2019-2026 GoodData Corporation
2
2
  import { UnexpectedSdkError } from "../../../../errors/GoodDataSdkError.js";
3
3
  import { getAttributeHeaderValue } from "../getValue/attributeHeader.js";
4
4
  /**
5
5
  * @internal
6
6
  */
7
- export function mapValueRowAttributeColumn(rowDefinition, columnDefinition, _options) {
7
+ export function mapValueRowAttributeColumn(rowDefinition, columnDefinition, options) {
8
8
  const { rowIndex, rowScope } = rowDefinition;
9
9
  const { columnIndex, rowHeaderIndex } = columnDefinition;
10
10
  const attributeScope = rowScope[rowHeaderIndex];
11
11
  if (attributeScope.type !== "attributeScope") {
12
12
  throw new UnexpectedSdkError("mapValueRowAttributeColumn: attribute scope expected");
13
13
  }
14
- const formattedValue = getAttributeHeaderValue(attributeScope.header);
14
+ const formattedValue = getAttributeHeaderValue(attributeScope.header, attributeScope.descriptor, options.config.valueFormatter);
15
15
  return {
16
16
  type: "attributeHeader",
17
17
  formattedValue,
package/esm/index.d.ts CHANGED
@@ -89,8 +89,9 @@ export { type ITableDataValue, type ITableAttributeHeaderValue, type ITableGrand
89
89
  export { type ITableAttributeColumnDefinition, type ITableValueColumnDefinition, type ITableSubtotalColumnDefinition, type ITableGrandTotalColumnDefinition, type ITableMeasureGroupValueColumnDefinition, type ITableColumnDefinition, type ITableMeasureGroupHeaderColumnDefinition, isAttributeColumnDefinition, isValueColumnDefinition, isMeasureGroupHeaderColumnDefinition, isMeasureGroupValueColumnDefinition, isSubtotalColumnDefinition, isGrandTotalColumnDefinition, isTransposedValueColumnDefinition, isStandardValueColumnDefinition, isEmptyValueColumnDefinition, isStandardSubtotalColumnDefinition, isStandardGrandTotalColumnDefinition, } from "./base/results/tableData/interfaces/columns.js";
90
90
  export { type ITableRowDefinition, type ITableSubtotalRowDefinition, type ITableValueRowDefinition, type ITableGrandTotalRowDefinition, isValueRowDefinition, isSubtotalRowDefinition, isGrandTotalRowDefinition, } from "./base/results/tableData/interfaces/rows.js";
91
91
  export { isAttributeScope, isAttributeTotalScope, isMeasureScope, isMeasureTotalScope, isMeasureGroupScope, type ITableDataMeasureGroupScope, type ITableDataAttributeScope, type ITableDataMeasureTotalScope, type ITableDataAttributeTotalScope, type ITableDataHeaderScope, type ITableDataMeasureScope, } from "./base/results/tableData/interfaces/scope.js";
92
- export { type DataAccessConfig, type ValueFormatter, type HeaderTranslator, createNumberJsFormatter, DefaultDataAccessConfig, } from "./base/results/dataAccessConfig.js";
92
+ export { type DataAccessConfig, type ValueFormatter, type HeaderTranslator, createNumberJsFormatter, createNumberFormatter, DefaultDataAccessConfig, } from "./base/results/dataAccessConfig.js";
93
93
  export { getTotalInfo } from "./base/results/internal/utils.js";
94
+ export { attributeHeaderDisplayValue, formatAttributeHeaderValues, formatAttributeValue, } from "./base/results/attributeNumberFormat.js";
94
95
  export { type IDashboardUrlBuilder, type IDashboardUrlQueryParams, type IWidgetUrlQueryParams, type IWidgetUrlBuilder, type IAutomationUrlQueryParams, type IAutomationUrlBuilder, buildDashboardUrl, buildWidgetUrl, buildAutomationUrl, } from "./base/url/dashboardUrl.js";
95
96
  export { navigate } from "./base/url/navigate.js";
96
97
  export { compressForUrl, decompressFromUrl } from "./base/url/compression.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/esm/index.js CHANGED
@@ -87,8 +87,9 @@ export { isTableAttributeHeaderValue, isTableGrandTotalHeaderValue, isTableGrand
87
87
  export { isAttributeColumnDefinition, isValueColumnDefinition, isMeasureGroupHeaderColumnDefinition, isMeasureGroupValueColumnDefinition, isSubtotalColumnDefinition, isGrandTotalColumnDefinition, isTransposedValueColumnDefinition, isStandardValueColumnDefinition, isEmptyValueColumnDefinition, isStandardSubtotalColumnDefinition, isStandardGrandTotalColumnDefinition, } from "./base/results/tableData/interfaces/columns.js";
88
88
  export { isValueRowDefinition, isSubtotalRowDefinition, isGrandTotalRowDefinition, } from "./base/results/tableData/interfaces/rows.js";
89
89
  export { isAttributeScope, isAttributeTotalScope, isMeasureScope, isMeasureTotalScope, isMeasureGroupScope, } from "./base/results/tableData/interfaces/scope.js";
90
- export { createNumberJsFormatter, DefaultDataAccessConfig, } from "./base/results/dataAccessConfig.js";
90
+ export { createNumberJsFormatter, createNumberFormatter, DefaultDataAccessConfig, } from "./base/results/dataAccessConfig.js";
91
91
  export { getTotalInfo } from "./base/results/internal/utils.js";
92
+ export { attributeHeaderDisplayValue, formatAttributeHeaderValues, formatAttributeValue, } from "./base/results/attributeNumberFormat.js";
92
93
  // URL utilities
93
94
  export { buildDashboardUrl, buildWidgetUrl, buildAutomationUrl, } from "./base/url/dashboardUrl.js";
94
95
  export { navigate } from "./base/url/navigate.js";
package/esm/sdk-ui.d.ts CHANGED
@@ -200,6 +200,22 @@ export declare type AttributeFilterOrPlaceholder = ValueOrPlaceholder<IAttribute
200
200
  */
201
201
  export declare type AttributeFiltersOrPlaceholders = Array<ValueOrMultiValuePlaceholder<IAttributeFilter> | ValueOrMultiValuePlaceholder<IPositiveAttributeFilter> | ValueOrMultiValuePlaceholder<INegativeAttributeFilter>>;
202
202
 
203
+ /**
204
+ * Gets the value to display for the attribute element.
205
+ *
206
+ * @remarks
207
+ * Prefers the already formatted name (dates, or attribute values formatted with
208
+ * {@link formatAttributeHeaderValues}). Otherwise, when the descriptor carries a number format, formats the
209
+ * raw element name with it. Falls back to the raw element name. Never falls back to the element uri, as that
210
+ * holds the primary label value, not the display value.
211
+ *
212
+ * @param header - attribute element header
213
+ * @param descriptor - descriptor of the attribute the header belongs to
214
+ * @param valueFormatter - formatter to apply the number format with
215
+ * @internal
216
+ */
217
+ export declare function attributeHeaderDisplayValue(header: IResultAttributeHeader, descriptor?: IAttributeDescriptor, valueFormatter?: ValueFormatter): string | null;
218
+
203
219
  /**
204
220
  * Creates a predicate that return true for any attribute result header with the provided name.
205
221
  *
@@ -571,6 +587,19 @@ export declare function createInvalidNode<T extends Record<string, IInvalidNode<
571
587
  */
572
588
  export declare function createInvalidNode<T extends Record<string, IInvalidNode<any>> = Record<string, never>>(input?: Partial<IInvalidNode<T>>): IInvalidNode<T>;
573
589
 
590
+ /**
591
+ * Creates value formatter that uses `@gooddata/number-formatter` to format raw values according to the
592
+ * format string, without escaping HTML in the result.
593
+ *
594
+ * @remarks
595
+ * Use where the display site escapes the value on its own (cells, tooltips) so that the value is not
596
+ * escaped twice. Coloring information is stripped away; only the formatted value is returned.
597
+ *
598
+ * @param separators - number separators to use. if not specified then `numberjs` defaults will be used
599
+ * @internal
600
+ */
601
+ export declare function createNumberFormatter(separators?: ISeparators): ValueFormatter;
602
+
574
603
  /**
575
604
  * Creates value formatter that uses `@gooddata/number-formatter` to format raw measure values according
576
605
  * to the format string.
@@ -1292,6 +1321,36 @@ export declare class ForecastNotReceivedSdkError extends GoodDataSdkError {
1292
1321
  constructor(message?: string, cause?: Error);
1293
1322
  }
1294
1323
 
1324
+ /**
1325
+ * Formats element values of attributes that carry a number format.
1326
+ *
1327
+ * @remarks
1328
+ * For every attribute descriptor with a number format on the result header, the element headers get a
1329
+ * `formattedName` holding the value
1330
+ * formatted the same way measure values are. Element headers that already have a `formattedName` (dates)
1331
+ * and values that are not numbers are left untouched. The raw element `name` and `uri` stay as they are,
1332
+ * so drilling, sorting and grouping keep working on the original values.
1333
+ *
1334
+ * The original data view is not mutated; when nothing needs formatting it is returned as is.
1335
+ *
1336
+ * @param dataView - data view to format
1337
+ * @param valueFormatter - formatter applying a number format to a value; use one that does not escape
1338
+ * HTML, the display sites escape on their own
1339
+ * @internal
1340
+ */
1341
+ export declare function formatAttributeHeaderValues(dataView: IDataView, valueFormatter: ValueFormatter): IDataView;
1342
+
1343
+ /**
1344
+ * Formats the raw element value if the whole value is a number; empty values and values that are not
1345
+ * numbers (e.g. "12 Main St", "2011-04" or "0x1A") are left alone, so that they are never mangled.
1346
+ *
1347
+ * @param name - raw element value
1348
+ * @param format - number format to apply
1349
+ * @param valueFormatter - formatter applying the number format
1350
+ * @internal
1351
+ */
1352
+ export declare function formatAttributeValue(name: string | null, format: string, valueFormatter: ValueFormatter): string | null;
1353
+
1295
1354
  /**
1296
1355
  * Usage: first define your component with generics and a second argument `ref`,
1297
1356
  * then define another const wrapping the original component with `forwardRefWithGenerics`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui",
3
- "version": "11.65.0-alpha.0",
3
+ "version": "11.65.0-alpha.10",
4
4
  "description": "GoodData.UI SDK - Core",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -42,9 +42,9 @@
42
42
  "ts-invariant": "0.10.3",
43
43
  "tslib": "2.8.1",
44
44
  "uuid": "11.1.1",
45
- "@gooddata/sdk-backend-spi": "11.65.0-alpha.0",
46
- "@gooddata/util": "11.65.0-alpha.0",
47
- "@gooddata/sdk-model": "11.65.0-alpha.0"
45
+ "@gooddata/sdk-backend-spi": "11.65.0-alpha.10",
46
+ "@gooddata/sdk-model": "11.65.0-alpha.10",
47
+ "@gooddata/util": "11.65.0-alpha.10"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@microsoft/api-documenter": "7.30.16",
@@ -83,13 +83,13 @@
83
83
  "tsd": "0.32.0",
84
84
  "typescript": "7.0.2",
85
85
  "vitest": "5.0.4",
86
- "@gooddata/i18n-toolkit": "11.65.0-alpha.0",
87
- "@gooddata/eslint-config": "11.65.0-alpha.0",
88
- "@gooddata/oxlint-config": "11.65.0-alpha.0",
89
- "@gooddata/reference-workspace": "11.65.0-alpha.0",
90
- "@gooddata/sdk-backend-mockingbird": "11.65.0-alpha.0",
91
- "@gooddata/stylelint-config": "11.65.0-alpha.0",
92
- "@gooddata/sdk-backend-base": "11.65.0-alpha.0"
86
+ "@gooddata/eslint-config": "11.65.0-alpha.10",
87
+ "@gooddata/i18n-toolkit": "11.65.0-alpha.10",
88
+ "@gooddata/oxlint-config": "11.65.0-alpha.10",
89
+ "@gooddata/reference-workspace": "11.65.0-alpha.10",
90
+ "@gooddata/sdk-backend-base": "11.65.0-alpha.10",
91
+ "@gooddata/sdk-backend-mockingbird": "11.65.0-alpha.10",
92
+ "@gooddata/stylelint-config": "11.65.0-alpha.10"
93
93
  },
94
94
  "peerDependencies": {
95
95
  "react": "^18.0.0 || ^19.0.0",