material-react-table 0.8.11 → 0.8.14

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.
Files changed (34) hide show
  1. package/dist/MaterialReactTable.d.ts +7 -5
  2. package/dist/buttons/MRT_GrabHandleButton.d.ts +8 -0
  3. package/dist/localization.d.ts +1 -0
  4. package/dist/material-react-table.cjs.development.js +2087 -2033
  5. package/dist/material-react-table.cjs.development.js.map +1 -1
  6. package/dist/material-react-table.cjs.production.min.js +1 -1
  7. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  8. package/dist/material-react-table.esm.js +233 -179
  9. package/dist/material-react-table.esm.js.map +1 -1
  10. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
  11. package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -0
  12. package/dist/table/MRT_TableRoot.d.ts +0 -1
  13. package/dist/utils.d.ts +1 -1
  14. package/package.json +12 -12
  15. package/src/MaterialReactTable.tsx +8 -6
  16. package/src/body/MRT_TableBodyCell.tsx +8 -9
  17. package/src/buttons/MRT_ColumnPinningButtons.tsx +1 -1
  18. package/src/buttons/MRT_CopyButton.tsx +7 -3
  19. package/src/{head/MRT_TableHeadCellGrabHandle.tsx → buttons/MRT_GrabHandleButton.tsx} +2 -3
  20. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +5 -4
  21. package/src/footer/MRT_TableFooterCell.tsx +2 -2
  22. package/src/footer/MRT_TableFooterRow.tsx +4 -4
  23. package/src/head/MRT_DraggableTableHeadCell.tsx +15 -9
  24. package/src/head/MRT_TableHeadCell.tsx +6 -12
  25. package/src/head/MRT_TableHeadCellFilterLabel.tsx +3 -1
  26. package/src/head/MRT_TableHeadCellResizeHandle.tsx +3 -2
  27. package/src/head/MRT_TableHeadCellSortLabel.tsx +4 -8
  28. package/src/inputs/MRT_FilterTextField.tsx +1 -1
  29. package/src/inputs/MRT_SelectCheckbox.tsx +6 -1
  30. package/src/localization.ts +2 -0
  31. package/src/menus/MRT_ShowHideColumnsMenu.tsx +25 -38
  32. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +74 -21
  33. package/src/table/MRT_TableRoot.tsx +49 -41
  34. package/dist/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
@@ -1,6 +1,6 @@
1
- import React, { useMemo, useState, useCallback, Fragment, forwardRef, useLayoutEffect, useEffect } from 'react';
1
+ import React, { useMemo, forwardRef, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
2
2
  import { ArrowRight, Cancel, CheckBox, ClearAll, Close, DensityMedium, DensitySmall, KeyboardDoubleArrowDown, DragHandle, DynamicFeed, Edit, ExpandLess, ExpandMore, FilterAlt, FilterAltOff, FilterList, FilterListOff, FullscreenExit, Fullscreen, MoreHoriz, MoreVert, PushPin, RestartAlt, Save, Search, SearchOff, Sort, ViewColumn, VisibilityOff } from '@mui/icons-material';
3
- import { createTable, useTableInstance, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, functionalUpdate } from '@tanstack/react-table';
3
+ import { createTable, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, useTableInstance } from '@tanstack/react-table';
4
4
  import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, LinearProgress, useMediaQuery, Toolbar, lighten, alpha, TableSortLabel, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog, Grow } from '@mui/material';
5
5
  import { rankItem, rankings } from '@tanstack/match-sorter-utils';
6
6
  import { useDrop, useDrag, DndProvider } from 'react-dnd';
@@ -81,6 +81,7 @@ var MRT_DefaultLocalization_EN = {
81
81
  pinToLeft: 'Pin to left',
82
82
  pinToRight: 'Pin to right',
83
83
  resetColumnSize: 'Reset column size',
84
+ resetOrder: 'Reset order',
84
85
  rowActions: 'Row Actions',
85
86
  rowNumber: '#',
86
87
  rowNumbers: 'Row Numbers',
@@ -502,7 +503,7 @@ var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
502
503
 
503
504
  return React.createElement(Box, {
504
505
  sx: {
505
- mr: '8px'
506
+ mr: '4px'
506
507
  }
507
508
  }, column.getIsPinned() ? React.createElement(Tooltip, {
508
509
  arrow: true,
@@ -539,24 +540,95 @@ var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
539
540
  })))));
540
541
  };
541
542
 
543
+ var MRT_GrabHandleButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
544
+ var tableInstance = _ref.tableInstance;
545
+ var _tableInstance$option = tableInstance.options,
546
+ DragHandleIcon = _tableInstance$option.icons.DragHandleIcon,
547
+ localization = _tableInstance$option.localization;
548
+ return React.createElement(Tooltip, {
549
+ arrow: true,
550
+ enterDelay: 1000,
551
+ enterNextDelay: 1000,
552
+ placement: "top",
553
+ title: localization.grab
554
+ }, React.createElement(IconButton, {
555
+ disableRipple: true,
556
+ ref: ref,
557
+ size: "small",
558
+ sx: {
559
+ cursor: 'grab',
560
+ m: 0,
561
+ opacity: 0.5,
562
+ p: '2px',
563
+ transition: 'all 0.2s ease-in-out',
564
+ '&:hover': {
565
+ backgroundColor: 'transparent',
566
+ opacity: 1
567
+ },
568
+ '&:active': {
569
+ cursor: 'grabbing'
570
+ }
571
+ }
572
+ }, React.createElement(DragHandleIcon, null)));
573
+ });
574
+
542
575
  var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
543
576
  var _column$columns2;
544
577
 
545
- var column = _ref.column,
578
+ var allColumns = _ref.allColumns,
579
+ column = _ref.column,
546
580
  isSubMenu = _ref.isSubMenu,
547
581
  tableInstance = _ref.tableInstance;
548
582
  var getState = tableInstance.getState,
549
- onToggleColumnVisibility = tableInstance.options.onToggleColumnVisibility;
583
+ _tableInstance$option = tableInstance.options,
584
+ enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
585
+ onToggleColumnVisibility = _tableInstance$option.onToggleColumnVisibility,
586
+ setColumnOrder = tableInstance.setColumnOrder;
550
587
 
551
588
  var _getState = getState(),
589
+ columnOrder = _getState.columnOrder,
552
590
  columnVisibility = _getState.columnVisibility;
553
591
 
554
- var switchChecked = column.columnDefType !== 'group' && column.getIsVisible() || column.columnDefType === 'group' && column.getLeafColumns().some(function (col) {
592
+ var columnDef = column.columnDef,
593
+ columnDefType = column.columnDefType;
594
+
595
+ var reorder = function reorder(movingColumn, receivingColumn) {
596
+ if (movingColumn.getCanPin()) {
597
+ movingColumn.pin(receivingColumn.getIsPinned());
598
+ }
599
+
600
+ columnOrder.splice(columnOrder.indexOf(receivingColumn.id), 0, columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0]);
601
+ setColumnOrder([].concat(columnOrder));
602
+ };
603
+
604
+ var _useDrop = useDrop({
605
+ accept: 'column',
606
+ drop: function drop(movingColumn) {
607
+ return reorder(movingColumn, column);
608
+ }
609
+ }),
610
+ dropRef = _useDrop[1];
611
+
612
+ var _useDrag = useDrag({
613
+ collect: function collect(monitor) {
614
+ return {
615
+ isDragging: monitor.isDragging()
616
+ };
617
+ },
618
+ item: function item() {
619
+ return column;
620
+ },
621
+ type: 'column'
622
+ }),
623
+ dragRef = _useDrag[1],
624
+ previewRef = _useDrag[2];
625
+
626
+ var switchChecked = columnDefType !== 'group' && column.getIsVisible() || columnDefType === 'group' && column.getLeafColumns().some(function (col) {
555
627
  return col.getIsVisible();
556
628
  });
557
629
 
558
630
  var handleToggleColumnHidden = function handleToggleColumnHidden(column) {
559
- if (column.columnDefType === 'group') {
631
+ if (columnDefType === 'group') {
560
632
  var _column$columns;
561
633
 
562
634
  column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.forEach == null ? void 0 : _column$columns.forEach(function (childColumn) {
@@ -574,6 +646,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
574
646
  };
575
647
 
576
648
  return React.createElement(React.Fragment, null, React.createElement(MenuItem, {
649
+ ref: columnDefType === 'data' ? dropRef : undefined,
577
650
  sx: {
578
651
  alignItems: 'center',
579
652
  justifyContent: 'flex-start',
@@ -581,26 +654,42 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
581
654
  pl: (column.depth + 0.5) * 2 + "rem",
582
655
  py: '6px'
583
656
  }
584
- }, !isSubMenu && column.getCanPin() && React.createElement(MRT_ColumnPinningButtons, {
657
+ }, React.createElement(Box, {
658
+ ref: previewRef,
659
+ sx: {
660
+ display: 'flex',
661
+ flexWrap: 'nowrap'
662
+ }
663
+ }, columnDefType !== 'group' && enableColumnOrdering && columnDef.enableColumnOrdering !== false && !allColumns.some(function (col) {
664
+ return col.columnDefType === 'group';
665
+ }) && React.createElement(MRT_GrabHandleButton, {
666
+ ref: dragRef,
667
+ tableInstance: tableInstance
668
+ }), !isSubMenu && column.getCanPin() && React.createElement(MRT_ColumnPinningButtons, {
585
669
  column: column,
586
670
  tableInstance: tableInstance
587
671
  }), React.createElement(FormControlLabel, {
588
672
  componentsProps: {
589
673
  typography: {
590
674
  sx: {
591
- marginBottom: 0
675
+ mb: 0,
676
+ opacity: columnDefType !== 'display' ? 1 : 0.5
592
677
  }
593
678
  }
594
679
  },
595
680
  checked: switchChecked,
596
681
  control: React.createElement(Switch, null),
597
682
  disabled: isSubMenu && switchChecked || !column.getCanHide(),
598
- label: column.columnDef.header,
683
+ label: columnDef.header,
599
684
  onChange: function onChange() {
600
685
  return handleToggleColumnHidden(column);
686
+ },
687
+ sx: {
688
+ ml: '4px'
601
689
  }
602
- })), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
690
+ }))), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
603
691
  return React.createElement(MRT_ShowHideColumnsMenuItems, {
692
+ allColumns: allColumns,
604
693
  key: i + "-" + c.id,
605
694
  column: c,
606
695
  isSubMenu: isSubMenu,
@@ -615,18 +704,21 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
615
704
  setAnchorEl = _ref.setAnchorEl,
616
705
  tableInstance = _ref.tableInstance;
617
706
  var getAllColumns = tableInstance.getAllColumns,
707
+ getAllLeafColumns = tableInstance.getAllLeafColumns,
618
708
  getIsAllColumnsVisible = tableInstance.getIsAllColumnsVisible,
619
- getIsSomeColumnsVisible = tableInstance.getIsSomeColumnsVisible,
620
709
  getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
710
+ getIsSomeColumnsVisible = tableInstance.getIsSomeColumnsVisible,
621
711
  getState = tableInstance.getState,
622
712
  toggleAllColumnsVisible = tableInstance.toggleAllColumnsVisible,
623
- getAllLeafColumns = tableInstance.getAllLeafColumns,
624
713
  _tableInstance$option = tableInstance.options,
625
714
  localization = _tableInstance$option.localization,
626
- enablePinning = _tableInstance$option.enablePinning;
715
+ enablePinning = _tableInstance$option.enablePinning,
716
+ enableColumnOrdering = _tableInstance$option.enableColumnOrdering;
627
717
 
628
718
  var _getState = getState(),
629
- isDensePadding = _getState.isDensePadding;
719
+ isDensePadding = _getState.isDensePadding,
720
+ columnOrder = _getState.columnOrder,
721
+ columnPinning = _getState.columnPinning;
630
722
 
631
723
  var hideAllColumns = function hideAllColumns() {
632
724
  getAllLeafColumns().filter(function (col) {
@@ -636,23 +728,23 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
636
728
  });
637
729
  };
638
730
 
639
- var allDisplayColumns = useMemo(function () {
640
- return getAllColumns().filter(function (col) {
641
- return col.columnDefType === 'display';
642
- });
643
- }, [getAllColumns()]);
644
- var allDataColumns = useMemo(function () {
645
- var dataColumns = getAllColumns().filter(function (col) {
646
- return col.columnDefType !== 'display';
647
- });
648
- return getIsSomeColumnsPinned() ? [].concat(dataColumns.filter(function (c) {
649
- return c.getIsPinned() === 'left';
650
- }), [null], dataColumns.filter(function (c) {
651
- return c.getIsPinned() === false;
652
- }), [null], dataColumns.filter(function (c) {
653
- return c.getIsPinned() === 'right';
654
- })) : dataColumns;
655
- }, [getAllColumns(), getState().columnPinning, getIsSomeColumnsPinned()]);
731
+ var allColumns = useMemo(function () {
732
+ var columns = getAllColumns();
733
+
734
+ if (columnOrder.length > 0 && !columns.some(function (col) {
735
+ return col.columnDefType === 'group';
736
+ })) {
737
+ var _columnOrder$map;
738
+
739
+ return (_columnOrder$map = columnOrder.map(function (colId) {
740
+ return columns.find(function (col) {
741
+ return col.id === colId;
742
+ });
743
+ })) != null ? _columnOrder$map : columns;
744
+ }
745
+
746
+ return columns;
747
+ }, [getAllColumns(), columnOrder, columnPinning]);
656
748
  return React.createElement(Menu, {
657
749
  anchorEl: anchorEl,
658
750
  open: !!anchorEl,
@@ -672,7 +764,11 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
672
764
  }, !isSubMenu && React.createElement(Button, {
673
765
  disabled: !getIsSomeColumnsVisible(),
674
766
  onClick: hideAllColumns
675
- }, localization.hideAll), !isSubMenu && enablePinning && React.createElement(Button, {
767
+ }, localization.hideAll), !isSubMenu && enableColumnOrdering && React.createElement(Button, {
768
+ onClick: function onClick() {
769
+ return tableInstance.resetColumnOrder();
770
+ }
771
+ }, localization.resetOrder), !isSubMenu && enablePinning && React.createElement(Button, {
676
772
  disabled: !getIsSomeColumnsPinned(),
677
773
  onClick: function onClick() {
678
774
  return tableInstance.resetColumnPinning(true);
@@ -682,22 +778,14 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
682
778
  onClick: function onClick() {
683
779
  return toggleAllColumnsVisible(true);
684
780
  }
685
- }, localization.showAll)), React.createElement(Divider, null), allDisplayColumns.map(function (column, index) {
781
+ }, localization.showAll)), React.createElement(Divider, null), allColumns.map(function (column, index) {
686
782
  return React.createElement(MRT_ShowHideColumnsMenuItems, {
783
+ allColumns: allColumns,
687
784
  column: column,
688
785
  isSubMenu: isSubMenu,
689
786
  key: index + "-" + column.id,
690
787
  tableInstance: tableInstance
691
788
  });
692
- }), React.createElement(Divider, null), allDataColumns.map(function (column, index) {
693
- return column ? React.createElement(MRT_ShowHideColumnsMenuItems, {
694
- column: column,
695
- isSubMenu: isSubMenu,
696
- key: index + "-" + column.id,
697
- tableInstance: tableInstance
698
- }) : React.createElement(Divider, {
699
- key: index + "-divider"
700
- });
701
789
  }));
702
790
  };
703
791
 
@@ -1147,14 +1235,20 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1147
1235
  localization = _tableInstance$option.localization,
1148
1236
  muiSelectCheckboxProps = _tableInstance$option.muiSelectCheckboxProps,
1149
1237
  onSelectChange = _tableInstance$option.onSelectChange,
1150
- onSelectAllChange = _tableInstance$option.onSelectAllChange;
1238
+ onSelectAllChange = _tableInstance$option.onSelectAllChange,
1239
+ selectAllMode = _tableInstance$option.selectAllMode;
1151
1240
 
1152
1241
  var _getState = getState(),
1153
1242
  isDensePadding = _getState.isDensePadding;
1154
1243
 
1155
1244
  var handleSelectChange = function handleSelectChange(event) {
1156
1245
  if (selectAll) {
1157
- tableInstance.getToggleAllRowsSelectedHandler()(event);
1246
+ if (selectAllMode === 'all') {
1247
+ tableInstance.getToggleAllRowsSelectedHandler()(event);
1248
+ } else if (selectAllMode === 'page') {
1249
+ tableInstance.getToggleAllPageRowsSelectedHandler()(event);
1250
+ }
1251
+
1158
1252
  onSelectAllChange == null ? void 0 : onSelectAllChange({
1159
1253
  event: event,
1160
1254
  selectedRows: event.target.checked ? getRowModel().flatRows : [],
@@ -1867,9 +1961,6 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1867
1961
  var filterChipLabel = !(filterFn instanceof Function) && [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(filterFn) ? //@ts-ignore
1868
1962
  localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
1869
1963
  var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
1870
- console.log({
1871
- textFieldProps: textFieldProps
1872
- });
1873
1964
  return React.createElement(React.Fragment, null, React.createElement(TextField, Object.assign({
1874
1965
  fullWidth: true,
1875
1966
  id: filterId,
@@ -2047,8 +2138,9 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
2047
2138
  showFilters = _getState.showFilters;
2048
2139
 
2049
2140
  var column = header.column;
2141
+ var columnDef = column.columnDef;
2050
2142
  var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
2051
- var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2143
+ var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2052
2144
  localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))]).replace('{filterValue}', "\"" + (Array.isArray(column.getFilterValue()) ? column.getFilterValue().join("\" " + localization.and + " \"") : column.getFilterValue()) + "\"").replace('" "', '') : localization.showHideFilters;
2053
2145
  return React.createElement(Tooltip, {
2054
2146
  arrow: true,
@@ -2074,38 +2166,6 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
2074
2166
  }, showFilters && !column.getFilterValue() ? React.createElement(FilterAltOffIcon, null) : React.createElement(FilterAltIcon, null)));
2075
2167
  };
2076
2168
 
2077
- var MRT_TableHeadCellGrabHandle = /*#__PURE__*/forwardRef(function (_ref, ref) {
2078
- var tableInstance = _ref.tableInstance;
2079
- var _tableInstance$option = tableInstance.options,
2080
- DragHandleIcon = _tableInstance$option.icons.DragHandleIcon,
2081
- localization = _tableInstance$option.localization;
2082
- return React.createElement(Tooltip, {
2083
- arrow: true,
2084
- enterDelay: 1000,
2085
- enterNextDelay: 1000,
2086
- placement: "top",
2087
- title: localization.grab
2088
- }, React.createElement(IconButton, {
2089
- disableRipple: true,
2090
- ref: ref,
2091
- size: "small",
2092
- sx: {
2093
- cursor: 'grab',
2094
- m: 0,
2095
- opacity: 0.5,
2096
- p: '2px',
2097
- transition: 'all 0.2s ease-in-out',
2098
- '&:hover': {
2099
- backgroundColor: 'transparent',
2100
- opacity: 1
2101
- },
2102
- '&:active': {
2103
- cursor: 'grabbing'
2104
- }
2105
- }
2106
- }, React.createElement(DragHandleIcon, null)));
2107
- });
2108
-
2109
2169
  var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref) {
2110
2170
  var header = _ref.header,
2111
2171
  tableInstance = _ref.tableInstance;
@@ -2115,6 +2175,7 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
2115
2175
  showFilters = _getState.showFilters;
2116
2176
 
2117
2177
  var column = header.column;
2178
+ var columnDefType = column.columnDefType;
2118
2179
  return React.createElement(Divider, {
2119
2180
  flexItem: true,
2120
2181
  orientation: "vertical",
@@ -2126,7 +2187,7 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
2126
2187
  borderRadius: '2px',
2127
2188
  borderRightWidth: '2px',
2128
2189
  cursor: 'col-resize',
2129
- height: showFilters && column.columnDefType === 'data' ? '4rem' : '2rem',
2190
+ height: showFilters && columnDefType === 'data' ? '4rem' : '2rem',
2130
2191
  opacity: 0.8,
2131
2192
  position: 'absolute',
2132
2193
  right: '1px',
@@ -2153,7 +2214,8 @@ var MRT_TableHeadCellSortLabel = function MRT_TableHeadCellSortLabel(_ref) {
2153
2214
  tableInstance = _ref.tableInstance;
2154
2215
  var localization = tableInstance.options.localization;
2155
2216
  var column = header.column;
2156
- var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.columnDef.header) : localization.sortedByColumnAsc.replace('{column}', column.columnDef.header) : localization.unsorted;
2217
+ var columnDef = column.columnDef;
2218
+ var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', columnDef.header) : localization.sortedByColumnAsc.replace('{column}', columnDef.header) : localization.unsorted;
2157
2219
  return React.createElement(Tooltip, {
2158
2220
  arrow: true,
2159
2221
  placement: "top",
@@ -2173,6 +2235,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2173
2235
  localization = _tableInstance$option.localization,
2174
2236
  muiTableHeadCellColumnActionsButtonProps = _tableInstance$option.muiTableHeadCellColumnActionsButtonProps;
2175
2237
  var column = header.column;
2238
+ var columnDef = column.columnDef;
2176
2239
 
2177
2240
  var _useState = useState(null),
2178
2241
  anchorEl = _useState[0],
@@ -2188,10 +2251,10 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2188
2251
  column: column,
2189
2252
  tableInstance: tableInstance
2190
2253
  }) : muiTableHeadCellColumnActionsButtonProps;
2191
- var mcTableHeadCellColumnActionsButtonProps = column.columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? column.columnDef.muiTableHeadCellColumnActionsButtonProps({
2254
+ var mcTableHeadCellColumnActionsButtonProps = columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? columnDef.muiTableHeadCellColumnActionsButtonProps({
2192
2255
  column: column,
2193
2256
  tableInstance: tableInstance
2194
- }) : column.columnDef.muiTableHeadCellColumnActionsButtonProps;
2257
+ }) : columnDef.muiTableHeadCellColumnActionsButtonProps;
2195
2258
 
2196
2259
  var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
2197
2260
 
@@ -2226,7 +2289,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2226
2289
  };
2227
2290
 
2228
2291
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2229
- var _column$columnDef, _column$columnDef2, _column$columnDef$Hea, _column$columnDef3, _columnDef$minSize, _columnDef$header$len, _columnDef$header;
2292
+ var _columnDef$Header, _columnDef$minSize, _columnDef$header$len, _columnDef$header;
2230
2293
 
2231
2294
  var dragRef = _ref.dragRef,
2232
2295
  dropRef = _ref.dropRef,
@@ -2260,10 +2323,10 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2260
2323
 
2261
2324
  var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
2262
2325
 
2263
- var headerElement = ((_column$columnDef = column.columnDef) == null ? void 0 : _column$columnDef.Header) instanceof Function ? (_column$columnDef2 = column.columnDef) == null ? void 0 : _column$columnDef2.Header == null ? void 0 : _column$columnDef2.Header({
2326
+ var headerElement = (columnDef == null ? void 0 : columnDef.Header) instanceof Function ? columnDef == null ? void 0 : columnDef.Header == null ? void 0 : columnDef.Header({
2264
2327
  header: header,
2265
2328
  tableInstance: tableInstance
2266
- }) : (_column$columnDef$Hea = (_column$columnDef3 = column.columnDef) == null ? void 0 : _column$columnDef3.Header) != null ? _column$columnDef$Hea : header.renderHeader();
2329
+ }) : (_columnDef$Header = columnDef == null ? void 0 : columnDef.Header) != null ? _columnDef$Header : header.renderHeader();
2267
2330
 
2268
2331
  var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2269
2332
  return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
@@ -2294,7 +2357,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2294
2357
  p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2295
2358
  pb: columnDefType === 'display' ? 0 : undefined,
2296
2359
  position: column.getIsPinned() && columnDefType !== 'group' ? 'sticky' : undefined,
2297
- pt: columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2360
+ pt: columnDefType !== 'data' ? 0 : isDensePadding ? '0.25' : '.5rem',
2298
2361
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2299
2362
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2300
2363
  verticalAlign: 'text-top',
@@ -2336,8 +2399,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2336
2399
  sx: {
2337
2400
  whiteSpace: 'nowrap'
2338
2401
  }
2339
- }, columnDefType === 'data' && (enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React.createElement(MRT_TableHeadCellGrabHandle, {
2340
- header: header,
2402
+ }, columnDefType === 'data' && (enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React.createElement(MRT_GrabHandleButton, {
2341
2403
  ref: dragRef,
2342
2404
  tableInstance: tableInstance
2343
2405
  }), (enableColumnActions || columnDef.enableColumnActions) && columnDef.enableColumnActions !== false && columnDefType !== 'group' && React.createElement(MRT_ToggleColumnActionMenuButton, {
@@ -2364,19 +2426,22 @@ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
2364
2426
  var _getState = getState(),
2365
2427
  columnOrder = _getState.columnOrder;
2366
2428
 
2367
- var reorder = function reorder(item, newIndex) {
2368
- var currentIndex = item.index;
2369
- columnOrder.splice(newIndex, 0, columnOrder.splice(currentIndex, 1)[0]);
2429
+ var reorder = function reorder(movingHeader, receivingHeader) {
2430
+ if (movingHeader.column.getCanPin()) {
2431
+ movingHeader.column.pin(receivingHeader.column.getIsPinned());
2432
+ }
2433
+
2434
+ columnOrder.splice(receivingHeader.index, 0, columnOrder.splice(movingHeader.index, 1)[0]);
2370
2435
  setColumnOrder([].concat(columnOrder));
2371
2436
  };
2372
2437
 
2373
2438
  var _useDrop = useDrop({
2374
2439
  accept: 'header',
2375
- drop: function drop(item) {
2376
- return reorder(item, header.index);
2440
+ drop: function drop(movingHeader) {
2441
+ return reorder(movingHeader, header);
2377
2442
  }
2378
2443
  }),
2379
- drop = _useDrop[1];
2444
+ dropRef = _useDrop[1];
2380
2445
 
2381
2446
  var _useDrag = useDrag({
2382
2447
  collect: function collect(monitor) {
@@ -2390,15 +2455,15 @@ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
2390
2455
  type: 'header'
2391
2456
  }),
2392
2457
  isDragging = _useDrag[0].isDragging,
2393
- drag = _useDrag[1],
2394
- preview = _useDrag[2];
2458
+ dragRef = _useDrag[1],
2459
+ previewRef = _useDrag[2];
2395
2460
 
2396
2461
  return React.createElement(MRT_TableHeadCell, {
2397
- dragRef: drag,
2398
- dropRef: drop,
2462
+ dragRef: dragRef,
2463
+ dropRef: dropRef,
2399
2464
  header: header,
2400
2465
  isDragging: isDragging,
2401
- previewRef: preview,
2466
+ previewRef: previewRef,
2402
2467
  tableInstance: tableInstance
2403
2468
  });
2404
2469
  };
@@ -2544,6 +2609,8 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2544
2609
  var _tableInstance$option = tableInstance.options,
2545
2610
  localization = _tableInstance$option.localization,
2546
2611
  muiTableBodyCellCopyButtonProps = _tableInstance$option.muiTableBodyCellCopyButtonProps;
2612
+ var column = cell.column;
2613
+ var columnDef = column.columnDef;
2547
2614
 
2548
2615
  var _useState = useState(false),
2549
2616
  copied = _useState[0],
@@ -2561,10 +2628,10 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2561
2628
  cell: cell,
2562
2629
  tableInstance: tableInstance
2563
2630
  }) : muiTableBodyCellCopyButtonProps;
2564
- var mcTableBodyCellCopyButtonProps = cell.column.columnDef.muiTableBodyCellCopyButtonProps instanceof Function ? cell.column.columnDef.muiTableBodyCellCopyButtonProps({
2631
+ var mcTableBodyCellCopyButtonProps = columnDef.muiTableBodyCellCopyButtonProps instanceof Function ? columnDef.muiTableBodyCellCopyButtonProps({
2565
2632
  cell: cell,
2566
2633
  tableInstance: tableInstance
2567
- }) : cell.column.columnDef.muiTableBodyCellCopyButtonProps;
2634
+ }) : columnDef.muiTableBodyCellCopyButtonProps;
2568
2635
 
2569
2636
  var buttonProps = _extends({}, mTableBodyCellCopyButtonProps, mcTableBodyCellCopyButtonProps);
2570
2637
 
@@ -2600,7 +2667,7 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2600
2667
  };
2601
2668
 
2602
2669
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2603
- var _columnDef$minSize, _cell$column$columnDe, _cell$column$columnDe2, _row$subRows, _cell$column$columnDe3, _cell$column$columnDe4, _row$subRows$length, _row$subRows2;
2670
+ var _columnDef$minSize, _columnDef$Cell, _row$subRows, _columnDef$Cell2, _row$subRows$length, _row$subRows2;
2604
2671
 
2605
2672
  var cell = _ref.cell,
2606
2673
  enableHover = _ref.enableHover,
@@ -2625,7 +2692,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2625
2692
 
2626
2693
  var column = cell.column,
2627
2694
  row = cell.row;
2628
- var columnDef = column.columnDef;
2695
+ var columnDef = column.columnDef,
2696
+ columnDefType = column.columnDefType;
2629
2697
  var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps({
2630
2698
  cell: cell,
2631
2699
  tableInstance: tableInstance
@@ -2638,8 +2706,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2638
2706
  var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps);
2639
2707
 
2640
2708
  var skeletonWidth = useMemo(function () {
2641
- return column.columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
2642
- }, [column.columnDefType, column.getSize()]);
2709
+ return columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
2710
+ }, [columnDefType, column.getSize()]);
2643
2711
  var isEditable = (enableEditing || columnDef.enableEditing) && columnDef.enableEditing !== false;
2644
2712
  var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
2645
2713
 
@@ -2685,7 +2753,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2685
2753
  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,
2686
2754
  cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2687
2755
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2688
- p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2756
+ p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2689
2757
  pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2690
2758
  position: column.getIsPinned() ? 'sticky' : 'relative',
2691
2759
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
@@ -2706,7 +2774,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2706
2774
  animation: "wave",
2707
2775
  height: 20,
2708
2776
  width: skeletonWidth
2709
- }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
2777
+ }, muiTableBodyCellSkeletonProps)) : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
2710
2778
  cell: cell,
2711
2779
  tableInstance: tableInstance
2712
2780
  }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React.createElement(MRT_EditCellTextField, {
@@ -2715,13 +2783,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2715
2783
  }) : (enableClickToCopy || columnDef.enableClickToCopy) && columnDef.enableClickToCopy !== false ? React.createElement(React.Fragment, null, React.createElement(MRT_CopyButton, {
2716
2784
  cell: cell,
2717
2785
  tableInstance: tableInstance
2718
- }, React.createElement(React.Fragment, null, (_cell$column$columnDe = (_cell$column$columnDe2 = cell.column.columnDef) == null ? void 0 : _cell$column$columnDe2.Cell == null ? void 0 : _cell$column$columnDe2.Cell({
2786
+ }, React.createElement(React.Fragment, null, (_columnDef$Cell = columnDef == null ? void 0 : columnDef.Cell == null ? void 0 : columnDef.Cell({
2719
2787
  cell: cell,
2720
2788
  tableInstance: tableInstance
2721
- })) != null ? _cell$column$columnDe : cell.renderCell())), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React.createElement(React.Fragment, null, (_cell$column$columnDe3 = (_cell$column$columnDe4 = cell.column.columnDef) == null ? void 0 : _cell$column$columnDe4.Cell == null ? void 0 : _cell$column$columnDe4.Cell({
2789
+ })) != null ? _columnDef$Cell : cell.renderCell())), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React.createElement(React.Fragment, null, (_columnDef$Cell2 = columnDef == null ? void 0 : columnDef.Cell == null ? void 0 : columnDef.Cell({
2722
2790
  cell: cell,
2723
2791
  tableInstance: tableInstance
2724
- })) != null ? _cell$column$columnDe3 : cell.renderCell(), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows$length = (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length) != null ? _row$subRows$length : '', ")"))));
2792
+ })) != null ? _columnDef$Cell2 : cell.renderCell(), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows$length = (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length) != null ? _row$subRows$length : '', ")"))));
2725
2793
  };
2726
2794
 
2727
2795
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -2843,7 +2911,8 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2843
2911
  isDensePadding = _getState.isDensePadding;
2844
2912
 
2845
2913
  var column = footer.column;
2846
- var columnDef = column.columnDef;
2914
+ var columnDef = column.columnDef,
2915
+ columnDefType = column.columnDefType;
2847
2916
  var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps({
2848
2917
  column: column,
2849
2918
  tableInstance: tableInstance
@@ -2856,7 +2925,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2856
2925
  var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps);
2857
2926
 
2858
2927
  return React.createElement(TableCell, Object.assign({
2859
- align: column.columnDefType === 'group' ? 'center' : 'left',
2928
+ align: columnDefType === 'group' ? 'center' : 'left',
2860
2929
  colSpan: footer.colSpan,
2861
2930
  variant: "head"
2862
2931
  }, tableCellProps, {
@@ -2886,8 +2955,8 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
2886
2955
  tableInstance = _ref.tableInstance;
2887
2956
  var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
2888
2957
 
2889
- if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
2890
- return typeof h.column.columnDef.footer === 'string' && !!h.column.columnDef.footer || h.column.columnDef.Footer;
2958
+ if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (header) {
2959
+ return typeof header.column.columnDef.footer === 'string' && !!header.column.columnDef.footer || header.column.columnDef.Footer;
2891
2960
  }))) return null;
2892
2961
  var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2893
2962
  footerGroup: footerGroup,
@@ -3078,7 +3147,7 @@ var createDisplayColumn = function createDisplayColumn(table, column) {
3078
3147
  };
3079
3148
 
3080
3149
  var MRT_TableRoot = function MRT_TableRoot(props) {
3081
- var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _initialState$paginat, _initialState$paginat2, _initialState$paginat3, _initialState$paginat4, _initialState$paginat5, _props$globalFilterFn, _props$state3, _props$state4;
3150
+ var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4;
3082
3151
 
3083
3152
  var _useState = useState(props.idPrefix),
3084
3153
  idPrefix = _useState[0],
@@ -3089,9 +3158,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3089
3158
 
3090
3159
  return setIdPrefix((_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9));
3091
3160
  }, [props.idPrefix]);
3161
+ var showActionColumn = props.enableRowActions || props.enableEditing && props.editingMode === 'row';
3162
+ var showExpandColumn = props.enableExpanding || props.enableGrouping;
3092
3163
  var initialState = useMemo(function () {
3164
+ var _props$initialState, _initState$columnOrde;
3165
+
3166
+ var initState = (_props$initialState = props.initialState) != null ? _props$initialState : {};
3167
+ initState.columnOrder = ((_initState$columnOrde = initState == null ? void 0 : initState.columnOrder) != null ? _initState$columnOrde : props.enableColumnOrdering) ? [showActionColumn && 'mrt-row-actions', showExpandColumn && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3168
+ return c.id;
3169
+ })).filter(Boolean) : [];
3170
+
3093
3171
  if (!props.enablePersistentState || !props.idPrefix) {
3094
- return props.initialState;
3172
+ return initState;
3095
3173
  }
3096
3174
 
3097
3175
  if (typeof window === 'undefined') {
@@ -3099,7 +3177,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3099
3177
  console.error('The MRT Persistent Table State feature is not supported if using SSR, but you can wrap your <MaterialReactTable /> in a MUI <NoSsr> tags to let it work');
3100
3178
  }
3101
3179
 
3102
- return props.initialState;
3180
+ return initState;
3103
3181
  }
3104
3182
 
3105
3183
  var storedState = props.persistentStateMode === 'localStorage' ? localStorage.getItem("mrt-" + idPrefix + "-table-state") : props.persistentStateMode === 'sessionStorage' ? sessionStorage.getItem("mrt-" + idPrefix + "-table-state") : '{}';
@@ -3108,11 +3186,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3108
3186
  var parsedState = JSON.parse(storedState);
3109
3187
 
3110
3188
  if (parsedState) {
3111
- return _extends({}, props.initialState, parsedState);
3189
+ return _extends({}, initState, parsedState);
3112
3190
  }
3113
3191
  }
3114
3192
 
3115
- return props.initialState;
3193
+ return initState;
3116
3194
  }, []);
3117
3195
 
3118
3196
  var _useState2 = useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
@@ -3139,35 +3217,42 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3139
3217
  showGlobalFilter = _useState7[0],
3140
3218
  setShowGlobalFilter = _useState7[1];
3141
3219
 
3142
- var _useState8 = useState({
3143
- pageIndex: (_initialState$paginat = initialState == null ? void 0 : (_initialState$paginat2 = initialState.pagination) == null ? void 0 : _initialState$paginat2.pageIndex) != null ? _initialState$paginat : 0,
3144
- pageSize: (_initialState$paginat3 = initialState == null ? void 0 : (_initialState$paginat4 = initialState.pagination) == null ? void 0 : _initialState$paginat4.pageSize) != null ? _initialState$paginat3 : 10,
3145
- pageCount: initialState == null ? void 0 : (_initialState$paginat5 = initialState.pagination) == null ? void 0 : _initialState$paginat5.pageCount
3146
- }),
3147
- pagination = _useState8[0],
3148
- setPagination = _useState8[1];
3149
-
3150
- var _useState9 = useState(function () {
3220
+ var _useState8 = useState(function () {
3151
3221
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3152
3222
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
3153
3223
 
3154
3224
  return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filterFn = c.filterFn) != null ? _c$filterFn : initialState == null ? void 0 : (_initialState$current3 = initialState.currentFilterFns) == null ? void 0 : _initialState$current3[c.id]) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? MRT_FILTER_OPTION.EQUALS : MRT_FILTER_OPTION.FUZZY, _ref2;
3155
3225
  })));
3156
3226
  }),
3157
- currentFilterFns = _useState9[0],
3158
- setCurrentFilterFns = _useState9[1];
3227
+ currentFilterFns = _useState8[0],
3228
+ setCurrentFilterFns = _useState8[1];
3159
3229
 
3160
- var _useState10 = useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
3161
- currentGlobalFilterFn = _useState10[0],
3162
- setCurrentGlobalFilterFn = _useState10[1];
3230
+ var _useState9 = useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
3231
+ currentGlobalFilterFn = _useState9[0],
3232
+ setCurrentGlobalFilterFn = _useState9[1];
3163
3233
 
3164
3234
  var table = useMemo(function () {
3165
- return createTable();
3235
+ return createTable().setOptions({
3236
+ //@ts-ignore
3237
+ filterFns: defaultFilterFNs,
3238
+ getCoreRowModel: getCoreRowModel(),
3239
+ getExpandedRowModel: getExpandedRowModel(),
3240
+ getFacetedRowModel: getFacetedRowModel(),
3241
+ getFilteredRowModel: getFilteredRowModel(),
3242
+ getGroupedRowModel: getGroupedRowModel(),
3243
+ getPaginationRowModel: getPaginationRowModel(),
3244
+ getSortedRowModel: getSortedRowModel(),
3245
+ getSubRows: function getSubRows(row) {
3246
+ return row == null ? void 0 : row.subRows;
3247
+ },
3248
+ idPrefix: idPrefix,
3249
+ initialState: initialState
3250
+ });
3166
3251
  }, []);
3167
3252
  var displayColumns = useMemo(function () {
3168
3253
  var _props$localization, _props$localization2, _props$localization3, _props$localization5;
3169
3254
 
3170
- return [(props.enableRowActions || props.enableEditing && props.editingMode === 'row') && createDisplayColumn(table, {
3255
+ return [showActionColumn && createDisplayColumn(table, {
3171
3256
  Cell: function Cell(_ref3) {
3172
3257
  var cell = _ref3.cell;
3173
3258
  return React.createElement(MRT_ToggleRowActionMenuButton, {
@@ -3178,7 +3263,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3178
3263
  header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
3179
3264
  id: 'mrt-row-actions',
3180
3265
  size: 60
3181
- }), (props.enableExpanding || props.enableGrouping) && createDisplayColumn(table, {
3266
+ }), showExpandColumn && createDisplayColumn(table, {
3182
3267
  Cell: function Cell(_ref4) {
3183
3268
  var cell = _ref4.cell;
3184
3269
  return React.createElement(MRT_ExpandButton, {
@@ -3241,55 +3326,21 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3241
3326
  return _ref7 = {}, _ref7[c.id] = null, _ref7;
3242
3327
  })));
3243
3328
  }) : props.data;
3244
- }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]);
3329
+ }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
3245
3330
 
3246
- var _useState11 = useState(function () {
3247
- var _initialState$columnO;
3248
-
3249
- return ((_initialState$columnO = initialState == null ? void 0 : initialState.columnOrder) != null ? _initialState$columnO : props.enableColumnOrdering) ? getAllLeafColumnDefs(columns).map(function (c) {
3250
- return c.id;
3251
- }) : [];
3252
- }),
3253
- columnOrder = _useState11[0],
3254
- setColumnOrder = _useState11[1]; //@ts-ignore
3255
-
3256
-
3257
- var tableInstance = _extends({}, useTableInstance(table, _extends({
3258
- filterFns: defaultFilterFNs,
3259
- getCoreRowModel: getCoreRowModel(),
3260
- getExpandedRowModel: getExpandedRowModel(),
3261
- getFacetedRowModel: getFacetedRowModel(),
3262
- getFilteredRowModel: getFilteredRowModel(),
3263
- getGroupedRowModel: getGroupedRowModel(),
3264
- getPaginationRowModel: getPaginationRowModel(),
3265
- getSortedRowModel: getSortedRowModel(),
3266
- getSubRows: function getSubRows(row) {
3267
- return row == null ? void 0 : row.subRows;
3268
- },
3269
- //@ts-ignore
3270
- globalFilterFn: currentGlobalFilterFn,
3271
- onColumnOrderChange: setColumnOrder,
3272
- onPaginationChange: function onPaginationChange(updater) {
3273
- return setPagination(function (old) {
3274
- return functionalUpdate(updater, old);
3275
- });
3276
- }
3277
- }, props, {
3331
+ var tableInstance = _extends({}, useTableInstance(table, _extends({}, props, {
3278
3332
  //@ts-ignore
3279
3333
  columns: columns,
3280
3334
  data: data,
3281
- idPrefix: idPrefix,
3282
- initialState: initialState,
3335
+ //@ts-ignore
3336
+ globalFilterFn: currentGlobalFilterFn,
3283
3337
  state: _extends({
3284
- columnOrder: columnOrder,
3285
3338
  currentEditingCell: currentEditingCell,
3286
3339
  currentEditingRow: currentEditingRow,
3287
3340
  currentFilterFns: currentFilterFns,
3288
3341
  currentGlobalFilterFn: currentGlobalFilterFn,
3289
3342
  isDensePadding: isDensePadding,
3290
3343
  isFullScreen: isFullScreen,
3291
- //@ts-ignore
3292
- pagination: pagination,
3293
3344
  showFilters: showFilters,
3294
3345
  showGlobalFilter: showGlobalFilter
3295
3346
  }, props.state)
@@ -3344,7 +3395,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3344
3395
  }));
3345
3396
  };
3346
3397
 
3347
- var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3398
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner", "selectAllMode"];
3348
3399
  var MaterialReactTable = (function (_ref) {
3349
3400
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3350
3401
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
@@ -3414,6 +3465,8 @@ var MaterialReactTable = (function (_ref) {
3414
3465
  positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
3415
3466
  _ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
3416
3467
  positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
3468
+ _ref$selectAllMode = _ref.selectAllMode,
3469
+ selectAllMode = _ref$selectAllMode === void 0 ? 'all' : _ref$selectAllMode,
3417
3470
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
3418
3471
 
3419
3472
  return React.createElement(MRT_TableRoot, Object.assign({
@@ -3449,7 +3502,8 @@ var MaterialReactTable = (function (_ref) {
3449
3502
  positionActionsColumn: positionActionsColumn,
3450
3503
  positionPagination: positionPagination,
3451
3504
  positionToolbarActions: positionToolbarActions,
3452
- positionToolbarAlertBanner: positionToolbarAlertBanner
3505
+ positionToolbarAlertBanner: positionToolbarAlertBanner,
3506
+ selectAllMode: selectAllMode
3453
3507
  }, rest));
3454
3508
  });
3455
3509