@gooddata/sdk-ui 10.38.0 → 10.39.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.
Files changed (37) hide show
  1. package/esm/base/index.d.ts +5 -1
  2. package/esm/base/index.d.ts.map +1 -1
  3. package/esm/base/index.js +4 -1
  4. package/esm/base/index.js.map +1 -1
  5. package/esm/base/localization/bundles/en-US.json +50 -6
  6. package/esm/base/localization/bundles/en-US.localization-bundle.d.ts +13 -2
  7. package/esm/base/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  8. package/esm/base/localization/bundles/en-US.localization-bundle.js +14 -3
  9. package/esm/base/localization/bundles/en-US.localization-bundle.js.map +1 -1
  10. package/esm/base/react/contextStore.d.ts.map +1 -1
  11. package/esm/base/react/contextStore.js +2 -1
  12. package/esm/base/react/contextStore.js.map +1 -1
  13. package/esm/base/react/legacy/withEntireDataView.d.ts +1 -1
  14. package/esm/base/react/legacy/withEntireDataView.d.ts.map +1 -1
  15. package/esm/base/react/legacy/withEntireDataView.js.map +1 -1
  16. package/esm/base/react/validation/ValidationContextStore.d.ts +10 -0
  17. package/esm/base/react/validation/ValidationContextStore.d.ts.map +1 -0
  18. package/esm/base/react/validation/ValidationContextStore.js +69 -0
  19. package/esm/base/react/validation/ValidationContextStore.js.map +1 -0
  20. package/esm/base/react/validation/types.d.ts +51 -0
  21. package/esm/base/react/validation/types.d.ts.map +1 -0
  22. package/esm/base/react/validation/types.js +2 -0
  23. package/esm/base/react/validation/types.js.map +1 -0
  24. package/esm/base/react/validation/utils.d.ts +44 -0
  25. package/esm/base/react/validation/utils.d.ts.map +1 -0
  26. package/esm/base/react/validation/utils.js +74 -0
  27. package/esm/base/react/validation/utils.js.map +1 -0
  28. package/esm/base/results/tableData/interfaces/columns.d.ts +30 -0
  29. package/esm/base/results/tableData/interfaces/columns.d.ts.map +1 -1
  30. package/esm/base/results/tableData/interfaces/columns.js +33 -0
  31. package/esm/base/results/tableData/interfaces/columns.js.map +1 -1
  32. package/esm/base/results/tableData/interfaces/rows.d.ts +24 -0
  33. package/esm/base/results/tableData/interfaces/rows.d.ts.map +1 -1
  34. package/esm/base/results/tableData/interfaces/rows.js +30 -1
  35. package/esm/base/results/tableData/interfaces/rows.js.map +1 -1
  36. package/esm/sdk-ui.d.ts +175 -1
  37. package/package.json +8 -8
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export type IValidationSeverity = "error" | "warning" | "info";
5
+ /**
6
+ * @internal
7
+ */
8
+ export type IInvalidDatapoint = {
9
+ id: string;
10
+ severity: IValidationSeverity;
11
+ message: string;
12
+ };
13
+ /**
14
+ * @internal
15
+ */
16
+ export type IInvalidNode<Children extends Record<string, IInvalidNode<any>> = Record<string, IInvalidNode<any>>> = {
17
+ id: string;
18
+ invalidDatapoints: IInvalidDatapoint[];
19
+ children: Children;
20
+ };
21
+ /**
22
+ * @internal
23
+ */
24
+ export type IInvalidNodePath<T extends IInvalidNode> = [] | (T["children"] extends never ? never : {
25
+ [K in keyof T["children"]]: [K] | [K, ...IInvalidNodePath<T["children"][K]>];
26
+ }[keyof T["children"]] | [keyof T["children"]] | IUnionPaths<T>);
27
+ /**
28
+ * @internal
29
+ * Helper type to generate union paths at any level recursively
30
+ */
31
+ export type IUnionPaths<T extends IInvalidNode> = T["children"] extends never ? never : {
32
+ [K in keyof T["children"]]: T["children"][K]["children"] extends never ? never : [K, keyof T["children"][K]["children"]] | [K, ...IUnionPaths<T["children"][K]>];
33
+ }[keyof T["children"]];
34
+ /**
35
+ * @internal
36
+ */
37
+ export type IInvalidNodeAtPath<T extends IInvalidNode, Path extends IInvalidNodePath<T>> = Path extends [] ? T : Path extends [infer K, ...infer Rest] ? K extends keyof T["children"] ? T["children"][K] extends IInvalidNode ? Rest extends IInvalidNodePath<T["children"][K]> ? IInvalidNodeAtPath<T["children"][K], Rest> : never : T["children"][K] : never : never;
38
+ /**
39
+ * @internal
40
+ */
41
+ export type IValidationContextValue<T extends IInvalidNode> = {
42
+ rootNode: T;
43
+ setInvalidDatapoints: <P extends IInvalidNodePath<T>>(setter: (currentNode: IInvalidNodeAtPath<T, P>) => Array<IInvalidDatapoint | undefined | null | false>, path?: P) => void;
44
+ getInvalidDatapoints: <P extends IInvalidNodePath<T>>(args?: {
45
+ path?: P;
46
+ recursive?: boolean;
47
+ }) => IInvalidDatapoint[];
48
+ isValid: boolean;
49
+ registerChild: (child: IInvalidNode) => () => void;
50
+ };
51
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/react/validation/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/base/react/validation/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { IInvalidDatapoint, IInvalidNode, IInvalidNodeAtPath, IInvalidNodePath, IValidationSeverity } from "./types.js";
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const validationSeverity: ["info", "warning", "error"];
6
+ /**
7
+ * @internal
8
+ */
9
+ export declare const validationSeverityNum: (severity: IValidationSeverity) => number;
10
+ /**
11
+ * @internal
12
+ */
13
+ export declare const getInvalidNodeAtPath: <T extends IInvalidNode<any>, P extends IInvalidNodePath<T>>(node: T, path?: P) => IInvalidNodeAtPath<T, P>;
14
+ /**
15
+ * @internal
16
+ */
17
+ export declare const getInvalidDatapointsInTree: <T extends IInvalidNode<any>>(rootNode: T) => IInvalidDatapoint[];
18
+ /**
19
+ * @internal
20
+ */
21
+ export declare const createInvalidDatapoint: (input?: Partial<IInvalidDatapoint>) => {
22
+ id: string;
23
+ severity: IValidationSeverity;
24
+ message: string;
25
+ };
26
+ /**
27
+ * @internal
28
+ */
29
+ export declare function createInvalidNode(): IInvalidNode<Record<string, never>>;
30
+ /**
31
+ * @internal
32
+ */
33
+ export declare function createInvalidNode<T extends Record<string, IInvalidNode<any>>>(input: Partial<IInvalidNode<T>> & {
34
+ children: T;
35
+ }): IInvalidNode<T>;
36
+ /**
37
+ * @internal
38
+ */
39
+ export declare function createInvalidNode<T extends Record<string, IInvalidNode<any>> = Record<string, never>>(input?: Partial<IInvalidNode<T>>): IInvalidNode<T>;
40
+ /**
41
+ * @internal
42
+ */
43
+ export declare const getUpdatedInvalidTree: <T extends IInvalidNode<any>, P extends IInvalidNodePath<T>>(rootNode: T, updater: (node: IInvalidNodeAtPath<T, P>) => IInvalidNodeAtPath<T, P>, path?: P) => T;
44
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/base/react/validation/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACH,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACtB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,eAAO,MAAM,kBAAkB,8BAAwE,CAAC;AAExG;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,mBAAmB,WAAyC,CAAC;AAE7G;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAC3F,MAAM,CAAC,EACP,OAAM,CAAW,KAClB,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAazB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,KAAG,iBAAiB,EAOtG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAO,OAAO,CAAC,iBAAiB,CAAM;;;;CAM3C,CAAC;AAEnC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACzE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EACzE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,CAAC,CAAA;CAAE,GAClD,YAAY,CAAC,CAAC,CAAC,CAAC;AACnB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACjG,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACjC,YAAY,CAAC,CAAC,CAAC,CAAC;AAenB;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAC5F,UAAU,CAAC,EACX,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EACrE,OAAM,CAAW,KAClB,CAqBF,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { v4 as uuid } from "uuid";
2
+ /**
3
+ * @internal
4
+ */
5
+ export const validationSeverity = ["info", "warning", "error"];
6
+ /**
7
+ * @internal
8
+ */
9
+ export const validationSeverityNum = (severity) => validationSeverity.indexOf(severity);
10
+ /**
11
+ * @internal
12
+ */
13
+ export const getInvalidNodeAtPath = (node, path = []) => {
14
+ // @ts-expect-error - TS has problems with potential depth of rest
15
+ const [key, ...rest] = path;
16
+ if (key === undefined) {
17
+ return node;
18
+ }
19
+ if (!key || !(key in node.children)) {
20
+ throw new Error(`Invalid path ${path}`);
21
+ }
22
+ return getInvalidNodeAtPath(node.children[key], rest);
23
+ };
24
+ /**
25
+ * @internal
26
+ */
27
+ export const getInvalidDatapointsInTree = (rootNode) => {
28
+ return [
29
+ ...rootNode.invalidDatapoints,
30
+ ...Object.values(rootNode.children ?? {}).flatMap((subNode) => getInvalidDatapointsInTree(subNode)),
31
+ ];
32
+ };
33
+ /**
34
+ * @internal
35
+ */
36
+ export const createInvalidDatapoint = (input = {}) => ({
37
+ message: "",
38
+ severity: "error",
39
+ id: `invalid-datapoint-${uuid()}`,
40
+ ...input,
41
+ });
42
+ /**
43
+ * @internal
44
+ */
45
+ export function createInvalidNode(input = {}) {
46
+ return {
47
+ id: `invalid-node-${uuid()}`,
48
+ invalidDatapoints: [],
49
+ children: {},
50
+ ...input,
51
+ };
52
+ }
53
+ /**
54
+ * @internal
55
+ */
56
+ export const getUpdatedInvalidTree = (rootNode, updater, path = []) => {
57
+ // @ts-expect-error - TS has problems with potential depth of rest
58
+ const [key, ...rest] = path;
59
+ if (key === undefined) {
60
+ return updater(rootNode);
61
+ }
62
+ if (!key || !(key in rootNode.children)) {
63
+ throw new Error(`Invalid path ${path}`);
64
+ }
65
+ const updatedChild = getUpdatedInvalidTree(rootNode.children[key], updater, rest);
66
+ return {
67
+ ...rootNode,
68
+ children: {
69
+ ...rootNode.children,
70
+ [key]: updatedChild,
71
+ },
72
+ };
73
+ };
74
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/base/react/validation/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAA0C,CAAC;AAExG;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAA6B,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE7G;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,IAAO,EACP,OAAU,EAAO,EACO,EAAE;IAC1B,kEAAkE;IAClE,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAE5B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,IAAgC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAW,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAA8B,QAAW,EAAuB,EAAE;IACxG,OAAO;QACH,GAAG,QAAQ,CAAC,iBAAiB;QAC7B,GAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAoB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9E,0BAA0B,CAAC,OAAO,CAAC,CACtC;KACJ,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAoC,EAAE,EAAE,EAAE,CAC7E,CAAC;IACG,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,OAAO;IACjB,EAAE,EAAE,qBAAqB,IAAI,EAAE,EAAE;IACjC,GAAG,KAAK;CACX,CAA6B,CAAC;AAkBnC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC7B,QAAkC,EAAE;IAEpC,OAAO;QACH,EAAE,EAAE,gBAAgB,IAAI,EAAE,EAAE;QAC5B,iBAAiB,EAAE,EAAE;QACrB,QAAQ,EAAE,EAAO;QACjB,GAAG,KAAK;KACe,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,QAAW,EACX,OAAqE,EACrE,OAAU,EAAO,EAChB,EAAE;IACH,kEAAkE;IAClE,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAE5B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,QAAoC,CAAM,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAW,CAAC,CAAC;IAEzF,OAAO;QACH,GAAG,QAAQ;QACX,QAAQ,EAAE;YACN,GAAG,QAAQ,CAAC,QAAQ;YACpB,CAAC,GAAG,CAAC,EAAE,YAAY;SACtB;KACC,CAAC;AACX,CAAC,CAAC"}
@@ -418,4 +418,34 @@ export declare function isSubtotalColumnDefinition(columnDefinition: unknown): c
418
418
  * @alpha
419
419
  */
420
420
  export declare function isGrandTotalColumnDefinition(columnDefinition: unknown): columnDefinition is ITableGrandTotalColumnDefinition;
421
+ /**
422
+ * Type guard to check if a value column definition is a transposed case (measures in rows)
423
+ * @alpha
424
+ */
425
+ export declare function isTransposedValueColumnDefinition(columnDefinition: unknown): columnDefinition is ITableValueColumnDefinition & {
426
+ isEmpty: false;
427
+ isTransposed: true;
428
+ attributeHeader: IResultAttributeHeader;
429
+ attributeDescriptor: IAttributeDescriptor;
430
+ };
431
+ /**
432
+ * Type guard to check if a value column definition is a standard pivoting case
433
+ * @alpha
434
+ */
435
+ export declare function isStandardValueColumnDefinition(columnDefinition: unknown): columnDefinition is ITableValueColumnDefinition & {
436
+ isEmpty: false;
437
+ isTransposed: false;
438
+ measureHeader: IResultMeasureHeader;
439
+ measureDescriptor: IMeasureDescriptor;
440
+ };
441
+ /**
442
+ * Type guard to check if a value column definition is an empty pivoting case
443
+ * @alpha
444
+ */
445
+ export declare function isEmptyValueColumnDefinition(columnDefinition: unknown): columnDefinition is ITableValueColumnDefinition & {
446
+ isEmpty: true;
447
+ isTransposed: false;
448
+ attributeHeader: IResultAttributeHeader;
449
+ attributeDescriptor: IAttributeDescriptor;
450
+ };
421
451
  //# sourceMappingURL=columns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../../src/base/results/tableData/interfaces/columns.ts"],"names":[],"mappings":"AACA,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,MAAM,sBAAsB,GAC5B,+BAA+B,GAC/B,2BAA2B,GAC3B,wCAAwC,GACxC,uCAAuC,GACvC,8BAA8B,GAC9B,gCAAgC,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,+BAA+B;IAC5C;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,mBAAmB,EAAE,oBAAoB,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACtC;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,WAAW,EAAE,qBAAqB,EAAE,CAAC;CACxC,GAAG,CACE;;GAEC,CACH;IACM,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,IAAI,CAAC;IACnB,eAAe,EAAE,sBAAsB,CAAC;IACxC,mBAAmB,EAAE,oBAAoB,CAAC;CAC7C;AACH;;GAEG;GACD;IACI,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,KAAK,CAAC;IACpB,aAAa,EAAE,oBAAoB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;CACzC;AACH;;GAEG;GACD;IACI,OAAO,EAAE,IAAI,CAAC;IACd,YAAY,EAAE,KAAK,CAAC;IACpB,eAAe,EAAE,sBAAsB,CAAC;IACxC,mBAAmB,EAAE,oBAAoB,CAAC;CAC7C,CACN,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,8BAA8B,GAAG;IACzC;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC;IAEjB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,WAAW,EAAE,qBAAqB,EAAE,CAAC;CACxC,GAAG,CACE;;GAEC,CAAC;IACE,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,kBAAkB,CAAC;IAChC,mBAAmB,EAAE,oBAAoB,CAAC;CAC7C;AACH;;GAEG;GACD;IACI,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,KAAK,CAAC;IACpB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,kBAAkB,CAAC;CACzC,CACN,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC3C;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;IAEnB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,WAAW,EAAE,qBAAqB,EAAE,CAAC;CACxC,GAAG,CACE;;GAEC,CAAC;IACE,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,kBAAkB,CAAC;IAChC,mBAAmB,EAAE,oBAAoB,CAAC;CAC7C,GACD;;GAEC,CAAC;IACE,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,KAAK,CAAC;IACpB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,kBAAkB,CAAC;CACzC,CACN,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,wCAAwC;IACrD;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAE3B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,sBAAsB,EAAE,uBAAuB,CAAC;IAEhD;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,uCAAuC;IACpD;;;OAGG;IACH,IAAI,EAAE,mBAAmB,CAAC;IAE1B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,sBAAsB,EAAE,uBAAuB,CAAC;CACnD;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACvC,gBAAgB,EAAE,OAAO,GAC1B,gBAAgB,IAAI,+BAA+B,CAKrD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,gBAAgB,EAAE,OAAO,GAC1B,gBAAgB,IAAI,2BAA2B,CAEjD;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAChD,gBAAgB,EAAE,OAAO,GAC1B,gBAAgB,IAAI,wCAAwC,CAK9D;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAC/C,gBAAgB,EAAE,OAAO,GAC1B,gBAAgB,IAAI,uCAAuC,CAK7D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACtC,gBAAgB,EAAE,OAAO,GAC1B,gBAAgB,IAAI,8BAA8B,CAIpD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CACxC,gBAAgB,EAAE,OAAO,GAC1B,gBAAgB,IAAI,gCAAgC,CAKtD"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../../src/base/results/tableData/interfaces/columns.ts"],"names":[],"mappings":"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"}
@@ -45,4 +45,37 @@ export function isGrandTotalColumnDefinition(columnDefinition) {
45
45
  return (!isEmpty(columnDefinition) &&
46
46
  columnDefinition.type === "grandTotal");
47
47
  }
48
+ /**
49
+ * Type guard to check if a value column definition is a transposed case (measures in rows)
50
+ * @alpha
51
+ */
52
+ export function isTransposedValueColumnDefinition(columnDefinition) {
53
+ return (isValueColumnDefinition(columnDefinition) &&
54
+ !columnDefinition.isEmpty &&
55
+ columnDefinition.isTransposed === true &&
56
+ "attributeHeader" in columnDefinition &&
57
+ "attributeDescriptor" in columnDefinition);
58
+ }
59
+ /**
60
+ * Type guard to check if a value column definition is a standard pivoting case
61
+ * @alpha
62
+ */
63
+ export function isStandardValueColumnDefinition(columnDefinition) {
64
+ return (isValueColumnDefinition(columnDefinition) &&
65
+ !columnDefinition.isEmpty &&
66
+ columnDefinition.isTransposed === false &&
67
+ "measureHeader" in columnDefinition &&
68
+ "measureDescriptor" in columnDefinition);
69
+ }
70
+ /**
71
+ * Type guard to check if a value column definition is an empty pivoting case
72
+ * @alpha
73
+ */
74
+ export function isEmptyValueColumnDefinition(columnDefinition) {
75
+ return (isValueColumnDefinition(columnDefinition) &&
76
+ columnDefinition.isEmpty === true &&
77
+ columnDefinition.isTransposed === false &&
78
+ "attributeHeader" in columnDefinition &&
79
+ "attributeDescriptor" in columnDefinition);
80
+ }
48
81
  //# sourceMappingURL=columns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../../../src/base/results/tableData/interfaces/columns.ts"],"names":[],"mappings":"AAUA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AA4axC;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACvC,gBAAyB;IAEzB,OAAO,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzB,gBAAoD,CAAC,IAAI,KAAK,WAAW,CAC7E,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACnC,gBAAyB;IAEzB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAK,gBAAgD,CAAC,IAAI,KAAK,OAAO,CAAC;AAC5G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAChD,gBAAyB;IAEzB,OAAO,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzB,gBAA6D,CAAC,IAAI,KAAK,oBAAoB,CAC/F,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mCAAmC,CAC/C,gBAAyB;IAEzB,OAAO,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzB,gBAA4D,CAAC,IAAI,KAAK,mBAAmB,CAC7F,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACtC,gBAAyB;IAEzB,OAAO,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAK,gBAAmD,CAAC,IAAI,KAAK,UAAU,CACzG,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CACxC,gBAAyB;IAEzB,OAAO,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzB,gBAAqD,CAAC,IAAI,KAAK,YAAY,CAC/E,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../../../src/base/results/tableData/interfaces/columns.ts"],"names":[],"mappings":"AAUA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AA4axC;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACvC,gBAAyB;IAEzB,OAAO,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzB,gBAAoD,CAAC,IAAI,KAAK,WAAW,CAC7E,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACnC,gBAAyB;IAEzB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAK,gBAAgD,CAAC,IAAI,KAAK,OAAO,CAAC;AAC5G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAChD,gBAAyB;IAEzB,OAAO,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzB,gBAA6D,CAAC,IAAI,KAAK,oBAAoB,CAC/F,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mCAAmC,CAC/C,gBAAyB;IAEzB,OAAO,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzB,gBAA4D,CAAC,IAAI,KAAK,mBAAmB,CAC7F,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACtC,gBAAyB;IAEzB,OAAO,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAK,gBAAmD,CAAC,IAAI,KAAK,UAAU,CACzG,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CACxC,gBAAyB;IAEzB,OAAO,CACH,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzB,gBAAqD,CAAC,IAAI,KAAK,YAAY,CAC/E,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAC7C,gBAAyB;IAOzB,OAAO,CACH,uBAAuB,CAAC,gBAAgB,CAAC;QACzC,CAAC,gBAAgB,CAAC,OAAO;QACzB,gBAAgB,CAAC,YAAY,KAAK,IAAI;QACtC,iBAAiB,IAAI,gBAAgB;QACrC,qBAAqB,IAAI,gBAAgB,CAC5C,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAC3C,gBAAyB;IAOzB,OAAO,CACH,uBAAuB,CAAC,gBAAgB,CAAC;QACzC,CAAC,gBAAgB,CAAC,OAAO;QACzB,gBAAgB,CAAC,YAAY,KAAK,KAAK;QACvC,eAAe,IAAI,gBAAgB;QACnC,mBAAmB,IAAI,gBAAgB,CAC1C,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CACxC,gBAAyB;IAOzB,OAAO,CACH,uBAAuB,CAAC,gBAAgB,CAAC;QACzC,gBAAgB,CAAC,OAAO,KAAK,IAAI;QACjC,gBAAgB,CAAC,YAAY,KAAK,KAAK;QACvC,iBAAiB,IAAI,gBAAgB;QACrC,qBAAqB,IAAI,gBAAgB,CAC5C,CAAC;AACN,CAAC"}
@@ -52,4 +52,28 @@ export interface ITableGrandTotalRowDefinition {
52
52
  totalType: TotalType;
53
53
  rowGrandTotalIndex: number;
54
54
  }
55
+ /**
56
+ * Type guard to check if a row definition is a value row.
57
+ *
58
+ * @param row - The row definition to check
59
+ * @returns true if the row is a value row
60
+ * @alpha
61
+ */
62
+ export declare function isValueRowDefinition(row: ITableRowDefinition): row is ITableValueRowDefinition;
63
+ /**
64
+ * Type guard to check if a row definition is a subtotal row.
65
+ *
66
+ * @param row - The row definition to check
67
+ * @returns true if the row is a subtotal row
68
+ * @alpha
69
+ */
70
+ export declare function isSubtotalRowDefinition(row: ITableRowDefinition): row is ITableSubtotalRowDefinition;
71
+ /**
72
+ * Type guard to check if a row definition is a grand total row.
73
+ *
74
+ * @param row - The row definition to check
75
+ * @returns true if the row is a grand total row
76
+ * @alpha
77
+ */
78
+ export declare function isGrandTotalRowDefinition(row: ITableRowDefinition): row is ITableGrandTotalRowDefinition;
55
79
  //# sourceMappingURL=rows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../../../src/base/results/tableData/interfaces/rows.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,mBAAmB,GACzB,wBAAwB,GACxB,2BAA2B,GAC3B,6BAA6B,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACrC;AACD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,oBAAoB,CAAC;IAC1C,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;CAC9B"}
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../../../src/base/results/tableData/interfaces/rows.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,mBAAmB,GACzB,wBAAwB,GACxB,2BAA2B,GAC3B,6BAA6B,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACrC;AACD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,oBAAoB,CAAC;IAC1C,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,GAAG,GAAG,IAAI,wBAAwB,CAE9F;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,mBAAmB,GAAG,GAAG,IAAI,2BAA2B,CAEpG;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,mBAAmB,GAAG,GAAG,IAAI,6BAA6B,CAExG"}
@@ -1,2 +1,31 @@
1
- export {};
1
+ /**
2
+ * Type guard to check if a row definition is a value row.
3
+ *
4
+ * @param row - The row definition to check
5
+ * @returns true if the row is a value row
6
+ * @alpha
7
+ */
8
+ export function isValueRowDefinition(row) {
9
+ return row.type === "value";
10
+ }
11
+ /**
12
+ * Type guard to check if a row definition is a subtotal row.
13
+ *
14
+ * @param row - The row definition to check
15
+ * @returns true if the row is a subtotal row
16
+ * @alpha
17
+ */
18
+ export function isSubtotalRowDefinition(row) {
19
+ return row.type === "subtotal";
20
+ }
21
+ /**
22
+ * Type guard to check if a row definition is a grand total row.
23
+ *
24
+ * @param row - The row definition to check
25
+ * @returns true if the row is a grand total row
26
+ * @alpha
27
+ */
28
+ export function isGrandTotalRowDefinition(row) {
29
+ return row.type === "grandTotal";
30
+ }
2
31
  //# sourceMappingURL=rows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rows.js","sourceRoot":"","sources":["../../../../../src/base/results/tableData/interfaces/rows.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"rows.js","sourceRoot":"","sources":["../../../../../src/base/results/tableData/interfaces/rows.ts"],"names":[],"mappings":"AA8DA;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAwB;IACzD,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAwB;IAC5D,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAwB;IAC9D,OAAO,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;AACrC,CAAC"}
package/esm/sdk-ui.d.ts CHANGED
@@ -28,6 +28,7 @@ import { IClusteringConfig } from '@gooddata/sdk-backend-spi';
28
28
  import { IColor } from '@gooddata/sdk-model';
29
29
  import { IColorDescriptor } from '@gooddata/sdk-model';
30
30
  import { IColorPalette } from '@gooddata/sdk-model';
31
+ import { IContextStore as IContextStore_2 } from '../contextStore.js';
31
32
  import { IDataView } from '@gooddata/sdk-backend-spi';
32
33
  import { IDateFilter } from '@gooddata/sdk-model';
33
34
  import { IDimension } from '@gooddata/sdk-model';
@@ -432,6 +433,32 @@ export declare function createExportFunction(result: IExecutionResult, exportTit
432
433
  */
433
434
  export declare function createIntlMock(customMessages?: {}, locale?: string): IntlShape;
434
435
 
436
+ /**
437
+ * @internal
438
+ */
439
+ export declare const createInvalidDatapoint: (input?: Partial<IInvalidDatapoint>) => {
440
+ id: string;
441
+ severity: IValidationSeverity;
442
+ message: string;
443
+ };
444
+
445
+ /**
446
+ * @internal
447
+ */
448
+ export declare function createInvalidNode(): IInvalidNode<Record<string, never>>;
449
+
450
+ /**
451
+ * @internal
452
+ */
453
+ export declare function createInvalidNode<T extends Record<string, IInvalidNode<any>>>(input: Partial<IInvalidNode<T>> & {
454
+ children: T;
455
+ }): IInvalidNode<T>;
456
+
457
+ /**
458
+ * @internal
459
+ */
460
+ export declare function createInvalidNode<T extends Record<string, IInvalidNode<any>> = Record<string, never>>(input?: Partial<IInvalidNode<T>>): IInvalidNode<T>;
461
+
435
462
  /**
436
463
  * Creates value formatter that uses `@gooddata/number-formatter` to format raw measure values according
437
464
  * to the format string.
@@ -1155,6 +1182,16 @@ export declare function getIntersectionPartAfter(intersection: IDrillEventInters
1155
1182
  */
1156
1183
  export declare function getIntl(locale?: ILocale): IntlShape;
1157
1184
 
1185
+ /**
1186
+ * @internal
1187
+ */
1188
+ export declare const getInvalidDatapointsInTree: <T extends IInvalidNode<any>>(rootNode: T) => IInvalidDatapoint[];
1189
+
1190
+ /**
1191
+ * @internal
1192
+ */
1193
+ export declare const getInvalidNodeAtPath: <T extends IInvalidNode<any>, P extends IInvalidNodePath<T>>(node: T, path?: P) => IInvalidNodeAtPath<T, P>;
1194
+
1158
1195
  /**
1159
1196
  * Get formatted name of provided mapping header.
1160
1197
  *
@@ -1204,6 +1241,11 @@ export declare function getTotalInfo(attributeHeaders: IResultAttributeHeader[])
1204
1241
  */
1205
1242
  export declare function getTranslation(translationId: string | MessageDescriptor, locale: ILocale, values?: {}): string;
1206
1243
 
1244
+ /**
1245
+ * @internal
1246
+ */
1247
+ export declare const getUpdatedInvalidTree: <T extends IInvalidNode<any>, P extends IInvalidNodePath<T>>(rootNode: T, updater: (node: IInvalidNodeAtPath<T, P>) => IInvalidNodeAtPath<T, P>, path?: P) => T;
1248
+
1207
1249
  /**
1208
1250
  * @internal
1209
1251
  */
@@ -2423,6 +2465,36 @@ export declare interface IIntlWrapperProps {
2423
2465
  children?: React_2.ReactNode;
2424
2466
  }
2425
2467
 
2468
+ /**
2469
+ * @internal
2470
+ */
2471
+ export declare type IInvalidDatapoint = {
2472
+ id: string;
2473
+ severity: IValidationSeverity;
2474
+ message: string;
2475
+ };
2476
+
2477
+ /**
2478
+ * @internal
2479
+ */
2480
+ export declare type IInvalidNode<Children extends Record<string, IInvalidNode<any>> = Record<string, IInvalidNode<any>>> = {
2481
+ id: string;
2482
+ invalidDatapoints: IInvalidDatapoint[];
2483
+ children: Children;
2484
+ };
2485
+
2486
+ /**
2487
+ * @internal
2488
+ */
2489
+ export declare type IInvalidNodeAtPath<T extends IInvalidNode, Path extends IInvalidNodePath<T>> = Path extends [] ? T : Path extends [infer K, ...infer Rest] ? K extends keyof T["children"] ? T["children"][K] extends IInvalidNode ? Rest extends IInvalidNodePath<T["children"][K]> ? IInvalidNodeAtPath<T["children"][K], Rest> : never : T["children"][K] : never : never;
2490
+
2491
+ /**
2492
+ * @internal
2493
+ */
2494
+ export declare type IInvalidNodePath<T extends IInvalidNode> = [] | (T["children"] extends never ? never : {
2495
+ [K in keyof T["children"]]: [K] | [K, ...IInvalidNodePath<T["children"][K]>];
2496
+ }[keyof T["children"]] | [keyof T["children"]] | IUnionPaths<T>);
2497
+
2426
2498
  /**
2427
2499
  * Props of the {@link Kpi} component.
2428
2500
  * @public
@@ -3020,6 +3092,17 @@ export declare function isDrillIntersectionAttributeItem(header: DrillEventInter
3020
3092
  */
3021
3093
  export declare function isDynamicScriptLoadSdkError(obj: unknown): obj is DynamicScriptLoadSdkError;
3022
3094
 
3095
+ /**
3096
+ * Type guard to check if a value column definition is an empty pivoting case
3097
+ * @alpha
3098
+ */
3099
+ export declare function isEmptyValueColumnDefinition(columnDefinition: unknown): columnDefinition is ITableValueColumnDefinition & {
3100
+ isEmpty: true;
3101
+ isTransposed: false;
3102
+ attributeHeader: IResultAttributeHeader;
3103
+ attributeDescriptor: IAttributeDescriptor;
3104
+ };
3105
+
3023
3106
  export { ISeparators }
3024
3107
 
3025
3108
  /**
@@ -3061,6 +3144,15 @@ export declare function isGoodDataSdkError(obj: unknown): obj is GoodDataSdkErro
3061
3144
  */
3062
3145
  export declare function isGrandTotalColumnDefinition(columnDefinition: unknown): columnDefinition is ITableGrandTotalColumnDefinition;
3063
3146
 
3147
+ /**
3148
+ * Type guard to check if a row definition is a grand total row.
3149
+ *
3150
+ * @param row - The row definition to check
3151
+ * @returns true if the row is a grand total row
3152
+ * @alpha
3153
+ */
3154
+ export declare function isGrandTotalRowDefinition(row: ITableRowDefinition): row is ITableGrandTotalRowDefinition;
3155
+
3064
3156
  /**
3065
3157
  * Typeguard checking whether the object is an {@link IHeaderPredicate} instance.
3066
3158
  * @public
@@ -3125,12 +3217,32 @@ export declare function isProtectedReport(obj: unknown): obj is ProtectedReportS
3125
3217
  */
3126
3218
  export declare function isSomeHeaderPredicateMatched(drillablePredicates: IHeaderPredicate[], header: IMappingHeader, dv: DataViewFacade): boolean;
3127
3219
 
3220
+ /**
3221
+ * Type guard to check if a value column definition is a standard pivoting case
3222
+ * @alpha
3223
+ */
3224
+ export declare function isStandardValueColumnDefinition(columnDefinition: unknown): columnDefinition is ITableValueColumnDefinition & {
3225
+ isEmpty: false;
3226
+ isTransposed: false;
3227
+ measureHeader: IResultMeasureHeader;
3228
+ measureDescriptor: IMeasureDescriptor;
3229
+ };
3230
+
3128
3231
  /**
3129
3232
  * Type guard to check if a column definition is a subtotal column
3130
3233
  * @alpha
3131
3234
  */
3132
3235
  export declare function isSubtotalColumnDefinition(columnDefinition: unknown): columnDefinition is ITableSubtotalColumnDefinition;
3133
3236
 
3237
+ /**
3238
+ * Type guard to check if a row definition is a subtotal row.
3239
+ *
3240
+ * @param row - The row definition to check
3241
+ * @returns true if the row is a subtotal row
3242
+ * @alpha
3243
+ */
3244
+ export declare function isSubtotalRowDefinition(row: ITableRowDefinition): row is ITableSubtotalRowDefinition;
3245
+
3134
3246
  /**
3135
3247
  * Type guard checking whether input is an instance of {@link ITableAttributeHeaderValue}
3136
3248
  *
@@ -3194,6 +3306,17 @@ export declare function isTableSubtotalMeasureValue(obj: unknown): obj is ITable
3194
3306
  */
3195
3307
  export declare function isTableTotalHeaderValue(obj: unknown): obj is ITableTotalHeaderValue;
3196
3308
 
3309
+ /**
3310
+ * Type guard to check if a value column definition is a transposed case (measures in rows)
3311
+ * @alpha
3312
+ */
3313
+ export declare function isTransposedValueColumnDefinition(columnDefinition: unknown): columnDefinition is ITableValueColumnDefinition & {
3314
+ isEmpty: false;
3315
+ isTransposed: true;
3316
+ attributeHeader: IResultAttributeHeader;
3317
+ attributeDescriptor: IAttributeDescriptor;
3318
+ };
3319
+
3197
3320
  /**
3198
3321
  * Typeguard checking whether input is an instance of {@link UnauthorizedSdkError};
3199
3322
  *
@@ -3214,6 +3337,15 @@ export declare function isUnknownSdkError(obj: unknown): obj is UnexpectedSdkErr
3214
3337
  */
3215
3338
  export declare function isValueColumnDefinition(columnDefinition: unknown): columnDefinition is ITableValueColumnDefinition;
3216
3339
 
3340
+ /**
3341
+ * Type guard to check if a row definition is a value row.
3342
+ *
3343
+ * @param row - The row definition to check
3344
+ * @returns true if the row is a value row
3345
+ * @alpha
3346
+ */
3347
+ export declare function isValueRowDefinition(row: ITableRowDefinition): row is ITableValueRowDefinition;
3348
+
3217
3349
  /**
3218
3350
  * Defines a column that shows row attribute values (like "Country" or "City").
3219
3351
  *
@@ -4328,6 +4460,14 @@ export declare interface ITranslationsProviderOwnProps {
4328
4460
  */
4329
4461
  export declare type ITranslationsProviderProps = ITranslationsProviderOwnProps & WrappedComponentProps;
4330
4462
 
4463
+ /**
4464
+ * @internal
4465
+ * Helper type to generate union paths at any level recursively
4466
+ */
4467
+ export declare type IUnionPaths<T extends IInvalidNode> = T["children"] extends never ? never : {
4468
+ [K in keyof T["children"]]: T["children"][K]["children"] extends never ? never : [K, keyof T["children"][K]["children"]] | [K, ...IUnionPaths<T["children"][K]>];
4469
+ }[keyof T["children"]];
4470
+
4331
4471
  /**
4332
4472
  * React hook to obtain {@link IComposedPlaceholder} value.
4333
4473
  * @public
@@ -4488,6 +4628,25 @@ PlaceholderValue<T> | undefined,
4488
4628
  (valueOrUpdateCallback: ValueOrUpdateCallback<PlaceholderValue<T> | undefined>) => void
4489
4629
  ];
4490
4630
 
4631
+ /**
4632
+ * @internal
4633
+ */
4634
+ export declare type IValidationContextValue<T extends IInvalidNode> = {
4635
+ rootNode: T;
4636
+ setInvalidDatapoints: <P extends IInvalidNodePath<T>>(setter: (currentNode: IInvalidNodeAtPath<T, P>) => Array<IInvalidDatapoint | undefined | null | false>, path?: P) => void;
4637
+ getInvalidDatapoints: <P extends IInvalidNodePath<T>>(args?: {
4638
+ path?: P;
4639
+ recursive?: boolean;
4640
+ }) => IInvalidDatapoint[];
4641
+ isValid: boolean;
4642
+ registerChild: (child: IInvalidNode) => () => void;
4643
+ };
4644
+
4645
+ /**
4646
+ * @internal
4647
+ */
4648
+ export declare type IValidationSeverity = "error" | "warning" | "info";
4649
+
4491
4650
  /**
4492
4651
  * Super-interface for all visualization callbacks.
4493
4652
  *
@@ -5708,6 +5867,11 @@ export declare function useResolveValuesWithPlaceholders<T extends any[], C>(val
5708
5867
  */
5709
5868
  export declare function useResolveValueWithPlaceholders<T, C>(value: T, resolutionContext?: C): PlaceholderResolvedValue<T>;
5710
5869
 
5870
+ /**
5871
+ * @internal
5872
+ */
5873
+ export declare const useValidationContextValue: <T extends IInvalidNode>(initialValue: T) => IValidationContextValue<T>;
5874
+
5711
5875
  /**
5712
5876
  * Hook to get workspace instance provided to {@link WorkspaceProvider}.
5713
5877
  *
@@ -5756,6 +5920,16 @@ export declare const useWorkspace: (workspace?: string) => string | undefined;
5756
5920
  */
5757
5921
  export declare const useWorkspaceStrict: (workspace?: string, context?: string) => string;
5758
5922
 
5923
+ /**
5924
+ * @internal
5925
+ */
5926
+ export declare const ValidationContextStore: IContextStore_2<IValidationContextValue<any>>;
5927
+
5928
+ /**
5929
+ * @internal
5930
+ */
5931
+ export declare const validationSeverity: ["info", "warning", "error"];
5932
+
5759
5933
  /**
5760
5934
  * @public
5761
5935
  */
@@ -5862,7 +6036,7 @@ export declare function withContexts<T extends {
5862
6036
  * @param InnerComponent - component to wrap
5863
6037
  * @internal
5864
6038
  */
5865
- export declare function withEntireDataView<T extends IDataVisualizationProps>(InnerComponent: React_2.ComponentClass<T & ILoadingInjectedProps>): React_2.ComponentClass<T>;
6039
+ export declare function withEntireDataView<T extends IDataVisualizationProps>(InnerComponent: React_2.ComponentType<T & ILoadingInjectedProps>): React_2.ComponentType<T>;
5866
6040
 
5867
6041
  /**
5868
6042
  * A React HOC that for driving an execution to get data view that can be visualized.