material-react-table 0.21.0 → 0.22.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.
- package/README.md +90 -18
- package/dist/MaterialReactTable.d.ts +159 -153
- package/dist/body/MRT_TableBody.d.ts +3 -2
- package/dist/body/MRT_TableBodyCell.d.ts +3 -2
- package/dist/body/MRT_TableBodyRow.d.ts +3 -2
- package/dist/buttons/MRT_GrabHandleButton.d.ts +3 -2
- package/dist/filtersFns.d.ts +22 -22
- package/dist/head/MRT_TableHead.d.ts +4 -2
- package/dist/head/MRT_TableHeadCell.d.ts +4 -6
- package/dist/head/MRT_TableHeadRow.d.ts +4 -2
- package/dist/material-react-table.cjs.development.js +189 -4422
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +152 -148
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +3 -1
- package/dist/sortingFns.d.ts +2 -2
- package/dist/table/MRT_TableRoot.d.ts +1 -1
- package/dist/utils.d.ts +7 -7
- package/package.json +6 -8
- package/src/MaterialReactTable.tsx +189 -174
- package/src/body/MRT_TableBody.tsx +9 -3
- package/src/body/MRT_TableBodyCell.tsx +15 -17
- package/src/body/MRT_TableBodyRow.tsx +10 -3
- package/src/buttons/MRT_CopyButton.tsx +0 -1
- package/src/buttons/MRT_GrabHandleButton.tsx +12 -5
- package/src/buttons/MRT_ToggleFiltersButton.tsx +3 -3
- package/src/filtersFns.ts +24 -24
- package/src/head/MRT_TableHead.tsx +11 -3
- package/src/head/MRT_TableHeadCell.tsx +49 -20
- package/src/head/MRT_TableHeadCellFilterContainer.tsx +2 -2
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +2 -2
- package/src/head/MRT_TableHeadRow.tsx +25 -20
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +6 -1
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +54 -27
- package/src/sortingFns.ts +6 -6
- package/src/table/MRT_Table.tsx +17 -4
- package/src/table/MRT_TableContainer.tsx +1 -1
- package/src/table/MRT_TablePaper.tsx +21 -25
- package/src/table/MRT_TableRoot.tsx +12 -13
- package/src/utils.ts +28 -22
- package/dist/head/MRT_DraggableTableHeadCell.d.ts +0 -8
- package/src/head/MRT_DraggableTableHeadCell.tsx +0 -43
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import React, { useMemo,
|
|
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
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';
|
|
5
|
-
import { useDrop, useDrag, DndProvider } from 'react-dnd';
|
|
6
5
|
import { rankItem, rankings, compareItems } from '@tanstack/match-sorter-utils';
|
|
7
|
-
import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
8
6
|
import { useVirtual } from 'react-virtual';
|
|
9
7
|
|
|
10
8
|
function _extends() {
|
|
@@ -415,8 +413,10 @@ var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
|
|
|
415
413
|
})))));
|
|
416
414
|
};
|
|
417
415
|
|
|
418
|
-
var MRT_GrabHandleButton =
|
|
419
|
-
var
|
|
416
|
+
var MRT_GrabHandleButton = function MRT_GrabHandleButton(_ref) {
|
|
417
|
+
var handleDragStart = _ref.handleDragStart,
|
|
418
|
+
handleDragEnd = _ref.handleDragEnd,
|
|
419
|
+
table = _ref.table;
|
|
420
420
|
var _table$options = table.options,
|
|
421
421
|
DragHandleIcon = _table$options.icons.DragHandleIcon,
|
|
422
422
|
localization = _table$options.localization;
|
|
@@ -428,7 +428,9 @@ var MRT_GrabHandleButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
428
428
|
title: localization.grab
|
|
429
429
|
}, React.createElement(IconButton, {
|
|
430
430
|
disableRipple: true,
|
|
431
|
-
|
|
431
|
+
draggable: "true",
|
|
432
|
+
onDragStart: handleDragStart,
|
|
433
|
+
onDragEnd: handleDragEnd,
|
|
432
434
|
size: "small",
|
|
433
435
|
sx: {
|
|
434
436
|
cursor: 'grab',
|
|
@@ -445,7 +447,7 @@ var MRT_GrabHandleButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
445
447
|
}
|
|
446
448
|
}
|
|
447
449
|
}, React.createElement(DragHandleIcon, null)));
|
|
448
|
-
}
|
|
450
|
+
};
|
|
449
451
|
|
|
450
452
|
var fuzzy = function fuzzy(row, columnId, filterValue, addMeta) {
|
|
451
453
|
var itemRank = rankItem(row.getValue(columnId), filterValue, {
|
|
@@ -664,6 +666,8 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
664
666
|
var _column$columns2;
|
|
665
667
|
|
|
666
668
|
var allColumns = _ref.allColumns,
|
|
669
|
+
currentHoveredColumn = _ref.currentHoveredColumn,
|
|
670
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
|
667
671
|
column = _ref.column,
|
|
668
672
|
isSubMenu = _ref.isSubMenu,
|
|
669
673
|
table = _ref.table;
|
|
@@ -680,30 +684,6 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
680
684
|
|
|
681
685
|
var columnDef = column.columnDef;
|
|
682
686
|
var columnDefType = columnDef.columnDefType;
|
|
683
|
-
|
|
684
|
-
var _useDrop = useDrop({
|
|
685
|
-
accept: 'column',
|
|
686
|
-
drop: function drop(movingColumn) {
|
|
687
|
-
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
|
688
|
-
setColumnOrder(newColumnOrder);
|
|
689
|
-
}
|
|
690
|
-
}),
|
|
691
|
-
dropRef = _useDrop[1];
|
|
692
|
-
|
|
693
|
-
var _useDrag = useDrag({
|
|
694
|
-
collect: function collect(monitor) {
|
|
695
|
-
return {
|
|
696
|
-
isDragging: monitor.isDragging()
|
|
697
|
-
};
|
|
698
|
-
},
|
|
699
|
-
item: function item() {
|
|
700
|
-
return column;
|
|
701
|
-
},
|
|
702
|
-
type: 'column'
|
|
703
|
-
}),
|
|
704
|
-
dragRef = _useDrag[1],
|
|
705
|
-
previewRef = _useDrag[2];
|
|
706
|
-
|
|
707
687
|
var switchChecked = columnDefType !== 'group' && column.getIsVisible() || columnDefType === 'group' && column.getLeafColumns().some(function (col) {
|
|
708
688
|
return col.getIsVisible();
|
|
709
689
|
});
|
|
@@ -720,32 +700,64 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
720
700
|
}
|
|
721
701
|
};
|
|
722
702
|
|
|
703
|
+
var menuItemRef = React.useRef(null);
|
|
704
|
+
|
|
705
|
+
var _useState = useState(false),
|
|
706
|
+
isDragging = _useState[0],
|
|
707
|
+
setIsDragging = _useState[1];
|
|
708
|
+
|
|
709
|
+
var handleDragStart = function handleDragStart(e) {
|
|
710
|
+
setIsDragging(true);
|
|
711
|
+
e.dataTransfer.setDragImage(menuItemRef.current, 0, 0);
|
|
712
|
+
};
|
|
713
|
+
|
|
714
|
+
var handleDragEnd = function handleDragEnd(_e) {
|
|
715
|
+
setIsDragging(false);
|
|
716
|
+
setCurrentHoveredColumn(null);
|
|
717
|
+
|
|
718
|
+
if (currentHoveredColumn) {
|
|
719
|
+
setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
|
|
720
|
+
}
|
|
721
|
+
};
|
|
722
|
+
|
|
723
|
+
var handleDragEnter = function handleDragEnter(_e) {
|
|
724
|
+
if (!isDragging) {
|
|
725
|
+
setCurrentHoveredColumn(column);
|
|
726
|
+
}
|
|
727
|
+
};
|
|
728
|
+
|
|
723
729
|
return React.createElement(React.Fragment, null, React.createElement(MenuItem, {
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
730
|
+
disableRipple: enableColumnOrdering,
|
|
731
|
+
ref: menuItemRef,
|
|
732
|
+
onDragEnter: handleDragEnter,
|
|
733
|
+
sx: function sx(theme) {
|
|
734
|
+
return {
|
|
735
|
+
alignItems: 'center',
|
|
736
|
+
justifyContent: 'flex-start',
|
|
737
|
+
my: 0,
|
|
738
|
+
opacity: isDragging ? 0.5 : 1,
|
|
739
|
+
outline: isDragging ? "1px dashed " + theme.palette.divider : (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? "2px dashed " + theme.palette.primary.main : 'none',
|
|
740
|
+
pl: (column.depth + 0.5) * 2 + "rem",
|
|
741
|
+
py: '6px'
|
|
742
|
+
};
|
|
731
743
|
}
|
|
732
744
|
}, React.createElement(Box, {
|
|
733
|
-
ref: previewRef,
|
|
734
745
|
sx: {
|
|
735
746
|
display: 'flex',
|
|
736
747
|
flexWrap: 'nowrap',
|
|
737
748
|
gap: '8px'
|
|
738
749
|
}
|
|
739
|
-
}, columnDefType !== 'group' && enableColumnOrdering && !allColumns.some(function (col) {
|
|
750
|
+
}, !isSubMenu && columnDefType !== 'group' && enableColumnOrdering && !allColumns.some(function (col) {
|
|
740
751
|
return col.columnDef.columnDefType === 'group';
|
|
741
752
|
}) && (columnDef.enableColumnOrdering !== false ? React.createElement(MRT_GrabHandleButton, {
|
|
742
|
-
|
|
753
|
+
handleDragEnd: handleDragEnd,
|
|
754
|
+
handleDragStart: handleDragStart,
|
|
743
755
|
table: table
|
|
744
756
|
}) : React.createElement(Box, {
|
|
745
757
|
sx: {
|
|
746
758
|
width: '28px'
|
|
747
759
|
}
|
|
748
|
-
})),
|
|
760
|
+
})), !isSubMenu && enablePinning && (column.getCanPin() ? React.createElement(MRT_ColumnPinningButtons, {
|
|
749
761
|
column: column,
|
|
750
762
|
table: table
|
|
751
763
|
}) : React.createElement(Box, {
|
|
@@ -780,9 +792,11 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
780
792
|
}, columnDef.header))), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
|
|
781
793
|
return React.createElement(MRT_ShowHideColumnsMenuItems, {
|
|
782
794
|
allColumns: allColumns,
|
|
783
|
-
key: i + "-" + c.id,
|
|
784
795
|
column: c,
|
|
796
|
+
currentHoveredColumn: currentHoveredColumn,
|
|
785
797
|
isSubMenu: isSubMenu,
|
|
798
|
+
key: i + "-" + c.id,
|
|
799
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
|
786
800
|
table: table
|
|
787
801
|
});
|
|
788
802
|
}));
|
|
@@ -836,6 +850,11 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
|
836
850
|
|
|
837
851
|
return columns;
|
|
838
852
|
}, [columnOrder, columnPinning, getAllColumns(), getCenterLeafColumns(), getLeftLeafColumns(), getRightLeafColumns()]);
|
|
853
|
+
|
|
854
|
+
var _useState = useState(null),
|
|
855
|
+
currentHoveredColumn = _useState[0],
|
|
856
|
+
setCurrentHoveredColumn = _useState[1];
|
|
857
|
+
|
|
839
858
|
return React.createElement(Menu, {
|
|
840
859
|
anchorEl: anchorEl,
|
|
841
860
|
open: !!anchorEl,
|
|
@@ -873,8 +892,10 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
|
873
892
|
return React.createElement(MRT_ShowHideColumnsMenuItems, {
|
|
874
893
|
allColumns: allColumns,
|
|
875
894
|
column: column,
|
|
895
|
+
currentHoveredColumn: currentHoveredColumn,
|
|
876
896
|
isSubMenu: isSubMenu,
|
|
877
897
|
key: index + "-" + column.id,
|
|
898
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
|
878
899
|
table: table
|
|
879
900
|
});
|
|
880
901
|
}));
|
|
@@ -1477,10 +1498,10 @@ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
|
|
|
1477
1498
|
setShowFilters = table.setShowFilters;
|
|
1478
1499
|
|
|
1479
1500
|
var _getState = getState(),
|
|
1480
|
-
|
|
1501
|
+
showColumnFilters = _getState.showColumnFilters;
|
|
1481
1502
|
|
|
1482
1503
|
var handleToggleShowFilters = function handleToggleShowFilters() {
|
|
1483
|
-
setShowFilters(!
|
|
1504
|
+
setShowFilters(!showColumnFilters);
|
|
1484
1505
|
};
|
|
1485
1506
|
|
|
1486
1507
|
return React.createElement(Tooltip, {
|
|
@@ -1489,7 +1510,7 @@ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
|
|
|
1489
1510
|
}, React.createElement(IconButton, Object.assign({
|
|
1490
1511
|
"aria-label": localization.showHideFilters,
|
|
1491
1512
|
onClick: handleToggleShowFilters
|
|
1492
|
-
}, rest),
|
|
1513
|
+
}, rest), showColumnFilters ? React.createElement(FilterListOffIcon, null) : React.createElement(FilterListIcon, null)));
|
|
1493
1514
|
};
|
|
1494
1515
|
|
|
1495
1516
|
var _excluded$4 = ["table"];
|
|
@@ -2204,11 +2225,11 @@ var MRT_TableHeadCellFilterContainer = function MRT_TableHeadCellFilterContainer
|
|
|
2204
2225
|
|
|
2205
2226
|
var _getState = getState(),
|
|
2206
2227
|
currentFilterFns = _getState.currentFilterFns,
|
|
2207
|
-
|
|
2228
|
+
showColumnFilters = _getState.showColumnFilters;
|
|
2208
2229
|
|
|
2209
2230
|
var column = header.column;
|
|
2210
2231
|
return React.createElement(Collapse, {
|
|
2211
|
-
"in":
|
|
2232
|
+
"in": showColumnFilters,
|
|
2212
2233
|
mountOnEnter: true,
|
|
2213
2234
|
unmountOnExit: true
|
|
2214
2235
|
}, currentFilterFns[column.id] === 'between' ? React.createElement(MRT_FilterRangeFields, {
|
|
@@ -2272,7 +2293,7 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
|
|
|
2272
2293
|
|
|
2273
2294
|
var _getState = getState(),
|
|
2274
2295
|
density = _getState.density,
|
|
2275
|
-
|
|
2296
|
+
showColumnFilters = _getState.showColumnFilters;
|
|
2276
2297
|
|
|
2277
2298
|
var column = header.column;
|
|
2278
2299
|
var columnDef = column.columnDef;
|
|
@@ -2288,7 +2309,7 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
|
|
|
2288
2309
|
borderRadius: '2px',
|
|
2289
2310
|
borderRightWidth: '2px',
|
|
2290
2311
|
cursor: 'col-resize',
|
|
2291
|
-
height:
|
|
2312
|
+
height: showColumnFilters && columnDefType === 'data' ? '4rem' : '2rem',
|
|
2292
2313
|
mr: density === 'compact' ? '-0.5rem' : '-1rem',
|
|
2293
2314
|
opacity: 0.8,
|
|
2294
2315
|
position: 'absolute',
|
|
@@ -2396,12 +2417,10 @@ var MRT_TableHeadCellColumnActionsButton = function MRT_TableHeadCellColumnActio
|
|
|
2396
2417
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
2397
2418
|
var _ref2, _columnDef$header$len, _columnDef$header;
|
|
2398
2419
|
|
|
2399
|
-
var
|
|
2400
|
-
|
|
2420
|
+
var currentHoveredColumn = _ref.currentHoveredColumn,
|
|
2421
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
|
2401
2422
|
header = _ref.header,
|
|
2402
|
-
table = _ref.table
|
|
2403
|
-
isDragging = _ref.isDragging,
|
|
2404
|
-
previewRef = _ref.previewRef;
|
|
2423
|
+
table = _ref.table;
|
|
2405
2424
|
var getState = table.getState,
|
|
2406
2425
|
_table$options = table.options,
|
|
2407
2426
|
enableColumnActions = _table$options.enableColumnActions,
|
|
@@ -2409,11 +2428,12 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2409
2428
|
enableColumnResizing = _table$options.enableColumnResizing,
|
|
2410
2429
|
enableGrouping = _table$options.enableGrouping,
|
|
2411
2430
|
enableMultiSort = _table$options.enableMultiSort,
|
|
2412
|
-
muiTableHeadCellProps = _table$options.muiTableHeadCellProps
|
|
2431
|
+
muiTableHeadCellProps = _table$options.muiTableHeadCellProps,
|
|
2432
|
+
setColumnOrder = table.setColumnOrder;
|
|
2413
2433
|
|
|
2414
2434
|
var _getState = getState(),
|
|
2415
|
-
|
|
2416
|
-
|
|
2435
|
+
columnOrder = _getState.columnOrder,
|
|
2436
|
+
density = _getState.density;
|
|
2417
2437
|
|
|
2418
2438
|
var column = header.column;
|
|
2419
2439
|
var columnDef = column.columnDef;
|
|
@@ -2446,30 +2466,56 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2446
2466
|
return (table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
|
|
2447
2467
|
};
|
|
2448
2468
|
|
|
2469
|
+
var tableHeadCellRef = React.useRef(null);
|
|
2470
|
+
|
|
2471
|
+
var _useState = useState(false),
|
|
2472
|
+
isDragging = _useState[0],
|
|
2473
|
+
setIsDragging = _useState[1];
|
|
2474
|
+
|
|
2475
|
+
var handleDragStart = function handleDragStart(e) {
|
|
2476
|
+
setIsDragging(true);
|
|
2477
|
+
e.dataTransfer.setDragImage(tableHeadCellRef.current, 0, 0);
|
|
2478
|
+
};
|
|
2479
|
+
|
|
2480
|
+
var handleDragEnd = function handleDragEnd(_e) {
|
|
2481
|
+
setIsDragging(false);
|
|
2482
|
+
setCurrentHoveredColumn(null);
|
|
2483
|
+
|
|
2484
|
+
if (currentHoveredColumn) {
|
|
2485
|
+
setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
|
|
2486
|
+
}
|
|
2487
|
+
};
|
|
2488
|
+
|
|
2489
|
+
var handleDragEnter = function handleDragEnter(_e) {
|
|
2490
|
+
setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
|
|
2491
|
+
};
|
|
2492
|
+
|
|
2449
2493
|
return React.createElement(TableCell, Object.assign({
|
|
2450
2494
|
align: columnDefType === 'group' ? 'center' : 'left',
|
|
2451
|
-
colSpan: header.colSpan
|
|
2495
|
+
colSpan: header.colSpan,
|
|
2496
|
+
onDragEnter: handleDragEnter,
|
|
2497
|
+
ref: tableHeadCellRef
|
|
2452
2498
|
}, tableCellProps, {
|
|
2453
|
-
ref: columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined,
|
|
2454
2499
|
sx: function sx(theme) {
|
|
2455
2500
|
var _columnDef$minSize;
|
|
2456
2501
|
|
|
2457
2502
|
return _extends({
|
|
2458
2503
|
backgroundColor: column.getIsPinned() && columnDefType !== 'group' ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
|
|
2459
2504
|
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,
|
|
2460
2506
|
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,
|
|
2461
2507
|
fontWeight: 'bold',
|
|
2462
|
-
height: '100%',
|
|
2463
2508
|
left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
|
|
2464
2509
|
overflow: 'visible',
|
|
2510
|
+
opacity: isDragging ? 0.5 : 1,
|
|
2465
2511
|
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',
|
|
2466
2512
|
pb: columnDefType === 'display' ? 0 : undefined,
|
|
2467
2513
|
position: column.getIsPinned() && columnDefType !== 'group' ? 'sticky' : undefined,
|
|
2468
|
-
pt: columnDefType
|
|
2514
|
+
pt: columnDefType === 'group' ? 0 : density === 'compact' ? '0.25' : density === 'comfortable' ? '.75rem' : '1.25rem',
|
|
2469
2515
|
right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
|
|
2470
2516
|
transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
|
|
2471
2517
|
userSelect: enableMultiSort && column.getCanSort() ? 'none' : undefined,
|
|
2472
|
-
verticalAlign:
|
|
2518
|
+
verticalAlign: 'text-top',
|
|
2473
2519
|
zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && columnDefType !== 'group' ? 2 : 1
|
|
2474
2520
|
}, tableCellProps == null ? void 0 : tableCellProps.sx, {
|
|
2475
2521
|
maxWidth: "min(" + column.getSize() + "px, fit-content)",
|
|
@@ -2478,7 +2524,6 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2478
2524
|
});
|
|
2479
2525
|
}
|
|
2480
2526
|
}), header.isPlaceholder ? null : columnDefType === 'display' ? headerElement : React.createElement(Box, {
|
|
2481
|
-
ref: previewRef,
|
|
2482
2527
|
sx: {
|
|
2483
2528
|
alignItems: 'flex-start',
|
|
2484
2529
|
display: 'flex',
|
|
@@ -2507,7 +2552,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2507
2552
|
whiteSpace: 'nowrap'
|
|
2508
2553
|
}
|
|
2509
2554
|
}, columnDefType === 'data' && (enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React.createElement(MRT_GrabHandleButton, {
|
|
2510
|
-
|
|
2555
|
+
handleDragStart: handleDragStart,
|
|
2556
|
+
handleDragEnd: handleDragEnd,
|
|
2511
2557
|
table: table
|
|
2512
2558
|
}), (enableColumnActions || columnDef.enableColumnActions) && columnDef.enableColumnActions !== false && columnDefType !== 'group' && React.createElement(MRT_TableHeadCellColumnActionsButton, {
|
|
2513
2559
|
header: header,
|
|
@@ -2521,58 +2567,12 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2521
2567
|
}));
|
|
2522
2568
|
};
|
|
2523
2569
|
|
|
2524
|
-
var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
|
|
2525
|
-
var header = _ref.header,
|
|
2526
|
-
table = _ref.table;
|
|
2527
|
-
var getState = table.getState,
|
|
2528
|
-
setColumnOrder = table.setColumnOrder;
|
|
2529
|
-
|
|
2530
|
-
var _getState = getState(),
|
|
2531
|
-
columnOrder = _getState.columnOrder;
|
|
2532
|
-
|
|
2533
|
-
var column = header.column;
|
|
2534
|
-
|
|
2535
|
-
var _useDrop = useDrop({
|
|
2536
|
-
accept: 'column',
|
|
2537
|
-
drop: function drop(movingColumn) {
|
|
2538
|
-
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
|
2539
|
-
setColumnOrder(newColumnOrder);
|
|
2540
|
-
}
|
|
2541
|
-
}),
|
|
2542
|
-
dropRef = _useDrop[1];
|
|
2543
|
-
|
|
2544
|
-
var _useDrag = useDrag({
|
|
2545
|
-
collect: function collect(monitor) {
|
|
2546
|
-
return {
|
|
2547
|
-
isDragging: monitor.isDragging()
|
|
2548
|
-
};
|
|
2549
|
-
},
|
|
2550
|
-
item: function item() {
|
|
2551
|
-
return column;
|
|
2552
|
-
},
|
|
2553
|
-
type: 'column'
|
|
2554
|
-
}),
|
|
2555
|
-
isDragging = _useDrag[0].isDragging,
|
|
2556
|
-
dragRef = _useDrag[1],
|
|
2557
|
-
previewRef = _useDrag[2];
|
|
2558
|
-
|
|
2559
|
-
return React.createElement(MRT_TableHeadCell, {
|
|
2560
|
-
dragRef: dragRef,
|
|
2561
|
-
dropRef: dropRef,
|
|
2562
|
-
header: header,
|
|
2563
|
-
isDragging: isDragging,
|
|
2564
|
-
previewRef: previewRef,
|
|
2565
|
-
table: table
|
|
2566
|
-
});
|
|
2567
|
-
};
|
|
2568
|
-
|
|
2569
2570
|
var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
2570
|
-
var
|
|
2571
|
+
var currentHoveredColumn = _ref.currentHoveredColumn,
|
|
2572
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
|
2573
|
+
headerGroup = _ref.headerGroup,
|
|
2571
2574
|
table = _ref.table;
|
|
2572
|
-
var
|
|
2573
|
-
enableColumnOrdering = _table$options.enableColumnOrdering,
|
|
2574
|
-
enableGrouping = _table$options.enableGrouping,
|
|
2575
|
-
muiTableHeadRowProps = _table$options.muiTableHeadRowProps;
|
|
2575
|
+
var muiTableHeadRowProps = table.options.muiTableHeadRowProps;
|
|
2576
2576
|
var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
|
|
2577
2577
|
headerGroup: headerGroup,
|
|
2578
2578
|
table: table
|
|
@@ -2585,11 +2585,9 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
|
2585
2585
|
}, tableRowProps == null ? void 0 : tableRowProps.sx);
|
|
2586
2586
|
}
|
|
2587
2587
|
}), headerGroup.headers.map(function (header, index) {
|
|
2588
|
-
return
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
table: table
|
|
2592
|
-
}) : React.createElement(MRT_TableHeadCell, {
|
|
2588
|
+
return React.createElement(MRT_TableHeadCell, {
|
|
2589
|
+
currentHoveredColumn: currentHoveredColumn,
|
|
2590
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
|
2593
2591
|
header: header,
|
|
2594
2592
|
key: header.id || index,
|
|
2595
2593
|
table: table
|
|
@@ -2598,7 +2596,9 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
|
2598
2596
|
};
|
|
2599
2597
|
|
|
2600
2598
|
var MRT_TableHead = function MRT_TableHead(_ref) {
|
|
2601
|
-
var
|
|
2599
|
+
var currentHoveredColumn = _ref.currentHoveredColumn,
|
|
2600
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
|
2601
|
+
table = _ref.table;
|
|
2602
2602
|
var getHeaderGroups = table.getHeaderGroups,
|
|
2603
2603
|
muiTableHeadProps = table.options.muiTableHeadProps;
|
|
2604
2604
|
var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps({
|
|
@@ -2606,6 +2606,8 @@ var MRT_TableHead = function MRT_TableHead(_ref) {
|
|
|
2606
2606
|
}) : muiTableHeadProps;
|
|
2607
2607
|
return React.createElement(TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map(function (headerGroup) {
|
|
2608
2608
|
return React.createElement(MRT_TableHeadRow, {
|
|
2609
|
+
currentHoveredColumn: currentHoveredColumn,
|
|
2610
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
|
2609
2611
|
headerGroup: headerGroup,
|
|
2610
2612
|
key: headerGroup.id,
|
|
2611
2613
|
table: table
|
|
@@ -2739,7 +2741,6 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
|
|
|
2739
2741
|
placement: "top",
|
|
2740
2742
|
title: copied ? localization.copiedToClipboard : localization.clickToCopy
|
|
2741
2743
|
}, React.createElement(Button, Object.assign({
|
|
2742
|
-
"aria-label": localization.clickToCopy,
|
|
2743
2744
|
onClick: function onClick() {
|
|
2744
2745
|
return handleCopy(cell.getValue());
|
|
2745
2746
|
},
|
|
@@ -2769,23 +2770,21 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2769
2770
|
var cell = _ref.cell,
|
|
2770
2771
|
enableHover = _ref.enableHover,
|
|
2771
2772
|
rowIndex = _ref.rowIndex,
|
|
2773
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
|
2772
2774
|
table = _ref.table;
|
|
2773
2775
|
var getState = table.getState,
|
|
2774
2776
|
_table$options = table.options,
|
|
2775
2777
|
editingMode = _table$options.editingMode,
|
|
2776
2778
|
enableClickToCopy = _table$options.enableClickToCopy,
|
|
2777
|
-
enableColumnOrdering = _table$options.enableColumnOrdering,
|
|
2778
2779
|
enableEditing = _table$options.enableEditing,
|
|
2779
2780
|
enableRowNumbers = _table$options.enableRowNumbers,
|
|
2780
2781
|
muiTableBodyCellProps = _table$options.muiTableBodyCellProps,
|
|
2781
2782
|
muiTableBodyCellSkeletonProps = _table$options.muiTableBodyCellSkeletonProps,
|
|
2782
2783
|
rowNumberMode = _table$options.rowNumberMode,
|
|
2783
2784
|
tableId = _table$options.tableId,
|
|
2784
|
-
setColumnOrder = table.setColumnOrder,
|
|
2785
2785
|
setCurrentEditingCell = table.setCurrentEditingCell;
|
|
2786
2786
|
|
|
2787
2787
|
var _getState = getState(),
|
|
2788
|
-
columnOrder = _getState.columnOrder,
|
|
2789
2788
|
currentEditingCell = _getState.currentEditingCell,
|
|
2790
2789
|
currentEditingRow = _getState.currentEditingRow,
|
|
2791
2790
|
density = _getState.density,
|
|
@@ -2796,16 +2795,6 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2796
2795
|
row = cell.row;
|
|
2797
2796
|
var columnDef = column.columnDef;
|
|
2798
2797
|
var columnDefType = columnDef.columnDefType;
|
|
2799
|
-
|
|
2800
|
-
var _useDrop = useDrop({
|
|
2801
|
-
accept: 'column',
|
|
2802
|
-
drop: function drop(movingColumn) {
|
|
2803
|
-
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
|
2804
|
-
setColumnOrder(newColumnOrder);
|
|
2805
|
-
}
|
|
2806
|
-
}),
|
|
2807
|
-
dropRef = _useDrop[1];
|
|
2808
|
-
|
|
2809
2798
|
var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps({
|
|
2810
2799
|
cell: cell,
|
|
2811
2800
|
table: table
|
|
@@ -2849,10 +2838,14 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2849
2838
|
return (table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
|
|
2850
2839
|
};
|
|
2851
2840
|
|
|
2841
|
+
var handleDragEnter = function handleDragEnter(_e) {
|
|
2842
|
+
setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
|
|
2843
|
+
};
|
|
2844
|
+
|
|
2852
2845
|
return React.createElement(TableCell, Object.assign({
|
|
2853
|
-
onDoubleClick: handleDoubleClick
|
|
2846
|
+
onDoubleClick: handleDoubleClick,
|
|
2847
|
+
onDragEnter: handleDragEnter
|
|
2854
2848
|
}, tableCellProps, {
|
|
2855
|
-
ref: columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined,
|
|
2856
2849
|
sx: function sx(theme) {
|
|
2857
2850
|
var _columnDef$minSize;
|
|
2858
2851
|
|
|
@@ -2940,6 +2933,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
2940
2933
|
|
|
2941
2934
|
var row = _ref.row,
|
|
2942
2935
|
rowIndex = _ref.rowIndex,
|
|
2936
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
|
2943
2937
|
table = _ref.table;
|
|
2944
2938
|
var getIsSomeColumnsPinned = table.getIsSomeColumnsPinned,
|
|
2945
2939
|
_table$options = table.options,
|
|
@@ -2968,6 +2962,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
2968
2962
|
key: cell.id,
|
|
2969
2963
|
enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
|
|
2970
2964
|
rowIndex: rowIndex,
|
|
2965
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
|
2971
2966
|
table: table
|
|
2972
2967
|
});
|
|
2973
2968
|
})), renderDetailPanel && !row.getIsGrouped() && React.createElement(MRT_TableDetailPanel, {
|
|
@@ -2977,7 +2972,8 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
2977
2972
|
};
|
|
2978
2973
|
|
|
2979
2974
|
var MRT_TableBody = function MRT_TableBody(_ref) {
|
|
2980
|
-
var
|
|
2975
|
+
var setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
|
2976
|
+
table = _ref.table,
|
|
2981
2977
|
tableContainerRef = _ref.tableContainerRef;
|
|
2982
2978
|
var getRowModel = table.getRowModel,
|
|
2983
2979
|
getPrePaginationRowModel = table.getPrePaginationRowModel,
|
|
@@ -3043,6 +3039,7 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
|
|
|
3043
3039
|
key: row.id,
|
|
3044
3040
|
row: row,
|
|
3045
3041
|
rowIndex: enableRowVirtualization ? rowOrVirtualRow.index : rowIndex,
|
|
3042
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
|
3046
3043
|
table: table
|
|
3047
3044
|
});
|
|
3048
3045
|
}), enableRowVirtualization && paddingBottom > 0 && React.createElement("tr", null, React.createElement("td", {
|
|
@@ -3160,6 +3157,11 @@ var MRT_Table = function MRT_Table(_ref) {
|
|
|
3160
3157
|
var tableProps = muiTableProps instanceof Function ? muiTableProps({
|
|
3161
3158
|
table: table
|
|
3162
3159
|
}) : muiTableProps;
|
|
3160
|
+
|
|
3161
|
+
var _useState = useState(null),
|
|
3162
|
+
currentHoveredColumn = _useState[0],
|
|
3163
|
+
setCurrentHoveredColumn = _useState[1];
|
|
3164
|
+
|
|
3163
3165
|
return React.createElement(Table, Object.assign({
|
|
3164
3166
|
stickyHeader: enableStickyHeader || enableRowVirtualization || isFullScreen
|
|
3165
3167
|
}, tableProps, {
|
|
@@ -3167,8 +3169,11 @@ var MRT_Table = function MRT_Table(_ref) {
|
|
|
3167
3169
|
tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : 'auto'
|
|
3168
3170
|
}, tableProps == null ? void 0 : tableProps.sx)
|
|
3169
3171
|
}), enableTableHead && React.createElement(MRT_TableHead, {
|
|
3172
|
+
currentHoveredColumn: currentHoveredColumn,
|
|
3173
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
|
3170
3174
|
table: table
|
|
3171
3175
|
}), React.createElement(MRT_TableBody, {
|
|
3176
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
|
3172
3177
|
tableContainerRef: tableContainerRef,
|
|
3173
3178
|
table: table
|
|
3174
3179
|
}), enableTableFooter && React.createElement(MRT_TableFooter, {
|
|
@@ -3204,8 +3209,9 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
|
|
|
3204
3209
|
setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
|
|
3205
3210
|
});
|
|
3206
3211
|
var tableContainerRef = React.useRef(null);
|
|
3207
|
-
return React.createElement(TableContainer, Object.assign({
|
|
3208
|
-
ref: tableContainerRef
|
|
3212
|
+
return React.createElement(TableContainer, Object.assign({
|
|
3213
|
+
ref: tableContainerRef
|
|
3214
|
+
}, tableContainerProps, {
|
|
3209
3215
|
sx: _extends({
|
|
3210
3216
|
maxWidth: '100%',
|
|
3211
3217
|
maxHeight: enableStickyHeader || enableRowVirtualization ? "clamp(350px, calc(100vh - " + totalToolbarHeight + "px), 9999px)" : undefined,
|
|
@@ -3243,9 +3249,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
3243
3249
|
var tablePaperProps = muiTablePaperProps instanceof Function ? muiTablePaperProps({
|
|
3244
3250
|
table: table
|
|
3245
3251
|
}) : muiTablePaperProps;
|
|
3246
|
-
return React.createElement(
|
|
3247
|
-
backend: HTML5Backend
|
|
3248
|
-
}, React.createElement(Paper, Object.assign({
|
|
3252
|
+
return React.createElement(Paper, Object.assign({
|
|
3249
3253
|
elevation: 2
|
|
3250
3254
|
}, tablePaperProps, {
|
|
3251
3255
|
sx: _extends({
|
|
@@ -3265,11 +3269,11 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
3265
3269
|
table: table
|
|
3266
3270
|
}), enableToolbarBottom && React.createElement(MRT_ToolbarBottom, {
|
|
3267
3271
|
table: table
|
|
3268
|
-
}))
|
|
3272
|
+
}));
|
|
3269
3273
|
};
|
|
3270
3274
|
|
|
3271
3275
|
var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
3272
|
-
var _initialState$columnO, _initialState$current, _initialState$current2, _initialState$density, _initialState$isFullS, _props$initialState$s, _props$initialState2, _initialState$
|
|
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;
|
|
3273
3277
|
|
|
3274
3278
|
var _useState = useState(props.tableId),
|
|
3275
3279
|
tableId = _useState[0],
|
|
@@ -3312,8 +3316,8 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3312
3316
|
showAlertBanner = _useState7[0],
|
|
3313
3317
|
setShowAlertBanner = _useState7[1];
|
|
3314
3318
|
|
|
3315
|
-
var _useState8 = useState((_initialState$
|
|
3316
|
-
|
|
3319
|
+
var _useState8 = useState((_initialState$showCol = initialState == null ? void 0 : initialState.showColumnFilters) != null ? _initialState$showCol : false),
|
|
3320
|
+
showColumnFilters = _useState8[0],
|
|
3317
3321
|
setShowFilters = _useState8[1];
|
|
3318
3322
|
|
|
3319
3323
|
var _useState9 = useState((_initialState$showGlo = initialState == null ? void 0 : initialState.showGlobalFilter) != null ? _initialState$showGlo : false),
|
|
@@ -3451,7 +3455,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3451
3455
|
density: density,
|
|
3452
3456
|
isFullScreen: isFullScreen,
|
|
3453
3457
|
showAlertBanner: showAlertBanner,
|
|
3454
|
-
|
|
3458
|
+
showColumnFilters: showColumnFilters,
|
|
3455
3459
|
showGlobalFilter: showGlobalFilter
|
|
3456
3460
|
}, props.state),
|
|
3457
3461
|
tableId: tableId
|