@carbon/ibm-products 1.61.1 → 1.62.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. package/css/index-full-carbon.css +172 -70
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +3 -3
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +1768 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +3 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +172 -70
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -3
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +172 -70
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +3 -3
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/Carousel/Carousel.js +194 -119
  18. package/es/components/Carousel/CarouselItem.js +8 -21
  19. package/es/components/Coachmark/Coachmark.js +17 -5
  20. package/es/components/Coachmark/CoachmarkDragbar.js +12 -5
  21. package/es/components/Coachmark/CoachmarkHeader.js +2 -1
  22. package/es/components/Coachmark/CoachmarkOverlay.js +105 -9
  23. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +5 -2
  24. package/es/components/CoachmarkFixed/CoachmarkFixed.js +26 -6
  25. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +34 -10
  26. package/es/components/CoachmarkStack/CoachmarkStack.js +19 -4
  27. package/es/components/CoachmarkStack/CoachmarkStackHome.js +45 -11
  28. package/es/components/Datagrid/Datagrid/DatagridContent.js +12 -9
  29. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +6 -4
  30. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +42 -25
  31. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +4 -1
  32. package/es/components/Datagrid/Datagrid/DatagridRow.js +23 -11
  33. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +31 -12
  34. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
  35. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +43 -23
  36. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +18 -18
  37. package/es/components/Datagrid/Datagrid/addons/stateReducer.js +93 -14
  38. package/es/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +1 -1
  39. package/es/components/Datagrid/useActionsColumn.js +9 -9
  40. package/es/components/Datagrid/useDatagrid.js +13 -1
  41. package/es/components/Datagrid/useExpandedRow.js +3 -6
  42. package/es/components/Datagrid/useFlexResize.js +19 -9
  43. package/es/components/Datagrid/useFocusRowExpander.js +40 -0
  44. package/es/components/Datagrid/useInfiniteScroll.js +10 -9
  45. package/es/components/Datagrid/useNestedRowExpander.js +9 -0
  46. package/es/components/Datagrid/useNestedRows.js +0 -4
  47. package/es/components/Datagrid/useOnRowClick.js +6 -7
  48. package/es/components/Datagrid/useParentDimensions.js +6 -6
  49. package/es/components/Datagrid/useResizeTable.js +7 -7
  50. package/es/components/Datagrid/useRowExpander.js +9 -0
  51. package/es/components/Datagrid/useSelectAllToggle.js +2 -2
  52. package/es/components/Datagrid/useSelectRows.js +52 -30
  53. package/es/components/Datagrid/useSkeletonRows.js +6 -6
  54. package/es/components/Datagrid/useSortableColumns.js +4 -5
  55. package/es/components/Datagrid/useStickyColumn.js +13 -6
  56. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -0
  57. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -0
  58. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -0
  59. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -0
  60. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -0
  61. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -0
  62. package/es/components/EmptyStates/assets/ErrorIllustration.js +6 -4
  63. package/es/components/EmptyStates/assets/NoDataIllustration.js +6 -4
  64. package/es/components/EmptyStates/assets/NoTagsIllustration.js +6 -4
  65. package/es/components/EmptyStates/assets/NotFoundIllustration.js +6 -4
  66. package/es/components/EmptyStates/assets/NotificationsIllustration.js +6 -4
  67. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +6 -4
  68. package/es/components/Guidebanner/Guidebanner.js +9 -12
  69. package/es/global/js/hooks/index.js +3 -2
  70. package/es/global/js/hooks/usePrefix.js +11 -0
  71. package/es/global/js/package-settings.js +1 -4
  72. package/lib/components/Carousel/Carousel.js +190 -114
  73. package/lib/components/Carousel/CarouselItem.js +9 -25
  74. package/lib/components/Coachmark/Coachmark.js +16 -4
  75. package/lib/components/Coachmark/CoachmarkDragbar.js +12 -5
  76. package/lib/components/Coachmark/CoachmarkHeader.js +2 -1
  77. package/lib/components/Coachmark/CoachmarkOverlay.js +105 -8
  78. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +5 -2
  79. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +25 -5
  80. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +34 -10
  81. package/lib/components/CoachmarkStack/CoachmarkStack.js +18 -3
  82. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +44 -10
  83. package/lib/components/Datagrid/Datagrid/DatagridContent.js +12 -9
  84. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +6 -4
  85. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +42 -32
  86. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +4 -1
  87. package/lib/components/Datagrid/Datagrid/DatagridRow.js +17 -4
  88. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +25 -5
  89. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
  90. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +43 -23
  91. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +12 -12
  92. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +96 -15
  93. package/lib/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +1 -1
  94. package/lib/components/Datagrid/useActionsColumn.js +9 -12
  95. package/lib/components/Datagrid/useDatagrid.js +13 -1
  96. package/lib/components/Datagrid/useExpandedRow.js +2 -5
  97. package/lib/components/Datagrid/useFlexResize.js +19 -9
  98. package/lib/components/Datagrid/useFocusRowExpander.js +46 -0
  99. package/lib/components/Datagrid/useInfiniteScroll.js +9 -9
  100. package/lib/components/Datagrid/useNestedRowExpander.js +9 -0
  101. package/lib/components/Datagrid/useNestedRows.js +0 -4
  102. package/lib/components/Datagrid/useOnRowClick.js +6 -7
  103. package/lib/components/Datagrid/useParentDimensions.js +5 -6
  104. package/lib/components/Datagrid/useResizeTable.js +6 -7
  105. package/lib/components/Datagrid/useRowExpander.js +9 -0
  106. package/lib/components/Datagrid/useSelectAllToggle.js +2 -2
  107. package/lib/components/Datagrid/useSelectRows.js +46 -23
  108. package/lib/components/Datagrid/useSkeletonRows.js +6 -6
  109. package/lib/components/Datagrid/useSortableColumns.js +4 -5
  110. package/lib/components/Datagrid/useStickyColumn.js +8 -0
  111. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -0
  112. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -0
  113. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -0
  114. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -0
  115. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -0
  116. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -0
  117. package/lib/components/EmptyStates/assets/ErrorIllustration.js +6 -4
  118. package/lib/components/EmptyStates/assets/NoDataIllustration.js +6 -4
  119. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +6 -4
  120. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +6 -4
  121. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +6 -4
  122. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +6 -4
  123. package/lib/components/Guidebanner/Guidebanner.js +9 -12
  124. package/lib/global/js/hooks/index.js +8 -1
  125. package/lib/global/js/hooks/usePrefix.js +19 -0
  126. package/lib/global/js/package-settings.js +1 -4
  127. package/package.json +2 -2
  128. package/scss/components/Carousel/_carousel.scss +1 -2
  129. package/scss/components/Checklist/_checklist.scss +13 -25
  130. package/scss/components/Coachmark/styles/_coachmark-dragbar.scss +1 -45
  131. package/scss/components/Coachmark/styles/_coachmark-header.scss +0 -33
  132. package/scss/components/Coachmark/styles/_coachmark-overlay.scss +113 -5
  133. package/scss/components/Coachmark/styles/_coachmark-tagline.scss +18 -0
  134. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +19 -1
  135. package/scss/components/CoachmarkOverlayElement/_coachmark-overlay-element.scss +2 -0
  136. package/scss/components/CoachmarkOverlayElements/_coachmark-overlay-elements.scss +1 -0
  137. package/scss/components/CoachmarkStack/_coachmark-stack.scss +3 -0
  138. package/scss/components/Datagrid/styles/_datagrid.scss +31 -5
  139. package/scss/components/Datagrid/styles/_useExpandedRow.scss +21 -0
  140. package/scss/components/Datagrid/styles/_useNestedRows.scss +1 -1
  141. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +9 -0
  142. package/scss/components/_index-released-only.scss +1 -0
  143. package/es/components/Carousel/utils.js +0 -98
  144. package/lib/components/Carousel/utils.js +0 -108
@@ -19,13 +19,8 @@ var _stateReducer = require("./addons/stateReducer");
19
19
  var _getNodeTextContent = require("../../../global/js/utils/getNodeTextContent");
20
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
24
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
30
25
  var getAccessibilityProps = function getAccessibilityProps(header) {
31
26
  var props = {};
@@ -38,35 +33,46 @@ var getAccessibilityProps = function getAccessibilityProps(header) {
38
33
  return props;
39
34
  };
40
35
  var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
36
+ var resizerAriaLabel = datagridState.resizerAriaLabel;
41
37
  // Used to measure the height of the table and uses that value
42
38
  // to display a vertical line to indicate the column you are resizing
43
39
  (0, _react.useEffect)(function () {
44
40
  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
- }
41
+ var gridElement = document.querySelector("#".concat(tableId));
42
+ var tableElement = gridElement.querySelector('table');
43
+ var headerRowElement = document.querySelector("#".concat(tableId, " .").concat(blockClass, "__head"));
44
+ var hasHorizontalScrollbar = tableElement.scrollWidth > tableElement.clientWidth;
45
+ var scrollBuffer = hasHorizontalScrollbar ? 18 : 2;
46
+ var tableToolbar = gridElement.querySelector(".".concat(blockClass, "__table-toolbar"));
47
+ var tableToolbarHeight = (tableToolbar === null || tableToolbar === void 0 ? void 0 : tableToolbar.offsetHeight) || 0;
48
+ var setCustomValues = function setCustomValues(_ref) {
49
+ var _ref$rowHeight = _ref.rowHeight,
50
+ rowHeight = _ref$rowHeight === void 0 ? 48 : _ref$rowHeight,
51
+ gridHeight = _ref.gridHeight;
52
+ headerRowElement.style.setProperty("--".concat(blockClass, "--row-height"), (0, _layout.px)(rowHeight));
53
+ headerRowElement.style.setProperty("--".concat(blockClass, "--grid-height"), (0, _layout.px)(gridHeight - scrollBuffer - tableToolbarHeight));
54
+ headerRowElement.style.setProperty("--".concat(blockClass, "--header-height"), (0, _layout.px)(headerRowElement.offsetHeight));
55
+ };
56
+ setCustomValues({
57
+ gridHeight: gridElement.offsetHeight,
58
+ rowHeight: headerRowElement.clientHeight
59
+ });
66
60
  }, [datagridState.rowSize, datagridState.tableId, datagridState]);
67
61
  var _useState = (0, _react.useState)(2),
68
62
  _useState2 = (0, _slicedToArray2.default)(_useState, 1),
69
63
  incrementAmount = _useState2[0];
64
+ var handleOnMouseDownResize = function handleOnMouseDownResize(event, resizeProps) {
65
+ var _resizeProps = _objectSpread({}, resizeProps()),
66
+ onMouseDown = _resizeProps.onMouseDown;
67
+ event.target.focus();
68
+ // When event.button is 2, that is a right click
69
+ // and we do not want to resize
70
+ if (event.button === 2 || event.ctrlKey) {
71
+ event.target.blur();
72
+ return;
73
+ }
74
+ onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(event);
75
+ };
70
76
  return /*#__PURE__*/_react.default.createElement(TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps({
71
77
  role: false
72
78
  }), {
@@ -90,15 +96,19 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
90
96
  dispatch = datagridState.dispatch,
91
97
  onColResizeEnd = datagridState.onColResizeEnd;
92
98
  var columnResizing = state.columnResizing;
93
- var columnWidths = columnResizing.columnWidths;
99
+ var _ref4 = columnResizing || {},
100
+ columnWidths = _ref4.columnWidths;
94
101
  var originalCol = visibleColumns[index];
95
102
  return /*#__PURE__*/_react.default.createElement(TableHeader, (0, _extends2.default)({}, header.getHeaderProps({
96
103
  role: false
97
104
  }), {
98
- className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__resizableColumn"), header.getResizerProps), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isResizing"), header.isResizing), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isSorted"), header.isSorted), _cx), header.getHeaderProps().className),
105
+ className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__resizableColumn"), header.getResizerProps), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isResizing"), header.isResizing), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isSorted"), header.isSorted), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__header-actions-column"), header.isAction), _cx), header.getHeaderProps().className),
99
106
  key: header.id,
100
107
  "aria-hidden": header.id === 'spacer' && 'true'
101
- }, 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(), {
108
+ }, 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(), {
109
+ onMouseDown: function onMouseDown(event) {
110
+ return handleOnMouseDownResize(event, header.getResizerProps);
111
+ },
102
112
  onKeyDown: function onKeyDown(event) {
103
113
  var key = event.key;
104
114
  if (key === 'ArrowLeft' || key === 'ArrowRight') {
@@ -122,7 +132,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
122
132
  className: (0, _classnames.default)("".concat(blockClass, "__col-resizer-range")),
123
133
  type: "range",
124
134
  defaultValue: originalCol.width,
125
- "aria-label": "Resize column"
135
+ "aria-label": resizerAriaLabel || 'Resize column'
126
136
  })), /*#__PURE__*/_react.default.createElement("span", {
127
137
  className: "".concat(blockClass, "__col-resize-indicator")
128
138
  })));
@@ -28,8 +28,11 @@ var DatagridRefBody = function DatagridRefBody(datagridState) {
28
28
  className: (0, _classnames.default)("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
29
29
  }), rows.map(function (row) {
30
30
  prepareRow(row);
31
+ var _row$getRowProps = row.getRowProps(),
32
+ key = _row$getRowProps.key;
31
33
  return row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
32
- row: row
34
+ row: row,
35
+ key: key
33
36
  }));
34
37
  }));
35
38
  };
@@ -34,7 +34,10 @@ var DatagridRow = function DatagridRow(datagridState) {
34
34
  var row = datagridState.row,
35
35
  rowSize = datagridState.rowSize,
36
36
  withNestedRows = datagridState.withNestedRows,
37
- prepareRow = datagridState.prepareRow;
37
+ prepareRow = datagridState.prepareRow,
38
+ key = datagridState.key,
39
+ tableId = datagridState.tableId,
40
+ withExpandedRows = datagridState.withExpandedRows;
38
41
  var getVisibleNestedRowCount = function getVisibleNestedRowCount(_ref) {
39
42
  var isExpanded = _ref.isExpanded,
40
43
  subRows = _ref.subRows;
@@ -63,7 +66,7 @@ var DatagridRow = function DatagridRow(datagridState) {
63
66
  hoverRow === null || hoverRow === void 0 ? void 0 : (_hoverRow$style3 = hoverRow.style) === null || _hoverRow$style3 === void 0 ? void 0 : _hoverRow$style3.setProperty("--".concat(blockClass, "--indicator-offset-amount"), (0, _layout.px)((rowExpanderButton === null || rowExpanderButton === void 0 ? void 0 : rowExpanderButton.offsetLeft) || 0));
64
67
  };
65
68
  var focusRemover = function focusRemover() {
66
- var elements = document.querySelectorAll(".".concat(blockClass, "__carbon-row-expanded"));
69
+ var elements = document.querySelectorAll("#".concat(tableId, " .").concat(blockClass, "__carbon-row-expanded"));
67
70
  elements.forEach(function (el) {
68
71
  el.classList.remove("".concat(blockClass, "__carbon-row-expanded-hover-active"));
69
72
  });
@@ -92,7 +95,17 @@ var DatagridRow = function DatagridRow(datagridState) {
92
95
  }
93
96
  };
94
97
  var rowClassNames = (0, _classnames.default)("".concat(blockClass, "__carbon-row"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), (0, _defineProperty2.default)(_cx, "".concat(_settings.carbon.prefix, "--data-table--selected"), row.isSelected), _cx));
95
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(TableRow, (0, _extends2.default)({
98
+ var setAdditionalRowProps = function setAdditionalRowProps() {
99
+ if (withNestedRows || withExpandedRows) {
100
+ return {
101
+ 'data-nested-row-id': row.id
102
+ };
103
+ }
104
+ return {};
105
+ };
106
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
107
+ key: key
108
+ }, /*#__PURE__*/_react.default.createElement(TableRow, (0, _extends2.default)({
96
109
  className: rowClassNames
97
110
  }, row.getRowProps({
98
111
  role: false
@@ -103,7 +116,7 @@ var DatagridRow = function DatagridRow(datagridState) {
103
116
  onFocus: hoverHandler,
104
117
  onBlur: focusRemover,
105
118
  onKeyUp: handleOnKeyUp
106
- }), row.cells.map(function (cell, index) {
119
+ }, setAdditionalRowProps()), row.cells.map(function (cell, index) {
107
120
  var _cell$column;
108
121
  var cellProps = cell.getCellProps({
109
122
  role: false
@@ -14,6 +14,7 @@ var _react = _interopRequireWildcard(require("react"));
14
14
  var _carbonComponentsReact = require("carbon-components-react");
15
15
  var _classnames = _interopRequireDefault(require("classnames"));
16
16
  var _settings = require("../../../settings");
17
+ var _stateReducer = require("./addons/stateReducer");
17
18
  var _excluded = ["onChange"];
18
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -25,6 +26,7 @@ var SelectAll = function SelectAll(datagridState) {
25
26
  windowSize = _useState2[0],
26
27
  setWindowSize = _useState2[1];
27
28
  (0, _react.useLayoutEffect)(function () {
29
+ /* istanbul ignore next */
28
30
  function updateSize() {
29
31
  setWindowSize(window.innerWidth);
30
32
  }
@@ -41,31 +43,49 @@ var SelectAll = function SelectAll(datagridState) {
41
43
  DatagridPagination = datagridState.DatagridPagination,
42
44
  radio = datagridState.radio,
43
45
  columns = datagridState.columns,
44
- withStickyColumn = datagridState.withStickyColumn;
46
+ withStickyColumn = datagridState.withStickyColumn,
47
+ dispatch = datagridState.dispatch,
48
+ rows = datagridState.rows,
49
+ getRowId = datagridState.getRowId,
50
+ toggleAllRowsSelected = datagridState.toggleAllRowsSelected;
45
51
  var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
46
52
  if (hideSelectAll || radio) {
47
53
  return /*#__PURE__*/_react.default.createElement("div", {
48
- className: (0, _classnames.default)("".concat(blockClass, "__head-hidden-select-all"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft && windowSize > 671))
54
+ className: (0, _classnames.default)("".concat(blockClass, "__head-hidden-select-all"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__select-all-sticky-left"), /* istanbul ignore next */
55
+ isFirstColumnStickyLeft && windowSize > 671))
49
56
  });
50
57
  }
51
58
  var getProps = DatagridPagination ? getToggleAllPageRowsSelectedProps : getToggleAllRowsSelectedProps;
52
59
  var _getProps = getProps(),
53
60
  onChange = _getProps.onChange,
54
61
  selectProps = (0, _objectWithoutProperties2.default)(_getProps, _excluded);
55
- var _ref = selectProps || {},
56
- indeterminate = _ref.indeterminate;
62
+ var indeterminate = selectProps.indeterminate;
57
63
  var handleSelectAllChange = function handleSelectAllChange(event) {
58
64
  if (indeterminate) {
65
+ (0, _stateReducer.handleSelectAllRowData)({
66
+ dispatch: dispatch,
67
+ rows: rows,
68
+ getRowId: getRowId,
69
+ indeterminate: true
70
+ });
71
+ toggleAllRowsSelected(false);
59
72
  return onChange === null || onChange === void 0 ? void 0 : onChange({
60
73
  target: {
61
74
  checked: false
62
75
  }
63
76
  });
64
77
  }
78
+ (0, _stateReducer.handleSelectAllRowData)({
79
+ dispatch: dispatch,
80
+ rows: rows,
81
+ getRowId: getRowId,
82
+ isChecked: event.target.checked
83
+ });
65
84
  return onChange === null || onChange === void 0 ? void 0 : onChange(event);
66
85
  };
67
86
  return /*#__PURE__*/_react.default.createElement("div", {
68
- 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))
87
+ 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 */
88
+ isFirstColumnStickyLeft && windowSize > 671))
69
89
  }, /*#__PURE__*/_react.default.createElement(TableSelectAll, (0, _extends2.default)({}, selectProps, {
70
90
  name: "".concat(tableId, "-select-all-checkbox-name"),
71
91
  onSelect: handleSelectAllChange,
@@ -25,8 +25,11 @@ var DatagridSimpleBody = function DatagridSimpleBody(datagridState) {
25
25
  className: (0, _classnames.default)("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
26
26
  }), rows.map(function (row) {
27
27
  prepareRow(row);
28
+ var _row$getRowProps = row.getRowProps(),
29
+ key = _row$getRowProps.key;
28
30
  return row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
29
- row: row
31
+ row: row,
32
+ key: key
30
33
  }));
31
34
  }));
32
35
  };
@@ -15,6 +15,7 @@ var _useResizeObserver2 = require("../../../global/js/hooks/useResizeObserver");
15
15
  var _ButtonMenu = require("../../ButtonMenu");
16
16
  var _settings = require("../../../settings");
17
17
  var _classnames = _interopRequireDefault(require("classnames"));
18
+ var _stateReducer = require("./addons/stateReducer");
18
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
21
  /**
@@ -25,9 +26,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
25
26
  */
26
27
 
27
28
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
29
+ var toolbarClass = "".concat(blockClass, "__table-toolbar");
30
+ var menuClass = "".concat(blockClass, "__button-menu");
28
31
  var TableToolbar = _carbonComponentsReact.DataTable.TableToolbar;
29
32
  var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridState, width, ref) {
30
- var _Object$keys;
31
33
  var _useState = (0, _react.useState)(false),
32
34
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
35
  displayAllInMenu = _useState2[0],
@@ -43,8 +45,15 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
43
45
  var selectedRowIds = datagridState.state.selectedRowIds,
44
46
  toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
45
47
  toolbarBatchActions = datagridState.toolbarBatchActions,
46
- setGlobalFilter = datagridState.setGlobalFilter;
47
- var totalSelected = (_Object$keys = Object.keys(selectedRowIds || {})) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length;
48
+ setGlobalFilter = datagridState.setGlobalFilter,
49
+ dispatch = datagridState.dispatch,
50
+ getRowId = datagridState.getRowId,
51
+ batchActionMenuButtonLabel = datagridState.batchActionMenuButtonLabel,
52
+ translateWithIdBatchActions = datagridState.translateWithIdBatchActions,
53
+ rows = datagridState.rows;
54
+ var batchActionMenuButtonLabelText = batchActionMenuButtonLabel !== null && batchActionMenuButtonLabel !== void 0 ? batchActionMenuButtonLabel : 'More';
55
+ var selectedKeys = Object.keys(selectedRowIds || {});
56
+ var totalSelected = selectedKeys.length;
48
57
 
49
58
  // Get initial width of batch actions container,
50
59
  // used to measure when all items are put inside
@@ -74,25 +83,30 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
74
83
  return null;
75
84
  }
76
85
  return /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenu, {
77
- label: width > minWidthBeforeOverflowIcon ? 'More' : null,
86
+ label: width > minWidthBeforeOverflowIcon ? batchActionMenuButtonLabelText : null,
78
87
  renderIcon: width > minWidthBeforeOverflowIcon ? _iconsReact.Add16 : _iconsReact.OverflowMenuVertical16,
79
- className: (0, _classnames.default)("".concat(blockClass, "__button-menu"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__button-menu--icon-only"), width <= minWidthBeforeOverflowIcon)),
80
- menuOptionsClass: "".concat(blockClass, "__button-menu-options"),
88
+ className: (0, _classnames.default)([menuClass, (0, _defineProperty2.default)({}, "".concat(menuClass, "--icon-only"), width <= minWidthBeforeOverflowIcon)]),
89
+ menuOptionsClass: "".concat(menuClass, "-options"),
81
90
  flipped: true
82
- }, toolbarBatchActions && toolbarBatchActions.map(function (batchAction, index) {
83
- if (index < 2 && !displayAllInMenu) {
84
- return;
85
- }
86
- return /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
87
- key: "".concat(batchAction.label, "-").concat(index),
88
- itemText: batchAction.label,
89
- onClick: function onClick() {
90
- batchAction.onClick();
91
- if (batchAction.type === 'select_all') {
92
- toggleAllRowsSelected(true);
91
+ }, toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
92
+ var hidden = index < 2 && !displayAllInMenu;
93
+ if (!hidden) {
94
+ return /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
95
+ key: "".concat(batchAction.label, "-").concat(index),
96
+ itemText: batchAction.label,
97
+ onClick: function onClick() {
98
+ batchAction.onClick();
99
+ if (batchAction.type === 'select_all') {
100
+ toggleAllRowsSelected(true);
101
+ (0, _stateReducer.handleSelectAllRowData)({
102
+ dispatch: dispatch,
103
+ rows: rows,
104
+ getRowId: getRowId
105
+ });
106
+ }
93
107
  }
94
- }
95
- });
108
+ });
109
+ }
96
110
  }));
97
111
  };
98
112
 
@@ -105,7 +119,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
105
119
  onCancel: function onCancel() {
106
120
  toggleAllRowsSelected(false);
107
121
  setGlobalFilter(null);
108
- }
122
+ },
123
+ translateWithId: translateWithIdBatchActions
109
124
  }, !displayAllInMenu && toolbarBatchActions && (toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
110
125
  if (index < 2 && toolbarBatchActions.length > 3 || index < 3 && toolbarBatchActions.length <= 3) {
111
126
  return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TableBatchAction, {
@@ -115,6 +130,11 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
115
130
  batchAction.onClick();
116
131
  if (batchAction.type === 'select_all') {
117
132
  toggleAllRowsSelected(true);
133
+ (0, _stateReducer.handleSelectAllRowData)({
134
+ dispatch: dispatch,
135
+ rows: rows,
136
+ getRowId: getRowId
137
+ });
118
138
  }
119
139
  },
120
140
  iconDescription: batchAction.label
@@ -130,12 +150,12 @@ var DatagridToolbar = function DatagridToolbar(datagridState) {
130
150
  DatagridBatchActions = datagridState.DatagridBatchActions,
131
151
  batchActions = datagridState.batchActions,
132
152
  rowSize = datagridState.rowSize;
133
- var getRowHeight = rowSize ? rowSize : 'lg';
153
+ var getRowHeight = rowSize || 'lg';
134
154
  return batchActions && DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
135
155
  ref: ref,
136
- className: (0, _classnames.default)("".concat(blockClass, "__table-toolbar"), "".concat(blockClass, "__table-toolbar--").concat(getRowHeight))
156
+ className: (0, _classnames.default)([toolbarClass, "".concat(toolbarClass, "--").concat(getRowHeight)])
137
157
  }, /*#__PURE__*/_react.default.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActionsToolbar && DatagridBatchActionsToolbar(datagridState, width, ref))) : DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
138
- className: "".concat(blockClass, "__table-toolbar")
158
+ className: toolbarClass
139
159
  }, /*#__PURE__*/_react.default.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActions && DatagridBatchActions(datagridState))) : null;
140
160
  };
141
161
  var _default = DatagridToolbar;
@@ -26,12 +26,7 @@ var rowSizeMap = {
26
26
  sm: 32,
27
27
  md: 40,
28
28
  lg: 48,
29
- xl: 64,
30
- // TODO: deprecate the below values in next major release (v8) on carbon-components-react
31
- short: 32,
32
- compact: 24,
33
- normal: 48,
34
- tall: 64
29
+ xl: 64
35
30
  };
36
31
  var defaultRowHeight = rowSizeMap.lg;
37
32
  var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
@@ -50,13 +45,17 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
50
45
  page = datagridState.page,
51
46
  handleResize = datagridState.handleResize,
52
47
  gridRef = datagridState.gridRef;
48
+
49
+ /* istanbul ignore next */
53
50
  var handleVirtualGridResize = function handleVirtualGridResize() {
54
51
  var gridRefElement = gridRef === null || gridRef === void 0 ? void 0 : gridRef.current;
55
52
  gridRefElement.style.width = gridRefElement === null || gridRefElement === void 0 ? void 0 : gridRefElement.clientWidth;
56
53
  };
57
54
  (0, _useResizeObserver.useResizeObserver)(gridRef, handleVirtualGridResize);
58
- var syncScroll = function syncScroll(e) {
59
- var virtualBody = e.target;
55
+
56
+ /* istanbul ignore next */
57
+ var syncScroll = function syncScroll(event) {
58
+ var virtualBody = event.target;
60
59
  document.querySelector(".".concat(blockClass, "__head-wrap")).scrollLeft = virtualBody.scrollLeft;
61
60
  var spacerColumn = document.querySelector(".".concat(blockClass, "__head-wrap thead th:last-child"));
62
61
  spacerColumn.style.width = (0, _layout.px)(32 + (virtualBody.offsetWidth - virtualBody.clientWidth)); // scrollbar width to header column to fix header alignment
@@ -79,9 +78,7 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
79
78
  }, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(TableBody, (0, _extends2.default)({}, getTableBodyProps({
80
79
  role: false
81
80
  }), {
82
- onScroll: function onScroll(e) {
83
- return syncScroll(e);
84
- }
81
+ onScroll: syncScroll
85
82
  }), /*#__PURE__*/_react.default.createElement(_reactWindow.VariableSizeList, {
86
83
  height: virtualHeight || tableHeight,
87
84
  itemCount: visibleRows.length,
@@ -101,10 +98,13 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
101
98
  style = _ref.style;
102
99
  var row = visibleRows[index];
103
100
  prepareRow(row);
101
+ var _row$getRowProps = row.getRowProps(),
102
+ key = _row$getRowProps.key;
104
103
  return /*#__PURE__*/_react.default.createElement("div", {
105
104
  style: _objectSpread({}, style)
106
105
  }, row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
107
- row: row
106
+ row: row,
107
+ key: key
108
108
  })));
109
109
  })));
110
110
  };
@@ -4,7 +4,7 @@ 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.handleColumnResizeEndEvent = void 0;
7
+ exports.stateReducer = exports.handleToggleRowSelected = exports.handleSelectAllRowData = exports.handleColumnResizingEvent = exports.handleColumnResizeEndEvent = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -15,6 +15,8 @@ var COLUMN_RESIZE_START = 'columnStartResizing';
15
15
  var COLUMN_RESIZING = 'columnResizing';
16
16
  var COLUMN_RESIZE_END = 'columnDoneResizing';
17
17
  var INIT = 'init';
18
+ var TOGGLE_ROW_SELECTED = 'toggleRowSelected';
19
+ var TOGGLE_ALL_ROWS_SELECTED = 'toggleAllRowsSelected';
18
20
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
19
21
  var handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId, isKeyEvent) {
20
22
  dispatch({
@@ -48,8 +50,87 @@ var handleColumnResizingEvent = function handleColumnResizingEvent(dispatch, hea
48
50
  });
49
51
  };
50
52
  exports.handleColumnResizingEvent = handleColumnResizingEvent;
53
+ var handleToggleRowSelected = function handleToggleRowSelected(_ref) {
54
+ var dispatch = _ref.dispatch,
55
+ rowData = _ref.rowData,
56
+ isChecked = _ref.isChecked,
57
+ getRowId = _ref.getRowId,
58
+ selectAll = _ref.selectAll;
59
+ return dispatch({
60
+ type: TOGGLE_ROW_SELECTED,
61
+ payload: {
62
+ rowData: rowData,
63
+ isChecked: isChecked,
64
+ getRowId: getRowId,
65
+ selectAll: selectAll
66
+ }
67
+ });
68
+ };
69
+ exports.handleToggleRowSelected = handleToggleRowSelected;
70
+ var handleSelectAllRowData = function handleSelectAllRowData(_ref2) {
71
+ var dispatch = _ref2.dispatch,
72
+ rows = _ref2.rows,
73
+ getRowId = _ref2.getRowId,
74
+ indeterminate = _ref2.indeterminate,
75
+ isChecked = _ref2.isChecked;
76
+ return dispatch({
77
+ type: TOGGLE_ALL_ROWS_SELECTED,
78
+ payload: {
79
+ rows: rows,
80
+ getRowId: getRowId,
81
+ indeterminate: indeterminate,
82
+ isChecked: isChecked
83
+ }
84
+ });
85
+ };
86
+ exports.handleSelectAllRowData = handleSelectAllRowData;
51
87
  var stateReducer = function stateReducer(newState, action) {
52
88
  switch (action.type) {
89
+ case TOGGLE_ALL_ROWS_SELECTED:
90
+ {
91
+ var _ref3 = action.payload || {},
92
+ rows = _ref3.rows,
93
+ getRowId = _ref3.getRowId,
94
+ indeterminate = _ref3.indeterminate,
95
+ isChecked = _ref3.isChecked;
96
+ if (rows) {
97
+ var newSelectedRowData = {};
98
+ rows.forEach(function (row) {
99
+ newSelectedRowData[getRowId(row, row.index)] = row;
100
+ });
101
+ return _objectSpread(_objectSpread({}, newState), {}, {
102
+ selectedRowData: indeterminate || !isChecked ? {} : newSelectedRowData
103
+ });
104
+ }
105
+ return _objectSpread({}, newState);
106
+ }
107
+ case TOGGLE_ROW_SELECTED:
108
+ {
109
+ var _ref4 = action.payload || {},
110
+ rowData = _ref4.rowData,
111
+ _isChecked = _ref4.isChecked,
112
+ _getRowId = _ref4.getRowId;
113
+ if (!rowData) {
114
+ return;
115
+ }
116
+ if (_isChecked) {
117
+ return _objectSpread(_objectSpread({}, newState), {}, {
118
+ selectedRowData: _objectSpread(_objectSpread({}, newState.selectedRowData), {}, (0, _defineProperty2.default)({}, _getRowId(rowData, rowData.index), rowData))
119
+ });
120
+ }
121
+ if (rowData && !_isChecked) {
122
+ var newData = _objectSpread({}, newState.selectedRowData);
123
+ var dataWithRemovedRow = Object.fromEntries(Object.entries(newData).filter(function (_ref5) {
124
+ var _ref6 = (0, _slicedToArray2.default)(_ref5, 1),
125
+ key = _ref6[0];
126
+ return parseInt(key) !== parseInt(rowData.index);
127
+ }));
128
+ return _objectSpread(_objectSpread({}, newState), {}, {
129
+ selectedRowData: dataWithRemovedRow
130
+ });
131
+ }
132
+ return _objectSpread({}, newState);
133
+ }
53
134
  case INIT:
54
135
  {
55
136
  return _objectSpread(_objectSpread({}, newState), {}, {
@@ -58,27 +139,27 @@ var stateReducer = function stateReducer(newState, action) {
58
139
  }
59
140
  case COLUMN_RESIZE_START:
60
141
  {
61
- var _ref = action.payload || {},
62
- headerId = _ref.headerId;
142
+ var _ref7 = action.payload || {},
143
+ headerId = _ref7.headerId;
63
144
  return _objectSpread(_objectSpread({}, newState), {}, {
64
145
  isResizing: headerId
65
146
  });
66
147
  }
67
148
  case COLUMN_RESIZING:
68
149
  {
69
- var _ref2 = action.payload || {},
70
- _headerId = _ref2.headerId,
71
- newWidth = _ref2.newWidth,
72
- defaultWidth = _ref2.defaultWidth;
150
+ var _ref8 = action.payload || {},
151
+ _headerId = _ref8.headerId,
152
+ newWidth = _ref8.newWidth,
153
+ defaultWidth = _ref8.defaultWidth;
73
154
  var newColumnWidth = {};
74
155
  if (typeof _headerId === 'undefined') {
75
156
  return _objectSpread({}, newState);
76
157
  }
77
158
  newColumnWidth[_headerId] = newWidth;
78
- var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref3) {
79
- var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
80
- _ = _ref4[0],
81
- value = _ref4[1];
159
+ var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref9) {
160
+ var _ref10 = (0, _slicedToArray2.default)(_ref9, 2),
161
+ _ = _ref10[0],
162
+ value = _ref10[1];
82
163
  return !isNaN(value);
83
164
  }));
84
165
  var headerIdArray = newState.columnResizing.headerIdWidths || [];
@@ -93,10 +174,10 @@ var stateReducer = function stateReducer(newState, action) {
93
174
  }
94
175
  case COLUMN_RESIZE_END:
95
176
  {
96
- var _ref5 = action.payload || {},
97
- onColResizeEnd = _ref5.onColResizeEnd,
98
- _headerId2 = _ref5.headerId,
99
- isKeyEvent = _ref5.isKeyEvent;
177
+ var _ref11 = action.payload || {},
178
+ onColResizeEnd = _ref11.onColResizeEnd,
179
+ _headerId2 = _ref11.headerId,
180
+ isKeyEvent = _ref11.isKeyEvent;
100
181
  var currentColumn = {};
101
182
  currentColumn[_headerId2] = newState.columnResizing.columnWidths[_headerId2];
102
183
  var allChangedColumns = newState.columnResizing.columnWidths;
@@ -45,7 +45,7 @@
45
45
 
46
46
  // ## Sample usage:
47
47
  // 1. include \`useActionsColumn\` hook
48
- // 2. add \`isAction = true\` to the column object in which you which to add the overflow menu actions
48
+ // 2. add \`isAction = true\` to the column object in which you wish to add the overflow menu actions
49
49
  // 3. add \`rowActions = []\` array to the props
50
50
  // - \`rowActions[].id\` for callback to identify the action is called
51
51
  // - \`rowActions[].onClick(actionId: string, row: Row, event: ClickEvent)\` callback on menuitem clicked. [Row properties](https://react-table.tanstack.com/docs/api/useTable#row-properties)