@gooddata/sdk-ui-pivot 11.4.0 → 11.5.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 (139) hide show
  1. package/esm/next/PivotTableNext.d.ts.map +1 -1
  2. package/esm/next/PivotTableNext.js +10 -2
  3. package/esm/next/PivotTableNext.js.map +1 -1
  4. package/esm/next/components/Header/AttributeHeader.d.ts.map +1 -1
  5. package/esm/next/components/Header/AttributeHeader.js +15 -3
  6. package/esm/next/components/Header/AttributeHeader.js.map +1 -1
  7. package/esm/next/components/Header/EmptyMeasureGroupHeader.d.ts +2 -1
  8. package/esm/next/components/Header/EmptyMeasureGroupHeader.d.ts.map +1 -1
  9. package/esm/next/components/Header/EmptyMeasureGroupHeader.js +6 -2
  10. package/esm/next/components/Header/EmptyMeasureGroupHeader.js.map +1 -1
  11. package/esm/next/components/Header/EmptyMeasureGroupValueHeader.d.ts +8 -0
  12. package/esm/next/components/Header/EmptyMeasureGroupValueHeader.d.ts.map +1 -0
  13. package/esm/next/components/Header/EmptyMeasureGroupValueHeader.js +34 -0
  14. package/esm/next/components/Header/EmptyMeasureGroupValueHeader.js.map +1 -0
  15. package/esm/next/components/Header/MeasureGroupHeader.d.ts.map +1 -1
  16. package/esm/next/components/Header/MeasureGroupHeader.js +21 -2
  17. package/esm/next/components/Header/MeasureGroupHeader.js.map +1 -1
  18. package/esm/next/components/Header/MeasureHeader.d.ts.map +1 -1
  19. package/esm/next/components/Header/MeasureHeader.js +10 -1
  20. package/esm/next/components/Header/MeasureHeader.js.map +1 -1
  21. package/esm/next/components/Header/PivotGroupHeader.d.ts.map +1 -1
  22. package/esm/next/components/Header/PivotGroupHeader.js +8 -2
  23. package/esm/next/components/Header/PivotGroupHeader.js.map +1 -1
  24. package/esm/next/components/Header/utils/constructTextWrappingMenuItems.d.ts +5 -1
  25. package/esm/next/components/Header/utils/constructTextWrappingMenuItems.d.ts.map +1 -1
  26. package/esm/next/components/Header/utils/constructTextWrappingMenuItems.js +11 -7
  27. package/esm/next/components/Header/utils/constructTextWrappingMenuItems.js.map +1 -1
  28. package/esm/next/constants/agGridDefaultProps.d.ts.map +1 -1
  29. package/esm/next/constants/agGridDefaultProps.js +1 -0
  30. package/esm/next/constants/agGridDefaultProps.js.map +1 -1
  31. package/esm/next/features/data/dataViewToColDefs.d.ts.map +1 -1
  32. package/esm/next/features/data/dataViewToColDefs.js +17 -1
  33. package/esm/next/features/data/dataViewToColDefs.js.map +1 -1
  34. package/esm/next/features/pivoting/columnDefsToPivotGroups.d.ts.map +1 -1
  35. package/esm/next/features/pivoting/columnDefsToPivotGroups.js +2 -1
  36. package/esm/next/features/pivoting/columnDefsToPivotGroups.js.map +1 -1
  37. package/esm/next/features/resizing/createColumnWidthItemForColumnDefinition.d.ts.map +1 -1
  38. package/esm/next/features/resizing/createColumnWidthItemForColumnDefinition.js +2 -1
  39. package/esm/next/features/resizing/createColumnWidthItemForColumnDefinition.js.map +1 -1
  40. package/esm/next/features/textWrapping/allowCellWrappingByColumnDefinition.d.ts +29 -0
  41. package/esm/next/features/textWrapping/allowCellWrappingByColumnDefinition.d.ts.map +1 -0
  42. package/esm/next/features/textWrapping/allowCellWrappingByColumnDefinition.js +44 -0
  43. package/esm/next/features/textWrapping/allowCellWrappingByColumnDefinition.js.map +1 -0
  44. package/esm/next/features/textWrapping/applyTextWrappingToColDef.d.ts +9 -0
  45. package/esm/next/features/textWrapping/applyTextWrappingToColDef.d.ts.map +1 -1
  46. package/esm/next/features/textWrapping/applyTextWrappingToColDef.js +35 -9
  47. package/esm/next/features/textWrapping/applyTextWrappingToColDef.js.map +1 -1
  48. package/esm/next/features/textWrapping/applyTextWrappingToGroupDef.d.ts +14 -0
  49. package/esm/next/features/textWrapping/applyTextWrappingToGroupDef.d.ts.map +1 -0
  50. package/esm/next/features/textWrapping/applyTextWrappingToGroupDef.js +28 -0
  51. package/esm/next/features/textWrapping/applyTextWrappingToGroupDef.js.map +1 -0
  52. package/esm/next/features/textWrapping/createColumnTextWrappingItemForColumnDefinition.d.ts +28 -0
  53. package/esm/next/features/textWrapping/createColumnTextWrappingItemForColumnDefinition.d.ts.map +1 -0
  54. package/esm/next/features/textWrapping/createColumnTextWrappingItemForColumnDefinition.js +96 -0
  55. package/esm/next/features/textWrapping/createColumnTextWrappingItemForColumnDefinition.js.map +1 -0
  56. package/esm/next/features/textWrapping/getColumnTextWrappingItemForColumnDefinition.d.ts +9 -0
  57. package/esm/next/features/textWrapping/getColumnTextWrappingItemForColumnDefinition.d.ts.map +1 -0
  58. package/esm/next/features/textWrapping/getColumnTextWrappingItemForColumnDefinition.js +14 -0
  59. package/esm/next/features/textWrapping/getColumnTextWrappingItemForColumnDefinition.js.map +1 -0
  60. package/esm/next/features/textWrapping/getPivotGroupTextWrappingItemForColumnDefinition.d.ts +18 -0
  61. package/esm/next/features/textWrapping/getPivotGroupTextWrappingItemForColumnDefinition.d.ts.map +1 -0
  62. package/esm/next/features/textWrapping/getPivotGroupTextWrappingItemForColumnDefinition.js +99 -0
  63. package/esm/next/features/textWrapping/getPivotGroupTextWrappingItemForColumnDefinition.js.map +1 -0
  64. package/esm/next/features/textWrapping/isColumnTextWrappingItemMatch.d.ts +13 -0
  65. package/esm/next/features/textWrapping/isColumnTextWrappingItemMatch.d.ts.map +1 -0
  66. package/esm/next/features/textWrapping/isColumnTextWrappingItemMatch.js +18 -0
  67. package/esm/next/features/textWrapping/isColumnTextWrappingItemMatch.js.map +1 -0
  68. package/esm/next/features/transposition/measureGroupValueColDef.js +1 -1
  69. package/esm/next/features/transposition/measureGroupValueColDef.js.map +1 -1
  70. package/esm/next/hooks/columns/useUpdateAgGridColumnDefs.d.ts.map +1 -1
  71. package/esm/next/hooks/columns/useUpdateAgGridColumnDefs.js +18 -2
  72. package/esm/next/hooks/columns/useUpdateAgGridColumnDefs.js.map +1 -1
  73. package/esm/next/hooks/header/useHeaderDrilling.d.ts +2 -5
  74. package/esm/next/hooks/header/useHeaderDrilling.d.ts.map +1 -1
  75. package/esm/next/hooks/header/useHeaderDrilling.js +11 -13
  76. package/esm/next/hooks/header/useHeaderDrilling.js.map +1 -1
  77. package/esm/next/hooks/header/useHeaderMenu.d.ts +23 -3
  78. package/esm/next/hooks/header/useHeaderMenu.d.ts.map +1 -1
  79. package/esm/next/hooks/header/useHeaderMenu.js +9 -2
  80. package/esm/next/hooks/header/useHeaderMenu.js.map +1 -1
  81. package/esm/next/hooks/header/useHeaderMenuSorting.d.ts +2 -2
  82. package/esm/next/hooks/header/useHeaderMenuSorting.d.ts.map +1 -1
  83. package/esm/next/hooks/header/useHeaderMenuSorting.js +23 -24
  84. package/esm/next/hooks/header/useHeaderMenuSorting.js.map +1 -1
  85. package/esm/next/hooks/header/useHeaderMenuTextWrapping.d.ts +6 -5
  86. package/esm/next/hooks/header/useHeaderMenuTextWrapping.d.ts.map +1 -1
  87. package/esm/next/hooks/header/useHeaderMenuTextWrapping.js +341 -23
  88. package/esm/next/hooks/header/useHeaderMenuTextWrapping.js.map +1 -1
  89. package/esm/next/hooks/textWrapping/useUpdateTextWrapping.d.ts.map +1 -1
  90. package/esm/next/hooks/textWrapping/useUpdateTextWrapping.js +7 -2
  91. package/esm/next/hooks/textWrapping/useUpdateTextWrapping.js.map +1 -1
  92. package/esm/next/hooks/useAgGridReactProps.d.ts.map +1 -1
  93. package/esm/next/hooks/useAgGridReactProps.js +8 -0
  94. package/esm/next/hooks/useAgGridReactProps.js.map +1 -1
  95. package/esm/next/hooks/useCellSelectionProps.d.ts +8 -0
  96. package/esm/next/hooks/useCellSelectionProps.d.ts.map +1 -0
  97. package/esm/next/hooks/useCellSelectionProps.js +23 -0
  98. package/esm/next/hooks/useCellSelectionProps.js.map +1 -0
  99. package/esm/next/hooks/useClearCellSelection.d.ts +7 -0
  100. package/esm/next/hooks/useClearCellSelection.d.ts.map +1 -0
  101. package/esm/next/hooks/useClearCellSelection.js +15 -0
  102. package/esm/next/hooks/useClearCellSelection.js.map +1 -0
  103. package/esm/next/hooks/useClipboardProps.d.ts +13 -0
  104. package/esm/next/hooks/useClipboardProps.d.ts.map +1 -0
  105. package/esm/next/hooks/useClipboardProps.js +46 -0
  106. package/esm/next/hooks/useClipboardProps.js.map +1 -0
  107. package/esm/next/hooks/useHeaderComponents.d.ts.map +1 -1
  108. package/esm/next/hooks/useHeaderComponents.js +4 -1
  109. package/esm/next/hooks/useHeaderComponents.js.map +1 -1
  110. package/esm/next/hooks/useInteractionProps.d.ts.map +1 -1
  111. package/esm/next/hooks/useInteractionProps.js +15 -10
  112. package/esm/next/hooks/useInteractionProps.js.map +1 -1
  113. package/esm/next/index.d.ts +4 -2
  114. package/esm/next/index.d.ts.map +1 -1
  115. package/esm/next/index.js +2 -1
  116. package/esm/next/index.js.map +1 -1
  117. package/esm/next/types/agGrid.d.ts +16 -0
  118. package/esm/next/types/agGrid.d.ts.map +1 -1
  119. package/esm/next/types/agGrid.js +22 -0
  120. package/esm/next/types/agGrid.js.map +1 -1
  121. package/esm/next/types/cellSelection.d.ts +17 -0
  122. package/esm/next/types/cellSelection.d.ts.map +1 -0
  123. package/esm/next/types/cellSelection.js +3 -0
  124. package/esm/next/types/cellSelection.js.map +1 -0
  125. package/esm/next/types/locators.d.ts +119 -0
  126. package/esm/next/types/locators.d.ts.map +1 -0
  127. package/esm/next/types/locators.js +79 -0
  128. package/esm/next/types/locators.js.map +1 -0
  129. package/esm/next/types/public.d.ts +2 -1
  130. package/esm/next/types/public.d.ts.map +1 -1
  131. package/esm/next/types/public.js +1 -0
  132. package/esm/next/types/public.js.map +1 -1
  133. package/esm/next/types/resizing.d.ts +1 -117
  134. package/esm/next/types/resizing.d.ts.map +1 -1
  135. package/esm/next/types/resizing.js +2 -76
  136. package/esm/next/types/resizing.js.map +1 -1
  137. package/esm/next/types/textWrapping.d.ts +41 -2
  138. package/esm/next/types/textWrapping.d.ts.map +1 -1
  139. package/package.json +11 -11
@@ -0,0 +1,46 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useCallback } from "react";
3
+ import { useIntl } from "react-intl";
4
+ import { emptyHeaderTitleFromIntl, isTableAttributeHeaderValue } from "@gooddata/sdk-ui";
5
+ /**
6
+ * Returns ag-grid props with clipboard processing applied.
7
+ *
8
+ * This hook intercepts the copy operation (Cmd+C / Ctrl+C) to ensure empty values
9
+ * are copied with their display text instead of as empty strings:
10
+ * - Empty attribute values are copied as "(empty value)" or localized equivalent
11
+ * - Empty metric values are copied intentionally as empty
12
+ *
13
+ * @internal
14
+ */
15
+ export function useClipboardProps() {
16
+ const intl = useIntl();
17
+ const processCellForClipboard = useCallback((params) => {
18
+ const { value, column, node } = params;
19
+ // If there's a value, return it as-is
20
+ if (value) {
21
+ return value;
22
+ }
23
+ // Check if node exists
24
+ if (!node) {
25
+ return value;
26
+ }
27
+ // Get cell data to determine the type
28
+ const colId = column.getColId();
29
+ const cellData = node.data?.cellDataByColId?.[colId];
30
+ if (!cellData) {
31
+ return value;
32
+ }
33
+ // Check if this is an attribute cell with empty value
34
+ if (isTableAttributeHeaderValue(cellData)) {
35
+ return emptyHeaderTitleFromIntl(intl);
36
+ }
37
+ return value;
38
+ }, [intl]);
39
+ return useCallback((agGridReactProps) => {
40
+ return {
41
+ ...agGridReactProps,
42
+ processCellForClipboard,
43
+ };
44
+ }, [processCellForClipboard]);
45
+ }
46
+ //# sourceMappingURL=useClipboardProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useClipboardProps.js","sourceRoot":"","sources":["../../../src/next/hooks/useClipboardProps.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAKzF;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,uBAAuB,GAAG,WAAW,CACvC,CAAC,MAAgE,EAAE,EAAE;QACjE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAEvC,sCAAsC;QACtC,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,sCAAsC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,sDAAsD;QACtD,IAAI,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC,EACD,CAAC,IAAI,CAAC,CACT,CAAC;IAEF,OAAO,WAAW,CACd,CAAC,gBAA6B,EAAE,EAAE;QAC9B,OAAO;YACH,GAAG,gBAAgB;YACnB,uBAAuB;SAC1B,CAAC;IACN,CAAC,EACD,CAAC,uBAAuB,CAAC,CAC5B,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHeaderComponents.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useHeaderComponents.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,CAAC,KAAK,EAAE,WAAW,KAAK,WAAW,CAwBzE"}
1
+ {"version":3,"file":"useHeaderComponents.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useHeaderComponents.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,CAAC,KAAK,EAAE,WAAW,KAAK,WAAW,CA0BzE"}
@@ -3,6 +3,7 @@ import { useCallback } from "react";
3
3
  import { UnexpectedSdkError } from "@gooddata/sdk-ui";
4
4
  import { AttributeHeader } from "../components/Header/AttributeHeader.js";
5
5
  import { EmptyMeasureGroupHeader } from "../components/Header/EmptyMeasureGroupHeader.js";
6
+ import { EmptyMeasureGroupValueHeader } from "../components/Header/EmptyMeasureGroupValueHeader.js";
6
7
  import { MeasureGroupHeader } from "../components/Header/MeasureGroupHeader.js";
7
8
  import { MeasureHeader } from "../components/Header/MeasureHeader.js";
8
9
  import { PivotGroupHeader } from "../components/Header/PivotGroupHeader.js";
@@ -18,7 +19,8 @@ export function useHeaderComponents() {
18
19
  existingComponents["MeasureGroupHeader"] ||
19
20
  existingComponents["MeasureHeader"] ||
20
21
  existingComponents["AttributeHeader"] ||
21
- existingComponents["EmptyMeasureGroupHeader"]) {
22
+ existingComponents["EmptyMeasureGroupHeader"] ||
23
+ existingComponents["EmptyMeasureGroupValueHeader"]) {
22
24
  throw new UnexpectedSdkError("Provided header component(s) is already set");
23
25
  }
24
26
  return {
@@ -30,6 +32,7 @@ export function useHeaderComponents() {
30
32
  MeasureHeader,
31
33
  AttributeHeader,
32
34
  EmptyMeasureGroupHeader,
35
+ EmptyMeasureGroupValueHeader,
33
36
  },
34
37
  };
35
38
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"useHeaderComponents.js","sourceRoot":"","sources":["../../../src/next/hooks/useHeaderComponents.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAG5E;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IAC/B,OAAO,WAAW,CAAC,CAAC,KAAkB,EAAe,EAAE;QACnD,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QAClD,IACI,kBAAkB,CAAC,kBAAkB,CAAC;YACtC,kBAAkB,CAAC,oBAAoB,CAAC;YACxC,kBAAkB,CAAC,eAAe,CAAC;YACnC,kBAAkB,CAAC,iBAAiB,CAAC;YACrC,kBAAkB,CAAC,yBAAyB,CAAC,EAC/C,CAAC;YACC,MAAM,IAAI,kBAAkB,CAAC,6CAA6C,CAAC,CAAC;QAChF,CAAC;QACD,OAAO;YACH,GAAG,KAAK;YACR,UAAU,EAAE;gBACR,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;gBAC3B,gBAAgB;gBAChB,kBAAkB;gBAClB,aAAa;gBACb,eAAe;gBACf,uBAAuB;aAC1B;SACJ,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"useHeaderComponents.js","sourceRoot":"","sources":["../../../src/next/hooks/useHeaderComponents.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,sDAAsD,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAG5E;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IAC/B,OAAO,WAAW,CAAC,CAAC,KAAkB,EAAe,EAAE;QACnD,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QAClD,IACI,kBAAkB,CAAC,kBAAkB,CAAC;YACtC,kBAAkB,CAAC,oBAAoB,CAAC;YACxC,kBAAkB,CAAC,eAAe,CAAC;YACnC,kBAAkB,CAAC,iBAAiB,CAAC;YACrC,kBAAkB,CAAC,yBAAyB,CAAC;YAC7C,kBAAkB,CAAC,8BAA8B,CAAC,EACpD,CAAC;YACC,MAAM,IAAI,kBAAkB,CAAC,6CAA6C,CAAC,CAAC;QAChF,CAAC;QACD,OAAO;YACH,GAAG,KAAK;YACR,UAAU,EAAE;gBACR,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;gBAC3B,gBAAgB;gBAChB,kBAAkB;gBAClB,aAAa;gBACb,eAAe;gBACf,uBAAuB;gBACvB,4BAA4B;aAC/B;SACJ,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useInteractionProps.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useInteractionProps.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAmB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGlE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,CAAC,gBAAgB,EAAE,WAAW,KAAK,WAAW,CAyKpF"}
1
+ {"version":3,"file":"useInteractionProps.d.ts","sourceRoot":"","sources":["../../../src/next/hooks/useInteractionProps.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAmB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGlE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,CAAC,gBAAgB,EAAE,WAAW,KAAK,WAAW,CA6KpF"}
@@ -1,7 +1,7 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
  import { useCallback, useRef } from "react";
3
3
  import { UnexpectedSdkError, VisualizationTypes, } from "@gooddata/sdk-ui";
4
- import { isEnterKey, isSpaceKey } from "@gooddata/sdk-ui-kit";
4
+ import { isEnterKey, isEscapeKey, isSpaceKey } from "@gooddata/sdk-ui-kit";
5
5
  import { useCurrentDataView } from "../context/CurrentDataViewContext.js";
6
6
  import { usePivotTableProps } from "../context/PivotTablePropsContext.js";
7
7
  import { createCustomDrillEvent } from "../features/drilling/events.js";
@@ -96,21 +96,26 @@ export function useInteractionProps() {
96
96
  isDraggingRef.current = true;
97
97
  }, []);
98
98
  const onCellKeyDown = useCallback((event) => {
99
- if (!onDrill || drillableItems.length === 0) {
100
- return;
101
- }
102
- // Check if it's a keyboard event and if Enter or Space was pressed
99
+ // Check if it's a keyboard event
103
100
  if (!event.event || !(event.event instanceof KeyboardEvent)) {
104
101
  return;
105
102
  }
106
- // Drill via keyboard: ENTER or SPACE pressed on a drillable cell
107
103
  // Cast to ReactKeyboardEvent for helpers that expect React's typing shape
108
- if (!isEnterKey(event.event) &&
109
- !isSpaceKey(event.event)) {
104
+ const keyboardEvent = event.event;
105
+ // Blur focused element when Escape is pressed, which will trigger onBlur and clear selection
106
+ if (isEscapeKey(keyboardEvent)) {
107
+ const activeElement = document.activeElement;
108
+ activeElement?.blur();
109
+ return;
110
+ }
111
+ // Handle drilling only if there are drillable items
112
+ if (!onDrill || drillableItems.length === 0) {
110
113
  return;
111
114
  }
112
- // Trigger same drill logic
113
- drillFromCellEvent(event);
115
+ // Drill via keyboard: ENTER or SPACE pressed on a drillable cell
116
+ if (isEnterKey(keyboardEvent) || isSpaceKey(keyboardEvent)) {
117
+ drillFromCellEvent(event);
118
+ }
114
119
  }, [drillFromCellEvent, onDrill, drillableItems]);
115
120
  return useCallback((agGridReactProps) => {
116
121
  if (agGridReactProps.onCellClicked) {
@@ -1 +1 @@
1
- {"version":3,"file":"useInteractionProps.js","sourceRoot":"","sources":["../../../src/next/hooks/useInteractionProps.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAuC,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AASjF,OAAO,EAGH,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAItE;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IAC/B,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACzD,MAAM,EAAE,eAAe,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,MAAM,CAAyD,IAAI,CAAC,CAAC;IAE5F,MAAM,kBAAkB,GAAG,WAAW,CAClC,CACI,KAEoD,EACtD,EAAE;QACA,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9D,OAAO;QACX,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClE,OAAO;QACX,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,MAAyB,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,CAAC;YACrF,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAEzC,+BAA+B;QAC/B,MAAM,YAAY,GAA4B;YAC1C,IAAI,EAAE,kBAAkB,CAAC,KAAK;YAC9B,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,IAAI,CAAC,UAAU;YACpB,YAAY,EAAE,uBAAuB,CAAC,MAAyB,EAAE,IAAI,CAAC;SACzE,CAAC;QAEF,uDAAuD;QACvD,MAAM,UAAU,GAAgB;YAC5B,QAAQ,EAAE,eAAe,CAAC,QAAQ;YAClC,YAAY;SACf,CAAC;QAEF,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACvD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;IACL,CAAC,EACD,CAAC,OAAO,EAAE,cAAc,EAAE,eAAe,CAAC,CAC7C,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,KAAuD,EAAE,EAAE;QAC5F,2CAA2C;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;QACzD,cAAc,CAAC,OAAO,GAAG;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC9B,KAAK;SACR,CAAC;QACF,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,KAAuD,EAAE,EAAE;QAC5F,wEAAwE;QACxE,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;YACzD,MAAM,WAAW,GAAG;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;gBAC9B,KAAK;aACR,CAAC;YAEF,IACI,WAAW,CAAC,QAAQ,KAAK,cAAc,CAAC,OAAO,CAAC,QAAQ;gBACxD,WAAW,CAAC,KAAK,KAAK,cAAc,CAAC,OAAO,CAAC,KAAK,EACpD,CAAC;gBACC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,CAAC;QACL,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAC7B,CAAC,KAAqD,EAAE,EAAE;QACtD,gDAAgD;QAChD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YACzB,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,cAAc;QACd,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;IAClC,CAAC,EACD,CAAC,kBAAkB,CAAC,CACvB,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,uCAAuC;QACvC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAC7B,CAAC,KAAqD,EAAE,EAAE;QACtD,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,mEAAmE;QACnE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY,aAAa,CAAC,EAAE,CAAC;YAC1D,OAAO;QACX,CAAC;QAED,iEAAiE;QACjE,0EAA0E;QAC1E,IACI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAsC,CAAC;YACzD,CAAC,UAAU,CAAC,KAAK,CAAC,KAAsC,CAAC,EAC3D,CAAC;YACC,OAAO;QACX,CAAC;QAED,2BAA2B;QAC3B,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EACD,CAAC,kBAAkB,EAAE,OAAO,EAAE,cAAc,CAAC,CAChD,CAAC;IAEF,OAAO,WAAW,CACd,CAAC,gBAA6B,EAAE,EAAE;QAC9B,IAAI,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACjC,MAAM,IAAI,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACjC,MAAM,IAAI,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;YAC1C,MAAM,IAAI,kBAAkB,CAAC,uCAAuC,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,gBAAgB,CAAC,eAAe,EAAE,CAAC;YACnC,MAAM,IAAI,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,gBAAgB,CAAC,eAAe,EAAE,CAAC;YACnC,MAAM,IAAI,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;QACnE,CAAC;QAED,OAAO;YACH,GAAG,gBAAgB;YACnB,aAAa;YACb,aAAa;YACb,sBAAsB;YACtB,eAAe;YACf,eAAe;SAClB,CAAC;IACN,CAAC,EACD,CAAC,aAAa,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,CAAC,CAC3F,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"useInteractionProps.js","sourceRoot":"","sources":["../../../src/next/hooks/useInteractionProps.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ export { AgGridTokenProvider, enrichAgGridToken, useAgGridToken, withAgGridToken
3
3
  export type { IPivotTableNextProps, PivotTableNextConfig } from "./types/public.js";
4
4
  export { CorePivotTableNext } from "./PivotTableNextPluggable.js";
5
5
  export type { ICorePivotTableNextProps } from "./types/internal.js";
6
- export type { IColumnSizing, ColumnLocator, ColumnWidth, ColumnWidthItem, DefaultColumnWidth, IAbsoluteColumnWidth, IAllMeasureColumnWidthItem, IAllMeasureColumnWidthItemBody, IAttributeColumnLocator, IAttributeColumnLocatorBody, IAttributeColumnWidthItem, IAttributeColumnWidthItemBody, IAutoColumnWidth, IManuallyResizedColumnsItem, IMeasureColumnLocator, IMeasureColumnLocatorBody, IMeasureColumnWidthItem, IMeasureColumnWidthItemBody, IMixedValuesColumnWidthItem, IMixedValuesColumnWidthItemBody, IResizedColumns, ISliceMeasureColumnWidthItem, ISliceMeasureColumnWidthItemBody, ITotalColumnLocator, ITotalColumnLocatorBody, IWeakMeasureColumnWidthItem, IWeakMeasureColumnWidthItemBody, } from "./types/resizing.js";
7
- export { isAbsoluteColumnWidth, isAllMeasureColumnWidthItem, isAttributeColumnLocator, isAttributeColumnWidthItem, isMeasureColumnLocator, isMeasureColumnWidthItem, isMixedValuesColumnWidthItem, isTotalColumnLocator, isWeakMeasureColumnWidthItem, isSliceMeasureColumnWidthItem, newAttributeColumnLocator, newMeasureColumnLocator, newTotalColumnLocator, newWidthForAllColumnsForMeasure, newWidthForAllMeasureColumns, newWidthForAttributeColumn, setNewWidthForSelectedColumns, } from "./types/resizing.js";
6
+ export type { ColumnLocator, IAttributeColumnLocator, IAttributeColumnLocatorBody, IMeasureColumnLocator, IMeasureColumnLocatorBody, ITotalColumnLocator, ITotalColumnLocatorBody, } from "./types/locators.js";
7
+ export { isAttributeColumnLocator, isMeasureColumnLocator, isTotalColumnLocator, newAttributeColumnLocator, newMeasureColumnLocator, newTotalColumnLocator, } from "./types/locators.js";
8
+ export type { IColumnSizing, ColumnWidth, ColumnWidthItem, DefaultColumnWidth, IAbsoluteColumnWidth, IAllMeasureColumnWidthItem, IAllMeasureColumnWidthItemBody, IAttributeColumnWidthItem, IAttributeColumnWidthItemBody, IAutoColumnWidth, IManuallyResizedColumnsItem, IMeasureColumnWidthItem, IMeasureColumnWidthItemBody, IMixedValuesColumnWidthItem, IMixedValuesColumnWidthItemBody, IResizedColumns, ISliceMeasureColumnWidthItem, ISliceMeasureColumnWidthItemBody, IWeakMeasureColumnWidthItem, IWeakMeasureColumnWidthItemBody, } from "./types/resizing.js";
9
+ export { isAbsoluteColumnWidth, isAllMeasureColumnWidthItem, isAttributeColumnWidthItem, isMeasureColumnWidthItem, isMixedValuesColumnWidthItem, isWeakMeasureColumnWidthItem, isSliceMeasureColumnWidthItem, newWidthForAllColumnsForMeasure, newWidthForAllMeasureColumns, newWidthForAttributeColumn, setNewWidthForSelectedColumns, } from "./types/resizing.js";
8
10
  export type { ITextWrapping } from "./types/textWrapping.js";
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,eAAe,GAClB,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,YAAY,EACR,aAAa,EACb,aAAa,EACb,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,8BAA8B,EAC9B,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,eAAe,EACf,4BAA4B,EAC5B,gCAAgC,EAChC,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,+BAA+B,GAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,GAChC,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,eAAe,GAClB,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,YAAY,EACR,aAAa,EACb,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACR,aAAa,EACb,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,8BAA8B,EAC9B,yBAAyB,EACzB,6BAA6B,EAC7B,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,eAAe,EACf,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,+BAA+B,GAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,GAChC,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC"}
package/esm/next/index.js CHANGED
@@ -3,5 +3,6 @@ export { PivotTableNext } from "./PivotTableNext.js";
3
3
  export { AgGridTokenProvider, enrichAgGridToken, useAgGridToken, withAgGridToken, } from "./context/AgGridTokenContext.js";
4
4
  // Pluggable Visualization
5
5
  export { CorePivotTableNext } from "./PivotTableNextPluggable.js";
6
- export { isAbsoluteColumnWidth, isAllMeasureColumnWidthItem, isAttributeColumnLocator, isAttributeColumnWidthItem, isMeasureColumnLocator, isMeasureColumnWidthItem, isMixedValuesColumnWidthItem, isTotalColumnLocator, isWeakMeasureColumnWidthItem, isSliceMeasureColumnWidthItem, newAttributeColumnLocator, newMeasureColumnLocator, newTotalColumnLocator, newWidthForAllColumnsForMeasure, newWidthForAllMeasureColumns, newWidthForAttributeColumn, setNewWidthForSelectedColumns, } from "./types/resizing.js";
6
+ export { isAttributeColumnLocator, isMeasureColumnLocator, isTotalColumnLocator, newAttributeColumnLocator, newMeasureColumnLocator, newTotalColumnLocator, } from "./types/locators.js";
7
+ export { isAbsoluteColumnWidth, isAllMeasureColumnWidthItem, isAttributeColumnWidthItem, isMeasureColumnWidthItem, isMixedValuesColumnWidthItem, isWeakMeasureColumnWidthItem, isSliceMeasureColumnWidthItem, newWidthForAllColumnsForMeasure, newWidthForAllMeasureColumns, newWidthForAttributeColumn, setNewWidthForSelectedColumns, } from "./types/resizing.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,eAAe,GAClB,MAAM,iCAAiC,CAAC;AAIzC,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAgClE,OAAO,EACH,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,GAChC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,eAAe,GAClB,MAAM,iCAAiC,CAAC;AAIzC,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAWlE,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,GACxB,MAAM,qBAAqB,CAAC;AAuB7B,OAAO,EACH,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,GAChC,MAAM,qBAAqB,CAAC"}
@@ -59,4 +59,20 @@ export type AgGridHeaderGroupParams = IHeaderGroupParams<AgGridRowData, string |
59
59
  * @returns true if the column definition is a column group definition, false otherwise
60
60
  */
61
61
  export declare const isAgGridColumnGroupDef: (colDef: unknown) => colDef is AgGridColumnGroupDef;
62
+ /**
63
+ * @internal
64
+ * Checks if the header params are header params (not regular header group params)
65
+ *
66
+ * @param params - The header params to check
67
+ * @returns true if params are header params, false otherwise
68
+ */
69
+ export declare const isAgGridHeaderParams: (params: unknown) => params is AgGridHeaderParams;
70
+ /**
71
+ * @internal
72
+ * Checks if the header params are header group params (not regular header params)
73
+ *
74
+ * @param params - The header group params to check
75
+ * @returns true if params are header group params, false otherwise
76
+ */
77
+ export declare const isAgGridHeaderGroupParams: (params: unknown) => params is AgGridHeaderGroupParams;
62
78
  //# sourceMappingURL=agGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agGrid.d.ts","sourceRoot":"","sources":["../../../src/next/types/agGrid.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,sBAAsB,GAAG;IACjC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG;IAClF,OAAO,EAAE,sBAAsB,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,GAAG;IAC7E,OAAO,EAAE,sBAAsB,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAEhG;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAEvF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,oBAElE,CAAC"}
1
+ {"version":3,"file":"agGrid.d.ts","sourceRoot":"","sources":["../../../src/next/types/agGrid.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,sBAAsB,GAAG;IACjC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG;IAClF,OAAO,EAAE,sBAAsB,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,GAAG;IAC7E,OAAO,EAAE,sBAAsB,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAEhG;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAEvF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,oBAElE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,kBAEhE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,uBAMrE,CAAC"}
@@ -9,4 +9,26 @@
9
9
  export const isAgGridColumnGroupDef = (colDef) => {
10
10
  return colDef !== undefined && colDef !== null && colDef.children !== undefined;
11
11
  };
12
+ /**
13
+ * @internal
14
+ * Checks if the header params are header params (not regular header group params)
15
+ *
16
+ * @param params - The header params to check
17
+ * @returns true if params are header params, false otherwise
18
+ */
19
+ export const isAgGridHeaderParams = (params) => {
20
+ return params !== undefined && params !== null && params.column !== undefined;
21
+ };
22
+ /**
23
+ * @internal
24
+ * Checks if the header params are header group params (not regular header params)
25
+ *
26
+ * @param params - The header group params to check
27
+ * @returns true if params are header group params, false otherwise
28
+ */
29
+ export const isAgGridHeaderGroupParams = (params) => {
30
+ return (params !== undefined &&
31
+ params !== null &&
32
+ params.columnGroup !== undefined);
33
+ };
12
34
  //# sourceMappingURL=agGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agGrid.js","sourceRoot":"","sources":["../../../src/next/types/agGrid.ts"],"names":[],"mappings":"AAAA,gCAAgC;AA6EhC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAe,EAAkC,EAAE;IACtF,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAK,MAA+B,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC9G,CAAC,CAAC"}
1
+ {"version":3,"file":"agGrid.js","sourceRoot":"","sources":["../../../src/next/types/agGrid.ts"],"names":[],"mappings":"AAAA,gCAAgC;AA6EhC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAe,EAAkC,EAAE;IACtF,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAK,MAA+B,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC9G,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAe,EAAgC,EAAE;IAClF,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAK,MAA6B,CAAC,MAAM,KAAK,SAAS,CAAC;AAC1G,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAe,EAAqC,EAAE;IAC5F,OAAO,CACH,MAAM,KAAK,SAAS;QACpB,MAAM,KAAK,IAAI;QACd,MAAkC,CAAC,WAAW,KAAK,SAAS,CAChE,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @alpha
3
+ */
4
+ export type PivotTableNextCellSelectionConfig = {
5
+ /**
6
+ * If true, enables cell selection in the pivot table.
7
+ *
8
+ * @remarks
9
+ * When enabled, users will be able to select cells in the table.
10
+ * When disabled, cell selection and focus will be suppressed. This is useful
11
+ * in scenarios like dashboard edit mode where cell interaction should be prevented.
12
+ *
13
+ * Default: true
14
+ */
15
+ enableCellSelection?: boolean;
16
+ };
17
+ //# sourceMappingURL=cellSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cellSelection.d.ts","sourceRoot":"","sources":["../../../src/next/types/cellSelection.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC5C;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC"}
@@ -0,0 +1,3 @@
1
+ // (C) 2025 GoodData Corporation
2
+ export {};
3
+ //# sourceMappingURL=cellSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cellSelection.js","sourceRoot":"","sources":["../../../src/next/types/cellSelection.ts"],"names":[],"mappings":"AAAA,gCAAgC"}
@@ -0,0 +1,119 @@
1
+ import { IAttribute, IMeasure, Identifier } from "@gooddata/sdk-model";
2
+ /**
3
+ * @alpha
4
+ */
5
+ export type ColumnLocator = IAttributeColumnLocator | IMeasureColumnLocator | ITotalColumnLocator;
6
+ /**
7
+ * Locates all columns for an attribute or columns for particular attribute element.
8
+ *
9
+ * @alpha
10
+ */
11
+ export interface IAttributeColumnLocator {
12
+ attributeLocatorItem: IAttributeColumnLocatorBody;
13
+ }
14
+ /**
15
+ * Locates table column by column measure's localId.
16
+ *
17
+ * @alpha
18
+ */
19
+ export interface IMeasureColumnLocator {
20
+ measureLocatorItem: IMeasureColumnLocatorBody;
21
+ }
22
+ /**
23
+ * Locates all columns for a columns for particular total.
24
+ *
25
+ * @alpha
26
+ */
27
+ export interface ITotalColumnLocator {
28
+ totalLocatorItem: ITotalColumnLocatorBody;
29
+ }
30
+ /**
31
+ * Object defining the {@link IAttributeColumnLocator} object body.
32
+ *
33
+ * @alpha
34
+ */
35
+ export interface IAttributeColumnLocatorBody {
36
+ /**
37
+ * Local identifier of the attribute
38
+ */
39
+ attributeIdentifier: Identifier;
40
+ /**
41
+ * Attribute element URI / primary key.
42
+ */
43
+ element?: string | null;
44
+ }
45
+ /**
46
+ * Object defining the {@link IMeasureColumnLocator} object body.
47
+ *
48
+ * @alpha
49
+ */
50
+ export interface IMeasureColumnLocatorBody {
51
+ /**
52
+ * Local identifier of the measure.
53
+ */
54
+ measureIdentifier: Identifier;
55
+ }
56
+ /**
57
+ * Object defining the {@link ITotalColumnLocator} object body.
58
+ *
59
+ * @alpha
60
+ */
61
+ export interface ITotalColumnLocatorBody {
62
+ /**
63
+ * Local identifier of the attribute inside which the subtotal is put
64
+ */
65
+ attributeIdentifier: Identifier;
66
+ /**
67
+ * Function for the total, such as sum, max, min, ...
68
+ */
69
+ totalFunction: string;
70
+ }
71
+ /**
72
+ * Tests whether object is an instance of {@link IAttributeColumnLocator}
73
+ *
74
+ * @alpha
75
+ */
76
+ export declare function isAttributeColumnLocator(obj: unknown): obj is IAttributeColumnLocator;
77
+ /**
78
+ * Tests whether object is an instance of {@link IMeasureColumnLocator}
79
+ *
80
+ * @alpha
81
+ */
82
+ export declare function isMeasureColumnLocator(obj: unknown): obj is IMeasureColumnLocator;
83
+ /**
84
+ * Tests whether object is an instance of {@link ITotalColumnLocator}
85
+ *
86
+ * @alpha
87
+ */
88
+ export declare function isTotalColumnLocator(obj: unknown): obj is ITotalColumnLocator;
89
+ /**
90
+ * Creates a new attribute column locator
91
+ *
92
+ * @remarks
93
+ * This is used to narrow down location of measure columns in pivot table, where
94
+ * measures are further scoped by different attribute elements - imagine pivot table with defined for measure 'Amount' and column
95
+ * attribute 'Product'. The table will have multiple columns for the 'Amount' measure - each for different element of the
96
+ * 'Product' attribute. In this context, identifying particular measure columns needs to be more specific.
97
+ *
98
+ * The attribute column locator can match either single element of particular attribute, or all elements of particular
99
+ * attribute.
100
+ *
101
+ * @param attributeOrId - Column attribute specified by either value or by localId reference
102
+ * @param element - specify attribute element URI or primary key; if not specified, the locator will match
103
+ * all elements of the attribute
104
+ * @alpha
105
+ */
106
+ export declare function newAttributeColumnLocator(attributeOrId: IAttribute | string, element?: string): IAttributeColumnLocator;
107
+ /**
108
+ * @internal
109
+ */
110
+ export declare function newMeasureColumnLocator(measureOrId: IMeasure | string): IMeasureColumnLocator;
111
+ /**
112
+ * Creates a new total column locator
113
+ *
114
+ * @param attributeOrId - Column attribute specified by either value or by localId reference
115
+ * @param totalFunction - Function for the total, such as sum, max, min...
116
+ * @alpha
117
+ */
118
+ export declare function newTotalColumnLocator(attributeOrId: IAttribute | string, totalFunction: string): ITotalColumnLocator;
119
+ //# sourceMappingURL=locators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locators.d.ts","sourceRoot":"","sources":["../../../src/next/types/locators.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAoC,MAAM,qBAAqB,CAAC;AAEzG;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;AAElG;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,oBAAoB,EAAE,2BAA2B,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,kBAAkB,EAAE,yBAAyB,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,uBAAuB,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,mBAAmB,EAAE,UAAU,CAAC;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,iBAAiB,EAAE,UAAU,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC;;OAEG;IACH,mBAAmB,EAAE,UAAU,CAAC;IAEhC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,uBAAuB,CAErF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,mBAAmB,CAE7E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACrC,aAAa,EAAE,UAAU,GAAG,MAAM,EAClC,OAAO,CAAC,EAAE,MAAM,GACjB,uBAAuB,CAOzB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,GAAG,qBAAqB,CAQ7F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACjC,aAAa,EAAE,UAAU,GAAG,MAAM,EAClC,aAAa,EAAE,MAAM,GACtB,mBAAmB,CAOrB"}
@@ -0,0 +1,79 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { isEmpty } from "lodash-es";
3
+ import { attributeLocalId, measureLocalId } from "@gooddata/sdk-model";
4
+ /**
5
+ * Tests whether object is an instance of {@link IAttributeColumnLocator}
6
+ *
7
+ * @alpha
8
+ */
9
+ export function isAttributeColumnLocator(obj) {
10
+ return !isEmpty(obj) && obj.attributeLocatorItem !== undefined;
11
+ }
12
+ /**
13
+ * Tests whether object is an instance of {@link IMeasureColumnLocator}
14
+ *
15
+ * @alpha
16
+ */
17
+ export function isMeasureColumnLocator(obj) {
18
+ return !isEmpty(obj) && obj.measureLocatorItem !== undefined;
19
+ }
20
+ /**
21
+ * Tests whether object is an instance of {@link ITotalColumnLocator}
22
+ *
23
+ * @alpha
24
+ */
25
+ export function isTotalColumnLocator(obj) {
26
+ return !isEmpty(obj) && obj.totalLocatorItem !== undefined;
27
+ }
28
+ /**
29
+ * Creates a new attribute column locator
30
+ *
31
+ * @remarks
32
+ * This is used to narrow down location of measure columns in pivot table, where
33
+ * measures are further scoped by different attribute elements - imagine pivot table with defined for measure 'Amount' and column
34
+ * attribute 'Product'. The table will have multiple columns for the 'Amount' measure - each for different element of the
35
+ * 'Product' attribute. In this context, identifying particular measure columns needs to be more specific.
36
+ *
37
+ * The attribute column locator can match either single element of particular attribute, or all elements of particular
38
+ * attribute.
39
+ *
40
+ * @param attributeOrId - Column attribute specified by either value or by localId reference
41
+ * @param element - specify attribute element URI or primary key; if not specified, the locator will match
42
+ * all elements of the attribute
43
+ * @alpha
44
+ */
45
+ export function newAttributeColumnLocator(attributeOrId, element) {
46
+ return {
47
+ attributeLocatorItem: {
48
+ attributeIdentifier: attributeLocalId(attributeOrId),
49
+ element,
50
+ },
51
+ };
52
+ }
53
+ /**
54
+ * @internal
55
+ */
56
+ export function newMeasureColumnLocator(measureOrId) {
57
+ const measureIdentifier = measureLocalId(measureOrId);
58
+ return {
59
+ measureLocatorItem: {
60
+ measureIdentifier,
61
+ },
62
+ };
63
+ }
64
+ /**
65
+ * Creates a new total column locator
66
+ *
67
+ * @param attributeOrId - Column attribute specified by either value or by localId reference
68
+ * @param totalFunction - Function for the total, such as sum, max, min...
69
+ * @alpha
70
+ */
71
+ export function newTotalColumnLocator(attributeOrId, totalFunction) {
72
+ return {
73
+ totalLocatorItem: {
74
+ attributeIdentifier: attributeLocalId(attributeOrId),
75
+ totalFunction,
76
+ },
77
+ };
78
+ }
79
+ //# sourceMappingURL=locators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locators.js","sourceRoot":"","sources":["../../../src/next/types/locators.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAoC,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgFzG;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACjD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,GAA+B,CAAC,oBAAoB,KAAK,SAAS,CAAC;AAChG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IAC/C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,GAA6B,CAAC,kBAAkB,KAAK,SAAS,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,GAA2B,CAAC,gBAAgB,KAAK,SAAS,CAAC;AACxF,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CACrC,aAAkC,EAClC,OAAgB;IAEhB,OAAO;QACH,oBAAoB,EAAE;YAClB,mBAAmB,EAAE,gBAAgB,CAAC,aAAa,CAAC;YACpD,OAAO;SACV;KACJ,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAA8B;IAClE,MAAM,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAEtD,OAAO;QACH,kBAAkB,EAAE;YAChB,iBAAiB;SACpB;KACJ,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACjC,aAAkC,EAClC,aAAqB;IAErB,OAAO;QACH,gBAAgB,EAAE;YACd,mBAAmB,EAAE,gBAAgB,CAAC,aAAa,CAAC;YACpD,aAAa;SAChB;KACJ,CAAC;AACN,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
2
2
  import { IExecutionConfig } from "@gooddata/sdk-model";
3
3
  import { AttributesMeasuresOrPlaceholders, AttributesOrPlaceholders, ExplicitDrill, IVisualizationCallbacks, IVisualizationProps, NullableFiltersOrPlaceholders, SortsOrPlaceholders, TotalsOrPlaceholders } from "@gooddata/sdk-ui";
4
+ import { PivotTableNextCellSelectionConfig } from "./cellSelection.js";
4
5
  import { PivotTableNextExecutionCancellingConfig } from "./executionCancelling.js";
5
6
  import { PivotTableNextFormattingConfig } from "./formatting.js";
6
7
  import { PivotTableNextLayoutConfig } from "./layout.js";
@@ -9,7 +10,7 @@ import { PivotTableNextMenuConfig } from "./menu.js";
9
10
  import { ColumnResizedCallback, PivotTableNextColumnsSizingConfig } from "./resizing.js";
10
11
  import { PivotTableNextTextWrappingConfig } from "./textWrapping.js";
11
12
  import { PivotTableNextTranspositionConfig } from "./transposition.js";
12
- export type PivotTableNextConfig = PivotTableNextTranspositionConfig & PivotTableNextTextWrappingConfig & PivotTableNextColumnsSizingConfig & PivotTableNextMenuConfig & PivotTableNextFormattingConfig & PivotTableNextExecutionCancellingConfig & PivotTableNextLayoutConfig & PivotTableNextAgGridLicenseConfig;
13
+ export type PivotTableNextConfig = PivotTableNextTranspositionConfig & PivotTableNextTextWrappingConfig & PivotTableNextColumnsSizingConfig & PivotTableNextMenuConfig & PivotTableNextFormattingConfig & PivotTableNextExecutionCancellingConfig & PivotTableNextLayoutConfig & PivotTableNextCellSelectionConfig & PivotTableNextAgGridLicenseConfig;
13
14
  /**
14
15
  * Props for the pivot table.
15
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/next/types/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACH,gCAAgC,EAChC,wBAAwB,EACxB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,uCAAuC,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG,iCAAiC,GAChE,gCAAgC,GAChC,iCAAiC,GACjC,wBAAwB,GACxB,8BAA8B,GAC9B,uCAAuC,GACvC,0BAA0B,GAC1B,iCAAiC,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB,EAAE,uBAAuB;IACtF;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;IAEnC;;OAEG;IACH,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,gCAAgC,CAAC;IAE5C;;OAEG;IACH,OAAO,CAAC,EAAE,6BAA6B,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IAEjC;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,eAAe,CAAC,EAAE,qBAAqB,CAAC;IAExC;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;OAEG;IACH,6BAA6B,CAAC,EAAE,GAAG,CAAC;CACvC"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/next/types/public.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACH,gCAAgC,EAChC,wBAAwB,EACxB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,uCAAuC,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG,iCAAiC,GAChE,gCAAgC,GAChC,iCAAiC,GACjC,wBAAwB,GACxB,8BAA8B,GAC9B,uCAAuC,GACvC,0BAA0B,GAC1B,iCAAiC,GACjC,iCAAiC,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB,EAAE,uBAAuB;IACtF;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;IAEnC;;OAEG;IACH,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,gCAAgC,CAAC;IAE5C;;OAEG;IACH,OAAO,CAAC,EAAE,6BAA6B,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IAEjC;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,eAAe,CAAC,EAAE,qBAAqB,CAAC;IAExC;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;OAEG;IACH,6BAA6B,CAAC,EAAE,GAAG,CAAC;CACvC"}
@@ -1,2 +1,3 @@
1
+ // (C) 2025 GoodData Corporation
1
2
  export {};
2
3
  //# sourceMappingURL=public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/next/types/public.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/next/types/public.ts"],"names":[],"mappings":"AAAA,gCAAgC"}