material-react-table 2.0.0-alpha.5 → 2.0.0-alpha.6

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
@@ -481,6 +481,17 @@ const flexRender = reactTable.flexRender;
481
481
  const createRow = (table, originalRow) => reactTable.createRow(table, 'mrt-row-create', originalRow !== null && originalRow !== void 0 ? originalRow : Object.assign({}, ...getAllLeafColumnDefs(table.options.columns).map((col) => ({
482
482
  [getColumnId(col)]: '',
483
483
  }))), -1, 0);
484
+ const extraIndexRangeExtractor = (range, draggingIndex) => {
485
+ const newIndexs = reactVirtual.defaultRangeExtractor(range);
486
+ if (draggingIndex >= 0 &&
487
+ draggingIndex < Math.max(range.startIndex - range.overscan, 0)) {
488
+ newIndexs.unshift(draggingIndex);
489
+ }
490
+ if (draggingIndex >= 0 && draggingIndex > range.endIndex + range.overscan) {
491
+ newIndexs.push(draggingIndex);
492
+ }
493
+ return newIndexs;
494
+ };
484
495
 
485
496
  const MRT_GrabHandleButton = ({ iconButtonProps, onDragEnd, onDragStart, table, }) => {
486
497
  var _a;
@@ -925,7 +936,7 @@ const rankGlobalFuzzy = (rowA, rowB) => Math.max(...Object.values(rowB.columnFil
925
936
  const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
926
937
  var _a, _b, _c, _d, _e, _f;
927
938
  const { getBottomRows, getCenterRows, getIsSomeRowsPinned, getPrePaginationRowModel, getRowModel, getState, getTopRows, options: { enableGlobalFilterRankedResults, enablePagination, enableRowPinning, enableRowVirtualization, enableStickyFooter, enableStickyHeader, layoutMode, localization, manualExpanding, manualFiltering, manualGrouping, manualPagination, manualSorting, memoMode, muiTableBodyProps, renderEmptyRowsFallback, rowPinningDisplayMode, rowVirtualizerInstanceRef, rowVirtualizerOptions, }, refs: { tableContainerRef, tableFooterRef, tableHeadRef, tablePaperRef }, } = table;
928
- const { columnFilters, density, expanded, globalFilter, isFullScreen, pagination, rowPinning, sorting, } = getState();
939
+ const { columnFilters, density, draggingRow, expanded, globalFilter, isFullScreen, pagination, rowPinning, sorting, } = getState();
929
940
  const tableBodyProps = parseFromValuesOrFunc(muiTableBodyProps, { table });
930
941
  const rowVirtualizerProps = parseFromValuesOrFunc(rowVirtualizerOptions, {
931
942
  table,
@@ -983,7 +994,10 @@ const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddin
983
994
  ? reactVirtual.useVirtualizer(Object.assign({ count: rows.length, estimateSize: () => density === 'compact' ? 37 : density === 'comfortable' ? 58 : 73, getScrollElement: () => tableContainerRef.current, measureElement: typeof window !== 'undefined' &&
984
995
  navigator.userAgent.indexOf('Firefox') === -1
985
996
  ? (element) => element === null || element === void 0 ? void 0 : element.getBoundingClientRect().height
986
- : undefined, overscan: 4 }, rowVirtualizerProps))
997
+ : undefined, overscan: 4, rangeExtractor: react.useCallback((range) => {
998
+ var _a;
999
+ return extraIndexRangeExtractor(range, (_a = draggingRow === null || draggingRow === void 0 ? void 0 : draggingRow.index) !== null && _a !== void 0 ? _a : 0);
1000
+ }, [draggingRow]) }, rowVirtualizerProps))
987
1001
  : undefined;
988
1002
  if (rowVirtualizerInstanceRef && rowVirtualizer) {
989
1003
  rowVirtualizerInstanceRef.current = rowVirtualizer;
@@ -1007,8 +1021,12 @@ const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddin
1007
1021
  return memoMode === 'rows' ? (jsxRuntime.jsx(Memo_MRT_TableBodyRow, Object.assign({}, props), row.id)) : (jsxRuntime.jsx(MRT_TableBodyRow, Object.assign({}, props), row.id));
1008
1022
  }) }))), jsxRuntime.jsx(TableBody__default["default"], Object.assign({}, tableBodyProps, { sx: (theme) => (Object.assign({ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined, height: rowVirtualizer
1009
1023
  ? `${rowVirtualizer.getTotalSize()}px`
1010
- : 'inherit', minHeight: !rows.length ? '100px' : undefined, position: 'relative' }, parseFromValuesOrFunc(tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx, theme))), children: (_c = tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.children) !== null && _c !== void 0 ? _c : (!rows.length ? (jsxRuntime.jsx("tr", { style: { display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined }, children: jsxRuntime.jsx("td", { colSpan: table.getVisibleLeafColumns().length, style: {
1011
- display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : 'table-cell',
1024
+ : 'inherit', minHeight: !rows.length ? '100px' : undefined, position: 'relative' }, parseFromValuesOrFunc(tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx, theme))), children: (_c = tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.children) !== null && _c !== void 0 ? _c : (!rows.length ? (jsxRuntime.jsx("tr", { style: {
1025
+ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined,
1026
+ }, children: jsxRuntime.jsx("td", { colSpan: table.getVisibleLeafColumns().length, style: {
1027
+ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid'))
1028
+ ? 'grid'
1029
+ : 'table-cell',
1012
1030
  }, children: (_d = renderEmptyRowsFallback === null || renderEmptyRowsFallback === void 0 ? void 0 : renderEmptyRowsFallback({ table })) !== null && _d !== void 0 ? _d : (jsxRuntime.jsx(Typography__default["default"], { sx: {
1013
1031
  color: 'text.secondary',
1014
1032
  fontStyle: 'italic',
@@ -1559,7 +1577,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1559
1577
  if (isRangeFilter) {
1560
1578
  column.setFilterValue((old) => {
1561
1579
  const newFilterValues = old !== null && old !== void 0 ? old : ['', ''];
1562
- newFilterValues[rangeFilterIndex] = newValue;
1580
+ newFilterValues[rangeFilterIndex] = newValue !== null && newValue !== void 0 ? newValue : undefined;
1563
1581
  return newFilterValues;
1564
1582
  });
1565
1583
  }
@@ -1568,8 +1586,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1568
1586
  }
1569
1587
  }, isTextboxFilter ? (manualFiltering ? 400 : 200) : 1), []);
1570
1588
  const handleChange = (newValue) => {
1571
- var _a;
1572
- setFilterValue((_a = newValue === null || newValue === void 0 ? void 0 : newValue.toString()) !== null && _a !== void 0 ? _a : '');
1589
+ setFilterValue(newValue !== null && newValue !== void 0 ? newValue : '');
1573
1590
  handleChangeDebounced(newValue);
1574
1591
  };
1575
1592
  const handleTextFieldChange = (event) => {
@@ -1647,7 +1664,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1647
1664
  const endAdornment = !isAutocompleteFilter && !isDateFilter && !filterChipLabel ? (jsxRuntime.jsx(InputAdornment__default["default"], { position: "end", sx: { mr: isSelectFilter || isMultiSelectFilter ? '20px' : undefined }, children: jsxRuntime.jsx(Tooltip__default["default"], { arrow: true, placement: "right", title: (_h = localization.clearFilter) !== null && _h !== void 0 ? _h : '', children: jsxRuntime.jsx("span", { children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.clearFilter, disabled: !((_j = filterValue === null || filterValue === void 0 ? void 0 : filterValue.toString()) === null || _j === void 0 ? void 0 : _j.length), onClick: handleClear, size: "small", sx: {
1648
1665
  height: '2rem',
1649
1666
  transform: 'scale(0.9)',
1650
- width: '2rem'
1667
+ width: '2rem',
1651
1668
  }, children: jsxRuntime.jsx(CloseIcon, {}) }) }) }) })) : null;
1652
1669
  const startAdornment = showChangeModeButton ? (jsxRuntime.jsxs(InputAdornment__default["default"], { position: "start", children: [jsxRuntime.jsx(Tooltip__default["default"], { arrow: true, title: localization.changeFilterMode, children: jsxRuntime.jsx("span", { children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.changeFilterMode, onClick: handleFilterMenuOpen, size: "small", sx: { height: '1.75rem', width: '1.75rem' }, children: jsxRuntime.jsx(FilterListIcon, {}) }) }) }), filterChipLabel && (jsxRuntime.jsx(Chip__default["default"], { label: filterChipLabel, onDelete: handleClearEmptyFilterChip }))] })) : null;
1653
1670
  const commonTextFieldProps = Object.assign(Object.assign({ FormHelperTextProps: {
@@ -1689,7 +1706,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1689
1706
  }, value: filterValue || null }, datePickerProps, { slotProps: {
1690
1707
  field: Object.assign({ clearable: true, onClear: () => handleClear() }, (_l = datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.slotProps) === null || _l === void 0 ? void 0 : _l.field),
1691
1708
  textField: Object.assign(Object.assign({}, commonTextFieldProps), (_m = datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.slotProps) === null || _m === void 0 ? void 0 : _m.textField),
1692
- } }))) : isAutocompleteFilter ? (jsxRuntime.jsx(Autocomplete__default["default"], Object.assign({ getOptionLabel: (option) => option, onChange: (_e, newValue) => handleChange(newValue), options: dropdownOptions !== null && dropdownOptions !== void 0 ? dropdownOptions : [] }, autocompleteProps, { renderInput: (builtinTextFieldProps) => {
1709
+ } }))) : isAutocompleteFilter ? (jsxRuntime.jsx(Autocomplete__default["default"], Object.assign({ freeSolo: true, getOptionLabel: (option) => option, onChange: (_e, newValue) => handleChange(newValue), options: dropdownOptions !== null && dropdownOptions !== void 0 ? dropdownOptions : [] }, autocompleteProps, { renderInput: (builtinTextFieldProps) => {
1693
1710
  var _a;
1694
1711
  return (jsxRuntime.jsx(TextField__default["default"], Object.assign({}, builtinTextFieldProps, commonTextFieldProps, { InputProps: Object.assign(Object.assign({}, builtinTextFieldProps.InputProps), { startAdornment: (_a = commonTextFieldProps === null || commonTextFieldProps === void 0 ? void 0 : commonTextFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.startAdornment }), inputProps: Object.assign(Object.assign({}, builtinTextFieldProps.inputProps), commonTextFieldProps === null || commonTextFieldProps === void 0 ? void 0 : commonTextFieldProps.inputProps), onChange: handleTextFieldChange })));
1695
1712
  }, value: filterValue }))) : (jsxRuntime.jsx(TextField__default["default"], Object.assign({ SelectProps: {
@@ -1869,11 +1886,11 @@ const MRT_TableHeadCellFilterLabel = ({ header, table, }) => {
1869
1886
  }, children: jsxRuntime.jsx(FilterAltIcon, {}) }) }) }) }), jsxRuntime.jsx(Popover__default["default"], { anchorEl: anchorEl, anchorOrigin: {
1870
1887
  horizontal: 'center',
1871
1888
  vertical: 'top',
1872
- }, onClose: (event) => {
1889
+ }, onClick: (event) => event.stopPropagation(), onClose: (event) => {
1873
1890
  //@ts-ignore
1874
1891
  event.stopPropagation();
1875
1892
  setAnchorEl(null);
1876
- }, open: !!anchorEl, transformOrigin: {
1893
+ }, onKeyDown: (event) => event.key === 'Enter' && setAnchorEl(null), open: !!anchorEl, transformOrigin: {
1877
1894
  horizontal: 'center',
1878
1895
  vertical: 'bottom',
1879
1896
  }, children: jsxRuntime.jsx(Box__default["default"], { sx: { p: '1rem' }, children: jsxRuntime.jsx(MRT_TableHeadCellFilterContainer, { header: header, table: table }) }) })] }));
@@ -2161,7 +2178,7 @@ const MRT_TablePagination = ({ position = 'bottom', table, }) => {
2161
2178
  const showFirstLastPageButtons = numberOfPages > 2;
2162
2179
  const firstRowIndex = pageIndex * pageSize;
2163
2180
  const lastRowIndex = Math.min(pageIndex * pageSize + pageSize, totalRowCount);
2164
- const _a = paginationProps !== null && paginationProps !== void 0 ? paginationProps : {}, { showRowsPerPage = true, rowsPerPageOptions = defaultRowsPerPage, showFirstButton = showFirstLastPageButtons, showLastButton = showFirstLastPageButtons } = _a, rest = __rest(_a, ["showRowsPerPage", "rowsPerPageOptions", "showFirstButton", "showLastButton"]);
2181
+ const _a = paginationProps !== null && paginationProps !== void 0 ? paginationProps : {}, { rowsPerPageOptions = defaultRowsPerPage, showFirstButton = showFirstLastPageButtons, showLastButton = showFirstLastPageButtons, showRowsPerPage = true } = _a, rest = __rest(_a, ["rowsPerPageOptions", "showFirstButton", "showLastButton", "showRowsPerPage"]);
2165
2182
  return (jsxRuntime.jsxs(Box__default["default"], { sx: {
2166
2183
  alignItems: 'center',
2167
2184
  display: 'flex',
@@ -2177,12 +2194,12 @@ const MRT_TablePagination = ({ position = 'bottom', table, }) => {
2177
2194
  px: '4px',
2178
2195
  py: '12px',
2179
2196
  zIndex: 2,
2180
- }, children: [showRowsPerPage && (jsxRuntime.jsxs(Box__default["default"], { sx: { alignItems: 'center', display: 'flex', gap: '8px' }, children: [jsxRuntime.jsx(InputLabel__default["default"], { htmlFor: "mrt-rows-per-page", sx: { mb: 0 }, children: localization.rowsPerPage }), jsxRuntime.jsx(Select__default["default"], { inputProps: { 'aria-label': localization.rowsPerPage }, id: "mrt-rows-per-page", label: localization.rowsPerPage, onChange: (event) => setPageSize(+event.target.value), sx: { '&::before': { border: 'none' }, mb: 0 }, value: pageSize, variant: "standard", children: rowsPerPageOptions.map((value) => (jsxRuntime.jsx(MenuItem__default["default"], { sx: { m: 0 }, value: value, children: value }, value))) })] })), paginationDisplayMode === 'pages' ? (jsxRuntime.jsx(Pagination__default["default"], Object.assign({ count: numberOfPages, onChange: (_e, newPageIndex) => setPageIndex(newPageIndex - 1), page: pageIndex + 1, renderItem: (item) => (jsxRuntime.jsx(PaginationItem__default["default"], Object.assign({ slots: {
2197
+ }, children: [showRowsPerPage && (jsxRuntime.jsxs(Box__default["default"], { sx: { alignItems: 'center', display: 'flex', gap: '8px' }, children: [jsxRuntime.jsx(InputLabel__default["default"], { htmlFor: "mrt-rows-per-page", sx: { mb: 0 }, children: localization.rowsPerPage }), jsxRuntime.jsx(Select__default["default"], { id: "mrt-rows-per-page", inputProps: { 'aria-label': localization.rowsPerPage }, label: localization.rowsPerPage, onChange: (event) => setPageSize(+event.target.value), sx: { '&::before': { border: 'none' }, mb: 0 }, value: pageSize, variant: "standard", children: rowsPerPageOptions.map((value) => (jsxRuntime.jsx(MenuItem__default["default"], { sx: { m: 0 }, value: value, children: value }, value))) })] })), paginationDisplayMode === 'pages' ? (jsxRuntime.jsx(Pagination__default["default"], Object.assign({ count: numberOfPages, onChange: (_e, newPageIndex) => setPageIndex(newPageIndex - 1), page: pageIndex + 1, renderItem: (item) => (jsxRuntime.jsx(PaginationItem__default["default"], Object.assign({ slots: {
2181
2198
  first: FirstPageIcon,
2182
2199
  last: LastPageIcon,
2183
2200
  next: ChevronRightIcon,
2184
2201
  previous: ChevronLeftIcon,
2185
- } }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, rest))) : paginationDisplayMode === 'default' ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography__default["default"], { sx: { mb: 0, mx: '4px', minWidth: '10ch' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxRuntime.jsxs(Box__default["default"], { gap: "xs", children: [showFirstButton && (jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToFirstPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(0), size: "small", children: jsxRuntime.jsx(FirstPageIcon, {}) })), jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToPreviousPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(pageIndex - 1), size: "small", children: jsxRuntime.jsx(ChevronLeftIcon, {}) }), jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToNextPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(pageIndex + 1), size: "small", children: jsxRuntime.jsx(ChevronRightIcon, {}) }), showLastButton && (jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToLastPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(numberOfPages - 1), size: "small", children: jsxRuntime.jsx(LastPageIcon, {}) }))] })] })) : null] }));
2202
+ } }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, rest))) : paginationDisplayMode === 'default' ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography__default["default"], { sx: { mb: 0, minWidth: '10ch', mx: '4px' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxRuntime.jsxs(Box__default["default"], { gap: "xs", children: [showFirstButton && (jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToFirstPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(0), size: "small", children: jsxRuntime.jsx(FirstPageIcon, {}) })), jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToPreviousPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(pageIndex - 1), size: "small", children: jsxRuntime.jsx(ChevronLeftIcon, {}) }), jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToNextPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(pageIndex + 1), size: "small", children: jsxRuntime.jsx(ChevronRightIcon, {}) }), showLastButton && (jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToLastPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(numberOfPages - 1), size: "small", children: jsxRuntime.jsx(LastPageIcon, {}) }))] })] })) : null] }));
2186
2203
  };
2187
2204
 
2188
2205
  const MRT_GlobalFilterTextField = ({ table, }) => {
@@ -2645,7 +2662,7 @@ const MRT_TableHead = ({ table, virtualColumns, virtualPaddingLeft, virtualPaddi
2645
2662
  const MRT_Table = ({ table, }) => {
2646
2663
  var _a, _b, _c, _d;
2647
2664
  const { getFlatHeaders, getState, options: { columnVirtualizerInstanceRef, columnVirtualizerOptions, columns, enableColumnPinning, enableColumnResizing, enableColumnVirtualization, enableStickyHeader, enableTableFooter, enableTableHead, layoutMode, memoMode, muiTableProps, }, refs: { tableContainerRef }, } = table;
2648
- const { columnPinning, columnSizing, columnSizingInfo, columnVisibility, isFullScreen, } = getState();
2665
+ const { columnPinning, columnSizing, columnSizingInfo, columnVisibility, draggingColumn, isFullScreen, } = getState();
2649
2666
  const tableProps = parseFromValuesOrFunc(muiTableProps, { table });
2650
2667
  const columnVirtualizerProps = parseFromValuesOrFunc(columnVirtualizerOptions, { table });
2651
2668
  const columnSizeVars = react.useMemo(() => {
@@ -2677,14 +2694,20 @@ const MRT_Table = ({ table, }) => {
2677
2694
  .map((c) => table.getVisibleLeafColumns().length - c.getPinnedIndex() - 1),
2678
2695
  ]
2679
2696
  : [[], []], [columnPinning, enableColumnVirtualization, enableColumnPinning]);
2697
+ const draggingColumnIndex = table
2698
+ .getVisibleLeafColumns()
2699
+ .findIndex((c) => c.id === (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id));
2680
2700
  const columnVirtualizer = enableColumnVirtualization
2681
- ? reactVirtual.useVirtualizer(Object.assign({ count: table.getVisibleLeafColumns().length, estimateSize: () => averageColumnWidth, getScrollElement: () => tableContainerRef.current, horizontal: true, overscan: 3, rangeExtractor: react.useCallback((range) => [
2682
- ...new Set([
2683
- ...leftPinnedIndexes,
2684
- ...reactVirtual.defaultRangeExtractor(range),
2685
- ...rightPinnedIndexes,
2686
- ]),
2687
- ], [leftPinnedIndexes, rightPinnedIndexes]) }, columnVirtualizerProps))
2701
+ ? reactVirtual.useVirtualizer(Object.assign({ count: table.getVisibleLeafColumns().length, estimateSize: () => averageColumnWidth, getScrollElement: () => tableContainerRef.current, horizontal: true, overscan: 3, rangeExtractor: react.useCallback((range) => {
2702
+ const newIndexs = extraIndexRangeExtractor(range, draggingColumnIndex);
2703
+ return [
2704
+ ...new Set([
2705
+ ...leftPinnedIndexes,
2706
+ ...newIndexs,
2707
+ ...rightPinnedIndexes,
2708
+ ]),
2709
+ ];
2710
+ }, [leftPinnedIndexes, rightPinnedIndexes, draggingColumnIndex]) }, columnVirtualizerProps))
2688
2711
  : undefined;
2689
2712
  if (columnVirtualizerInstanceRef && columnVirtualizer) {
2690
2713
  columnVirtualizerInstanceRef.current = columnVirtualizer;
@@ -3306,7 +3329,7 @@ const endsWith = (row, id, filterValue) => row
3306
3329
  .endsWith(filterValue.toString().toLowerCase().trim());
3307
3330
  endsWith.autoRemove = (val) => !val;
3308
3331
  const equals = (row, id, filterValue) => row.getValue(id).toString().toLowerCase().trim() ===
3309
- filterValue.toString().toLowerCase().trim();
3332
+ (filterValue === null || filterValue === void 0 ? void 0 : filterValue.toString().toLowerCase().trim());
3310
3333
  equals.autoRemove = (val) => !val;
3311
3334
  const notEquals = (row, id, filterValue) => row.getValue(id).toString().toLowerCase().trim() !==
3312
3335
  filterValue.toString().toLowerCase().trim();
@@ -3314,14 +3337,14 @@ notEquals.autoRemove = (val) => !val;
3314
3337
  const greaterThan = (row, id, filterValue) => !isNaN(+filterValue) && !isNaN(+row.getValue(id))
3315
3338
  ? +row.getValue(id) > +filterValue
3316
3339
  : row.getValue(id).toString().toLowerCase().trim() >
3317
- filterValue.toString().toLowerCase().trim();
3340
+ (filterValue === null || filterValue === void 0 ? void 0 : filterValue.toString().toLowerCase().trim());
3318
3341
  greaterThan.autoRemove = (val) => !val;
3319
3342
  const greaterThanOrEqualTo = (row, id, filterValue) => equals(row, id, filterValue) || greaterThan(row, id, filterValue);
3320
3343
  greaterThanOrEqualTo.autoRemove = (val) => !val;
3321
3344
  const lessThan = (row, id, filterValue) => !isNaN(+filterValue) && !isNaN(+row.getValue(id))
3322
3345
  ? +row.getValue(id) < +filterValue
3323
3346
  : row.getValue(id).toString().toLowerCase().trim() <
3324
- filterValue.toString().toLowerCase().trim();
3347
+ (filterValue === null || filterValue === void 0 ? void 0 : filterValue.toString().toLowerCase().trim());
3325
3348
  lessThan.autoRemove = (val) => !val;
3326
3349
  const lessThanOrEqualTo = (row, id, filterValue) => equals(row, id, filterValue) || lessThan(row, id, filterValue);
3327
3350
  lessThanOrEqualTo.autoRemove = (val) => !val;
@@ -3650,6 +3673,7 @@ exports.commonListItemStyles = commonListItemStyles;
3650
3673
  exports.commonMenuItemStyles = commonMenuItemStyles;
3651
3674
  exports.commonToolbarStyles = commonToolbarStyles;
3652
3675
  exports.createRow = createRow;
3676
+ exports.extraIndexRangeExtractor = extraIndexRangeExtractor;
3653
3677
  exports.flexRender = flexRender;
3654
3678
  exports.getAllLeafColumnDefs = getAllLeafColumnDefs;
3655
3679
  exports.getCanRankRows = getCanRankRows;