@commercetools-uikit/data-table 12.2.4 → 12.2.5

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);
@@ -150,7 +148,7 @@ var _ref3 = {
150
148
  } ;
151
149
 
152
150
  var CellInner = _styled__default["default"]("div", {
153
- target: "ecaj4zv3"
151
+ target: "e10u1n7e3"
154
152
  } )("box-sizing:border-box;flex:1;", getPaddingStyle, " ", getCellInnerStyles, " ", function (props) {
155
153
  return props.shouldClipContent ? _ref3 : '';
156
154
  }, ";" + ("" ));
@@ -166,7 +164,7 @@ var _ref2 = {
166
164
  } ;
167
165
 
168
166
  var BaseCell = _styled__default["default"]("td", {
169
- target: "ecaj4zv2"
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) {
@@ -176,7 +174,7 @@ var BaseCell = _styled__default["default"]("td", {
176
174
  }, ";" + ("" ));
177
175
 
178
176
  _styled__default["default"]("td", {
179
- target: "ecaj4zv1"
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) {
@@ -184,7 +182,7 @@ _styled__default["default"]("td", {
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
184
  var RowExpandCollapseButton = /*#__PURE__*/_styled__default["default"](AccessibleButton__default["default"], {
187
- target: "ecaj4zv0"
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;" + ("" ));
@@ -217,7 +215,7 @@ var getDisabledSelfContainmentStyles = function getDisabledSelfContainmentStyles
217
215
  };
218
216
 
219
217
  var TableContainer = _styled__default["default"]("div", {
220
- target: "e15v36zu4"
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) {
@@ -225,11 +223,11 @@ var TableContainer = _styled__default["default"]("div", {
225
223
  }, " ", getDisabledSelfContainmentStyles, ";" + ("" ));
226
224
 
227
225
  var TableGrid = _styled__default["default"]("table", {
228
- target: "e15v36zu3"
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) {
@@ -239,38 +237,35 @@ var TableGrid = _styled__default["default"]("table", {
239
237
  }, " ", getDisabledSelfContainmentStyles, ";" + ("" ));
240
238
 
241
239
  var Header = _styled__default["default"]("thead", {
242
- target: "e15v36zu2"
240
+ target: "epk01s22"
243
241
  } )({
244
242
  name: "49aokf",
245
243
  styles: "display:contents"
246
244
  } );
247
245
 
248
246
  var Body = _styled__default["default"]("tbody", {
249
- target: "e15v36zu1"
247
+ target: "epk01s21"
250
248
  } )({
251
249
  name: "49aokf",
252
250
  styles: "display:contents"
253
251
  } );
254
252
 
255
253
  var Row = _styled__default["default"]("tr", {
256
- target: "e15v36zu0"
254
+ target: "epk01s20"
257
255
  } )("display:contents;", getClickableRowStyle, " :hover,:focus-within{", RowExpandCollapseButton, "{opacity:1;}}" + ("" ));
258
256
 
257
+ var defaultProps$4 = {
258
+ horizontalCellAlignment: 'left'
259
+ };
260
+
259
261
  var Footer = _styled__default["default"]("div", {
260
- target: "essh900"
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() {
@@ -292,7 +287,7 @@ var getSortableHeaderStyles = function getSortableHeaderStyles(props) {
292
287
  };
293
288
 
294
289
  var HeaderCellInner = _styled__default["default"]("div", {
295
- target: "e1hhhlpp3"
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) {
@@ -304,7 +299,7 @@ var HeaderCellInner = _styled__default["default"]("div", {
304
299
  }, ";" + ("" ));
305
300
 
306
301
  var BaseHeaderCell = _styled__default["default"]("th", {
307
- target: "e1hhhlpp2"
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) {
@@ -312,22 +307,22 @@ var BaseHeaderCell = _styled__default["default"]("th", {
312
307
  }, ";}" + ("" ));
313
308
 
314
309
  var HeaderLabelWrapper = _styled__default["default"]("div", {
315
- target: "e1hhhlpp1"
310
+ target: "e1ipt8n21"
316
311
  } )("min-height:1.4em;margin:", designSystem.customProperties.spacingS, " 0;flex:1;" + ("" ));
317
312
 
318
313
  var HeaderIconWrapper = _styled__default["default"]("div", {
319
- target: "e1hhhlpp0"
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
317
  var ResizerIndicator = _styled__default["default"]("div", {
323
- target: "e1sg5cq71"
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
324
  var DraggableArea = _styled__default["default"]("div", {
330
- target: "e1sg5cq70"
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,14 +335,14 @@ 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;
@@ -357,7 +352,7 @@ function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["d
357
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),
@@ -407,6 +404,11 @@ var HeaderCellWrapper = function HeaderCellWrapper(props) {
407
404
 
408
405
  HeaderCellWrapper.propTypes = {};
409
406
  HeaderCellWrapper.displayName = 'HeaderCellWrapper';
407
+ var defaultProps$3 = {
408
+ sortDirection: 'desc',
409
+ disableHeaderStickiness: false,
410
+ horizontalCellAlignment: 'left'
411
+ };
410
412
 
411
413
  var HeaderCell = function HeaderCell(props) {
412
414
  var sortableHeaderProps = {};
@@ -420,7 +422,7 @@ var HeaderCell = function HeaderCell(props) {
420
422
  as: 'button',
421
423
  label: props.sortDirection,
422
424
  onClick: function onClick() {
423
- return props.onClick(props.columnKey, nextSortDirection);
425
+ return props.onClick && props.onClick(props.columnKey, nextSortDirection);
424
426
  },
425
427
  isActive: isActive,
426
428
  isSortable: true
@@ -457,20 +459,22 @@ var HeaderCell = function HeaderCell(props) {
457
459
  });
458
460
  };
459
461
 
460
- HeaderCell.displayName = 'HeaderCell';
461
462
  HeaderCell.propTypes = {};
462
- HeaderCell.defaultProps = {
463
- sortDirection: 'desc',
464
- disableHeaderStickiness: false,
465
- horizontalCellAlignment: 'left'
466
- };
463
+ HeaderCell.displayName = 'HeaderCell';
464
+ HeaderCell.defaultProps = defaultProps$3;
467
465
  var HeaderCell$1 = HeaderCell;
468
466
 
469
467
  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
468
 
471
469
  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; }
470
+ var defaultProps$2 = {
471
+ isTruncated: false,
472
+ shouldRenderBottomBorder: true
473
+ };
472
474
 
473
475
  var DataCell = function DataCell(props) {
476
+ if (props.shouldRenderCollapseButton) ;
477
+
474
478
  var Icon = props.isRowCollapsed ? icons.RightTriangleFilledIcon : icons.RightTriangleLinearIcon;
475
479
  return jsxRuntime.jsxs(BaseCell, {
476
480
  onClick: props.onCellClick,
@@ -487,7 +491,7 @@ var DataCell = function DataCell(props) {
487
491
  })), props.shouldRenderCollapseButton && jsxRuntime.jsx(RowExpandCollapseButton, {
488
492
  label: "Expand/Collapse Row",
489
493
  onClick: function onClick(event) {
490
- props.handleRowCollapseClick();
494
+ if (props.handleRowCollapseClick) props.handleRowCollapseClick();
491
495
  event.stopPropagation();
492
496
  },
493
497
  isRowCollapsed: props.isRowCollapsed,
@@ -500,19 +504,28 @@ var DataCell = function DataCell(props) {
500
504
  });
501
505
  };
502
506
 
503
- DataCell.displayName = 'DataCell';
504
507
  DataCell.propTypes = {};
505
- DataCell.defaultProps = {
506
- isTruncated: false,
507
- shouldRenderBottomBorder: true
508
- };
508
+ DataCell.displayName = 'DataCell';
509
+ DataCell.defaultProps = defaultProps$2;
509
510
  var DataCell$1 = DataCell;
510
511
 
512
+ var defaultProps$1 = {
513
+ isCondensed: false,
514
+ shouldClipContent: false,
515
+ verticalCellAlignment: 'top',
516
+ horizontalCellAlignment: 'left',
517
+ shouldRenderBottomBorder: true,
518
+ // @ts-ignore
519
+ itemRenderer: function itemRenderer(row, column) {
520
+ return row[column.key];
521
+ }
522
+ };
523
+
511
524
  var DataRow = function DataRow(props) {
512
525
  var _context, _context2;
513
526
 
514
- var _useContext = react$1.useContext(ColumnResizingContext),
515
- getIsColumnBeingResized = _useContext.getIsColumnBeingResized;
527
+ var _ref = react$1.useContext(ColumnResizingContext),
528
+ getIsColumnBeingResized = _ref.getIsColumnBeingResized;
516
529
 
517
530
  var rowHasTruncatedColumn = _someInstanceProperty__default["default"](_context = props.columns).call(_context, function (column) {
518
531
  return column.isTruncated;
@@ -560,7 +573,6 @@ var DataRow = function DataRow(props) {
560
573
 
561
574
  return (_props$onRowClick = props.onRowClick) === null || _props$onRowClick === void 0 ? void 0 : _props$onRowClick.call(props, props.row, props.rowIndex, column.key);
562
575
  } : undefined,
563
- shouldClipContent: props.shouldClipContent,
564
576
  shouldRenderBottomBorder: props.shouldRenderBottomBorder,
565
577
  shouldRenderResizingIndicator: getIsColumnBeingResized(columnIndex),
566
578
  children: column.renderItem ? column.renderItem(props.row, isRowCollapsed) : props.itemRenderer(props.row, column, isRowCollapsed)
@@ -570,16 +582,7 @@ var DataRow = function DataRow(props) {
570
582
  };
571
583
 
572
584
  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
- };
585
+ DataRow.defaultProps = defaultProps$1;
583
586
  DataRow.displayName = 'DataRow';
584
587
  var DataRow$1 = DataRow;
585
588
 
@@ -588,16 +591,21 @@ function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["d
588
591
  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
592
  var MINIMUM_COLUMN_SIZE = 32; // calculates size on mouse-drag and enforces a minimum size
590
593
 
591
- var calculateNewSize = function calculateNewSize(initialSize, initialMousePosition, newMousePosition) {
594
+ var calculateNewSize = function calculateNewSize() {
595
+ var initialSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
596
+ var initialMousePosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
597
+ var newMousePosition = arguments.length > 2 ? arguments[2] : undefined;
592
598
  var minSize = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : MINIMUM_COLUMN_SIZE;
593
599
  var newSize = initialSize - (initialMousePosition - newMousePosition);
594
600
  return minSize > newSize ? minSize : newSize;
595
601
  };
596
602
 
597
- var setColumnWidth = function setColumnWidth(columns, position, value) {
603
+ var setColumnWidth = function setColumnWidth() {
604
+ var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
605
+ var position = arguments.length > 1 ? arguments[1] : undefined;
606
+ var value = arguments.length > 2 ? arguments[2] : undefined;
598
607
  // columns => comes from state.sizes which reflects component's state
599
608
  // any update to the columns results in updating the state
600
- // eslint-disable-next-line no-param-reassign
601
609
  columns[position] = _objectSpread$1(_objectSpread$1({}, columns[position]), {}, {
602
610
  width: value
603
611
  });
@@ -651,7 +659,7 @@ function reducer(state, action) {
651
659
  });
652
660
 
653
661
  default:
654
- throw new Error("Action type '".concat(action.type, "' for 'useManualColumnResizing' reducer is not defined."));
662
+ return state;
655
663
  }
656
664
  }
657
665
 
@@ -666,13 +674,15 @@ var useManualResizingReducer = function useManualResizingReducer(tableRef) {
666
674
  };
667
675
 
668
676
  var useManualColumnResizing = function useManualColumnResizing(tableRef) {
677
+ var _state$tableRef;
678
+
669
679
  var _useManualResizingRed = useManualResizingReducer(tableRef),
670
680
  _useManualResizingRed2 = _slicedToArray(_useManualResizingRed, 2),
671
681
  state = _useManualResizingRed2[0],
672
682
  dispatch = _useManualResizingRed2[1]; // if the table element has been rendered and we haven't yet measured the columns
673
683
 
674
684
 
675
- if (state.tableRef.current && !state.sizes) {
685
+ if ((_state$tableRef = state.tableRef) !== null && _state$tableRef !== void 0 && _state$tableRef.current && !state.sizes) {
676
686
  var _context;
677
687
 
678
688
  var renderedColumnMeasurements = [];
@@ -704,15 +714,17 @@ var useManualColumnResizing = function useManualColumnResizing(tableRef) {
704
714
  };
705
715
 
706
716
  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
- );
717
+ // throttle and sync resizing update rate with screen refresh rate
718
+ requestAnimationFrame(function () {
719
+ var _state$tableRef2;
720
+
721
+ var width = calculateNewSize(state.initialColWidth, state.initialMousePosition, event.clientX);
722
+ var newColumnsSizes = setColumnWidth(state.sizes, columnIndex, width);
723
+ if (!((_state$tableRef2 = state.tableRef) !== null && _state$tableRef2 !== void 0 && _state$tableRef2.current)) return;
724
+ state.tableRef.current.style.gridTemplateColumns = getGridTemplateColumnsStyle(_mapInstanceProperty__default["default"](newColumnsSizes).call(newColumnsSizes, function (newColumnsSize) {
725
+ return newColumnsSize.width;
726
+ }));
727
+ });
716
728
  };
717
729
 
718
730
  var finishResizing = function finishResizing() {
@@ -747,6 +759,9 @@ var useManualColumnResizing = function useManualColumnResizing(tableRef) {
747
759
  };
748
760
 
749
761
  var reset = function reset() {
762
+ var _state$tableRef3;
763
+
764
+ if (!((_state$tableRef3 = state.tableRef) !== null && _state$tableRef3 !== void 0 && _state$tableRef3.current)) return;
750
765
  state.tableRef.current.style.gridTemplateColumns = '';
751
766
  return dispatch({
752
767
  type: 'reset'
@@ -794,6 +809,18 @@ var shouldRenderRowBottomBorder = function shouldRenderRowBottomBorder(rowIndex,
794
809
  return false;
795
810
  };
796
811
 
812
+ var defaultProps = {
813
+ isCondensed: false,
814
+ wrapHeaderLabels: true,
815
+ verticalCellAlignment: 'top',
816
+ horizontalCellAlignment: 'left',
817
+ disableSelfContainment: false,
818
+ // @ts-ignore
819
+ itemRenderer: function itemRenderer(row, column) {
820
+ return row[column.key];
821
+ }
822
+ };
823
+
797
824
  var DataTable = function DataTable(props) {
798
825
  var _context2, _context3;
799
826
  var tableRef = react$1.useRef();
@@ -817,37 +844,36 @@ var DataTable = function DataTable(props) {
817
844
  }
818
845
  }, [columnResizingReducer, hasLayoutChanged]);
819
846
  var hasTableBeenResized = columnResizingReducer.getHasTableBeenResized();
820
- var resizedTotalWidth = hasTableBeenResized ? columnResizingReducer.getTotalResizedTableWidth() + ( // if the table has a maxHeight, it might add a scrollbar which takes space inside the container
847
+ var resizedTotalWidth = hasTableBeenResized && tableRef.current ? columnResizingReducer.getTotalResizedTableWidth() + ( // if the table has a maxHeight, it might add a scrollbar which takes space inside the container
821
848
  tableRef.current.offsetWidth - tableRef.current.clientWidth) : undefined;
822
849
  return jsxRuntime.jsxs(TableContainer, {
823
850
  maxWidth: props.maxWidth,
824
851
  isBeingResized: columnResizingReducer.getIsAnyColumnBeingResized(),
825
- disableSelfContainment: props.disableSelfContainment,
852
+ disableSelfContainment: !!props.disableSelfContainment,
826
853
  children: [jsxRuntime.jsx(TableGrid, _objectSpread(_objectSpread({
827
854
  ref: tableRef
828
855
  }, utils.filterDataAttributes(props)), {}, {
829
856
  columns: props.columns,
830
857
  maxHeight: props.maxHeight,
831
- disableSelfContainment: props.disableSelfContainment,
858
+ disableSelfContainment: !!props.disableSelfContainment,
832
859
  resizedTotalWidth: resizedTotalWidth,
833
860
  children: jsxRuntime.jsxs(ColumnResizingContext.Provider, {
834
861
  value: columnResizingReducer,
835
862
  children: [jsxRuntime.jsx(Header, {
836
863
  children: jsxRuntime.jsx(Row, {
837
- children: _mapInstanceProperty__default["default"](_context2 = props.columns).call(_context2, function (column) {
864
+ children: props.columns && _mapInstanceProperty__default["default"](_context2 = props.columns).call(_context2, function (column) {
838
865
  return jsxRuntime.jsx(HeaderCell$1, {
839
866
  shouldWrap: props.wrapHeaderLabels,
840
867
  isCondensed: props.isCondensed,
841
868
  iconComponent: column.headerIcon,
842
869
  onColumnResized: props.onColumnResized,
843
870
  disableResizing: column.disableResizing,
844
- verticalCellAlignment: props.verticalCellAlignment,
845
871
  horizontalCellAlignment: column.align ? column.align : props.horizontalCellAlignment,
846
872
  disableHeaderStickiness: props.disableHeaderStickiness,
847
873
  columnWidth: column.width
848
874
  /* Sorting Props */
849
875
  ,
850
- onClick: props.onSortChange,
876
+ onClick: props.onSortChange && props.onSortChange,
851
877
  sortedBy: props.sortedBy,
852
878
  columnKey: column.key,
853
879
  isSortable: column.isSortable,
@@ -879,21 +905,12 @@ var DataTable = function DataTable(props) {
879
905
  };
880
906
 
881
907
  DataTable.propTypes = {};
882
- DataTable.defaultProps = {
883
- isCondensed: false,
884
- wrapHeaderLabels: true,
885
- verticalCellAlignment: 'top',
886
- horizontalCellAlignment: 'left',
887
- disableSelfContainment: false,
888
- itemRenderer: function itemRenderer(row, column) {
889
- return row[column.key];
890
- }
891
- };
908
+ DataTable.defaultProps = defaultProps;
892
909
  DataTable.displayName = 'DataTable';
893
910
  var DataTable$1 = DataTable;
894
911
 
895
- // NOTE: This string will be replaced in the `prepare` script by the `scripts/version.js` file.
896
- var version = '12.2.4';
912
+ // NOTE: This string will be replaced on build time with the package version.
913
+ var version = "12.2.5";
897
914
 
898
915
  Object.defineProperty(exports, 'useRowSelection', {
899
916
  enumerable: true,