material-react-table 0.22.2 → 0.23.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  import React, { useMemo, useState, useCallback, Fragment, 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
- 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, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog } from '@mui/material';
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';
5
5
  import { rankItem, rankings, compareItems } from '@tanstack/match-sorter-utils';
6
6
  import { useVirtual } from 'react-virtual';
7
7
 
@@ -651,7 +651,7 @@ var reorderColumn = function reorderColumn(movingColumn, receivingColumn, column
651
651
  return [].concat(columnOrder);
652
652
  };
653
653
  var getLeadingDisplayColumnIds = function getLeadingDisplayColumnIds(props) {
654
- return [(props.positionActionsColumn === 'first' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', (props.enableExpanding || props.enableGrouping) && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].filter(Boolean);
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);
655
655
  };
656
656
  var getTrailingDisplayColumnIds = function getTrailingDisplayColumnIds(props) {
657
657
  return [(props.positionActionsColumn === 'last' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions'];
@@ -2417,10 +2417,9 @@ var MRT_TableHeadCellColumnActionsButton = function MRT_TableHeadCellColumnActio
2417
2417
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2418
2418
  var _ref2, _columnDef$header$len, _columnDef$header;
2419
2419
 
2420
- var currentHoveredColumn = _ref.currentHoveredColumn,
2421
- setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
2422
- header = _ref.header,
2420
+ var header = _ref.header,
2423
2421
  table = _ref.table;
2422
+ var theme = useTheme();
2424
2423
  var getState = table.getState,
2425
2424
  _table$options = table.options,
2426
2425
  enableColumnActions = _table$options.enableColumnActions,
@@ -2429,11 +2428,15 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2429
2428
  enableGrouping = _table$options.enableGrouping,
2430
2429
  enableMultiSort = _table$options.enableMultiSort,
2431
2430
  muiTableHeadCellProps = _table$options.muiTableHeadCellProps,
2432
- setColumnOrder = table.setColumnOrder;
2431
+ setColumnOrder = table.setColumnOrder,
2432
+ setCurrentDraggingColumn = table.setCurrentDraggingColumn,
2433
+ setCurrentHoveredColumn = table.setCurrentHoveredColumn;
2433
2434
 
2434
2435
  var _getState = getState(),
2435
2436
  columnOrder = _getState.columnOrder,
2436
- density = _getState.density;
2437
+ density = _getState.density,
2438
+ currentDraggingColumn = _getState.currentDraggingColumn,
2439
+ currentHoveredColumn = _getState.currentHoveredColumn;
2437
2440
 
2438
2441
  var column = header.column;
2439
2442
  var columnDef = column.columnDef;
@@ -2468,28 +2471,32 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2468
2471
 
2469
2472
  var tableHeadCellRef = React.useRef(null);
2470
2473
 
2471
- var _useState = useState(false),
2472
- isDragging = _useState[0],
2473
- setIsDragging = _useState[1];
2474
-
2475
2474
  var handleDragStart = function handleDragStart(e) {
2476
- setIsDragging(true);
2475
+ setCurrentDraggingColumn(column);
2477
2476
  e.dataTransfer.setDragImage(tableHeadCellRef.current, 0, 0);
2478
2477
  };
2479
2478
 
2480
2479
  var handleDragEnd = function handleDragEnd(_e) {
2481
- setIsDragging(false);
2480
+ setCurrentDraggingColumn(null);
2482
2481
  setCurrentHoveredColumn(null);
2483
2482
 
2484
- if (currentHoveredColumn) {
2483
+ if (currentHoveredColumn && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) !== (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id)) {
2485
2484
  setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
2486
2485
  }
2487
2486
  };
2488
2487
 
2489
2488
  var handleDragEnter = function handleDragEnter(_e) {
2490
- setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
2489
+ if (currentDraggingColumn) {
2490
+ setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
2491
+ }
2491
2492
  };
2492
2493
 
2494
+ 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
+ var draggingBorders = draggingBorder ? {
2496
+ borderLeft: draggingBorder,
2497
+ borderRight: draggingBorder,
2498
+ borderTop: draggingBorder
2499
+ } : undefined;
2493
2500
  return React.createElement(TableCell, Object.assign({
2494
2501
  align: columnDefType === 'group' ? 'center' : 'left',
2495
2502
  colSpan: header.colSpan,
@@ -2502,12 +2509,11 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2502
2509
  return _extends({
2503
2510
  backgroundColor: column.getIsPinned() && columnDefType !== 'group' ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
2504
2511
  backgroundImage: 'inherit',
2505
- border: isDragging ? "2px dashed " + theme.palette.divider : (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? "2px dashed " + theme.palette.primary.main : undefined,
2506
2512
  boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : undefined,
2507
2513
  fontWeight: 'bold',
2508
2514
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2509
2515
  overflow: 'visible',
2510
- opacity: isDragging ? 0.5 : 1,
2516
+ opacity: (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id || (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? 0.5 : 1,
2511
2517
  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',
2512
2518
  pb: columnDefType === 'display' ? 0 : undefined,
2513
2519
  position: column.getIsPinned() && columnDefType !== 'group' ? 'sticky' : undefined,
@@ -2516,8 +2522,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2516
2522
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2517
2523
  userSelect: enableMultiSort && column.getCanSort() ? 'none' : undefined,
2518
2524
  verticalAlign: 'text-top',
2519
- zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && columnDefType !== 'group' ? 2 : 1
2520
- }, tableCellProps == null ? void 0 : tableCellProps.sx, {
2525
+ zIndex: column.getIsResizing() || (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id ? 3 : column.getIsPinned() && columnDefType !== 'group' ? 2 : 1
2526
+ }, tableCellProps == null ? void 0 : tableCellProps.sx, draggingBorders, {
2521
2527
  maxWidth: "min(" + column.getSize() + "px, fit-content)",
2522
2528
  minWidth: "max(" + column.getSize() + "px, " + ((_columnDef$minSize = columnDef.minSize) != null ? _columnDef$minSize : 30) + "px)",
2523
2529
  width: header.getSize()
@@ -2528,7 +2534,6 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2528
2534
  alignItems: 'flex-start',
2529
2535
  display: 'flex',
2530
2536
  justifyContent: columnDefType === 'group' ? 'center' : 'space-between',
2531
- opacity: isDragging ? 0.5 : 1,
2532
2537
  position: 'relative',
2533
2538
  width: '100%'
2534
2539
  }
@@ -2568,9 +2573,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2568
2573
  };
2569
2574
 
2570
2575
  var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2571
- var currentHoveredColumn = _ref.currentHoveredColumn,
2572
- setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
2573
- headerGroup = _ref.headerGroup,
2576
+ var headerGroup = _ref.headerGroup,
2574
2577
  table = _ref.table;
2575
2578
  var muiTableHeadRowProps = table.options.muiTableHeadRowProps;
2576
2579
  var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
@@ -2586,8 +2589,6 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2586
2589
  }
2587
2590
  }), headerGroup.headers.map(function (header, index) {
2588
2591
  return React.createElement(MRT_TableHeadCell, {
2589
- currentHoveredColumn: currentHoveredColumn,
2590
- setCurrentHoveredColumn: setCurrentHoveredColumn,
2591
2592
  header: header,
2592
2593
  key: header.id || index,
2593
2594
  table: table
@@ -2596,9 +2597,7 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2596
2597
  };
2597
2598
 
2598
2599
  var MRT_TableHead = function MRT_TableHead(_ref) {
2599
- var currentHoveredColumn = _ref.currentHoveredColumn,
2600
- setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
2601
- table = _ref.table;
2600
+ var table = _ref.table;
2602
2601
  var getHeaderGroups = table.getHeaderGroups,
2603
2602
  muiTableHeadProps = table.options.muiTableHeadProps;
2604
2603
  var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps({
@@ -2606,8 +2605,6 @@ var MRT_TableHead = function MRT_TableHead(_ref) {
2606
2605
  }) : muiTableHeadProps;
2607
2606
  return React.createElement(TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map(function (headerGroup) {
2608
2607
  return React.createElement(MRT_TableHeadRow, {
2609
- currentHoveredColumn: currentHoveredColumn,
2610
- setCurrentHoveredColumn: setCurrentHoveredColumn,
2611
2608
  headerGroup: headerGroup,
2612
2609
  key: headerGroup.id,
2613
2610
  table: table
@@ -2770,8 +2767,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2770
2767
  var cell = _ref.cell,
2771
2768
  enableHover = _ref.enableHover,
2772
2769
  rowIndex = _ref.rowIndex,
2773
- setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
2774
2770
  table = _ref.table;
2771
+ var theme = useTheme();
2775
2772
  var getState = table.getState,
2776
2773
  _table$options = table.options,
2777
2774
  editingMode = _table$options.editingMode,
@@ -2782,11 +2779,14 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2782
2779
  muiTableBodyCellSkeletonProps = _table$options.muiTableBodyCellSkeletonProps,
2783
2780
  rowNumberMode = _table$options.rowNumberMode,
2784
2781
  tableId = _table$options.tableId,
2785
- setCurrentEditingCell = table.setCurrentEditingCell;
2782
+ setCurrentEditingCell = table.setCurrentEditingCell,
2783
+ setCurrentHoveredColumn = table.setCurrentHoveredColumn;
2786
2784
 
2787
2785
  var _getState = getState(),
2786
+ currentDraggingColumn = _getState.currentDraggingColumn,
2788
2787
  currentEditingCell = _getState.currentEditingCell,
2789
2788
  currentEditingRow = _getState.currentEditingRow,
2789
+ currentHoveredColumn = _getState.currentHoveredColumn,
2790
2790
  density = _getState.density,
2791
2791
  isLoading = _getState.isLoading,
2792
2792
  showSkeletons = _getState.showSkeletons;
@@ -2839,9 +2839,16 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2839
2839
  };
2840
2840
 
2841
2841
  var handleDragEnter = function handleDragEnter(_e) {
2842
- setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
2842
+ if (currentDraggingColumn) {
2843
+ setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
2844
+ }
2843
2845
  };
2844
2846
 
2847
+ 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
+ var draggingBorders = draggingBorder ? {
2849
+ borderLeft: draggingBorder,
2850
+ borderRight: draggingBorder
2851
+ } : undefined;
2845
2852
  return React.createElement(TableCell, Object.assign({
2846
2853
  onDoubleClick: handleDoubleClick,
2847
2854
  onDragEnter: handleDragEnter
@@ -2854,6 +2861,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2854
2861
  boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : undefined,
2855
2862
  cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2856
2863
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2864
+ opacity: (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id || (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? 0.5 : 1,
2857
2865
  overflow: 'hidden',
2858
2866
  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',
2859
2867
  pl: column.id === 'mrt-expand' ? row.depth + (density === 'compact' ? 0.5 : density === 'comfortable' ? 0.75 : 1.25) + "rem" : undefined,
@@ -2862,11 +2870,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2862
2870
  textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,
2863
2871
  transition: 'all 0.2s ease-in-out',
2864
2872
  whiteSpace: density === 'compact' ? 'nowrap' : 'normal',
2865
- zIndex: column.getIsPinned() ? 1 : undefined,
2873
+ zIndex: (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id) === column.id ? 2 : column.getIsPinned() ? 1 : undefined,
2866
2874
  '&:hover': {
2867
2875
  backgroundColor: enableHover && enableEditing && editingMode !== 'row' ? theme.palette.mode === 'dark' ? lighten(theme.palette.background["default"], 0.13) + " !important" : darken(theme.palette.background["default"], 0.07) + " !important" : undefined
2868
2876
  }
2869
- }, tableCellProps == null ? void 0 : tableCellProps.sx, {
2877
+ }, tableCellProps == null ? void 0 : tableCellProps.sx, draggingBorders, {
2870
2878
  maxWidth: "min(" + column.getSize() + "px, fit-content)",
2871
2879
  minWidth: "max(" + column.getSize() + "px, " + ((_columnDef$minSize = columnDef.minSize) != null ? _columnDef$minSize : 30) + "px)",
2872
2880
  width: column.getSize()
@@ -2933,7 +2941,6 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2933
2941
 
2934
2942
  var row = _ref.row,
2935
2943
  rowIndex = _ref.rowIndex,
2936
- setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
2937
2944
  table = _ref.table;
2938
2945
  var getIsSomeColumnsPinned = table.getIsSomeColumnsPinned,
2939
2946
  _table$options = table.options,
@@ -2962,7 +2969,6 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2962
2969
  key: cell.id,
2963
2970
  enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
2964
2971
  rowIndex: rowIndex,
2965
- setCurrentHoveredColumn: setCurrentHoveredColumn,
2966
2972
  table: table
2967
2973
  });
2968
2974
  })), renderDetailPanel && !row.getIsGrouped() && React.createElement(MRT_TableDetailPanel, {
@@ -2972,8 +2978,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2972
2978
  };
2973
2979
 
2974
2980
  var MRT_TableBody = function MRT_TableBody(_ref) {
2975
- var setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
2976
- table = _ref.table,
2981
+ var table = _ref.table,
2977
2982
  tableContainerRef = _ref.tableContainerRef;
2978
2983
  var getRowModel = table.getRowModel,
2979
2984
  getPrePaginationRowModel = table.getPrePaginationRowModel,
@@ -3039,7 +3044,6 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
3039
3044
  key: row.id,
3040
3045
  row: row,
3041
3046
  rowIndex: enableRowVirtualization ? rowOrVirtualRow.index : rowIndex,
3042
- setCurrentHoveredColumn: setCurrentHoveredColumn,
3043
3047
  table: table
3044
3048
  });
3045
3049
  }), enableRowVirtualization && paddingBottom > 0 && React.createElement("tr", null, React.createElement("td", {
@@ -3157,11 +3161,6 @@ var MRT_Table = function MRT_Table(_ref) {
3157
3161
  var tableProps = muiTableProps instanceof Function ? muiTableProps({
3158
3162
  table: table
3159
3163
  }) : muiTableProps;
3160
-
3161
- var _useState = useState(null),
3162
- currentHoveredColumn = _useState[0],
3163
- setCurrentHoveredColumn = _useState[1];
3164
-
3165
3164
  return React.createElement(Table, Object.assign({
3166
3165
  stickyHeader: enableStickyHeader || enableRowVirtualization || isFullScreen
3167
3166
  }, tableProps, {
@@ -3169,11 +3168,8 @@ var MRT_Table = function MRT_Table(_ref) {
3169
3168
  tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : 'auto'
3170
3169
  }, tableProps == null ? void 0 : tableProps.sx)
3171
3170
  }), enableTableHead && React.createElement(MRT_TableHead, {
3172
- currentHoveredColumn: currentHoveredColumn,
3173
- setCurrentHoveredColumn: setCurrentHoveredColumn,
3174
3171
  table: table
3175
3172
  }), React.createElement(MRT_TableBody, {
3176
- setCurrentHoveredColumn: setCurrentHoveredColumn,
3177
3173
  tableContainerRef: tableContainerRef,
3178
3174
  table: table
3179
3175
  }), enableTableFooter && React.createElement(MRT_TableFooter, {
@@ -3273,7 +3269,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
3273
3269
  };
3274
3270
 
3275
3271
  var MRT_TableRoot = function MRT_TableRoot(props) {
3276
- 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$onCurrentEditi, _props$onCurrentEditi2, _props$onCurrentFilte, _props$onCurrentGloba, _props$onDensityChang, _props$onIsFullScreen, _props$onShowAlertBan, _props$onShowFiltersC, _props$onShowGlobalFi;
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;
3277
3273
 
3278
3274
  var _useState = useState(props.tableId),
3279
3275
  tableId = _useState[0],
@@ -3304,39 +3300,47 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3304
3300
  currentEditingRow = _useState4[0],
3305
3301
  setCurrentEditingRow = _useState4[1];
3306
3302
 
3307
- var _useState5 = useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
3308
- density = _useState5[0],
3309
- setDensity = _useState5[1];
3303
+ var _useState5 = useState(null),
3304
+ currentDraggingColumn = _useState5[0],
3305
+ setCurrentDraggingColumn = _useState5[1];
3306
+
3307
+ var _useState6 = useState(null),
3308
+ currentHoveredColumn = _useState6[0],
3309
+ setCurrentHoveredColumn = _useState6[1];
3310
+
3311
+ var _useState7 = useState((_initialState$density = initialState == null ? void 0 : initialState.density) != null ? _initialState$density : 'comfortable'),
3312
+ density = _useState7[0],
3313
+ setDensity = _useState7[1];
3310
3314
 
3311
- var _useState6 = useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
3312
- isFullScreen = _useState6[0],
3313
- setIsFullScreen = _useState6[1];
3315
+ var _useState8 = useState((_initialState$isFullS = initialState == null ? void 0 : initialState.isFullScreen) != null ? _initialState$isFullS : false),
3316
+ isFullScreen = _useState8[0],
3317
+ setIsFullScreen = _useState8[1];
3314
3318
 
3315
- var _useState7 = useState((_props$initialState$s = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.showAlertBanner) != null ? _props$initialState$s : false),
3316
- showAlertBanner = _useState7[0],
3317
- setShowAlertBanner = _useState7[1];
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];
3318
3322
 
3319
- var _useState8 = useState((_initialState$showCol = initialState == null ? void 0 : initialState.showColumnFilters) != null ? _initialState$showCol : false),
3320
- showColumnFilters = _useState8[0],
3321
- setShowFilters = _useState8[1];
3323
+ var _useState10 = useState((_initialState$showCol = initialState == null ? void 0 : initialState.showColumnFilters) != null ? _initialState$showCol : false),
3324
+ showColumnFilters = _useState10[0],
3325
+ setShowFilters = _useState10[1];
3322
3326
 
3323
- var _useState9 = useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
3324
- showGlobalFilter = _useState9[0],
3325
- setShowGlobalFilter = _useState9[1];
3327
+ var _useState11 = useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
3328
+ showGlobalFilter = _useState11[0],
3329
+ setShowGlobalFilter = _useState11[1];
3326
3330
 
3327
- var _useState10 = useState(function () {
3331
+ var _useState12 = useState(function () {
3328
3332
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (col) {
3329
3333
  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;
3330
3334
 
3331
3335
  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;
3332
3336
  })));
3333
3337
  }),
3334
- currentFilterFns = _useState10[0],
3335
- setCurrentFilterFns = _useState10[1];
3338
+ currentFilterFns = _useState12[0],
3339
+ setCurrentFilterFns = _useState12[1];
3336
3340
 
3337
- var _useState11 = useState(props.globalFilterFn instanceof String ? props.globalFilterFn : 'fuzzy'),
3338
- currentGlobalFilterFn = _useState11[0],
3339
- setCurrentGlobalFilterFn = _useState11[1];
3341
+ var _useState13 = useState(props.globalFilterFn instanceof String ? props.globalFilterFn : 'fuzzy'),
3342
+ currentGlobalFilterFn = _useState13[0],
3343
+ setCurrentGlobalFilterFn = _useState13[1];
3340
3344
 
3341
3345
  var displayColumns = useMemo(function () {
3342
3346
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
@@ -3448,10 +3452,12 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3448
3452
  initialState: initialState,
3449
3453
  state: _extends({
3450
3454
  columnOrder: columnOrder,
3455
+ currentDraggingColumn: currentDraggingColumn,
3451
3456
  currentEditingCell: currentEditingCell,
3452
3457
  currentEditingRow: currentEditingRow,
3453
3458
  currentFilterFns: currentFilterFns,
3454
3459
  currentGlobalFilterFn: currentGlobalFilterFn,
3460
+ currentHoveredColumn: currentHoveredColumn,
3455
3461
  density: density,
3456
3462
  isFullScreen: isFullScreen,
3457
3463
  showAlertBanner: showAlertBanner,
@@ -3460,10 +3466,12 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3460
3466
  }, props.state),
3461
3467
  tableId: tableId
3462
3468
  })), {
3469
+ setCurrentDraggingColumn: (_props$onCurrentDragg = props.onCurrentDraggingColumnChange) != null ? _props$onCurrentDragg : setCurrentDraggingColumn,
3463
3470
  setCurrentEditingCell: (_props$onCurrentEditi = props.onCurrentEditingCellChange) != null ? _props$onCurrentEditi : setCurrentEditingCell,
3464
3471
  setCurrentEditingRow: (_props$onCurrentEditi2 = props.onCurrentEditingRowChange) != null ? _props$onCurrentEditi2 : setCurrentEditingRow,
3465
3472
  setCurrentFilterFns: (_props$onCurrentFilte = props.onCurrentFilterFnsChange) != null ? _props$onCurrentFilte : setCurrentFilterFns,
3466
3473
  setCurrentGlobalFilterFn: (_props$onCurrentGloba = props.onCurrentGlobalFilterFnChange) != null ? _props$onCurrentGloba : setCurrentGlobalFilterFn,
3474
+ setCurrentHoveredColumn: (_props$onCurrentHover = props.onCurrentHoveredColumnChange) != null ? _props$onCurrentHover : setCurrentHoveredColumn,
3467
3475
  setDensity: (_props$onDensityChang = props.onDensityChange) != null ? _props$onDensityChang : setDensity,
3468
3476
  setIsFullScreen: (_props$onIsFullScreen = props.onIsFullScreenChange) != null ? _props$onIsFullScreen : setIsFullScreen,
3469
3477
  setShowAlertBanner: (_props$onShowAlertBan = props.onShowAlertBannerChange) != null ? _props$onShowAlertBan : setShowAlertBanner,
@@ -3490,6 +3498,16 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3490
3498
  };
3491
3499
 
3492
3500
  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
+
3493
3511
  var MaterialReactTable = (function (_ref) {
3494
3512
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3495
3513
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,