material-react-table 0.23.3 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. package/README.md +13 -1
  2. package/dist/MaterialReactTable.d.ts +48 -16
  3. package/dist/body/MRT_TableBodyCell.d.ts +2 -1
  4. package/dist/body/MRT_TableBodyRowGrabHandle.d.ts +9 -0
  5. package/dist/buttons/MRT_GrabHandleButton.d.ts +4 -2
  6. package/dist/head/MRT_TableHeadCellGrabHandle.d.ts +9 -0
  7. package/dist/localization.d.ts +1 -0
  8. package/dist/material-react-table.cjs.development.js +293 -172
  9. package/dist/material-react-table.cjs.development.js.map +1 -1
  10. package/dist/material-react-table.cjs.production.min.js +1 -1
  11. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  12. package/dist/material-react-table.esm.js +294 -173
  13. package/dist/material-react-table.esm.js.map +1 -1
  14. package/dist/toolbar/MRT_LinearProgressBar.d.ts +1 -1
  15. package/dist/utils.d.ts +1 -1
  16. package/package.json +3 -3
  17. package/src/MaterialReactTable.tsx +71 -14
  18. package/src/body/MRT_TableBodyCell.tsx +17 -3
  19. package/src/body/MRT_TableBodyRow.tsx +37 -3
  20. package/src/body/MRT_TableBodyRowGrabHandle.tsx +48 -0
  21. package/src/buttons/MRT_GrabHandleButton.tsx +12 -8
  22. package/src/head/MRT_TableHeadCell.tsx +14 -31
  23. package/src/head/MRT_TableHeadCellGrabHandle.tsx +77 -0
  24. package/src/localization.ts +2 -0
  25. package/src/menus/MRT_ColumnActionMenu.tsx +1 -1
  26. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +3 -3
  27. package/src/table/MRT_TableRoot.tsx +25 -6
  28. package/src/toolbar/MRT_LinearProgressBar.tsx +5 -5
  29. package/src/toolbar/MRT_ToolbarBottom.tsx +1 -1
  30. package/src/toolbar/MRT_ToolbarTop.tsx +1 -1
  31. package/src/utils.ts +9 -8
@@ -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,