@carbon/ibm-products 2.14.0 → 2.15.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. package/css/index-full-carbon.css +483 -33
  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 +27 -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 -18
  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 +33 -6
  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/AddSelect/AddSelectRow.js +1 -0
  18. package/es/components/CreateFullPage/CreateFullPage.docs-page.js +6 -0
  19. package/es/components/CreateFullPage/CreateFullPageStep.js +7 -1
  20. package/es/components/CreateInfluencer/CreateInfluencer.js +2 -1
  21. package/es/components/CreateTearsheet/CreateTearsheet.docs-page.js +7 -0
  22. package/es/components/CreateTearsheet/CreateTearsheetStep.js +8 -2
  23. package/es/components/CreateTearsheet/preview-components/MultiStepWithStepInErrorState.js +145 -0
  24. package/es/components/Datagrid/Datagrid/DatagridContent.js +4 -2
  25. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +5 -50
  26. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +18 -19
  27. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -2
  28. package/es/components/Datagrid/Datagrid/addons/Filtering/OverflowCheckboxes.js +1 -1
  29. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +3 -2
  30. package/es/components/Datagrid/Datagrid/addons/stateReducer.js +37 -24
  31. package/es/components/Datagrid/useActionsColumn.js +1 -1
  32. package/es/components/Datagrid/useColumnCenterAlign.js +6 -6
  33. package/es/components/Datagrid/useColumnRightAlign.js +6 -6
  34. package/es/components/Datagrid/useNestedRowExpander.js +10 -1
  35. package/es/components/Datagrid/useRowExpander.js +11 -1
  36. package/es/components/Datagrid/useSelectAllToggle.js +2 -2
  37. package/es/components/Datagrid/useSelectRows.js +27 -21
  38. package/es/components/Datagrid/useSortableColumns.js +1 -1
  39. package/es/components/EditTearsheet/EditTearsheet.js +9 -7
  40. package/es/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +12 -5
  41. package/es/global/js/hooks/index.js +3 -2
  42. package/es/global/js/hooks/usePrefix.js +11 -0
  43. package/es/global/js/hooks/useRetrieveStepData.js +6 -3
  44. package/es/index.js +2 -1
  45. package/lib/components/AddSelect/AddSelectRow.js +1 -0
  46. package/lib/components/CreateFullPage/CreateFullPage.docs-page.js +6 -0
  47. package/lib/components/CreateFullPage/CreateFullPageStep.js +7 -1
  48. package/lib/components/CreateInfluencer/CreateInfluencer.js +2 -1
  49. package/lib/components/CreateTearsheet/CreateTearsheet.docs-page.js +7 -0
  50. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +8 -2
  51. package/lib/components/CreateTearsheet/preview-components/MultiStepWithStepInErrorState.js +155 -0
  52. package/lib/components/Datagrid/Datagrid/DatagridContent.js +4 -2
  53. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +4 -50
  54. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +18 -19
  55. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -2
  56. package/lib/components/Datagrid/Datagrid/addons/Filtering/OverflowCheckboxes.js +1 -1
  57. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +3 -2
  58. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +44 -33
  59. package/lib/components/Datagrid/useActionsColumn.js +1 -1
  60. package/lib/components/Datagrid/useColumnCenterAlign.js +5 -6
  61. package/lib/components/Datagrid/useColumnRightAlign.js +5 -6
  62. package/lib/components/Datagrid/useNestedRowExpander.js +15 -9
  63. package/lib/components/Datagrid/useRowExpander.js +16 -9
  64. package/lib/components/Datagrid/useSelectAllToggle.js +2 -2
  65. package/lib/components/Datagrid/useSelectRows.js +27 -21
  66. package/lib/components/Datagrid/useSortableColumns.js +1 -1
  67. package/lib/components/EditTearsheet/EditTearsheet.js +9 -7
  68. package/lib/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +12 -5
  69. package/lib/global/js/hooks/index.js +8 -1
  70. package/lib/global/js/hooks/usePrefix.js +18 -0
  71. package/lib/global/js/hooks/useRetrieveStepData.js +6 -3
  72. package/lib/index.js +9 -1
  73. package/package.json +8 -8
  74. package/scss/components/Checklist/_checklist.scss +18 -16
  75. package/scss/components/Datagrid/_storybook-styles.scss +14 -0
  76. package/scss/components/Datagrid/styles/_useInlineEdit.scss +6 -6
@@ -26,8 +26,6 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
26
26
  * LICENSE file in the root directory of this source tree.
27
27
  */
28
28
 
29
- // @flow
30
-
31
29
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
32
30
  var getAccessibilityProps = function getAccessibilityProps(header) {
33
31
  var props = {};
@@ -69,38 +67,6 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
69
67
  var _useState = (0, _react.useState)(2),
70
68
  _useState2 = (0, _slicedToArray2.default)(_useState, 1),
71
69
  incrementAmount = _useState2[0];
72
- var getClientXPosition = function getClientXPosition(event) {
73
- var isTouchEvent = false;
74
- if (event.type === 'touchstart') {
75
- // Do not respond to multiple touches (e.g. 2 or 3 fingers)
76
- if (event.touches && event.touches.length > 1) {
77
- return;
78
- }
79
- isTouchEvent = true;
80
- }
81
- var clientX = isTouchEvent ? Math.round(event.touches[0].clientX) : event.clientX;
82
- var closestHeader = event.target.closest('th');
83
- var closestHeaderCoords = closestHeader.getBoundingClientRect();
84
- var headerOffset = closestHeaderCoords.left;
85
- var offsetValue = clientX - headerOffset;
86
- return offsetValue;
87
- };
88
- (0, _react.useEffect)(function () {
89
- var isResizing = datagridState.state.isResizing;
90
- if (isResizing) {
91
- var onColResizeEnd = datagridState.onColResizeEnd;
92
- document.addEventListener('mouseup', function () {
93
- (0, _stateReducer.handleColumnResizeEndEvent)(datagridState.dispatch, onColResizeEnd, isResizing);
94
- document.activeElement.blur();
95
- });
96
- }
97
- return function () {
98
- document.removeEventListener('mouseup', function () {
99
- return (0, _stateReducer.handleColumnResizeEndEvent)(datagridState.dispatch);
100
- });
101
- };
102
- // eslint-disable-next-line react-hooks/exhaustive-deps
103
- }, [datagridState.state.isResizing]);
104
70
  return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps(), {
105
71
  className: (0, _classnames.default)("".concat(blockClass, "__head"), headerGroup.getHeaderGroupProps().className),
106
72
  ref: headRef
@@ -121,8 +87,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
121
87
  state = datagridState.state,
122
88
  dispatch = datagridState.dispatch,
123
89
  onColResizeEnd = datagridState.onColResizeEnd;
124
- var columnResizing = state.columnResizing,
125
- isResizing = state.isResizing;
90
+ var columnResizing = state.columnResizing;
126
91
  var columnWidths = columnResizing.columnWidths;
127
92
  var originalCol = visibleColumns[index];
128
93
  return /*#__PURE__*/_react.default.createElement(_react2.TableHeader, (0, _extends2.default)({}, header.getHeaderProps(), {
@@ -130,22 +95,11 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
130
95
  key: header.id,
131
96
  "aria-hidden": header.id === 'spacer' && 'true'
132
97
  }, getAccessibilityProps(header)), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, header.getResizerProps(), {
133
- onMouseMove: function onMouseMove(event) {
134
- if (isResizing) {
135
- var newWidth = getClientXPosition(event);
136
- // Sets a min width for resizing so at least one character from the column header is visible
137
- if (newWidth >= 50) {
138
- (0, _stateReducer.handleColumnResizingEvent)(dispatch, header, newWidth);
139
- }
140
- }
141
- },
142
- onMouseDown: function onMouseDown() {
143
- return (0, _stateReducer.handleColumnResizeStartEvent)(dispatch, header.id);
144
- },
145
98
  onKeyDown: function onKeyDown(event) {
146
99
  var key = event.key;
147
100
  if (key === 'ArrowLeft' || key === 'ArrowRight') {
148
- var currentColumnWidth = columnWidths[header.id] || (datagridState.isTableSortable && originalCol.width < 90 ? 90 : originalCol.width);
101
+ var originalColMinWidth = originalCol.minWidth || 90;
102
+ var currentColumnWidth = columnWidths[header.id] || (datagridState.isTableSortable && originalCol.width < originalColMinWidth ? originalColMinWidth : originalCol.width);
149
103
  if (key === 'ArrowLeft') {
150
104
  if (currentColumnWidth - incrementAmount > Math.max(minWidth, 50)) {
151
105
  var newWidth = currentColumnWidth - incrementAmount;
@@ -159,7 +113,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
159
113
  }
160
114
  },
161
115
  onKeyUp: function onKeyUp() {
162
- return (0, _stateReducer.handleColumnResizeEndEvent)(dispatch, onColResizeEnd, header.id);
116
+ return (0, _stateReducer.handleColumnResizeEndEvent)(dispatch, onColResizeEnd, header.id, true);
163
117
  },
164
118
  className: (0, _classnames.default)("".concat(blockClass, "__col-resizer-range")),
165
119
  type: "range",
@@ -22,9 +22,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
22
22
  * LICENSE file in the root directory of this source tree.
23
23
  */
24
24
 
25
- var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
25
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid__table-toolbar");
26
26
  var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridState, width, ref) {
27
- var _Object$keys;
28
27
  var _useState = (0, _react.useState)(false),
29
28
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
30
29
  displayAllInMenu = _useState2[0],
@@ -43,7 +42,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
43
42
  toolbarBatchActions = datagridState.toolbarBatchActions,
44
43
  setGlobalFilter = datagridState.setGlobalFilter,
45
44
  rows = datagridState.rows;
46
- var totalSelected = (_Object$keys = Object.keys(selectedRowIds || {})) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length;
45
+ var selectedKeys = Object.keys(selectedRowIds || {});
46
+ var totalSelected = selectedKeys.length;
47
47
 
48
48
  // Get initial width of batch actions container,
49
49
  // used to measure when all items are put inside
@@ -64,21 +64,20 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
64
64
  }
65
65
  }, [width, ref, initialListWidth]);
66
66
  var getSelectedRowData = function getSelectedRowData() {
67
- var selectedRowIndexes = Object.keys(selectedRowIds);
68
- var selectedRowData = selectedRowIndexes && selectedRowIndexes.length ? selectedRowIndexes.map(function (rowIndex) {
67
+ if (selectedKeys.length === 0) {
68
+ return [];
69
+ }
70
+ return selectedKeys.map(function (rowIndex) {
69
71
  var filteredRow = rows.filter(function (row) {
70
72
  return row.index === parseInt(rowIndex);
71
73
  });
72
- if (filteredRow.length) {
73
- return filteredRow[0];
74
- }
75
- return [];
76
- }) : [];
77
- return selectedRowData;
74
+ return filteredRow.length ? filteredRow[0] : [];
75
+ });
78
76
  };
79
77
 
80
78
  // Render batch actions in ButtonMenu
81
79
  var renderBatchActionOverflow = function renderBatchActionOverflow() {
80
+ var menuClass = "".concat(blockClass, "__button-menu");
82
81
  var minWidthBeforeOverflowIcon = 380;
83
82
  // Do not render ButtonMenu when there are 3 or less items
84
83
  // and if there is enough available space to render all the items
@@ -96,12 +95,12 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
96
95
  };
97
96
  return /*#__PURE__*/_react.default.createElement(_react2.MenuButton, {
98
97
  label: "More",
99
- className: (0, _classnames.default)("".concat(blockClass, "__button-menu"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__button-menu--icon-only"), width <= minWidthBeforeOverflowIcon))
100
- }, toolbarBatchActions && toolbarBatchActions.map(function (batchAction, index) {
101
- if (index < 2 && !displayAllInMenu) {
102
- return;
98
+ className: (0, _classnames.default)([menuClass, (0, _defineProperty2.default)({}, "".concat(menuClass, "-icon-only"), width <= minWidthBeforeOverflowIcon)])
99
+ }, toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
100
+ var hidden = index < 2 && !displayAllInMenu;
101
+ if (!hidden) {
102
+ return renderItem(batchAction, index);
103
103
  }
104
- return renderItem(batchAction, index);
105
104
  }));
106
105
  };
107
106
  var onClickHandler = function onClickHandler(event, batchAction) {
@@ -149,12 +148,12 @@ var DatagridToolbar = function DatagridToolbar(datagridState) {
149
148
  DatagridBatchActions = datagridState.DatagridBatchActions,
150
149
  batchActions = datagridState.batchActions,
151
150
  rowSize = datagridState.rowSize;
152
- var getRowHeight = rowSize ? rowSize : 'lg';
151
+ var getRowHeight = rowSize || 'lg';
153
152
  return batchActions && DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
154
153
  ref: ref,
155
- className: (0, _classnames.default)("".concat(blockClass, "__table-toolbar"), "".concat(blockClass, "__table-toolbar--").concat(getRowHeight))
154
+ className: (0, _classnames.default)([blockClass, "".concat(blockClass, "--").concat(getRowHeight)])
156
155
  }, /*#__PURE__*/_react.default.createElement(_react2.TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActionsToolbar && DatagridBatchActionsToolbar(datagridState, width, ref))) : DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
157
- className: "".concat(blockClass, "__table-toolbar")
156
+ className: blockClass
158
157
  }, /*#__PURE__*/_react.default.createElement(_react2.TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActions && DatagridBatchActions(datagridState))) : null;
159
158
  };
160
159
  var _default = exports.default = DatagridToolbar;
@@ -67,7 +67,9 @@ var FilterPanel = function FilterPanel(_ref) {
67
67
  _ref$searchPlaceholde = _ref.searchPlaceholder,
68
68
  searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde,
69
69
  _ref$reactTableFilter = _ref.reactTableFiltersState,
70
- reactTableFiltersState = _ref$reactTableFilter === void 0 ? [] : _ref$reactTableFilter;
70
+ reactTableFiltersState = _ref$reactTableFilter === void 0 ? [] : _ref$reactTableFilter,
71
+ _ref$autoHideFilters = _ref.autoHideFilters,
72
+ autoHideFilters = _ref$autoHideFilters === void 0 ? false : _ref$autoHideFilters;
71
73
  /** State */
72
74
  var _useState = (0, _react2.useState)(false),
73
75
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -85,7 +87,8 @@ var FilterPanel = function FilterPanel(_ref) {
85
87
  variation: _constants.PANEL,
86
88
  reactTableFiltersState: reactTableFiltersState,
87
89
  onCancel: onCancel,
88
- panelOpen: panelOpen
90
+ panelOpen: panelOpen,
91
+ autoHideFilters: autoHideFilters
89
92
  }),
90
93
  filtersState = _useFilters.filtersState,
91
94
  prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
@@ -248,6 +251,7 @@ var FilterPanel = function FilterPanel(_ref) {
248
251
  })), renderActionSet()));
249
252
  };
250
253
  FilterPanel.propTypes = {
254
+ autoHideFilters: _propTypes.default.bool,
251
255
  closeIconDescription: _propTypes.default.string,
252
256
  filterPanelMinHeight: _propTypes.default.number,
253
257
  filterSections: _propTypes.default.array,
@@ -31,7 +31,7 @@ var OverflowCheckboxes = function OverflowCheckboxes(_ref) {
31
31
  showAllItems = _useState2[0],
32
32
  setShowAllItems = _useState2[1];
33
33
  var firstFiveItems = filtersState[column].value.slice(0, 5);
34
- var restOfTheItems = filtersState[column].value.slice(5, filtersState[column].value.length - 1);
34
+ var restOfTheItems = filtersState[column].value.slice(5, filtersState[column].value.length);
35
35
  var renderCheckbox = function renderCheckbox(option) {
36
36
  return /*#__PURE__*/_react2.default.createElement(_react.Checkbox, (0, _extends2.default)({
37
37
  key: option.labelText
@@ -60,7 +60,8 @@ var useFilters = function useFilters(_ref2) {
60
60
  reactTableFiltersState = _ref2.reactTableFiltersState,
61
61
  _ref2$onCancel = _ref2.onCancel,
62
62
  onCancel = _ref2$onCancel === void 0 ? function () {} : _ref2$onCancel,
63
- panelOpen = _ref2.panelOpen;
63
+ panelOpen = _ref2.panelOpen,
64
+ autoHideFilters = _ref2.autoHideFilters;
64
65
  /** State */
65
66
  var _useState = (0, _react2.useState)((0, _utils.getInitialStateFromFilters)(filters, variation, reactTableFiltersState)),
66
67
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -212,7 +213,7 @@ var useFilters = function useFilters(_ref2) {
212
213
  return console.error("type: ".concat(type, "; does not exist as a type of filter."));
213
214
  }
214
215
  var renderCheckboxes = function renderCheckboxes() {
215
- if (variation === _constants.PANEL && filtersState[column].value.length > 10) {
216
+ if (variation === _constants.PANEL && filtersState[column].value.length > 10 && !autoHideFilters) {
216
217
  return /*#__PURE__*/_react2.default.createElement(_OverflowCheckboxes.default, {
217
218
  components: components,
218
219
  type: type,
@@ -4,36 +4,30 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.stateReducer = exports.handleColumnResizingEvent = exports.handleColumnResizeStartEvent = exports.handleColumnResizeEndEvent = void 0;
7
+ exports.stateReducer = exports.handleColumnResizingEvent = exports.handleColumnResizeEndEvent = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _settings = require("../../../../settings");
10
12
  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; }
11
- 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; }
12
- /**
13
- * Copyright IBM Corp. 2023, 2023
14
- *
15
- * This source code is licensed under the Apache-2.0 license found in the
16
- * LICENSE file in the root directory of this source tree.
17
- */
18
-
13
+ 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; } /**
14
+ * Copyright IBM Corp. 2023, 2023
15
+ *
16
+ * This source code is licensed under the Apache-2.0 license found in the
17
+ * LICENSE file in the root directory of this source tree.
18
+ */
19
19
  var COLUMN_RESIZE_START = 'columnStartResizing';
20
20
  var COLUMN_RESIZING = 'columnResizing';
21
21
  var COLUMN_RESIZE_END = 'columnDoneResizing';
22
22
  var INIT = 'init';
23
- var handleColumnResizeStartEvent = exports.handleColumnResizeStartEvent = function handleColumnResizeStartEvent(dispatch, headerId) {
24
- dispatch({
25
- type: COLUMN_RESIZE_START,
26
- payload: {
27
- headerId: headerId
28
- }
29
- });
30
- };
31
- var handleColumnResizeEndEvent = exports.handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId) {
23
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
24
+ var handleColumnResizeEndEvent = exports.handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId, isKeyEvent) {
32
25
  dispatch({
33
26
  type: COLUMN_RESIZE_END,
34
27
  payload: {
35
28
  onColResizeEnd: onColResizeEnd,
36
- headerId: headerId
29
+ headerId: headerId,
30
+ isKeyEvent: isKeyEvent
37
31
  }
38
32
  });
39
33
  };
@@ -67,42 +61,45 @@ var stateReducer = exports.stateReducer = function stateReducer(newState, action
67
61
  }
68
62
  case COLUMN_RESIZE_START:
69
63
  {
70
- var headerId = action.payload.headerId;
64
+ var _ref = action.payload || {},
65
+ headerId = _ref.headerId;
71
66
  return _objectSpread(_objectSpread({}, newState), {}, {
72
67
  isResizing: headerId
73
68
  });
74
69
  }
75
70
  case COLUMN_RESIZING:
76
71
  {
77
- var _ref = action.payload || {},
78
- _headerId = _ref.headerId,
79
- newWidth = _ref.newWidth,
80
- defaultWidth = _ref.defaultWidth;
72
+ var _ref2 = action.payload || {},
73
+ _headerId = _ref2.headerId,
74
+ newWidth = _ref2.newWidth,
75
+ defaultWidth = _ref2.defaultWidth;
81
76
  var newColumnWidth = {};
82
77
  if (typeof _headerId === 'undefined') {
83
78
  return _objectSpread({}, newState);
84
79
  }
85
80
  newColumnWidth[_headerId] = newWidth;
86
- var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref2) {
87
- var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
88
- _ = _ref3[0],
89
- value = _ref3[1];
81
+ var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref3) {
82
+ var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
83
+ _ = _ref4[0],
84
+ value = _ref4[1];
90
85
  return !isNaN(value);
91
86
  }));
87
+ var headerIdArray = newState.columnResizing.headerIdWidths || [];
92
88
  return _objectSpread(_objectSpread({}, newState), {}, {
93
89
  isResizing: _headerId,
94
90
  columnResizing: _objectSpread(_objectSpread({}, newState.columnResizing), {}, {
95
91
  columnWidth: defaultWidth,
96
92
  columnWidths: _objectSpread(_objectSpread({}, cleanedWidths), newColumnWidth),
97
- headerIdWidths: [_headerId, newWidth]
93
+ headerIdWidths: [].concat((0, _toConsumableArray2.default)(headerIdArray), [[_headerId, newWidth]])
98
94
  })
99
95
  });
100
96
  }
101
97
  case COLUMN_RESIZE_END:
102
98
  {
103
- var _action$payload = action.payload,
104
- onColResizeEnd = _action$payload.onColResizeEnd,
105
- _headerId2 = _action$payload.headerId;
99
+ var _ref5 = action.payload || {},
100
+ onColResizeEnd = _ref5.onColResizeEnd,
101
+ _headerId2 = _ref5.headerId,
102
+ isKeyEvent = _ref5.isKeyEvent;
106
103
  var currentColumn = {};
107
104
  currentColumn[_headerId2] = newState.columnResizing.columnWidths[_headerId2];
108
105
  var allChangedColumns = newState.columnResizing.columnWidths;
@@ -110,8 +107,22 @@ var stateReducer = exports.stateReducer = function stateReducer(newState, action
110
107
  if (isResizing) {
111
108
  onColResizeEnd === null || onColResizeEnd === void 0 || onColResizeEnd(currentColumn, allChangedColumns);
112
109
  }
110
+ if (!isKeyEvent) {
111
+ if (typeof isKeyEvent === 'undefined') {
112
+ // Blur resizer input if it has focus and is not from a key event resize
113
+ if (document.activeElement.classList.contains("".concat(blockClass, "__col-resizer-range"))) {
114
+ var _document;
115
+ (_document = document) === null || _document === void 0 || (_document = _document.activeElement) === null || _document === void 0 || _document.blur();
116
+ }
117
+ return;
118
+ }
119
+ }
113
120
  return _objectSpread(_objectSpread({}, newState), {}, {
114
- isResizing: false
121
+ isResizing: false,
122
+ columnResizing: _objectSpread(_objectSpread({}, newState.columnResizing), {}, {
123
+ isResizingColumn: false,
124
+ startX: null
125
+ })
115
126
  });
116
127
  }
117
128
  }
@@ -91,7 +91,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
91
91
  }
92
92
  })));
93
93
  })), !isFetching && rowActions.length > 2 && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
94
- align: "top-right",
94
+ align: "left",
95
95
  size: "sm",
96
96
  flipped: true,
97
97
  onClick: function onClick(e) {
@@ -11,12 +11,11 @@ var _react = _interopRequireDefault(require("react"));
11
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _settings = require("../../settings");
13
13
  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; }
14
- 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; } /*
15
- * Licensed Materials - Property of IBM
16
- * 5724-Q36
17
- * (c) Copyright IBM Corp. 2020
18
- * US Government Users Restricted Rights - Use, duplication or disclosure
19
- * restricted by GSA ADP Schedule Contract with IBM Corp.
14
+ 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; } /**
15
+ * Copyright IBM Corp. 2020, 2023
16
+ *
17
+ * This source code is licensed under the Apache-2.0 license found in the
18
+ * LICENSE file in the root directory of this source tree.
20
19
  */
21
20
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
22
21
  var useColumnCenterAlign = function useColumnCenterAlign(hooks) {
@@ -11,12 +11,11 @@ var _react = _interopRequireDefault(require("react"));
11
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _settings = require("../../settings");
13
13
  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; }
14
- 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; } /*
15
- * Licensed Materials - Property of IBM
16
- * 5724-Q36
17
- * (c) Copyright IBM Corp. 2020
18
- * US Government Users Restricted Rights - Use, duplication or disclosure
19
- * restricted by GSA ADP Schedule Contract with IBM Corp.
14
+ 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; } /**
15
+ * Copyright IBM Corp. 2020, 2023
16
+ *
17
+ * This source code is licensed under the Apache-2.0 license found in the
18
+ * LICENSE file in the root directory of this source tree.
20
19
  */
21
20
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
22
21
  var useColumnRightAlign = function useColumnRightAlign(hooks) {
@@ -15,14 +15,13 @@ var _classnames = _interopRequireDefault(require("classnames"));
15
15
  var _settings = require("../../settings");
16
16
  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); }
17
17
  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; }
18
- /* eslint-disable react/prop-types */
19
- /**
20
- * Copyright IBM Corp. 2020, 2023
21
- *
22
- * This source code is licensed under the Apache-2.0 license found in the
23
- * LICENSE file in the root directory of this source tree.
24
- */
25
-
18
+ 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; }
19
+ 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; } /* eslint-disable react/prop-types */ /**
20
+ * Copyright IBM Corp. 2020, 2023
21
+ *
22
+ * This source code is licensed under the Apache-2.0 license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ */
26
25
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
27
26
  var useNestedRowExpander = function useNestedRowExpander(hooks) {
28
27
  var tempState = (0, _react.useRef)();
@@ -35,6 +34,13 @@ var useNestedRowExpander = function useNestedRowExpander(hooks) {
35
34
  Cell: function Cell(_ref) {
36
35
  var _cx;
37
36
  var row = _ref.row;
37
+ var expanderButtonProps = _objectSpread(_objectSpread({}, row.getToggleRowExpandedProps()), {}, {
38
+ onClick: function onClick(event) {
39
+ // Prevents `onRowClick` from being called if `useOnRowClick` is included
40
+ event.stopPropagation();
41
+ row.toggleRowExpanded();
42
+ }
43
+ });
38
44
  var _ref2 = (tempState === null || tempState === void 0 ? void 0 : tempState.current) || {},
39
45
  _ref2$expanderButtonT = _ref2.expanderButtonTitleExpanded,
40
46
  expanderButtonTitleExpanded = _ref2$expanderButtonT === void 0 ? 'Collapse row' : _ref2$expanderButtonT,
@@ -45,7 +51,7 @@ var useNestedRowExpander = function useNestedRowExpander(hooks) {
45
51
  type: "button",
46
52
  "aria-label": expanderTitle,
47
53
  className: (0, _classnames.default)("".concat(blockClass, "__row-expander"), "".concat(_settings.carbon.prefix, "--btn"), "".concat(_settings.carbon.prefix, "--btn--ghost"))
48
- }, row.getToggleRowExpandedProps(), {
54
+ }, expanderButtonProps, {
49
55
  title: expanderTitle
50
56
  }), /*#__PURE__*/_react.default.createElement(_icons.ChevronRight, {
51
57
  className: (0, _classnames.default)("".concat(blockClass, "__expander-icon"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__expander-icon--not-open"), !row.isExpanded), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__expander-icon--open"), row.isExpanded), _cx))
@@ -8,20 +8,20 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var _react = _interopRequireWildcard(require("react"));
12
13
  var _icons = require("@carbon/react/icons");
13
14
  var _settings = require("../../settings");
14
15
  var _classnames = _interopRequireDefault(require("classnames"));
15
16
  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); }
16
17
  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; }
17
- /* eslint-disable react/prop-types */
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.
23
- */
24
-
18
+ 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; }
19
+ 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; } /* eslint-disable react/prop-types */ /**
20
+ * Copyright IBM Corp. 2020, 2023
21
+ *
22
+ * This source code is licensed under the Apache-2.0 license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ */
25
25
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
26
26
  var useRowExpander = function useRowExpander(hooks) {
27
27
  var tempState = (0, _react.useRef)();
@@ -33,6 +33,13 @@ var useRowExpander = function useRowExpander(hooks) {
33
33
  id: 'expander',
34
34
  Cell: function Cell(_ref) {
35
35
  var row = _ref.row;
36
+ var expanderButtonProps = _objectSpread(_objectSpread({}, row.getToggleRowExpandedProps()), {}, {
37
+ onClick: function onClick(event) {
38
+ // Prevents `onRowClick` from being called if `useOnRowClick` is included
39
+ event.stopPropagation();
40
+ row.toggleRowExpanded();
41
+ }
42
+ });
36
43
  var _ref2 = (tempState === null || tempState === void 0 ? void 0 : tempState.current) || {},
37
44
  _ref2$expanderButtonT = _ref2.expanderButtonTitleExpanded,
38
45
  expanderButtonTitleExpanded = _ref2$expanderButtonT === void 0 ? 'Collapse row' : _ref2$expanderButtonT,
@@ -43,7 +50,7 @@ var useRowExpander = function useRowExpander(hooks) {
43
50
  type: "button",
44
51
  "aria-label": expanderTitle,
45
52
  className: (0, _classnames.default)("".concat(blockClass, "__row-expander"), "".concat(_settings.carbon.prefix, "--btn"), "".concat(_settings.carbon.prefix, "--btn--ghost"))
46
- }, row.getToggleRowExpandedProps(), {
53
+ }, expanderButtonProps, {
47
54
  title: expanderTitle
48
55
  }), row.isExpanded ? /*#__PURE__*/_react.default.createElement(_icons.ChevronUp, {
49
56
  className: "".concat(blockClass, "__row-expander--icon")
@@ -24,7 +24,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
24
24
  */
25
25
  // @flow
26
26
 
27
- var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
27
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid__select-all");
28
28
  var useSelectAllToggle = function useSelectAllToggle(hooks) {
29
29
  useSelectAllWithToggleComponent(hooks);
30
30
  useAddClassNameToSelectRow(hooks);
@@ -71,7 +71,7 @@ var useAddClassNameToSelectRow = function useAddClassNameToSelectRow(hooks) {
71
71
  var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
72
72
  if (column.id === _commonColumnIds.selectionColumnId && DatagridPagination) {
73
73
  return [props, {
74
- className: (0, _classnames.default)("".concat(blockClass, "__select-all-toggle-on"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft && windowSize > 671))
74
+ className: (0, _classnames.default)("".concat(blockClass, "-toggle-on"), (0, _defineProperty2.default)({}, "".concat(blockClass, "-sticky-left"), isFirstColumnStickyLeft && windowSize > 671))
75
75
  }];
76
76
  }
77
77
  return [props];