material-react-table 1.4.3 → 1.5.0-beta.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.
Files changed (43) hide show
  1. package/dist/cjs/index.js +183 -71
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/MaterialReactTable.d.ts +19 -6
  4. package/dist/cjs/types/body/MRT_TableBody.d.ts +5 -0
  5. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +3 -0
  6. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +5 -1
  7. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +4 -0
  8. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +4 -0
  9. package/dist/cjs/types/head/MRT_TableHead.d.ts +4 -0
  10. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +4 -0
  11. package/dist/cjs/types/table/MRT_TableRoot.d.ts +12 -5
  12. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +1 -1
  13. package/dist/esm/material-react-table.esm.js +179 -67
  14. package/dist/esm/material-react-table.esm.js.map +1 -1
  15. package/dist/esm/types/MaterialReactTable.d.ts +19 -6
  16. package/dist/esm/types/body/MRT_TableBody.d.ts +5 -0
  17. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +3 -0
  18. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +5 -1
  19. package/dist/esm/types/footer/MRT_TableFooter.d.ts +4 -0
  20. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +4 -0
  21. package/dist/esm/types/head/MRT_TableHead.d.ts +4 -0
  22. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +4 -0
  23. package/dist/esm/types/table/MRT_TableRoot.d.ts +12 -5
  24. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +1 -1
  25. package/dist/index.d.ts +21 -8
  26. package/locales/ru.esm.js +1 -1
  27. package/locales/ru.js +1 -1
  28. package/package.json +1 -1
  29. package/src/MaterialReactTable.tsx +48 -11
  30. package/src/_locales/ru.ts +1 -1
  31. package/src/body/MRT_TableBody.tsx +42 -13
  32. package/src/body/MRT_TableBodyCell.tsx +17 -1
  33. package/src/body/MRT_TableBodyRow.tsx +24 -3
  34. package/src/column.utils.ts +4 -1
  35. package/src/footer/MRT_TableFooter.tsx +13 -1
  36. package/src/footer/MRT_TableFooterCell.tsx +6 -1
  37. package/src/footer/MRT_TableFooterRow.tsx +27 -4
  38. package/src/head/MRT_TableHead.tsx +13 -1
  39. package/src/head/MRT_TableHeadCell.tsx +2 -2
  40. package/src/head/MRT_TableHeadRow.tsx +26 -4
  41. package/src/table/MRT_Table.tsx +105 -7
  42. package/src/table/MRT_TableRoot.tsx +1 -1
  43. package/src/toolbar/MRT_TablePagination.tsx +2 -2
package/dist/cjs/index.js CHANGED
@@ -66,12 +66,12 @@ var AlertTitle = require('@mui/material/AlertTitle');
66
66
  var Chip = require('@mui/material/Chip');
67
67
  var Fade = require('@mui/material/Fade');
68
68
  var TableContainer = require('@mui/material/TableContainer');
69
+ var reactVirtual = require('@tanstack/react-virtual');
69
70
  var Table = require('@mui/material/Table');
70
71
  var TableHead = require('@mui/material/TableHead');
71
72
  var TableRow = require('@mui/material/TableRow');
72
73
  var TableCell = require('@mui/material/TableCell');
73
74
  var TableSortLabel = require('@mui/material/TableSortLabel');
74
- var reactVirtual = require('@tanstack/react-virtual');
75
75
  var TableBody = require('@mui/material/TableBody');
76
76
  var Skeleton = require('@mui/material/Skeleton');
77
77
  var TableFooter = require('@mui/material/TableFooter');
@@ -324,7 +324,9 @@ const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, })
324
324
  ? 'sticky'
325
325
  : undefined, right: column.getIsPinned() === 'right'
326
326
  ? `${getTotalRight(table, column)}px`
327
- : undefined, transition: `all ${column.getIsResizing() ? 0 : '150ms'} ease-in-out` }, ((tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx) instanceof Function
327
+ : undefined, transition: table.options.enableColumnVirtualization || column.getIsResizing()
328
+ ? 'none'
329
+ : `all 150ms ease-in-out` }, ((tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx) instanceof Function
328
330
  ? tableCellProps.sx(theme)
329
331
  : tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)), { flex: table.options.layoutMode === 'grid'
330
332
  ? `${column.getSize()} 0 auto`
@@ -1210,7 +1212,7 @@ const MRT_LinearProgressBar = ({ isTopToolbar, table }) => {
1210
1212
  React__default["default"].createElement(LinearProgress__default["default"], Object.assign({ "aria-label": "Loading", "aria-busy": "true", sx: { position: 'relative' } }, linearProgressProps))));
1211
1213
  };
1212
1214
 
1213
- const MRT_TablePagination = ({ table, position, }) => {
1215
+ const MRT_TablePagination = ({ table, position = 'bottom', }) => {
1214
1216
  const { getPrePaginationRowModel, getState, setPageIndex, setPageSize, options: { muiTablePaginationProps, enableToolbarInternalActions, localization, rowCount, }, } = table;
1215
1217
  const { pagination: { pageSize = 10, pageIndex = 0 }, showGlobalFilter, } = getState();
1216
1218
  const totalRowCount = rowCount !== null && rowCount !== void 0 ? rowCount : getPrePaginationRowModel().rows.length;
@@ -2041,17 +2043,25 @@ const MRT_TableHeadCell = ({ header, table }) => {
2041
2043
  column.getCanFilter() && (React__default["default"].createElement(MRT_TableHeadCellFilterContainer, { header: header, table: table }))));
2042
2044
  };
2043
2045
 
2044
- const MRT_TableHeadRow = ({ headerGroup, table }) => {
2046
+ const MRT_TableHeadRow = ({ headerGroup, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
2045
2047
  const { options: { layoutMode, muiTableHeadRowProps }, } = table;
2046
2048
  const tableRowProps = muiTableHeadRowProps instanceof Function
2047
2049
  ? muiTableHeadRowProps({ headerGroup, table })
2048
2050
  : muiTableHeadRowProps;
2049
2051
  return (React__default["default"].createElement(TableRow__default["default"], Object.assign({}, tableRowProps, { sx: (theme) => (Object.assign({ backgroundColor: styles.lighten(theme.palette.background.default, 0.04), boxShadow: `4px 0 8px ${styles.alpha(theme.palette.common.black, 0.1)}`, display: layoutMode === 'grid' ? 'flex' : 'table-row', top: 0 }, ((tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx) instanceof Function
2050
2052
  ? tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx(theme)
2051
- : tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx))) }), headerGroup.headers.map((header) => (React__default["default"].createElement(MRT_TableHeadCell, { header: header, key: header.id, table: table })))));
2052
- };
2053
-
2054
- const MRT_TableHead = ({ table }) => {
2053
+ : tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx))) }),
2054
+ virtualPaddingLeft ? (React__default["default"].createElement("th", { style: { display: 'flex', width: virtualPaddingLeft } })) : null,
2055
+ (virtualColumns !== null && virtualColumns !== void 0 ? virtualColumns : headerGroup.headers).map((headerOrVirtualHeader) => {
2056
+ const header = virtualColumns
2057
+ ? headerGroup.headers[headerOrVirtualHeader.index]
2058
+ : headerOrVirtualHeader;
2059
+ return (React__default["default"].createElement(MRT_TableHeadCell, { header: header, key: header.id, table: table }));
2060
+ }),
2061
+ virtualPaddingRight ? (React__default["default"].createElement("th", { style: { display: 'flex', width: virtualPaddingRight } })) : null));
2062
+ };
2063
+
2064
+ const MRT_TableHead = ({ table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
2055
2065
  const { getHeaderGroups, getState, options: { enableStickyHeader, layoutMode, muiTableHeadProps }, } = table;
2056
2066
  const { isFullScreen } = getState();
2057
2067
  const tableHeadProps = muiTableHeadProps instanceof Function
@@ -2060,7 +2070,7 @@ const MRT_TableHead = ({ table }) => {
2060
2070
  const stickyHeader = enableStickyHeader || isFullScreen;
2061
2071
  return (React__default["default"].createElement(TableHead__default["default"], Object.assign({}, tableHeadProps, { sx: (theme) => (Object.assign({ display: layoutMode === 'grid' ? 'grid' : 'table-row-group', opacity: 0.97, position: stickyHeader ? 'sticky' : 'relative', top: stickyHeader && layoutMode === 'grid' ? 0 : undefined, zIndex: stickyHeader ? 2 : undefined }, ((tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx) instanceof Function
2062
2072
  ? tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx(theme)
2063
- : tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx))) }), getHeaderGroups().map((headerGroup) => (React__default["default"].createElement(MRT_TableHeadRow, { headerGroup: headerGroup, key: headerGroup.id, table: table })))));
2073
+ : tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx))) }), getHeaderGroups().map((headerGroup) => (React__default["default"].createElement(MRT_TableHeadRow, { headerGroup: headerGroup, key: headerGroup.id, table: table, virtualColumns: virtualColumns, virtualPaddingLeft: virtualPaddingLeft, virtualPaddingRight: virtualPaddingRight })))));
2064
2074
  };
2065
2075
 
2066
2076
  const MRT_EditCellTextField = ({ cell, showLabel, table, }) => {
@@ -2199,7 +2209,7 @@ const MRT_TableBodyCellValue = ({ cell, table }) => {
2199
2209
  : (_b = (_a = columnDef === null || columnDef === void 0 ? void 0 : columnDef.Cell) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, row, table })) !== null && _b !== void 0 ? _b : cell.renderValue()));
2200
2210
  };
2201
2211
 
2202
- const MRT_TableBodyCell = ({ cell, enableHover, numRows, rowIndex, rowRef, table, }) => {
2212
+ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowIndex, rowRef, table, virtualCell, }) => {
2203
2213
  var _a, _b;
2204
2214
  const theme = styles.useTheme();
2205
2215
  const { getState, options: { editingMode, enableClickToCopy, enableColumnOrdering, enableEditing, enableGrouping, enableRowNumbers, layoutMode, muiTableBodyCellProps, muiTableBodyCellSkeletonProps, rowNumberMode, }, refs: { editInputRefs }, setEditingCell, setHoveredColumn, } = table;
@@ -2271,7 +2281,11 @@ const MRT_TableBodyCell = ({ cell, enableHover, numRows, rowIndex, rowRef, table
2271
2281
  setHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
2272
2282
  }
2273
2283
  };
2274
- return (React__default["default"].createElement(TableCell__default["default"], Object.assign({}, tableCellProps, { onDragEnter: handleDragEnter, onDoubleClick: handleDoubleClick, sx: (theme) => (Object.assign(Object.assign({ alignItems: layoutMode === 'grid' ? 'center' : undefined, cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'inherit', overflow: 'hidden', p: density === 'compact'
2284
+ return (React__default["default"].createElement(TableCell__default["default"], Object.assign({ "data-index": virtualCell === null || virtualCell === void 0 ? void 0 : virtualCell.index, ref: (node) => {
2285
+ if (node) {
2286
+ measureElement === null || measureElement === void 0 ? void 0 : measureElement(node);
2287
+ }
2288
+ } }, tableCellProps, { onDragEnter: handleDragEnter, onDoubleClick: handleDoubleClick, sx: (theme) => (Object.assign(Object.assign({ alignItems: layoutMode === 'grid' ? 'center' : undefined, cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'inherit', overflow: 'hidden', p: density === 'compact'
2275
2289
  ? columnDefType === 'display'
2276
2290
  ? '0 0.5rem'
2277
2291
  : '0.5rem'
@@ -2297,7 +2311,12 @@ const MRT_TableBodyCell = ({ cell, enableHover, numRows, rowIndex, rowRef, table
2297
2311
  ? `${styles.lighten(theme.palette.background.default, 0.2)} !important`
2298
2312
  : `${styles.darken(theme.palette.background.default, 0.1)} !important`
2299
2313
  : undefined,
2300
- } }, getCommonCellStyles({ column, table, theme, tableCellProps })), draggingBorders)) }),
2314
+ } }, getCommonCellStyles({
2315
+ column,
2316
+ table,
2317
+ theme,
2318
+ tableCellProps,
2319
+ })), draggingBorders)) }),
2301
2320
  React__default["default"].createElement(React__default["default"].Fragment, null, cell.getIsPlaceholder() ? null : isLoading || showSkeletons ? (React__default["default"].createElement(Skeleton__default["default"], Object.assign({ animation: "wave", height: 20, width: skeletonWidth }, skeletonProps))) : enableRowNumbers &&
2302
2321
  rowNumberMode === 'static' &&
2303
2322
  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' &&
@@ -2339,7 +2358,7 @@ const MRT_TableDetailPanel = ({ parentRowRef, row, table, virtualRow, }) => {
2339
2358
  : tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx))) }), renderDetailPanel && (React__default["default"].createElement(Collapse__default["default"], { in: row.getIsExpanded(), mountOnEnter: true, unmountOnExit: true }, !isLoading && renderDetailPanel({ row, table }))))));
2340
2359
  };
2341
2360
 
2342
- const MRT_TableBodyRow = ({ measureElement, numRows, row, rowIndex, table, virtualRow, }) => {
2361
+ const MRT_TableBodyRow = ({ columnVirtualizer, measureElement, numRows, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }) => {
2343
2362
  const theme = styles.useTheme();
2344
2363
  const { getIsSomeColumnsPinned, getState, options: { enableRowOrdering, layoutMode, memoMode, muiTableBodyRowProps, renderDetailPanel, }, setHoveredRow, } = table;
2345
2364
  const { draggingColumn, draggingRow, editingCell, editingRow, hoveredRow } = getState();
@@ -2378,37 +2397,50 @@ const MRT_TableBodyRow = ({ measureElement, numRows, row, rowIndex, table, virtu
2378
2397
  : undefined,
2379
2398
  } }, ((tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx) instanceof Function
2380
2399
  ? tableRowProps.sx(theme)
2381
- : tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx)), draggingBorders)) }), row.getVisibleCells().map((cell) => {
2382
- const props = {
2383
- cell,
2384
- enableHover: (tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.hover) !== false,
2385
- key: cell.id,
2386
- numRows,
2387
- rowIndex,
2388
- rowRef,
2389
- table,
2390
- };
2391
- return memoMode === 'cells' &&
2392
- cell.column.columnDef.columnDefType === 'data' &&
2393
- !draggingColumn &&
2394
- !draggingRow &&
2395
- (editingCell === null || editingCell === void 0 ? void 0 : editingCell.id) !== cell.id &&
2396
- (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) !== row.id ? (React__default["default"].createElement(Memo_MRT_TableBodyCell, Object.assign({}, props))) : (React__default["default"].createElement(MRT_TableBodyCell, Object.assign({}, props)));
2397
- })),
2400
+ : tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx)), draggingBorders)) }),
2401
+ virtualPaddingLeft ? (React__default["default"].createElement("td", { style: { display: 'flex', width: virtualPaddingLeft } })) : null,
2402
+ (virtualColumns !== null && virtualColumns !== void 0 ? virtualColumns : row.getVisibleCells()).map((cellOrVirtualCell) => {
2403
+ const cell = columnVirtualizer
2404
+ ? row.getVisibleCells()[cellOrVirtualCell.index]
2405
+ : cellOrVirtualCell;
2406
+ const props = {
2407
+ cell,
2408
+ enableHover: (tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.hover) !== false,
2409
+ key: cell.id,
2410
+ measureElement: columnVirtualizer === null || columnVirtualizer === void 0 ? void 0 : columnVirtualizer.measureElement,
2411
+ numRows,
2412
+ rowIndex,
2413
+ rowRef,
2414
+ table,
2415
+ virtualCell: columnVirtualizer
2416
+ ? cellOrVirtualCell
2417
+ : undefined,
2418
+ };
2419
+ return memoMode === 'cells' &&
2420
+ cell.column.columnDef.columnDefType === 'data' &&
2421
+ !draggingColumn &&
2422
+ !draggingRow &&
2423
+ (editingCell === null || editingCell === void 0 ? void 0 : editingCell.id) !== cell.id &&
2424
+ (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) !== row.id ? (React__default["default"].createElement(Memo_MRT_TableBodyCell, Object.assign({}, props))) : (React__default["default"].createElement(MRT_TableBodyCell, Object.assign({}, props)));
2425
+ }),
2426
+ virtualPaddingRight ? (React__default["default"].createElement("td", { style: { display: 'flex', width: virtualPaddingRight } })) : null),
2398
2427
  renderDetailPanel && !row.getIsGrouped() && (React__default["default"].createElement(MRT_TableDetailPanel, { parentRowRef: rowRef, row: row, table: table, virtualRow: virtualRow }))));
2399
2428
  };
2400
2429
  const Memo_MRT_TableBodyRow = React.memo(MRT_TableBodyRow, (prev, next) => prev.row === next.row);
2401
2430
 
2402
- const MRT_TableBody = ({ table }) => {
2431
+ const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
2403
2432
  var _a, _b, _c;
2404
- const { getRowModel, getPrePaginationRowModel, getState, options: { enableGlobalFilterRankedResults, enablePagination, enableRowVirtualization, layoutMode, localization, manualFiltering, manualSorting, memoMode, muiTableBodyProps, virtualizerInstanceRef, virtualizerProps, }, refs: { tableContainerRef, tablePaperRef }, } = table;
2433
+ const { getRowModel, getPrePaginationRowModel, getState, options: { enableGlobalFilterRankedResults, enablePagination, enableRowVirtualization, layoutMode, localization, manualFiltering, manualSorting, memoMode, muiTableBodyProps, rowVirtualizerInstanceRef, rowVirtualizerProps, virtualizerInstanceRef, virtualizerProps, }, refs: { tableContainerRef, tablePaperRef }, } = table;
2405
2434
  const { columnFilters, density, globalFilter, pagination, sorting } = getState();
2406
2435
  const tableBodyProps = muiTableBodyProps instanceof Function
2407
2436
  ? muiTableBodyProps({ table })
2408
2437
  : muiTableBodyProps;
2409
- const vProps = virtualizerProps instanceof Function
2438
+ const vProps_old = virtualizerProps instanceof Function
2410
2439
  ? virtualizerProps({ table })
2411
2440
  : virtualizerProps;
2441
+ const vProps = rowVirtualizerProps instanceof Function
2442
+ ? rowVirtualizerProps({ table })
2443
+ : rowVirtualizerProps;
2412
2444
  const rows = React.useMemo(() => {
2413
2445
  if (enableGlobalFilterRankedResults &&
2414
2446
  globalFilter &&
@@ -2434,14 +2466,22 @@ const MRT_TableBody = ({ table }) => {
2434
2466
  pagination.pageIndex,
2435
2467
  pagination.pageSize,
2436
2468
  ]);
2437
- const virtualizer = enableRowVirtualization
2438
- ? reactVirtual.useVirtualizer(Object.assign({ count: rows.length, estimateSize: () => density === 'compact' ? 37 : density === 'comfortable' ? 58 : 73, getScrollElement: () => tableContainerRef.current, measureElement: (element) => element === null || element === void 0 ? void 0 : element.getBoundingClientRect().height, overscan: 4 }, vProps))
2469
+ const rowVirtualizer = enableRowVirtualization
2470
+ ? reactVirtual.useVirtualizer(Object.assign(Object.assign({ count: rows.length, estimateSize: () => density === 'compact' ? 37 : density === 'comfortable' ? 58 : 73, getScrollElement: () => tableContainerRef.current, measureElement: (element) => element === null || element === void 0 ? void 0 : element.getBoundingClientRect().height, overscan: 4 }, vProps_old), vProps))
2439
2471
  : undefined;
2440
- if (virtualizerInstanceRef && virtualizer) {
2441
- virtualizerInstanceRef.current = virtualizer;
2472
+ if (rowVirtualizerInstanceRef && rowVirtualizer) {
2473
+ rowVirtualizerInstanceRef.current = rowVirtualizer;
2442
2474
  }
2443
- const virtualRows = virtualizer ? virtualizer.getVirtualItems() : undefined;
2444
- return (React__default["default"].createElement(TableBody__default["default"], Object.assign({}, tableBodyProps, { sx: (theme) => (Object.assign({ display: layoutMode === 'grid' ? 'grid' : 'table-row-group', height: virtualizer ? `${virtualizer.getTotalSize()}px` : 'inherit', minHeight: !rows.length ? '100px' : undefined, position: 'relative' }, ((tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx) instanceof Function
2475
+ //deprecated
2476
+ if (virtualizerInstanceRef && rowVirtualizer) {
2477
+ virtualizerInstanceRef.current = rowVirtualizer;
2478
+ }
2479
+ const virtualRows = rowVirtualizer
2480
+ ? rowVirtualizer.getVirtualItems()
2481
+ : undefined;
2482
+ return (React__default["default"].createElement(TableBody__default["default"], Object.assign({}, tableBodyProps, { sx: (theme) => (Object.assign({ display: layoutMode === 'grid' ? 'grid' : 'table-row-group', height: rowVirtualizer
2483
+ ? `${rowVirtualizer.getTotalSize()}px`
2484
+ : 'inherit', minHeight: !rows.length ? '100px' : undefined, position: 'relative' }, ((tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx) instanceof Function
2445
2485
  ? tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx(theme)
2446
2486
  : tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx))) }), (_a = tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.children) !== null && _a !== void 0 ? _a : (!rows.length ? (React__default["default"].createElement("tr", { style: { display: layoutMode === 'grid' ? 'grid' : 'table-row' } },
2447
2487
  React__default["default"].createElement("td", { colSpan: table.getVisibleLeafColumns().length, style: { display: layoutMode === 'grid' ? 'grid' : 'table-cell' } },
@@ -2455,19 +2495,21 @@ const MRT_TableBody = ({ table }) => {
2455
2495
  } }, globalFilter || columnFilters.length
2456
2496
  ? localization.noResultsFound
2457
2497
  : localization.noRecordsToDisplay)))) : (React__default["default"].createElement(React__default["default"].Fragment, null, (virtualRows !== null && virtualRows !== void 0 ? virtualRows : rows).map((rowOrVirtualRow, rowIndex) => {
2458
- const row = virtualizer
2498
+ const row = rowVirtualizer
2459
2499
  ? rows[rowOrVirtualRow.index]
2460
2500
  : rowOrVirtualRow;
2461
2501
  const props = {
2502
+ columnVirtualizer,
2462
2503
  key: row.id,
2463
- measureElement: virtualizer
2464
- ? virtualizer.measureElement
2465
- : undefined,
2504
+ measureElement: rowVirtualizer === null || rowVirtualizer === void 0 ? void 0 : rowVirtualizer.measureElement,
2466
2505
  numRows: rows.length,
2467
2506
  row,
2468
- rowIndex: virtualizer ? rowOrVirtualRow.index : rowIndex,
2507
+ rowIndex: rowVirtualizer ? rowOrVirtualRow.index : rowIndex,
2469
2508
  table,
2470
- virtualRow: virtualizer
2509
+ virtualColumns,
2510
+ virtualPaddingLeft,
2511
+ virtualPaddingRight,
2512
+ virtualRow: rowVirtualizer
2471
2513
  ? rowOrVirtualRow
2472
2514
  : undefined,
2473
2515
  };
@@ -2494,7 +2536,12 @@ const MRT_TableFooterCell = ({ footer, table }) => {
2494
2536
  ? '0.5rem'
2495
2537
  : density === 'comfortable'
2496
2538
  ? '1rem'
2497
- : '1.5rem', verticalAlign: 'top', zIndex: column.getIsPinned() && columnDefType !== 'group' ? 2 : 1 }, getCommonCellStyles({ column, table, theme, tableCellProps }))) }),
2539
+ : '1.5rem', verticalAlign: 'top', zIndex: column.getIsPinned() && columnDefType !== 'group' ? 2 : 1 }, getCommonCellStyles({
2540
+ column,
2541
+ table,
2542
+ theme,
2543
+ tableCellProps,
2544
+ }))) }),
2498
2545
  React__default["default"].createElement(React__default["default"].Fragment, null, footer.isPlaceholder
2499
2546
  ? null
2500
2547
  : (_c = (_b = (columnDef.Footer instanceof Function
@@ -2506,7 +2553,7 @@ const MRT_TableFooterCell = ({ footer, table }) => {
2506
2553
  : columnDef.Footer)) !== null && _b !== void 0 ? _b : columnDef.footer) !== null && _c !== void 0 ? _c : null)));
2507
2554
  };
2508
2555
 
2509
- const MRT_TableFooterRow = ({ footerGroup, table }) => {
2556
+ const MRT_TableFooterRow = ({ footerGroup, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
2510
2557
  var _a;
2511
2558
  const { options: { layoutMode, muiTableFooterRowProps }, } = table;
2512
2559
  // if no content in row, skip row
@@ -2517,12 +2564,20 @@ const MRT_TableFooterRow = ({ footerGroup, table }) => {
2517
2564
  const tableRowProps = muiTableFooterRowProps instanceof Function
2518
2565
  ? muiTableFooterRowProps({ footerGroup, table })
2519
2566
  : muiTableFooterRowProps;
2520
- return (React__default["default"].createElement(TableRow__default["default"], Object.assign({}, tableRowProps, { sx: (theme) => (Object.assign({ display: layoutMode === 'grid' ? 'flex' : 'table-row' }, ((tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx) instanceof Function
2567
+ return (React__default["default"].createElement(TableRow__default["default"], Object.assign({}, tableRowProps, { sx: (theme) => (Object.assign({ display: layoutMode === 'grid' ? 'flex' : 'table-row', width: '100%' }, ((tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx) instanceof Function
2521
2568
  ? tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx(theme)
2522
- : tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx))) }), footerGroup.headers.map((footer) => (React__default["default"].createElement(MRT_TableFooterCell, { footer: footer, key: footer.id, table: table })))));
2523
- };
2524
-
2525
- const MRT_TableFooter = ({ table }) => {
2569
+ : tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx))) }),
2570
+ virtualPaddingLeft ? (React__default["default"].createElement("th", { style: { display: 'flex', width: virtualPaddingLeft } })) : null,
2571
+ (virtualColumns !== null && virtualColumns !== void 0 ? virtualColumns : footerGroup.headers).map((footerOrVirtualFooter) => {
2572
+ const footer = virtualColumns
2573
+ ? footerGroup.headers[footerOrVirtualFooter.index]
2574
+ : footerOrVirtualFooter;
2575
+ return (React__default["default"].createElement(MRT_TableFooterCell, { footer: footer, key: footer.id, table: table }));
2576
+ }),
2577
+ virtualPaddingRight ? (React__default["default"].createElement("th", { style: { display: 'flex', width: virtualPaddingRight } })) : null));
2578
+ };
2579
+
2580
+ const MRT_TableFooter = ({ table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
2526
2581
  const { getFooterGroups, getState, options: { enableStickyFooter, layoutMode, muiTableFooterProps }, } = table;
2527
2582
  const { isFullScreen } = getState();
2528
2583
  const tableFooterProps = muiTableFooterProps instanceof Function
@@ -2535,21 +2590,74 @@ const MRT_TableFooter = ({ table }) => {
2535
2590
  : `1px solid ${theme.palette.grey[700]}`
2536
2591
  : undefined, position: stickFooter ? 'sticky' : undefined }, ((tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx) instanceof Function
2537
2592
  ? tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx(theme)
2538
- : tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx))) }), getFooterGroups().map((footerGroup) => (React__default["default"].createElement(MRT_TableFooterRow, { footerGroup: footerGroup, key: footerGroup.id, table: table })))));
2593
+ : tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx))) }), getFooterGroups().map((footerGroup) => (React__default["default"].createElement(MRT_TableFooterRow, { footerGroup: footerGroup, key: footerGroup.id, table: table, virtualColumns: virtualColumns, virtualPaddingLeft: virtualPaddingLeft, virtualPaddingRight: virtualPaddingRight })))));
2539
2594
  };
2540
2595
 
2541
2596
  const MRT_Table = ({ table }) => {
2542
- const { getState, options: { enableColumnResizing, enableStickyHeader, enableTableFooter, enableTableHead, layoutMode, memoMode, muiTableProps, }, } = table;
2543
- const { isFullScreen } = getState();
2597
+ var _a, _b;
2598
+ const { getState, options: { columnVirtualizerInstanceRef, columnVirtualizerProps, enableColumnResizing, enableColumnVirtualization, enablePinning, enableStickyHeader, enableTableFooter, enableTableHead, layoutMode, memoMode, muiTableProps, }, refs: { tableContainerRef }, } = table;
2599
+ const { isFullScreen, columnPinning, columnVisibility } = getState();
2544
2600
  const tableProps = muiTableProps instanceof Function
2545
2601
  ? muiTableProps({ table })
2546
2602
  : muiTableProps;
2547
- return (React__default["default"].createElement(Table__default["default"], Object.assign({ stickyHeader: enableStickyHeader || isFullScreen }, tableProps, { sx: (theme) => (Object.assign({ display: layoutMode === 'grid' ? 'grid' : 'table', tableLayout: enableColumnResizing ? 'fixed' : 'auto' }, ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx) instanceof Function
2603
+ const vProps = columnVirtualizerProps instanceof Function
2604
+ ? columnVirtualizerProps({ table })
2605
+ : columnVirtualizerProps;
2606
+ //get first 16 column widths and average them
2607
+ const averageColumnWidth = React.useMemo(() => {
2608
+ var _a, _b, _c, _d;
2609
+ const columnsWidths = (_d = (_c = (_b = (_a = table
2610
+ .getRowModel()
2611
+ .rows[0]) === null || _a === void 0 ? void 0 : _a.getCenterVisibleCells()) === null || _b === void 0 ? void 0 : _b.slice(0, 16)) === null || _c === void 0 ? void 0 : _c.map((cell) => cell.column.getSize() * 1.25)) !== null && _d !== void 0 ? _d : [];
2612
+ return columnsWidths.reduce((a, b) => a + b, 0) / columnsWidths.length;
2613
+ }, [table.getRowModel().rows, columnPinning, columnVisibility]);
2614
+ const pinnedColumnIndexes = React.useMemo(() => enableColumnVirtualization && enablePinning
2615
+ ? [
2616
+ ...table.getLeftFlatHeaders().map((h) => h.column.getPinnedIndex()),
2617
+ ...table
2618
+ .getRightFlatHeaders()
2619
+ .map((h) => table.getVisibleFlatColumns().length -
2620
+ h.column.getPinnedIndex() -
2621
+ 1),
2622
+ ]
2623
+ : [], [columnPinning, enableColumnVirtualization, enablePinning]);
2624
+ const columnVirtualizer = enableColumnVirtualization
2625
+ ? reactVirtual.useVirtualizer(Object.assign({ count: table.getRowModel().rows[0].getVisibleCells().length, estimateSize: () => averageColumnWidth, getScrollElement: () => tableContainerRef.current, horizontal: true, measureElement: (element) => element === null || element === void 0 ? void 0 : element.getBoundingClientRect().width, overscan: 3, rangeExtractor: React.useCallback((range) => [
2626
+ ...new Set([
2627
+ ...pinnedColumnIndexes,
2628
+ ...reactVirtual.defaultRangeExtractor(range),
2629
+ ]),
2630
+ ].sort((a, b) => a - b), [pinnedColumnIndexes]) }, vProps))
2631
+ : undefined;
2632
+ if (columnVirtualizerInstanceRef && columnVirtualizer) {
2633
+ columnVirtualizerInstanceRef.current = columnVirtualizer;
2634
+ }
2635
+ const virtualColumns = columnVirtualizer
2636
+ ? columnVirtualizer.getVirtualItems()
2637
+ : undefined;
2638
+ let virtualPaddingLeft;
2639
+ let virtualPaddingRight;
2640
+ if (columnVirtualizer && (virtualColumns === null || virtualColumns === void 0 ? void 0 : virtualColumns.length)) {
2641
+ virtualPaddingLeft = (virtualColumns === null || virtualColumns === void 0 ? void 0 : virtualColumns.length)
2642
+ ? ((_a = virtualColumns[0]) === null || _a === void 0 ? void 0 : _a.start) || 0
2643
+ : 0;
2644
+ virtualPaddingRight = (virtualColumns === null || virtualColumns === void 0 ? void 0 : virtualColumns.length)
2645
+ ? columnVirtualizer.getTotalSize() -
2646
+ (((_b = virtualColumns[virtualColumns.length - 1]) === null || _b === void 0 ? void 0 : _b.end) || 0)
2647
+ : 0;
2648
+ }
2649
+ const props = {
2650
+ table,
2651
+ virtualColumns,
2652
+ virtualPaddingLeft,
2653
+ virtualPaddingRight,
2654
+ };
2655
+ return (React__default["default"].createElement(Table__default["default"], Object.assign({ stickyHeader: enableStickyHeader || isFullScreen }, tableProps, { sx: (theme) => (Object.assign({ display: layoutMode === 'grid' ? 'grid' : 'table', tableLayout: layoutMode !== 'grid' && enableColumnResizing ? 'fixed' : undefined }, ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx) instanceof Function
2548
2656
  ? tableProps.sx(theme)
2549
2657
  : tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx))) }),
2550
- enableTableHead && React__default["default"].createElement(MRT_TableHead, { table: table }),
2551
- memoMode === 'table-body' ? (React__default["default"].createElement(Memo_MRT_TableBody, { table: table })) : (React__default["default"].createElement(MRT_TableBody, { table: table })),
2552
- enableTableFooter && React__default["default"].createElement(MRT_TableFooter, { table: table })));
2658
+ enableTableHead && React__default["default"].createElement(MRT_TableHead, Object.assign({}, props)),
2659
+ memoMode === 'table-body' ? (React__default["default"].createElement(Memo_MRT_TableBody, Object.assign({ columnVirtualizer: columnVirtualizer }, props))) : (React__default["default"].createElement(MRT_TableBody, Object.assign({ columnVirtualizer: columnVirtualizer }, props))),
2660
+ enableTableFooter && React__default["default"].createElement(MRT_TableFooter, Object.assign({}, props))));
2553
2661
  };
2554
2662
 
2555
2663
  const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
@@ -2742,12 +2850,9 @@ const MRT_TableRoot = (props) => {
2742
2850
  ...Array(((_d = (_c = props.state) === null || _c === void 0 ? void 0 : _c.pagination) === null || _d === void 0 ? void 0 : _d.pageSize) ||
2743
2851
  ((_e = initialState === null || initialState === void 0 ? void 0 : initialState.pagination) === null || _e === void 0 ? void 0 : _e.pageSize) ||
2744
2852
  10).fill(null),
2745
- ].map(() => Object.assign({}, ...getAllLeafColumnDefs(props.columns).map((col) => {
2746
- var _a, _b;
2747
- return ({
2748
- [(_b = (_a = col.id) !== null && _a !== void 0 ? _a : col.accessorKey) !== null && _b !== void 0 ? _b : '']: null,
2749
- });
2750
- })))
2853
+ ].map(() => Object.assign({}, ...getAllLeafColumnDefs(props.columns).map((col) => ({
2854
+ [getColumnId(col)]: null,
2855
+ }))))
2751
2856
  : props.data;
2752
2857
  }, [props.data, (_s = props.state) === null || _s === void 0 ? void 0 : _s.isLoading, (_t = props.state) === null || _t === void 0 ? void 0 : _t.showSkeletons]);
2753
2858
  //@ts-ignore
@@ -2896,19 +3001,26 @@ const MRT_Localization_EN = {
2896
3001
  };
2897
3002
 
2898
3003
  const MaterialReactTable = (_a) => {
2899
- var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn, defaultDisplayColumn, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, layoutMode = 'semantic', localization, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnResizeMode", "defaultColumn", "defaultDisplayColumn", "editingMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "layoutMode", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
2900
- const _icons = React.useMemo(() => (Object.assign(Object.assign({}, MRT_Default_Icons), icons)), []);
3004
+ var _b;
3005
+ var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn, defaultDisplayColumn, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, layoutMode = 'semantic', localization, manualFiltering, manualGrouping, manualPagination, manualSorting, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnResizeMode", "defaultColumn", "defaultDisplayColumn", "editingMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "layoutMode", "localization", "manualFiltering", "manualGrouping", "manualPagination", "manualSorting", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
3006
+ const _icons = React.useMemo(() => (Object.assign(Object.assign({}, MRT_Default_Icons), icons)), [icons]);
2901
3007
  const _localization = React.useMemo(() => (Object.assign(Object.assign({}, MRT_Localization_EN), localization)), [localization]);
2902
3008
  const _aggregationFns = React.useMemo(() => (Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns)), []);
2903
3009
  const _filterFns = React.useMemo(() => (Object.assign(Object.assign({}, MRT_FilterFns), filterFns)), []);
2904
3010
  const _sortingFns = React.useMemo(() => (Object.assign(Object.assign({}, MRT_SortingFns), sortingFns)), []);
2905
- const _defaultColumn = React.useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultColumn), defaultColumn)), []);
2906
- const _defaultDisplayColumn = React.useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultDisplayColumn), defaultDisplayColumn)), []);
2907
- if (rest.enableRowVirtualization) {
3011
+ const _defaultColumn = React.useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultColumn), defaultColumn)), [defaultColumn]);
3012
+ const _defaultDisplayColumn = React.useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultDisplayColumn), defaultDisplayColumn)), [defaultDisplayColumn]);
3013
+ if (rest.enableRowVirtualization || rest.enableColumnVirtualization) {
2908
3014
  layoutMode = 'grid';
2909
3015
  enableStickyHeader = true;
2910
3016
  }
2911
- return (React__default["default"].createElement(MRT_TableRoot, Object.assign({ aggregationFns: _aggregationFns, autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: _defaultColumn, defaultDisplayColumn: _defaultDisplayColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: _filterFns, icons: _icons, layoutMode: layoutMode, localization: _localization, positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: _sortingFns }, rest)));
3017
+ if (!((_b = rest.data) === null || _b === void 0 ? void 0 : _b.length)) {
3018
+ manualFiltering = true;
3019
+ manualGrouping = true;
3020
+ manualPagination = true;
3021
+ manualSorting = true;
3022
+ }
3023
+ return (React__default["default"].createElement(MRT_TableRoot, Object.assign({ aggregationFns: _aggregationFns, autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: _defaultColumn, defaultDisplayColumn: _defaultDisplayColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: _filterFns, icons: _icons, layoutMode: layoutMode, localization: _localization, manualFiltering: manualFiltering, manualGrouping: manualGrouping, manualPagination: manualPagination, manualSorting: manualSorting, positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: _sortingFns }, rest)));
2912
3024
  };
2913
3025
 
2914
3026
  exports.MRT_CopyButton = MRT_CopyButton;