material-react-table 0.22.2 → 0.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,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,