material-react-table 0.9.1 → 0.9.4

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.
@@ -5664,7 +5664,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
5664
5664
  }, toolbarProps == null ? void 0 : toolbarProps.sx);
5665
5665
  }
5666
5666
  }), React__default.createElement(MRT_LinearProgressBar, {
5667
- alignTo: 'top',
5667
+ alignTo: "top",
5668
5668
  tableInstance: tableInstance
5669
5669
  }), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, {
5670
5670
  tableInstance: tableInstance
@@ -6327,6 +6327,498 @@ var MRT_TableHead = function MRT_TableHead(_ref) {
6327
6327
  }));
6328
6328
  };
6329
6329
 
6330
+ function _extends$1() {
6331
+ _extends$1 = Object.assign || function (target) {
6332
+ for (var i = 1; i < arguments.length; i++) {
6333
+ var source = arguments[i];
6334
+
6335
+ for (var key in source) {
6336
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
6337
+ target[key] = source[key];
6338
+ }
6339
+ }
6340
+ }
6341
+
6342
+ return target;
6343
+ };
6344
+
6345
+ return _extends$1.apply(this, arguments);
6346
+ }
6347
+
6348
+ function _objectWithoutPropertiesLoose$2(source, excluded) {
6349
+ if (source == null) return {};
6350
+ var target = {};
6351
+ var sourceKeys = Object.keys(source);
6352
+ var key, i;
6353
+
6354
+ for (i = 0; i < sourceKeys.length; i++) {
6355
+ key = sourceKeys[i];
6356
+ if (excluded.indexOf(key) >= 0) continue;
6357
+ target[key] = source[key];
6358
+ }
6359
+
6360
+ return target;
6361
+ }
6362
+
6363
+ var props = ['bottom', 'height', 'left', 'right', 'top', 'width'];
6364
+
6365
+ var rectChanged = function rectChanged(a, b) {
6366
+ if (a === void 0) {
6367
+ a = {};
6368
+ }
6369
+
6370
+ if (b === void 0) {
6371
+ b = {};
6372
+ }
6373
+
6374
+ return props.some(function (prop) {
6375
+ return a[prop] !== b[prop];
6376
+ });
6377
+ };
6378
+
6379
+ var observedNodes = /*#__PURE__*/new Map();
6380
+ var rafId;
6381
+
6382
+ var run = function run() {
6383
+ var changedStates = [];
6384
+ observedNodes.forEach(function (state, node) {
6385
+ var newRect = node.getBoundingClientRect();
6386
+
6387
+ if (rectChanged(newRect, state.rect)) {
6388
+ state.rect = newRect;
6389
+ changedStates.push(state);
6390
+ }
6391
+ });
6392
+ changedStates.forEach(function (state) {
6393
+ state.callbacks.forEach(function (cb) {
6394
+ return cb(state.rect);
6395
+ });
6396
+ });
6397
+ rafId = window.requestAnimationFrame(run);
6398
+ };
6399
+
6400
+ function observeRect(node, cb) {
6401
+ return {
6402
+ observe: function observe() {
6403
+ var wasEmpty = observedNodes.size === 0;
6404
+
6405
+ if (observedNodes.has(node)) {
6406
+ observedNodes.get(node).callbacks.push(cb);
6407
+ } else {
6408
+ observedNodes.set(node, {
6409
+ rect: undefined,
6410
+ hasRectChanged: false,
6411
+ callbacks: [cb]
6412
+ });
6413
+ }
6414
+
6415
+ if (wasEmpty) run();
6416
+ },
6417
+ unobserve: function unobserve() {
6418
+ var state = observedNodes.get(node);
6419
+
6420
+ if (state) {
6421
+ // Remove the callback
6422
+ var index = state.callbacks.indexOf(cb);
6423
+ if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference
6424
+
6425
+ if (!state.callbacks.length) observedNodes["delete"](node); // Stop the loop
6426
+
6427
+ if (!observedNodes.size) cancelAnimationFrame(rafId);
6428
+ }
6429
+ }
6430
+ };
6431
+ }
6432
+
6433
+ var useIsomorphicLayoutEffect$1 = typeof window !== 'undefined' ? React__default.useLayoutEffect : React__default.useEffect;
6434
+
6435
+ function useRect(nodeRef, initialRect) {
6436
+ if (initialRect === void 0) {
6437
+ initialRect = {
6438
+ width: 0,
6439
+ height: 0
6440
+ };
6441
+ }
6442
+
6443
+ var _React$useState = React__default.useState(nodeRef.current),
6444
+ element = _React$useState[0],
6445
+ setElement = _React$useState[1];
6446
+
6447
+ var _React$useReducer = React__default.useReducer(rectReducer, initialRect),
6448
+ rect = _React$useReducer[0],
6449
+ dispatch = _React$useReducer[1];
6450
+
6451
+ var initialRectSet = React__default.useRef(false);
6452
+ useIsomorphicLayoutEffect$1(function () {
6453
+ if (nodeRef.current !== element) {
6454
+ setElement(nodeRef.current);
6455
+ }
6456
+ });
6457
+ useIsomorphicLayoutEffect$1(function () {
6458
+ if (element && !initialRectSet.current) {
6459
+ initialRectSet.current = true;
6460
+
6461
+ var _rect = element.getBoundingClientRect();
6462
+
6463
+ dispatch({
6464
+ rect: _rect
6465
+ });
6466
+ }
6467
+ }, [element]);
6468
+ React__default.useEffect(function () {
6469
+ if (!element) {
6470
+ return;
6471
+ }
6472
+
6473
+ var observer = observeRect(element, function (rect) {
6474
+ dispatch({
6475
+ rect: rect
6476
+ });
6477
+ });
6478
+ observer.observe();
6479
+ return function () {
6480
+ observer.unobserve();
6481
+ };
6482
+ }, [element]);
6483
+ return rect;
6484
+ }
6485
+
6486
+ function rectReducer(state, action) {
6487
+ var rect = action.rect;
6488
+
6489
+ if (state.height !== rect.height || state.width !== rect.width) {
6490
+ return rect;
6491
+ }
6492
+
6493
+ return state;
6494
+ }
6495
+
6496
+ var defaultEstimateSize = function defaultEstimateSize() {
6497
+ return 50;
6498
+ };
6499
+
6500
+ var defaultKeyExtractor = function defaultKeyExtractor(index) {
6501
+ return index;
6502
+ };
6503
+
6504
+ var defaultMeasureSize = function defaultMeasureSize(el, horizontal) {
6505
+ var key = horizontal ? 'offsetWidth' : 'offsetHeight';
6506
+ return el[key];
6507
+ };
6508
+
6509
+ var defaultRangeExtractor = function defaultRangeExtractor(range) {
6510
+ var start = Math.max(range.start - range.overscan, 0);
6511
+ var end = Math.min(range.end + range.overscan, range.size - 1);
6512
+ var arr = [];
6513
+
6514
+ for (var i = start; i <= end; i++) {
6515
+ arr.push(i);
6516
+ }
6517
+
6518
+ return arr;
6519
+ };
6520
+ function useVirtual(_ref) {
6521
+ var _measurements;
6522
+
6523
+ var _ref$size = _ref.size,
6524
+ size = _ref$size === void 0 ? 0 : _ref$size,
6525
+ _ref$estimateSize = _ref.estimateSize,
6526
+ estimateSize = _ref$estimateSize === void 0 ? defaultEstimateSize : _ref$estimateSize,
6527
+ _ref$overscan = _ref.overscan,
6528
+ overscan = _ref$overscan === void 0 ? 1 : _ref$overscan,
6529
+ _ref$paddingStart = _ref.paddingStart,
6530
+ paddingStart = _ref$paddingStart === void 0 ? 0 : _ref$paddingStart,
6531
+ _ref$paddingEnd = _ref.paddingEnd,
6532
+ paddingEnd = _ref$paddingEnd === void 0 ? 0 : _ref$paddingEnd,
6533
+ parentRef = _ref.parentRef,
6534
+ horizontal = _ref.horizontal,
6535
+ scrollToFn = _ref.scrollToFn,
6536
+ useObserver = _ref.useObserver,
6537
+ initialRect = _ref.initialRect,
6538
+ onScrollElement = _ref.onScrollElement,
6539
+ scrollOffsetFn = _ref.scrollOffsetFn,
6540
+ _ref$keyExtractor = _ref.keyExtractor,
6541
+ keyExtractor = _ref$keyExtractor === void 0 ? defaultKeyExtractor : _ref$keyExtractor,
6542
+ _ref$measureSize = _ref.measureSize,
6543
+ measureSize = _ref$measureSize === void 0 ? defaultMeasureSize : _ref$measureSize,
6544
+ _ref$rangeExtractor = _ref.rangeExtractor,
6545
+ rangeExtractor = _ref$rangeExtractor === void 0 ? defaultRangeExtractor : _ref$rangeExtractor;
6546
+ var sizeKey = horizontal ? 'width' : 'height';
6547
+ var scrollKey = horizontal ? 'scrollLeft' : 'scrollTop';
6548
+ var latestRef = React__default.useRef({
6549
+ scrollOffset: 0,
6550
+ measurements: []
6551
+ });
6552
+
6553
+ var _React$useState = React__default.useState(0),
6554
+ scrollOffset = _React$useState[0],
6555
+ setScrollOffset = _React$useState[1];
6556
+
6557
+ latestRef.current.scrollOffset = scrollOffset;
6558
+ var useMeasureParent = useObserver || useRect;
6559
+
6560
+ var _useMeasureParent = useMeasureParent(parentRef, initialRect),
6561
+ outerSize = _useMeasureParent[sizeKey];
6562
+
6563
+ latestRef.current.outerSize = outerSize;
6564
+ var defaultScrollToFn = React__default.useCallback(function (offset) {
6565
+ if (parentRef.current) {
6566
+ parentRef.current[scrollKey] = offset;
6567
+ }
6568
+ }, [parentRef, scrollKey]);
6569
+ var resolvedScrollToFn = scrollToFn || defaultScrollToFn;
6570
+ scrollToFn = React__default.useCallback(function (offset) {
6571
+ resolvedScrollToFn(offset, defaultScrollToFn);
6572
+ }, [defaultScrollToFn, resolvedScrollToFn]);
6573
+
6574
+ var _React$useState2 = React__default.useState({}),
6575
+ measuredCache = _React$useState2[0],
6576
+ setMeasuredCache = _React$useState2[1];
6577
+
6578
+ var measure = React__default.useCallback(function () {
6579
+ return setMeasuredCache({});
6580
+ }, []);
6581
+ var pendingMeasuredCacheIndexesRef = React__default.useRef([]);
6582
+ var measurements = React__default.useMemo(function () {
6583
+ var min = pendingMeasuredCacheIndexesRef.current.length > 0 ? Math.min.apply(Math, pendingMeasuredCacheIndexesRef.current) : 0;
6584
+ pendingMeasuredCacheIndexesRef.current = [];
6585
+ var measurements = latestRef.current.measurements.slice(0, min);
6586
+
6587
+ for (var i = min; i < size; i++) {
6588
+ var key = keyExtractor(i);
6589
+ var measuredSize = measuredCache[key];
6590
+
6591
+ var _start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;
6592
+
6593
+ var _size = typeof measuredSize === 'number' ? measuredSize : estimateSize(i);
6594
+
6595
+ var _end = _start + _size;
6596
+
6597
+ measurements[i] = {
6598
+ index: i,
6599
+ start: _start,
6600
+ size: _size,
6601
+ end: _end,
6602
+ key: key
6603
+ };
6604
+ }
6605
+
6606
+ return measurements;
6607
+ }, [estimateSize, measuredCache, paddingStart, size, keyExtractor]);
6608
+ var totalSize = (((_measurements = measurements[size - 1]) == null ? void 0 : _measurements.end) || paddingStart) + paddingEnd;
6609
+ latestRef.current.measurements = measurements;
6610
+ latestRef.current.totalSize = totalSize;
6611
+ var element = onScrollElement ? onScrollElement.current : parentRef.current;
6612
+ var scrollOffsetFnRef = React__default.useRef(scrollOffsetFn);
6613
+ scrollOffsetFnRef.current = scrollOffsetFn;
6614
+ useIsomorphicLayoutEffect$1(function () {
6615
+ if (!element) {
6616
+ setScrollOffset(0);
6617
+ return;
6618
+ }
6619
+
6620
+ var onScroll = function onScroll(event) {
6621
+ var offset = scrollOffsetFnRef.current ? scrollOffsetFnRef.current(event) : element[scrollKey];
6622
+ setScrollOffset(offset);
6623
+ };
6624
+
6625
+ onScroll();
6626
+ element.addEventListener('scroll', onScroll, {
6627
+ capture: false,
6628
+ passive: true
6629
+ });
6630
+ return function () {
6631
+ element.removeEventListener('scroll', onScroll);
6632
+ };
6633
+ }, [element, scrollKey]);
6634
+
6635
+ var _calculateRange = calculateRange(latestRef.current),
6636
+ start = _calculateRange.start,
6637
+ end = _calculateRange.end;
6638
+
6639
+ var indexes = React__default.useMemo(function () {
6640
+ return rangeExtractor({
6641
+ start: start,
6642
+ end: end,
6643
+ overscan: overscan,
6644
+ size: measurements.length
6645
+ });
6646
+ }, [start, end, overscan, measurements.length, rangeExtractor]);
6647
+ var measureSizeRef = React__default.useRef(measureSize);
6648
+ measureSizeRef.current = measureSize;
6649
+ var virtualItems = React__default.useMemo(function () {
6650
+ var virtualItems = [];
6651
+
6652
+ var _loop = function _loop(k, len) {
6653
+ var i = indexes[k];
6654
+ var measurement = measurements[i];
6655
+
6656
+ var item = _extends$1(_extends$1({}, measurement), {}, {
6657
+ measureRef: function measureRef(el) {
6658
+ if (el) {
6659
+ var measuredSize = measureSizeRef.current(el, horizontal);
6660
+
6661
+ if (measuredSize !== item.size) {
6662
+ var _scrollOffset = latestRef.current.scrollOffset;
6663
+
6664
+ if (item.start < _scrollOffset) {
6665
+ defaultScrollToFn(_scrollOffset + (measuredSize - item.size));
6666
+ }
6667
+
6668
+ pendingMeasuredCacheIndexesRef.current.push(i);
6669
+ setMeasuredCache(function (old) {
6670
+ var _extends2;
6671
+
6672
+ return _extends$1(_extends$1({}, old), {}, (_extends2 = {}, _extends2[item.key] = measuredSize, _extends2));
6673
+ });
6674
+ }
6675
+ }
6676
+ }
6677
+ });
6678
+
6679
+ virtualItems.push(item);
6680
+ };
6681
+
6682
+ for (var k = 0, len = indexes.length; k < len; k++) {
6683
+ _loop(k);
6684
+ }
6685
+
6686
+ return virtualItems;
6687
+ }, [indexes, defaultScrollToFn, horizontal, measurements]);
6688
+ var mountedRef = React__default.useRef(false);
6689
+ useIsomorphicLayoutEffect$1(function () {
6690
+ if (mountedRef.current) {
6691
+ setMeasuredCache({});
6692
+ }
6693
+
6694
+ mountedRef.current = true;
6695
+ }, [estimateSize]);
6696
+ var scrollToOffset = React__default.useCallback(function (toOffset, _temp) {
6697
+ var _ref2 = _temp === void 0 ? {} : _temp,
6698
+ _ref2$align = _ref2.align,
6699
+ align = _ref2$align === void 0 ? 'start' : _ref2$align;
6700
+
6701
+ var _latestRef$current = latestRef.current,
6702
+ scrollOffset = _latestRef$current.scrollOffset,
6703
+ outerSize = _latestRef$current.outerSize;
6704
+
6705
+ if (align === 'auto') {
6706
+ if (toOffset <= scrollOffset) {
6707
+ align = 'start';
6708
+ } else if (toOffset >= scrollOffset + outerSize) {
6709
+ align = 'end';
6710
+ } else {
6711
+ align = 'start';
6712
+ }
6713
+ }
6714
+
6715
+ if (align === 'start') {
6716
+ scrollToFn(toOffset);
6717
+ } else if (align === 'end') {
6718
+ scrollToFn(toOffset - outerSize);
6719
+ } else if (align === 'center') {
6720
+ scrollToFn(toOffset - outerSize / 2);
6721
+ }
6722
+ }, [scrollToFn]);
6723
+ var tryScrollToIndex = React__default.useCallback(function (index, _temp2) {
6724
+ var _ref3 = _temp2 === void 0 ? {} : _temp2,
6725
+ _ref3$align = _ref3.align,
6726
+ align = _ref3$align === void 0 ? 'auto' : _ref3$align,
6727
+ rest = _objectWithoutPropertiesLoose$2(_ref3, ["align"]);
6728
+
6729
+ var _latestRef$current2 = latestRef.current,
6730
+ measurements = _latestRef$current2.measurements,
6731
+ scrollOffset = _latestRef$current2.scrollOffset,
6732
+ outerSize = _latestRef$current2.outerSize;
6733
+ var measurement = measurements[Math.max(0, Math.min(index, size - 1))];
6734
+
6735
+ if (!measurement) {
6736
+ return;
6737
+ }
6738
+
6739
+ if (align === 'auto') {
6740
+ if (measurement.end >= scrollOffset + outerSize) {
6741
+ align = 'end';
6742
+ } else if (measurement.start <= scrollOffset) {
6743
+ align = 'start';
6744
+ } else {
6745
+ return;
6746
+ }
6747
+ }
6748
+
6749
+ var toOffset = align === 'center' ? measurement.start + measurement.size / 2 : align === 'end' ? measurement.end : measurement.start;
6750
+ scrollToOffset(toOffset, _extends$1({
6751
+ align: align
6752
+ }, rest));
6753
+ }, [scrollToOffset, size]);
6754
+ var scrollToIndex = React__default.useCallback(function () {
6755
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6756
+ args[_key] = arguments[_key];
6757
+ }
6758
+
6759
+ // We do a double request here because of
6760
+ // dynamic sizes which can cause offset shift
6761
+ // and end up in the wrong spot. Unfortunately,
6762
+ // we can't know about those dynamic sizes until
6763
+ // we try and render them. So double down!
6764
+ tryScrollToIndex.apply(void 0, args);
6765
+ requestAnimationFrame(function () {
6766
+ tryScrollToIndex.apply(void 0, args);
6767
+ });
6768
+ }, [tryScrollToIndex]);
6769
+ return {
6770
+ virtualItems: virtualItems,
6771
+ totalSize: totalSize,
6772
+ scrollToOffset: scrollToOffset,
6773
+ scrollToIndex: scrollToIndex,
6774
+ measure: measure
6775
+ };
6776
+ }
6777
+
6778
+ var findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {
6779
+ while (low <= high) {
6780
+ var middle = (low + high) / 2 | 0;
6781
+ var currentValue = getCurrentValue(middle);
6782
+
6783
+ if (currentValue < value) {
6784
+ low = middle + 1;
6785
+ } else if (currentValue > value) {
6786
+ high = middle - 1;
6787
+ } else {
6788
+ return middle;
6789
+ }
6790
+ }
6791
+
6792
+ if (low > 0) {
6793
+ return low - 1;
6794
+ } else {
6795
+ return 0;
6796
+ }
6797
+ };
6798
+
6799
+ function calculateRange(_ref4) {
6800
+ var measurements = _ref4.measurements,
6801
+ outerSize = _ref4.outerSize,
6802
+ scrollOffset = _ref4.scrollOffset;
6803
+ var size = measurements.length - 1;
6804
+
6805
+ var getOffset = function getOffset(index) {
6806
+ return measurements[index].start;
6807
+ };
6808
+
6809
+ var start = findNearestBinarySearch(0, size, getOffset, scrollOffset);
6810
+ var end = start;
6811
+
6812
+ while (end < size && measurements[end].end < scrollOffset + outerSize) {
6813
+ end++;
6814
+ }
6815
+
6816
+ return {
6817
+ start: start,
6818
+ end: end
6819
+ };
6820
+ }
6821
+
6330
6822
  var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
6331
6823
  var cell = _ref.cell,
6332
6824
  tableInstance = _ref.tableInstance;
@@ -6483,17 +6975,22 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6483
6975
 
6484
6976
  var cell = _ref.cell,
6485
6977
  enableHover = _ref.enableHover,
6978
+ rowIndex = _ref.rowIndex,
6486
6979
  tableInstance = _ref.tableInstance;
6487
6980
  var getState = tableInstance.getState,
6488
6981
  _tableInstance$option = tableInstance.options,
6489
6982
  editingMode = _tableInstance$option.editingMode,
6490
6983
  enableClickToCopy = _tableInstance$option.enableClickToCopy,
6491
6984
  enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
6985
+ enableColumnResizing = _tableInstance$option.enableColumnResizing,
6492
6986
  enableEditing = _tableInstance$option.enableEditing,
6493
- tableId = _tableInstance$option.tableId,
6987
+ enableRowNumbers = _tableInstance$option.enableRowNumbers,
6988
+ enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
6494
6989
  muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
6495
6990
  muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
6496
6991
  onMrtCellClick = _tableInstance$option.onMrtCellClick,
6992
+ rowNumberMode = _tableInstance$option.rowNumberMode,
6993
+ tableId = _tableInstance$option.tableId,
6497
6994
  setColumnOrder = tableInstance.setColumnOrder,
6498
6995
  setCurrentEditingCell = tableInstance.setCurrentEditingCell;
6499
6996
 
@@ -6569,7 +7066,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6569
7066
  tableInstance: tableInstance
6570
7067
  });
6571
7068
  },
6572
- onDoubleClick: handleDoubleClick
7069
+ onDoubleClick: handleDoubleClick,
7070
+ title: (enableRowVirtualization || enableColumnResizing) && !(columnDef != null && columnDef.Cell) && !cell.getIsGrouped() && !columnDef.enableClickToCopy && typeof cell.getValue() === 'string' ? cell.getValue() : ''
6573
7071
  }, tableCellProps, {
6574
7072
  ref: columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined,
6575
7073
  sx: function sx(theme) {
@@ -6578,10 +7076,12 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6578
7076
  boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : undefined,
6579
7077
  cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
6580
7078
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
7079
+ overflow: 'hidden',
6581
7080
  p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
6582
7081
  pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
6583
7082
  position: column.getIsPinned() ? 'sticky' : 'relative',
6584
7083
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
7084
+ textOverflow: 'ellipsis',
6585
7085
  transition: 'all 0.2s ease-in-out',
6586
7086
  whiteSpace: isDensePadding ? 'nowrap' : 'normal',
6587
7087
  zIndex: column.getIsPinned() ? 1 : undefined,
@@ -6599,7 +7099,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
6599
7099
  animation: "wave",
6600
7100
  height: 20,
6601
7101
  width: skeletonWidth
6602
- }, muiTableBodyCellSkeletonProps)) : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
7102
+ }, muiTableBodyCellSkeletonProps)) : enableRowNumbers && rowNumberMode === 'static' && column.id === 'mrt-row-numbers' ? rowIndex + 1 : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
6603
7103
  cell: cell,
6604
7104
  tableInstance: tableInstance
6605
7105
  }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React__default.createElement(MRT_EditCellTextField, {
@@ -6660,6 +7160,7 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
6660
7160
 
6661
7161
  var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
6662
7162
  var row = _ref.row,
7163
+ rowIndex = _ref.rowIndex,
6663
7164
  tableInstance = _ref.tableInstance;
6664
7165
  var getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
6665
7166
  _tableInstance$option = tableInstance.options,
@@ -6695,6 +7196,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
6695
7196
  cell: cell,
6696
7197
  key: cell.id,
6697
7198
  enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
7199
+ rowIndex: rowIndex,
6698
7200
  tableInstance: tableInstance
6699
7201
  });
6700
7202
  })), renderDetailPanel && !row.getIsGrouped() && React__default.createElement(MRT_TableDetailPanel, {
@@ -6704,23 +7206,48 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
6704
7206
  };
6705
7207
 
6706
7208
  var MRT_TableBody = function MRT_TableBody(_ref) {
6707
- var tableInstance = _ref.tableInstance;
7209
+ var tableInstance = _ref.tableInstance,
7210
+ tableContainerRef = _ref.tableContainerRef;
6708
7211
  var getPaginationRowModel = tableInstance.getPaginationRowModel,
6709
7212
  getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
7213
+ getState = tableInstance.getState,
6710
7214
  _tableInstance$option = tableInstance.options,
6711
7215
  enablePagination = _tableInstance$option.enablePagination,
7216
+ enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
6712
7217
  muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
6713
- var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
7218
+
7219
+ var _getState = getState(),
7220
+ isDensePadding = _getState.isDensePadding;
7221
+
6714
7222
  var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
6715
7223
  tableInstance: tableInstance
6716
7224
  }) : muiTableBodyProps;
6717
- return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps), rows.map(function (row) {
7225
+ var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
7226
+ var rowVirtualizer = enableRowVirtualization ? useVirtual({
7227
+ overscan: isDensePadding ? 15 : 5,
7228
+ size: rows.length,
7229
+ parentRef: tableContainerRef
7230
+ }) : {};
7231
+ var virtualRows = rowVirtualizer.virtualItems;
7232
+ var paddingTop = (virtualRows == null ? void 0 : virtualRows.length) > 0 ? virtualRows[0].start : 0;
7233
+ var paddingBottom = (virtualRows == null ? void 0 : virtualRows.length) > 0 ? rowVirtualizer.totalSize - virtualRows[virtualRows.length - 1].end : 0;
7234
+ return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps), enableRowVirtualization && paddingTop > 0 && React__default.createElement("tr", null, React__default.createElement("td", {
7235
+ style: {
7236
+ height: paddingTop + "px"
7237
+ }
7238
+ })), (enableRowVirtualization ? virtualRows : rows).map(function (rowOrVirtualRow, rowIndex) {
7239
+ var row = enableRowVirtualization ? rows[rowOrVirtualRow.index] : rowOrVirtualRow;
6718
7240
  return React__default.createElement(MRT_TableBodyRow, {
6719
7241
  key: row.id,
6720
7242
  row: row,
7243
+ rowIndex: enableRowVirtualization ? rowOrVirtualRow.index : rowIndex,
6721
7244
  tableInstance: tableInstance
6722
7245
  });
6723
- }));
7246
+ }), enableRowVirtualization && paddingBottom > 0 && React__default.createElement("tr", null, React__default.createElement("td", {
7247
+ style: {
7248
+ height: paddingBottom + "px"
7249
+ }
7250
+ })));
6724
7251
  };
6725
7252
 
6726
7253
  var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
@@ -6814,8 +7341,11 @@ var MRT_TableFooter = function MRT_TableFooter(_ref) {
6814
7341
  };
6815
7342
 
6816
7343
  var MRT_Table = function MRT_Table(_ref) {
6817
- var tableInstance = _ref.tableInstance;
7344
+ var tableContainerRef = _ref.tableContainerRef,
7345
+ tableInstance = _ref.tableInstance;
6818
7346
  var _tableInstance$option = tableInstance.options,
7347
+ enableColumnResizing = _tableInstance$option.enableColumnResizing,
7348
+ enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
6819
7349
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
6820
7350
  enableTableFooter = _tableInstance$option.enableTableFooter,
6821
7351
  enableTableHead = _tableInstance$option.enableTableHead,
@@ -6825,23 +7355,28 @@ var MRT_Table = function MRT_Table(_ref) {
6825
7355
  }) : muiTableProps;
6826
7356
  return React__default.createElement(material.Table, Object.assign({
6827
7357
  stickyHeader: enableStickyHeader
6828
- }, tableProps), enableTableHead && React__default.createElement(MRT_TableHead, {
7358
+ }, tableProps, {
7359
+ sx: _extends({
7360
+ tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : undefined
7361
+ }, tableProps == null ? void 0 : tableProps.sx)
7362
+ }), enableTableHead && React__default.createElement(MRT_TableHead, {
6829
7363
  tableInstance: tableInstance
6830
7364
  }), React__default.createElement(MRT_TableBody, {
7365
+ tableContainerRef: tableContainerRef,
6831
7366
  tableInstance: tableInstance
6832
7367
  }), enableTableFooter && React__default.createElement(MRT_TableFooter, {
6833
7368
  tableInstance: tableInstance
6834
7369
  }));
6835
7370
  };
6836
7371
 
6837
- var useIsomorphicLayoutEffect$1 = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
7372
+ var useIsomorphicLayoutEffect$2 = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
6838
7373
  var MRT_TableContainer = function MRT_TableContainer(_ref) {
6839
7374
  var tableInstance = _ref.tableInstance;
6840
7375
  var getState = tableInstance.getState,
6841
7376
  _tableInstance$option = tableInstance.options,
6842
7377
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
6843
- tableId = _tableInstance$option.tableId,
6844
- muiTableContainerProps = _tableInstance$option.muiTableContainerProps;
7378
+ muiTableContainerProps = _tableInstance$option.muiTableContainerProps,
7379
+ tableId = _tableInstance$option.tableId;
6845
7380
 
6846
7381
  var _getState = getState(),
6847
7382
  isFullScreen = _getState.isFullScreen;
@@ -6853,14 +7388,16 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
6853
7388
  var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps({
6854
7389
  tableInstance: tableInstance
6855
7390
  }) : muiTableContainerProps;
6856
- useIsomorphicLayoutEffect$1(function () {
7391
+ useIsomorphicLayoutEffect$2(function () {
6857
7392
  var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
6858
7393
 
6859
7394
  var topToolbarHeight = typeof document !== 'undefined' ? (_document$getElementB = (_document = document) == null ? void 0 : (_document$getElementB2 = _document.getElementById("mrt-" + tableId + "-toolbar-top")) == null ? void 0 : _document$getElementB2.offsetHeight) != null ? _document$getElementB : 0 : 0;
6860
7395
  var bottomToolbarHeight = typeof document !== 'undefined' ? (_document$getElementB3 = (_document2 = document) == null ? void 0 : (_document2$getElement = _document2.getElementById("mrt-" + tableId + "-toolbar-bottom")) == null ? void 0 : _document2$getElement.offsetHeight) != null ? _document$getElementB3 : 0 : 0;
6861
7396
  setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
6862
7397
  });
7398
+ var tableContainerRef = React__default.useRef(null);
6863
7399
  return React__default.createElement(material.TableContainer, Object.assign({}, tableContainerProps, {
7400
+ ref: tableContainerRef,
6864
7401
  sx: _extends({
6865
7402
  maxWidth: '100%',
6866
7403
  maxHeight: enableStickyHeader ? "clamp(350px, calc(100vh - " + totalToolbarHeight + "px), 2000px)" : undefined,
@@ -6870,6 +7407,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
6870
7407
  maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
6871
7408
  }
6872
7409
  }), React__default.createElement(MRT_Table, {
7410
+ tableContainerRef: tableContainerRef,
6873
7411
  tableInstance: tableInstance
6874
7412
  }));
6875
7413
  };
@@ -7183,7 +7721,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
7183
7721
  }));
7184
7722
  };
7185
7723
 
7186
- var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionGlobalFilter", "positionToolbarActions", "positionToolbarAlertBanner", "selectAllMode"];
7724
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionGlobalFilter", "positionToolbarActions", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
7187
7725
  var MaterialReactTable = (function (_ref) {
7188
7726
  var _ref$autoResetExpande = _ref.autoResetExpanded,
7189
7727
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -7191,9 +7729,9 @@ var MaterialReactTable = (function (_ref) {
7191
7729
  columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
7192
7730
  _ref$defaultColumn = _ref.defaultColumn,
7193
7731
  defaultColumn = _ref$defaultColumn === void 0 ? {
7194
- minSize: 50,
7732
+ minSize: 30,
7195
7733
  maxSize: 1000,
7196
- size: 150
7734
+ size: 180
7197
7735
  } : _ref$defaultColumn,
7198
7736
  _ref$editingMode = _ref.editingMode,
7199
7737
  editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
@@ -7255,6 +7793,8 @@ var MaterialReactTable = (function (_ref) {
7255
7793
  positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
7256
7794
  _ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
7257
7795
  positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
7796
+ _ref$rowNumberMode = _ref.rowNumberMode,
7797
+ rowNumberMode = _ref$rowNumberMode === void 0 ? 'original' : _ref$rowNumberMode,
7258
7798
  _ref$selectAllMode = _ref.selectAllMode,
7259
7799
  selectAllMode = _ref$selectAllMode === void 0 ? 'all' : _ref$selectAllMode,
7260
7800
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
@@ -7294,6 +7834,7 @@ var MaterialReactTable = (function (_ref) {
7294
7834
  positionPagination: positionPagination,
7295
7835
  positionToolbarActions: positionToolbarActions,
7296
7836
  positionToolbarAlertBanner: positionToolbarAlertBanner,
7837
+ rowNumberMode: rowNumberMode,
7297
7838
  selectAllMode: selectAllMode
7298
7839
  }, rest));
7299
7840
  });