material-react-table 0.9.0 → 0.9.3
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.
- package/README.md +3 -3
- package/dist/MaterialReactTable.d.ts +1 -0
- package/dist/body/MRT_TableBody.d.ts +3 -2
- package/dist/material-react-table.cjs.development.js +551 -18
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +58 -16
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/table/MRT_Table.d.ts +2 -1
- package/dist/table/MRT_TableRoot.d.ts +1 -0
- package/package.json +11 -10
- package/src/MaterialReactTable.tsx +2 -1
- package/src/body/MRT_TableBody.tsx +55 -14
- package/src/body/MRT_TableBodyCell.tsx +23 -6
- package/src/body/MRT_TableBodyRow.tsx +2 -1
- package/src/table/MRT_Table.tsx +18 -4
- package/src/table/MRT_TableContainer.tsx +8 -2
- package/src/toolbar/MRT_ToolbarBottom.tsx +1 -1
|
@@ -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:
|
|
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;
|
|
@@ -6489,11 +6981,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
6489
6981
|
editingMode = _tableInstance$option.editingMode,
|
|
6490
6982
|
enableClickToCopy = _tableInstance$option.enableClickToCopy,
|
|
6491
6983
|
enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
|
|
6984
|
+
enableColumnResizing = _tableInstance$option.enableColumnResizing,
|
|
6492
6985
|
enableEditing = _tableInstance$option.enableEditing,
|
|
6493
|
-
|
|
6986
|
+
enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
|
|
6494
6987
|
muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
|
|
6495
6988
|
muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
|
|
6496
6989
|
onMrtCellClick = _tableInstance$option.onMrtCellClick,
|
|
6990
|
+
tableId = _tableInstance$option.tableId,
|
|
6497
6991
|
setColumnOrder = tableInstance.setColumnOrder,
|
|
6498
6992
|
setCurrentEditingCell = tableInstance.setCurrentEditingCell;
|
|
6499
6993
|
|
|
@@ -6569,7 +7063,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
6569
7063
|
tableInstance: tableInstance
|
|
6570
7064
|
});
|
|
6571
7065
|
},
|
|
6572
|
-
onDoubleClick: handleDoubleClick
|
|
7066
|
+
onDoubleClick: handleDoubleClick,
|
|
7067
|
+
title: (enableRowVirtualization || enableColumnResizing) && !(columnDef != null && columnDef.Cell) && !cell.getIsGrouped() && !columnDef.enableClickToCopy && typeof cell.getValue() === 'string' ? cell.getValue() : ''
|
|
6573
7068
|
}, tableCellProps, {
|
|
6574
7069
|
ref: columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined,
|
|
6575
7070
|
sx: function sx(theme) {
|
|
@@ -6578,15 +7073,17 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
6578
7073
|
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
7074
|
cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
|
|
6580
7075
|
left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
|
|
7076
|
+
overflow: 'hidden',
|
|
6581
7077
|
p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
|
|
6582
7078
|
pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
|
|
6583
7079
|
position: column.getIsPinned() ? 'sticky' : 'relative',
|
|
6584
7080
|
right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
|
|
7081
|
+
textOverflow: 'ellipsis',
|
|
6585
7082
|
transition: 'all 0.2s ease-in-out',
|
|
6586
7083
|
whiteSpace: isDensePadding ? 'nowrap' : 'normal',
|
|
6587
7084
|
zIndex: column.getIsPinned() ? 1 : undefined,
|
|
6588
7085
|
'&:hover': {
|
|
6589
|
-
backgroundColor: enableHover ? theme.palette.mode === 'dark' ? material.lighten(theme.palette.background["default"], 0.13) + " !important" : material.darken(theme.palette.background["default"], 0.07) + " !important" : undefined
|
|
7086
|
+
backgroundColor: enableHover && enableEditing && editingMode !== 'row' ? theme.palette.mode === 'dark' ? material.lighten(theme.palette.background["default"], 0.13) + " !important" : material.darken(theme.palette.background["default"], 0.07) + " !important" : undefined
|
|
6590
7087
|
}
|
|
6591
7088
|
}, tableCellProps == null ? void 0 : tableCellProps.sx);
|
|
6592
7089
|
},
|
|
@@ -6661,7 +7158,8 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
|
|
|
6661
7158
|
var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
6662
7159
|
var row = _ref.row,
|
|
6663
7160
|
tableInstance = _ref.tableInstance;
|
|
6664
|
-
var
|
|
7161
|
+
var getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
|
|
7162
|
+
_tableInstance$option = tableInstance.options,
|
|
6665
7163
|
muiTableBodyRowProps = _tableInstance$option.muiTableBodyRowProps,
|
|
6666
7164
|
onMrtRowClick = _tableInstance$option.onMrtRowClick,
|
|
6667
7165
|
renderDetailPanel = _tableInstance$option.renderDetailPanel;
|
|
@@ -6685,7 +7183,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
6685
7183
|
backgroundColor: material.lighten(theme.palette.background["default"], 0.06),
|
|
6686
7184
|
transition: 'all 0.2s ease-in-out',
|
|
6687
7185
|
'&:hover td': {
|
|
6688
|
-
backgroundColor: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false ? theme.palette.mode === 'dark' ? "" + material.lighten(theme.palette.background["default"], 0.12) : "" + material.darken(theme.palette.background["default"], 0.05) : undefined
|
|
7186
|
+
backgroundColor: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false && getIsSomeColumnsPinned() ? theme.palette.mode === 'dark' ? "" + material.lighten(theme.palette.background["default"], 0.12) : "" + material.darken(theme.palette.background["default"], 0.05) : undefined
|
|
6689
7187
|
}
|
|
6690
7188
|
}, tableRowProps == null ? void 0 : tableRowProps.sx);
|
|
6691
7189
|
}
|
|
@@ -6703,23 +7201,47 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
6703
7201
|
};
|
|
6704
7202
|
|
|
6705
7203
|
var MRT_TableBody = function MRT_TableBody(_ref) {
|
|
6706
|
-
var tableInstance = _ref.tableInstance
|
|
7204
|
+
var tableInstance = _ref.tableInstance,
|
|
7205
|
+
tableContainerRef = _ref.tableContainerRef;
|
|
6707
7206
|
var getPaginationRowModel = tableInstance.getPaginationRowModel,
|
|
6708
7207
|
getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
|
|
7208
|
+
getState = tableInstance.getState,
|
|
6709
7209
|
_tableInstance$option = tableInstance.options,
|
|
6710
7210
|
enablePagination = _tableInstance$option.enablePagination,
|
|
7211
|
+
enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
|
|
6711
7212
|
muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
|
|
6712
|
-
|
|
7213
|
+
|
|
7214
|
+
var _getState = getState(),
|
|
7215
|
+
isDensePadding = _getState.isDensePadding;
|
|
7216
|
+
|
|
6713
7217
|
var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
|
|
6714
7218
|
tableInstance: tableInstance
|
|
6715
7219
|
}) : muiTableBodyProps;
|
|
6716
|
-
|
|
7220
|
+
var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
|
|
7221
|
+
var rowVirtualizer = enableRowVirtualization ? useVirtual({
|
|
7222
|
+
overscan: isDensePadding ? 15 : 5,
|
|
7223
|
+
size: rows.length,
|
|
7224
|
+
parentRef: tableContainerRef
|
|
7225
|
+
}) : {};
|
|
7226
|
+
var virtualRows = rowVirtualizer.virtualItems;
|
|
7227
|
+
var paddingTop = (virtualRows == null ? void 0 : virtualRows.length) > 0 ? virtualRows[0].start : 0;
|
|
7228
|
+
var paddingBottom = (virtualRows == null ? void 0 : virtualRows.length) > 0 ? rowVirtualizer.totalSize - virtualRows[virtualRows.length - 1].end : 0;
|
|
7229
|
+
return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps), enableRowVirtualization && paddingTop > 0 && React__default.createElement("tr", null, React__default.createElement("td", {
|
|
7230
|
+
style: {
|
|
7231
|
+
height: paddingTop + "px"
|
|
7232
|
+
}
|
|
7233
|
+
})), (enableRowVirtualization ? virtualRows : rows).map(function (rowOrVirtualRow) {
|
|
7234
|
+
var row = enableRowVirtualization ? rows[rowOrVirtualRow.index] : rowOrVirtualRow;
|
|
6717
7235
|
return React__default.createElement(MRT_TableBodyRow, {
|
|
6718
7236
|
key: row.id,
|
|
6719
7237
|
row: row,
|
|
6720
7238
|
tableInstance: tableInstance
|
|
6721
7239
|
});
|
|
6722
|
-
})
|
|
7240
|
+
}), enableRowVirtualization && paddingBottom > 0 && React__default.createElement("tr", null, React__default.createElement("td", {
|
|
7241
|
+
style: {
|
|
7242
|
+
height: paddingBottom + "px"
|
|
7243
|
+
}
|
|
7244
|
+
})));
|
|
6723
7245
|
};
|
|
6724
7246
|
|
|
6725
7247
|
var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
@@ -6813,8 +7335,11 @@ var MRT_TableFooter = function MRT_TableFooter(_ref) {
|
|
|
6813
7335
|
};
|
|
6814
7336
|
|
|
6815
7337
|
var MRT_Table = function MRT_Table(_ref) {
|
|
6816
|
-
var
|
|
7338
|
+
var tableContainerRef = _ref.tableContainerRef,
|
|
7339
|
+
tableInstance = _ref.tableInstance;
|
|
6817
7340
|
var _tableInstance$option = tableInstance.options,
|
|
7341
|
+
enableColumnResizing = _tableInstance$option.enableColumnResizing,
|
|
7342
|
+
enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
|
|
6818
7343
|
enableStickyHeader = _tableInstance$option.enableStickyHeader,
|
|
6819
7344
|
enableTableFooter = _tableInstance$option.enableTableFooter,
|
|
6820
7345
|
enableTableHead = _tableInstance$option.enableTableHead,
|
|
@@ -6824,23 +7349,28 @@ var MRT_Table = function MRT_Table(_ref) {
|
|
|
6824
7349
|
}) : muiTableProps;
|
|
6825
7350
|
return React__default.createElement(material.Table, Object.assign({
|
|
6826
7351
|
stickyHeader: enableStickyHeader
|
|
6827
|
-
}, tableProps
|
|
7352
|
+
}, tableProps, {
|
|
7353
|
+
sx: _extends({
|
|
7354
|
+
tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : undefined
|
|
7355
|
+
}, tableProps == null ? void 0 : tableProps.sx)
|
|
7356
|
+
}), enableTableHead && React__default.createElement(MRT_TableHead, {
|
|
6828
7357
|
tableInstance: tableInstance
|
|
6829
7358
|
}), React__default.createElement(MRT_TableBody, {
|
|
7359
|
+
tableContainerRef: tableContainerRef,
|
|
6830
7360
|
tableInstance: tableInstance
|
|
6831
7361
|
}), enableTableFooter && React__default.createElement(MRT_TableFooter, {
|
|
6832
7362
|
tableInstance: tableInstance
|
|
6833
7363
|
}));
|
|
6834
7364
|
};
|
|
6835
7365
|
|
|
6836
|
-
var useIsomorphicLayoutEffect$
|
|
7366
|
+
var useIsomorphicLayoutEffect$2 = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
|
|
6837
7367
|
var MRT_TableContainer = function MRT_TableContainer(_ref) {
|
|
6838
7368
|
var tableInstance = _ref.tableInstance;
|
|
6839
7369
|
var getState = tableInstance.getState,
|
|
6840
7370
|
_tableInstance$option = tableInstance.options,
|
|
6841
7371
|
enableStickyHeader = _tableInstance$option.enableStickyHeader,
|
|
6842
|
-
|
|
6843
|
-
|
|
7372
|
+
muiTableContainerProps = _tableInstance$option.muiTableContainerProps,
|
|
7373
|
+
tableId = _tableInstance$option.tableId;
|
|
6844
7374
|
|
|
6845
7375
|
var _getState = getState(),
|
|
6846
7376
|
isFullScreen = _getState.isFullScreen;
|
|
@@ -6852,14 +7382,16 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
|
|
|
6852
7382
|
var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps({
|
|
6853
7383
|
tableInstance: tableInstance
|
|
6854
7384
|
}) : muiTableContainerProps;
|
|
6855
|
-
useIsomorphicLayoutEffect$
|
|
7385
|
+
useIsomorphicLayoutEffect$2(function () {
|
|
6856
7386
|
var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
|
|
6857
7387
|
|
|
6858
7388
|
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;
|
|
6859
7389
|
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;
|
|
6860
7390
|
setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
|
|
6861
7391
|
});
|
|
7392
|
+
var tableContainerRef = React__default.useRef(null);
|
|
6862
7393
|
return React__default.createElement(material.TableContainer, Object.assign({}, tableContainerProps, {
|
|
7394
|
+
ref: tableContainerRef,
|
|
6863
7395
|
sx: _extends({
|
|
6864
7396
|
maxWidth: '100%',
|
|
6865
7397
|
maxHeight: enableStickyHeader ? "clamp(350px, calc(100vh - " + totalToolbarHeight + "px), 2000px)" : undefined,
|
|
@@ -6869,6 +7401,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
|
|
|
6869
7401
|
maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
|
|
6870
7402
|
}
|
|
6871
7403
|
}), React__default.createElement(MRT_Table, {
|
|
7404
|
+
tableContainerRef: tableContainerRef,
|
|
6872
7405
|
tableInstance: tableInstance
|
|
6873
7406
|
}));
|
|
6874
7407
|
};
|
|
@@ -7190,9 +7723,9 @@ var MaterialReactTable = (function (_ref) {
|
|
|
7190
7723
|
columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
|
|
7191
7724
|
_ref$defaultColumn = _ref.defaultColumn,
|
|
7192
7725
|
defaultColumn = _ref$defaultColumn === void 0 ? {
|
|
7193
|
-
minSize:
|
|
7726
|
+
minSize: 30,
|
|
7194
7727
|
maxSize: 1000,
|
|
7195
|
-
size:
|
|
7728
|
+
size: 180
|
|
7196
7729
|
} : _ref$defaultColumn,
|
|
7197
7730
|
_ref$editingMode = _ref.editingMode,
|
|
7198
7731
|
editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
|