material-react-table 0.35.1 → 0.36.1

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/dist/cjs/index.js CHANGED
@@ -7,6 +7,7 @@ var reactTable = require('@tanstack/react-table');
7
7
  var iconsMaterial = require('@mui/icons-material');
8
8
  var matchSorterUtils = require('@tanstack/match-sorter-utils');
9
9
  var material = require('@mui/material');
10
+ var reactVirtual = require('react-virtual');
10
11
 
11
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
13
 
@@ -881,7 +882,7 @@ const MRT_RowActionMenu = ({ anchorEl, handleEdit, row, setAnchorEl, table, }) =
881
882
  };
882
883
 
883
884
  const MRT_EditActionButtons = ({ row, table }) => {
884
- const { getState, options: { icons: { CancelIcon, SaveIcon }, localization, onEditRowSubmit, }, setEditingRow, } = table;
885
+ const { getState, options: { icons: { CancelIcon, SaveIcon }, localization, onEditingRowSave, }, setEditingRow, } = table;
885
886
  const { editingRow } = getState();
886
887
  const handleCancel = () => {
887
888
  row._valuesCache = Object.assign({}, row.original);
@@ -889,7 +890,7 @@ const MRT_EditActionButtons = ({ row, table }) => {
889
890
  };
890
891
  const handleSave = () => {
891
892
  var _a;
892
- onEditRowSubmit === null || onEditRowSubmit === void 0 ? void 0 : onEditRowSubmit({
893
+ onEditingRowSave === null || onEditingRowSave === void 0 ? void 0 : onEditingRowSave({
893
894
  row: editingRow !== null && editingRow !== void 0 ? editingRow : row,
894
895
  table,
895
896
  values: (_a = editingRow === null || editingRow === void 0 ? void 0 : editingRow._valuesCache) !== null && _a !== void 0 ? _a : Object.assign({}, row.original),
@@ -1738,513 +1739,31 @@ const MRT_TableHead = ({ table }) => {
1738
1739
  return (React__default["default"].createElement(material.TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map((headerGroup) => (React__default["default"].createElement(MRT_TableHeadRow, { headerGroup: headerGroup, key: headerGroup.id, table: table })))));
1739
1740
  };
1740
1741
 
1741
- function _extends() {
1742
- _extends = Object.assign || function (target) {
1743
- for (var i = 1; i < arguments.length; i++) {
1744
- var source = arguments[i];
1745
-
1746
- for (var key in source) {
1747
- if (Object.prototype.hasOwnProperty.call(source, key)) {
1748
- target[key] = source[key];
1749
- }
1750
- }
1751
- }
1752
-
1753
- return target;
1754
- };
1755
-
1756
- return _extends.apply(this, arguments);
1757
- }
1758
-
1759
- function _objectWithoutPropertiesLoose(source, excluded) {
1760
- if (source == null) return {};
1761
- var target = {};
1762
- var sourceKeys = Object.keys(source);
1763
- var key, i;
1764
-
1765
- for (i = 0; i < sourceKeys.length; i++) {
1766
- key = sourceKeys[i];
1767
- if (excluded.indexOf(key) >= 0) continue;
1768
- target[key] = source[key];
1769
- }
1770
-
1771
- return target;
1772
- }
1773
-
1774
- var props = ['bottom', 'height', 'left', 'right', 'top', 'width'];
1775
-
1776
- var rectChanged = function rectChanged(a, b) {
1777
- if (a === void 0) {
1778
- a = {};
1779
- }
1780
-
1781
- if (b === void 0) {
1782
- b = {};
1783
- }
1784
-
1785
- return props.some(function (prop) {
1786
- return a[prop] !== b[prop];
1787
- });
1788
- };
1789
-
1790
- var observedNodes = /*#__PURE__*/new Map();
1791
- var rafId;
1792
-
1793
- var run = function run() {
1794
- var changedStates = [];
1795
- observedNodes.forEach(function (state, node) {
1796
- var newRect = node.getBoundingClientRect();
1797
-
1798
- if (rectChanged(newRect, state.rect)) {
1799
- state.rect = newRect;
1800
- changedStates.push(state);
1801
- }
1802
- });
1803
- changedStates.forEach(function (state) {
1804
- state.callbacks.forEach(function (cb) {
1805
- return cb(state.rect);
1806
- });
1807
- });
1808
- rafId = window.requestAnimationFrame(run);
1809
- };
1810
-
1811
- function observeRect(node, cb) {
1812
- return {
1813
- observe: function observe() {
1814
- var wasEmpty = observedNodes.size === 0;
1815
-
1816
- if (observedNodes.has(node)) {
1817
- observedNodes.get(node).callbacks.push(cb);
1818
- } else {
1819
- observedNodes.set(node, {
1820
- rect: undefined,
1821
- hasRectChanged: false,
1822
- callbacks: [cb]
1823
- });
1824
- }
1825
-
1826
- if (wasEmpty) run();
1827
- },
1828
- unobserve: function unobserve() {
1829
- var state = observedNodes.get(node);
1830
-
1831
- if (state) {
1832
- // Remove the callback
1833
- var index = state.callbacks.indexOf(cb);
1834
- if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference
1835
-
1836
- if (!state.callbacks.length) observedNodes["delete"](node); // Stop the loop
1837
-
1838
- if (!observedNodes.size) cancelAnimationFrame(rafId);
1839
- }
1840
- }
1841
- };
1842
- }
1843
-
1844
- var useIsomorphicLayoutEffect$1 = typeof window !== 'undefined' ? React__default["default"].useLayoutEffect : React__default["default"].useEffect;
1845
-
1846
- function useRect(nodeRef, initialRect) {
1847
- if (initialRect === void 0) {
1848
- initialRect = {
1849
- width: 0,
1850
- height: 0
1851
- };
1852
- }
1853
-
1854
- var _React$useState = React__default["default"].useState(nodeRef.current),
1855
- element = _React$useState[0],
1856
- setElement = _React$useState[1];
1857
-
1858
- var _React$useReducer = React__default["default"].useReducer(rectReducer, initialRect),
1859
- rect = _React$useReducer[0],
1860
- dispatch = _React$useReducer[1];
1861
-
1862
- var initialRectSet = React__default["default"].useRef(false);
1863
- useIsomorphicLayoutEffect$1(function () {
1864
- if (nodeRef.current !== element) {
1865
- setElement(nodeRef.current);
1866
- }
1867
- });
1868
- useIsomorphicLayoutEffect$1(function () {
1869
- if (element && !initialRectSet.current) {
1870
- initialRectSet.current = true;
1871
-
1872
- var _rect = element.getBoundingClientRect();
1873
-
1874
- dispatch({
1875
- rect: _rect
1876
- });
1877
- }
1878
- }, [element]);
1879
- React__default["default"].useEffect(function () {
1880
- if (!element) {
1881
- return;
1882
- }
1883
-
1884
- var observer = observeRect(element, function (rect) {
1885
- dispatch({
1886
- rect: rect
1887
- });
1888
- });
1889
- observer.observe();
1890
- return function () {
1891
- observer.unobserve();
1892
- };
1893
- }, [element]);
1894
- return rect;
1895
- }
1896
-
1897
- function rectReducer(state, action) {
1898
- var rect = action.rect;
1899
-
1900
- if (state.height !== rect.height || state.width !== rect.width) {
1901
- return rect;
1902
- }
1903
-
1904
- return state;
1905
- }
1906
-
1907
- var defaultEstimateSize = function defaultEstimateSize() {
1908
- return 50;
1909
- };
1910
-
1911
- var defaultKeyExtractor = function defaultKeyExtractor(index) {
1912
- return index;
1913
- };
1914
-
1915
- var defaultMeasureSize = function defaultMeasureSize(el, horizontal) {
1916
- var key = horizontal ? 'offsetWidth' : 'offsetHeight';
1917
- return el[key];
1918
- };
1919
-
1920
- var defaultRangeExtractor = function defaultRangeExtractor(range) {
1921
- var start = Math.max(range.start - range.overscan, 0);
1922
- var end = Math.min(range.end + range.overscan, range.size - 1);
1923
- var arr = [];
1924
-
1925
- for (var i = start; i <= end; i++) {
1926
- arr.push(i);
1927
- }
1928
-
1929
- return arr;
1930
- };
1931
- function useVirtual(_ref) {
1932
- var _measurements;
1933
-
1934
- var _ref$size = _ref.size,
1935
- size = _ref$size === void 0 ? 0 : _ref$size,
1936
- _ref$estimateSize = _ref.estimateSize,
1937
- estimateSize = _ref$estimateSize === void 0 ? defaultEstimateSize : _ref$estimateSize,
1938
- _ref$overscan = _ref.overscan,
1939
- overscan = _ref$overscan === void 0 ? 1 : _ref$overscan,
1940
- _ref$paddingStart = _ref.paddingStart,
1941
- paddingStart = _ref$paddingStart === void 0 ? 0 : _ref$paddingStart,
1942
- _ref$paddingEnd = _ref.paddingEnd,
1943
- paddingEnd = _ref$paddingEnd === void 0 ? 0 : _ref$paddingEnd,
1944
- parentRef = _ref.parentRef,
1945
- horizontal = _ref.horizontal,
1946
- scrollToFn = _ref.scrollToFn,
1947
- useObserver = _ref.useObserver,
1948
- initialRect = _ref.initialRect,
1949
- onScrollElement = _ref.onScrollElement,
1950
- scrollOffsetFn = _ref.scrollOffsetFn,
1951
- _ref$keyExtractor = _ref.keyExtractor,
1952
- keyExtractor = _ref$keyExtractor === void 0 ? defaultKeyExtractor : _ref$keyExtractor,
1953
- _ref$measureSize = _ref.measureSize,
1954
- measureSize = _ref$measureSize === void 0 ? defaultMeasureSize : _ref$measureSize,
1955
- _ref$rangeExtractor = _ref.rangeExtractor,
1956
- rangeExtractor = _ref$rangeExtractor === void 0 ? defaultRangeExtractor : _ref$rangeExtractor;
1957
- var sizeKey = horizontal ? 'width' : 'height';
1958
- var scrollKey = horizontal ? 'scrollLeft' : 'scrollTop';
1959
- var latestRef = React__default["default"].useRef({
1960
- scrollOffset: 0,
1961
- measurements: []
1962
- });
1963
-
1964
- var _React$useState = React__default["default"].useState(0),
1965
- scrollOffset = _React$useState[0],
1966
- setScrollOffset = _React$useState[1];
1967
-
1968
- latestRef.current.scrollOffset = scrollOffset;
1969
- var useMeasureParent = useObserver || useRect;
1970
-
1971
- var _useMeasureParent = useMeasureParent(parentRef, initialRect),
1972
- outerSize = _useMeasureParent[sizeKey];
1973
-
1974
- latestRef.current.outerSize = outerSize;
1975
- var defaultScrollToFn = React__default["default"].useCallback(function (offset) {
1976
- if (parentRef.current) {
1977
- parentRef.current[scrollKey] = offset;
1978
- }
1979
- }, [parentRef, scrollKey]);
1980
- var resolvedScrollToFn = scrollToFn || defaultScrollToFn;
1981
- scrollToFn = React__default["default"].useCallback(function (offset) {
1982
- resolvedScrollToFn(offset, defaultScrollToFn);
1983
- }, [defaultScrollToFn, resolvedScrollToFn]);
1984
-
1985
- var _React$useState2 = React__default["default"].useState({}),
1986
- measuredCache = _React$useState2[0],
1987
- setMeasuredCache = _React$useState2[1];
1988
-
1989
- var measure = React__default["default"].useCallback(function () {
1990
- return setMeasuredCache({});
1991
- }, []);
1992
- var pendingMeasuredCacheIndexesRef = React__default["default"].useRef([]);
1993
- var measurements = React__default["default"].useMemo(function () {
1994
- var min = pendingMeasuredCacheIndexesRef.current.length > 0 ? Math.min.apply(Math, pendingMeasuredCacheIndexesRef.current) : 0;
1995
- pendingMeasuredCacheIndexesRef.current = [];
1996
- var measurements = latestRef.current.measurements.slice(0, min);
1997
-
1998
- for (var i = min; i < size; i++) {
1999
- var key = keyExtractor(i);
2000
- var measuredSize = measuredCache[key];
2001
-
2002
- var _start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;
2003
-
2004
- var _size = typeof measuredSize === 'number' ? measuredSize : estimateSize(i);
2005
-
2006
- var _end = _start + _size;
2007
-
2008
- measurements[i] = {
2009
- index: i,
2010
- start: _start,
2011
- size: _size,
2012
- end: _end,
2013
- key: key
2014
- };
2015
- }
2016
-
2017
- return measurements;
2018
- }, [estimateSize, measuredCache, paddingStart, size, keyExtractor]);
2019
- var totalSize = (((_measurements = measurements[size - 1]) == null ? void 0 : _measurements.end) || paddingStart) + paddingEnd;
2020
- latestRef.current.measurements = measurements;
2021
- latestRef.current.totalSize = totalSize;
2022
- var element = onScrollElement ? onScrollElement.current : parentRef.current;
2023
- var scrollOffsetFnRef = React__default["default"].useRef(scrollOffsetFn);
2024
- scrollOffsetFnRef.current = scrollOffsetFn;
2025
- useIsomorphicLayoutEffect$1(function () {
2026
- if (!element) {
2027
- setScrollOffset(0);
2028
- return;
2029
- }
2030
-
2031
- var onScroll = function onScroll(event) {
2032
- var offset = scrollOffsetFnRef.current ? scrollOffsetFnRef.current(event) : element[scrollKey];
2033
- setScrollOffset(offset);
2034
- };
2035
-
2036
- onScroll();
2037
- element.addEventListener('scroll', onScroll, {
2038
- capture: false,
2039
- passive: true
2040
- });
2041
- return function () {
2042
- element.removeEventListener('scroll', onScroll);
2043
- };
2044
- }, [element, scrollKey]);
2045
-
2046
- var _calculateRange = calculateRange(latestRef.current),
2047
- start = _calculateRange.start,
2048
- end = _calculateRange.end;
2049
-
2050
- var indexes = React__default["default"].useMemo(function () {
2051
- return rangeExtractor({
2052
- start: start,
2053
- end: end,
2054
- overscan: overscan,
2055
- size: measurements.length
2056
- });
2057
- }, [start, end, overscan, measurements.length, rangeExtractor]);
2058
- var measureSizeRef = React__default["default"].useRef(measureSize);
2059
- measureSizeRef.current = measureSize;
2060
- var virtualItems = React__default["default"].useMemo(function () {
2061
- var virtualItems = [];
2062
-
2063
- var _loop = function _loop(k, len) {
2064
- var i = indexes[k];
2065
- var measurement = measurements[i];
2066
-
2067
- var item = _extends(_extends({}, measurement), {}, {
2068
- measureRef: function measureRef(el) {
2069
- if (el) {
2070
- var measuredSize = measureSizeRef.current(el, horizontal);
2071
-
2072
- if (measuredSize !== item.size) {
2073
- var _scrollOffset = latestRef.current.scrollOffset;
2074
-
2075
- if (item.start < _scrollOffset) {
2076
- defaultScrollToFn(_scrollOffset + (measuredSize - item.size));
2077
- }
2078
-
2079
- pendingMeasuredCacheIndexesRef.current.push(i);
2080
- setMeasuredCache(function (old) {
2081
- var _extends2;
2082
-
2083
- return _extends(_extends({}, old), {}, (_extends2 = {}, _extends2[item.key] = measuredSize, _extends2));
2084
- });
2085
- }
2086
- }
2087
- }
2088
- });
2089
-
2090
- virtualItems.push(item);
2091
- };
2092
-
2093
- for (var k = 0, len = indexes.length; k < len; k++) {
2094
- _loop(k);
2095
- }
2096
-
2097
- return virtualItems;
2098
- }, [indexes, defaultScrollToFn, horizontal, measurements]);
2099
- var mountedRef = React__default["default"].useRef(false);
2100
- useIsomorphicLayoutEffect$1(function () {
2101
- if (mountedRef.current) {
2102
- setMeasuredCache({});
2103
- }
2104
-
2105
- mountedRef.current = true;
2106
- }, [estimateSize]);
2107
- var scrollToOffset = React__default["default"].useCallback(function (toOffset, _temp) {
2108
- var _ref2 = _temp === void 0 ? {} : _temp,
2109
- _ref2$align = _ref2.align,
2110
- align = _ref2$align === void 0 ? 'start' : _ref2$align;
2111
-
2112
- var _latestRef$current = latestRef.current,
2113
- scrollOffset = _latestRef$current.scrollOffset,
2114
- outerSize = _latestRef$current.outerSize;
2115
-
2116
- if (align === 'auto') {
2117
- if (toOffset <= scrollOffset) {
2118
- align = 'start';
2119
- } else if (toOffset >= scrollOffset + outerSize) {
2120
- align = 'end';
2121
- } else {
2122
- align = 'start';
2123
- }
2124
- }
2125
-
2126
- if (align === 'start') {
2127
- scrollToFn(toOffset);
2128
- } else if (align === 'end') {
2129
- scrollToFn(toOffset - outerSize);
2130
- } else if (align === 'center') {
2131
- scrollToFn(toOffset - outerSize / 2);
2132
- }
2133
- }, [scrollToFn]);
2134
- var tryScrollToIndex = React__default["default"].useCallback(function (index, _temp2) {
2135
- var _ref3 = _temp2 === void 0 ? {} : _temp2,
2136
- _ref3$align = _ref3.align,
2137
- align = _ref3$align === void 0 ? 'auto' : _ref3$align,
2138
- rest = _objectWithoutPropertiesLoose(_ref3, ["align"]);
2139
-
2140
- var _latestRef$current2 = latestRef.current,
2141
- measurements = _latestRef$current2.measurements,
2142
- scrollOffset = _latestRef$current2.scrollOffset,
2143
- outerSize = _latestRef$current2.outerSize;
2144
- var measurement = measurements[Math.max(0, Math.min(index, size - 1))];
2145
-
2146
- if (!measurement) {
2147
- return;
2148
- }
2149
-
2150
- if (align === 'auto') {
2151
- if (measurement.end >= scrollOffset + outerSize) {
2152
- align = 'end';
2153
- } else if (measurement.start <= scrollOffset) {
2154
- align = 'start';
2155
- } else {
2156
- return;
2157
- }
2158
- }
2159
-
2160
- var toOffset = align === 'center' ? measurement.start + measurement.size / 2 : align === 'end' ? measurement.end : measurement.start;
2161
- scrollToOffset(toOffset, _extends({
2162
- align: align
2163
- }, rest));
2164
- }, [scrollToOffset, size]);
2165
- var scrollToIndex = React__default["default"].useCallback(function () {
2166
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
2167
- args[_key] = arguments[_key];
2168
- }
2169
-
2170
- // We do a double request here because of
2171
- // dynamic sizes which can cause offset shift
2172
- // and end up in the wrong spot. Unfortunately,
2173
- // we can't know about those dynamic sizes until
2174
- // we try and render them. So double down!
2175
- tryScrollToIndex.apply(void 0, args);
2176
- requestAnimationFrame(function () {
2177
- tryScrollToIndex.apply(void 0, args);
2178
- });
2179
- }, [tryScrollToIndex]);
2180
- return {
2181
- virtualItems: virtualItems,
2182
- totalSize: totalSize,
2183
- scrollToOffset: scrollToOffset,
2184
- scrollToIndex: scrollToIndex,
2185
- measure: measure
2186
- };
2187
- }
2188
-
2189
- var findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {
2190
- while (low <= high) {
2191
- var middle = (low + high) / 2 | 0;
2192
- var currentValue = getCurrentValue(middle);
2193
-
2194
- if (currentValue < value) {
2195
- low = middle + 1;
2196
- } else if (currentValue > value) {
2197
- high = middle - 1;
2198
- } else {
2199
- return middle;
2200
- }
2201
- }
2202
-
2203
- if (low > 0) {
2204
- return low - 1;
2205
- } else {
2206
- return 0;
2207
- }
2208
- };
2209
-
2210
- function calculateRange(_ref4) {
2211
- var measurements = _ref4.measurements,
2212
- outerSize = _ref4.outerSize,
2213
- scrollOffset = _ref4.scrollOffset;
2214
- var size = measurements.length - 1;
2215
-
2216
- var getOffset = function getOffset(index) {
2217
- return measurements[index].start;
2218
- };
2219
-
2220
- var start = findNearestBinarySearch(0, size, getOffset, scrollOffset);
2221
- var end = start;
2222
-
2223
- while (end < size && measurements[end].end < scrollOffset + outerSize) {
2224
- end++;
2225
- }
2226
-
2227
- return {
2228
- start: start,
2229
- end: end
2230
- };
2231
- }
2232
-
2233
1742
  const MRT_EditCellTextField = ({ cell, table }) => {
2234
1743
  var _a;
2235
- const { getState, options: { tableId, muiTableBodyCellEditTextFieldProps, onCellEditBlur, onCellEditChange, }, setEditingCell, setEditingRow, } = table;
1744
+ const { getState, options: { tableId, muiTableBodyCellEditTextFieldProps }, setEditingCell, setEditingRow, } = table;
2236
1745
  const { column, row } = cell;
2237
1746
  const { columnDef } = column;
2238
1747
  const { editingRow } = getState();
2239
1748
  const [value, setValue] = React.useState(() => cell.getValue());
1749
+ const mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function
1750
+ ? muiTableBodyCellEditTextFieldProps({ cell, table })
1751
+ : muiTableBodyCellEditTextFieldProps;
1752
+ const mcTableBodyCellEditTextFieldProps = columnDef.muiTableBodyCellEditTextFieldProps instanceof Function
1753
+ ? columnDef.muiTableBodyCellEditTextFieldProps({
1754
+ cell,
1755
+ table,
1756
+ })
1757
+ : columnDef.muiTableBodyCellEditTextFieldProps;
1758
+ const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
2240
1759
  const handleChange = (event) => {
2241
1760
  var _a;
1761
+ (_a = textFieldProps.onChange) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, event);
2242
1762
  setValue(event.target.value);
2243
- (_a = columnDef.onCellEditChange) === null || _a === void 0 ? void 0 : _a.call(columnDef, { event, cell, table, value });
2244
- onCellEditChange === null || onCellEditChange === void 0 ? void 0 : onCellEditChange({ event, cell, table, value });
2245
1763
  };
2246
1764
  const handleBlur = (event) => {
2247
1765
  var _a;
1766
+ (_a = textFieldProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, event);
2248
1767
  if (editingRow) {
2249
1768
  if (!row._valuesCache)
2250
1769
  row._valuesCache = {};
@@ -2252,23 +1771,11 @@ const MRT_EditCellTextField = ({ cell, table }) => {
2252
1771
  setEditingRow(Object.assign({}, editingRow));
2253
1772
  }
2254
1773
  setEditingCell(null);
2255
- (_a = columnDef.onCellEditBlur) === null || _a === void 0 ? void 0 : _a.call(columnDef, { event, cell, table, value });
2256
- onCellEditBlur === null || onCellEditBlur === void 0 ? void 0 : onCellEditBlur({ event, cell, table, value });
2257
1774
  };
2258
- const mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function
2259
- ? muiTableBodyCellEditTextFieldProps({ cell, table })
2260
- : muiTableBodyCellEditTextFieldProps;
2261
- const mcTableBodyCellEditTextFieldProps = columnDef.muiTableBodyCellEditTextFieldProps instanceof Function
2262
- ? columnDef.muiTableBodyCellEditTextFieldProps({
2263
- cell,
2264
- table,
2265
- })
2266
- : columnDef.muiTableBodyCellEditTextFieldProps;
2267
- const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
2268
1775
  if (columnDef.Edit) {
2269
1776
  return React__default["default"].createElement(React__default["default"].Fragment, null, (_a = columnDef.Edit) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, table }));
2270
1777
  }
2271
- return (React__default["default"].createElement(material.TextField, Object.assign({ id: `mrt-${tableId}-edit-cell-text-field-${cell.id}`, margin: "none", onBlur: handleBlur, onChange: handleChange, onClick: (e) => e.stopPropagation(), placeholder: columnDef.header, value: value, variant: "standard" }, textFieldProps)));
1778
+ return (React__default["default"].createElement(material.TextField, Object.assign({ id: `mrt-${tableId}-edit-cell-text-field-${cell.id}`, margin: "none", onClick: (e) => e.stopPropagation(), placeholder: columnDef.header, value: value, variant: "standard" }, textFieldProps, { onBlur: handleBlur, onChange: handleChange })));
2272
1779
  };
2273
1780
 
2274
1781
  const MRT_CopyButton = ({ cell, children, table }) => {
@@ -2430,7 +1937,10 @@ const MRT_TableBodyCell = ({ cell, enableHover, rowIndex, rowRef, table, }) => {
2430
1937
  : column.getIsPinned()
2431
1938
  ? 1
2432
1939
  : undefined, '&:hover': {
2433
- backgroundColor: enableHover && enableEditing && editingMode !== 'row'
1940
+ backgroundColor: enableHover &&
1941
+ enableEditing &&
1942
+ columnDef.enableEditing !== false &&
1943
+ editingMode !== 'row'
2434
1944
  ? theme.palette.mode === 'dark'
2435
1945
  ? `${material.lighten(theme.palette.background.default, 0.13)} !important`
2436
1946
  : `${material.darken(theme.palette.background.default, 0.07)} !important`
@@ -2441,14 +1951,22 @@ const MRT_TableBodyCell = ({ cell, enableHover, rowIndex, rowRef, table, }) => {
2441
1951
  } }),
2442
1952
  React__default["default"].createElement(React__default["default"].Fragment, null, cell.getIsPlaceholder() ? null : isLoading || showSkeletons ? (React__default["default"].createElement(material.Skeleton, Object.assign({ animation: "wave", height: 20, width: skeletonWidth }, muiTableBodyCellSkeletonProps))) : enableRowNumbers &&
2443
1953
  rowNumberMode === 'static' &&
2444
- column.id === 'mrt-row-numbers' ? (rowIndex + 1) : column.id === 'mrt-row-drag' ? (React__default["default"].createElement(MRT_TableBodyRowGrabHandle, { cell: cell, rowRef: rowRef, table: table })) : columnDefType === 'display' ? ((_a = columnDef.Cell) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, table })) : isEditing ? (React__default["default"].createElement(MRT_EditCellTextField, { cell: cell, table: table })) : (enableClickToCopy || columnDef.enableClickToCopy) &&
1954
+ column.id === 'mrt-row-numbers' ? (rowIndex + 1) : column.id === 'mrt-row-drag' ? (React__default["default"].createElement(MRT_TableBodyRowGrabHandle, { cell: cell, rowRef: rowRef, table: table })) : columnDefType === 'display' &&
1955
+ (column.id === 'mrt-row-select' ||
1956
+ column.id === 'mrt-row-expand' ||
1957
+ !row.getIsGrouped()) ? ((_a = columnDef.Cell) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, table })) : isEditing ? (React__default["default"].createElement(MRT_EditCellTextField, { cell: cell, table: table })) : (enableClickToCopy || columnDef.enableClickToCopy) &&
2445
1958
  columnDef.enableClickToCopy !== false ? (React__default["default"].createElement(React__default["default"].Fragment, null,
2446
1959
  React__default["default"].createElement(MRT_CopyButton, { cell: cell, table: table },
2447
- React__default["default"].createElement(React__default["default"].Fragment, null, (_c = (_b = columnDef === null || columnDef === void 0 ? void 0 : columnDef.Cell) === null || _b === void 0 ? void 0 : _b.call(columnDef, { cell, column, table })) !== null && _c !== void 0 ? _c : cell.renderValue())),
1960
+ React__default["default"].createElement(React__default["default"].Fragment, null, row.getIsGrouped() && !cell.getIsGrouped()
1961
+ ? null
1962
+ : (_c = (_b = columnDef === null || columnDef === void 0 ? void 0 : columnDef.Cell) === null || _b === void 0 ? void 0 : _b.call(columnDef, { cell, column, table })) !== null && _c !== void 0 ? _c : cell.renderValue())),
2448
1963
  cell.getIsGrouped() && React__default["default"].createElement(React__default["default"].Fragment, null,
2449
1964
  " (", (_d = row.subRows) === null || _d === void 0 ? void 0 :
2450
1965
  _d.length,
2451
- ")"))) : (React__default["default"].createElement(React__default["default"].Fragment, null, (_g = (_f = columnDef === null || columnDef === void 0 ? void 0 : columnDef.Cell) === null || _f === void 0 ? void 0 : _f.call(columnDef, { cell, column, table })) !== null && _g !== void 0 ? _g : cell.renderValue(),
1966
+ ")"))) : (React__default["default"].createElement(React__default["default"].Fragment, null,
1967
+ row.getIsGrouped() && !cell.getIsGrouped()
1968
+ ? null
1969
+ : (_g = (_f = columnDef === null || columnDef === void 0 ? void 0 : columnDef.Cell) === null || _f === void 0 ? void 0 : _f.call(columnDef, { cell, column, table })) !== null && _g !== void 0 ? _g : cell.renderValue(),
2452
1970
  cell.getIsGrouped() && React__default["default"].createElement(React__default["default"].Fragment, null,
2453
1971
  " (", (_j = (_h = row.subRows) === null || _h === void 0 ? void 0 : _h.length) !== null && _j !== void 0 ? _j : '',
2454
1972
  ")"))))));
@@ -2535,7 +2053,7 @@ const MRT_TableBody = ({ table, tableContainerRef }) => {
2535
2053
  globalFilter,
2536
2054
  ]);
2537
2055
  const rowVirtualizer = enableRowVirtualization
2538
- ? useVirtual(Object.assign({ size: rows.length, parentRef: tableContainerRef, overscan: 15 }, vProps))
2056
+ ? reactVirtual.useVirtual(Object.assign({ size: rows.length, parentRef: tableContainerRef, overscan: 15 }, vProps))
2539
2057
  : {};
2540
2058
  // const rowVirtualizer: Virtualizer = enableRowVirtualization
2541
2059
  // ? useVirtualizer({