material-react-table 0.23.5 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -80,6 +80,7 @@ var MRT_DefaultLocalization_EN = {
80
80
  hideColumn: 'Hide {column} column',
81
81
  max: 'Max',
82
82
  min: 'Min',
83
+ move: 'Move',
83
84
  pinToLeft: 'Pin to left',
84
85
  pinToRight: 'Pin to right',
85
86
  resetColumnSize: 'Reset column size',
@@ -421,8 +422,9 @@ var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
421
422
  };
422
423
 
423
424
  var MRT_GrabHandleButton = function MRT_GrabHandleButton(_ref) {
424
- var handleDragStart = _ref.handleDragStart,
425
- handleDragEnd = _ref.handleDragEnd,
425
+ var iconButtonProps = _ref.iconButtonProps,
426
+ onDragEnd = _ref.onDragEnd,
427
+ onDragStart = _ref.onDragStart,
426
428
  table = _ref.table;
427
429
  var _table$options = table.options,
428
430
  DragHandleIcon = _table$options.icons.DragHandleIcon,
@@ -432,14 +434,15 @@ var MRT_GrabHandleButton = function MRT_GrabHandleButton(_ref) {
432
434
  enterDelay: 1000,
433
435
  enterNextDelay: 1000,
434
436
  placement: "top",
435
- title: localization.grab
436
- }, React__default.createElement(material.IconButton, {
437
+ title: localization.move
438
+ }, React__default.createElement(material.IconButton, Object.assign({
437
439
  disableRipple: true,
438
440
  draggable: "true",
439
- onDragStart: handleDragStart,
440
- onDragEnd: handleDragEnd,
441
- size: "small",
442
- sx: {
441
+ onDragStart: onDragStart,
442
+ onDragEnd: onDragEnd,
443
+ size: "small"
444
+ }, iconButtonProps, {
445
+ sx: _extends({
443
446
  cursor: 'grab',
444
447
  m: 0,
445
448
  opacity: 0.5,
@@ -452,8 +455,8 @@ var MRT_GrabHandleButton = function MRT_GrabHandleButton(_ref) {
452
455
  '&:active': {
453
456
  cursor: 'grabbing'
454
457
  }
455
- }
456
- }, React__default.createElement(DragHandleIcon, null)));
458
+ }, iconButtonProps == null ? void 0 : iconButtonProps.sx)
459
+ }), React__default.createElement(DragHandleIcon, null)));
457
460
  };
458
461
 
459
462
  var fuzzy = function fuzzy(row, columnId, filterValue, addMeta) {
@@ -649,16 +652,16 @@ var prepareColumns = function prepareColumns(columnDefs, currentFilterFns) {
649
652
  return columnDef;
650
653
  });
651
654
  };
652
- var reorderColumn = function reorderColumn(movingColumn, receivingColumn, columnOrder) {
653
- if (movingColumn.getCanPin()) {
654
- movingColumn.pin(receivingColumn.getIsPinned());
655
+ var reorderColumn = function reorderColumn(draggedColumn, targetColumn, columnOrder) {
656
+ if (draggedColumn.getCanPin()) {
657
+ draggedColumn.pin(targetColumn.getIsPinned());
655
658
  }
656
659
 
657
- columnOrder.splice(columnOrder.indexOf(receivingColumn.id), 0, columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0]);
660
+ columnOrder.splice(columnOrder.indexOf(targetColumn.id), 0, columnOrder.splice(columnOrder.indexOf(draggedColumn.id), 1)[0]);
658
661
  return [].concat(columnOrder);
659
662
  };
660
663
  var getLeadingDisplayColumnIds = function getLeadingDisplayColumnIds(props) {
661
- 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);
664
+ 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);
662
665
  };
663
666
  var getTrailingDisplayColumnIds = function getTrailingDisplayColumnIds(props) {
664
667
  return [(props.positionActionsColumn === 'last' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions'];
@@ -734,7 +737,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
734
737
  };
735
738
 
736
739
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.MenuItem, {
737
- disableRipple: enableColumnOrdering,
740
+ disableRipple: true,
738
741
  ref: menuItemRef,
739
742
  onDragEnter: handleDragEnter,
740
743
  sx: function sx(theme) {
@@ -757,8 +760,8 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
757
760
  }, !isSubMenu && columnDefType !== 'group' && enableColumnOrdering && !allColumns.some(function (col) {
758
761
  return col.columnDef.columnDefType === 'group';
759
762
  }) && (columnDef.enableColumnOrdering !== false ? React__default.createElement(MRT_GrabHandleButton, {
760
- handleDragEnd: handleDragEnd,
761
- handleDragStart: handleDragStart,
763
+ onDragEnd: handleDragEnd,
764
+ onDragStart: handleDragStart,
762
765
  table: table
763
766
  }) : React__default.createElement(material.Box, {
764
767
  sx: {
@@ -1000,7 +1003,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1000
1003
  var handleGroupByColumn = function handleGroupByColumn() {
1001
1004
  column.toggleGrouping();
1002
1005
  setColumnOrder(function (old) {
1003
- return ['mrt-expand'].concat(old);
1006
+ return ['mrt-row-expand'].concat(old);
1004
1007
  });
1005
1008
  setAnchorEl(null);
1006
1009
  };
@@ -1145,8 +1148,8 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
1145
1148
  sx: commonMenuItemStyles$1
1146
1149
  }, React__default.createElement(material.Box, {
1147
1150
  sx: commonListItemStyles
1148
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(PushPinIcon, null)), localization.unpin))], enableColumnResizing && [React__default.createElement(material.MenuItem, {
1149
- disabled: !column.getCanResize() || !columnSizing[column.id],
1151
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(PushPinIcon, null)), localization.unpin))], enableColumnResizing && column.getCanResize() && [React__default.createElement(material.MenuItem, {
1152
+ disabled: !columnSizing[column.id],
1150
1153
  key: 0,
1151
1154
  onClick: handleResetColumnSize,
1152
1155
  sx: commonMenuItemStyles$1
@@ -1362,19 +1365,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1362
1365
  var _getState = getState(),
1363
1366
  density = _getState.density;
1364
1367
 
1365
- var handleSelectChange = function handleSelectChange(event) {
1366
- if (selectAll) {
1367
- if (selectAllMode === 'all') {
1368
- table.getToggleAllRowsSelectedHandler()(event);
1369
- } else if (selectAllMode === 'page') {
1370
- table.getToggleAllPageRowsSelectedHandler()(event);
1371
- }
1372
- } else if (row) {
1373
- row == null ? void 0 : row.getToggleSelectedHandler()(event);
1374
- }
1375
- };
1376
-
1377
- var checkboxProps = selectAll ? muiSelectAllCheckboxProps instanceof Function ? muiSelectAllCheckboxProps({
1368
+ var checkboxProps = !row ? muiSelectAllCheckboxProps instanceof Function ? muiSelectAllCheckboxProps({
1378
1369
  table: table
1379
1370
  }) : muiSelectAllCheckboxProps : muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1380
1371
  row: row,
@@ -1391,12 +1382,13 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1391
1382
  inputProps: {
1392
1383
  'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1393
1384
  },
1394
- onChange: handleSelectChange,
1385
+ onChange: !row ? selectAllMode === 'all' ? table.getToggleAllRowsSelectedHandler() : table.getToggleAllPageRowsSelectedHandler() : row.getToggleSelectedHandler(),
1395
1386
  size: density === 'compact' ? 'small' : 'medium'
1396
1387
  }, checkboxProps, {
1397
1388
  sx: _extends({
1398
- height: density === 'compact' ? '1.75rem' : '2.25rem',
1399
- width: density === 'compact' ? '1.75rem' : '2.25rem'
1389
+ height: density === 'compact' ? '1.5rem' : '2rem',
1390
+ width: density === 'compact' ? '1.5rem' : '2rem',
1391
+ m: '-1re.m'
1400
1392
  }, checkboxProps == null ? void 0 : checkboxProps.sx)
1401
1393
  })));
1402
1394
  };
@@ -1993,6 +1985,66 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1993
1985
  }))));
1994
1986
  };
1995
1987
 
1988
+ var MRT_TableHeadCellColumnActionsButton = function MRT_TableHeadCellColumnActionsButton(_ref) {
1989
+ var header = _ref.header,
1990
+ table = _ref.table;
1991
+ var _table$options = table.options,
1992
+ MoreVertIcon = _table$options.icons.MoreVertIcon,
1993
+ localization = _table$options.localization,
1994
+ muiTableHeadCellColumnActionsButtonProps = _table$options.muiTableHeadCellColumnActionsButtonProps;
1995
+ var column = header.column;
1996
+ var columnDef = column.columnDef;
1997
+
1998
+ var _useState = React.useState(null),
1999
+ anchorEl = _useState[0],
2000
+ setAnchorEl = _useState[1];
2001
+
2002
+ var handleClick = function handleClick(event) {
2003
+ event.stopPropagation();
2004
+ event.preventDefault();
2005
+ setAnchorEl(event.currentTarget);
2006
+ };
2007
+
2008
+ var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps({
2009
+ column: column,
2010
+ table: table
2011
+ }) : muiTableHeadCellColumnActionsButtonProps;
2012
+ var mcTableHeadCellColumnActionsButtonProps = columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? columnDef.muiTableHeadCellColumnActionsButtonProps({
2013
+ column: column,
2014
+ table: table
2015
+ }) : columnDef.muiTableHeadCellColumnActionsButtonProps;
2016
+
2017
+ var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
2018
+
2019
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
2020
+ arrow: true,
2021
+ enterDelay: 1000,
2022
+ enterNextDelay: 1000,
2023
+ placement: "top",
2024
+ title: localization.columnActions
2025
+ }, React__default.createElement(material.IconButton, Object.assign({
2026
+ "aria-label": localization.columnActions,
2027
+ onClick: handleClick,
2028
+ size: "small"
2029
+ }, iconButtonProps, {
2030
+ sx: _extends({
2031
+ height: '2rem',
2032
+ mt: '-0.2rem',
2033
+ opacity: 0.5,
2034
+ transition: 'opacity 0.2s',
2035
+ width: '2rem',
2036
+ '&:hover': {
2037
+ opacity: 1
2038
+ }
2039
+ }, iconButtonProps.sx)
2040
+ }), React__default.createElement(MoreVertIcon, null))), React__default.createElement(MRT_ColumnActionMenu, {
2041
+ anchorEl: anchorEl,
2042
+ header: header,
2043
+ setAnchorEl: setAnchorEl,
2044
+ table: table
2045
+ }));
2046
+ };
2047
+
1996
2048
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1997
2049
  var _localization$filterB, _columnDef$enabledCol, _localization$clearFi, _columnDef$filterSele;
1998
2050
 
@@ -2040,16 +2092,16 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2040
2092
  setFilterValue = _useState2[1];
2041
2093
 
2042
2094
  var handleChangeDebounced = React.useCallback(material.debounce(function (event) {
2095
+ var value = textFieldProps.type === 'date' ? new Date(event.target.value) : event.target.value;
2096
+
2043
2097
  if (inputIndex !== undefined) {
2044
2098
  column.setFilterValue(function (old) {
2045
2099
  var newFilterValues = old != null ? old : ['', ''];
2046
- newFilterValues[inputIndex] = event.target.value;
2100
+ newFilterValues[inputIndex] = value;
2047
2101
  return newFilterValues;
2048
2102
  });
2049
2103
  } else {
2050
- var _event$target$value;
2051
-
2052
- column.setFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
2104
+ column.setFilterValue(value != null ? value : undefined);
2053
2105
  }
2054
2106
  }, 200), []);
2055
2107
 
@@ -2291,6 +2343,64 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
2291
2343
  }, React__default.createElement(FilterAltIcon, null)))));
2292
2344
  };
2293
2345
 
2346
+ var MRT_TableHeadCellGrabHandle = function MRT_TableHeadCellGrabHandle(_ref) {
2347
+ var column = _ref.column,
2348
+ table = _ref.table,
2349
+ tableHeadCellRef = _ref.tableHeadCellRef;
2350
+ var getState = table.getState,
2351
+ _table$options = table.options,
2352
+ enableColumnOrdering = _table$options.enableColumnOrdering,
2353
+ muiTableHeadCellDragHandleProps = _table$options.muiTableHeadCellDragHandleProps,
2354
+ onColumnDrop = _table$options.onColumnDrop,
2355
+ setColumnOrder = table.setColumnOrder,
2356
+ setCurrentDraggingColumn = table.setCurrentDraggingColumn,
2357
+ setCurrentHoveredColumn = table.setCurrentHoveredColumn;
2358
+ var columnDef = column.columnDef;
2359
+
2360
+ var _getState = getState(),
2361
+ currentHoveredColumn = _getState.currentHoveredColumn,
2362
+ currentDraggingColumn = _getState.currentDraggingColumn,
2363
+ columnOrder = _getState.columnOrder;
2364
+
2365
+ var mIconButtonProps = muiTableHeadCellDragHandleProps instanceof Function ? muiTableHeadCellDragHandleProps({
2366
+ column: column,
2367
+ table: table
2368
+ }) : muiTableHeadCellDragHandleProps;
2369
+ var mcIconButtonProps = columnDef.muiTableHeadCellDragHandleProps instanceof Function ? columnDef.muiTableHeadCellDragHandleProps({
2370
+ column: column,
2371
+ table: table
2372
+ }) : columnDef.muiTableHeadCellDragHandleProps;
2373
+
2374
+ var iconButtonProps = _extends({}, mIconButtonProps, mcIconButtonProps);
2375
+
2376
+ var handleDragStart = function handleDragStart(e) {
2377
+ setCurrentDraggingColumn(column);
2378
+ e.dataTransfer.setDragImage(tableHeadCellRef.current, 0, 0);
2379
+ };
2380
+
2381
+ var handleDragEnd = function handleDragEnd(event) {
2382
+ onColumnDrop == null ? void 0 : onColumnDrop({
2383
+ event: event,
2384
+ draggedColumn: column,
2385
+ targetColumn: currentHoveredColumn
2386
+ });
2387
+
2388
+ if (enableColumnOrdering && currentHoveredColumn && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) !== (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id)) {
2389
+ setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
2390
+ }
2391
+
2392
+ setCurrentDraggingColumn(null);
2393
+ setCurrentHoveredColumn(null);
2394
+ };
2395
+
2396
+ return React__default.createElement(MRT_GrabHandleButton, {
2397
+ iconButtonProps: iconButtonProps,
2398
+ onDragStart: handleDragStart,
2399
+ onDragEnd: handleDragEnd,
2400
+ table: table
2401
+ });
2402
+ };
2403
+
2294
2404
  var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref) {
2295
2405
  var _getState$columnSizin;
2296
2406
 
@@ -2362,66 +2472,6 @@ var MRT_TableHeadCellSortLabel = function MRT_TableHeadCellSortLabel(_ref) {
2362
2472
  }));
2363
2473
  };
2364
2474
 
2365
- var MRT_TableHeadCellColumnActionsButton = function MRT_TableHeadCellColumnActionsButton(_ref) {
2366
- var header = _ref.header,
2367
- table = _ref.table;
2368
- var _table$options = table.options,
2369
- MoreVertIcon = _table$options.icons.MoreVertIcon,
2370
- localization = _table$options.localization,
2371
- muiTableHeadCellColumnActionsButtonProps = _table$options.muiTableHeadCellColumnActionsButtonProps;
2372
- var column = header.column;
2373
- var columnDef = column.columnDef;
2374
-
2375
- var _useState = React.useState(null),
2376
- anchorEl = _useState[0],
2377
- setAnchorEl = _useState[1];
2378
-
2379
- var handleClick = function handleClick(event) {
2380
- event.stopPropagation();
2381
- event.preventDefault();
2382
- setAnchorEl(event.currentTarget);
2383
- };
2384
-
2385
- var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps({
2386
- column: column,
2387
- table: table
2388
- }) : muiTableHeadCellColumnActionsButtonProps;
2389
- var mcTableHeadCellColumnActionsButtonProps = columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? columnDef.muiTableHeadCellColumnActionsButtonProps({
2390
- column: column,
2391
- table: table
2392
- }) : columnDef.muiTableHeadCellColumnActionsButtonProps;
2393
-
2394
- var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
2395
-
2396
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
2397
- arrow: true,
2398
- enterDelay: 1000,
2399
- enterNextDelay: 1000,
2400
- placement: "top",
2401
- title: localization.columnActions
2402
- }, React__default.createElement(material.IconButton, Object.assign({
2403
- "aria-label": localization.columnActions,
2404
- onClick: handleClick,
2405
- size: "small"
2406
- }, iconButtonProps, {
2407
- sx: _extends({
2408
- height: '2rem',
2409
- mt: '-0.2rem',
2410
- opacity: 0.5,
2411
- transition: 'opacity 0.2s',
2412
- width: '2rem',
2413
- '&:hover': {
2414
- opacity: 1
2415
- }
2416
- }, iconButtonProps.sx)
2417
- }), React__default.createElement(MoreVertIcon, null))), React__default.createElement(MRT_ColumnActionMenu, {
2418
- anchorEl: anchorEl,
2419
- header: header,
2420
- setAnchorEl: setAnchorEl,
2421
- table: table
2422
- }));
2423
- };
2424
-
2425
2475
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2426
2476
  var _ref2, _columnDef$header$len, _columnDef$header;
2427
2477
 
@@ -2431,17 +2481,15 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2431
2481
  var getState = table.getState,
2432
2482
  _table$options = table.options,
2433
2483
  enableColumnActions = _table$options.enableColumnActions,
2484
+ enableColumnDragging = _table$options.enableColumnDragging,
2434
2485
  enableColumnOrdering = _table$options.enableColumnOrdering,
2435
2486
  enableColumnResizing = _table$options.enableColumnResizing,
2436
2487
  enableGrouping = _table$options.enableGrouping,
2437
2488
  enableMultiSort = _table$options.enableMultiSort,
2438
2489
  muiTableHeadCellProps = _table$options.muiTableHeadCellProps,
2439
- setColumnOrder = table.setColumnOrder,
2440
- setCurrentDraggingColumn = table.setCurrentDraggingColumn,
2441
2490
  setCurrentHoveredColumn = table.setCurrentHoveredColumn;
2442
2491
 
2443
2492
  var _getState = getState(),
2444
- columnOrder = _getState.columnOrder,
2445
2493
  density = _getState.density,
2446
2494
  currentDraggingColumn = _getState.currentDraggingColumn,
2447
2495
  currentHoveredColumn = _getState.currentHoveredColumn;
@@ -2460,11 +2508,6 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2460
2508
 
2461
2509
  var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
2462
2510
 
2463
- var headerElement = (_ref2 = (columnDef == null ? void 0 : columnDef.Header) instanceof Function ? columnDef == null ? void 0 : columnDef.Header == null ? void 0 : columnDef.Header({
2464
- header: header,
2465
- table: table
2466
- }) : columnDef == null ? void 0 : columnDef.Header) != null ? _ref2 : columnDef.header;
2467
-
2468
2511
  var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2469
2512
  return column.getIsPinned() === 'left' && table.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2470
2513
  };
@@ -2477,25 +2520,9 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2477
2520
  return (table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2478
2521
  };
2479
2522
 
2480
- var tableHeadCellRef = React__default.useRef(null);
2481
-
2482
- var handleDragStart = function handleDragStart(e) {
2483
- setCurrentDraggingColumn(column);
2484
- e.dataTransfer.setDragImage(tableHeadCellRef.current, 0, 0);
2485
- };
2486
-
2487
- var handleDragEnd = function handleDragEnd(_e) {
2488
- setCurrentDraggingColumn(null);
2489
- setCurrentHoveredColumn(null);
2490
-
2491
- if (currentHoveredColumn && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) !== (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id)) {
2492
- setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
2493
- }
2494
- };
2495
-
2496
2523
  var handleDragEnter = function handleDragEnter(_e) {
2497
- if (currentDraggingColumn) {
2498
- setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
2524
+ if (enableColumnOrdering && currentDraggingColumn) {
2525
+ setCurrentHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
2499
2526
  }
2500
2527
  };
2501
2528
 
@@ -2505,6 +2532,11 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2505
2532
  borderRight: draggingBorder,
2506
2533
  borderTop: draggingBorder
2507
2534
  } : undefined;
2535
+ var headerElement = (_ref2 = (columnDef == null ? void 0 : columnDef.Header) instanceof Function ? columnDef == null ? void 0 : columnDef.Header == null ? void 0 : columnDef.Header({
2536
+ header: header,
2537
+ table: table
2538
+ }) : columnDef == null ? void 0 : columnDef.Header) != null ? _ref2 : columnDef.header;
2539
+ var tableHeadCellRef = React__default.useRef(null);
2508
2540
  return React__default.createElement(material.TableCell, Object.assign({
2509
2541
  align: columnDefType === 'group' ? 'center' : 'left',
2510
2542
  colSpan: header.colSpan,
@@ -2529,7 +2561,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2529
2561
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2530
2562
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2531
2563
  userSelect: enableMultiSort && column.getCanSort() ? 'none' : undefined,
2532
- verticalAlign: 'text-top',
2564
+ verticalAlign: 'top',
2533
2565
  zIndex: column.getIsResizing() || (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id ? 3 : column.getIsPinned() && columnDefType !== 'group' ? 2 : 1
2534
2566
  }, tableCellProps == null ? void 0 : tableCellProps.sx, draggingBorders, {
2535
2567
  maxWidth: "min(" + column.getSize() + "px, fit-content)",
@@ -2537,7 +2569,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2537
2569
  width: header.getSize()
2538
2570
  });
2539
2571
  }
2540
- }), header.isPlaceholder ? null : columnDefType === 'display' ? headerElement : React__default.createElement(material.Box, {
2572
+ }), header.isPlaceholder ? null : React__default.createElement(material.Box, {
2541
2573
  sx: {
2542
2574
  alignItems: 'flex-start',
2543
2575
  display: 'flex',
@@ -2554,27 +2586,27 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2554
2586
  flexWrap: 'nowrap',
2555
2587
  whiteSpace: ((_columnDef$header$len = (_columnDef$header = columnDef.header) == null ? void 0 : _columnDef$header.length) != null ? _columnDef$header$len : 0) < 24 ? 'nowrap' : 'normal'
2556
2588
  }
2557
- }, headerElement, columnDefType === 'data' && column.getCanSort() && React__default.createElement(MRT_TableHeadCellSortLabel, {
2589
+ }, headerElement, column.getCanSort() && React__default.createElement(MRT_TableHeadCellSortLabel, {
2558
2590
  header: header,
2559
2591
  table: table
2560
- }), columnDefType === 'data' && column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterLabel, {
2592
+ }), column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterLabel, {
2561
2593
  header: header,
2562
2594
  table: table
2563
- })), React__default.createElement(material.Box, {
2595
+ })), columnDefType !== 'group' && React__default.createElement(material.Box, {
2564
2596
  sx: {
2565
2597
  whiteSpace: 'nowrap'
2566
2598
  }
2567
- }, columnDefType === 'data' && (enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React__default.createElement(MRT_GrabHandleButton, {
2568
- handleDragStart: handleDragStart,
2569
- handleDragEnd: handleDragEnd,
2570
- table: table
2571
- }), (enableColumnActions || columnDef.enableColumnActions) && columnDef.enableColumnActions !== false && columnDefType !== 'group' && React__default.createElement(MRT_TableHeadCellColumnActionsButton, {
2599
+ }, (enableColumnDragging && columnDef.enableColumnDragging !== false || enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React__default.createElement(MRT_TableHeadCellGrabHandle, {
2600
+ column: column,
2601
+ table: table,
2602
+ tableHeadCellRef: tableHeadCellRef
2603
+ }), (enableColumnActions || columnDef.enableColumnActions) && columnDef.enableColumnActions !== false && React__default.createElement(MRT_TableHeadCellColumnActionsButton, {
2572
2604
  header: header,
2573
2605
  table: table
2574
2606
  })), column.getCanResize() && React__default.createElement(MRT_TableHeadCellResizeHandle, {
2575
2607
  header: header,
2576
2608
  table: table
2577
- })), columnDefType === 'data' && column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterContainer, {
2609
+ })), column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterContainer, {
2578
2610
  header: header,
2579
2611
  table: table
2580
2612
  }));
@@ -2769,18 +2801,55 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2769
2801
  }), children));
2770
2802
  };
2771
2803
 
2804
+ var MRT_TableBodyRowGrabHandle = function MRT_TableBodyRowGrabHandle(_ref) {
2805
+ var cell = _ref.cell,
2806
+ rowRef = _ref.rowRef,
2807
+ table = _ref.table;
2808
+ var _table$options = table.options,
2809
+ muiTableBodyRowDragHandleProps = _table$options.muiTableBodyRowDragHandleProps,
2810
+ onRowDrop = _table$options.onRowDrop;
2811
+ var iconButtonProps = muiTableBodyRowDragHandleProps instanceof Function ? muiTableBodyRowDragHandleProps({
2812
+ row: cell.row,
2813
+ table: table
2814
+ }) : muiTableBodyRowDragHandleProps;
2815
+
2816
+ var handleDragStart = function handleDragStart(e) {
2817
+ e.dataTransfer.setDragImage(rowRef.current, 0, 0);
2818
+ table.setCurrentDraggingRow(cell.row);
2819
+ };
2820
+
2821
+ var handleDragEnd = function handleDragEnd(event) {
2822
+ onRowDrop == null ? void 0 : onRowDrop({
2823
+ event: event,
2824
+ draggedRow: table.getState().currentDraggingRow,
2825
+ targetRow: table.getState().currentHoveredRow
2826
+ });
2827
+ table.setCurrentDraggingRow(null);
2828
+ table.setCurrentHoveredRow(null);
2829
+ };
2830
+
2831
+ return React__default.createElement(MRT_GrabHandleButton, {
2832
+ iconButtonProps: iconButtonProps,
2833
+ onDragStart: handleDragStart,
2834
+ onDragEnd: handleDragEnd,
2835
+ table: table
2836
+ });
2837
+ };
2838
+
2772
2839
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2773
2840
  var _columnDef$Cell, _row$subRows, _columnDef$Cell2, _row$subRows$length, _row$subRows2;
2774
2841
 
2775
2842
  var cell = _ref.cell,
2776
2843
  enableHover = _ref.enableHover,
2777
2844
  rowIndex = _ref.rowIndex,
2845
+ rowRef = _ref.rowRef,
2778
2846
  table = _ref.table;
2779
2847
  var theme = material.useTheme();
2780
2848
  var getState = table.getState,
2781
2849
  _table$options = table.options,
2782
2850
  editingMode = _table$options.editingMode,
2783
2851
  enableClickToCopy = _table$options.enableClickToCopy,
2852
+ enableColumnOrdering = _table$options.enableColumnOrdering,
2784
2853
  enableEditing = _table$options.enableEditing,
2785
2854
  enableRowNumbers = _table$options.enableRowNumbers,
2786
2855
  muiTableBodyCellProps = _table$options.muiTableBodyCellProps,
@@ -2847,15 +2916,16 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2847
2916
  };
2848
2917
 
2849
2918
  var handleDragEnter = function handleDragEnter(_e) {
2850
- if (currentDraggingColumn) {
2851
- setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
2919
+ if (enableColumnOrdering && currentDraggingColumn) {
2920
+ setCurrentHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
2852
2921
  }
2853
2922
  };
2854
2923
 
2855
2924
  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;
2856
2925
  var draggingBorders = draggingBorder ? {
2857
2926
  borderLeft: draggingBorder,
2858
- borderRight: draggingBorder
2927
+ borderRight: draggingBorder,
2928
+ borderBottom: row.index === table.getRowModel().rows.length - 1 ? draggingBorder : undefined
2859
2929
  } : undefined;
2860
2930
  return React__default.createElement(material.TableCell, Object.assign({
2861
2931
  onDoubleClick: handleDoubleClick,
@@ -2872,7 +2942,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2872
2942
  opacity: (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id || (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? 0.5 : 1,
2873
2943
  overflow: 'hidden',
2874
2944
  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',
2875
- pl: column.id === 'mrt-expand' ? row.depth + (density === 'compact' ? 0.5 : density === 'comfortable' ? 0.75 : 1.25) + "rem" : undefined,
2945
+ pl: column.id === 'mrt-row-expand' ? row.depth + (density === 'compact' ? 0.5 : density === 'comfortable' ? 0.75 : 1.25) + "rem" : undefined,
2876
2946
  position: column.getIsPinned() ? 'sticky' : 'relative',
2877
2947
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2878
2948
  textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,
@@ -2892,7 +2962,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2892
2962
  animation: "wave",
2893
2963
  height: 20,
2894
2964
  width: skeletonWidth
2895
- }, muiTableBodyCellSkeletonProps)) : enableRowNumbers && rowNumberMode === 'static' && column.id === 'mrt-row-numbers' ? rowIndex + 1 : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
2965
+ }, muiTableBodyCellSkeletonProps)) : enableRowNumbers && rowNumberMode === 'static' && column.id === 'mrt-row-numbers' ? rowIndex + 1 : column.id === 'mrt-row-drag' ? React__default.createElement(MRT_TableBodyRowGrabHandle, {
2966
+ cell: cell,
2967
+ rowRef: rowRef,
2968
+ table: table
2969
+ }) : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
2896
2970
  cell: cell,
2897
2971
  table: table
2898
2972
  }) : isEditing ? React__default.createElement(MRT_EditCellTextField, {
@@ -2950,26 +3024,50 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2950
3024
  var row = _ref.row,
2951
3025
  rowIndex = _ref.rowIndex,
2952
3026
  table = _ref.table;
3027
+ var theme = material.useTheme();
2953
3028
  var getIsSomeColumnsPinned = table.getIsSomeColumnsPinned,
3029
+ getState = table.getState,
2954
3030
  _table$options = table.options,
3031
+ enableRowOrdering = _table$options.enableRowOrdering,
2955
3032
  muiTableBodyRowProps = _table$options.muiTableBodyRowProps,
2956
- renderDetailPanel = _table$options.renderDetailPanel;
3033
+ renderDetailPanel = _table$options.renderDetailPanel,
3034
+ setCurrentHoveredRow = table.setCurrentHoveredRow;
3035
+
3036
+ var _getState = getState(),
3037
+ currentDraggingRow = _getState.currentDraggingRow,
3038
+ currentHoveredRow = _getState.currentHoveredRow;
3039
+
2957
3040
  var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2958
3041
  row: row,
2959
3042
  table: table
2960
3043
  }) : muiTableBodyRowProps;
3044
+
3045
+ var handleDragEnter = function handleDragEnter(_e) {
3046
+ if (enableRowOrdering && currentDraggingRow) {
3047
+ setCurrentHoveredRow(row);
3048
+ }
3049
+ };
3050
+
3051
+ var rowRef = React.useRef(null);
3052
+ 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;
3053
+ var draggingBorders = draggingBorder ? {
3054
+ border: draggingBorder
3055
+ } : undefined;
2961
3056
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TableRow, Object.assign({
3057
+ onDragEnter: handleDragEnter,
2962
3058
  hover: true,
2963
- selected: row.getIsSelected()
3059
+ selected: row.getIsSelected(),
3060
+ ref: rowRef
2964
3061
  }, tableRowProps, {
2965
3062
  sx: function sx(theme) {
2966
3063
  return _extends({
2967
3064
  backgroundColor: material.lighten(theme.palette.background["default"], 0.06),
3065
+ opacity: (currentDraggingRow == null ? void 0 : currentDraggingRow.id) === row.id || (currentHoveredRow == null ? void 0 : currentHoveredRow.id) === row.id ? 0.5 : 1,
2968
3066
  transition: 'all 0.2s ease-in-out',
2969
3067
  '&:hover td': {
2970
3068
  backgroundColor: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false && getIsSomeColumnsPinned() ? theme.palette.mode === 'dark' ? "" + material.lighten(theme.palette.background["default"], 0.12) : "" + material.darken(theme.palette.background["default"], 0.05) : undefined
2971
3069
  }
2972
- }, tableRowProps == null ? void 0 : tableRowProps.sx);
3070
+ }, tableRowProps == null ? void 0 : tableRowProps.sx, draggingBorders);
2973
3071
  }
2974
3072
  }), row == null ? void 0 : (_row$getVisibleCells = row.getVisibleCells()) == null ? void 0 : _row$getVisibleCells.map == null ? void 0 : _row$getVisibleCells.map(function (cell) {
2975
3073
  return React__default.createElement(MRT_TableBodyCell, {
@@ -2977,6 +3075,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2977
3075
  key: cell.id,
2978
3076
  enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
2979
3077
  rowIndex: rowIndex,
3078
+ rowRef: rowRef,
2980
3079
  table: table
2981
3080
  });
2982
3081
  })), renderDetailPanel && !row.getIsGrouped() && React__default.createElement(MRT_TableDetailPanel, {
@@ -3276,8 +3375,23 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
3276
3375
  }));
3277
3376
  };
3278
3377
 
3378
+ var defaultDisplayColumnDefOptions = {
3379
+ columnDefType: 'display',
3380
+ enableClickToCopy: false,
3381
+ enableColumnActions: false,
3382
+ enableColumnDragging: false,
3383
+ enableColumnFilter: false,
3384
+ enableColumnOrdering: false,
3385
+ enableEditing: false,
3386
+ enableGlobalFilter: false,
3387
+ enableGrouping: false,
3388
+ enableHiding: false,
3389
+ enablePinning: false,
3390
+ enableResizing: false,
3391
+ enableSorting: false
3392
+ };
3279
3393
  var MRT_TableRoot = function MRT_TableRoot(props) {
3280
- 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;
3394
+ var _initialState$columnO, _initialState$current, _initialState$current2, _initialState$current3, _initialState$current4, _initialState$current5, _initialState$current6, _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;
3281
3395
 
3282
3396
  var _useState = React.useState(props.tableId),
3283
3397
  tableId = _useState[0],
@@ -3300,60 +3414,73 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3300
3414
  columnOrder = _useState2[0],
3301
3415
  setColumnOrder = _useState2[1];
3302
3416
 
3303
- var _useState3 = React.useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
3304
- currentEditingCell = _useState3[0],
3305
- setCurrentEditingCell = _useState3[1];
3417
+ var _useState3 = React.useState((_initialState$current = initialState.currentDraggingColumn) != null ? _initialState$current : null),
3418
+ currentDraggingColumn = _useState3[0],
3419
+ setCurrentDraggingColumn = _useState3[1];
3306
3420
 
3307
- var _useState4 = React.useState((_initialState$current2 = initialState == null ? void 0 : initialState.currentEditingRow) != null ? _initialState$current2 : null),
3308
- currentEditingRow = _useState4[0],
3309
- setCurrentEditingRow = _useState4[1];
3421
+ var _useState4 = React.useState((_initialState$current2 = initialState.currentDraggingRow) != null ? _initialState$current2 : null),
3422
+ currentDraggingRow = _useState4[0],
3423
+ setCurrentDraggingRow = _useState4[1];
3310
3424
 
3311
- var _useState5 = React.useState(null),
3312
- currentDraggingColumn = _useState5[0],
3313
- setCurrentDraggingColumn = _useState5[1];
3425
+ var _useState5 = React.useState((_initialState$current3 = initialState.currentEditingCell) != null ? _initialState$current3 : null),
3426
+ currentEditingCell = _useState5[0],
3427
+ setCurrentEditingCell = _useState5[1];
3314
3428
 
3315
- var _useState6 = React.useState(null),
3316
- currentHoveredColumn = _useState6[0],
3317
- setCurrentHoveredColumn = _useState6[1];
3429
+ var _useState6 = React.useState((_initialState$current4 = initialState.currentEditingRow) != null ? _initialState$current4 : null),
3430
+ currentEditingRow = _useState6[0],
3431
+ setCurrentEditingRow = _useState6[1];
3318
3432
 
3319
- var _useState7 = React.useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
3320
- density = _useState7[0],
3321
- setDensity = _useState7[1];
3433
+ var _useState7 = React.useState((_initialState$current5 = initialState.currentHoveredColumn) != null ? _initialState$current5 : null),
3434
+ currentHoveredColumn = _useState7[0],
3435
+ setCurrentHoveredColumn = _useState7[1];
3322
3436
 
3323
- var _useState8 = React.useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
3324
- isFullScreen = _useState8[0],
3325
- setIsFullScreen = _useState8[1];
3437
+ var _useState8 = React.useState((_initialState$current6 = initialState.currentHoveredRow) != null ? _initialState$current6 : null),
3438
+ currentHoveredRow = _useState8[0],
3439
+ setCurrentHoveredRow = _useState8[1];
3326
3440
 
3327
- var _useState9 = React.useState((_props$initialState$s = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.showAlertBanner) != null ? _props$initialState$s : false),
3328
- showAlertBanner = _useState9[0],
3329
- setShowAlertBanner = _useState9[1];
3441
+ var _useState9 = React.useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
3442
+ density = _useState9[0],
3443
+ setDensity = _useState9[1];
3330
3444
 
3331
- var _useState10 = React.useState((_initialState$showCol = initialState == null ? void 0 : initialState.showColumnFilters) != null ? _initialState$showCol : false),
3332
- showColumnFilters = _useState10[0],
3333
- setShowFilters = _useState10[1];
3445
+ var _useState10 = React.useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
3446
+ isFullScreen = _useState10[0],
3447
+ setIsFullScreen = _useState10[1];
3334
3448
 
3335
- var _useState11 = React.useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
3336
- showGlobalFilter = _useState11[0],
3337
- setShowGlobalFilter = _useState11[1];
3449
+ var _useState11 = React.useState((_props$initialState$s = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.showAlertBanner) != null ? _props$initialState$s : false),
3450
+ showAlertBanner = _useState11[0],
3451
+ setShowAlertBanner = _useState11[1];
3338
3452
 
3339
- var _useState12 = React.useState(function () {
3453
+ var _useState12 = React.useState((_initialState$showCol = initialState == null ? void 0 : initialState.showColumnFilters) != null ? _initialState$showCol : false),
3454
+ showColumnFilters = _useState12[0],
3455
+ setShowFilters = _useState12[1];
3456
+
3457
+ var _useState13 = React.useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
3458
+ showGlobalFilter = _useState13[0],
3459
+ setShowGlobalFilter = _useState13[1];
3460
+
3461
+ var _useState14 = React.useState(function () {
3340
3462
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (col) {
3341
- 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;
3463
+ var _ref, _col$id$toString, _col$id, _col$accessorKey, _col$filterFn$name, _ref2, _col$filterFn, _initialState$current7, _ref3, _col$id$toString2, _col$id2, _col$accessorKey2, _col$filterSelectOpti, _ref4;
3342
3464
 
3343
- 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;
3465
+ 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$current7 = initialState.currentFilterFns) == null ? void 0 : _initialState$current7[(_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;
3344
3466
  })));
3345
3467
  }),
3346
- currentFilterFns = _useState12[0],
3347
- setCurrentFilterFns = _useState12[1];
3468
+ currentFilterFns = _useState14[0],
3469
+ setCurrentFilterFns = _useState14[1];
3348
3470
 
3349
- var _useState13 = React.useState(props.globalFilterFn instanceof String ? props.globalFilterFn : 'fuzzy'),
3350
- currentGlobalFilterFn = _useState13[0],
3351
- setCurrentGlobalFilterFn = _useState13[1];
3471
+ var _useState15 = React.useState(props.globalFilterFn instanceof String ? props.globalFilterFn : 'fuzzy'),
3472
+ currentGlobalFilterFn = _useState15[0],
3473
+ setCurrentGlobalFilterFn = _useState15[1];
3352
3474
 
3353
3475
  var displayColumns = React.useMemo(function () {
3354
- var _props$localization, _props$localization2, _props$localization3, _props$localization5;
3476
+ var _props$localization, _props$displayColumnD, _props$localization2, _props$displayColumnD2, _props$localization3, _props$displayColumnD3, _props$localization4, _props$displayColumnD4, _props$localization6, _props$displayColumnD5;
3355
3477
 
3356
- return [columnOrder.includes('mrt-row-actions') && {
3478
+ return [columnOrder.includes('mrt-row-drag') && _extends({
3479
+ header: (_props$localization = props.localization) == null ? void 0 : _props$localization.move,
3480
+ size: 60
3481
+ }, defaultDisplayColumnDefOptions, (_props$displayColumnD = props.displayColumnDefOptions) == null ? void 0 : _props$displayColumnD['mrt-row-drag'], {
3482
+ id: 'mrt-row-drag'
3483
+ }), columnOrder.includes('mrt-row-actions') && _extends({
3357
3484
  Cell: function Cell(_ref5) {
3358
3485
  var cell = _ref5.cell;
3359
3486
  return React__default.createElement(MRT_ToggleRowActionMenuButton, {
@@ -3361,13 +3488,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3361
3488
  table: table
3362
3489
  });
3363
3490
  },
3364
- columnDefType: 'display',
3365
- header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
3366
- id: 'mrt-row-actions',
3367
- muiTableBodyCellProps: props.muiTableBodyCellProps,
3368
- muiTableHeadCellProps: props.muiTableHeadCellProps,
3491
+ header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.actions,
3369
3492
  size: 70
3370
- }, columnOrder.includes('mrt-expand') && {
3493
+ }, defaultDisplayColumnDefOptions, (_props$displayColumnD2 = props.displayColumnDefOptions) == null ? void 0 : _props$displayColumnD2['mrt-row-actions'], {
3494
+ id: 'mrt-row-actions'
3495
+ }), columnOrder.includes('mrt-row-expand') && _extends({
3371
3496
  Cell: function Cell(_ref6) {
3372
3497
  var cell = _ref6.cell;
3373
3498
  return React__default.createElement(MRT_ExpandButton, {
@@ -3380,13 +3505,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3380
3505
  table: table
3381
3506
  }) : null;
3382
3507
  },
3383
- columnDefType: 'display',
3384
- header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.expand,
3385
- id: 'mrt-expand',
3386
- muiTableBodyCellProps: props.muiTableBodyCellProps,
3387
- muiTableHeadCellProps: props.muiTableHeadCellProps,
3508
+ header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.expand,
3388
3509
  size: 60
3389
- }, columnOrder.includes('mrt-select') && {
3510
+ }, defaultDisplayColumnDefOptions, (_props$displayColumnD3 = props.displayColumnDefOptions) == null ? void 0 : _props$displayColumnD3['mrt-row-expand'], {
3511
+ id: 'mrt-row-expand'
3512
+ }), columnOrder.includes('mrt-row-select') && _extends({
3390
3513
  Cell: function Cell(_ref7) {
3391
3514
  var cell = _ref7.cell;
3392
3515
  return React__default.createElement(MRT_SelectCheckbox, {
@@ -3400,30 +3523,26 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3400
3523
  table: table
3401
3524
  }) : null;
3402
3525
  },
3403
- columnDefType: 'display',
3404
- header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.select,
3405
- id: 'mrt-select',
3406
- muiTableBodyCellProps: props.muiTableBodyCellProps,
3407
- muiTableHeadCellProps: props.muiTableHeadCellProps,
3526
+ header: (_props$localization4 = props.localization) == null ? void 0 : _props$localization4.select,
3408
3527
  size: 60
3409
- }, columnOrder.includes('mrt-row-numbers') && {
3528
+ }, defaultDisplayColumnDefOptions, (_props$displayColumnD4 = props.displayColumnDefOptions) == null ? void 0 : _props$displayColumnD4['mrt-row-select'], {
3529
+ id: 'mrt-row-select'
3530
+ }), columnOrder.includes('mrt-row-numbers') && _extends({
3410
3531
  Cell: function Cell(_ref8) {
3411
3532
  var cell = _ref8.cell;
3412
3533
  return cell.row.index + 1;
3413
3534
  },
3414
3535
  Header: function Header() {
3415
- var _props$localization4;
3536
+ var _props$localization5;
3416
3537
 
3417
- return (_props$localization4 = props.localization) == null ? void 0 : _props$localization4.rowNumber;
3538
+ return (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumber;
3418
3539
  },
3419
- columnDefType: 'display',
3420
- header: (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumbers,
3421
- id: 'mrt-row-numbers',
3422
- muiTableBodyCellProps: props.muiTableBodyCellProps,
3423
- muiTableHeadCellProps: props.muiTableHeadCellProps,
3540
+ header: (_props$localization6 = props.localization) == null ? void 0 : _props$localization6.rowNumbers,
3424
3541
  size: 60
3425
- }].filter(Boolean);
3426
- }, [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]);
3542
+ }, defaultDisplayColumnDefOptions, (_props$displayColumnD5 = props.displayColumnDefOptions) == null ? void 0 : _props$displayColumnD5['mrt-row-numbers'], {
3543
+ id: 'mrt-row-numbers'
3544
+ })].filter(Boolean);
3545
+ }, [columnOrder, props.displayColumnDefOptions, props.editingMode, props.enableColumnDragging, props.enableColumnOrdering, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowDragging, props.enableRowNumbers, props.enableRowOrdering, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn]);
3427
3546
  var columnDefs = React.useMemo(function () {
3428
3547
  return prepareColumns([].concat(displayColumns, props.columns), currentFilterFns);
3429
3548
  }, [currentFilterFns, displayColumns, props.columns]);
@@ -3461,11 +3580,13 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3461
3580
  state: _extends({
3462
3581
  columnOrder: columnOrder,
3463
3582
  currentDraggingColumn: currentDraggingColumn,
3583
+ currentDraggingRow: currentDraggingRow,
3464
3584
  currentEditingCell: currentEditingCell,
3465
3585
  currentEditingRow: currentEditingRow,
3466
3586
  currentFilterFns: currentFilterFns,
3467
3587
  currentGlobalFilterFn: currentGlobalFilterFn,
3468
3588
  currentHoveredColumn: currentHoveredColumn,
3589
+ currentHoveredRow: currentHoveredRow,
3469
3590
  density: density,
3470
3591
  isFullScreen: isFullScreen,
3471
3592
  showAlertBanner: showAlertBanner,
@@ -3475,11 +3596,13 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3475
3596
  tableId: tableId
3476
3597
  })), {
3477
3598
  setCurrentDraggingColumn: (_props$onCurrentDragg = props.onCurrentDraggingColumnChange) != null ? _props$onCurrentDragg : setCurrentDraggingColumn,
3599
+ setCurrentDraggingRow: (_props$onCurrentDragg2 = props.onCurrentDraggingRowChange) != null ? _props$onCurrentDragg2 : setCurrentDraggingRow,
3478
3600
  setCurrentEditingCell: (_props$onCurrentEditi = props.onCurrentEditingCellChange) != null ? _props$onCurrentEditi : setCurrentEditingCell,
3479
3601
  setCurrentEditingRow: (_props$onCurrentEditi2 = props.onCurrentEditingRowChange) != null ? _props$onCurrentEditi2 : setCurrentEditingRow,
3480
3602
  setCurrentFilterFns: (_props$onCurrentFilte = props.onCurrentFilterFnsChange) != null ? _props$onCurrentFilte : setCurrentFilterFns,
3481
3603
  setCurrentGlobalFilterFn: (_props$onCurrentGloba = props.onCurrentGlobalFilterFnChange) != null ? _props$onCurrentGloba : setCurrentGlobalFilterFn,
3482
3604
  setCurrentHoveredColumn: (_props$onCurrentHover = props.onCurrentHoveredColumnChange) != null ? _props$onCurrentHover : setCurrentHoveredColumn,
3605
+ setCurrentHoveredRow: (_props$onCurrentHover2 = props.onCurrentHoveredRowChange) != null ? _props$onCurrentHover2 : setCurrentHoveredRow,
3483
3606
  setDensity: (_props$onDensityChang = props.onDensityChange) != null ? _props$onDensityChang : setDensity,
3484
3607
  setIsFullScreen: (_props$onIsFullScreen = props.onIsFullScreenChange) != null ? _props$onIsFullScreen : setIsFullScreen,
3485
3608
  setShowAlertBanner: (_props$onShowAlertBan = props.onShowAlertBannerChange) != null ? _props$onShowAlertBan : setShowAlertBanner,
@@ -3506,16 +3629,6 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3506
3629
  };
3507
3630
 
3508
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"];
3509
- /**
3510
- * `columns` and `data` props are the only required props, but there are over 150 other optional props.
3511
- *
3512
- * See more info on creating columns and data on the official docs site:
3513
- * @link https://www.material-react-table.com/docs/usage
3514
- *
3515
- * See the full props list on the official docs site:
3516
- * @link https://www.material-react-table.com/docs/api/props
3517
- */
3518
-
3519
3632
  var MaterialReactTable = (function (_ref) {
3520
3633
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3521
3634
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,