@carbon/ibm-products 2.43.2-canary.4 → 2.43.2-canary.40

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 (203) hide show
  1. package/css/index-full-carbon.css +52 -3
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +12 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +52 -3
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +52 -3
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
  18. package/es/components/ConditionBuilder/ConditionBuilder.js +67 -20
  19. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  20. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +129 -0
  21. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -4
  22. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
  23. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
  24. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
  25. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
  26. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  27. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
  28. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
  29. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
  30. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
  31. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
  32. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
  33. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
  34. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
  35. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +24 -16
  36. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +19 -4
  37. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  38. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +109 -0
  39. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  40. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +58 -33
  41. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
  42. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -5
  43. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
  44. package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
  45. package/es/components/ConditionBuilder/utils/util.js +16 -1
  46. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +12 -0
  47. package/es/components/DataSpreadsheet/DataSpreadsheet.js +51 -19
  48. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +21 -1
  49. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +40 -8
  50. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  51. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +20 -6
  52. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  53. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  54. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  55. package/es/components/DataSpreadsheet/types/index.d.ts +1 -1
  56. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  57. package/es/components/Datagrid/Datagrid/Datagrid.js +2 -1
  58. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  59. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +11 -1
  60. package/es/components/Datagrid/Datagrid/DatagridRow.js +13 -2
  61. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  62. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  63. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  64. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +6 -3
  65. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  66. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  67. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +1 -1
  68. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  69. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  70. package/es/components/Datagrid/types/index.d.ts +37 -4
  71. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  72. package/es/components/Datagrid/useActionsColumn.js +7 -6
  73. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  74. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  75. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  76. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  77. package/es/components/Datagrid/useInlineEdit.js +12 -2
  78. package/es/components/Datagrid/useNestedRows.js +32 -13
  79. package/es/components/Decorator/Decorator.js +2 -1
  80. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  81. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  82. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  83. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  84. package/es/components/EditTearsheet/EditTearsheet.d.ts +5 -1
  85. package/es/components/EditTearsheet/EditTearsheet.js +0 -1
  86. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  87. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  88. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  89. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  90. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  91. package/es/components/PageHeader/PageHeader.js +1 -0
  92. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  93. package/es/components/RemoveModal/RemoveModal.js +7 -1
  94. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  95. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  96. package/es/components/Tearsheet/Tearsheet.js +9 -1
  97. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  98. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  99. package/es/components/Tearsheet/TearsheetShell.d.ts +10 -0
  100. package/es/components/Tearsheet/TearsheetShell.js +17 -3
  101. package/es/components/Toolbar/ToolbarButton.js +1 -1
  102. package/es/components/index.d.ts +1 -1
  103. package/es/index.js +1 -0
  104. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
  105. package/lib/components/ConditionBuilder/ConditionBuilder.js +67 -20
  106. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  107. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +137 -0
  108. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -3
  109. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
  110. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
  111. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
  112. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
  113. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  114. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
  115. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
  116. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
  117. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
  118. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
  119. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
  120. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
  121. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
  122. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +23 -15
  123. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +20 -5
  124. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  125. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +117 -0
  126. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  127. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +56 -31
  128. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
  129. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -4
  130. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
  131. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  132. package/lib/components/ConditionBuilder/utils/util.js +17 -0
  133. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +12 -0
  134. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +51 -19
  135. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +21 -1
  136. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +40 -8
  137. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  138. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +20 -6
  139. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  140. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  141. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  142. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -1
  143. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  144. package/lib/components/Datagrid/Datagrid/Datagrid.js +2 -1
  145. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  146. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +11 -1
  147. package/lib/components/Datagrid/Datagrid/DatagridRow.js +13 -2
  148. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  149. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  150. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  151. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +6 -3
  152. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  153. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  154. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +1 -1
  155. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -10
  156. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  157. package/lib/components/Datagrid/types/index.d.ts +37 -4
  158. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  159. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  160. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  161. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  162. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  163. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  164. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  165. package/lib/components/Datagrid/useNestedRows.js +32 -13
  166. package/lib/components/Decorator/Decorator.js +2 -1
  167. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  168. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  169. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  170. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  171. package/lib/components/EditTearsheet/EditTearsheet.d.ts +5 -1
  172. package/lib/components/EditTearsheet/EditTearsheet.js +0 -1
  173. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  174. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  175. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  176. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  177. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  178. package/lib/components/PageHeader/PageHeader.js +1 -0
  179. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  180. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  181. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  182. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  183. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  184. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  185. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  186. package/lib/components/Tearsheet/TearsheetShell.d.ts +10 -0
  187. package/lib/components/Tearsheet/TearsheetShell.js +16 -2
  188. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  189. package/lib/components/index.d.ts +1 -1
  190. package/lib/index.js +5 -0
  191. package/package.json +7 -6
  192. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +9 -1
  193. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +26 -1
  194. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +8 -0
  195. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  196. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  197. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  198. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  199. package/telemetry.yml +8 -3
  200. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  201. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  202. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  203. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
@@ -44,11 +44,16 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
44
44
  headerGroups = _ref.headerGroups,
45
45
  id = _ref.id,
46
46
  onDataUpdate = _ref.onDataUpdate,
47
+ renderRowHeader = _ref.renderRowHeader,
48
+ renderRowHeaderDirection = _ref.renderRowHeaderDirection,
49
+ hasCustomRowHeader = _ref.hasCustomRowHeader,
47
50
  prepareRow = _ref.prepareRow,
48
51
  rows = _ref.rows,
49
52
  selectionAreaData = _ref.selectionAreaData,
50
53
  setSelectionAreaData = _ref.setSelectionAreaData,
51
54
  setActiveCellCoordinates = _ref.setActiveCellCoordinates,
55
+ selectedHeaderReorderActive = _ref.selectedHeaderReorderActive,
56
+ setSelectedHeaderReorderActive = _ref.setSelectedHeaderReorderActive,
52
57
  selectionAreas = _ref.selectionAreas,
53
58
  setContainerHasFocus = _ref.setContainerHasFocus,
54
59
  setSelectionAreas = _ref.setSelectionAreas,
@@ -84,8 +89,12 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
84
89
  // back to the consumer
85
90
  React.useEffect(function () {
86
91
  if (selectionAreaData !== null && selectionAreaData !== void 0 && selectionAreaData.length) {
87
- var _previousState$select;
88
- if (!clickAndHoldActive && previousState !== null && previousState !== void 0 && previousState.clickAndHoldActive || (previousState === null || previousState === void 0 || (_previousState$select = previousState.selectionAreaData) === null || _previousState$select === void 0 ? void 0 : _previousState$select.length) !== (selectionAreaData === null || selectionAreaData === void 0 ? void 0 : selectionAreaData.length)) {
92
+ var _previousState$select, _selectionAreaData$, _previousState$select2;
93
+ var selectionChanged = false;
94
+ if ((previousState === null || previousState === void 0 || (_previousState$select = previousState.selectionAreaData) === null || _previousState$select === void 0 ? void 0 : _previousState$select.length) !== (selectionAreaData === null || selectionAreaData === void 0 ? void 0 : selectionAreaData.length) || (selectionAreaData === null || selectionAreaData === void 0 || (_selectionAreaData$ = selectionAreaData[0]) === null || _selectionAreaData$ === void 0 ? void 0 : _selectionAreaData$.cells.length) !== (previousState === null || previousState === void 0 || (_previousState$select2 = previousState.selectionAreaData) === null || _previousState$select2 === void 0 || (_previousState$select2 = _previousState$select2[0]) === null || _previousState$select2 === void 0 ? void 0 : _previousState$select2.cells.length)) {
95
+ selectionChanged = true;
96
+ }
97
+ if (!clickAndHoldActive && previousState !== null && previousState !== void 0 && previousState.clickAndHoldActive || selectionChanged) {
89
98
  onSelectionAreaChange === null || onSelectionAreaChange === void 0 || onSelectionAreaChange(selectionAreaData);
90
99
  }
91
100
  }
@@ -141,7 +150,7 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
141
150
  return;
142
151
  });
143
152
  }
144
- }, [selectionAreas, setSelectionAreas, defaultColumn, onSelectionAreaChange, setSelectionAreaData, ref, activeCellCoordinates, setActiveCellInsideSelectionArea, visibleColumns]);
153
+ }, [selectionAreas, setSelectionAreas, defaultColumn, onSelectionAreaChange, setSelectionAreaData, ref, activeCellCoordinates, setActiveCellInsideSelectionArea, visibleColumns, hasCustomRowHeader]);
145
154
  var populateSelectionAreaCellData = function populateSelectionAreaCellData(_ref2) {
146
155
  var rowStart = _ref2.rowStart,
147
156
  rowEnd = _ref2.rowEnd,
@@ -160,6 +169,8 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
160
169
  setClickAndHoldActive: setClickAndHoldActive,
161
170
  setSelectionAreas: setSelectionAreas,
162
171
  setValidStartingPoint: setValidStartingPoint,
172
+ selectedHeaderReorderActive: selectedHeaderReorderActive,
173
+ setSelectedHeaderReorderActive: setSelectedHeaderReorderActive,
163
174
  validStartingPoint: validStartingPoint,
164
175
  ref: ref,
165
176
  setHeaderCellHoldActive: setHeaderCellHoldActive,
@@ -213,7 +224,7 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
213
224
  });
214
225
  }
215
226
  }
216
- }, [defaultColumn, ref, activeCellCoordinates, previousState === null || previousState === void 0 ? void 0 : previousState.rowHeight, selectionAreas, setActiveCellInsideSelectionArea, setSelectionAreas, visibleColumns]);
227
+ }, [defaultColumn, ref, activeCellCoordinates, previousState === null || previousState === void 0 ? void 0 : previousState.rowHeight, selectionAreas, setActiveCellInsideSelectionArea, setSelectionAreas, visibleColumns, hasCustomRowHeader]);
217
228
 
218
229
  //this method will check for any duplicate selection area and remove.
219
230
  //same selections are those have the same height, width, top, left styles. These inline styles are being set in createCellSelection util.
@@ -339,11 +350,12 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
339
350
  "data-column-index": "header",
340
351
  type: "button",
341
352
  onClick: handleRowHeaderClickEvent(index),
342
- className: cx__default["default"]("".concat(blockClass, "__td"), "".concat(blockClass, "__td-th"), "".concat(blockClass, "--interactive-cell-element"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__td-th--active-header"), (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === index || checkActiveHeaderCell.checkActiveHeaderCell(index, selectionAreas, 'row')), "".concat(blockClass, "__td-th--selected-header"), checkSelectedHeaderCell.checkSelectedHeaderCell(index, selectionAreas, 'row', columns))),
353
+ className: cx__default["default"]("".concat(blockClass, "__td"), "".concat(blockClass, "__td-th"), "".concat(blockClass, "--interactive-cell-element"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__td_custom"), hasCustomRowHeader ? true : false), "".concat(blockClass, "__td-th--active-header"), !hasCustomRowHeader && ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === index || checkActiveHeaderCell.checkActiveHeaderCell(index, selectionAreas, 'row'))), "".concat(blockClass, "__td-th--selected-header"), !hasCustomRowHeader && checkSelectedHeaderCell.checkSelectedHeaderCell(index, selectionAreas, 'row', columns))),
343
354
  style: {
344
- width: defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeaderWidth
355
+ width: defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeaderWidth,
356
+ flexDirection: hasCustomRowHeader ? renderRowHeaderDirection === 'Left' ? 'row-reverse' : row : undefined
345
357
  }
346
- }, index + 1)), row.cells.map(function (cell, index) {
358
+ }, index + 1, hasCustomRowHeader && typeof renderRowHeader === 'function' && renderRowHeader(index))), row.cells.map(function (cell, index) {
347
359
  var _cell$column;
348
360
  var cellProps = propsHelper.prepareProps(cell.getCellProps(), 'key');
349
361
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
@@ -368,7 +380,7 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
368
380
  }, cell.render('Cell')));
369
381
  }));
370
382
  }
371
- }, [prepareRow, rows, activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row, selectionAreas, handleRowHeaderClickEvent, handleBodyCellClickEvent, handleBodyCellHoverEvent, defaultColumn, columns]);
383
+ }, [prepareRow, renderRowHeader, renderRowHeaderDirection, rows, hasCustomRowHeader, activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row, selectionAreas, handleRowHeaderClickEvent, handleBodyCellClickEvent, handleBodyCellHoverEvent, defaultColumn, columns]);
372
384
  var spreadsheetBodyRef = React.useRef();
373
385
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
374
386
  ref: spreadsheetBodyRef,
@@ -434,6 +446,10 @@ DataSpreadsheetBody.propTypes = {
434
446
  */
435
447
  /**@ts-ignore */
436
448
  getTableBodyProps: index["default"].func,
449
+ /**
450
+ * Check if spreadsheet is using custom row header component attached
451
+ */
452
+ hasCustomRowHeader: index["default"].bool,
437
453
  /**
438
454
  * Headers provided from useTable hook
439
455
  */
@@ -458,6 +474,14 @@ DataSpreadsheetBody.propTypes = {
458
474
  * Prepare row function from react-table
459
475
  */
460
476
  prepareRow: index["default"].func,
477
+ /**
478
+ * Component next to numbering rows
479
+ */
480
+ renderRowHeader: index["default"].func,
481
+ /**
482
+ * Component next to numbering rows
483
+ */
484
+ renderRowHeaderDirection: index["default"].string,
461
485
  /**
462
486
  * All of the spreadsheet row data
463
487
  */
@@ -466,6 +490,10 @@ DataSpreadsheetBody.propTypes = {
466
490
  * The scrollbar width
467
491
  */
468
492
  scrollBarSize: index["default"].number,
493
+ /**
494
+ * Header reordering is active
495
+ */
496
+ selectedHeaderReorderActive: index["default"].bool,
469
497
  /**
470
498
  * Array of selection area data
471
499
  */
@@ -502,6 +530,10 @@ DataSpreadsheetBody.propTypes = {
502
530
  * Setter fn for header cell hold active value
503
531
  */
504
532
  setHeaderCellHoldActive: index["default"].func,
533
+ /**
534
+ * Set header reordering active or not
535
+ */
536
+ setSelectedHeaderReorderActive: index["default"].func,
505
537
  /**
506
538
  * Setter fn for selectionAreaData state value
507
539
  */
@@ -56,6 +56,14 @@ interface DataSpreadsheetHeaderProps {
56
56
  * Setter fn for activeCellCoordinates value
57
57
  */
58
58
  setActiveCellCoordinates?: Dispatch<SetStateAction<ActiveCellCoordinates | null>>;
59
+ /**
60
+ * Header reordering is active
61
+ */
62
+ selectedHeaderReorderActive?: boolean;
63
+ /**
64
+ * Set header reordering active or not
65
+ */
66
+ setSelectedHeaderReorderActive?: Dispatch<SetStateAction<boolean>>;
59
67
  /**
60
68
  * Setter fn for currentMatcher value
61
69
  */
@@ -40,6 +40,8 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
40
40
  headerGroups = _ref.headerGroups,
41
41
  scrollBarSize = _ref.scrollBarSize,
42
42
  selectionAreas = _ref.selectionAreas,
43
+ selectedHeaderReorderActive = _ref.selectedHeaderReorderActive,
44
+ setSelectedHeaderReorderActive = _ref.setSelectedHeaderReorderActive,
43
45
  setActiveCellCoordinates = _ref.setActiveCellCoordinates,
44
46
  setCurrentMatcher = _ref.setCurrentMatcher,
45
47
  setSelectionAreas = _ref.setSelectionAreas,
@@ -55,10 +57,6 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
55
57
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
56
58
  scrollBarSizeValue = _useState2[0],
57
59
  setScrollBarSizeValue = _useState2[1];
58
- var _useState3 = React.useState(false),
59
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
60
- selectedHeaderReorderActive = _useState4[0],
61
- setSelectedHeaderReorderActive = _useState4[1];
62
60
  var previousState = usePreviousValue.usePreviousValue({
63
61
  cellSize: cellSize
64
62
  }) || {};
@@ -116,11 +114,16 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
116
114
  // Remove columns, need to call handleHeaderCellSelection
117
115
  return;
118
116
  }
119
- setSelectedHeaderReorderActive(true);
120
117
  var selectionAreaToClone = selectionAreas === null || selectionAreas === void 0 ? void 0 : selectionAreas.filter(function (item) {
121
118
  return (item === null || item === void 0 ? void 0 : item.matcher) === currentMatcher;
122
119
  });
123
120
  var selectionAreaElement = ref.current.querySelector("[data-matcher-id=\"".concat(selectionAreaToClone === null || selectionAreaToClone === void 0 || (_selectionAreaToClone = selectionAreaToClone[0]) === null || _selectionAreaToClone === void 0 ? void 0 : _selectionAreaToClone.matcher, "\"]"));
121
+ if (selectionAreaElement) {
122
+ selectionAreaElement.classList.add("".concat(blockClass, "__selection-area--element"));
123
+ }
124
+ if (typeof setSelectedHeaderReorderActive === 'function') {
125
+ setSelectedHeaderReorderActive(true);
126
+ }
124
127
  var clickXPosition = event.clientX;
125
128
  var headerButtonCoords = event.target.getBoundingClientRect();
126
129
  var headerIndex = event.target.getAttribute('data-column-index');
@@ -181,6 +184,9 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
181
184
  "data-row-index": "header",
182
185
  "data-column-index": "header",
183
186
  type: "button",
187
+ style: {
188
+ width: defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeaderWidth
189
+ },
184
190
  tabIndex: -1,
185
191
  "aria-label": selectAllAriaLabel,
186
192
  onClick: handleSelectAllClick,
@@ -198,7 +204,7 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
198
204
  "data-column-index": index,
199
205
  tabIndex: -1,
200
206
  onMouseDown: selectedHeader ? handleHeaderMouseDown(index) : undefined,
201
- onMouseUp: selectedHeader ? function () {
207
+ onMouseUp: selectedHeader && typeof setSelectedHeaderReorderActive === 'function' ? function () {
202
208
  return setSelectedHeaderReorderActive(false);
203
209
  } : undefined,
204
210
  onClick: !selectedHeader ? handleColumnHeaderClick(index) : undefined,
@@ -263,6 +269,10 @@ DataSpreadsheetHeader.propTypes = {
263
269
  * The aria label applied to the Select all button
264
270
  */
265
271
  selectAllAriaLabel: index["default"].string.isRequired,
272
+ /**
273
+ * Header reordering is active
274
+ */
275
+ selectedHeaderReorderActive: index["default"].bool,
266
276
  /**
267
277
  * All of the cell selection area items
268
278
  */
@@ -280,6 +290,10 @@ DataSpreadsheetHeader.propTypes = {
280
290
  * Setter fn for header cell hold active value
281
291
  */
282
292
  setHeaderCellHoldActive: index["default"].func,
293
+ /**
294
+ * Set header reordering active or not
295
+ */
296
+ setSelectedHeaderReorderActive: index["default"].func,
283
297
  /**
284
298
  * Setter fn for selectionAreaData state value
285
299
  */
@@ -44,9 +44,12 @@ var useSpreadsheetMouseMove = function useSpreadsheetMouseMove(_ref) {
44
44
  var totalSpreadsheetScrollingWidth = listContainer.scrollWidth;
45
45
  var clonedSelectionWidth = clonedSelectionElement.offsetWidth;
46
46
  var clonePlacement = Math.max(xPositionRelativeToSpreadsheet - offsetXValue, defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeaderWidth);
47
+ var leftPosition = totalSpreadsheetScrollingWidth - clonedSelectionWidth >= clonePlacement ? clonePlacement + scrollAmount : totalSpreadsheetScrollingWidth - clonedSelectionWidth;
47
48
  // Moves the position of the cloned selection area to follow mouse, and
48
49
  // add the amount horizontally scrolled
49
- clonedSelectionElement.style.left = layout.px(totalSpreadsheetScrollingWidth - clonedSelectionWidth >= clonePlacement ? clonePlacement + scrollAmount : totalSpreadsheetScrollingWidth - clonedSelectionWidth);
50
+ if (leftPosition < spreadsheetCoords.right - 40) {
51
+ clonedSelectionElement.style.left = layout.px(leftPosition);
52
+ }
50
53
  };
51
54
  if (headerCellHoldActive) {
52
55
  ref.current.addEventListener('mousemove', handleMouseMove);
@@ -1,6 +1,8 @@
1
- export function useSpreadsheetMouseUp({ currentMatcher, setSelectionAreas, setClickAndHoldActive, setValidStartingPoint, validStartingPoint, blockClass, ref, setHeaderCellHoldActive, setColumnOrder, visibleColumns, setActiveCellCoordinates, activeCellCoordinates, rows, defaultColumn, selectionAreas, }: {
1
+ export function useSpreadsheetMouseUp({ currentMatcher, setSelectionAreas, selectedHeaderReorderActive, setSelectedHeaderReorderActive, setClickAndHoldActive, setValidStartingPoint, validStartingPoint, blockClass, ref, setHeaderCellHoldActive, setColumnOrder, visibleColumns, setActiveCellCoordinates, activeCellCoordinates, rows, defaultColumn, selectionAreas, }: {
2
2
  currentMatcher: any;
3
3
  setSelectionAreas: any;
4
+ selectedHeaderReorderActive: any;
5
+ setSelectedHeaderReorderActive: any;
4
6
  setClickAndHoldActive: any;
5
7
  setValidStartingPoint: any;
6
8
  validStartingPoint: any;
@@ -18,6 +18,8 @@ var deepCloneObject = require('../../../global/js/utils/deepCloneObject.js');
18
18
  var useSpreadsheetMouseUp = function useSpreadsheetMouseUp(_ref) {
19
19
  var currentMatcher = _ref.currentMatcher,
20
20
  setSelectionAreas = _ref.setSelectionAreas,
21
+ selectedHeaderReorderActive = _ref.selectedHeaderReorderActive,
22
+ setSelectedHeaderReorderActive = _ref.setSelectedHeaderReorderActive,
21
23
  setClickAndHoldActive = _ref.setClickAndHoldActive,
22
24
  setValidStartingPoint = _ref.setValidStartingPoint,
23
25
  validStartingPoint = _ref.validStartingPoint,
@@ -34,15 +36,22 @@ var useSpreadsheetMouseUp = function useSpreadsheetMouseUp(_ref) {
34
36
  selectionAreas = _ref.selectionAreas;
35
37
  React.useEffect(function () {
36
38
  var handleMouseUp = function handleMouseUp(event) {
39
+ var _selectionAreas$;
40
+ var isHoldingColumn = false;
41
+ if (selectionAreas !== null && selectionAreas !== void 0 && (_selectionAreas$ = selectionAreas[0]) !== null && _selectionAreas$ !== void 0 && _selectionAreas$.header && selectionAreas[0].header.type === 'column') {
42
+ isHoldingColumn = true;
43
+ }
37
44
  // Remove the cloned selection area on mouse up
38
- if (!validStartingPoint) {
45
+ if (!validStartingPoint && isHoldingColumn) {
39
46
  setHeaderCellHoldActive(false);
47
+ var selectionAreaElement = ref.current.querySelector(".".concat(blockClass, "__selection-area--element"));
40
48
  var selectionAreaCloneElement = ref.current.querySelector(".".concat(blockClass, "__selection-area--element-cloned"));
41
49
  if (!selectionAreaCloneElement) {
42
50
  return;
43
51
  }
44
52
  // Mouse up while a cloned selection area exists/a column is being reordered
45
53
  if (selectionAreaCloneElement) {
54
+ var _selectionAreaElement;
46
55
  var closestCell = event.target.closest(".".concat(blockClass, "--interactive-cell-element"));
47
56
  var newColumnIndex = parseInt === null || parseInt === void 0 ? void 0 : parseInt(closestCell === null || closestCell === void 0 ? void 0 : closestCell.getAttribute('data-column-index'));
48
57
  var originalColumnIndex = parseInt === null || parseInt === void 0 ? void 0 : parseInt(selectionAreaCloneElement === null || selectionAreaCloneElement === void 0 ? void 0 : selectionAreaCloneElement.getAttribute('data-column-index-original'));
@@ -85,6 +94,7 @@ var useSpreadsheetMouseUp = function useSpreadsheetMouseUp(_ref) {
85
94
  selectionAreaClone[indexOfItemToUpdate].point1.column = Math.min.apply(Math, _rollupPluginBabelHelpers.toConsumableArray(newIndexArray));
86
95
  selectionAreaClone[indexOfItemToUpdate].point2.column = Math.max.apply(Math, _rollupPluginBabelHelpers.toConsumableArray(newIndexArray));
87
96
  }
97
+ selectionAreaClone[indexOfItemToUpdate].areaCreated = false;
88
98
  return selectionAreaClone;
89
99
  });
90
100
  // Only reorder columns if the new index is _not_ part of the
@@ -129,11 +139,13 @@ var useSpreadsheetMouseUp = function useSpreadsheetMouseUp(_ref) {
129
139
  var indicatorLineElement = ref.current.querySelector(".".concat(blockClass, "__reorder-indicator-line"));
130
140
  indicatorLineElement === null || indicatorLineElement === void 0 || indicatorLineElement.remove();
131
141
  selectionAreaCloneElement === null || selectionAreaCloneElement === void 0 || selectionAreaCloneElement.remove();
142
+ selectionAreaElement === null || selectionAreaElement === void 0 || (_selectionAreaElement = selectionAreaElement.classList) === null || _selectionAreaElement === void 0 || _selectionAreaElement.remove("".concat(blockClass, "__selection-area--element"));
143
+ setSelectedHeaderReorderActive(false);
132
144
  }
133
145
  }
134
146
  // Mouse up was on a spreadsheet body cell which is a valid
135
147
  // start/end point for creating a selection area
136
- if (validStartingPoint) {
148
+ if (validStartingPoint || event.type === 'mouseup') {
137
149
  setClickAndHoldActive(false);
138
150
  setValidStartingPoint(false);
139
151
  var cellButton = event.target.closest(".".concat(blockClass, "__body--td"));
@@ -162,7 +174,7 @@ var useSpreadsheetMouseUp = function useSpreadsheetMouseUp(_ref) {
162
174
  return function () {
163
175
  document.removeEventListener('mouseup', handleMouseUp);
164
176
  };
165
- }, [blockClass, currentMatcher, setSelectionAreas, setClickAndHoldActive, setValidStartingPoint, validStartingPoint, ref, setHeaderCellHoldActive, setColumnOrder, visibleColumns, setActiveCellCoordinates, activeCellCoordinates, rows, defaultColumn, selectionAreas]);
177
+ }, [blockClass, currentMatcher, setSelectionAreas, setClickAndHoldActive, setValidStartingPoint, validStartingPoint, selectedHeaderReorderActive, setSelectedHeaderReorderActive, ref, setHeaderCellHoldActive, setColumnOrder, visibleColumns, setActiveCellCoordinates, activeCellCoordinates, rows, defaultColumn, selectionAreas]);
166
178
  };
167
179
 
168
180
  exports.useSpreadsheetMouseUp = useSpreadsheetMouseUp;
@@ -13,7 +13,7 @@ export interface PrevState {
13
13
  cellEditorValue?: string;
14
14
  activeCellCoordinates?: ActiveCellCoordinates;
15
15
  isEditing?: boolean;
16
- selectionAreaData?: object[];
16
+ selectionAreaData?: any[];
17
17
  clickAndHoldActive?: boolean;
18
18
  rowHeight?: number;
19
19
  cellSize?: Size;
@@ -26,11 +26,43 @@ var moveColumnIndicatorLine = function moveColumnIndicatorLine(_ref) {
26
26
  var indicatorLineElement = ref.current.querySelector(".".concat(blockClass, "__reorder-indicator-line"));
27
27
  var matcherId = clonedSelectionElement === null || clonedSelectionElement === void 0 ? void 0 : clonedSelectionElement.getAttribute('data-matcher-id');
28
28
  var selectionAreaOrigin = ref.current.querySelector("[data-matcher-id=\"".concat(matcherId, "\"]"));
29
+ var listContainer = ref.current.querySelector(".".concat(blockClass, "__list--container"));
30
+ var scrollSpeed = 10; // Scrolling speed
31
+ var leftEdgeThreshold = 120; // Distance from the left edge to start scrolling
32
+ var rightEdgeThreshold = 100; // Distance from the right edge to start scrolling
33
+
34
+ var _event = event,
35
+ clientX = _event.clientX;
36
+ var _listContainer$getBou = listContainer.getBoundingClientRect(),
37
+ left = _listContainer$getBou.left,
38
+ right = _listContainer$getBou.right;
39
+
40
+ // Is near left side of viewport
41
+ if (clientX < leftEdgeThreshold) {
42
+ window.scrollBy(-scrollSpeed, 0);
43
+ }
44
+
45
+ // Is near right side of viewport
46
+ if (clientX > window.innerWidth - rightEdgeThreshold) {
47
+ window.scrollBy(scrollSpeed, 0);
48
+ }
49
+
50
+ // Is near left edge of table
51
+ if (clientX > left && clientX < left + leftEdgeThreshold) {
52
+ listContainer.scrollBy(-scrollSpeed, 0);
53
+ }
54
+
55
+ // Is near right edge of table
56
+ if (clientX < right && clientX > right - rightEdgeThreshold) {
57
+ listContainer.scrollBy(scrollSpeed, 0);
58
+ }
29
59
  if (Number(newColumnIndex) > Number(originalColumnIndex)) {
30
- indicatorLineElement.style.left = layout.px(closestCellCoords.left - spreadsheetCoords.left + closestCell.offsetWidth - 2 + leftScrollAmount);
60
+ var leftPosition = closestCellCoords.left - spreadsheetCoords.left + closestCell.offsetWidth - 2 + leftScrollAmount;
61
+ indicatorLineElement.style.left = layout.px(leftPosition);
31
62
  }
32
63
  if (Number(newColumnIndex) < Number(originalColumnIndex)) {
33
- indicatorLineElement.style.left = layout.px(closestCellCoords.left - spreadsheetCoords.left + leftScrollAmount);
64
+ var _leftPosition = closestCellCoords.left - spreadsheetCoords.left + leftScrollAmount;
65
+ indicatorLineElement.style.left = layout.px(_leftPosition);
34
66
  }
35
67
  if (Number(newColumnIndex) === Number(originalColumnIndex)) {
36
68
  indicatorLineElement.style.left = selectionAreaOrigin.style.left;
@@ -55,7 +55,8 @@ exports.Datagrid = /*#__PURE__*/React__default["default"].forwardRef(function (_
55
55
  };
56
56
  return /*#__PURE__*/React__default["default"].createElement(FilterProvider.FilterProvider, {
57
57
  filters: state === null || state === void 0 ? void 0 : state.filters,
58
- filterProps: filterProps
58
+ filterProps: filterProps,
59
+ tableId: tableId
59
60
  }, /*#__PURE__*/React__default["default"].createElement(InlineEditContext.InlineEditProvider, null, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
60
61
  id: tableId,
61
62
  ref: ref,
@@ -167,7 +167,7 @@ var DatagridContent = function DatagridContent(_ref) {
167
167
  className: "".concat(blockClass, "__filter-summary"),
168
168
  filters: filterTags,
169
169
  clearFilters: function clearFilters() {
170
- return EventEmitter.dispatch(constants.CLEAR_FILTERS);
170
+ return EventEmitter.dispatch(constants.CLEAR_FILTERS, tableId);
171
171
  },
172
172
  renderLabel: filterProps === null || filterProps === void 0 ? void 0 : filterProps.renderLabel,
173
173
  overflowType: "tag"
@@ -99,7 +99,8 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
99
99
  var resizerAriaLabel = datagridState.resizerAriaLabel,
100
100
  isTableSortable = datagridState.isTableSortable,
101
101
  rows = datagridState.rows,
102
- isFetching = datagridState.isFetching;
102
+ isFetching = datagridState.isFetching,
103
+ headers = datagridState.headers;
103
104
  useInitialColumnSort.useInitialColumnSort(datagridState);
104
105
  // Used to measure the height of the table and uses that value
105
106
  // to display a vertical line to indicate the column you are resizing
@@ -161,6 +162,9 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
161
162
  });
162
163
  var key = headerGroupProps.key,
163
164
  rowProps = _rollupPluginBabelHelpers.objectWithoutProperties(headerGroupProps, _excluded2);
165
+ var withActionsColumn = headers ? !!headers.filter(function (header) {
166
+ return header.isAction;
167
+ }).length : false;
164
168
  return /*#__PURE__*/React__default["default"].createElement(react.TableRow, _rollupPluginBabelHelpers["extends"]({
165
169
  key: key
166
170
  }, rowProps, {
@@ -193,6 +197,12 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
193
197
  var _header$getHeaderProp = header.getHeaderProps(),
194
198
  headerProps = _rollupPluginBabelHelpers["extends"]({}, (_rollupPluginBabelHelpers.objectDestructuringEmpty(_header$getHeaderProp), _header$getHeaderProp));
195
199
  var resizerProps = header === null || header === void 0 || (_header$getResizerPro = header.getResizerProps) === null || _header$getResizerPro === void 0 ? void 0 : _header$getResizerPro.call(header);
200
+ var headerStyle = headerProps === null || headerProps === void 0 ? void 0 : headerProps.style;
201
+ var lastVisibleIndex = withActionsColumn ? 2 : 1;
202
+ var lastVisibleFlexStyle = index === visibleColumns.length - lastVisibleIndex ? '1 1 0' : '0 0 auto';
203
+ if (headerStyle) {
204
+ headerStyle.flex = lastVisibleFlexStyle;
205
+ }
196
206
  return /*#__PURE__*/React__default["default"].createElement(react.TableHeader, _rollupPluginBabelHelpers["extends"]({}, headerProps, {
197
207
  className: cx__default["default"](header === null || header === void 0 ? void 0 : header.className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__resizableColumn"), resizerProps), "".concat(blockClass, "__isResizing"), header === null || header === void 0 ? void 0 : header.isResizing), "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), "".concat(blockClass, "__isSorted"), header === null || header === void 0 ? void 0 : header.isSorted), "".concat(blockClass, "__header-actions-column"), header === null || header === void 0 ? void 0 : header.isAction), "".concat(blockClass, "__with-slug"), header.slug && /*#__PURE__*/React__default["default"].isValidElement(header === null || header === void 0 ? void 0 : header.slug)), headerProps.className),
198
208
  key: header.id,
@@ -25,7 +25,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
25
25
 
26
26
  var _SkeletonText;
27
27
  var _excluded = ["className"],
28
- _excluded2 = ["children"];
28
+ _excluded2 = ["style", "children"];
29
29
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
30
30
  var rowHeights = {
31
31
  xs: 24,
@@ -48,7 +48,8 @@ var DatagridRow = function DatagridRow(datagridState) {
48
48
  withExpandedRows = datagridState.withExpandedRows,
49
49
  withMouseHover = datagridState.withMouseHover,
50
50
  setMouseOverRowIndex = datagridState.setMouseOverRowIndex,
51
- headers = datagridState.headers;
51
+ headers = datagridState.headers,
52
+ visibleColumns = datagridState.visibleColumns;
52
53
  var getVisibleNestedRowCount = function getVisibleNestedRowCount(_ref) {
53
54
  var isExpanded = _ref.isExpanded,
54
55
  subRows = _ref.subRows;
@@ -124,6 +125,9 @@ var DatagridRow = function DatagridRow(datagridState) {
124
125
  return /*#__PURE__*/React.isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.slug);
125
126
  });
126
127
  var rowClassNames = cx__default["default"]("".concat(blockClass, "__carbon-row"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), "".concat(settings.carbon.prefix, "--data-table--selected"), row.isSelected), "".concat(blockClass, "__slug--row"), /*#__PURE__*/React.isValidElement(row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.slug)));
128
+ var withActionsColumn = headers ? !!headers.filter(function (header) {
129
+ return header.isAction;
130
+ }).length : false;
127
131
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
128
132
  key: key
129
133
  }, /*#__PURE__*/React__default["default"].createElement(react.TableRow, _rollupPluginBabelHelpers["extends"]({}, rowProps, {
@@ -145,6 +149,7 @@ var DatagridRow = function DatagridRow(datagridState) {
145
149
  var cellProps = cell.getCellProps();
146
150
  // eslint-disable-next-line no-unused-vars
147
151
  var _ref2 = cellProps,
152
+ style = _ref2.style,
148
153
  children = _ref2.children,
149
154
  restProps = _rollupPluginBabelHelpers.objectWithoutProperties(_ref2, _excluded2);
150
155
  var columnClassname = cell === null || cell === void 0 || (_cell$column = cell.column) === null || _cell$column === void 0 ? void 0 : _cell$column.className;
@@ -159,9 +164,15 @@ var DatagridRow = function DatagridRow(datagridState) {
159
164
  var associatedHeader = headers === null || headers === void 0 ? void 0 : headers.filter(function (h) {
160
165
  return h.id === cell.column.id;
161
166
  });
167
+ var lastVisibleIndex = withActionsColumn ? 2 : 1;
168
+ var lastVisibleFlexStyle = index === visibleColumns.length - lastVisibleIndex ? '1 1 0' : '0 0 auto';
169
+ if (style) {
170
+ style.flex = lastVisibleFlexStyle;
171
+ }
162
172
  return /*#__PURE__*/React__default["default"].createElement(react.TableCell, _rollupPluginBabelHelpers["extends"]({
163
173
  className: cx__default["default"]("".concat(blockClass, "__cell"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), row.canExpand && index === 0), "".concat(blockClass, "__expandable-row-cell--is-expanded"), row.isExpanded && index === 0), "".concat(blockClass, "__slug--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/React.isValidElement((_associatedHeader$ = associatedHeader[0]) === null || _associatedHeader$ === void 0 ? void 0 : _associatedHeader$.slug)), columnClassname)
164
174
  }, restProps, {
175
+ style: style,
165
176
  key: cell.column.id,
166
177
  title: title
167
178
  }), content);
@@ -218,7 +218,12 @@ var FilterFlyout = function FilterFlyout(_ref) {
218
218
  closeFlyout();
219
219
  cancel();
220
220
  });
221
- useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, reset);
221
+
222
+ // tableId is passed in from the event emitter from the FilterSummary component
223
+ // in DatagridContent
224
+ useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, function (tableId) {
225
+ reset(tableId);
226
+ });
222
227
  React.useEffect(function reflectLastAppliedFiltersWhenReactTableUpdates() {
223
228
  lastAppliedFilters.current = JSON.stringify(reactTableFiltersState);
224
229
  }, [reactTableFiltersState, lastAppliedFilters]);
@@ -192,7 +192,12 @@ var FilterPanel = function FilterPanel(_ref) {
192
192
  var _filterPanelRef$curre;
193
193
  (_filterPanelRef$curre = filterPanelRef.current) === null || _filterPanelRef$curre === void 0 || _filterPanelRef$curre.style.setProperty('--filter-panel-min-height', layout.rem(filterPanelMinHeight));
194
194
  }, [filterPanelMinHeight]);
195
- useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, reset);
195
+
196
+ // tableId is passed in from the event emitter from the FilterSummary component
197
+ // in DatagridContent
198
+ useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, function (tableId) {
199
+ reset(tableId);
200
+ });
196
201
  var getScrollableContainerHeight = function getScrollableContainerHeight() {
197
202
  var _filterHeadingRef$cur, _filterSearchRef$curr, _actionSetRef$current;
198
203
  var filterHeadingHeight = (_filterHeadingRef$cur = filterHeadingRef.current) === null || _filterHeadingRef$cur === void 0 ? void 0 : _filterHeadingRef$cur.getBoundingClientRect().height;
@@ -3,16 +3,18 @@ export function clearSingleFilter({ key, value }: {
3
3
  key: any;
4
4
  value: any;
5
5
  }, setAllFilters: any, state: any): void;
6
- export function FilterProvider({ children, filters, filterProps }: {
6
+ export function FilterProvider({ children, filters, filterProps, tableId }: {
7
7
  children: any;
8
8
  filters: any;
9
9
  filterProps: any;
10
+ tableId: any;
10
11
  }): import("react/jsx-runtime").JSX.Element;
11
12
  export namespace FilterProvider {
12
13
  namespace propTypes {
13
14
  let children: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike>>>;
14
15
  let filterProps: PropTypes.Requireable<object>;
15
16
  let filters: PropTypes.Validator<(object | null | undefined)[]>;
17
+ let tableId: PropTypes.Requireable<string>;
16
18
  }
17
19
  }
18
20
  import React from 'react';
@@ -164,7 +164,8 @@ var filteringReducer = function filteringReducer(state, action) {
164
164
  var FilterProvider = function FilterProvider(_ref4) {
165
165
  var children = _ref4.children,
166
166
  filters = _ref4.filters,
167
- filterProps = _ref4.filterProps;
167
+ filterProps = _ref4.filterProps,
168
+ tableId = _ref4.tableId;
168
169
  var _ref5 = filterProps || {},
169
170
  renderDateLabel = _ref5.renderDateLabel;
170
171
  var filterTags = prepareFiltersForTags(filters, renderDateLabel);
@@ -185,7 +186,8 @@ var FilterProvider = function FilterProvider(_ref4) {
185
186
  panelOpen: panelOpen,
186
187
  setPanelOpen: setPanelOpen,
187
188
  state: state,
188
- dispatch: dispatch
189
+ dispatch: dispatch,
190
+ tableId: tableId
189
191
  };
190
192
  return /*#__PURE__*/React__default["default"].createElement(FilterContext.Provider, {
191
193
  value: value
@@ -194,7 +196,8 @@ var FilterProvider = function FilterProvider(_ref4) {
194
196
  FilterProvider.propTypes = {
195
197
  children: index["default"].oneOfType([index["default"].arrayOf(index["default"].node), index["default"].node]).isRequired,
196
198
  filterProps: index["default"].object,
197
- filters: index["default"].arrayOf(index["default"].object).isRequired
199
+ filters: index["default"].arrayOf(index["default"].object).isRequired,
200
+ tableId: index["default"].string
198
201
  };
199
202
 
200
203
  exports.FilterContext = FilterContext;
@@ -15,7 +15,7 @@ declare function useFilters({ updateMethod, filters, setAllFilters, variation, r
15
15
  prevFiltersObjectArrayRef: React.MutableRefObject<string>;
16
16
  prevFiltersRef: React.MutableRefObject<string>;
17
17
  revertToPreviousFilters: () => void;
18
- reset: () => void;
18
+ reset: (tableId: any) => void;
19
19
  renderFilter: ({ type, column, props: components }: {
20
20
  type: any;
21
21
  column: any;
@@ -36,7 +36,8 @@ var useFilters = function useFilters(_ref) {
36
36
  isFetching = _ref.isFetching;
37
37
  var _useContext = React.useContext(FilterProvider.FilterContext),
38
38
  state = _useContext.state,
39
- localDispatch = _useContext.dispatch;
39
+ localDispatch = _useContext.dispatch,
40
+ contextTableId = _useContext.tableId;
40
41
  var savedFilters = state.savedFilters;
41
42
  /** State */
42
43
  var _useState = React.useState(utils.getInitialStateFromFilters(filters, variation, reactTableFiltersState)),
@@ -77,24 +78,28 @@ var useFilters = function useFilters(_ref) {
77
78
  holdingLastAppliedFiltersRef.current = JSON.parse(prevFiltersObjectArrayRef.current);
78
79
  holdingPrevFiltersObjectArrayRef.current = JSON.parse(lastAppliedFilters.current);
79
80
  }, [setAllFilters]);
80
- var reset = React.useCallback(function () {
81
- // When we reset we want the "initialFilters" to be an empty array
82
- var resetFiltersArray = [];
81
+ var reset = React.useCallback(function (tableId) {
82
+ // only reset filters if tableid of the datagrid that triggered "clear filters"
83
+ // matches the table id stored in its context instance
84
+ if (tableId === contextTableId) {
85
+ // When we reset we want the "initialFilters" to be an empty array
86
+ var resetFiltersArray = [];
83
87
 
84
- // Get the initial values for the filters
85
- var initialFiltersState = utils.getInitialStateFromFilters(filters, variation, resetFiltersArray);
86
- var initialFiltersObjectArray = [];
88
+ // Get the initial values for the filters
89
+ var initialFiltersState = utils.getInitialStateFromFilters(filters, variation, resetFiltersArray);
90
+ var initialFiltersObjectArray = [];
87
91
 
88
- // Set the state to the initial values
89
- setFiltersState(initialFiltersState);
90
- setFiltersObjectArray(initialFiltersObjectArray);
91
- setAllFilters([]);
92
+ // Set the state to the initial values
93
+ setFiltersState(initialFiltersState);
94
+ setFiltersObjectArray(initialFiltersObjectArray);
95
+ setAllFilters([]);
92
96
 
93
- // Update their respective refs so everything is in sync
94
- prevFiltersRef.current = JSON.stringify(initialFiltersState);
95
- prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
96
- lastAppliedFilters.current = JSON.stringify([]);
97
- }, [filters, setAllFilters, variation]);
97
+ // Update their respective refs so everything is in sync
98
+ prevFiltersRef.current = JSON.stringify(initialFiltersState);
99
+ prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
100
+ lastAppliedFilters.current = JSON.stringify([]);
101
+ }
102
+ }, [filters, setAllFilters, variation, contextTableId]);
98
103
  var applyFilters = function applyFilters(_ref2) {
99
104
  var column = _ref2.column,
100
105
  value = _ref2.value,