@carbon/ibm-products 2.15.1 → 2.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. package/css/index-full-carbon.css +217 -9
  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 +1 -1
  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 +217 -9
  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 +27 -9
  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/Datagrid/Datagrid/DatagridContent.js +12 -9
  18. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -4
  19. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +40 -25
  20. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +4 -1
  21. package/es/components/Datagrid/Datagrid/DatagridRow.js +5 -2
  22. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -11
  23. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
  24. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +35 -28
  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 +8 -2
  28. package/es/components/Datagrid/useActionsColumn.js +7 -5
  29. package/es/components/Datagrid/useDatagrid.js +13 -1
  30. package/es/components/Datagrid/useInfiniteScroll.js +10 -9
  31. package/es/components/Datagrid/useOnRowClick.js +6 -7
  32. package/es/components/Datagrid/useParentDimensions.js +6 -6
  33. package/es/components/Datagrid/useResizeTable.js +7 -7
  34. package/es/components/Datagrid/useSelectRows.js +8 -5
  35. package/es/components/Datagrid/useSkeletonRows.js +6 -6
  36. package/es/components/Datagrid/useSortableColumns.js +5 -7
  37. package/es/components/Datagrid/useStickyColumn.js +13 -6
  38. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +2 -1
  39. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +2 -1
  40. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +2 -1
  41. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +2 -1
  42. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +2 -1
  43. package/es/components/EmptyStates/assets/ErrorIllustration.js +5 -3
  44. package/es/components/EmptyStates/assets/NoDataIllustration.js +5 -3
  45. package/es/components/EmptyStates/assets/NoTagsIllustration.js +5 -3
  46. package/es/components/EmptyStates/assets/NotFoundIllustration.js +5 -3
  47. package/es/components/EmptyStates/assets/NotificationsIllustration.js +5 -3
  48. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +5 -3
  49. package/es/components/InlineTip/InlineTip.docs-page.js +13 -0
  50. package/es/components/InlineTip/InlineTip.js +217 -0
  51. package/es/components/InlineTip/InlineTipButton.js +53 -0
  52. package/es/components/InlineTip/InlineTipLink.js +57 -0
  53. package/es/components/InlineTip/index.js +10 -0
  54. package/es/components/InlineTip/utils.js +36 -0
  55. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.docs-page.js +11 -0
  56. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +140 -0
  57. package/es/components/SteppedAnimatedMedia/assets/index.js +4 -0
  58. package/es/components/SteppedAnimatedMedia/index.js +8 -0
  59. package/es/global/js/package-settings.js +2 -1
  60. package/lib/components/Datagrid/Datagrid/DatagridContent.js +12 -9
  61. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -4
  62. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +45 -32
  63. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +4 -1
  64. package/lib/components/Datagrid/Datagrid/DatagridRow.js +5 -2
  65. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +11 -11
  66. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
  67. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +33 -27
  68. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +2 -2
  69. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +51 -15
  70. package/lib/components/Datagrid/Datagrid.docs-page.js +8 -2
  71. package/lib/components/Datagrid/useActionsColumn.js +7 -5
  72. package/lib/components/Datagrid/useDatagrid.js +13 -1
  73. package/lib/components/Datagrid/useInfiniteScroll.js +9 -9
  74. package/lib/components/Datagrid/useOnRowClick.js +6 -7
  75. package/lib/components/Datagrid/useParentDimensions.js +5 -6
  76. package/lib/components/Datagrid/useResizeTable.js +6 -7
  77. package/lib/components/Datagrid/useSelectRows.js +8 -5
  78. package/lib/components/Datagrid/useSkeletonRows.js +6 -6
  79. package/lib/components/Datagrid/useSortableColumns.js +5 -7
  80. package/lib/components/Datagrid/useStickyColumn.js +13 -6
  81. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +2 -1
  82. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +2 -1
  83. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +2 -1
  84. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +2 -1
  85. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +2 -1
  86. package/lib/components/EmptyStates/assets/ErrorIllustration.js +5 -3
  87. package/lib/components/EmptyStates/assets/NoDataIllustration.js +5 -3
  88. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +5 -3
  89. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +5 -3
  90. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +5 -3
  91. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +5 -3
  92. package/lib/components/InlineTip/InlineTip.docs-page.js +23 -0
  93. package/lib/components/InlineTip/InlineTip.js +224 -0
  94. package/lib/components/InlineTip/InlineTipButton.js +57 -0
  95. package/lib/components/InlineTip/InlineTipLink.js +61 -0
  96. package/lib/components/InlineTip/index.js +26 -0
  97. package/lib/components/InlineTip/utils.js +43 -0
  98. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.docs-page.js +21 -0
  99. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +148 -0
  100. package/lib/components/SteppedAnimatedMedia/assets/index.js +9 -0
  101. package/lib/components/SteppedAnimatedMedia/index.js +12 -0
  102. package/lib/global/js/package-settings.js +2 -1
  103. package/package.json +2 -2
  104. package/scss/components/Datagrid/styles/_datagrid.scss +31 -5
  105. package/scss/components/InlineTip/_index.scss +8 -0
  106. package/scss/components/InlineTip/_inline-tip.scss +229 -0
  107. package/scss/components/InlineTip/_storybook-styles.scss +20 -0
  108. package/scss/components/SidePanel/_side-panel.scss +1 -4
  109. package/scss/components/SteppedAnimatedMedia/_index.scss +8 -0
  110. package/scss/components/SteppedAnimatedMedia/_stepped-animated-media.scss +6 -0
  111. package/scss/components/SteppedAnimatedMedia/_storybook-styles.scss +13 -0
  112. package/scss/components/_index.scss +1 -0
@@ -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
@@ -88,13 +97,17 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
88
97
  dispatch = datagridState.dispatch,
89
98
  onColResizeEnd = datagridState.onColResizeEnd;
90
99
  var columnResizing = state.columnResizing;
91
- var columnWidths = columnResizing.columnWidths;
100
+ var _ref4 = columnResizing || {},
101
+ columnWidths = _ref4.columnWidths;
92
102
  var originalCol = visibleColumns[index];
93
103
  return /*#__PURE__*/_react.default.createElement(_react2.TableHeader, (0, _extends2.default)({}, header.getHeaderProps(), {
94
- 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),
104
+ 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),
95
105
  key: header.id,
96
106
  "aria-hidden": header.id === 'spacer' && 'true'
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(), {
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
+ },
98
111
  onKeyDown: function onKeyDown(event) {
99
112
  var key = event.key;
100
113
  if (key === 'ArrowLeft' || key === 'ArrowRight') {
@@ -118,7 +131,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
118
131
  className: (0, _classnames.default)("".concat(blockClass, "__col-resizer-range")),
119
132
  type: "range",
120
133
  defaultValue: originalCol.width,
121
- "aria-label": "Resize column"
134
+ "aria-label": resizerAriaLabel || 'Resize column'
122
135
  })), /*#__PURE__*/_react.default.createElement("span", {
123
136
  className: "".concat(blockClass, "__col-resize-indicator")
124
137
  })));
@@ -32,8 +32,11 @@ var DatagridRefBody = function DatagridRefBody(datagridState) {
32
32
  className: (0, _classnames.default)("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
33
33
  }), rows.map(function (row) {
34
34
  prepareRow(row);
35
+ var _row$getRowProps = row.getRowProps(),
36
+ key = _row$getRowProps.key;
35
37
  return row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
36
- row: row
38
+ row: row,
39
+ key: key
37
40
  }));
38
41
  }));
39
42
  };
@@ -37,7 +37,8 @@ var DatagridRow = function DatagridRow(datagridState) {
37
37
  var row = datagridState.row,
38
38
  rowSize = datagridState.rowSize,
39
39
  withNestedRows = datagridState.withNestedRows,
40
- prepareRow = datagridState.prepareRow;
40
+ prepareRow = datagridState.prepareRow,
41
+ key = datagridState.key;
41
42
  var getVisibleNestedRowCount = function getVisibleNestedRowCount(_ref) {
42
43
  var isExpanded = _ref.isExpanded,
43
44
  subRows = _ref.subRows;
@@ -95,7 +96,9 @@ var DatagridRow = function DatagridRow(datagridState) {
95
96
  }
96
97
  };
97
98
  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));
98
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({
99
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
100
+ key: key
101
+ }, /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({
99
102
  className: rowClassNames
100
103
  }, row.getRowProps(), {
101
104
  key: row.id,
@@ -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,
@@ -28,8 +28,11 @@ var DatagridSimpleBody = function DatagridSimpleBody(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
  };
@@ -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");
@@ -18,12 +17,11 @@ var _useResizeObserver = require("../../../global/js/hooks/useResizeObserver");
18
17
  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); }
19
18
  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; }
20
19
  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; }
21
- 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; } /*
22
- * Licensed Materials - Property of IBM
23
- * 5724-Q36
24
- * (c) Copyright IBM Corp. 2020 - 2023
25
- * US Government Users Restricted Rights - Use, duplication or disclosure
26
- * restricted by GSA ADP Schedule Contract with IBM Corp.
20
+ 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; } /**
21
+ * Copyright IBM Corp. 2020, 2023
22
+ *
23
+ * This source code is licensed under the Apache-2.0 license found in the
24
+ * LICENSE file in the root directory of this source tree.
27
25
  */
28
26
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
29
27
  var rowSizeMap = {
@@ -31,12 +29,7 @@ var rowSizeMap = {
31
29
  sm: 32,
32
30
  md: 40,
33
31
  lg: 48,
34
- xl: 64,
35
- // TODO: deprecate the below values in next major release (v8) on carbon-components-react
36
- short: 32,
37
- compact: 24,
38
- normal: 48,
39
- tall: 64
32
+ xl: 64
40
33
  };
41
34
  var defaultRowHeight = rowSizeMap.lg;
42
35
  var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
@@ -54,19 +47,15 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
54
47
  DatagridPagination = datagridState.DatagridPagination,
55
48
  page = datagridState.page,
56
49
  handleResize = datagridState.handleResize,
57
- gridRef = datagridState.gridRef;
50
+ gridRef = datagridState.gridRef,
51
+ tableId = datagridState.tableId;
52
+
53
+ /* istanbul ignore next */
58
54
  var handleVirtualGridResize = function handleVirtualGridResize() {
59
55
  var gridRefElement = gridRef === null || gridRef === void 0 ? void 0 : gridRef.current;
60
56
  gridRefElement.style.width = gridRefElement === null || gridRefElement === void 0 ? void 0 : gridRefElement.clientWidth;
61
57
  };
62
58
  (0, _useResizeObserver.useResizeObserver)(gridRef, handleVirtualGridResize);
63
- var syncScroll = function syncScroll(e) {
64
- var virtualBody = e.target;
65
- document.querySelector(".".concat(blockClass, "__head-wrap")).scrollLeft = virtualBody.scrollLeft;
66
- var spacerColumn = document.querySelector(".".concat(blockClass, "__head-wrap thead th:last-child"));
67
- spacerColumn.style.width = (0, _layout.px)(32 + (virtualBody.offsetWidth - virtualBody.clientWidth)); // scrollbar width to header column to fix header alignment
68
- };
69
-
70
59
  (0, _react.useEffect)(function () {
71
60
  handleResize();
72
61
  }, [handleResize]);
@@ -75,17 +64,30 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
75
64
  listRef.current.resetAfterIndex(0);
76
65
  }
77
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
+ });
78
84
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
79
85
  className: "".concat(blockClass, "__head-wrap"),
80
86
  style: {
81
87
  width: (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.clientWidth,
82
88
  overflow: 'hidden'
83
89
  }
84
- }, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
85
- onScroll: function onScroll(e) {
86
- return syncScroll(e);
87
- }
88
- }), /*#__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, {
89
91
  height: virtualHeight || tableHeight,
90
92
  itemCount: visibleRows.length,
91
93
  itemSize: function itemSize(index) {
@@ -94,6 +96,7 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
94
96
  estimatedItemSize: rowHeight,
95
97
  onScroll: onScroll,
96
98
  innerRef: innerListRef,
99
+ outerRef: testRef,
97
100
  ref: listRef,
98
101
  className: "".concat(blockClass, "__virtual-scrollbar"),
99
102
  style: {
@@ -104,10 +107,13 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
104
107
  style = _ref.style;
105
108
  var row = visibleRows[index];
106
109
  prepareRow(row);
110
+ var _row$getRowProps = row.getRowProps(),
111
+ key = _row$getRowProps.key;
107
112
  return /*#__PURE__*/_react.default.createElement("div", {
108
113
  style: _objectSpread({}, style)
109
114
  }, row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
110
- row: row
115
+ row: row,
116
+ key: key
111
117
  })));
112
118
  })));
113
119
  };
@@ -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);
@@ -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.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"));
@@ -20,6 +20,7 @@ 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 TOGGLE_ROW_SELECTED = 'toggleRowSelected';
23
24
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
24
25
  var handleColumnResizeEndEvent = exports.handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId, isKeyEvent) {
25
26
  dispatch({
@@ -51,8 +52,43 @@ var handleColumnResizingEvent = exports.handleColumnResizingEvent = function han
51
52
  }
52
53
  });
53
54
  };
55
+ var handleToggleRowSelected = exports.handleToggleRowSelected = function handleToggleRowSelected(dispatch, rowData, isChecked) {
56
+ return dispatch({
57
+ type: TOGGLE_ROW_SELECTED,
58
+ payload: {
59
+ rowData: rowData,
60
+ isChecked: isChecked
61
+ }
62
+ });
63
+ };
54
64
  var stateReducer = exports.stateReducer = function stateReducer(newState, action) {
55
65
  switch (action.type) {
66
+ case TOGGLE_ROW_SELECTED:
67
+ {
68
+ var _ref = action.payload || {},
69
+ rowData = _ref.rowData,
70
+ isChecked = _ref.isChecked;
71
+ if (!rowData) {
72
+ return;
73
+ }
74
+ if (isChecked) {
75
+ return _objectSpread(_objectSpread({}, newState), {}, {
76
+ selectedRowData: _objectSpread(_objectSpread({}, newState.selectedRowData), {}, (0, _defineProperty2.default)({}, rowData.index, rowData))
77
+ });
78
+ }
79
+ if (rowData && !isChecked) {
80
+ var newData = _objectSpread({}, newState.selectedRowData);
81
+ var dataWithRemovedRow = Object.fromEntries(Object.entries(newData).filter(function (_ref2) {
82
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 1),
83
+ key = _ref3[0];
84
+ return parseInt(key) !== parseInt(rowData.index);
85
+ }));
86
+ return _objectSpread(_objectSpread({}, newState), {}, {
87
+ selectedRowData: dataWithRemovedRow
88
+ });
89
+ }
90
+ return _objectSpread({}, newState);
91
+ }
56
92
  case INIT:
57
93
  {
58
94
  return _objectSpread(_objectSpread({}, newState), {}, {
@@ -61,27 +97,27 @@ var stateReducer = exports.stateReducer = function stateReducer(newState, action
61
97
  }
62
98
  case COLUMN_RESIZE_START:
63
99
  {
64
- var _ref = action.payload || {},
65
- headerId = _ref.headerId;
100
+ var _ref4 = action.payload || {},
101
+ headerId = _ref4.headerId;
66
102
  return _objectSpread(_objectSpread({}, newState), {}, {
67
103
  isResizing: headerId
68
104
  });
69
105
  }
70
106
  case COLUMN_RESIZING:
71
107
  {
72
- var _ref2 = action.payload || {},
73
- _headerId = _ref2.headerId,
74
- newWidth = _ref2.newWidth,
75
- defaultWidth = _ref2.defaultWidth;
108
+ var _ref5 = action.payload || {},
109
+ _headerId = _ref5.headerId,
110
+ newWidth = _ref5.newWidth,
111
+ defaultWidth = _ref5.defaultWidth;
76
112
  var newColumnWidth = {};
77
113
  if (typeof _headerId === 'undefined') {
78
114
  return _objectSpread({}, newState);
79
115
  }
80
116
  newColumnWidth[_headerId] = newWidth;
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];
117
+ var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref6) {
118
+ var _ref7 = (0, _slicedToArray2.default)(_ref6, 2),
119
+ _ = _ref7[0],
120
+ value = _ref7[1];
85
121
  return !isNaN(value);
86
122
  }));
87
123
  var headerIdArray = newState.columnResizing.headerIdWidths || [];
@@ -96,10 +132,10 @@ var stateReducer = exports.stateReducer = function stateReducer(newState, action
96
132
  }
97
133
  case COLUMN_RESIZE_END:
98
134
  {
99
- var _ref5 = action.payload || {},
100
- onColResizeEnd = _ref5.onColResizeEnd,
101
- _headerId2 = _ref5.headerId,
102
- isKeyEvent = _ref5.isKeyEvent;
135
+ var _ref8 = action.payload || {},
136
+ onColResizeEnd = _ref8.onColResizeEnd,
137
+ _headerId2 = _ref8.headerId,
138
+ isKeyEvent = _ref8.isKeyEvent;
103
139
  var currentColumn = {};
104
140
  currentColumn[_headerId2] = newState.columnResizing.columnWidths[_headerId2];
105
141
  var allChangedColumns = newState.columnResizing.columnWidths;
@@ -55,7 +55,13 @@ var DocsPage = exports.DocsPage = function DocsPage() {
55
55
  description: "There is also an optional resize callback when resizing columns, allowing you to save the widths of columns that have been resized. The resize callback returns the column that was just resized and it's width, in addition to all of the columns that have been resized and their widths.",
56
56
  source: {
57
57
  language: 'jsx',
58
- code: "\nuseDatagrid({\n columns,\n data,\n onColResizeEnd: (currentColumn, allColumns) =>\n console.log(currentColumn, allColumns),\n});\n "
58
+ code: "\nuseDatagrid({\n columns,\n data,\n onColResizeEnd: (currentColumn, allColumns) =>\n console.log(currentColumn, allColumns),\n resizerAriaLabel: 'Resize column',\n});\n "
59
+ }
60
+ }, {
61
+ description: 'Disabling the resizable columns is possible by specifying `disableResizing: true` within the `useDatagrid` hook. To pass in your own translated label for the column resizer, add the `resizerAriaLabel` property',
62
+ source: {
63
+ language: 'jsx',
64
+ code: "\nuseDatagrid({\n columns,\n data,\n disableResizing: true,\n resizerAriaLabel: 'Resize column',\n});\n "
59
65
  }
60
66
  }, {
61
67
  title: 'Rendering the table toolbar',
@@ -90,7 +96,7 @@ var DocsPage = exports.DocsPage = function DocsPage() {
90
96
  }, {
91
97
  description: "Infinite scroll:\n- Include `useInfiniteScroll` hook\n- Add `fetchMoreData` property to `useDatagrid`, this will be a function that is called when the scroll threshold is met. Optionally change the height of the grid with the `virtualHeight` property.",
92
98
  source: {
93
- code: "\nconst datagridState = useDatagrid(\n {\n columns,\n data,\n isFetching,\n fetchMoreData: fetchData,\n virtualHeight: 540,\n emptyStateTitle: 'Empty state title',\n emptyStateDescription: 'Description explaining why the table is empty',\n },\n useInfiniteScroll\n);"
99
+ code: "\nconst datagridState = useDatagrid(\n {\n columns,\n data,\n isFetching,\n fetchMoreData: fetchData,\n virtualHeight: 540,\n loadMoreThreshold: 200,\n emptyStateTitle: 'Empty state title',\n emptyStateDescription: 'Description explaining why the table is empty',\n },\n useInfiniteScroll\n);"
94
100
  }
95
101
  }, {
96
102
  description: "Virtualized data:\n- Include `useInfiniteScroll` hook\n- The Datagrid will know to use virtualized data just by providing the `useInfiniteScroll` hook\n ",
@@ -50,12 +50,13 @@ var useActionsColumn = function useActionsColumn(hooks) {
50
50
  column = cell.column;
51
51
  if (column.isAction) {
52
52
  var _cx3;
53
+ var isColumnSticky = !!column.sticky;
53
54
  return [props, {
54
55
  children: /*#__PURE__*/_react.default.createElement("div", {
55
56
  className: "".concat(blockClass, "__actions-column-contents")
56
57
  }, isFetching && /*#__PURE__*/_react.default.createElement(_react2.IconSkeleton, {
57
58
  className: "".concat(blockClass, "__actions-column-loading")
58
- }), !isFetching && rowActions.length <= 2 && /*#__PURE__*/_react.default.createElement("div", {
59
+ }), !isFetching && rowActions.length <= 2 && !isColumnSticky && /*#__PURE__*/_react.default.createElement("div", {
59
60
  className: "".concat(blockClass, "_actions-column"),
60
61
  style: {
61
62
  display: 'flex'
@@ -90,7 +91,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
90
91
  _onClick(id, row, e);
91
92
  }
92
93
  })));
93
- })), !isFetching && rowActions.length > 2 && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
94
+ })), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
94
95
  align: "left",
95
96
  size: "sm",
96
97
  flipped: true,
@@ -120,9 +121,9 @@ var useActionsColumn = function useActionsColumn(hooks) {
120
121
  key: id
121
122
  }));
122
123
  })))),
123
- className: (0, _classnames.default)((_cx3 = {}, (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__actions-column-cell"), true), (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__cell"), true), _cx3)),
124
+ className: (0, _classnames.default)((_cx3 = {}, (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__actions-column-cell"), true), (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__cell"), true), (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__actions-column-cell-non-sticky"), !isColumnSticky), _cx3)),
124
125
  style: {
125
- width: rowActions.length > 2 ? 48 : 96
126
+ width: rowActions.length > 2 || isColumnSticky ? 48 : 96
126
127
  }
127
128
  }];
128
129
  }
@@ -137,9 +138,10 @@ var useActionsColumn = function useActionsColumn(hooks) {
137
138
  var addHeaderWidth = function addHeaderWidth(props, cellData) {
138
139
  var column = cellData.column;
139
140
  if (column.isAction) {
141
+ var isColumnSticky = !!column.sticky;
140
142
  return [props, {
141
143
  style: _objectSpread(_objectSpread({}, props.style), {}, {
142
- width: rowActions.length > 2 ? 48 : 96 // set header width based on action length
144
+ width: rowActions.length > 2 || isColumnSticky ? 48 : 96 // set header width based on action length
143
145
  })
144
146
  }];
145
147
  }
@@ -28,8 +28,19 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
28
28
  */
29
29
  var useDatagrid = function useDatagrid(params) {
30
30
  var defaultPlugins = [_reactTable.useFlexLayout, _DatagridHeaderRow.default, _useSkeletonRows.default, _reactTable.useResizeColumns, _useRowRenderer.default, _useDefaultStringRenderer.default, _useRowSize.default, _reactTable.useFilters, _reactTable.useGlobalFilter, _reactTable.useSortBy, _reactTable.useExpanded];
31
+
32
+ // Disable resizing
33
+ if (params.disableResizing) {
34
+ var resizeIndex = defaultPlugins.findIndex(function (p) {
35
+ return p.pluginName === 'useResizeColumns';
36
+ });
37
+ defaultPlugins.splice(resizeIndex, 1);
38
+ }
31
39
  var defaultEndPlugins = [_reactTable.usePagination, _reactTable.useRowSelect, _useFlexResize.default, _useFloatingScroll.default];
32
40
  var clientEndPlugins = params.endPlugins || [];
41
+ var defaultColumn = {
42
+ minWidth: 50
43
+ };
33
44
  var tableId = (0, _react.useMemo)(function () {
34
45
  return (0, _uniqueId.default)('datagrid-table-id');
35
46
  }, []);
@@ -39,7 +50,8 @@ var useDatagrid = function useDatagrid(params) {
39
50
  var tableState = _reactTable.useTable.apply(void 0, [_objectSpread(_objectSpread({
40
51
  tableId: tableId
41
52
  }, params), {}, {
42
- stateReducer: _stateReducer.stateReducer
53
+ stateReducer: _stateReducer.stateReducer,
54
+ defaultColumn: defaultColumn
43
55
  })].concat(defaultPlugins, plugins, defaultEndPlugins, (0, _toConsumableArray2.default)(clientEndPlugins)));
44
56
  return tableState;
45
57
  };