@commercetools-uikit/data-table 12.2.4 → 12.2.8

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,9 +4,9 @@ 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
- require('@babel/runtime-corejs3/core-js-stable/array/is-array');
10
10
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
11
11
  var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
12
12
  var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
@@ -17,7 +17,6 @@ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-
17
17
  var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
18
18
  var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
19
19
  var react$1 = require('react');
20
- var PropTypes = require('prop-types');
21
20
  var isEqual = require('lodash/isEqual');
22
21
  var utils = require('@commercetools-uikit/utils');
23
22
  var hooks = require('@commercetools-uikit/hooks');
@@ -25,7 +24,6 @@ var _styled = require('@emotion/styled/base');
25
24
  var react = require('@emotion/react');
26
25
  var designSystem = require('@commercetools-uikit/design-system');
27
26
  var AccessibleButton = require('@commercetools-uikit/accessible-button');
28
- require('react-required-if');
29
27
  var icons = require('@commercetools-uikit/icons');
30
28
  var jsxRuntime = require('@emotion/react/jsx-runtime');
31
29
  var _Number$isNaN = require('@babel/runtime-corejs3/core-js-stable/number/is-nan');
@@ -46,7 +44,6 @@ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachIns
46
44
  var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
47
45
  var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
48
46
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
49
- var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
50
47
  var isEqual__default = /*#__PURE__*/_interopDefault(isEqual);
51
48
  var _styled__default = /*#__PURE__*/_interopDefault(_styled);
52
49
  var AccessibleButton__default = /*#__PURE__*/_interopDefault(AccessibleButton);
@@ -150,7 +147,7 @@ var _ref3 = {
150
147
  } ;
151
148
 
152
149
  var CellInner = _styled__default["default"]("div", {
153
- target: "ecaj4zv3"
150
+ target: "e10u1n7e3"
154
151
  } )("box-sizing:border-box;flex:1;", getPaddingStyle, " ", getCellInnerStyles, " ", function (props) {
155
152
  return props.shouldClipContent ? _ref3 : '';
156
153
  }, ";" + ("" ));
@@ -166,7 +163,7 @@ var _ref2 = {
166
163
  } ;
167
164
 
168
165
  var BaseCell = _styled__default["default"]("td", {
169
- target: "ecaj4zv2"
166
+ target: "e10u1n7e2"
170
167
  } )("position:relative;display:flex;background-color:", designSystem.customProperties.colorSurface, ";border-bottom:", function (props) {
171
168
  return props.shouldRenderBottomBorder ? "1px solid ".concat(designSystem.customProperties.colorNeutral90, ";") : 'none';
172
169
  }, ";", function (props) {
@@ -176,7 +173,7 @@ var BaseCell = _styled__default["default"]("td", {
176
173
  }, ";" + ("" ));
177
174
 
178
175
  _styled__default["default"]("td", {
179
- target: "ecaj4zv1"
176
+ target: "e10u1n7e1"
180
177
  } )("position:", function (props) {
181
178
  return props.disableFooterStickiness ? 'relative' : 'sticky';
182
179
  }, ";left:0;bottom:0;grid-column:1/", function (props) {
@@ -184,7 +181,7 @@ _styled__default["default"]("td", {
184
181
  }, ";background-color:", designSystem.customProperties.colorSurface, ";border-bottom:1px solid ", designSystem.customProperties.colorNeutral90, ";border-top:1px solid ", designSystem.customProperties.colorNeutral90, ";margin-top:-1px;" + ("" ));
185
182
 
186
183
  var RowExpandCollapseButton = /*#__PURE__*/_styled__default["default"](AccessibleButton__default["default"], {
187
- target: "ecaj4zv0"
184
+ target: "e10u1n7e0"
188
185
  } )("cursor:", function (props) {
189
186
  return props.isRowCollapsed ? /*#__PURE__*/react.css("" , "" ) : /*#__PURE__*/react.css("" , "" );
190
187
  }, ";position:absolute;height:16px;width:16px;bottom:0;right:0;opacity:0;display:flex;justify-content:flex-end;align-items:flex-end;" + ("" ));
@@ -217,7 +214,7 @@ var getDisabledSelfContainmentStyles = function getDisabledSelfContainmentStyles
217
214
  };
218
215
 
219
216
  var TableContainer = _styled__default["default"]("div", {
220
- target: "e15v36zu4"
217
+ target: "epk01s24"
221
218
  } )("position:relative;z-index:0;overflow-x:auto;", function (props) {
222
219
  return props.maxWidth && !props.disableSelfContainment ? "max-width: ".concat(convertNumericDimensionToPixelValue$1(props.maxWidth), ";") : '';
223
220
  }, " ", function (props) {
@@ -225,11 +222,11 @@ var TableContainer = _styled__default["default"]("div", {
225
222
  }, " ", getDisabledSelfContainmentStyles, ";" + ("" ));
226
223
 
227
224
  var TableGrid = _styled__default["default"]("table", {
228
- target: "e15v36zu3"
225
+ target: "epk01s23"
229
226
  } )("display:grid;grid-template-columns:", function (props) {
230
227
  var _context;
231
228
 
232
- return _mapInstanceProperty__default["default"](_context = props.columns).call(_context, function (column) {
229
+ return props.columns && _mapInstanceProperty__default["default"](_context = props.columns).call(_context, function (column) {
233
230
  return column.width || 'auto';
234
231
  }).join(' ');
235
232
  }, ";overflow-y:auto;", function (props) {
@@ -239,38 +236,35 @@ var TableGrid = _styled__default["default"]("table", {
239
236
  }, " ", getDisabledSelfContainmentStyles, ";" + ("" ));
240
237
 
241
238
  var Header = _styled__default["default"]("thead", {
242
- target: "e15v36zu2"
239
+ target: "epk01s22"
243
240
  } )({
244
241
  name: "49aokf",
245
242
  styles: "display:contents"
246
243
  } );
247
244
 
248
245
  var Body = _styled__default["default"]("tbody", {
249
- target: "e15v36zu1"
246
+ target: "epk01s21"
250
247
  } )({
251
248
  name: "49aokf",
252
249
  styles: "display:contents"
253
250
  } );
254
251
 
255
252
  var Row = _styled__default["default"]("tr", {
256
- target: "e15v36zu0"
253
+ target: "epk01s20"
257
254
  } )("display:contents;", getClickableRowStyle, " :hover,:focus-within{", RowExpandCollapseButton, "{opacity:1;}}" + ("" ));
258
255
 
256
+ var defaultProps$4 = {
257
+ horizontalCellAlignment: 'left'
258
+ };
259
+
259
260
  var Footer = _styled__default["default"]("div", {
260
- target: "essh900"
261
+ target: "e2ce7vj0"
261
262
  } )("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
263
  return props.resizedTotalWidth ? "max-width: ".concat(props.resizedTotalWidth, "px;") : '';
263
264
  }, ";" + ("" ));
264
265
 
265
266
  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
- };
267
+ Footer.defaultProps = defaultProps$4;
274
268
  var Footer$1 = Footer;
275
269
 
276
270
  var getButtonStyle = function getButtonStyle() {
@@ -292,7 +286,7 @@ var getSortableHeaderStyles = function getSortableHeaderStyles(props) {
292
286
  };
293
287
 
294
288
  var HeaderCellInner = _styled__default["default"]("div", {
295
- target: "e1hhhlpp3"
289
+ target: "e1ipt8n23"
296
290
  } )("box-sizing:border-box;display:flex;justify-content:space-between;padding:0 ", function (props) {
297
291
  return props.isCondensed ? designSystem.customProperties.spacingS : designSystem.customProperties.spacingM;
298
292
  }, ";", getCellInnerStyles, " ", function (props) {
@@ -304,7 +298,7 @@ var HeaderCellInner = _styled__default["default"]("div", {
304
298
  }, ";" + ("" ));
305
299
 
306
300
  var BaseHeaderCell = _styled__default["default"]("th", {
307
- target: "e1hhhlpp2"
301
+ target: "e1ipt8n22"
308
302
  } )("color:", designSystem.customProperties.colorSurface, ";background-color:", designSystem.customProperties.colorAccent, ";position:", function (props) {
309
303
  return props.disableHeaderStickiness ? 'relative' : 'sticky';
310
304
  }, ";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 +306,22 @@ var BaseHeaderCell = _styled__default["default"]("th", {
312
306
  }, ";}" + ("" ));
313
307
 
314
308
  var HeaderLabelWrapper = _styled__default["default"]("div", {
315
- target: "e1hhhlpp1"
309
+ target: "e1ipt8n21"
316
310
  } )("min-height:1.4em;margin:", designSystem.customProperties.spacingS, " 0;flex:1;" + ("" ));
317
311
 
318
312
  var HeaderIconWrapper = _styled__default["default"]("div", {
319
- target: "e1hhhlpp0"
313
+ target: "e1ipt8n20"
320
314
  } )("display:inline-flex;align-items:center;justify-content:center;margin-right:", designSystem.customProperties.spacingS, ";padding:", designSystem.customProperties.spacingXs, " 0;" + ("" ));
321
315
 
322
316
  var ResizerIndicator = _styled__default["default"]("div", {
323
- target: "e1sg5cq71"
317
+ target: "e1ccic7f1"
324
318
  } )("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
319
  ) {
326
320
  return props.isOnDataCell ? 'visibility: visible; height: calc(100% + 1px);' : '';
327
321
  }, ";" + ("" ));
328
322
 
329
323
  var DraggableArea = _styled__default["default"]("div", {
330
- target: "e1sg5cq70"
324
+ target: "e1ccic7f0"
331
325
  } )("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
326
 
333
327
  var ColumnResizer = function ColumnResizer(props) {
@@ -340,14 +334,14 @@ var ColumnResizer = function ColumnResizer(props) {
340
334
  });
341
335
  };
342
336
 
343
- ColumnResizer.displayName = 'ColumnResizer';
344
337
  ColumnResizer.propTypes = {};
338
+ ColumnResizer.displayName = 'ColumnResizer';
345
339
  var Resizer = ColumnResizer;
346
340
 
347
341
  var ColumnResizingContext = /*#__PURE__*/react$1.createContext({});
348
342
 
349
343
  var isFixedWidthValue = function isFixedWidthValue(value) {
350
- return !_Number$isNaN__default["default"](_parseInt__default["default"](value, 10));
344
+ return !_Number$isNaN__default["default"](_parseInt__default["default"](String(value), 10));
351
345
  };
352
346
 
353
347
  var isFixedWidthValue$1 = isFixedWidthValue;
@@ -357,7 +351,7 @@ function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["d
357
351
  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
352
 
359
353
  var HeaderCellWrapper = function HeaderCellWrapper(props) {
360
- var _headerRef$current;
354
+ var _headerRef$current2;
361
355
 
362
356
  var columnResizingReducer = react$1.useContext(ColumnResizingContext);
363
357
  var headerRef = react$1.useRef(null);
@@ -367,7 +361,9 @@ var HeaderCellWrapper = function HeaderCellWrapper(props) {
367
361
  };
368
362
 
369
363
  var onDrag = function onDrag(event) {
370
- return columnResizingReducer.onDragResizing(event, headerRef.current.cellIndex);
364
+ var _headerRef$current;
365
+
366
+ return columnResizingReducer.onDragResizing(event, (_headerRef$current = headerRef.current) === null || _headerRef$current === void 0 ? void 0 : _headerRef$current.cellIndex);
371
367
  };
372
368
 
373
369
  var onDragEnd = function onDragEnd() {
@@ -381,7 +377,7 @@ var HeaderCellWrapper = function HeaderCellWrapper(props) {
381
377
  window.removeEventListener('mouseup', onDragEnd);
382
378
  };
383
379
 
384
- if (columnResizingReducer.getIsColumnBeingResized((_headerRef$current = headerRef.current) === null || _headerRef$current === void 0 ? void 0 : _headerRef$current.cellIndex)) {
380
+ if (columnResizingReducer.getIsColumnBeingResized((_headerRef$current2 = headerRef.current) === null || _headerRef$current2 === void 0 ? void 0 : _headerRef$current2.cellIndex)) {
385
381
  window.addEventListener('mousemove', onDrag);
386
382
  window.addEventListener('mouseup', onDragEnd);
387
383
  }
@@ -392,7 +388,7 @@ var HeaderCellWrapper = function HeaderCellWrapper(props) {
392
388
  */
393
389
 
394
390
 
395
- var shouldClipContent = isFixedWidthValue$1(props.columnWidth) || columnResizingReducer.getHasTableBeenResized() || columnResizingReducer.getIsAnyColumnBeingResized();
391
+ var shouldClipContent = props.columnWidth && isFixedWidthValue$1(props.columnWidth) || columnResizingReducer.getHasTableBeenResized() || columnResizingReducer.getIsAnyColumnBeingResized();
396
392
  return jsxRuntime.jsxs(BaseHeaderCell, {
397
393
  ref: headerRef,
398
394
  "data-testid": "header-".concat(props.columnKey),
@@ -405,8 +401,12 @@ var HeaderCellWrapper = function HeaderCellWrapper(props) {
405
401
  });
406
402
  };
407
403
 
408
- HeaderCellWrapper.propTypes = {};
409
404
  HeaderCellWrapper.displayName = 'HeaderCellWrapper';
405
+ var defaultProps$3 = {
406
+ sortDirection: 'desc',
407
+ disableHeaderStickiness: false,
408
+ horizontalCellAlignment: 'left'
409
+ };
410
410
 
411
411
  var HeaderCell = function HeaderCell(props) {
412
412
  var sortableHeaderProps = {};
@@ -420,7 +420,7 @@ var HeaderCell = function HeaderCell(props) {
420
420
  as: 'button',
421
421
  label: props.sortDirection,
422
422
  onClick: function onClick() {
423
- return props.onClick(props.columnKey, nextSortDirection);
423
+ return props.onClick && props.onClick(props.columnKey, nextSortDirection);
424
424
  },
425
425
  isActive: isActive,
426
426
  isSortable: true
@@ -457,20 +457,22 @@ var HeaderCell = function HeaderCell(props) {
457
457
  });
458
458
  };
459
459
 
460
- HeaderCell.displayName = 'HeaderCell';
461
460
  HeaderCell.propTypes = {};
462
- HeaderCell.defaultProps = {
463
- sortDirection: 'desc',
464
- disableHeaderStickiness: false,
465
- horizontalCellAlignment: 'left'
466
- };
461
+ HeaderCell.displayName = 'HeaderCell';
462
+ HeaderCell.defaultProps = defaultProps$3;
467
463
  var HeaderCell$1 = HeaderCell;
468
464
 
469
465
  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
466
 
471
467
  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
+ var defaultProps$2 = {
469
+ isTruncated: false,
470
+ shouldRenderBottomBorder: true
471
+ };
472
472
 
473
473
  var DataCell = function DataCell(props) {
474
+ if (props.shouldRenderCollapseButton) ;
475
+
474
476
  var Icon = props.isRowCollapsed ? icons.RightTriangleFilledIcon : icons.RightTriangleLinearIcon;
475
477
  return jsxRuntime.jsxs(BaseCell, {
476
478
  onClick: props.onCellClick,
@@ -487,7 +489,7 @@ var DataCell = function DataCell(props) {
487
489
  })), props.shouldRenderCollapseButton && jsxRuntime.jsx(RowExpandCollapseButton, {
488
490
  label: "Expand/Collapse Row",
489
491
  onClick: function onClick(event) {
490
- props.handleRowCollapseClick();
492
+ if (props.handleRowCollapseClick) props.handleRowCollapseClick();
491
493
  event.stopPropagation();
492
494
  },
493
495
  isRowCollapsed: props.isRowCollapsed,
@@ -500,19 +502,28 @@ var DataCell = function DataCell(props) {
500
502
  });
501
503
  };
502
504
 
503
- DataCell.displayName = 'DataCell';
504
505
  DataCell.propTypes = {};
505
- DataCell.defaultProps = {
506
- isTruncated: false,
507
- shouldRenderBottomBorder: true
508
- };
506
+ DataCell.displayName = 'DataCell';
507
+ DataCell.defaultProps = defaultProps$2;
509
508
  var DataCell$1 = DataCell;
510
509
 
510
+ var defaultProps$1 = {
511
+ isCondensed: false,
512
+ shouldClipContent: false,
513
+ verticalCellAlignment: 'top',
514
+ horizontalCellAlignment: 'left',
515
+ shouldRenderBottomBorder: true,
516
+ // @ts-ignore
517
+ itemRenderer: function itemRenderer(row, column) {
518
+ return row[column.key];
519
+ }
520
+ };
521
+
511
522
  var DataRow = function DataRow(props) {
512
523
  var _context, _context2;
513
524
 
514
- var _useContext = react$1.useContext(ColumnResizingContext),
515
- getIsColumnBeingResized = _useContext.getIsColumnBeingResized;
525
+ var _ref = react$1.useContext(ColumnResizingContext),
526
+ getIsColumnBeingResized = _ref.getIsColumnBeingResized;
516
527
 
517
528
  var rowHasTruncatedColumn = _someInstanceProperty__default["default"](_context = props.columns).call(_context, function (column) {
518
529
  return column.isTruncated;
@@ -560,7 +571,6 @@ var DataRow = function DataRow(props) {
560
571
 
561
572
  return (_props$onRowClick = props.onRowClick) === null || _props$onRowClick === void 0 ? void 0 : _props$onRowClick.call(props, props.row, props.rowIndex, column.key);
562
573
  } : undefined,
563
- shouldClipContent: props.shouldClipContent,
564
574
  shouldRenderBottomBorder: props.shouldRenderBottomBorder,
565
575
  shouldRenderResizingIndicator: getIsColumnBeingResized(columnIndex),
566
576
  children: column.renderItem ? column.renderItem(props.row, isRowCollapsed) : props.itemRenderer(props.row, column, isRowCollapsed)
@@ -570,16 +580,7 @@ var DataRow = function DataRow(props) {
570
580
  };
571
581
 
572
582
  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
- };
583
+ DataRow.defaultProps = defaultProps$1;
583
584
  DataRow.displayName = 'DataRow';
584
585
  var DataRow$1 = DataRow;
585
586
 
@@ -588,16 +589,21 @@ function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["d
588
589
  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
590
  var MINIMUM_COLUMN_SIZE = 32; // calculates size on mouse-drag and enforces a minimum size
590
591
 
591
- var calculateNewSize = function calculateNewSize(initialSize, initialMousePosition, newMousePosition) {
592
+ var calculateNewSize = function calculateNewSize() {
593
+ var initialSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
594
+ var initialMousePosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
595
+ var newMousePosition = arguments.length > 2 ? arguments[2] : undefined;
592
596
  var minSize = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : MINIMUM_COLUMN_SIZE;
593
597
  var newSize = initialSize - (initialMousePosition - newMousePosition);
594
598
  return minSize > newSize ? minSize : newSize;
595
599
  };
596
600
 
597
- var setColumnWidth = function setColumnWidth(columns, position, value) {
601
+ var setColumnWidth = function setColumnWidth() {
602
+ var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
603
+ var position = arguments.length > 1 ? arguments[1] : undefined;
604
+ var value = arguments.length > 2 ? arguments[2] : undefined;
598
605
  // columns => comes from state.sizes which reflects component's state
599
606
  // any update to the columns results in updating the state
600
- // eslint-disable-next-line no-param-reassign
601
607
  columns[position] = _objectSpread$1(_objectSpread$1({}, columns[position]), {}, {
602
608
  width: value
603
609
  });
@@ -651,7 +657,7 @@ function reducer(state, action) {
651
657
  });
652
658
 
653
659
  default:
654
- throw new Error("Action type '".concat(action.type, "' for 'useManualColumnResizing' reducer is not defined."));
660
+ return state;
655
661
  }
656
662
  }
657
663
 
@@ -666,13 +672,15 @@ var useManualResizingReducer = function useManualResizingReducer(tableRef) {
666
672
  };
667
673
 
668
674
  var useManualColumnResizing = function useManualColumnResizing(tableRef) {
675
+ var _state$tableRef;
676
+
669
677
  var _useManualResizingRed = useManualResizingReducer(tableRef),
670
678
  _useManualResizingRed2 = _slicedToArray(_useManualResizingRed, 2),
671
679
  state = _useManualResizingRed2[0],
672
680
  dispatch = _useManualResizingRed2[1]; // if the table element has been rendered and we haven't yet measured the columns
673
681
 
674
682
 
675
- if (state.tableRef.current && !state.sizes) {
683
+ if ((_state$tableRef = state.tableRef) !== null && _state$tableRef !== void 0 && _state$tableRef.current && !state.sizes) {
676
684
  var _context;
677
685
 
678
686
  var renderedColumnMeasurements = [];
@@ -704,15 +712,17 @@ var useManualColumnResizing = function useManualColumnResizing(tableRef) {
704
712
  };
705
713
 
706
714
  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
- );
715
+ // throttle and sync resizing update rate with screen refresh rate
716
+ requestAnimationFrame(function () {
717
+ var _state$tableRef2;
718
+
719
+ var width = calculateNewSize(state.initialColWidth, state.initialMousePosition, event.clientX);
720
+ var newColumnsSizes = setColumnWidth(state.sizes, columnIndex, width);
721
+ if (!((_state$tableRef2 = state.tableRef) !== null && _state$tableRef2 !== void 0 && _state$tableRef2.current)) return;
722
+ state.tableRef.current.style.gridTemplateColumns = getGridTemplateColumnsStyle(_mapInstanceProperty__default["default"](newColumnsSizes).call(newColumnsSizes, function (newColumnsSize) {
723
+ return newColumnsSize.width.toString();
724
+ }));
725
+ });
716
726
  };
717
727
 
718
728
  var finishResizing = function finishResizing() {
@@ -747,6 +757,9 @@ var useManualColumnResizing = function useManualColumnResizing(tableRef) {
747
757
  };
748
758
 
749
759
  var reset = function reset() {
760
+ var _state$tableRef3;
761
+
762
+ if (!((_state$tableRef3 = state.tableRef) !== null && _state$tableRef3 !== void 0 && _state$tableRef3.current)) return;
750
763
  state.tableRef.current.style.gridTemplateColumns = '';
751
764
  return dispatch({
752
765
  type: 'reset'
@@ -794,6 +807,19 @@ var shouldRenderRowBottomBorder = function shouldRenderRowBottomBorder(rowIndex,
794
807
  return false;
795
808
  };
796
809
 
810
+ var defaultProps = {
811
+ columns: [],
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();
@@ -817,18 +843,18 @@ var DataTable = function DataTable(props) {
817
843
  }
818
844
  }, [columnResizingReducer, hasLayoutChanged]);
819
845
  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
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
821
847
  tableRef.current.offsetWidth - tableRef.current.clientWidth) : undefined;
822
848
  return jsxRuntime.jsxs(TableContainer, {
823
849
  maxWidth: props.maxWidth,
824
850
  isBeingResized: columnResizingReducer.getIsAnyColumnBeingResized(),
825
- disableSelfContainment: props.disableSelfContainment,
851
+ disableSelfContainment: !!props.disableSelfContainment,
826
852
  children: [jsxRuntime.jsx(TableGrid, _objectSpread(_objectSpread({
827
853
  ref: tableRef
828
854
  }, utils.filterDataAttributes(props)), {}, {
829
855
  columns: props.columns,
830
856
  maxHeight: props.maxHeight,
831
- disableSelfContainment: props.disableSelfContainment,
857
+ disableSelfContainment: !!props.disableSelfContainment,
832
858
  resizedTotalWidth: resizedTotalWidth,
833
859
  children: jsxRuntime.jsxs(ColumnResizingContext.Provider, {
834
860
  value: columnResizingReducer,
@@ -841,13 +867,12 @@ var DataTable = function DataTable(props) {
841
867
  iconComponent: column.headerIcon,
842
868
  onColumnResized: props.onColumnResized,
843
869
  disableResizing: column.disableResizing,
844
- verticalCellAlignment: props.verticalCellAlignment,
845
870
  horizontalCellAlignment: column.align ? column.align : props.horizontalCellAlignment,
846
871
  disableHeaderStickiness: props.disableHeaderStickiness,
847
872
  columnWidth: column.width
848
873
  /* Sorting Props */
849
874
  ,
850
- onClick: props.onSortChange,
875
+ onClick: props.onSortChange && props.onSortChange,
851
876
  sortedBy: props.sortedBy,
852
877
  columnKey: column.key,
853
878
  isSortable: column.isSortable,
@@ -879,21 +904,12 @@ var DataTable = function DataTable(props) {
879
904
  };
880
905
 
881
906
  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
- };
907
+ DataTable.defaultProps = defaultProps;
892
908
  DataTable.displayName = 'DataTable';
893
909
  var DataTable$1 = DataTable;
894
910
 
895
- // NOTE: This string will be replaced in the `prepare` script by the `scripts/version.js` file.
896
- var version = '12.2.4';
911
+ // NOTE: This string will be replaced on build time with the package version.
912
+ var version = "12.2.8";
897
913
 
898
914
  Object.defineProperty(exports, 'useRowSelection', {
899
915
  enumerable: true,