@carbon/ibm-products 2.15.2 → 2.17.0-alpha.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. package/css/config-dev.css +3 -0
  2. package/css/config-dev.css.map +1 -0
  3. package/css/index-full-carbon.css +195 -1
  4. package/css/index-full-carbon.css.map +1 -1
  5. package/css/index-full-carbon.min.css +1 -1
  6. package/css/index-full-carbon.min.css.map +1 -1
  7. package/css/index-without-carbon-released-only.css +1852 -38
  8. package/css/index-without-carbon-released-only.css.map +1 -1
  9. package/css/index-without-carbon-released-only.min.css +1 -1
  10. package/css/index-without-carbon-released-only.min.css.map +1 -1
  11. package/css/index-without-carbon.css +195 -1
  12. package/css/index-without-carbon.css.map +1 -1
  13. package/css/index-without-carbon.min.css +1 -1
  14. package/css/index-without-carbon.min.css.map +1 -1
  15. package/css/index.css +5 -1
  16. package/css/index.css.map +1 -1
  17. package/css/index.min.css +1 -1
  18. package/css/index.min.css.map +1 -1
  19. package/es/components/Datagrid/Datagrid/DatagridContent.js +12 -9
  20. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +3 -3
  21. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +36 -22
  22. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -11
  23. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +7 -3
  24. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +24 -13
  25. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +2 -2
  26. package/es/components/Datagrid/Datagrid/addons/stateReducer.js +50 -14
  27. package/es/components/Datagrid/Datagrid.docs-page.js +4 -4
  28. package/es/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +1 -1
  29. package/es/components/Datagrid/useActionsColumn.js +1 -4
  30. package/es/components/Datagrid/useDatagrid.js +5 -1
  31. package/es/components/Datagrid/useFlexResize.js +19 -9
  32. package/es/components/Datagrid/useInfiniteScroll.js +1 -5
  33. package/es/components/Datagrid/useOnRowClick.js +6 -7
  34. package/es/components/Datagrid/useSelectRows.js +8 -5
  35. package/es/components/Datagrid/useSortableColumns.js +5 -7
  36. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +2 -1
  37. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +2 -1
  38. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +2 -1
  39. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +2 -1
  40. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +2 -1
  41. package/es/components/EmptyStates/assets/ErrorIllustration.js +5 -3
  42. package/es/components/EmptyStates/assets/NoDataIllustration.js +5 -3
  43. package/es/components/EmptyStates/assets/NoTagsIllustration.js +5 -3
  44. package/es/components/EmptyStates/assets/NotFoundIllustration.js +5 -3
  45. package/es/components/EmptyStates/assets/NotificationsIllustration.js +5 -3
  46. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +5 -3
  47. package/es/components/InlineTip/InlineTip.docs-page.js +13 -0
  48. package/es/components/InlineTip/InlineTip.js +217 -0
  49. package/es/components/InlineTip/InlineTipButton.js +53 -0
  50. package/es/components/InlineTip/InlineTipLink.js +57 -0
  51. package/es/components/InlineTip/index.js +10 -0
  52. package/es/components/InlineTip/utils.js +36 -0
  53. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.docs-page.js +11 -0
  54. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +140 -0
  55. package/es/components/SteppedAnimatedMedia/assets/index.js +4 -0
  56. package/es/components/SteppedAnimatedMedia/index.js +8 -0
  57. package/es/global/js/package-settings.js +3 -4
  58. package/lib/components/Datagrid/Datagrid/DatagridContent.js +12 -9
  59. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +3 -3
  60. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +41 -29
  61. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +11 -11
  62. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +7 -3
  63. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +23 -12
  64. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +2 -2
  65. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +51 -15
  66. package/lib/components/Datagrid/Datagrid.docs-page.js +4 -4
  67. package/lib/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +1 -1
  68. package/lib/components/Datagrid/useActionsColumn.js +1 -7
  69. package/lib/components/Datagrid/useDatagrid.js +5 -1
  70. package/lib/components/Datagrid/useFlexResize.js +19 -9
  71. package/lib/components/Datagrid/useInfiniteScroll.js +0 -4
  72. package/lib/components/Datagrid/useOnRowClick.js +6 -7
  73. package/lib/components/Datagrid/useSelectRows.js +8 -5
  74. package/lib/components/Datagrid/useSortableColumns.js +5 -7
  75. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +2 -1
  76. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +2 -1
  77. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +2 -1
  78. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +2 -1
  79. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +2 -1
  80. package/lib/components/EmptyStates/assets/ErrorIllustration.js +5 -3
  81. package/lib/components/EmptyStates/assets/NoDataIllustration.js +5 -3
  82. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +5 -3
  83. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +5 -3
  84. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +5 -3
  85. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +5 -3
  86. package/lib/components/InlineTip/InlineTip.docs-page.js +23 -0
  87. package/lib/components/InlineTip/InlineTip.js +224 -0
  88. package/lib/components/InlineTip/InlineTipButton.js +57 -0
  89. package/lib/components/InlineTip/InlineTipLink.js +61 -0
  90. package/lib/components/InlineTip/index.js +26 -0
  91. package/lib/components/InlineTip/utils.js +43 -0
  92. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.docs-page.js +21 -0
  93. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +148 -0
  94. package/lib/components/SteppedAnimatedMedia/assets/index.js +9 -0
  95. package/lib/components/SteppedAnimatedMedia/index.js +12 -0
  96. package/lib/global/js/package-settings.js +3 -4
  97. package/package.json +6 -7
  98. package/scss/components/Datagrid/styles/_datagrid.scss +5 -0
  99. package/scss/components/{TooltipTrigger/_storybook-styles.scss → InlineTip/_index.scss} +2 -0
  100. package/scss/components/InlineTip/_inline-tip.scss +229 -0
  101. package/scss/components/SidePanel/_side-panel.scss +1 -4
  102. package/scss/components/_index-released-only-with-carbon.scss +1 -0
  103. package/scss/components/_index-released-only.scss +1 -0
  104. package/scss/components/_index.scss +1 -0
  105. package/scss/config-dev.scss +3 -0
  106. package/scss/components/APIKeyModal/_storybook-styles.scss +0 -35
  107. package/scss/components/AboutModal/_storybook-styles.scss +0 -29
  108. package/scss/components/ActionBar/_storybook-styles.scss +0 -8
  109. package/scss/components/ActionSet/_storybook-styles.scss +0 -36
  110. package/scss/components/AddSelect/_storybook-styles.scss +0 -6
  111. package/scss/components/BreadcrumbWithOverflow/_storybook-styles.scss +0 -8
  112. package/scss/components/ButtonMenu/_storybook-styles.scss +0 -6
  113. package/scss/components/ButtonSetWithOverflow/_storybook-styles.scss +0 -8
  114. package/scss/components/Card/_storybook-styles.scss +0 -12
  115. package/scss/components/Cascade/_storybook-styles.scss +0 -34
  116. package/scss/components/Checklist/_storybook-styles.scss +0 -13
  117. package/scss/components/CreateFullPage/_storybook-styles.scss +0 -67
  118. package/scss/components/CreateModal/_storybook-styles.scss +0 -54
  119. package/scss/components/CreateSidePanel/_storybook-styles.scss +0 -32
  120. package/scss/components/CreateTearsheet/_storybook-styles.scss +0 -56
  121. package/scss/components/CreateTearsheetNarrow/_storybook-styles.scss +0 -27
  122. package/scss/components/DataSpreadsheet/_storybook-styles.scss +0 -17
  123. package/scss/components/Datagrid/_storybook-styles.scss +0 -157
  124. package/scss/components/EditFullPage/_storybook-styles.scss +0 -10
  125. package/scss/components/EditInPlace/_storybook-styles.scss +0 -15
  126. package/scss/components/EditSidePanel/_storybook-styles.scss +0 -32
  127. package/scss/components/EditTearsheet/_storybook-styles.scss +0 -59
  128. package/scss/components/EditTearsheetNarrow/_storybook-styles.scss +0 -10
  129. package/scss/components/EditUpdateCards/_storybook-styles.scss +0 -55
  130. package/scss/components/EmptyStates/_storybook-styles.scss +0 -6
  131. package/scss/components/ExampleComponent/_storybook-styles.scss +0 -6
  132. package/scss/components/ExportModal/_storybook-styles.scss +0 -6
  133. package/scss/components/ExpressiveCard/_storybook-styles.scss +0 -26
  134. package/scss/components/FilterSummary/_storybook-styles.scss +0 -16
  135. package/scss/components/ImportModal/_storybook-styles.scss +0 -6
  136. package/scss/components/MultiAddSelect/_storybook-styles.scss +0 -6
  137. package/scss/components/NotificationsPanel/_storybook-styles.scss +0 -23
  138. package/scss/components/OptionsTile/_storybook-styles.scss +0 -29
  139. package/scss/components/PageHeader/_storybook-styles.scss +0 -90
  140. package/scss/components/ProductiveCard/_storybook-styles.scss +0 -23
  141. package/scss/components/RemoveModal/_storybook-styles.scss +0 -6
  142. package/scss/components/Saving/_storybook-styles.scss +0 -12
  143. package/scss/components/SidePanel/_storybook-styles.scss +0 -52
  144. package/scss/components/SingleAddSelect/_storybook-styles.scss +0 -6
  145. package/scss/components/StatusIcon/_storybook-styles.scss +0 -6
  146. package/scss/components/TagSet/_storybook-styles.scss +0 -8
  147. package/scss/components/Tearsheet/_storybook-styles.scss +0 -25
  148. package/scss/components/UserProfileImage/_storybook.scss +0 -6
  149. package/scss/components/WebTerminal/_storybook-styles.scss +0 -46
@@ -0,0 +1,140 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["className", "playStep", "filePaths"];
6
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
7
+ /**
8
+ * Copyright IBM Corp. 2023, 2023
9
+ *
10
+ * This source code is licensed under the Apache-2.0 license found in the
11
+ * LICENSE file in the root directory of this source tree.
12
+ */
13
+
14
+ // Import portions of React that are needed.
15
+ import React, { useEffect, useRef, useState } from 'react';
16
+ import lottie from 'lottie-web';
17
+ import clamp from 'lodash/clamp';
18
+ // Other standard imports.
19
+ import PropTypes from 'prop-types';
20
+ import cx from 'classnames';
21
+ import { getDevtoolsProps } from '../../global/js/utils/devtools';
22
+ import { pkg } from '../../settings';
23
+
24
+ // The block part of our conventional BEM class names (blockClass__E--M).
25
+ var blockClass = "".concat(pkg.prefix, "--stepped-animated-media");
26
+ var componentName = 'SteppedAnimatedMedia';
27
+
28
+ // NOTE: the component SCSS is not imported here: it is rolled up separately.
29
+
30
+ // Default values for props
31
+ var defaults = {
32
+ playStep: 0
33
+ };
34
+
35
+ /**
36
+ * The SteppedAnimatedMedia is a Novice to Pro internal component and is not intended for general use.
37
+ */
38
+ export var SteppedAnimatedMedia = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
39
+ var className = _ref.className,
40
+ _ref$playStep = _ref.playStep,
41
+ playStep = _ref$playStep === void 0 ? defaults.playStep : _ref$playStep,
42
+ filePaths = _ref.filePaths,
43
+ rest = _objectWithoutProperties(_ref, _excluded);
44
+ var _useState = useState([]),
45
+ _useState2 = _slicedToArray(_useState, 2),
46
+ jsonData = _useState2[0],
47
+ setJsonData = _useState2[1];
48
+ var animRef = useRef();
49
+ var backupRef = useRef();
50
+ var localRef = ref !== null && ref !== void 0 ? ref : backupRef;
51
+ // load animation source
52
+ useEffect(function () {
53
+ var isJsonFile = function isJsonFile(filePath) {
54
+ return filePath.includes('.json');
55
+ };
56
+ function loadArtifact() {
57
+ return _loadArtifact.apply(this, arguments);
58
+ }
59
+ function _loadArtifact() {
60
+ _loadArtifact = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
61
+ var allJsonArtifacts, rawResponse, jsonResponse, fileData;
62
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
63
+ while (1) switch (_context.prev = _context.next) {
64
+ case 0:
65
+ if (!(filePaths && filePaths.every(isJsonFile))) {
66
+ _context.next = 10;
67
+ break;
68
+ }
69
+ allJsonArtifacts = filePaths.map(function (el) {
70
+ return fetch(el);
71
+ });
72
+ _context.next = 4;
73
+ return Promise.all(allJsonArtifacts);
74
+ case 4:
75
+ rawResponse = _context.sent;
76
+ jsonResponse = rawResponse.map(function (el) {
77
+ return el.json();
78
+ });
79
+ _context.next = 8;
80
+ return Promise.all(jsonResponse);
81
+ case 8:
82
+ fileData = _context.sent;
83
+ setJsonData(fileData);
84
+ case 10:
85
+ case "end":
86
+ return _context.stop();
87
+ }
88
+ }, _callee);
89
+ }));
90
+ return _loadArtifact.apply(this, arguments);
91
+ }
92
+ loadArtifact();
93
+ }, [filePaths]);
94
+ useEffect(function () {
95
+ var _window;
96
+ var prefersReducedMotion = (_window = window) !== null && _window !== void 0 && _window.matchMedia ? window.matchMedia('(prefers-reduced-motion: reduce)').matches : true;
97
+ if (localRef.current) {
98
+ var _animRef$current, _animRef$current2, _animRef$current3;
99
+ (_animRef$current = animRef.current) === null || _animRef$current === void 0 || _animRef$current.destroy();
100
+ animRef.current = lottie.loadAnimation({
101
+ container: localRef.current,
102
+ renderer: 'svg',
103
+ animationData: jsonData[clamp(playStep, 0, jsonData.length - 1)],
104
+ loop: false,
105
+ autoplay: false,
106
+ rendererSettings: {
107
+ preserveAspectRatio: 'xMidYMid slice'
108
+ }
109
+ });
110
+ prefersReducedMotion ? (_animRef$current2 = animRef.current) === null || _animRef$current2 === void 0 ? void 0 : _animRef$current2.goToAndStop(0) : (_animRef$current3 = animRef.current) === null || _animRef$current3 === void 0 ? void 0 : _animRef$current3.goToAndPlay(0);
111
+ }
112
+ return function () {
113
+ var _animRef$current4;
114
+ return (_animRef$current4 = animRef.current) === null || _animRef$current4 === void 0 ? void 0 : _animRef$current4.destroy();
115
+ };
116
+ }, [jsonData, localRef, playStep]);
117
+ if (!jsonData) {
118
+ return null;
119
+ }
120
+ return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
121
+ className: cx(blockClass, className),
122
+ role: "img",
123
+ ref: localRef
124
+ }, getDevtoolsProps(componentName)));
125
+ });
126
+ SteppedAnimatedMedia.displayName = componentName;
127
+ SteppedAnimatedMedia.propTypes = {
128
+ /**
129
+ * Optional class name for this component.
130
+ */
131
+ className: PropTypes.string,
132
+ /**
133
+ * The file path(s) to json formatted Lottie animation files.
134
+ */
135
+ filePaths: PropTypes.arrayOf(PropTypes.string).isRequired,
136
+ /**
137
+ * Which animation step from the filePaths array to play.
138
+ */
139
+ playStep: PropTypes.number
140
+ };
@@ -0,0 +1,4 @@
1
+ var HowACaseIsCreated1 = new URL('./illustrations/how-a-case-is-created-1', import.meta.url).pathname;
2
+ var HowACaseIsCreated2 = new URL('./illustrations/how-a-case-is-created-2', import.meta.url).pathname;
3
+ var HowACaseIsCreated3 = new URL('./illustrations/how-a-case-is-created-3', import.meta.url).pathname;
4
+ export { HowACaseIsCreated1, HowACaseIsCreated2, HowACaseIsCreated3 };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright IBM Corp. 2023, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ export { SteppedAnimatedMedia } from './SteppedAnimatedMedia';
@@ -25,6 +25,7 @@ var defaults = {
25
25
  CreateTearsheet: true,
26
26
  CreateTearsheetStep: true,
27
27
  CreateTearsheetDivider: true,
28
+ Datagrid: true,
28
29
  EditInPlace: true,
29
30
  EmptyState: true,
30
31
  ErrorEmptyState: true,
@@ -63,7 +64,6 @@ var defaults = {
63
64
  EditSidePanel: false,
64
65
  CancelableTextEdit: false,
65
66
  DataSpreadsheet: false,
66
- Datagrid: false,
67
67
  EditTearsheet: false,
68
68
  EditTearsheetForm: false,
69
69
  EditTearsheetNarrow: false,
@@ -72,17 +72,16 @@ var defaults = {
72
72
  /* new component flags here - comment used by generate CLI */
73
73
 
74
74
  // Novice to pro components not yet reviewed and released:
75
- Checklist: false
75
+ Checklist: false,
76
+ InlineTip: false
76
77
  },
77
78
  // feature level flags
78
79
  feature: {
79
80
  'default-portal-target-body': true,
80
- 'Datagrid.useInfiniteScroll': false,
81
81
  'Datagrid.useInlineEdit': false,
82
82
  'Datagrid.useEditableCell': false,
83
83
  'Datagrid.useExpandedRow': false,
84
84
  'Datagrid.useNestedRows': false,
85
- 'Datagrid.useActionsColumn': false,
86
85
  'Datagrid.useFiltering': false,
87
86
  'Datagrid.useCustomizeColumns': false,
88
87
  'ExampleComponent.secondaryIcon': false,
@@ -39,7 +39,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
39
39
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
40
40
  var gcClass = "".concat(blockClass, "__grid-container");
41
41
  var DatagridContent = exports.DatagridContent = function DatagridContent(_ref) {
42
- var _cx4;
42
+ var _cx5;
43
43
  var datagridState = _ref.datagridState,
44
44
  title = _ref.title;
45
45
  var _useContext = (0, _react.useContext)(_InlineEditContext.InlineEditContext),
@@ -52,8 +52,7 @@ var DatagridContent = exports.DatagridContent = function DatagridContent(_ref) {
52
52
  var activeCellId = inlineEditState.activeCellId,
53
53
  gridActive = inlineEditState.gridActive,
54
54
  editId = inlineEditState.editId;
55
- var _datagridState$getTab = datagridState.getTableProps,
56
- getTableProps = _datagridState$getTab === void 0 ? function () {} : _datagridState$getTab,
55
+ var getTableProps = datagridState.getTableProps,
57
56
  getFilterFlyoutProps = datagridState.getFilterFlyoutProps,
58
57
  withVirtualScroll = datagridState.withVirtualScroll,
59
58
  DatagridPagination = datagridState.DatagridPagination,
@@ -76,6 +75,7 @@ var DatagridContent = exports.DatagridContent = function DatagridContent(_ref) {
76
75
  state = datagridState.state,
77
76
  page = datagridState.page,
78
77
  rows = datagridState.rows;
78
+ var columnResizing = state.columnResizing;
79
79
  var contentRows = DatagridPagination && page || rows;
80
80
  var gridAreaRef = (0, _react.useRef)();
81
81
  var multiKeyTrackingRef = (0, _react.useRef)();
@@ -97,10 +97,11 @@ var DatagridContent = exports.DatagridContent = function DatagridContent(_ref) {
97
97
  var renderTable = function renderTable() {
98
98
  var _getTableProps;
99
99
  return /*#__PURE__*/_react.default.createElement(_react2.Table, (0, _extends2.default)({}, getTableProps(), {
100
- className: (0, _classnames.default)(withVirtualScroll ? '' : "".concat(blockClass, "__table-simple"), "".concat(blockClass, "__vertical-align-").concat(verticalAlign), (0, _defineProperty2.default)({}, "".concat(blockClass, "__variable-row-height"), variableRowHeight), (0, _defineProperty2.default)({}, "".concat(blockClass, "__table-with-inline-edit"), withInlineEdit), (0, _defineProperty2.default)({}, "".concat(blockClass, "__table-grid-active"), gridActive), (_getTableProps = getTableProps()) === null || _getTableProps === void 0 ? void 0 : _getTableProps.className),
100
+ className: (0, _classnames.default)(withVirtualScroll ? '' : "".concat(blockClass, "__table-simple"), "".concat(blockClass, "__vertical-align-").concat(verticalAlign), (0, _defineProperty2.default)({}, "".concat(blockClass, "__variable-row-height"), variableRowHeight), (0, _defineProperty2.default)({}, "".concat(blockClass, "__table-with-inline-edit"), withInlineEdit), (0, _defineProperty2.default)({}, "".concat(blockClass, "__table-grid-active"), gridActive), (0, _defineProperty2.default)({}, "".concat(blockClass, "__table-is-resizing"), typeof columnResizing.isResizingColumn === 'string'), (_getTableProps = getTableProps()) === null || _getTableProps === void 0 ? void 0 : _getTableProps.className),
101
101
  role: withInlineEdit ? 'grid' : undefined,
102
102
  tabIndex: withInlineEdit ? 0 : -1,
103
- onKeyDown: withInlineEdit ? function (event) {
103
+ onKeyDown: /* istanbul ignore next */
104
+ withInlineEdit && function (event) {
104
105
  return (0, _handleGridKeyPress.handleGridKeyPress)({
105
106
  event: event,
106
107
  dispatch: dispatch,
@@ -109,10 +110,10 @@ var DatagridContent = exports.DatagridContent = function DatagridContent(_ref) {
109
110
  state: inlineEditState,
110
111
  usingMac: usingMac
111
112
  });
112
- } : null,
113
- onFocus: withInlineEdit ? function () {
113
+ },
114
+ onFocus: withInlineEdit && function () {
114
115
  return (0, _handleGridFocus.handleGridFocus)(inlineEditState, dispatch);
115
- } : null,
116
+ },
116
117
  title: title
117
118
  }), !withVirtualScroll && /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState), /*#__PURE__*/_react.default.createElement(_DatagridBody.default, (0, _extends2.default)({}, datagridState, {
118
119
  rows: contentRows
@@ -141,6 +142,8 @@ var DatagridContent = exports.DatagridContent = function DatagridContent(_ref) {
141
142
  (0, _hooks3.useSubscribeToEventEmitter)(_constants.CLEAR_SINGLE_FILTER, function (id) {
142
143
  return (0, _FilterProvider.clearSingleFilter)(id, setAllFilters, state);
143
144
  });
145
+
146
+ /* istanbul ignore next */
144
147
  var renderFilterSummary = function renderFilterSummary() {
145
148
  return state.filters.length > 0 && /*#__PURE__*/_react.default.createElement(_FilterSummary.FilterSummary, {
146
149
  className: "".concat(blockClass, "__filter-summary"),
@@ -153,7 +156,7 @@ var DatagridContent = exports.DatagridContent = function DatagridContent(_ref) {
153
156
  });
154
157
  };
155
158
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.TableContainer, {
156
- className: (0, _classnames.default)("".concat(gcClass), (_cx4 = {}, (0, _defineProperty2.default)(_cx4, "".concat(gcClass, "-active"), gridActive), (0, _defineProperty2.default)(_cx4, "".concat(gcClass, "-active--without-toolbar"), withInlineEdit && !DatagridActions), (0, _defineProperty2.default)(_cx4, "".concat(gcClass, "-inline-edit"), withInlineEdit), (0, _defineProperty2.default)(_cx4, "".concat(blockClass, "__full-height"), withVirtualScroll || fullHeightDatagrid), (0, _defineProperty2.default)(_cx4, "".concat(blockClass, "__with-pagination"), DatagridPagination), (0, _defineProperty2.default)(_cx4, "".concat(blockClass, "__dense-header"), useDenseHeader), _cx4)),
159
+ className: (0, _classnames.default)("".concat(gcClass), (_cx5 = {}, (0, _defineProperty2.default)(_cx5, "".concat(gcClass, "-active"), gridActive), (0, _defineProperty2.default)(_cx5, "".concat(gcClass, "-active--without-toolbar"), withInlineEdit && !DatagridActions), (0, _defineProperty2.default)(_cx5, "".concat(gcClass, "-inline-edit"), withInlineEdit), (0, _defineProperty2.default)(_cx5, "".concat(blockClass, "__full-height"), withVirtualScroll || fullHeightDatagrid), (0, _defineProperty2.default)(_cx5, "".concat(blockClass, "__with-pagination"), DatagridPagination), (0, _defineProperty2.default)(_cx5, "".concat(blockClass, "__dense-header"), useDenseHeader), _cx5)),
157
160
  title: gridTitle,
158
161
  description: gridDescription
159
162
  }, /*#__PURE__*/_react.default.createElement(_DatagridToolbar.default, datagridState), /*#__PURE__*/_react.default.createElement("div", {
@@ -20,10 +20,10 @@ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
20
20
  var DatagridExpandedRow = function DatagridExpandedRow(ExpandedRowContentComponent) {
21
21
  return function (datagridState) {
22
22
  var row = datagridState.row;
23
- var _ref = row || {},
24
- expandedContentHeight = _ref.expandedContentHeight;
23
+ var expandedContentHeight = row.expandedContentHeight;
25
24
  var toggleParentHoverClass = function toggleParentHoverClass(event, eventType) {
26
25
  var _event$target;
26
+ /* istanbul ignore else */
27
27
  if (event !== null && event !== void 0 && (_event$target = event.target) !== null && _event$target !== void 0 && (_event$target = _event$target.parentNode) !== null && _event$target !== void 0 && _event$target.previousElementSibling) {
28
28
  var parentNode = event.target.parentNode.previousElementSibling;
29
29
  if (eventType === 'enter') {
@@ -44,7 +44,7 @@ var DatagridExpandedRow = function DatagridExpandedRow(ExpandedRowContentCompone
44
44
  }, /*#__PURE__*/_react.default.createElement("div", {
45
45
  className: "".concat(blockClass, "__expanded-row-content"),
46
46
  style: {
47
- height: expandedContentHeight ? expandedContentHeight : null
47
+ height: expandedContentHeight && expandedContentHeight
48
48
  }
49
49
  }, /*#__PURE__*/_react.default.createElement(ExpandedRowContentComponent, datagridState)));
50
50
  };
@@ -19,13 +19,13 @@ var _stateReducer = require("./addons/stateReducer");
19
19
  var _getNodeTextContent = require("../../../global/js/utils/getNodeTextContent");
20
20
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
- /**
23
- * Copyright IBM Corp. 2020, 2023
24
- *
25
- * This source code is licensed under the Apache-2.0 license found in the
26
- * LICENSE file in the root directory of this source tree.
27
- */
28
-
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
24
+ * Copyright IBM Corp. 2020, 2023
25
+ *
26
+ * This source code is licensed under the Apache-2.0 license found in the
27
+ * LICENSE file in the root directory of this source tree.
28
+ */
29
29
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
30
30
  var getAccessibilityProps = function getAccessibilityProps(header) {
31
31
  var props = {};
@@ -38,35 +38,44 @@ var getAccessibilityProps = function getAccessibilityProps(header) {
38
38
  return props;
39
39
  };
40
40
  var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
41
+ var resizerAriaLabel = datagridState.resizerAriaLabel;
41
42
  // Used to measure the height of the table and uses that value
42
43
  // to display a vertical line to indicate the column you are resizing
43
44
  (0, _react.useEffect)(function () {
44
45
  var tableId = datagridState.tableId;
45
- if (tableId) {
46
- var gridElement = document.querySelector("#".concat(tableId));
47
- var tableElement = gridElement.querySelector('table');
48
- var headerRowElement = document.querySelector("#".concat(tableId, " .").concat(blockClass, "__head"));
49
- var hasHorizontalScrollbar = tableElement.scrollWidth > tableElement.clientWidth;
50
- var scrollBuffer = hasHorizontalScrollbar ? 18 : 2;
51
- var tableToolbar = gridElement.querySelector(".".concat(blockClass, "__table-toolbar"));
52
- var tableToolbarHeight = (tableToolbar === null || tableToolbar === void 0 ? void 0 : tableToolbar.offsetHeight) || 0;
53
- var setCustomValues = function setCustomValues(_ref) {
54
- var _ref$rowHeight = _ref.rowHeight,
55
- rowHeight = _ref$rowHeight === void 0 ? 48 : _ref$rowHeight,
56
- gridHeight = _ref.gridHeight;
57
- headerRowElement.style.setProperty("--".concat(blockClass, "--row-height"), (0, _layout.px)(rowHeight));
58
- headerRowElement.style.setProperty("--".concat(blockClass, "--grid-height"), (0, _layout.px)(gridHeight - scrollBuffer - tableToolbarHeight));
59
- headerRowElement.style.setProperty("--".concat(blockClass, "--header-height"), (0, _layout.px)(headerRowElement.offsetHeight));
60
- };
61
- setCustomValues({
62
- gridHeight: gridElement.offsetHeight,
63
- rowHeight: headerRowElement.clientHeight
64
- });
65
- }
46
+ var gridElement = document.querySelector("#".concat(tableId));
47
+ var tableElement = gridElement.querySelector('table');
48
+ var headerRowElement = document.querySelector("#".concat(tableId, " .").concat(blockClass, "__head"));
49
+ var hasHorizontalScrollbar = tableElement.scrollWidth > tableElement.clientWidth;
50
+ var scrollBuffer = hasHorizontalScrollbar ? 18 : 2;
51
+ var tableToolbar = gridElement.querySelector(".".concat(blockClass, "__table-toolbar"));
52
+ var tableToolbarHeight = (tableToolbar === null || tableToolbar === void 0 ? void 0 : tableToolbar.offsetHeight) || 0;
53
+ var setCustomValues = function setCustomValues(_ref) {
54
+ var rowHeight = _ref.rowHeight,
55
+ gridHeight = _ref.gridHeight;
56
+ headerRowElement.style.setProperty("--".concat(blockClass, "--row-height"), (0, _layout.px)(rowHeight));
57
+ headerRowElement.style.setProperty("--".concat(blockClass, "--grid-height"), (0, _layout.px)(gridHeight - scrollBuffer - tableToolbarHeight));
58
+ headerRowElement.style.setProperty("--".concat(blockClass, "--header-height"), (0, _layout.px)(headerRowElement.offsetHeight));
59
+ };
60
+ setCustomValues({
61
+ gridHeight: gridElement.offsetHeight,
62
+ rowHeight: headerRowElement.clientHeight
63
+ });
66
64
  }, [datagridState.rowSize, datagridState.tableId, datagridState]);
67
65
  var _useState = (0, _react.useState)(2),
68
66
  _useState2 = (0, _slicedToArray2.default)(_useState, 1),
69
67
  incrementAmount = _useState2[0];
68
+ var handleOnMouseDownResize = function handleOnMouseDownResize(event, resizeProps) {
69
+ var _resizeProps = _objectSpread({}, resizeProps()),
70
+ onMouseDown = _resizeProps.onMouseDown;
71
+ // When event.button is 2, that is a right click
72
+ // and we do not want to resize
73
+ if (event.button === 2 || event.ctrlKey) {
74
+ event.target.blur();
75
+ return;
76
+ }
77
+ onMouseDown === null || onMouseDown === void 0 || onMouseDown(event);
78
+ };
70
79
  return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps(), {
71
80
  className: (0, _classnames.default)("".concat(blockClass, "__head"), headerGroup.getHeaderGroupProps().className),
72
81
  ref: headRef
@@ -96,6 +105,9 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
96
105
  key: header.id,
97
106
  "aria-hidden": header.id === 'spacer' && 'true'
98
107
  }, getAccessibilityProps(header)), header.render('Header'), header.getResizerProps && !header.isAction && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, header.getResizerProps(), {
108
+ onMouseDown: function onMouseDown(event) {
109
+ return handleOnMouseDownResize(event, header.getResizerProps);
110
+ },
99
111
  onKeyDown: function onKeyDown(event) {
100
112
  var key = event.key;
101
113
  if (key === 'ArrowLeft' || key === 'ArrowRight') {
@@ -119,7 +131,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
119
131
  className: (0, _classnames.default)("".concat(blockClass, "__col-resizer-range")),
120
132
  type: "range",
121
133
  defaultValue: originalCol.width,
122
- "aria-label": "Resize column"
134
+ "aria-label": resizerAriaLabel || 'Resize column'
123
135
  })), /*#__PURE__*/_react.default.createElement("span", {
124
136
  className: "".concat(blockClass, "__col-resize-indicator")
125
137
  })));
@@ -15,14 +15,12 @@ var _react2 = require("@carbon/react");
15
15
  var _classnames = _interopRequireDefault(require("classnames"));
16
16
  var _settings = require("../../../settings");
17
17
  var _excluded = ["onChange"];
18
- /*
19
- * Licensed Materials - Property of IBM
20
- * 5724-Q36
21
- * (c) Copyright IBM Corp. 2023
22
- * US Government Users Restricted Rights - Use, duplication or disclosure
23
- * restricted by GSA ADP Schedule Contract with IBM Corp.
18
+ /**
19
+ * Copyright IBM Corp. 2020, 2023
20
+ *
21
+ * This source code is licensed under the Apache-2.0 license found in the
22
+ * LICENSE file in the root directory of this source tree.
24
23
  */
25
- // @flow
26
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
27
25
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
28
26
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
@@ -33,6 +31,7 @@ var SelectAll = exports.SelectAll = function SelectAll(datagridState) {
33
31
  windowSize = _useState2[0],
34
32
  setWindowSize = _useState2[1];
35
33
  (0, _react.useLayoutEffect)(function () {
34
+ /* istanbul ignore next */
36
35
  function updateSize() {
37
36
  setWindowSize(window.innerWidth);
38
37
  }
@@ -53,15 +52,15 @@ var SelectAll = exports.SelectAll = function SelectAll(datagridState) {
53
52
  var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
54
53
  if (hideSelectAll || radio) {
55
54
  return /*#__PURE__*/_react.default.createElement("div", {
56
- className: (0, _classnames.default)("".concat(blockClass, "__head-hidden-select-all"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft && windowSize > 671))
55
+ className: (0, _classnames.default)("".concat(blockClass, "__head-hidden-select-all"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__select-all-sticky-left"), /* istanbul ignore next */
56
+ isFirstColumnStickyLeft && windowSize > 671))
57
57
  });
58
58
  }
59
59
  var getProps = DatagridPagination ? getToggleAllPageRowsSelectedProps : getToggleAllRowsSelectedProps;
60
60
  var _getProps = getProps(),
61
61
  onChange = _getProps.onChange,
62
62
  selectProps = (0, _objectWithoutProperties2.default)(_getProps, _excluded);
63
- var _ref = selectProps || {},
64
- indeterminate = _ref.indeterminate;
63
+ var indeterminate = selectProps.indeterminate;
65
64
  var handleSelectAllChange = function handleSelectAllChange(event) {
66
65
  if (indeterminate) {
67
66
  return onChange === null || onChange === void 0 ? void 0 : onChange({
@@ -73,7 +72,8 @@ var SelectAll = exports.SelectAll = function SelectAll(datagridState) {
73
72
  return onChange === null || onChange === void 0 ? void 0 : onChange(event);
74
73
  };
75
74
  return /*#__PURE__*/_react.default.createElement("div", {
76
- className: (0, _classnames.default)("".concat(blockClass, "__head-select-all"), "".concat(blockClass, "__checkbox-cell"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), isFirstColumnStickyLeft && windowSize > 671))
75
+ className: (0, _classnames.default)("".concat(blockClass, "__head-select-all"), "".concat(blockClass, "__checkbox-cell"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), /* istanbul ignore next */
76
+ isFirstColumnStickyLeft && windowSize > 671))
77
77
  }, /*#__PURE__*/_react.default.createElement(_react2.TableSelectAll, (0, _extends2.default)({}, selectProps, {
78
78
  name: "".concat(tableId, "-select-all-checkbox-name"),
79
79
  onSelect: handleSelectAllChange,
@@ -41,7 +41,10 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
41
41
  toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
42
42
  toolbarBatchActions = datagridState.toolbarBatchActions,
43
43
  setGlobalFilter = datagridState.setGlobalFilter,
44
- rows = datagridState.rows;
44
+ rows = datagridState.rows,
45
+ batchActionMenuButtonLabel = datagridState.batchActionMenuButtonLabel,
46
+ translateWithIdBatchActions = datagridState.translateWithIdBatchActions;
47
+ var batchActionMenuButtonLabelText = batchActionMenuButtonLabel !== null && batchActionMenuButtonLabel !== void 0 ? batchActionMenuButtonLabel : 'More';
45
48
  var selectedKeys = Object.keys(selectedRowIds || {});
46
49
  var totalSelected = selectedKeys.length;
47
50
 
@@ -94,7 +97,7 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
94
97
  });
95
98
  };
96
99
  return /*#__PURE__*/_react.default.createElement(_react2.MenuButton, {
97
- label: "More",
100
+ label: batchActionMenuButtonLabelText,
98
101
  className: (0, _classnames.default)([menuClass, (0, _defineProperty2.default)({}, "".concat(menuClass, "-icon-only"), width <= minWidthBeforeOverflowIcon)])
99
102
  }, toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
100
103
  var hidden = index < 2 && !displayAllInMenu;
@@ -126,7 +129,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
126
129
  totalSelected: totalSelected,
127
130
  onCancel: onCancelHandler,
128
131
  onSelectAll: onSelectAllHandler,
129
- totalCount: rows && rows.length
132
+ totalCount: rows && rows.length,
133
+ translateWithId: translateWithIdBatchActions
130
134
  }, !displayAllInMenu && toolbarBatchActions && (toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
131
135
  if (index < 2 && toolbarBatchActions.length > 3 || index < 3 && toolbarBatchActions.length <= 3) {
132
136
  return /*#__PURE__*/_react.default.createElement(_react2.TableBatchAction, {
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
10
  var _react = _interopRequireWildcard(require("react"));
12
11
  var _reactWindow = require("react-window");
@@ -48,19 +47,15 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
48
47
  DatagridPagination = datagridState.DatagridPagination,
49
48
  page = datagridState.page,
50
49
  handleResize = datagridState.handleResize,
51
- gridRef = datagridState.gridRef;
50
+ gridRef = datagridState.gridRef,
51
+ tableId = datagridState.tableId;
52
+
53
+ /* istanbul ignore next */
52
54
  var handleVirtualGridResize = function handleVirtualGridResize() {
53
55
  var gridRefElement = gridRef === null || gridRef === void 0 ? void 0 : gridRef.current;
54
56
  gridRefElement.style.width = gridRefElement === null || gridRefElement === void 0 ? void 0 : gridRefElement.clientWidth;
55
57
  };
56
58
  (0, _useResizeObserver.useResizeObserver)(gridRef, handleVirtualGridResize);
57
- var syncScroll = function syncScroll(event) {
58
- var virtualBody = event.target;
59
- document.querySelector(".".concat(blockClass, "__head-wrap")).scrollLeft = virtualBody.scrollLeft;
60
- var spacerColumn = document.querySelector(".".concat(blockClass, "__head-wrap thead th:last-child"));
61
- spacerColumn.style.width = (0, _layout.px)(32 + (virtualBody.offsetWidth - virtualBody.clientWidth)); // scrollbar width to header column to fix header alignment
62
- };
63
-
64
59
  (0, _react.useEffect)(function () {
65
60
  handleResize();
66
61
  }, [handleResize]);
@@ -69,15 +64,30 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
69
64
  listRef.current.resetAfterIndex(0);
70
65
  }
71
66
  var visibleRows = DatagridPagination && page || rows;
67
+ var testRef = (0, _react.useRef)();
68
+
69
+ // Sync the scrollLeft position of the virtual body to the table header
70
+ (0, _react.useEffect)(function () {
71
+ function handleScroll(event) {
72
+ var virtualBody = event.target;
73
+ document.querySelector("#".concat(tableId, " .").concat(blockClass, "__head-wrap")).scrollLeft = virtualBody.scrollLeft;
74
+ var spacerColumn = document.querySelector("#".concat(tableId, " .").concat(blockClass, "__head-wrap thead th:last-child"));
75
+ spacerColumn.style.width = (0, _layout.px)(32 + (virtualBody.offsetWidth - virtualBody.clientWidth)); // scrollbar width to header column to fix header alignment
76
+ }
77
+
78
+ var testRefValue = testRef.current;
79
+ testRefValue.addEventListener('scroll', handleScroll);
80
+ return function () {
81
+ testRefValue.removeEventListener('scroll', handleScroll);
82
+ };
83
+ });
72
84
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
73
85
  className: "".concat(blockClass, "__head-wrap"),
74
86
  style: {
75
87
  width: (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.clientWidth,
76
88
  overflow: 'hidden'
77
89
  }
78
- }, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
79
- onScroll: syncScroll
80
- }), /*#__PURE__*/_react.default.createElement(_reactWindow.VariableSizeList, {
90
+ }, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(_react2.TableBody, getTableBodyProps(), /*#__PURE__*/_react.default.createElement(_reactWindow.VariableSizeList, {
81
91
  height: virtualHeight || tableHeight,
82
92
  itemCount: visibleRows.length,
83
93
  itemSize: function itemSize(index) {
@@ -86,6 +96,7 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
86
96
  estimatedItemSize: rowHeight,
87
97
  onScroll: onScroll,
88
98
  innerRef: innerListRef,
99
+ outerRef: testRef,
89
100
  ref: listRef,
90
101
  className: "".concat(blockClass, "__virtual-scrollbar"),
91
102
  style: {
@@ -71,10 +71,10 @@ var DraggableItemsList = exports.DraggableItemsList = function DraggableItemsLis
71
71
  if (destOverCol !== null && destOverCol !== void 0 && destOverCol.length && (_destOverCol$ = destOverCol[0]) !== null && _destOverCol$ !== void 0 && _destOverCol$.disabled) {
72
72
  return;
73
73
  }
74
- var fromVisibleIndex = columns.findIndex(function (col) {
74
+ var fromVisibleIndex = updatedDragCols.findIndex(function (col) {
75
75
  return matchedColsById(col, active);
76
76
  });
77
- var toVisibleIndex = columns.findIndex(function (col) {
77
+ var toVisibleIndex = updatedDragCols.findIndex(function (col) {
78
78
  return matchedColsById(col, over);
79
79
  });
80
80
  var colTitle = (0, _getNodeTextContent.getNodeTextContent)(updatedDragCols[fromVisibleIndex].Header);