@commercetools-uikit/data-table 12.2.3 → 12.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
6
6
  var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
7
+ require('prop-types');
7
8
  var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
8
9
  var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
9
10
  require('@babel/runtime-corejs3/core-js-stable/array/is-array');
@@ -17,7 +18,6 @@ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-
17
18
  var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
18
19
  var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
19
20
  var react$1 = require('react');
20
- var PropTypes = require('prop-types');
21
21
  var isEqual = require('lodash/isEqual');
22
22
  var utils = require('@commercetools-uikit/utils');
23
23
  var hooks = require('@commercetools-uikit/hooks');
@@ -25,7 +25,6 @@ var _styled = require('@emotion/styled/base');
25
25
  var react = require('@emotion/react');
26
26
  var designSystem = require('@commercetools-uikit/design-system');
27
27
  var AccessibleButton = require('@commercetools-uikit/accessible-button');
28
- require('react-required-if');
29
28
  var icons = require('@commercetools-uikit/icons');
30
29
  var jsxRuntime = require('@emotion/react/jsx-runtime');
31
30
  var _Number$isNaN = require('@babel/runtime-corejs3/core-js-stable/number/is-nan');
@@ -46,7 +45,6 @@ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachIns
46
45
  var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
47
46
  var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
48
47
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
49
- var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
50
48
  var isEqual__default = /*#__PURE__*/_interopDefault(isEqual);
51
49
  var _styled__default = /*#__PURE__*/_interopDefault(_styled);
52
50
  var AccessibleButton__default = /*#__PURE__*/_interopDefault(AccessibleButton);
@@ -149,8 +147,8 @@ var _ref3 = {
149
147
  styles: "overflow:hidden"
150
148
  } ;
151
149
 
152
- var CellInner = _styled__default['default']("div", {
153
- target: "ecaj4zv3"
150
+ var CellInner = _styled__default["default"]("div", {
151
+ target: "e10u1n7e3"
154
152
  } )("box-sizing:border-box;flex:1;", getPaddingStyle, " ", getCellInnerStyles, " ", function (props) {
155
153
  return props.shouldClipContent ? _ref3 : '';
156
154
  }, ";" + ("" ));
@@ -165,8 +163,8 @@ var _ref2 = {
165
163
  styles: "overflow:hidden"
166
164
  } ;
167
165
 
168
- var BaseCell = _styled__default['default']("td", {
169
- target: "ecaj4zv2"
166
+ var BaseCell = _styled__default["default"]("td", {
167
+ target: "e10u1n7e2"
170
168
  } )("position:relative;display:flex;background-color:", designSystem.customProperties.colorSurface, ";border-bottom:", function (props) {
171
169
  return props.shouldRenderBottomBorder ? "1px solid ".concat(designSystem.customProperties.colorNeutral90, ";") : 'none';
172
170
  }, ";", function (props) {
@@ -175,16 +173,16 @@ var BaseCell = _styled__default['default']("td", {
175
173
  return props.shouldIgnoreRowClick ? _ref$1 : '';
176
174
  }, ";" + ("" ));
177
175
 
178
- _styled__default['default']("td", {
179
- target: "ecaj4zv1"
176
+ _styled__default["default"]("td", {
177
+ target: "e10u1n7e1"
180
178
  } )("position:", function (props) {
181
179
  return props.disableFooterStickiness ? 'relative' : 'sticky';
182
180
  }, ";left:0;bottom:0;grid-column:1/", function (props) {
183
181
  return props.numberOfColumns;
184
182
  }, ";background-color:", designSystem.customProperties.colorSurface, ";border-bottom:1px solid ", designSystem.customProperties.colorNeutral90, ";border-top:1px solid ", designSystem.customProperties.colorNeutral90, ";margin-top:-1px;" + ("" ));
185
183
 
186
- var RowExpandCollapseButton = /*#__PURE__*/_styled__default['default'](AccessibleButton__default['default'], {
187
- target: "ecaj4zv0"
184
+ var RowExpandCollapseButton = /*#__PURE__*/_styled__default["default"](AccessibleButton__default["default"], {
185
+ target: "e10u1n7e0"
188
186
  } )("cursor:", function (props) {
189
187
  return props.isRowCollapsed ? /*#__PURE__*/react.css("" , "" ) : /*#__PURE__*/react.css("" , "" );
190
188
  }, ";position:absolute;height:16px;width:16px;bottom:0;right:0;opacity:0;display:flex;justify-content:flex-end;align-items:flex-end;" + ("" ));
@@ -216,20 +214,20 @@ var getDisabledSelfContainmentStyles = function getDisabledSelfContainmentStyles
216
214
  return '';
217
215
  };
218
216
 
219
- var TableContainer = _styled__default['default']("div", {
220
- target: "e15v36zu4"
217
+ var TableContainer = _styled__default["default"]("div", {
218
+ target: "epk01s24"
221
219
  } )("position:relative;z-index:0;overflow-x:auto;", function (props) {
222
220
  return props.maxWidth && !props.disableSelfContainment ? "max-width: ".concat(convertNumericDimensionToPixelValue$1(props.maxWidth), ";") : '';
223
221
  }, " ", function (props) {
224
222
  return props.isBeingResized && "\n * {\n user-select: none;\n }";
225
223
  }, " ", getDisabledSelfContainmentStyles, ";" + ("" ));
226
224
 
227
- var TableGrid = _styled__default['default']("table", {
228
- target: "e15v36zu3"
225
+ var TableGrid = _styled__default["default"]("table", {
226
+ target: "epk01s23"
229
227
  } )("display:grid;grid-template-columns:", function (props) {
230
228
  var _context;
231
229
 
232
- return _mapInstanceProperty__default['default'](_context = props.columns).call(_context, function (column) {
230
+ return props.columns && _mapInstanceProperty__default["default"](_context = props.columns).call(_context, function (column) {
233
231
  return column.width || 'auto';
234
232
  }).join(' ');
235
233
  }, ";overflow-y:auto;", function (props) {
@@ -238,39 +236,36 @@ var TableGrid = _styled__default['default']("table", {
238
236
  return props.resizedTotalWidth ? "max-width: ".concat(props.resizedTotalWidth, "px;") : '';
239
237
  }, " ", getDisabledSelfContainmentStyles, ";" + ("" ));
240
238
 
241
- var Header = _styled__default['default']("thead", {
242
- target: "e15v36zu2"
239
+ var Header = _styled__default["default"]("thead", {
240
+ target: "epk01s22"
243
241
  } )({
244
242
  name: "49aokf",
245
243
  styles: "display:contents"
246
244
  } );
247
245
 
248
- var Body = _styled__default['default']("tbody", {
249
- target: "e15v36zu1"
246
+ var Body = _styled__default["default"]("tbody", {
247
+ target: "epk01s21"
250
248
  } )({
251
249
  name: "49aokf",
252
250
  styles: "display:contents"
253
251
  } );
254
252
 
255
- var Row = _styled__default['default']("tr", {
256
- target: "e15v36zu0"
253
+ var Row = _styled__default["default"]("tr", {
254
+ target: "epk01s20"
257
255
  } )("display:contents;", getClickableRowStyle, " :hover,:focus-within{", RowExpandCollapseButton, "{opacity:1;}}" + ("" ));
258
256
 
259
- var Footer = _styled__default['default']("div", {
260
- target: "essh900"
257
+ var defaultProps$4 = {
258
+ horizontalCellAlignment: 'left'
259
+ };
260
+
261
+ var Footer = _styled__default["default"]("div", {
262
+ target: "e2ce7vj0"
261
263
  } )("box-sizing:border-box;display:block;", getPaddingStyle, " ", getHorizontalAlignmentStyle, " background-color:", designSystem.customProperties.colorSurface, ";border-top:1px solid ", designSystem.customProperties.colorNeutral90, ";border-bottom:1px solid ", designSystem.customProperties.colorNeutral90, ";", function (props) {
262
264
  return props.resizedTotalWidth ? "max-width: ".concat(props.resizedTotalWidth, "px;") : '';
263
265
  }, ";" + ("" ));
264
266
 
265
267
  Footer.displayName = 'Footer';
266
- Footer.propTypes = {
267
- children: PropTypes__default['default'].node.isRequired,
268
- isCondensed: PropTypes__default['default'].bool,
269
- horizontalCellAlignment: PropTypes__default['default'].oneOf(['left', 'center', 'right'])
270
- };
271
- Footer.defaultProps = {
272
- horizontalCellAlignment: 'left'
273
- };
268
+ Footer.defaultProps = defaultProps$4;
274
269
  var Footer$1 = Footer;
275
270
 
276
271
  var getButtonStyle = function getButtonStyle() {
@@ -291,8 +286,8 @@ var getSortableHeaderStyles = function getSortableHeaderStyles(props) {
291
286
  return /*#__PURE__*/react.css("width:100%;display:flex;align-items:center;svg[data-icon-state='inactive'],svg[data-icon-state='active']{margin-left:", designSystem.customProperties.spacingS, ";flex-shrink:0;}svg[data-icon-state='inactive']{display:", props.isActive ? 'none' : 'inline-block', ";}svg[data-icon-state='active']{display:", props.isActive ? 'inline-block' : 'none', ";}:hover,:focus{svg[data-icon-state='inactive']{display:none;}svg[data-icon-state='active']{display:inline-block;*{fill:", designSystem.customProperties.colorNeutral, ";}}}" + ("" ), "" );
292
287
  };
293
288
 
294
- var HeaderCellInner = _styled__default['default']("div", {
295
- target: "e1hhhlpp3"
289
+ var HeaderCellInner = _styled__default["default"]("div", {
290
+ target: "e1ipt8n23"
296
291
  } )("box-sizing:border-box;display:flex;justify-content:space-between;padding:0 ", function (props) {
297
292
  return props.isCondensed ? designSystem.customProperties.spacingS : designSystem.customProperties.spacingM;
298
293
  }, ";", getCellInnerStyles, " ", function (props) {
@@ -303,31 +298,31 @@ var HeaderCellInner = _styled__default['default']("div", {
303
298
  return props.shouldWrap ? '' : 'white-space: nowrap';
304
299
  }, ";" + ("" ));
305
300
 
306
- var BaseHeaderCell = _styled__default['default']("th", {
307
- target: "e1hhhlpp2"
301
+ var BaseHeaderCell = _styled__default["default"]("th", {
302
+ target: "e1ipt8n22"
308
303
  } )("color:", designSystem.customProperties.colorSurface, ";background-color:", designSystem.customProperties.colorAccent, ";position:", function (props) {
309
304
  return props.disableHeaderStickiness ? 'relative' : 'sticky';
310
305
  }, ";top:0;z-index:1;padding:0;font-weight:normal;box-shadow:inset -1px 0 ", designSystem.customProperties.colorNeutral90, ";:hover,:active{z-index:2;}", HeaderCellInner, "{", function (props) {
311
306
  return props.shouldClipContent ? 'overflow: hidden;' : '';
312
307
  }, ";}" + ("" ));
313
308
 
314
- var HeaderLabelWrapper = _styled__default['default']("div", {
315
- target: "e1hhhlpp1"
309
+ var HeaderLabelWrapper = _styled__default["default"]("div", {
310
+ target: "e1ipt8n21"
316
311
  } )("min-height:1.4em;margin:", designSystem.customProperties.spacingS, " 0;flex:1;" + ("" ));
317
312
 
318
- var HeaderIconWrapper = _styled__default['default']("div", {
319
- target: "e1hhhlpp0"
313
+ var HeaderIconWrapper = _styled__default["default"]("div", {
314
+ target: "e1ipt8n20"
320
315
  } )("display:inline-flex;align-items:center;justify-content:center;margin-right:", designSystem.customProperties.spacingS, ";padding:", designSystem.customProperties.spacingXs, " 0;" + ("" ));
321
316
 
322
- var ResizerIndicator = _styled__default['default']("div", {
323
- target: "e1sg5cq71"
317
+ var ResizerIndicator = _styled__default["default"]("div", {
318
+ target: "e1ccic7f1"
324
319
  } )("height:100%;width:3px;background:", designSystem.customProperties.colorInfo, ";visibility:hidden;cursor:col-resize;", function (props // extra 1px of height to appear above the bottom horizontal row border
325
320
  ) {
326
321
  return props.isOnDataCell ? 'visibility: visible; height: calc(100% + 1px);' : '';
327
322
  }, ";" + ("" ));
328
323
 
329
- var DraggableArea = _styled__default['default']("div", {
330
- target: "e1sg5cq70"
324
+ var DraggableArea = _styled__default["default"]("div", {
325
+ target: "e1ccic7f0"
331
326
  } )("display:flex;justify-content:flex-end;height:100%;position:absolute;top:0;right:0;width:6px;cursor:col-resize;user-select:none;&:hover ", ResizerIndicator, "{height:100%;visibility:visible;}&:active{width:20px;right:-10px;", ResizerIndicator, "{margin-right:10px;visibility:visible;}}" + ("" ));
332
327
 
333
328
  var ColumnResizer = function ColumnResizer(props) {
@@ -340,24 +335,24 @@ var ColumnResizer = function ColumnResizer(props) {
340
335
  });
341
336
  };
342
337
 
343
- ColumnResizer.displayName = 'ColumnResizer';
344
338
  ColumnResizer.propTypes = {};
339
+ ColumnResizer.displayName = 'ColumnResizer';
345
340
  var Resizer = ColumnResizer;
346
341
 
347
342
  var ColumnResizingContext = /*#__PURE__*/react$1.createContext({});
348
343
 
349
344
  var isFixedWidthValue = function isFixedWidthValue(value) {
350
- return !_Number$isNaN__default['default'](_parseInt__default['default'](value, 10));
345
+ return !_Number$isNaN__default["default"](_parseInt__default["default"](String(value), 10));
351
346
  };
352
347
 
353
348
  var isFixedWidthValue$1 = isFixedWidthValue;
354
349
 
355
- function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default['default'](object); if (_Object$getOwnPropertySymbols__default['default']) { var symbols = _Object$getOwnPropertySymbols__default['default'](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default['default'](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default['default'](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
350
+ function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
356
351
 
357
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default['default'](_context = ownKeys$3(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default['default']) { _Object$defineProperties__default['default'](target, _Object$getOwnPropertyDescriptors__default['default'](source)); } else { var _context2; _forEachInstanceProperty__default['default'](_context2 = ownKeys$3(Object(source))).call(_context2, function (key) { _Object$defineProperty__default['default'](target, key, _Object$getOwnPropertyDescriptor__default['default'](source, key)); }); } } return target; }
352
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$3(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
358
353
 
359
354
  var HeaderCellWrapper = function HeaderCellWrapper(props) {
360
- var _headerRef$current;
355
+ var _headerRef$current2;
361
356
 
362
357
  var columnResizingReducer = react$1.useContext(ColumnResizingContext);
363
358
  var headerRef = react$1.useRef(null);
@@ -367,7 +362,9 @@ var HeaderCellWrapper = function HeaderCellWrapper(props) {
367
362
  };
368
363
 
369
364
  var onDrag = function onDrag(event) {
370
- return columnResizingReducer.onDragResizing(event, headerRef.current.cellIndex);
365
+ var _headerRef$current;
366
+
367
+ return columnResizingReducer.onDragResizing(event, (_headerRef$current = headerRef.current) === null || _headerRef$current === void 0 ? void 0 : _headerRef$current.cellIndex);
371
368
  };
372
369
 
373
370
  var onDragEnd = function onDragEnd() {
@@ -381,7 +378,7 @@ var HeaderCellWrapper = function HeaderCellWrapper(props) {
381
378
  window.removeEventListener('mouseup', onDragEnd);
382
379
  };
383
380
 
384
- if (columnResizingReducer.getIsColumnBeingResized((_headerRef$current = headerRef.current) === null || _headerRef$current === void 0 ? void 0 : _headerRef$current.cellIndex)) {
381
+ if (columnResizingReducer.getIsColumnBeingResized((_headerRef$current2 = headerRef.current) === null || _headerRef$current2 === void 0 ? void 0 : _headerRef$current2.cellIndex)) {
385
382
  window.addEventListener('mousemove', onDrag);
386
383
  window.addEventListener('mouseup', onDragEnd);
387
384
  }
@@ -392,7 +389,7 @@ var HeaderCellWrapper = function HeaderCellWrapper(props) {
392
389
  */
393
390
 
394
391
 
395
- var shouldClipContent = isFixedWidthValue$1(props.columnWidth) || columnResizingReducer.getHasTableBeenResized() || columnResizingReducer.getIsAnyColumnBeingResized();
392
+ var shouldClipContent = props.columnWidth && isFixedWidthValue$1(props.columnWidth) || columnResizingReducer.getHasTableBeenResized() || columnResizingReducer.getIsAnyColumnBeingResized();
396
393
  return jsxRuntime.jsxs(BaseHeaderCell, {
397
394
  ref: headerRef,
398
395
  "data-testid": "header-".concat(props.columnKey),
@@ -405,8 +402,12 @@ var HeaderCellWrapper = function HeaderCellWrapper(props) {
405
402
  });
406
403
  };
407
404
 
408
- HeaderCellWrapper.propTypes = {};
409
405
  HeaderCellWrapper.displayName = 'HeaderCellWrapper';
406
+ var defaultProps$3 = {
407
+ sortDirection: 'desc',
408
+ disableHeaderStickiness: false,
409
+ horizontalCellAlignment: 'left'
410
+ };
410
411
 
411
412
  var HeaderCell = function HeaderCell(props) {
412
413
  var sortableHeaderProps = {};
@@ -420,7 +421,7 @@ var HeaderCell = function HeaderCell(props) {
420
421
  as: 'button',
421
422
  label: props.sortDirection,
422
423
  onClick: function onClick() {
423
- return props.onClick(props.columnKey, nextSortDirection);
424
+ return props.onClick && props.onClick(props.columnKey, nextSortDirection);
424
425
  },
425
426
  isActive: isActive,
426
427
  isSortable: true
@@ -457,20 +458,22 @@ var HeaderCell = function HeaderCell(props) {
457
458
  });
458
459
  };
459
460
 
460
- HeaderCell.displayName = 'HeaderCell';
461
461
  HeaderCell.propTypes = {};
462
- HeaderCell.defaultProps = {
463
- sortDirection: 'desc',
464
- disableHeaderStickiness: false,
465
- horizontalCellAlignment: 'left'
466
- };
462
+ HeaderCell.displayName = 'HeaderCell';
463
+ HeaderCell.defaultProps = defaultProps$3;
467
464
  var HeaderCell$1 = HeaderCell;
468
465
 
469
- function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default['default'](object); if (_Object$getOwnPropertySymbols__default['default']) { var symbols = _Object$getOwnPropertySymbols__default['default'](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default['default'](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default['default'](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
466
+ function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
470
467
 
471
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default['default'](_context = ownKeys$2(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default['default']) { _Object$defineProperties__default['default'](target, _Object$getOwnPropertyDescriptors__default['default'](source)); } else { var _context2; _forEachInstanceProperty__default['default'](_context2 = ownKeys$2(Object(source))).call(_context2, function (key) { _Object$defineProperty__default['default'](target, key, _Object$getOwnPropertyDescriptor__default['default'](source, key)); }); } } return target; }
468
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; _forEachInstanceProperty__default["default"](_context = ownKeys$2(Object(source), true)).call(_context, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context2; _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
469
+ var defaultProps$2 = {
470
+ isTruncated: false,
471
+ shouldRenderBottomBorder: true
472
+ };
472
473
 
473
474
  var DataCell = function DataCell(props) {
475
+ if (props.shouldRenderCollapseButton) ;
476
+
474
477
  var Icon = props.isRowCollapsed ? icons.RightTriangleFilledIcon : icons.RightTriangleLinearIcon;
475
478
  return jsxRuntime.jsxs(BaseCell, {
476
479
  onClick: props.onCellClick,
@@ -487,7 +490,7 @@ var DataCell = function DataCell(props) {
487
490
  })), props.shouldRenderCollapseButton && jsxRuntime.jsx(RowExpandCollapseButton, {
488
491
  label: "Expand/Collapse Row",
489
492
  onClick: function onClick(event) {
490
- props.handleRowCollapseClick();
493
+ if (props.handleRowCollapseClick) props.handleRowCollapseClick();
491
494
  event.stopPropagation();
492
495
  },
493
496
  isRowCollapsed: props.isRowCollapsed,
@@ -500,21 +503,30 @@ var DataCell = function DataCell(props) {
500
503
  });
501
504
  };
502
505
 
503
- DataCell.displayName = 'DataCell';
504
506
  DataCell.propTypes = {};
505
- DataCell.defaultProps = {
506
- isTruncated: false,
507
- shouldRenderBottomBorder: true
508
- };
507
+ DataCell.displayName = 'DataCell';
508
+ DataCell.defaultProps = defaultProps$2;
509
509
  var DataCell$1 = DataCell;
510
510
 
511
+ var defaultProps$1 = {
512
+ isCondensed: false,
513
+ shouldClipContent: false,
514
+ verticalCellAlignment: 'top',
515
+ horizontalCellAlignment: 'left',
516
+ shouldRenderBottomBorder: true,
517
+ // @ts-ignore
518
+ itemRenderer: function itemRenderer(row, column) {
519
+ return row[column.key];
520
+ }
521
+ };
522
+
511
523
  var DataRow = function DataRow(props) {
512
524
  var _context, _context2;
513
525
 
514
- var _useContext = react$1.useContext(ColumnResizingContext),
515
- getIsColumnBeingResized = _useContext.getIsColumnBeingResized;
526
+ var _ref = react$1.useContext(ColumnResizingContext),
527
+ getIsColumnBeingResized = _ref.getIsColumnBeingResized;
516
528
 
517
- var rowHasTruncatedColumn = _someInstanceProperty__default['default'](_context = props.columns).call(_context, function (column) {
529
+ var rowHasTruncatedColumn = _someInstanceProperty__default["default"](_context = props.columns).call(_context, function (column) {
518
530
  return column.isTruncated;
519
531
  });
520
532
 
@@ -542,11 +554,11 @@ var DataRow = function DataRow(props) {
542
554
 
543
555
  return jsxRuntime.jsx(Row, {
544
556
  isRowClickable: props.onRowClick,
545
- children: _mapInstanceProperty__default['default'](_context2 = props.columns).call(_context2, function (column, columnIndex) {
557
+ children: _mapInstanceProperty__default["default"](_context2 = props.columns).call(_context2, function (column, columnIndex) {
546
558
  var _context3, _context4;
547
559
 
548
560
  return jsxRuntime.jsx(DataCell$1, {
549
- "data-testid": _concatInstanceProperty__default['default'](_context4 = "cell-".concat(props.rowIndex, "-")).call(_context4, column.key),
561
+ "data-testid": _concatInstanceProperty__default["default"](_context4 = "cell-".concat(props.rowIndex, "-")).call(_context4, column.key),
550
562
  isTruncated: column.isTruncated && isRowCollapsed,
551
563
  isCondensed: props.isCondensed,
552
564
  isRowCollapsed: isRowCollapsed,
@@ -560,44 +572,39 @@ var DataRow = function DataRow(props) {
560
572
 
561
573
  return (_props$onRowClick = props.onRowClick) === null || _props$onRowClick === void 0 ? void 0 : _props$onRowClick.call(props, props.row, props.rowIndex, column.key);
562
574
  } : undefined,
563
- shouldClipContent: props.shouldClipContent,
564
575
  shouldRenderBottomBorder: props.shouldRenderBottomBorder,
565
576
  shouldRenderResizingIndicator: getIsColumnBeingResized(columnIndex),
566
577
  children: column.renderItem ? column.renderItem(props.row, isRowCollapsed) : props.itemRenderer(props.row, column, isRowCollapsed)
567
- }, _concatInstanceProperty__default['default'](_context3 = "".concat(props.row.id, "-")).call(_context3, column.key));
578
+ }, _concatInstanceProperty__default["default"](_context3 = "".concat(props.row.id, "-")).call(_context3, column.key));
568
579
  })
569
580
  });
570
581
  };
571
582
 
572
583
  DataRow.propTypes = {};
573
- DataRow.defaultProps = {
574
- isCondensed: false,
575
- shouldClipContent: false,
576
- verticalCellAlignment: 'top',
577
- horizontalCellAlignment: 'left',
578
- shouldRenderBottomBorder: true,
579
- itemRenderer: function itemRenderer(row, column) {
580
- return row[column.key];
581
- }
582
- };
584
+ DataRow.defaultProps = defaultProps$1;
583
585
  DataRow.displayName = 'DataRow';
584
586
  var DataRow$1 = DataRow;
585
587
 
586
- function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default['default'](object); if (_Object$getOwnPropertySymbols__default['default']) { var symbols = _Object$getOwnPropertySymbols__default['default'](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default['default'](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default['default'](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
588
+ function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
587
589
 
588
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty__default['default'](_context3 = ownKeys$1(Object(source), true)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default['default']) { _Object$defineProperties__default['default'](target, _Object$getOwnPropertyDescriptors__default['default'](source)); } else { var _context4; _forEachInstanceProperty__default['default'](_context4 = ownKeys$1(Object(source))).call(_context4, function (key) { _Object$defineProperty__default['default'](target, key, _Object$getOwnPropertyDescriptor__default['default'](source, key)); }); } } return target; }
590
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty__default["default"](_context3 = ownKeys$1(Object(source), true)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context4; _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
589
591
  var MINIMUM_COLUMN_SIZE = 32; // calculates size on mouse-drag and enforces a minimum size
590
592
 
591
- var calculateNewSize = function calculateNewSize(initialSize, initialMousePosition, newMousePosition) {
593
+ var calculateNewSize = function calculateNewSize() {
594
+ var initialSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
595
+ var initialMousePosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
596
+ var newMousePosition = arguments.length > 2 ? arguments[2] : undefined;
592
597
  var minSize = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : MINIMUM_COLUMN_SIZE;
593
598
  var newSize = initialSize - (initialMousePosition - newMousePosition);
594
599
  return minSize > newSize ? minSize : newSize;
595
600
  };
596
601
 
597
- var setColumnWidth = function setColumnWidth(columns, position, value) {
602
+ var setColumnWidth = function setColumnWidth() {
603
+ var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
604
+ var position = arguments.length > 1 ? arguments[1] : undefined;
605
+ var value = arguments.length > 2 ? arguments[2] : undefined;
598
606
  // columns => comes from state.sizes which reflects component's state
599
607
  // any update to the columns results in updating the state
600
- // eslint-disable-next-line no-param-reassign
601
608
  columns[position] = _objectSpread$1(_objectSpread$1({}, columns[position]), {}, {
602
609
  width: value
603
610
  });
@@ -605,7 +612,7 @@ var setColumnWidth = function setColumnWidth(columns, position, value) {
605
612
  };
606
613
 
607
614
  var getGridTemplateColumnsStyle = function getGridTemplateColumnsStyle(columns) {
608
- return "".concat(_mapInstanceProperty__default['default'](columns).call(columns, function (width) {
615
+ return "".concat(_mapInstanceProperty__default["default"](columns).call(columns, function (width) {
609
616
  return "".concat(width || 0, "px");
610
617
  }).join(' '));
611
618
  };
@@ -651,7 +658,7 @@ function reducer(state, action) {
651
658
  });
652
659
 
653
660
  default:
654
- throw new Error("Action type '".concat(action.type, "' for 'useManualColumnResizing' reducer is not defined."));
661
+ return state;
655
662
  }
656
663
  }
657
664
 
@@ -666,18 +673,20 @@ var useManualResizingReducer = function useManualResizingReducer(tableRef) {
666
673
  };
667
674
 
668
675
  var useManualColumnResizing = function useManualColumnResizing(tableRef) {
676
+ var _state$tableRef;
677
+
669
678
  var _useManualResizingRed = useManualResizingReducer(tableRef),
670
679
  _useManualResizingRed2 = _slicedToArray(_useManualResizingRed, 2),
671
680
  state = _useManualResizingRed2[0],
672
681
  dispatch = _useManualResizingRed2[1]; // if the table element has been rendered and we haven't yet measured the columns
673
682
 
674
683
 
675
- if (state.tableRef.current && !state.sizes) {
684
+ if ((_state$tableRef = state.tableRef) !== null && _state$tableRef !== void 0 && _state$tableRef.current && !state.sizes) {
676
685
  var _context;
677
686
 
678
687
  var renderedColumnMeasurements = [];
679
688
 
680
- _forEachInstanceProperty__default['default'](_context = state.tableRef.current.querySelectorAll('th')).call(_context, function (header) {
689
+ _forEachInstanceProperty__default["default"](_context = state.tableRef.current.querySelectorAll('th')).call(_context, function (header) {
681
690
  renderedColumnMeasurements.push({
682
691
  key: header.getAttribute('data-id'),
683
692
  width: header.getBoundingClientRect().width
@@ -704,15 +713,17 @@ var useManualColumnResizing = function useManualColumnResizing(tableRef) {
704
713
  };
705
714
 
706
715
  var onDragResizing = function onDragResizing(event, columnIndex) {
707
- return (// throttle and sync resizing update rate with screen refresh rate
708
- requestAnimationFrame(function () {
709
- var width = calculateNewSize(state.initialColWidth, state.initialMousePosition, event.clientX);
710
- var newColumnsSizes = setColumnWidth(state.sizes, columnIndex, width);
711
- state.tableRef.current.style.gridTemplateColumns = getGridTemplateColumnsStyle(_mapInstanceProperty__default['default'](newColumnsSizes).call(newColumnsSizes, function (newColumnsSize) {
712
- return newColumnsSize.width;
713
- }));
714
- })
715
- );
716
+ // throttle and sync resizing update rate with screen refresh rate
717
+ requestAnimationFrame(function () {
718
+ var _state$tableRef2;
719
+
720
+ var width = calculateNewSize(state.initialColWidth, state.initialMousePosition, event.clientX);
721
+ var newColumnsSizes = setColumnWidth(state.sizes, columnIndex, width);
722
+ if (!((_state$tableRef2 = state.tableRef) !== null && _state$tableRef2 !== void 0 && _state$tableRef2.current)) return;
723
+ state.tableRef.current.style.gridTemplateColumns = getGridTemplateColumnsStyle(_mapInstanceProperty__default["default"](newColumnsSizes).call(newColumnsSizes, function (newColumnsSize) {
724
+ return newColumnsSize.width.toString();
725
+ }));
726
+ });
716
727
  };
717
728
 
718
729
  var finishResizing = function finishResizing() {
@@ -741,12 +752,15 @@ var useManualColumnResizing = function useManualColumnResizing(tableRef) {
741
752
  return -1;
742
753
  }
743
754
 
744
- return _reduceInstanceProperty__default['default'](_context2 = state.sizes).call(_context2, function (a, b) {
755
+ return _reduceInstanceProperty__default["default"](_context2 = state.sizes).call(_context2, function (a, b) {
745
756
  return a + b.width;
746
757
  }, 0);
747
758
  };
748
759
 
749
760
  var reset = function reset() {
761
+ var _state$tableRef3;
762
+
763
+ if (!((_state$tableRef3 = state.tableRef) !== null && _state$tableRef3 !== void 0 && _state$tableRef3.current)) return;
750
764
  state.tableRef.current.style.gridTemplateColumns = '';
751
765
  return dispatch({
752
766
  type: 'reset'
@@ -773,15 +787,15 @@ var useManualColumnResizing = function useManualColumnResizing(tableRef) {
773
787
 
774
788
  var useManualColumnResizing$1 = useManualColumnResizing;
775
789
 
776
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default['default'](object); if (_Object$getOwnPropertySymbols__default['default']) { var symbols = _Object$getOwnPropertySymbols__default['default'](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default['default'](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default['default'](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
790
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
777
791
 
778
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context4; _forEachInstanceProperty__default['default'](_context4 = ownKeys(Object(source), true)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default['default']) { _Object$defineProperties__default['default'](target, _Object$getOwnPropertyDescriptors__default['default'](source)); } else { var _context5; _forEachInstanceProperty__default['default'](_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty__default['default'](target, key, _Object$getOwnPropertyDescriptor__default['default'](source, key)); }); } } return target; }
792
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context4; _forEachInstanceProperty__default["default"](_context4 = ownKeys(Object(source), true)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { var _context5; _forEachInstanceProperty__default["default"](_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
779
793
 
780
794
  var getColumnsLayoutInfo = function getColumnsLayoutInfo(columns) {
781
- return _reduceInstanceProperty__default['default'](columns).call(columns, function (acc, currentValue) {
795
+ return _reduceInstanceProperty__default["default"](columns).call(columns, function (acc, currentValue) {
782
796
  var _context;
783
797
 
784
- return _concatInstanceProperty__default['default'](_context = []).call(_context, _toConsumableArray(acc), [{
798
+ return _concatInstanceProperty__default["default"](_context = []).call(_context, _toConsumableArray(acc), [{
785
799
  key: currentValue.key,
786
800
  width: currentValue.width
787
801
  }]);
@@ -794,6 +808,18 @@ var shouldRenderRowBottomBorder = function shouldRenderRowBottomBorder(rowIndex,
794
808
  return false;
795
809
  };
796
810
 
811
+ var defaultProps = {
812
+ isCondensed: false,
813
+ wrapHeaderLabels: true,
814
+ verticalCellAlignment: 'top',
815
+ horizontalCellAlignment: 'left',
816
+ disableSelfContainment: false,
817
+ // @ts-ignore
818
+ itemRenderer: function itemRenderer(row, column) {
819
+ return row[column.key];
820
+ }
821
+ };
822
+
797
823
  var DataTable = function DataTable(props) {
798
824
  var _context2, _context3;
799
825
  var tableRef = react$1.useRef();
@@ -810,43 +836,43 @@ var DataTable = function DataTable(props) {
810
836
  columns: columnsInfo,
811
837
  isCondensed: props.isCondensed
812
838
  };
813
- var hasLayoutChanged = !isEqual__default['default'](prevLayout, currentLayout);
839
+ var hasLayoutChanged = !isEqual__default["default"](prevLayout, currentLayout);
814
840
  react$1.useLayoutEffect(function () {
815
841
  if (hasLayoutChanged) {
816
842
  columnResizingReducer.reset();
817
843
  }
818
844
  }, [columnResizingReducer, hasLayoutChanged]);
819
845
  var hasTableBeenResized = columnResizingReducer.getHasTableBeenResized();
820
- var resizedTotalWidth = hasTableBeenResized ? columnResizingReducer.getTotalResizedTableWidth() + (tableRef.current.offsetWidth - tableRef.current.clientWidth) : undefined;
846
+ var resizedTotalWidth = hasTableBeenResized && tableRef.current ? columnResizingReducer.getTotalResizedTableWidth() + ( // if the table has a maxHeight, it might add a scrollbar which takes space inside the container
847
+ tableRef.current.offsetWidth - tableRef.current.clientWidth) : undefined;
821
848
  return jsxRuntime.jsxs(TableContainer, {
822
849
  maxWidth: props.maxWidth,
823
850
  isBeingResized: columnResizingReducer.getIsAnyColumnBeingResized(),
824
- disableSelfContainment: props.disableSelfContainment,
851
+ disableSelfContainment: !!props.disableSelfContainment,
825
852
  children: [jsxRuntime.jsx(TableGrid, _objectSpread(_objectSpread({
826
853
  ref: tableRef
827
854
  }, utils.filterDataAttributes(props)), {}, {
828
855
  columns: props.columns,
829
856
  maxHeight: props.maxHeight,
830
- disableSelfContainment: props.disableSelfContainment,
857
+ disableSelfContainment: !!props.disableSelfContainment,
831
858
  resizedTotalWidth: resizedTotalWidth,
832
859
  children: jsxRuntime.jsxs(ColumnResizingContext.Provider, {
833
860
  value: columnResizingReducer,
834
861
  children: [jsxRuntime.jsx(Header, {
835
862
  children: jsxRuntime.jsx(Row, {
836
- children: _mapInstanceProperty__default['default'](_context2 = props.columns).call(_context2, function (column) {
863
+ children: props.columns && _mapInstanceProperty__default["default"](_context2 = props.columns).call(_context2, function (column) {
837
864
  return jsxRuntime.jsx(HeaderCell$1, {
838
865
  shouldWrap: props.wrapHeaderLabels,
839
866
  isCondensed: props.isCondensed,
840
867
  iconComponent: column.headerIcon,
841
868
  onColumnResized: props.onColumnResized,
842
869
  disableResizing: column.disableResizing,
843
- verticalCellAlignment: props.verticalCellAlignment,
844
870
  horizontalCellAlignment: column.align ? column.align : props.horizontalCellAlignment,
845
871
  disableHeaderStickiness: props.disableHeaderStickiness,
846
872
  columnWidth: column.width
847
873
  /* Sorting Props */
848
874
  ,
849
- onClick: props.onSortChange,
875
+ onClick: props.onSortChange && props.onSortChange,
850
876
  sortedBy: props.sortedBy,
851
877
  columnKey: column.key,
852
878
  isSortable: column.isSortable,
@@ -856,7 +882,7 @@ var DataTable = function DataTable(props) {
856
882
  })
857
883
  })
858
884
  }), jsxRuntime.jsx(Body, {
859
- children: _mapInstanceProperty__default['default'](_context3 = props.rows).call(_context3, function (row, rowIndex) {
885
+ children: _mapInstanceProperty__default["default"](_context3 = props.rows).call(_context3, function (row, rowIndex) {
860
886
  return react.createElement(DataRow$1, _objectSpread(_objectSpread({}, props), {}, {
861
887
  row: row,
862
888
  key: row.id,
@@ -878,33 +904,20 @@ var DataTable = function DataTable(props) {
878
904
  };
879
905
 
880
906
  DataTable.propTypes = {};
881
- DataTable.defaultProps = {
882
- isCondensed: false,
883
- wrapHeaderLabels: true,
884
- verticalCellAlignment: 'top',
885
- horizontalCellAlignment: 'left',
886
- disableSelfContainment: false,
887
- itemRenderer: function itemRenderer(row, column) {
888
- return row[column.key];
889
- }
890
- };
907
+ DataTable.defaultProps = defaultProps;
891
908
  DataTable.displayName = 'DataTable';
892
909
  var DataTable$1 = DataTable;
893
910
 
894
- // NOTE: This string will be replaced in the `prepare` script by the `scripts/version.js` file.
895
- var version = '12.2.3';
911
+ // NOTE: This string will be replaced on build time with the package version.
912
+ var version = "12.2.7";
896
913
 
897
914
  Object.defineProperty(exports, 'useRowSelection', {
898
915
  enumerable: true,
899
- get: function () {
900
- return hooks.useRowSelection;
901
- }
916
+ get: function () { return hooks.useRowSelection; }
902
917
  });
903
918
  Object.defineProperty(exports, 'useSorting', {
904
919
  enumerable: true,
905
- get: function () {
906
- return hooks.useSorting;
907
- }
920
+ get: function () { return hooks.useSorting; }
908
921
  });
909
- exports['default'] = DataTable$1;
922
+ exports["default"] = DataTable$1;
910
923
  exports.version = version;