material-react-table 0.23.4 → 0.24.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.
@@ -1,4 +1,4 @@
1
- import React, { useMemo, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
1
+ import React, { useMemo, useState, useCallback, Fragment, useRef, useLayoutEffect, useEffect } from 'react';
2
2
  import { ArrowRight, Cancel, CheckBox, ClearAll, Close, DensityLarge, DensityMedium, DensitySmall, DragHandle, DynamicFeed, Edit, ExpandLess, ExpandMore, FilterAlt, FilterAltOff, FilterList, FilterListOff, FullscreenExit, Fullscreen, KeyboardDoubleArrowDown, MoreHoriz, MoreVert, PushPin, RestartAlt, Save, Search, SearchOff, Sort, ViewColumn, VisibilityOff } from '@mui/icons-material';
3
3
  import { filterFns, sortingFns, useReactTable, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel } from '@tanstack/react-table';
4
4
  import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Typography, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, AlertTitle, LinearProgress, useMediaQuery, Toolbar, lighten, alpha, Grow, TableSortLabel, useTheme, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog } from '@mui/material';
@@ -73,6 +73,7 @@ var MRT_DefaultLocalization_EN = {
73
73
  hideColumn: 'Hide {column} column',
74
74
  max: 'Max',
75
75
  min: 'Min',
76
+ move: 'Move',
76
77
  pinToLeft: 'Pin to left',
77
78
  pinToRight: 'Pin to right',
78
79
  resetColumnSize: 'Reset column size',
@@ -414,8 +415,9 @@ var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
414
415
  };
415
416
 
416
417
  var MRT_GrabHandleButton = function MRT_GrabHandleButton(_ref) {
417
- var handleDragStart = _ref.handleDragStart,
418
- handleDragEnd = _ref.handleDragEnd,
418
+ var iconButtonProps = _ref.iconButtonProps,
419
+ onDragEnd = _ref.onDragEnd,
420
+ onDragStart = _ref.onDragStart,
419
421
  table = _ref.table;
420
422
  var _table$options = table.options,
421
423
  DragHandleIcon = _table$options.icons.DragHandleIcon,
@@ -425,14 +427,15 @@ var MRT_GrabHandleButton = function MRT_GrabHandleButton(_ref) {
425
427
  enterDelay: 1000,
426
428
  enterNextDelay: 1000,
427
429
  placement: "top",
428
- title: localization.grab
429
- }, React.createElement(IconButton, {
430
+ title: localization.move
431
+ }, React.createElement(IconButton, Object.assign({
430
432
  disableRipple: true,
431
433
  draggable: "true",
432
- onDragStart: handleDragStart,
433
- onDragEnd: handleDragEnd,
434
- size: "small",
435
- sx: {
434
+ onDragStart: onDragStart,
435
+ onDragEnd: onDragEnd,
436
+ size: "small"
437
+ }, iconButtonProps, {
438
+ sx: _extends({
436
439
  cursor: 'grab',
437
440
  m: 0,
438
441
  opacity: 0.5,
@@ -445,8 +448,8 @@ var MRT_GrabHandleButton = function MRT_GrabHandleButton(_ref) {
445
448
  '&:active': {
446
449
  cursor: 'grabbing'
447
450
  }
448
- }
449
- }, React.createElement(DragHandleIcon, null)));
451
+ }, iconButtonProps == null ? void 0 : iconButtonProps.sx)
452
+ }), React.createElement(DragHandleIcon, null)));
450
453
  };
451
454
 
452
455
  var fuzzy = function fuzzy(row, columnId, filterValue, addMeta) {
@@ -642,16 +645,16 @@ var prepareColumns = function prepareColumns(columnDefs, currentFilterFns) {
642
645
  return columnDef;
643
646
  });
644
647
  };
645
- var reorderColumn = function reorderColumn(movingColumn, receivingColumn, columnOrder) {
646
- if (movingColumn.getCanPin()) {
647
- movingColumn.pin(receivingColumn.getIsPinned());
648
+ var reorderColumn = function reorderColumn(draggedColumn, targetColumn, columnOrder) {
649
+ if (draggedColumn.getCanPin()) {
650
+ draggedColumn.pin(targetColumn.getIsPinned());
648
651
  }
649
652
 
650
- columnOrder.splice(columnOrder.indexOf(receivingColumn.id), 0, columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0]);
653
+ columnOrder.splice(columnOrder.indexOf(targetColumn.id), 0, columnOrder.splice(columnOrder.indexOf(draggedColumn.id), 1)[0]);
651
654
  return [].concat(columnOrder);
652
655
  };
653
656
  var getLeadingDisplayColumnIds = function getLeadingDisplayColumnIds(props) {
654
- return [(props.positionActionsColumn === 'first' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', (props.enableExpanding || props.enableGrouping || props.renderDetailPanel) && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].filter(Boolean);
657
+ return [(props.enableRowDragging || props.enableRowOrdering) && 'mrt-row-drag', (props.positionActionsColumn === 'first' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', (props.enableExpanding || props.enableGrouping || props.renderDetailPanel) && 'mrt-row-expand', props.enableRowSelection && 'mrt-row-select', props.enableRowNumbers && 'mrt-row-numbers'].filter(Boolean);
655
658
  };
656
659
  var getTrailingDisplayColumnIds = function getTrailingDisplayColumnIds(props) {
657
660
  return [(props.positionActionsColumn === 'last' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions'];
@@ -727,7 +730,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
727
730
  };
728
731
 
729
732
  return React.createElement(React.Fragment, null, React.createElement(MenuItem, {
730
- disableRipple: enableColumnOrdering,
733
+ disableRipple: true,
731
734
  ref: menuItemRef,
732
735
  onDragEnter: handleDragEnter,
733
736
  sx: function sx(theme) {
@@ -750,8 +753,8 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
750
753
  }, !isSubMenu && columnDefType !== 'group' && enableColumnOrdering && !allColumns.some(function (col) {
751
754
  return col.columnDef.columnDefType === 'group';
752
755
  }) && (columnDef.enableColumnOrdering !== false ? React.createElement(MRT_GrabHandleButton, {
753
- handleDragEnd: handleDragEnd,
754
- handleDragStart: handleDragStart,
756
+ onDragEnd: handleDragEnd,
757
+ onDragStart: handleDragStart,
755
758
  table: table
756
759
  }) : React.createElement(Box, {
757
760
  sx: {
@@ -993,7 +996,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
993
996
  var handleGroupByColumn = function handleGroupByColumn() {
994
997
  column.toggleGrouping();
995
998
  setColumnOrder(function (old) {
996
- return ['mrt-expand'].concat(old);
999
+ return ['mrt-row-expand'].concat(old);
997
1000
  });
998
1001
  setAnchorEl(null);
999
1002
  };
@@ -1807,7 +1810,7 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1807
1810
  };
1808
1811
 
1809
1812
  var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1810
- var alignTo = _ref.alignTo,
1813
+ var isTopToolbar = _ref.isTopToolbar,
1811
1814
  table = _ref.table;
1812
1815
  var muiLinearProgressProps = table.options.muiLinearProgressProps,
1813
1816
  getState = table.getState;
@@ -1817,6 +1820,7 @@ var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1817
1820
  showProgressBars = _getState.showProgressBars;
1818
1821
 
1819
1822
  var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps({
1823
+ isTopToolbar: isTopToolbar,
1820
1824
  table: table
1821
1825
  }) : muiLinearProgressProps;
1822
1826
  return React.createElement(Collapse, {
@@ -1824,9 +1828,9 @@ var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1824
1828
  mountOnEnter: true,
1825
1829
  unmountOnExit: true,
1826
1830
  sx: {
1827
- bottom: alignTo === 'bottom' ? 0 : undefined,
1831
+ bottom: isTopToolbar ? 0 : undefined,
1828
1832
  position: 'absolute',
1829
- top: alignTo === 'top' ? 0 : undefined,
1833
+ top: !isTopToolbar ? 0 : undefined,
1830
1834
  width: '100%'
1831
1835
  }
1832
1836
  }, React.createElement(LinearProgress, Object.assign({
@@ -1915,7 +1919,7 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1915
1919
  table: table,
1916
1920
  position: "top"
1917
1921
  }), React.createElement(MRT_LinearProgressBar, {
1918
- alignTo: "bottom",
1922
+ isTopToolbar: true,
1919
1923
  table: table
1920
1924
  }));
1921
1925
  };
@@ -1955,7 +1959,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1955
1959
  }, toolbarProps == null ? void 0 : toolbarProps.sx);
1956
1960
  }
1957
1961
  }), React.createElement(MRT_LinearProgressBar, {
1958
- alignTo: "top",
1962
+ isTopToolbar: false,
1959
1963
  table: table
1960
1964
  }), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, {
1961
1965
  table: table
@@ -1985,6 +1989,66 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1985
1989
  }))));
1986
1990
  };
1987
1991
 
1992
+ var MRT_TableHeadCellColumnActionsButton = function MRT_TableHeadCellColumnActionsButton(_ref) {
1993
+ var header = _ref.header,
1994
+ table = _ref.table;
1995
+ var _table$options = table.options,
1996
+ MoreVertIcon = _table$options.icons.MoreVertIcon,
1997
+ localization = _table$options.localization,
1998
+ muiTableHeadCellColumnActionsButtonProps = _table$options.muiTableHeadCellColumnActionsButtonProps;
1999
+ var column = header.column;
2000
+ var columnDef = column.columnDef;
2001
+
2002
+ var _useState = useState(null),
2003
+ anchorEl = _useState[0],
2004
+ setAnchorEl = _useState[1];
2005
+
2006
+ var handleClick = function handleClick(event) {
2007
+ event.stopPropagation();
2008
+ event.preventDefault();
2009
+ setAnchorEl(event.currentTarget);
2010
+ };
2011
+
2012
+ var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps({
2013
+ column: column,
2014
+ table: table
2015
+ }) : muiTableHeadCellColumnActionsButtonProps;
2016
+ var mcTableHeadCellColumnActionsButtonProps = columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? columnDef.muiTableHeadCellColumnActionsButtonProps({
2017
+ column: column,
2018
+ table: table
2019
+ }) : columnDef.muiTableHeadCellColumnActionsButtonProps;
2020
+
2021
+ var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
2022
+
2023
+ return React.createElement(React.Fragment, null, React.createElement(Tooltip, {
2024
+ arrow: true,
2025
+ enterDelay: 1000,
2026
+ enterNextDelay: 1000,
2027
+ placement: "top",
2028
+ title: localization.columnActions
2029
+ }, React.createElement(IconButton, Object.assign({
2030
+ "aria-label": localization.columnActions,
2031
+ onClick: handleClick,
2032
+ size: "small"
2033
+ }, iconButtonProps, {
2034
+ sx: _extends({
2035
+ height: '2rem',
2036
+ mt: '-0.2rem',
2037
+ opacity: 0.5,
2038
+ transition: 'opacity 0.2s',
2039
+ width: '2rem',
2040
+ '&:hover': {
2041
+ opacity: 1
2042
+ }
2043
+ }, iconButtonProps.sx)
2044
+ }), React.createElement(MoreVertIcon, null))), React.createElement(MRT_ColumnActionMenu, {
2045
+ anchorEl: anchorEl,
2046
+ header: header,
2047
+ setAnchorEl: setAnchorEl,
2048
+ table: table
2049
+ }));
2050
+ };
2051
+
1988
2052
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1989
2053
  var _localization$filterB, _columnDef$enabledCol, _localization$clearFi, _columnDef$filterSele;
1990
2054
 
@@ -2283,6 +2347,64 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
2283
2347
  }, React.createElement(FilterAltIcon, null)))));
2284
2348
  };
2285
2349
 
2350
+ var MRT_TableHeadCellGrabHandle = function MRT_TableHeadCellGrabHandle(_ref) {
2351
+ var column = _ref.column,
2352
+ table = _ref.table,
2353
+ tableHeadCellRef = _ref.tableHeadCellRef;
2354
+ var getState = table.getState,
2355
+ _table$options = table.options,
2356
+ enableColumnOrdering = _table$options.enableColumnOrdering,
2357
+ muiTableHeadCellDragHandleProps = _table$options.muiTableHeadCellDragHandleProps,
2358
+ onColumnDrop = _table$options.onColumnDrop,
2359
+ setColumnOrder = table.setColumnOrder,
2360
+ setCurrentDraggingColumn = table.setCurrentDraggingColumn,
2361
+ setCurrentHoveredColumn = table.setCurrentHoveredColumn;
2362
+ var columnDef = column.columnDef;
2363
+
2364
+ var _getState = getState(),
2365
+ currentHoveredColumn = _getState.currentHoveredColumn,
2366
+ currentDraggingColumn = _getState.currentDraggingColumn,
2367
+ columnOrder = _getState.columnOrder;
2368
+
2369
+ var mIconButtonProps = muiTableHeadCellDragHandleProps instanceof Function ? muiTableHeadCellDragHandleProps({
2370
+ column: column,
2371
+ table: table
2372
+ }) : muiTableHeadCellDragHandleProps;
2373
+ var mcIconButtonProps = columnDef.muiTableHeadCellDragHandleProps instanceof Function ? columnDef.muiTableHeadCellDragHandleProps({
2374
+ column: column,
2375
+ table: table
2376
+ }) : columnDef.muiTableHeadCellDragHandleProps;
2377
+
2378
+ var iconButtonProps = _extends({}, mIconButtonProps, mcIconButtonProps);
2379
+
2380
+ var handleDragStart = function handleDragStart(e) {
2381
+ setCurrentDraggingColumn(column);
2382
+ e.dataTransfer.setDragImage(tableHeadCellRef.current, 0, 0);
2383
+ };
2384
+
2385
+ var handleDragEnd = function handleDragEnd(event) {
2386
+ onColumnDrop == null ? void 0 : onColumnDrop({
2387
+ event: event,
2388
+ draggedColumn: column,
2389
+ targetColumn: currentHoveredColumn
2390
+ });
2391
+
2392
+ if (enableColumnOrdering && currentHoveredColumn && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) !== (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id)) {
2393
+ setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
2394
+ }
2395
+
2396
+ setCurrentDraggingColumn(null);
2397
+ setCurrentHoveredColumn(null);
2398
+ };
2399
+
2400
+ return React.createElement(MRT_GrabHandleButton, {
2401
+ iconButtonProps: iconButtonProps,
2402
+ onDragStart: handleDragStart,
2403
+ onDragEnd: handleDragEnd,
2404
+ table: table
2405
+ });
2406
+ };
2407
+
2286
2408
  var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref) {
2287
2409
  var _getState$columnSizin;
2288
2410
 
@@ -2354,66 +2476,6 @@ var MRT_TableHeadCellSortLabel = function MRT_TableHeadCellSortLabel(_ref) {
2354
2476
  }));
2355
2477
  };
2356
2478
 
2357
- var MRT_TableHeadCellColumnActionsButton = function MRT_TableHeadCellColumnActionsButton(_ref) {
2358
- var header = _ref.header,
2359
- table = _ref.table;
2360
- var _table$options = table.options,
2361
- MoreVertIcon = _table$options.icons.MoreVertIcon,
2362
- localization = _table$options.localization,
2363
- muiTableHeadCellColumnActionsButtonProps = _table$options.muiTableHeadCellColumnActionsButtonProps;
2364
- var column = header.column;
2365
- var columnDef = column.columnDef;
2366
-
2367
- var _useState = useState(null),
2368
- anchorEl = _useState[0],
2369
- setAnchorEl = _useState[1];
2370
-
2371
- var handleClick = function handleClick(event) {
2372
- event.stopPropagation();
2373
- event.preventDefault();
2374
- setAnchorEl(event.currentTarget);
2375
- };
2376
-
2377
- var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps({
2378
- column: column,
2379
- table: table
2380
- }) : muiTableHeadCellColumnActionsButtonProps;
2381
- var mcTableHeadCellColumnActionsButtonProps = columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? columnDef.muiTableHeadCellColumnActionsButtonProps({
2382
- column: column,
2383
- table: table
2384
- }) : columnDef.muiTableHeadCellColumnActionsButtonProps;
2385
-
2386
- var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
2387
-
2388
- return React.createElement(React.Fragment, null, React.createElement(Tooltip, {
2389
- arrow: true,
2390
- enterDelay: 1000,
2391
- enterNextDelay: 1000,
2392
- placement: "top",
2393
- title: localization.columnActions
2394
- }, React.createElement(IconButton, Object.assign({
2395
- "aria-label": localization.columnActions,
2396
- onClick: handleClick,
2397
- size: "small"
2398
- }, iconButtonProps, {
2399
- sx: _extends({
2400
- height: '2rem',
2401
- mt: '-0.2rem',
2402
- opacity: 0.5,
2403
- transition: 'opacity 0.2s',
2404
- width: '2rem',
2405
- '&:hover': {
2406
- opacity: 1
2407
- }
2408
- }, iconButtonProps.sx)
2409
- }), React.createElement(MoreVertIcon, null))), React.createElement(MRT_ColumnActionMenu, {
2410
- anchorEl: anchorEl,
2411
- header: header,
2412
- setAnchorEl: setAnchorEl,
2413
- table: table
2414
- }));
2415
- };
2416
-
2417
2479
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2418
2480
  var _ref2, _columnDef$header$len, _columnDef$header;
2419
2481
 
@@ -2423,17 +2485,15 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2423
2485
  var getState = table.getState,
2424
2486
  _table$options = table.options,
2425
2487
  enableColumnActions = _table$options.enableColumnActions,
2488
+ enableColumnDragging = _table$options.enableColumnDragging,
2426
2489
  enableColumnOrdering = _table$options.enableColumnOrdering,
2427
2490
  enableColumnResizing = _table$options.enableColumnResizing,
2428
2491
  enableGrouping = _table$options.enableGrouping,
2429
2492
  enableMultiSort = _table$options.enableMultiSort,
2430
2493
  muiTableHeadCellProps = _table$options.muiTableHeadCellProps,
2431
- setColumnOrder = table.setColumnOrder,
2432
- setCurrentDraggingColumn = table.setCurrentDraggingColumn,
2433
2494
  setCurrentHoveredColumn = table.setCurrentHoveredColumn;
2434
2495
 
2435
2496
  var _getState = getState(),
2436
- columnOrder = _getState.columnOrder,
2437
2497
  density = _getState.density,
2438
2498
  currentDraggingColumn = _getState.currentDraggingColumn,
2439
2499
  currentHoveredColumn = _getState.currentHoveredColumn;
@@ -2469,28 +2529,13 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2469
2529
  return (table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2470
2530
  };
2471
2531
 
2472
- var tableHeadCellRef = React.useRef(null);
2473
-
2474
- var handleDragStart = function handleDragStart(e) {
2475
- setCurrentDraggingColumn(column);
2476
- e.dataTransfer.setDragImage(tableHeadCellRef.current, 0, 0);
2477
- };
2478
-
2479
- var handleDragEnd = function handleDragEnd(_e) {
2480
- setCurrentDraggingColumn(null);
2481
- setCurrentHoveredColumn(null);
2482
-
2483
- if (currentHoveredColumn && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) !== (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id)) {
2484
- setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
2485
- }
2486
- };
2487
-
2488
2532
  var handleDragEnter = function handleDragEnter(_e) {
2489
- if (currentDraggingColumn) {
2533
+ if (enableColumnOrdering && currentDraggingColumn) {
2490
2534
  setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
2491
2535
  }
2492
2536
  };
2493
2537
 
2538
+ var tableHeadCellRef = React.useRef(null);
2494
2539
  var draggingBorder = (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id ? "1px dashed " + theme.palette.divider : (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? "2px dashed " + theme.palette.primary.main : undefined;
2495
2540
  var draggingBorders = draggingBorder ? {
2496
2541
  borderLeft: draggingBorder,
@@ -2556,10 +2601,10 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2556
2601
  sx: {
2557
2602
  whiteSpace: 'nowrap'
2558
2603
  }
2559
- }, columnDefType === 'data' && (enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React.createElement(MRT_GrabHandleButton, {
2560
- handleDragStart: handleDragStart,
2561
- handleDragEnd: handleDragEnd,
2562
- table: table
2604
+ }, columnDefType === 'data' && (enableColumnDragging && columnDef.enableColumnDragging !== false || enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React.createElement(MRT_TableHeadCellGrabHandle, {
2605
+ column: column,
2606
+ table: table,
2607
+ tableHeadCellRef: tableHeadCellRef
2563
2608
  }), (enableColumnActions || columnDef.enableColumnActions) && columnDef.enableColumnActions !== false && columnDefType !== 'group' && React.createElement(MRT_TableHeadCellColumnActionsButton, {
2564
2609
  header: header,
2565
2610
  table: table
@@ -2761,18 +2806,55 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2761
2806
  }), children));
2762
2807
  };
2763
2808
 
2809
+ var MRT_TableBodyRowGrabHandle = function MRT_TableBodyRowGrabHandle(_ref) {
2810
+ var cell = _ref.cell,
2811
+ rowRef = _ref.rowRef,
2812
+ table = _ref.table;
2813
+ var _table$options = table.options,
2814
+ muiTableBodyRowDragHandleProps = _table$options.muiTableBodyRowDragHandleProps,
2815
+ onRowDrop = _table$options.onRowDrop;
2816
+ var iconButtonProps = muiTableBodyRowDragHandleProps instanceof Function ? muiTableBodyRowDragHandleProps({
2817
+ row: cell.row,
2818
+ table: table
2819
+ }) : muiTableBodyRowDragHandleProps;
2820
+
2821
+ var handleDragStart = function handleDragStart(e) {
2822
+ e.dataTransfer.setDragImage(rowRef.current, 0, 0);
2823
+ table.setCurrentDraggingRow(cell.row);
2824
+ };
2825
+
2826
+ var handleDragEnd = function handleDragEnd(event) {
2827
+ onRowDrop == null ? void 0 : onRowDrop({
2828
+ event: event,
2829
+ draggedRow: table.getState().currentDraggingRow,
2830
+ targetRow: table.getState().currentHoveredRow
2831
+ });
2832
+ table.setCurrentDraggingRow(null);
2833
+ table.setCurrentHoveredRow(null);
2834
+ };
2835
+
2836
+ return React.createElement(MRT_GrabHandleButton, {
2837
+ iconButtonProps: iconButtonProps,
2838
+ onDragStart: handleDragStart,
2839
+ onDragEnd: handleDragEnd,
2840
+ table: table
2841
+ });
2842
+ };
2843
+
2764
2844
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2765
2845
  var _columnDef$Cell, _row$subRows, _columnDef$Cell2, _row$subRows$length, _row$subRows2;
2766
2846
 
2767
2847
  var cell = _ref.cell,
2768
2848
  enableHover = _ref.enableHover,
2769
2849
  rowIndex = _ref.rowIndex,
2850
+ rowRef = _ref.rowRef,
2770
2851
  table = _ref.table;
2771
2852
  var theme = useTheme();
2772
2853
  var getState = table.getState,
2773
2854
  _table$options = table.options,
2774
2855
  editingMode = _table$options.editingMode,
2775
2856
  enableClickToCopy = _table$options.enableClickToCopy,
2857
+ enableColumnOrdering = _table$options.enableColumnOrdering,
2776
2858
  enableEditing = _table$options.enableEditing,
2777
2859
  enableRowNumbers = _table$options.enableRowNumbers,
2778
2860
  muiTableBodyCellProps = _table$options.muiTableBodyCellProps,
@@ -2839,7 +2921,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2839
2921
  };
2840
2922
 
2841
2923
  var handleDragEnter = function handleDragEnter(_e) {
2842
- if (currentDraggingColumn) {
2924
+ if (enableColumnOrdering && currentDraggingColumn) {
2843
2925
  setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
2844
2926
  }
2845
2927
  };
@@ -2847,7 +2929,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2847
2929
  var draggingBorder = (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id ? "1px dashed " + theme.palette.divider : (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? "2px dashed " + theme.palette.primary.main : undefined;
2848
2930
  var draggingBorders = draggingBorder ? {
2849
2931
  borderLeft: draggingBorder,
2850
- borderRight: draggingBorder
2932
+ borderRight: draggingBorder,
2933
+ borderBottom: row.index === table.getRowModel().rows.length - 1 ? draggingBorder : undefined
2851
2934
  } : undefined;
2852
2935
  return React.createElement(TableCell, Object.assign({
2853
2936
  onDoubleClick: handleDoubleClick,
@@ -2864,7 +2947,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2864
2947
  opacity: (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id || (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? 0.5 : 1,
2865
2948
  overflow: 'hidden',
2866
2949
  p: density === 'compact' ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : density === 'comfortable' ? columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem' : columnDefType === 'display' ? '1rem 1.25rem' : '1.5rem',
2867
- pl: column.id === 'mrt-expand' ? row.depth + (density === 'compact' ? 0.5 : density === 'comfortable' ? 0.75 : 1.25) + "rem" : undefined,
2950
+ pl: column.id === 'mrt-row-expand' ? row.depth + (density === 'compact' ? 0.5 : density === 'comfortable' ? 0.75 : 1.25) + "rem" : undefined,
2868
2951
  position: column.getIsPinned() ? 'sticky' : 'relative',
2869
2952
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2870
2953
  textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,
@@ -2884,7 +2967,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2884
2967
  animation: "wave",
2885
2968
  height: 20,
2886
2969
  width: skeletonWidth
2887
- }, muiTableBodyCellSkeletonProps)) : enableRowNumbers && rowNumberMode === 'static' && column.id === 'mrt-row-numbers' ? rowIndex + 1 : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
2970
+ }, muiTableBodyCellSkeletonProps)) : enableRowNumbers && rowNumberMode === 'static' && column.id === 'mrt-row-numbers' ? rowIndex + 1 : column.id === 'mrt-row-drag' ? React.createElement(MRT_TableBodyRowGrabHandle, {
2971
+ cell: cell,
2972
+ rowRef: rowRef,
2973
+ table: table
2974
+ }) : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
2888
2975
  cell: cell,
2889
2976
  table: table
2890
2977
  }) : isEditing ? React.createElement(MRT_EditCellTextField, {
@@ -2942,26 +3029,50 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2942
3029
  var row = _ref.row,
2943
3030
  rowIndex = _ref.rowIndex,
2944
3031
  table = _ref.table;
3032
+ var theme = useTheme();
2945
3033
  var getIsSomeColumnsPinned = table.getIsSomeColumnsPinned,
3034
+ getState = table.getState,
2946
3035
  _table$options = table.options,
3036
+ enableRowOrdering = _table$options.enableRowOrdering,
2947
3037
  muiTableBodyRowProps = _table$options.muiTableBodyRowProps,
2948
- renderDetailPanel = _table$options.renderDetailPanel;
3038
+ renderDetailPanel = _table$options.renderDetailPanel,
3039
+ setCurrentHoveredRow = table.setCurrentHoveredRow;
3040
+
3041
+ var _getState = getState(),
3042
+ currentDraggingRow = _getState.currentDraggingRow,
3043
+ currentHoveredRow = _getState.currentHoveredRow;
3044
+
2949
3045
  var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2950
3046
  row: row,
2951
3047
  table: table
2952
3048
  }) : muiTableBodyRowProps;
3049
+
3050
+ var handleDragEnter = function handleDragEnter(_e) {
3051
+ if (enableRowOrdering && currentDraggingRow) {
3052
+ setCurrentHoveredRow(row);
3053
+ }
3054
+ };
3055
+
3056
+ var rowRef = useRef(null);
3057
+ var draggingBorder = (currentDraggingRow == null ? void 0 : currentDraggingRow.id) === row.id ? "1px dashed " + theme.palette.divider : (currentHoveredRow == null ? void 0 : currentHoveredRow.id) === row.id ? "2px dashed " + theme.palette.primary.main : undefined;
3058
+ var draggingBorders = draggingBorder ? {
3059
+ border: draggingBorder
3060
+ } : undefined;
2953
3061
  return React.createElement(React.Fragment, null, React.createElement(TableRow, Object.assign({
3062
+ onDragEnter: handleDragEnter,
2954
3063
  hover: true,
2955
- selected: row.getIsSelected()
3064
+ selected: row.getIsSelected(),
3065
+ ref: rowRef
2956
3066
  }, tableRowProps, {
2957
3067
  sx: function sx(theme) {
2958
3068
  return _extends({
2959
3069
  backgroundColor: lighten(theme.palette.background["default"], 0.06),
3070
+ opacity: (currentDraggingRow == null ? void 0 : currentDraggingRow.id) === row.id || (currentHoveredRow == null ? void 0 : currentHoveredRow.id) === row.id ? 0.5 : 1,
2960
3071
  transition: 'all 0.2s ease-in-out',
2961
3072
  '&:hover td': {
2962
3073
  backgroundColor: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false && getIsSomeColumnsPinned() ? theme.palette.mode === 'dark' ? "" + lighten(theme.palette.background["default"], 0.12) : "" + darken(theme.palette.background["default"], 0.05) : undefined
2963
3074
  }
2964
- }, tableRowProps == null ? void 0 : tableRowProps.sx);
3075
+ }, tableRowProps == null ? void 0 : tableRowProps.sx, draggingBorders);
2965
3076
  }
2966
3077
  }), row == null ? void 0 : (_row$getVisibleCells = row.getVisibleCells()) == null ? void 0 : _row$getVisibleCells.map == null ? void 0 : _row$getVisibleCells.map(function (cell) {
2967
3078
  return React.createElement(MRT_TableBodyCell, {
@@ -2969,6 +3080,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2969
3080
  key: cell.id,
2970
3081
  enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
2971
3082
  rowIndex: rowIndex,
3083
+ rowRef: rowRef,
2972
3084
  table: table
2973
3085
  });
2974
3086
  })), renderDetailPanel && !row.getIsGrouped() && React.createElement(MRT_TableDetailPanel, {
@@ -3269,7 +3381,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
3269
3381
  };
3270
3382
 
3271
3383
  var MRT_TableRoot = function MRT_TableRoot(props) {
3272
- var _initialState$columnO, _initialState$current, _initialState$current2, _initialState$density, _initialState$isFullS, _props$initialState$s, _props$initialState2, _initialState$showCol, _initialState$showGlo, _props$state3, _props$state4, _MRT_FilterFns$curren, _props$onCurrentDragg, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onCurrentHover, _props$onDensityChang, _props$onIsFullScreen, _props$onShowAlertBan, _props$onShowFiltersC, _props$onShowGlobalFi;
3384
+ var _initialState$columnO, _initialState$current, _initialState$current2, _initialState$density, _initialState$isFullS, _props$initialState$s, _props$initialState2, _initialState$showCol, _initialState$showGlo, _props$state3, _props$state4, _MRT_FilterFns$curren, _props$onCurrentDragg, _props$onCurrentDragg2, _props$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onCurrentHover, _props$onCurrentHover2, _props$onDensityChang, _props$onIsFullScreen, _props$onShowAlertBan, _props$onShowFiltersC, _props$onShowGlobalFi;
3273
3385
 
3274
3386
  var _useState = useState(props.tableId),
3275
3387
  tableId = _useState[0],
@@ -3292,60 +3404,75 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3292
3404
  columnOrder = _useState2[0],
3293
3405
  setColumnOrder = _useState2[1];
3294
3406
 
3295
- var _useState3 = useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
3296
- currentEditingCell = _useState3[0],
3297
- setCurrentEditingCell = _useState3[1];
3407
+ var _useState3 = useState(null),
3408
+ currentDraggingColumn = _useState3[0],
3409
+ setCurrentDraggingColumn = _useState3[1];
3298
3410
 
3299
- var _useState4 = useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
3300
- currentEditingRow = _useState4[0],
3301
- setCurrentEditingRow = _useState4[1];
3411
+ var _useState4 = useState(null),
3412
+ currentDraggingRow = _useState4[0],
3413
+ setCurrentDraggingRow = _useState4[1];
3302
3414
 
3303
- var _useState5 = useState(null),
3304
- currentDraggingColumn = _useState5[0],
3305
- setCurrentDraggingColumn = _useState5[1];
3415
+ var _useState5 = useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
3416
+ currentEditingCell = _useState5[0],
3417
+ setCurrentEditingCell = _useState5[1];
3306
3418
 
3307
- var _useState6 = useState(null),
3308
- currentHoveredColumn = _useState6[0],
3309
- setCurrentHoveredColumn = _useState6[1];
3419
+ var _useState6 = useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
3420
+ currentEditingRow = _useState6[0],
3421
+ setCurrentEditingRow = _useState6[1];
3310
3422
 
3311
- var _useState7 = useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
3312
- density = _useState7[0],
3313
- setDensity = _useState7[1];
3423
+ var _useState7 = useState(null),
3424
+ currentHoveredColumn = _useState7[0],
3425
+ setCurrentHoveredColumn = _useState7[1];
3314
3426
 
3315
- var _useState8 = useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
3316
- isFullScreen = _useState8[0],
3317
- setIsFullScreen = _useState8[1];
3427
+ var _useState8 = useState(null),
3428
+ currentHoveredRow = _useState8[0],
3429
+ setCurrentHoveredRow = _useState8[1];
3318
3430
 
3319
- var _useState9 = useState((_props$initialState$s = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.showAlertBanner) != null ? _props$initialState$s : false),
3320
- showAlertBanner = _useState9[0],
3321
- setShowAlertBanner = _useState9[1];
3431
+ var _useState9 = useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
3432
+ density = _useState9[0],
3433
+ setDensity = _useState9[1];
3322
3434
 
3323
- var _useState10 = useState((_initialState$showCol = initialState == null ? void 0 : initialState.showColumnFilters) != null ? _initialState$showCol : false),
3324
- showColumnFilters = _useState10[0],
3325
- setShowFilters = _useState10[1];
3435
+ var _useState10 = useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
3436
+ isFullScreen = _useState10[0],
3437
+ setIsFullScreen = _useState10[1];
3326
3438
 
3327
- var _useState11 = useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
3328
- showGlobalFilter = _useState11[0],
3329
- setShowGlobalFilter = _useState11[1];
3439
+ var _useState11 = useState((_props$initialState$s = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.showAlertBanner) != null ? _props$initialState$s : false),
3440
+ showAlertBanner = _useState11[0],
3441
+ setShowAlertBanner = _useState11[1];
3330
3442
 
3331
- var _useState12 = useState(function () {
3443
+ var _useState12 = useState((_initialState$showCol = initialState == null ? void 0 : initialState.showColumnFilters) != null ? _initialState$showCol : false),
3444
+ showColumnFilters = _useState12[0],
3445
+ setShowFilters = _useState12[1];
3446
+
3447
+ var _useState13 = useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
3448
+ showGlobalFilter = _useState13[0],
3449
+ setShowGlobalFilter = _useState13[1];
3450
+
3451
+ var _useState14 = useState(function () {
3332
3452
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (col) {
3333
3453
  var _ref, _col$id$toString, _col$id, _col$accessorKey, _col$filterFn$name, _ref2, _col$filterFn, _initialState$current3, _ref3, _col$id$toString2, _col$id2, _col$accessorKey2, _col$filterSelectOpti, _ref4;
3334
3454
 
3335
3455
  return _ref4 = {}, _ref4[(_ref = (_col$id$toString = (_col$id = col.id) == null ? void 0 : _col$id.toString()) != null ? _col$id$toString : (_col$accessorKey = col.accessorKey) == null ? void 0 : _col$accessorKey.toString()) != null ? _ref : ''] = col.filterFn instanceof Function ? (_col$filterFn$name = col.filterFn.name) != null ? _col$filterFn$name : 'custom' : (_ref2 = (_col$filterFn = col.filterFn) != null ? _col$filterFn : initialState == null ? void 0 : (_initialState$current3 = initialState.currentFilterFns) == null ? void 0 : _initialState$current3[(_ref3 = (_col$id$toString2 = (_col$id2 = col.id) == null ? void 0 : _col$id2.toString()) != null ? _col$id$toString2 : (_col$accessorKey2 = col.accessorKey) == null ? void 0 : _col$accessorKey2.toString()) != null ? _ref3 : '']) != null ? _ref2 : !!((_col$filterSelectOpti = col.filterSelectOptions) != null && _col$filterSelectOpti.length) ? 'equals' : 'fuzzy', _ref4;
3336
3456
  })));
3337
3457
  }),
3338
- currentFilterFns = _useState12[0],
3339
- setCurrentFilterFns = _useState12[1];
3458
+ currentFilterFns = _useState14[0],
3459
+ setCurrentFilterFns = _useState14[1];
3340
3460
 
3341
- var _useState13 = useState(props.globalFilterFn instanceof String ? props.globalFilterFn : 'fuzzy'),
3342
- currentGlobalFilterFn = _useState13[0],
3343
- setCurrentGlobalFilterFn = _useState13[1];
3461
+ var _useState15 = useState(props.globalFilterFn instanceof String ? props.globalFilterFn : 'fuzzy'),
3462
+ currentGlobalFilterFn = _useState15[0],
3463
+ setCurrentGlobalFilterFn = _useState15[1];
3344
3464
 
3345
3465
  var displayColumns = useMemo(function () {
3346
- var _props$localization, _props$localization2, _props$localization3, _props$localization5;
3466
+ var _props$localization, _props$localization2, _props$localization3, _props$localization4, _props$localization6;
3347
3467
 
3348
- return [columnOrder.includes('mrt-row-actions') && {
3468
+ return [columnOrder.includes('mrt-row-drag') && {
3469
+ columnDefType: 'display',
3470
+ header: (_props$localization = props.localization) == null ? void 0 : _props$localization.move,
3471
+ id: 'mrt-row-drag',
3472
+ muiTableBodyCellProps: props.muiTableBodyCellProps,
3473
+ muiTableHeadCellProps: props.muiTableHeadCellProps,
3474
+ size: 60
3475
+ }, columnOrder.includes('mrt-row-actions') && {
3349
3476
  Cell: function Cell(_ref5) {
3350
3477
  var cell = _ref5.cell;
3351
3478
  return React.createElement(MRT_ToggleRowActionMenuButton, {
@@ -3354,12 +3481,12 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3354
3481
  });
3355
3482
  },
3356
3483
  columnDefType: 'display',
3357
- header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
3484
+ header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.actions,
3358
3485
  id: 'mrt-row-actions',
3359
3486
  muiTableBodyCellProps: props.muiTableBodyCellProps,
3360
3487
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3361
3488
  size: 70
3362
- }, columnOrder.includes('mrt-expand') && {
3489
+ }, columnOrder.includes('mrt-row-expand') && {
3363
3490
  Cell: function Cell(_ref6) {
3364
3491
  var cell = _ref6.cell;
3365
3492
  return React.createElement(MRT_ExpandButton, {
@@ -3373,12 +3500,12 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3373
3500
  }) : null;
3374
3501
  },
3375
3502
  columnDefType: 'display',
3376
- header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.expand,
3377
- id: 'mrt-expand',
3503
+ header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.expand,
3504
+ id: 'mrt-row-expand',
3378
3505
  muiTableBodyCellProps: props.muiTableBodyCellProps,
3379
3506
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3380
3507
  size: 60
3381
- }, columnOrder.includes('mrt-select') && {
3508
+ }, columnOrder.includes('mrt-row-select') && {
3382
3509
  Cell: function Cell(_ref7) {
3383
3510
  var cell = _ref7.cell;
3384
3511
  return React.createElement(MRT_SelectCheckbox, {
@@ -3393,8 +3520,8 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3393
3520
  }) : null;
3394
3521
  },
3395
3522
  columnDefType: 'display',
3396
- header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.select,
3397
- id: 'mrt-select',
3523
+ header: (_props$localization4 = props.localization) == null ? void 0 : _props$localization4.select,
3524
+ id: 'mrt-row-select',
3398
3525
  muiTableBodyCellProps: props.muiTableBodyCellProps,
3399
3526
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3400
3527
  size: 60
@@ -3404,18 +3531,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3404
3531
  return cell.row.index + 1;
3405
3532
  },
3406
3533
  Header: function Header() {
3407
- var _props$localization4;
3534
+ var _props$localization5;
3408
3535
 
3409
- return (_props$localization4 = props.localization) == null ? void 0 : _props$localization4.rowNumber;
3536
+ return (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumber;
3410
3537
  },
3411
3538
  columnDefType: 'display',
3412
- header: (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumbers,
3539
+ header: (_props$localization6 = props.localization) == null ? void 0 : _props$localization6.rowNumbers,
3413
3540
  id: 'mrt-row-numbers',
3414
3541
  muiTableBodyCellProps: props.muiTableBodyCellProps,
3415
3542
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3416
3543
  size: 60
3417
3544
  }].filter(Boolean);
3418
- }, [columnOrder, props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn]);
3545
+ }, [columnOrder, props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowOrdering, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn]);
3419
3546
  var columnDefs = useMemo(function () {
3420
3547
  return prepareColumns([].concat(displayColumns, props.columns), currentFilterFns);
3421
3548
  }, [currentFilterFns, displayColumns, props.columns]);
@@ -3453,11 +3580,13 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3453
3580
  state: _extends({
3454
3581
  columnOrder: columnOrder,
3455
3582
  currentDraggingColumn: currentDraggingColumn,
3583
+ currentDraggingRow: currentDraggingRow,
3456
3584
  currentEditingCell: currentEditingCell,
3457
3585
  currentEditingRow: currentEditingRow,
3458
3586
  currentFilterFns: currentFilterFns,
3459
3587
  currentGlobalFilterFn: currentGlobalFilterFn,
3460
3588
  currentHoveredColumn: currentHoveredColumn,
3589
+ currentHoveredRow: currentHoveredRow,
3461
3590
  density: density,
3462
3591
  isFullScreen: isFullScreen,
3463
3592
  showAlertBanner: showAlertBanner,
@@ -3467,11 +3596,13 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3467
3596
  tableId: tableId
3468
3597
  })), {
3469
3598
  setCurrentDraggingColumn: (_props$onCurrentDragg = props.onCurrentDraggingColumnChange) != null ? _props$onCurrentDragg : setCurrentDraggingColumn,
3599
+ setCurrentDraggingRow: (_props$onCurrentDragg2 = props.onCurrentDraggingRowChange) != null ? _props$onCurrentDragg2 : setCurrentDraggingRow,
3470
3600
  setCurrentEditingCell: (_props$onCurrentEditi = props.onCurrentEditingCellChange) != null ? _props$onCurrentEditi : setCurrentEditingCell,
3471
3601
  setCurrentEditingRow: (_props$onCurrentEditi2 = props.onCurrentEditingRowChange) != null ? _props$onCurrentEditi2 : setCurrentEditingRow,
3472
3602
  setCurrentFilterFns: (_props$onCurrentFilte = props.onCurrentFilterFnsChange) != null ? _props$onCurrentFilte : setCurrentFilterFns,
3473
3603
  setCurrentGlobalFilterFn: (_props$onCurrentGloba = props.onCurrentGlobalFilterFnChange) != null ? _props$onCurrentGloba : setCurrentGlobalFilterFn,
3474
3604
  setCurrentHoveredColumn: (_props$onCurrentHover = props.onCurrentHoveredColumnChange) != null ? _props$onCurrentHover : setCurrentHoveredColumn,
3605
+ setCurrentHoveredRow: (_props$onCurrentHover2 = props.onCurrentHoveredRowChange) != null ? _props$onCurrentHover2 : setCurrentHoveredRow,
3475
3606
  setDensity: (_props$onDensityChang = props.onDensityChange) != null ? _props$onDensityChang : setDensity,
3476
3607
  setIsFullScreen: (_props$onIsFullScreen = props.onIsFullScreenChange) != null ? _props$onIsFullScreen : setIsFullScreen,
3477
3608
  setShowAlertBanner: (_props$onShowAlertBan = props.onShowAlertBannerChange) != null ? _props$onShowAlertBan : setShowAlertBanner,
@@ -3498,16 +3629,6 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3498
3629
  };
3499
3630
 
3500
3631
  var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "positionActionsColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
3501
- /**
3502
- * `columns` and `data` props are the only required props, but there are over 150 other optional props.
3503
- *
3504
- * See more info on creating columns and data on the official docs site:
3505
- * @link https://www.material-react-table.com/docs/usage
3506
- *
3507
- * See the full props list on the official docs site:
3508
- * @link https://www.material-react-table.com/docs/api/props
3509
- */
3510
-
3511
3632
  var MaterialReactTable = (function (_ref) {
3512
3633
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3513
3634
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,