material-react-table 0.8.0-alpha.2 → 0.8.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.
Files changed (46) hide show
  1. package/README.md +2 -2
  2. package/dist/MaterialReactTable.d.ts +5 -2
  3. package/dist/head/MRT_DraggableTableHeadCell.d.ts +8 -0
  4. package/dist/head/MRT_TableHeadCell.d.ts +5 -1
  5. package/dist/head/MRT_TableHeadCellFilterContainer.d.ts +8 -0
  6. package/dist/head/MRT_TableHeadCellFilterLabel.d.ts +8 -0
  7. package/dist/head/MRT_TableHeadCellGrabHandle.d.ts +9 -0
  8. package/dist/head/MRT_TableHeadCellResizeHandle.d.ts +8 -0
  9. package/dist/head/MRT_TableHeadCellSortLabel.d.ts +8 -0
  10. package/dist/icons.d.ts +1 -0
  11. package/dist/inputs/MRT_FilterRangeFields.d.ts +2 -2
  12. package/dist/localization.d.ts +1 -0
  13. package/dist/material-react-table.cjs.development.js +498 -294
  14. package/dist/material-react-table.cjs.development.js.map +1 -1
  15. package/dist/material-react-table.cjs.production.min.js +1 -1
  16. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  17. package/dist/material-react-table.esm.js +500 -296
  18. package/dist/material-react-table.esm.js.map +1 -1
  19. package/dist/table/MRT_TableContainer.d.ts +1 -1
  20. package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -0
  21. package/dist/toolbar/MRT_ToolbarTop.d.ts +2 -0
  22. package/dist/utils.d.ts +1 -1
  23. package/package.json +9 -6
  24. package/src/MaterialReactTable.tsx +10 -0
  25. package/src/body/MRT_TableBodyCell.tsx +7 -4
  26. package/src/buttons/MRT_CopyButton.tsx +2 -1
  27. package/src/buttons/MRT_ExpandAllButton.tsx +3 -0
  28. package/src/footer/MRT_TableFooterCell.tsx +1 -0
  29. package/src/head/MRT_DraggableTableHeadCell.tsx +52 -0
  30. package/src/head/MRT_TableHeadCell.tsx +66 -155
  31. package/src/head/MRT_TableHeadCellFilterContainer.tsx +32 -0
  32. package/src/head/MRT_TableHeadCellFilterLabel.tsx +82 -0
  33. package/src/head/MRT_TableHeadCellGrabHandle.tsx +52 -0
  34. package/src/head/MRT_TableHeadCellResizeHandle.tsx +52 -0
  35. package/src/head/MRT_TableHeadCellSortLabel.tsx +45 -0
  36. package/src/head/MRT_TableHeadRow.tsx +17 -8
  37. package/src/icons.ts +3 -0
  38. package/src/inputs/MRT_FilterRangeFields.tsx +1 -3
  39. package/src/localization.ts +2 -0
  40. package/src/table/MRT_TableContainer.tsx +1 -1
  41. package/src/table/MRT_TablePaper.tsx +26 -22
  42. package/src/table/MRT_TableRoot.tsx +8 -0
  43. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +11 -27
  44. package/src/toolbar/MRT_ToolbarBottom.tsx +23 -5
  45. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +30 -29
  46. package/src/toolbar/MRT_ToolbarTop.tsx +21 -20
@@ -1,4 +1,4 @@
1
- import React, { useMemo, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
1
+ import React, { useMemo, useState, useCallback, Fragment, forwardRef, useLayoutEffect, useEffect } from 'react';
2
2
  import ArrowRightIcon from '@mui/icons-material/ArrowRight';
3
3
  import CancelIcon from '@mui/icons-material/Cancel';
4
4
  import CheckBoxIcon from '@mui/icons-material/CheckBox';
@@ -7,6 +7,7 @@ import CloseIcon from '@mui/icons-material/Close';
7
7
  import DensityMediumIcon from '@mui/icons-material/DensityMedium';
8
8
  import DensitySmallIcon from '@mui/icons-material/DensitySmall';
9
9
  import DoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
10
+ import DragHandleIcon from '@mui/icons-material/DragHandle';
10
11
  import DynamicFeedIcon from '@mui/icons-material/DynamicFeed';
11
12
  import EditIcon from '@mui/icons-material/Edit';
12
13
  import ExpandLessIcon from '@mui/icons-material/ExpandLess';
@@ -28,8 +29,10 @@ import SortIcon from '@mui/icons-material/Sort';
28
29
  import ViewColumnIcon from '@mui/icons-material/ViewColumn';
29
30
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
30
31
  import { createTable, useTableInstance, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, functionalUpdate } from '@tanstack/react-table';
31
- import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, useMediaQuery, Chip, Alert, LinearProgress, Toolbar, lighten, alpha, TableCell, TableSortLabel, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog, Grow } from '@mui/material';
32
+ 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';
32
33
  import { rankItem, rankings } from '@tanstack/match-sorter-utils';
34
+ import { useDrop, useDrag, DndProvider } from 'react-dnd';
35
+ import { HTML5Backend } from 'react-dnd-html5-backend';
33
36
 
34
37
  function _extends() {
35
38
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -48,6 +51,10 @@ function _extends() {
48
51
  return _extends.apply(this, arguments);
49
52
  }
50
53
 
54
+ function _objectDestructuringEmpty(obj) {
55
+ if (obj == null) throw new TypeError("Cannot destructure undefined");
56
+ }
57
+
51
58
  function _objectWithoutPropertiesLoose(source, excluded) {
52
59
  if (source == null) return {};
53
60
  var target = {};
@@ -92,6 +99,7 @@ var MRT_DefaultLocalization_EN = {
92
99
  filterNotEquals: 'Not Equals',
93
100
  filterStartsWith: 'Starts With',
94
101
  filteringByColumn: 'Filtering by {column} - {filterType} {filterValue}',
102
+ grab: 'Grab',
95
103
  groupByColumn: 'Group by {column}',
96
104
  groupedBy: 'Grouped by ',
97
105
  hideAll: 'Hide all',
@@ -138,6 +146,7 @@ var MRT_Default_Icons = {
138
146
  DensityMediumIcon: DensityMediumIcon,
139
147
  DensitySmallIcon: DensitySmallIcon,
140
148
  DoubleArrowDownIcon: DoubleArrowDownIcon,
149
+ DragHandleIcon: DragHandleIcon,
141
150
  DynamicFeedIcon: DynamicFeedIcon,
142
151
  EditIcon: EditIcon,
143
152
  ExpandLessIcon: ExpandLessIcon,
@@ -164,10 +173,12 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
164
173
  var tableInstance = _ref.tableInstance;
165
174
  var getIsAllRowsExpanded = tableInstance.getIsAllRowsExpanded,
166
175
  getIsSomeRowsExpanded = tableInstance.getIsSomeRowsExpanded,
176
+ getCanSomeRowsExpand = tableInstance.getCanSomeRowsExpand,
167
177
  getState = tableInstance.getState,
168
178
  _tableInstance$option = tableInstance.options,
169
179
  DoubleArrowDownIcon = _tableInstance$option.icons.DoubleArrowDownIcon,
170
180
  localization = _tableInstance$option.localization,
181
+ renderDetailPanel = _tableInstance$option.renderDetailPanel,
171
182
  toggleAllRowsExpanded = tableInstance.toggleAllRowsExpanded;
172
183
 
173
184
  var _getState = getState(),
@@ -180,6 +191,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
180
191
  title: localization.expandAll
181
192
  }, React.createElement(IconButton, {
182
193
  "aria-label": localization.expandAll,
194
+ disabled: !getCanSomeRowsExpand() && !renderDetailPanel,
183
195
  onClick: function onClick() {
184
196
  return toggleAllRowsExpanded(!getIsAllRowsExpanded());
185
197
  },
@@ -1208,101 +1220,6 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1208
1220
  })));
1209
1221
  };
1210
1222
 
1211
- var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1212
- var tableInstance = _ref.tableInstance;
1213
- var getState = tableInstance.getState,
1214
- setGlobalFilter = tableInstance.setGlobalFilter,
1215
- _tableInstance$option = tableInstance.options,
1216
- _tableInstance$option2 = _tableInstance$option.icons,
1217
- SearchIcon = _tableInstance$option2.SearchIcon,
1218
- CloseIcon = _tableInstance$option2.CloseIcon,
1219
- idPrefix = _tableInstance$option.idPrefix,
1220
- localization = _tableInstance$option.localization,
1221
- muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1222
- onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1223
-
1224
- var _getState = getState(),
1225
- globalFilter = _getState.globalFilter,
1226
- showGlobalFilter = _getState.showGlobalFilter;
1227
-
1228
- var _useState = useState(null),
1229
- anchorEl = _useState[0],
1230
- setAnchorEl = _useState[1];
1231
-
1232
- var _useState2 = useState(globalFilter != null ? globalFilter : ''),
1233
- searchValue = _useState2[0],
1234
- setSearchValue = _useState2[1];
1235
-
1236
- var handleChange = useCallback(debounce(function (event) {
1237
- var _event$target$value;
1238
-
1239
- setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1240
- onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1241
- event: event,
1242
- tableInstance: tableInstance
1243
- });
1244
- }, 200), []);
1245
-
1246
- var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1247
- setAnchorEl(event.currentTarget);
1248
- };
1249
-
1250
- var handleClear = function handleClear() {
1251
- setSearchValue('');
1252
- setGlobalFilter(undefined);
1253
- };
1254
-
1255
- var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1256
- tableInstance: tableInstance
1257
- }) : muiSearchTextFieldProps;
1258
- return React.createElement(Collapse, {
1259
- "in": showGlobalFilter,
1260
- orientation: "horizontal"
1261
- }, React.createElement(TextField, Object.assign({
1262
- id: "mrt-" + idPrefix + "-search-text-field",
1263
- placeholder: localization.search,
1264
- onChange: function onChange(event) {
1265
- setSearchValue(event.target.value);
1266
- handleChange(event);
1267
- },
1268
- value: searchValue != null ? searchValue : '',
1269
- variant: "standard",
1270
- InputProps: {
1271
- startAdornment: React.createElement(InputAdornment, {
1272
- position: "start"
1273
- }, React.createElement(Tooltip, {
1274
- arrow: true,
1275
- title: localization.changeSearchMode
1276
- }, React.createElement("span", null, React.createElement(IconButton, {
1277
- "aria-label": localization.changeSearchMode,
1278
- onClick: handleGlobalFilterMenuOpen,
1279
- size: "small",
1280
- sx: {
1281
- height: '1.75rem',
1282
- width: '1.75rem'
1283
- }
1284
- }, React.createElement(SearchIcon, null))))),
1285
- endAdornment: React.createElement(InputAdornment, {
1286
- position: "end"
1287
- }, React.createElement(IconButton, {
1288
- "aria-label": localization.clearSearch,
1289
- disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1290
- onClick: handleClear,
1291
- size: "small",
1292
- title: localization.clearSearch
1293
- }, React.createElement(CloseIcon, null)))
1294
- }
1295
- }, textFieldProps, {
1296
- sx: _extends({
1297
- justifySelf: 'end'
1298
- }, textFieldProps == null ? void 0 : textFieldProps.sx)
1299
- })), React.createElement(MRT_FilterOptionMenu, {
1300
- anchorEl: anchorEl,
1301
- setAnchorEl: setAnchorEl,
1302
- tableInstance: tableInstance
1303
- }));
1304
- };
1305
-
1306
1223
  var _excluded = ["tableInstance"];
1307
1224
  var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1308
1225
  var tableInstance = _ref.tableInstance,
@@ -1483,7 +1400,104 @@ var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
1483
1400
  }, rest), showGlobalFilter ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
1484
1401
  };
1485
1402
 
1403
+ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1404
+ var tableInstance = _ref.tableInstance;
1405
+ var getState = tableInstance.getState,
1406
+ setGlobalFilter = tableInstance.setGlobalFilter,
1407
+ _tableInstance$option = tableInstance.options,
1408
+ _tableInstance$option2 = _tableInstance$option.icons,
1409
+ SearchIcon = _tableInstance$option2.SearchIcon,
1410
+ CloseIcon = _tableInstance$option2.CloseIcon,
1411
+ idPrefix = _tableInstance$option.idPrefix,
1412
+ localization = _tableInstance$option.localization,
1413
+ muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1414
+ onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1415
+
1416
+ var _getState = getState(),
1417
+ globalFilter = _getState.globalFilter,
1418
+ showGlobalFilter = _getState.showGlobalFilter;
1419
+
1420
+ var _useState = useState(null),
1421
+ anchorEl = _useState[0],
1422
+ setAnchorEl = _useState[1];
1423
+
1424
+ var _useState2 = useState(globalFilter != null ? globalFilter : ''),
1425
+ searchValue = _useState2[0],
1426
+ setSearchValue = _useState2[1];
1427
+
1428
+ var handleChange = useCallback(debounce(function (event) {
1429
+ var _event$target$value;
1430
+
1431
+ setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1432
+ onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1433
+ event: event,
1434
+ tableInstance: tableInstance
1435
+ });
1436
+ }, 200), []);
1437
+
1438
+ var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1439
+ setAnchorEl(event.currentTarget);
1440
+ };
1441
+
1442
+ var handleClear = function handleClear() {
1443
+ setSearchValue('');
1444
+ setGlobalFilter(undefined);
1445
+ };
1446
+
1447
+ var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1448
+ tableInstance: tableInstance
1449
+ }) : muiSearchTextFieldProps;
1450
+ return React.createElement(Collapse, {
1451
+ "in": showGlobalFilter,
1452
+ orientation: "horizontal"
1453
+ }, React.createElement(TextField, Object.assign({
1454
+ id: "mrt-" + idPrefix + "-search-text-field",
1455
+ placeholder: localization.search,
1456
+ onChange: function onChange(event) {
1457
+ setSearchValue(event.target.value);
1458
+ handleChange(event);
1459
+ },
1460
+ value: searchValue != null ? searchValue : '',
1461
+ variant: "standard",
1462
+ InputProps: {
1463
+ startAdornment: React.createElement(InputAdornment, {
1464
+ position: "start"
1465
+ }, React.createElement(Tooltip, {
1466
+ arrow: true,
1467
+ title: localization.changeSearchMode
1468
+ }, React.createElement("span", null, React.createElement(IconButton, {
1469
+ "aria-label": localization.changeSearchMode,
1470
+ onClick: handleGlobalFilterMenuOpen,
1471
+ size: "small",
1472
+ sx: {
1473
+ height: '1.75rem',
1474
+ width: '1.75rem'
1475
+ }
1476
+ }, React.createElement(SearchIcon, null))))),
1477
+ endAdornment: React.createElement(InputAdornment, {
1478
+ position: "end"
1479
+ }, React.createElement(IconButton, {
1480
+ "aria-label": localization.clearSearch,
1481
+ disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1482
+ onClick: handleClear,
1483
+ size: "small",
1484
+ title: localization.clearSearch
1485
+ }, React.createElement(CloseIcon, null)))
1486
+ }
1487
+ }, textFieldProps, {
1488
+ sx: _extends({
1489
+ justifySelf: 'end'
1490
+ }, textFieldProps == null ? void 0 : textFieldProps.sx)
1491
+ })), React.createElement(MRT_FilterOptionMenu, {
1492
+ anchorEl: anchorEl,
1493
+ setAnchorEl: setAnchorEl,
1494
+ tableInstance: tableInstance
1495
+ }));
1496
+ };
1497
+
1486
1498
  var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1499
+ var _renderToolbarInterna;
1500
+
1487
1501
  var tableInstance = _ref.tableInstance;
1488
1502
  var _tableInstance$option = tableInstance.options,
1489
1503
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
@@ -1493,24 +1507,22 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1493
1507
  enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1494
1508
  enableHiding = _tableInstance$option.enableHiding,
1495
1509
  renderToolbarInternalActions = _tableInstance$option.renderToolbarInternalActions;
1496
-
1497
- if (renderToolbarInternalActions) {
1498
- return React.createElement(React.Fragment, null, renderToolbarInternalActions({
1499
- MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1500
- MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1501
- MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1502
- MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1503
- MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1504
- tableInstance: tableInstance
1505
- }));
1506
- }
1507
-
1508
1510
  return React.createElement(Box, {
1509
1511
  sx: {
1510
1512
  display: 'flex',
1511
- alignItems: 'center'
1513
+ alignItems: 'center',
1514
+ zIndex: 3
1512
1515
  }
1513
- }, enableFilters && enableGlobalFilter && React.createElement(MRT_ToggleGlobalFilterButton, {
1516
+ }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
1517
+ MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1518
+ MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1519
+ MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1520
+ MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1521
+ MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1522
+ tableInstance: tableInstance
1523
+ })) != null ? _renderToolbarInterna : React.createElement(React.Fragment, null, enableGlobalFilter && React.createElement(MRT_SearchTextField, {
1524
+ tableInstance: tableInstance
1525
+ }), enableFilters && enableGlobalFilter && React.createElement(MRT_ToggleGlobalFilterButton, {
1514
1526
  tableInstance: tableInstance
1515
1527
  }), enableFilters && enableColumnFilters && React.createElement(MRT_ToggleFiltersButton, {
1516
1528
  tableInstance: tableInstance
@@ -1520,7 +1532,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1520
1532
  tableInstance: tableInstance
1521
1533
  }), enableFullScreenToggle && React.createElement(MRT_FullScreenToggleButton, {
1522
1534
  tableInstance: tableInstance
1523
- }));
1535
+ })));
1524
1536
  };
1525
1537
 
1526
1538
  var MRT_TablePagination = function MRT_TablePagination(_ref) {
@@ -1581,44 +1593,36 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
1581
1593
  var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1582
1594
  var _localization$selecte, _localization$selecte2;
1583
1595
 
1584
- var tableInstance = _ref.tableInstance;
1596
+ var stackAlertBanner = _ref.stackAlertBanner,
1597
+ tableInstance = _ref.tableInstance;
1585
1598
  var getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
1586
1599
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1587
1600
  getState = tableInstance.getState,
1588
1601
  _tableInstance$option = tableInstance.options,
1589
1602
  localization = _tableInstance$option.localization,
1590
- muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps,
1591
- positionToolbarActions = _tableInstance$option.positionToolbarActions,
1592
- positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
1593
- renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
1603
+ muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps;
1594
1604
 
1595
1605
  var _getState = getState(),
1596
1606
  grouping = _getState.grouping;
1597
1607
 
1598
- var isMobile = useMediaQuery('(max-width:720px)');
1599
1608
  var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps({
1600
1609
  tableInstance: tableInstance
1601
1610
  }) : muiTableToolbarAlertBannerProps;
1602
1611
  var selectMessage = getSelectedRowModel().rows.length > 0 ? (_localization$selecte = localization.selectedCountOfRowCountRowsSelected) == null ? void 0 : (_localization$selecte2 = _localization$selecte.replace('{selectedCount}', getSelectedRowModel().rows.length.toString())) == null ? void 0 : _localization$selecte2.replace('{rowCount}', getPrePaginationRowModel().rows.length.toString()) : null;
1603
1612
  var groupedByMessage = grouping.length > 0 ? React.createElement("span", null, localization.groupedBy, ' ', grouping.map(function (columnId, index) {
1604
- var _tableInstance$getAll;
1605
-
1606
1613
  return React.createElement(Fragment, {
1607
1614
  key: index + "-" + columnId
1608
1615
  }, index > 0 ? localization.thenBy : '', React.createElement(Chip, {
1609
1616
  color: "secondary",
1610
- label: (_tableInstance$getAll = tableInstance.getAllColumns().find(function (column) {
1611
- return column.id === columnId;
1612
- })) == null ? void 0 : _tableInstance$getAll.header,
1617
+ label: tableInstance.getColumn(columnId).columnDef.header,
1613
1618
  onDelete: function onDelete() {
1614
1619
  return tableInstance.getColumn(columnId).toggleGrouping();
1615
1620
  }
1616
1621
  }));
1617
1622
  })) : null;
1618
- var displayAbsolute = !(isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions);
1619
1623
  return React.createElement(Collapse, {
1620
1624
  "in": !!selectMessage || !!groupedByMessage,
1621
- timeout: displayAbsolute ? 0 : 200
1625
+ timeout: stackAlertBanner ? 200 : 0
1622
1626
  }, React.createElement(Alert, Object.assign({
1623
1627
  color: "info",
1624
1628
  icon: false,
@@ -1627,9 +1631,8 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1627
1631
  fontSize: '1rem',
1628
1632
  left: 0,
1629
1633
  p: 0,
1630
- position: displayAbsolute ? 'absolute' : 'relative',
1634
+ position: 'relative',
1631
1635
  right: 0,
1632
- minHeight: '3.5rem',
1633
1636
  top: 0,
1634
1637
  width: '100%',
1635
1638
  zIndex: 2
@@ -1638,7 +1641,7 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1638
1641
  sx: {
1639
1642
  p: '0.5rem 1rem'
1640
1643
  }
1641
- }, selectMessage, React.createElement("br", null), groupedByMessage)));
1644
+ }, selectMessage, selectMessage && groupedByMessage && React.createElement("br", null), groupedByMessage)));
1642
1645
  };
1643
1646
 
1644
1647
  var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
@@ -1669,6 +1672,8 @@ var commonToolbarStyles = function commonToolbarStyles(_ref) {
1669
1672
  backgroundColor: lighten(theme.palette.background["default"], 0.04),
1670
1673
  backgroundImage: 'none',
1671
1674
  display: 'grid',
1675
+ minHeight: '3.5rem',
1676
+ overflow: 'hidden',
1672
1677
  p: '0 !important',
1673
1678
  transition: 'all 0.2s ease-in-out',
1674
1679
  width: '100%',
@@ -1681,7 +1686,6 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1681
1686
  var tableInstance = _ref2.tableInstance;
1682
1687
  var getState = tableInstance.getState,
1683
1688
  _tableInstance$option = tableInstance.options,
1684
- enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1685
1689
  enablePagination = _tableInstance$option.enablePagination,
1686
1690
  enableToolbarInternalActions = _tableInstance$option.enableToolbarInternalActions,
1687
1691
  idPrefix = _tableInstance$option.idPrefix,
@@ -1694,9 +1698,11 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1694
1698
  var _getState = getState(),
1695
1699
  isFullScreen = _getState.isFullScreen;
1696
1700
 
1701
+ var isMobile = useMediaQuery('(max-width:720px)');
1697
1702
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps({
1698
1703
  tableInstance: tableInstance
1699
1704
  }) : muiTableToolbarTopProps;
1705
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions;
1700
1706
  return React.createElement(Toolbar, Object.assign({
1701
1707
  id: "mrt-" + idPrefix + "-toolbar-top",
1702
1708
  variant: "dense"
@@ -1710,27 +1716,23 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1710
1716
  }), toolbarProps == null ? void 0 : toolbarProps.sx);
1711
1717
  }
1712
1718
  }), positionToolbarAlertBanner === 'top' && React.createElement(MRT_ToolbarAlertBanner, {
1719
+ stackAlertBanner: stackAlertBanner,
1713
1720
  tableInstance: tableInstance
1714
1721
  }), React.createElement(Box, {
1715
1722
  sx: {
1716
- p: '0.5rem',
1717
1723
  display: 'flex',
1718
- justifyContent: 'space-between'
1724
+ justifyContent: 'space-between',
1725
+ p: '0.5rem',
1726
+ position: stackAlertBanner ? 'relative' : 'absolute',
1727
+ right: 0,
1728
+ top: 0,
1729
+ width: 'calc(100% - 1rem)'
1719
1730
  }
1720
1731
  }, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions({
1721
1732
  tableInstance: tableInstance
1722
- })) != null ? _renderToolbarCustomA : React.createElement("span", null), React.createElement(Box, {
1723
- sx: {
1724
- display: 'flex',
1725
- gap: '0.5rem',
1726
- position: 'relative',
1727
- zIndex: 3
1728
- }
1729
- }, enableGlobalFilter && React.createElement(MRT_SearchTextField, {
1730
- tableInstance: tableInstance
1731
- }), enableToolbarInternalActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarInternalButtons, {
1733
+ })) != null ? _renderToolbarCustomA : React.createElement("span", null), enableToolbarInternalActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarInternalButtons, {
1732
1734
  tableInstance: tableInstance
1733
- }))), React.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1735
+ })), React.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1734
1736
  tableInstance: tableInstance
1735
1737
  })), React.createElement(MRT_LinearProgressBar, {
1736
1738
  tableInstance: tableInstance
@@ -1747,14 +1749,17 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1747
1749
  muiTableToolbarBottomProps = _tableInstance$option.muiTableToolbarBottomProps,
1748
1750
  positionPagination = _tableInstance$option.positionPagination,
1749
1751
  positionToolbarActions = _tableInstance$option.positionToolbarActions,
1750
- positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner;
1752
+ positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
1753
+ renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
1751
1754
 
1752
1755
  var _getState = getState(),
1753
1756
  isFullScreen = _getState.isFullScreen;
1754
1757
 
1758
+ var isMobile = useMediaQuery('(max-width:720px)');
1755
1759
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps({
1756
1760
  tableInstance: tableInstance
1757
1761
  }) : muiTableToolbarBottomProps;
1762
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'bottom' && !!renderToolbarCustomActions && positionToolbarActions === 'bottom';
1758
1763
  return React.createElement(Toolbar, Object.assign({
1759
1764
  id: "mrt-" + idPrefix + "-toolbar-bottom",
1760
1765
  variant: "dense"
@@ -1770,17 +1775,20 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1770
1775
  }
1771
1776
  }), React.createElement(MRT_LinearProgressBar, {
1772
1777
  tableInstance: tableInstance
1778
+ }), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, {
1779
+ tableInstance: tableInstance
1773
1780
  }), React.createElement(Box, {
1774
1781
  sx: {
1775
1782
  display: 'flex',
1776
1783
  justifyContent: 'space-between',
1777
- width: '100%'
1784
+ width: '100%',
1785
+ position: stackAlertBanner ? 'relative' : 'absolute',
1786
+ right: 0,
1787
+ top: 0
1778
1788
  }
1779
1789
  }, enableToolbarInternalActions && positionToolbarActions === 'bottom' ? React.createElement(MRT_ToolbarInternalButtons, {
1780
1790
  tableInstance: tableInstance
1781
- }) : React.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, {
1782
- tableInstance: tableInstance
1783
- }), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1791
+ }) : React.createElement("span", null), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1784
1792
  tableInstance: tableInstance
1785
1793
  })));
1786
1794
  };
@@ -1990,30 +1998,214 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1990
1998
  }));
1991
1999
  };
1992
2000
 
1993
- var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
2001
+ var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
1994
2002
  var header = _ref.header,
1995
2003
  tableInstance = _ref.tableInstance;
1996
- var _tableInstance$option = tableInstance.options,
1997
- MoreVertIcon = _tableInstance$option.icons.MoreVertIcon,
1998
- localization = _tableInstance$option.localization,
1999
- muiTableHeadCellColumnActionsButtonProps = _tableInstance$option.muiTableHeadCellColumnActionsButtonProps;
2000
- var column = header.column;
2001
-
2002
- var _useState = useState(null),
2003
- anchorEl = _useState[0],
2004
- setAnchorEl = _useState[1];
2005
-
2006
- var handleClick = function handleClick(event) {
2007
- event.stopPropagation();
2008
- event.preventDefault();
2009
- setAnchorEl(event.currentTarget);
2010
- };
2011
-
2012
- var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps({
2013
- column: column,
2014
- tableInstance: tableInstance
2015
- }) : muiTableHeadCellColumnActionsButtonProps;
2016
- var mcTableHeadCellColumnActionsButtonProps = column.muiTableHeadCellColumnActionsButtonProps instanceof Function ? column.muiTableHeadCellColumnActionsButtonProps({
2004
+ var localization = tableInstance.options.localization;
2005
+ return React.createElement(Box, {
2006
+ sx: {
2007
+ display: 'grid',
2008
+ gridTemplateColumns: '6fr auto 5fr'
2009
+ }
2010
+ }, React.createElement(MRT_FilterTextField, {
2011
+ header: header,
2012
+ inputIndex: 0,
2013
+ tableInstance: tableInstance
2014
+ }), React.createElement(Box, {
2015
+ sx: {
2016
+ width: '100%',
2017
+ minWidth: '5ch',
2018
+ textAlign: 'center'
2019
+ }
2020
+ }, localization.to), React.createElement(MRT_FilterTextField, {
2021
+ header: header,
2022
+ inputIndex: 1,
2023
+ tableInstance: tableInstance
2024
+ }));
2025
+ };
2026
+
2027
+ var MRT_TableHeadCellFilterContainer = function MRT_TableHeadCellFilterContainer(_ref) {
2028
+ var header = _ref.header,
2029
+ tableInstance = _ref.tableInstance;
2030
+ var getState = tableInstance.getState;
2031
+
2032
+ var _getState = getState(),
2033
+ currentFilterFns = _getState.currentFilterFns,
2034
+ showFilters = _getState.showFilters;
2035
+
2036
+ var column = header.column;
2037
+ return React.createElement(Collapse, {
2038
+ "in": showFilters,
2039
+ mountOnEnter: true,
2040
+ unmountOnExit: true
2041
+ }, currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? React.createElement(MRT_FilterRangeFields, {
2042
+ header: header,
2043
+ tableInstance: tableInstance
2044
+ }) : React.createElement(MRT_FilterTextField, {
2045
+ header: header,
2046
+ tableInstance: tableInstance
2047
+ }));
2048
+ };
2049
+
2050
+ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
2051
+ var _getState2, _getState2$currentFil;
2052
+
2053
+ var header = _ref.header,
2054
+ tableInstance = _ref.tableInstance;
2055
+ var getState = tableInstance.getState,
2056
+ _tableInstance$option = tableInstance.options,
2057
+ _tableInstance$option2 = _tableInstance$option.icons,
2058
+ FilterAltIcon = _tableInstance$option2.FilterAltIcon,
2059
+ FilterAltOff = _tableInstance$option2.FilterAltOff,
2060
+ localization = _tableInstance$option.localization,
2061
+ setShowFilters = tableInstance.setShowFilters;
2062
+
2063
+ var _getState = getState(),
2064
+ showFilters = _getState.showFilters;
2065
+
2066
+ var column = header.column;
2067
+ var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
2068
+ var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2069
+ 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;
2070
+ return React.createElement(Tooltip, {
2071
+ arrow: true,
2072
+ placement: "top",
2073
+ title: filterTooltip
2074
+ }, React.createElement(IconButton, {
2075
+ disableRipple: true,
2076
+ onClick: function onClick(event) {
2077
+ event.stopPropagation();
2078
+ setShowFilters(!showFilters);
2079
+ },
2080
+ size: "small",
2081
+ sx: {
2082
+ m: 0,
2083
+ opacity: !!column.getFilterValue() || showFilters ? 0.8 : 0,
2084
+ p: '2px',
2085
+ transition: 'all 0.2s ease-in-out',
2086
+ '&:hover': {
2087
+ backgroundColor: 'transparent',
2088
+ opacity: 0.8
2089
+ }
2090
+ }
2091
+ }, showFilters && !column.getFilterValue() ? React.createElement(FilterAltOff, null) : React.createElement(FilterAltIcon, null)));
2092
+ };
2093
+
2094
+ var MRT_TableHeadCellGrabHandle = /*#__PURE__*/forwardRef(function (_ref, ref) {
2095
+ var tableInstance = _ref.tableInstance;
2096
+ var _tableInstance$option = tableInstance.options,
2097
+ DragHandleIcon = _tableInstance$option.icons.DragHandleIcon,
2098
+ localization = _tableInstance$option.localization;
2099
+ return React.createElement(Tooltip, {
2100
+ arrow: true,
2101
+ enterDelay: 1000,
2102
+ enterNextDelay: 1000,
2103
+ placement: "top",
2104
+ title: localization.grab
2105
+ }, React.createElement(IconButton, {
2106
+ disableRipple: true,
2107
+ ref: ref,
2108
+ size: "small",
2109
+ sx: {
2110
+ cursor: 'grab',
2111
+ m: 0,
2112
+ opacity: 0.5,
2113
+ p: '2px',
2114
+ transition: 'all 0.2s ease-in-out',
2115
+ '&:hover': {
2116
+ backgroundColor: 'transparent',
2117
+ opacity: 1
2118
+ },
2119
+ '&:active': {
2120
+ cursor: 'grabbing'
2121
+ }
2122
+ }
2123
+ }, React.createElement(DragHandleIcon, null)));
2124
+ });
2125
+
2126
+ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref) {
2127
+ var header = _ref.header,
2128
+ tableInstance = _ref.tableInstance;
2129
+ var getState = tableInstance.getState;
2130
+
2131
+ var _getState = getState(),
2132
+ showFilters = _getState.showFilters;
2133
+
2134
+ var column = header.column;
2135
+ return React.createElement(Divider, {
2136
+ flexItem: true,
2137
+ orientation: "vertical",
2138
+ onDoubleClick: function onDoubleClick() {
2139
+ return column.resetSize();
2140
+ },
2141
+ sx: function sx(theme) {
2142
+ return {
2143
+ borderRadius: '2px',
2144
+ borderRightWidth: '2px',
2145
+ cursor: 'col-resize',
2146
+ height: showFilters && column.columnDefType === 'data' ? '4rem' : '2rem',
2147
+ opacity: 0.8,
2148
+ position: 'absolute',
2149
+ right: '1px',
2150
+ touchAction: 'none',
2151
+ transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
2152
+ userSelect: 'none',
2153
+ zIndex: 2000,
2154
+ '&:active': {
2155
+ backgroundColor: theme.palette.info.main,
2156
+ opacity: 1
2157
+ }
2158
+ };
2159
+ },
2160
+ onMouseDown: header.getResizeHandler(),
2161
+ onTouchStart: header.getResizeHandler(),
2162
+ style: {
2163
+ transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
2164
+ }
2165
+ });
2166
+ };
2167
+
2168
+ var MRT_TableHeadCellSortLabel = function MRT_TableHeadCellSortLabel(_ref) {
2169
+ var header = _ref.header,
2170
+ tableInstance = _ref.tableInstance;
2171
+ var localization = tableInstance.options.localization;
2172
+ var column = header.column;
2173
+ var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.columnDef.header) : localization.sortedByColumnAsc.replace('{column}', column.columnDef.header) : localization.unsorted;
2174
+ return React.createElement(Tooltip, {
2175
+ arrow: true,
2176
+ placement: "top",
2177
+ title: sortTooltip
2178
+ }, React.createElement(TableSortLabel, {
2179
+ "aria-label": sortTooltip,
2180
+ active: !!column.getIsSorted(),
2181
+ direction: column.getIsSorted() ? column.getIsSorted() : undefined
2182
+ }));
2183
+ };
2184
+
2185
+ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
2186
+ var header = _ref.header,
2187
+ tableInstance = _ref.tableInstance;
2188
+ var _tableInstance$option = tableInstance.options,
2189
+ MoreVertIcon = _tableInstance$option.icons.MoreVertIcon,
2190
+ localization = _tableInstance$option.localization,
2191
+ muiTableHeadCellColumnActionsButtonProps = _tableInstance$option.muiTableHeadCellColumnActionsButtonProps;
2192
+ var column = header.column;
2193
+
2194
+ var _useState = useState(null),
2195
+ anchorEl = _useState[0],
2196
+ setAnchorEl = _useState[1];
2197
+
2198
+ var handleClick = function handleClick(event) {
2199
+ event.stopPropagation();
2200
+ event.preventDefault();
2201
+ setAnchorEl(event.currentTarget);
2202
+ };
2203
+
2204
+ var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps({
2205
+ column: column,
2206
+ tableInstance: tableInstance
2207
+ }) : muiTableHeadCellColumnActionsButtonProps;
2208
+ var mcTableHeadCellColumnActionsButtonProps = column.muiTableHeadCellColumnActionsButtonProps instanceof Function ? column.muiTableHeadCellColumnActionsButtonProps({
2017
2209
  column: column,
2018
2210
  tableInstance: tableInstance
2019
2211
  }) : column.muiTableHeadCellColumnActionsButtonProps;
@@ -2050,53 +2242,26 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2050
2242
  }));
2051
2243
  };
2052
2244
 
2053
- var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
2054
- var header = _ref.header,
2055
- tableInstance = _ref.tableInstance;
2056
- var localization = tableInstance.options.localization;
2057
- return React.createElement(Box, {
2058
- sx: {
2059
- display: 'grid',
2060
- gridTemplateColumns: '6fr auto 5fr'
2061
- }
2062
- }, React.createElement(MRT_FilterTextField, {
2063
- header: header,
2064
- inputIndex: 0,
2065
- tableInstance: tableInstance
2066
- }), React.createElement(Box, {
2067
- sx: {
2068
- width: '100%',
2069
- minWidth: '5ch',
2070
- textAlign: 'center'
2071
- }
2072
- }, localization.to), React.createElement(MRT_FilterTextField, {
2073
- header: header,
2074
- inputIndex: 1,
2075
- tableInstance: tableInstance
2076
- }));
2077
- };
2078
-
2079
2245
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2080
- var _getState2, _getState2$currentFil, _column$columnDef$Hea, _column$columnDef, _column$columnDef$hea, _column$columnDef$hea2;
2246
+ var _column$columnDef$Hea, _column$columnDef, _column$minSize, _column$columnDef$hea, _column$columnDef$hea2;
2081
2247
 
2082
- var header = _ref.header,
2248
+ var dragRef = _ref.dragRef,
2249
+ dropRef = _ref.dropRef,
2250
+ header = _ref.header,
2251
+ isDragging = _ref.isDragging,
2252
+ previewRef = _ref.previewRef,
2083
2253
  tableInstance = _ref.tableInstance;
2084
2254
  var getState = tableInstance.getState,
2085
2255
  _tableInstance$option = tableInstance.options,
2086
2256
  enableColumnActions = _tableInstance$option.enableColumnActions,
2087
2257
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
2258
+ enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
2088
2259
  enableColumnResizing = _tableInstance$option.enableColumnResizing,
2089
- _tableInstance$option2 = _tableInstance$option.icons,
2090
- FilterAltIcon = _tableInstance$option2.FilterAltIcon,
2091
- FilterAltOff = _tableInstance$option2.FilterAltOff,
2092
- localization = _tableInstance$option.localization,
2093
- muiTableHeadCellProps = _tableInstance$option.muiTableHeadCellProps,
2094
- setShowFilters = tableInstance.setShowFilters;
2260
+ enableGrouping = _tableInstance$option.enableGrouping,
2261
+ muiTableHeadCellProps = _tableInstance$option.muiTableHeadCellProps;
2095
2262
 
2096
2263
  var _getState = getState(),
2097
- currentFilterFns = _getState.currentFilterFns,
2098
- isDensePadding = _getState.isDensePadding,
2099
- showFilters = _getState.showFilters;
2264
+ isDensePadding = _getState.isDensePadding;
2100
2265
 
2101
2266
  var column = header.column;
2102
2267
  var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps({
@@ -2110,10 +2275,6 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2110
2275
 
2111
2276
  var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
2112
2277
 
2113
- var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.columnDef.header) : localization.sortedByColumnAsc.replace('{column}', column.columnDef.header) : localization.unsorted;
2114
- var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
2115
- var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2116
- 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;
2117
2278
  var headerElement = (_column$columnDef$Hea = (_column$columnDef = column.columnDef) == null ? void 0 : _column$columnDef.Header == null ? void 0 : _column$columnDef.Header({
2118
2279
  header: header,
2119
2280
  tableInstance: tableInstance
@@ -2135,6 +2296,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2135
2296
  align: column.columnDefType === 'group' ? 'center' : 'left',
2136
2297
  colSpan: header.colSpan
2137
2298
  }, tableCellProps, {
2299
+ ref: column.columnDefType === 'data' ? dropRef : undefined,
2138
2300
  sx: function sx(theme) {
2139
2301
  return _extends({
2140
2302
  backgroundColor: column.getIsPinned() && column.columnDefType !== 'group' ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
@@ -2143,8 +2305,6 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2143
2305
  fontWeight: 'bold',
2144
2306
  height: '100%',
2145
2307
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2146
- maxWidth: "min(" + column.getSize() + "px, fit-content)",
2147
- minWidth: "max(" + column.getSize() + "px, " + column.minSize + "px)",
2148
2308
  overflow: 'visible',
2149
2309
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2150
2310
  pb: column.columnDefType === 'display' ? 0 : undefined,
@@ -2153,15 +2313,21 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2153
2313
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2154
2314
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2155
2315
  verticalAlign: 'text-top',
2156
- width: header.getSize(),
2157
2316
  zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && column.columnDefType !== 'group' ? 2 : 1
2158
2317
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2318
+ },
2319
+ style: {
2320
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2321
+ minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
2322
+ width: header.getSize()
2159
2323
  }
2160
2324
  }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React.createElement(Box, {
2325
+ ref: previewRef,
2161
2326
  sx: {
2162
2327
  alignItems: 'flex-start',
2163
2328
  display: 'flex',
2164
2329
  justifyContent: column.columnDefType === 'group' ? 'center' : 'space-between',
2330
+ opacity: isDragging ? 0.5 : 1,
2165
2331
  width: '100%'
2166
2332
  }
2167
2333
  }, React.createElement(Box, {
@@ -2175,87 +2341,90 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2175
2341
  flexWrap: 'nowrap',
2176
2342
  whiteSpace: ((_column$columnDef$hea = (_column$columnDef$hea2 = column.columnDef.header) == null ? void 0 : _column$columnDef$hea2.length) != null ? _column$columnDef$hea : 0) < 24 ? 'nowrap' : 'normal'
2177
2343
  }
2178
- }, headerElement, column.columnDefType === 'data' && column.getCanSort() && React.createElement(Tooltip, {
2179
- arrow: true,
2180
- placement: "top",
2181
- title: sortTooltip
2182
- }, React.createElement(TableSortLabel, {
2183
- "aria-label": sortTooltip,
2184
- active: !!column.getIsSorted(),
2185
- direction: column.getIsSorted() ? column.getIsSorted() : undefined
2186
- })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanFilter() && React.createElement(Tooltip, {
2187
- arrow: true,
2188
- placement: "top",
2189
- title: filterTooltip
2190
- }, React.createElement(IconButton, {
2191
- disableRipple: true,
2192
- onClick: function onClick(event) {
2193
- event.stopPropagation();
2194
- setShowFilters(!showFilters);
2195
- },
2196
- size: "small",
2344
+ }, headerElement, column.columnDefType === 'data' && column.getCanSort() && React.createElement(MRT_TableHeadCellSortLabel, {
2345
+ header: header,
2346
+ tableInstance: tableInstance
2347
+ }), column.columnDefType === 'data' && enableColumnFilters && column.getCanFilter() && React.createElement(MRT_TableHeadCellFilterLabel, {
2348
+ header: header,
2349
+ tableInstance: tableInstance
2350
+ })), React.createElement(Box, {
2197
2351
  sx: {
2198
- m: 0,
2199
- opacity: !!column.getFilterValue() ? 0.8 : 0,
2200
- p: '2px',
2201
- transition: 'all 0.2s ease-in-out',
2202
- '&:hover': {
2203
- backgroundColor: 'transparent',
2204
- opacity: 0.8
2205
- }
2352
+ whiteSpace: 'nowrap'
2206
2353
  }
2207
- }, showFilters && !column.getFilterValue() ? React.createElement(FilterAltOff, null) : React.createElement(FilterAltIcon, null)))), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React.createElement(MRT_ToggleColumnActionMenuButton, {
2354
+ }, column.columnDefType === 'data' && (enableColumnOrdering && column.enableColumnOrdering !== false || enableGrouping && column.enableGrouping !== false) && React.createElement(MRT_TableHeadCellGrabHandle, {
2208
2355
  header: header,
2356
+ ref: dragRef,
2209
2357
  tableInstance: tableInstance
2210
- }), column.getCanResize() && React.createElement(Divider, Object.assign({
2211
- flexItem: true,
2212
- orientation: "vertical",
2213
- onDoubleClick: function onDoubleClick() {
2214
- return column.resetSize();
2215
- },
2216
- sx: function sx(theme) {
2217
- return {
2218
- borderRadius: '2px',
2219
- borderRightWidth: '2px',
2220
- cursor: 'col-resize',
2221
- height: showFilters && column.columnDefType === 'data' ? '4rem' : '2rem',
2222
- opacity: 0.8,
2223
- position: 'absolute',
2224
- right: '1px',
2225
- touchAction: 'none',
2226
- transition: 'all 0.2s ease-in-out',
2227
- userSelect: 'none',
2228
- zIndex: 2000,
2229
- '&:active': {
2230
- backgroundColor: theme.palette.info.main,
2231
- opacity: 1
2232
- }
2233
- };
2234
- }
2235
- }, {
2236
- onMouseDown: header.getResizeHandler,
2237
- onTouchStart: header.getResizeHandler
2238
- }, {
2239
- style: {
2240
- transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
2241
- }
2242
- }))), column.columnDefType === 'data' && column.getCanFilter() && React.createElement(Collapse, {
2243
- "in": showFilters,
2244
- mountOnEnter: true,
2245
- unmountOnExit: true
2246
- }, currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? React.createElement(MRT_FilterRangeFields, {
2358
+ }), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React.createElement(MRT_ToggleColumnActionMenuButton, {
2247
2359
  header: header,
2248
2360
  tableInstance: tableInstance
2249
- }) : React.createElement(MRT_FilterTextField, {
2361
+ })), column.getCanResize() && React.createElement(MRT_TableHeadCellResizeHandle, {
2250
2362
  header: header,
2251
2363
  tableInstance: tableInstance
2252
- })));
2364
+ })), column.columnDefType === 'data' && column.getCanFilter() && React.createElement(MRT_TableHeadCellFilterContainer, {
2365
+ header: header,
2366
+ tableInstance: tableInstance
2367
+ }));
2368
+ };
2369
+
2370
+ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
2371
+ var header = _ref.header,
2372
+ tableInstance = _ref.tableInstance;
2373
+ var getState = tableInstance.getState;
2374
+
2375
+ _objectDestructuringEmpty(tableInstance.options);
2376
+
2377
+ var setColumnOrder = tableInstance.setColumnOrder;
2378
+
2379
+ var _getState = getState(),
2380
+ columnOrder = _getState.columnOrder;
2381
+
2382
+ var reorder = function reorder(item, newIndex) {
2383
+ var currentIndex = item.index;
2384
+ columnOrder.splice(newIndex, 0, columnOrder.splice(currentIndex, 1)[0]);
2385
+ setColumnOrder([].concat(columnOrder));
2386
+ };
2387
+
2388
+ var _useDrop = useDrop({
2389
+ accept: 'header',
2390
+ drop: function drop(item) {
2391
+ return reorder(item, header.index);
2392
+ }
2393
+ }),
2394
+ drop = _useDrop[1];
2395
+
2396
+ var _useDrag = useDrag({
2397
+ collect: function collect(monitor) {
2398
+ return {
2399
+ isDragging: monitor.isDragging()
2400
+ };
2401
+ },
2402
+ item: function item() {
2403
+ return header;
2404
+ },
2405
+ type: 'header'
2406
+ }),
2407
+ isDragging = _useDrag[0].isDragging,
2408
+ drag = _useDrag[1],
2409
+ preview = _useDrag[2];
2410
+
2411
+ return React.createElement(MRT_TableHeadCell, {
2412
+ dragRef: drag,
2413
+ dropRef: drop,
2414
+ header: header,
2415
+ isDragging: isDragging,
2416
+ previewRef: preview,
2417
+ tableInstance: tableInstance
2418
+ });
2253
2419
  };
2254
2420
 
2255
2421
  var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2256
2422
  var headerGroup = _ref.headerGroup,
2257
2423
  tableInstance = _ref.tableInstance;
2258
- var muiTableHeadRowProps = tableInstance.options.muiTableHeadRowProps;
2424
+ var _tableInstance$option = tableInstance.options,
2425
+ enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
2426
+ enableGrouping = _tableInstance$option.enableGrouping,
2427
+ muiTableHeadRowProps = _tableInstance$option.muiTableHeadRowProps;
2259
2428
  var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2260
2429
  headerGroup: headerGroup,
2261
2430
  tableInstance: tableInstance
@@ -2268,7 +2437,11 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2268
2437
  }, tableRowProps == null ? void 0 : tableRowProps.sx);
2269
2438
  }
2270
2439
  }), headerGroup.headers.map(function (header, index) {
2271
- return React.createElement(MRT_TableHeadCell, {
2440
+ return enableColumnOrdering || enableGrouping ? React.createElement(MRT_DraggableTableHeadCell, {
2441
+ header: header,
2442
+ key: header.id || index,
2443
+ tableInstance: tableInstance
2444
+ }) : React.createElement(MRT_TableHeadCell, {
2272
2445
  header: header,
2273
2446
  key: header.id || index,
2274
2447
  tableInstance: tableInstance
@@ -2419,7 +2592,9 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2419
2592
  onClick: function onClick() {
2420
2593
  return handleCopy(cell.getValue());
2421
2594
  },
2422
- size: "small"
2595
+ size: "small",
2596
+ type: "button",
2597
+ variant: "text"
2423
2598
  }, buttonProps, {
2424
2599
  sx: _extends({
2425
2600
  backgroundColor: 'transparent',
@@ -2433,13 +2608,12 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2433
2608
  minWidth: 'unset',
2434
2609
  textAlign: 'inherit',
2435
2610
  textTransform: 'inherit'
2436
- }, buttonProps == null ? void 0 : buttonProps.sx),
2437
- variant: "text"
2611
+ }, buttonProps == null ? void 0 : buttonProps.sx)
2438
2612
  }), children));
2439
2613
  };
2440
2614
 
2441
2615
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2442
- var _cell$column$columnDe, _cell$column$columnDe2, _row$subRows, _cell$column$columnDe3, _cell$column$columnDe4, _row$subRows$length, _row$subRows2;
2616
+ var _column$minSize, _cell$column$columnDe, _cell$column$columnDe2, _row$subRows, _cell$column$columnDe3, _cell$column$columnDe4, _row$subRows$length, _row$subRows2;
2443
2617
 
2444
2618
  var cell = _ref.cell,
2445
2619
  enableHover = _ref.enableHover,
@@ -2523,20 +2697,22 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2523
2697
  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,
2524
2698
  cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2525
2699
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2526
- maxWidth: "min(" + column.getSize() + "px, fit-content)",
2527
- minWidth: "max" + column.getSize() + "px, " + column.minSize + "px",
2528
2700
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2529
2701
  pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2530
2702
  position: column.getIsPinned() ? 'sticky' : 'relative',
2531
2703
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2532
2704
  transition: 'all 0.2s ease-in-out',
2533
2705
  whiteSpace: isDensePadding ? 'nowrap' : 'normal',
2534
- width: column.getSize(),
2535
2706
  zIndex: column.getIsPinned() ? 1 : undefined,
2536
2707
  '&:hover': {
2537
2708
  backgroundColor: enableHover ? theme.palette.mode === 'dark' ? lighten(theme.palette.background["default"], 0.13) + " !important" : darken(theme.palette.background["default"], 0.07) + " !important" : undefined
2538
2709
  }
2539
2710
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2711
+ },
2712
+ style: {
2713
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2714
+ minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
2715
+ width: column.getSize()
2540
2716
  }
2541
2717
  }), React.createElement(React.Fragment, null, isLoading || showSkeletons ? React.createElement(Skeleton, Object.assign({
2542
2718
  animation: "wave",
@@ -2666,7 +2842,7 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
2666
2842
  };
2667
2843
 
2668
2844
  var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2669
- var _ref2, _column$columnDef$Foo;
2845
+ var _ref2, _ref3, _column$columnDef$Foo;
2670
2846
 
2671
2847
  var footer = _ref.footer,
2672
2848
  tableInstance = _ref.tableInstance;
@@ -2708,10 +2884,10 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2708
2884
  verticalAlign: 'text-top'
2709
2885
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2710
2886
  }
2711
- }), React.createElement(React.Fragment, null, footer.isPlaceholder ? null : (_ref2 = (_column$columnDef$Foo = column.columnDef.Footer == null ? void 0 : column.columnDef.Footer({
2887
+ }), React.createElement(React.Fragment, null, footer.isPlaceholder ? null : (_ref2 = (_ref3 = (_column$columnDef$Foo = column.columnDef.Footer == null ? void 0 : column.columnDef.Footer({
2712
2888
  footer: footer,
2713
2889
  tableInstance: tableInstance
2714
- })) != null ? _column$columnDef$Foo : footer.renderFooter()) != null ? _ref2 : null));
2890
+ })) != null ? _column$columnDef$Foo : column.columnDef.footer) != null ? _ref3 : footer.renderFooter()) != null ? _ref2 : null));
2715
2891
  };
2716
2892
 
2717
2893
  var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
@@ -2839,7 +3015,9 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
2839
3015
  var tablePaperProps = muiTablePaperProps instanceof Function ? muiTablePaperProps({
2840
3016
  tableInstance: tableInstance
2841
3017
  }) : muiTablePaperProps;
2842
- return React.createElement(Paper, Object.assign({
3018
+ return React.createElement(DndProvider, {
3019
+ backend: HTML5Backend
3020
+ }, React.createElement(Paper, Object.assign({
2843
3021
  elevation: 2
2844
3022
  }, tablePaperProps, {
2845
3023
  sx: _extends({
@@ -2859,7 +3037,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
2859
3037
  tableInstance: tableInstance
2860
3038
  }), enableToolbarBottom && React.createElement(MRT_ToolbarBottom, {
2861
3039
  tableInstance: tableInstance
2862
- }));
3040
+ })));
2863
3041
  };
2864
3042
 
2865
3043
  var getAllLeafColumnDefs = function getAllLeafColumnDefs(columns) {
@@ -3074,7 +3252,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3074
3252
  return _ref7 = {}, _ref7[c.id] = null, _ref7;
3075
3253
  })));
3076
3254
  }) : props.data;
3077
- }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
3255
+ }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]);
3256
+
3257
+ var _useState11 = useState(function () {
3258
+ var _initialState$columnO;
3259
+
3260
+ return ((_initialState$columnO = initialState == null ? void 0 : initialState.columnOrder) != null ? _initialState$columnO : props.enableColumnOrdering) ? getAllLeafColumnDefs(columns).map(function (c) {
3261
+ return c.id;
3262
+ }) : [];
3263
+ }),
3264
+ columnOrder = _useState11[0],
3265
+ setColumnOrder = _useState11[1]; //@ts-ignore
3266
+
3078
3267
 
3079
3268
  var tableInstance = _extends({}, useTableInstance(table, _extends({
3080
3269
  filterFns: defaultFilterFNs,
@@ -3090,6 +3279,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3090
3279
  },
3091
3280
  //@ts-ignore
3092
3281
  globalFilterFn: currentGlobalFilterFn,
3282
+ onColumnOrderChange: setColumnOrder,
3093
3283
  onPaginationChange: function onPaginationChange(updater) {
3094
3284
  return setPagination(function (old) {
3095
3285
  return functionalUpdate(updater, old);
@@ -3102,6 +3292,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3102
3292
  idPrefix: idPrefix,
3103
3293
  initialState: initialState,
3104
3294
  state: _extends({
3295
+ columnOrder: columnOrder,
3105
3296
  currentEditingCell: currentEditingCell,
3106
3297
  currentEditingRow: currentEditingRow,
3107
3298
  currentFilterFns: currentFilterFns,
@@ -3164,18 +3355,26 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3164
3355
  }));
3165
3356
  };
3166
3357
 
3167
- var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3358
+ 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"];
3168
3359
  var MaterialReactTable = (function (_ref) {
3169
3360
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3170
3361
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3171
3362
  _ref$columnResizeMode = _ref.columnResizeMode,
3172
3363
  columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
3364
+ _ref$defaultColumn = _ref.defaultColumn,
3365
+ defaultColumn = _ref$defaultColumn === void 0 ? {
3366
+ minSize: 50,
3367
+ maxSize: 1000,
3368
+ size: 150
3369
+ } : _ref$defaultColumn,
3173
3370
  _ref$editingMode = _ref.editingMode,
3174
3371
  editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
3175
3372
  _ref$enableColumnActi = _ref.enableColumnActions,
3176
3373
  enableColumnActions = _ref$enableColumnActi === void 0 ? true : _ref$enableColumnActi,
3177
3374
  _ref$enableColumnFilt = _ref.enableColumnFilters,
3178
3375
  enableColumnFilters = _ref$enableColumnFilt === void 0 ? true : _ref$enableColumnFilt,
3376
+ _ref$enableColumnOrde = _ref.enableColumnOrdering,
3377
+ enableColumnOrdering = _ref$enableColumnOrde === void 0 ? false : _ref$enableColumnOrde,
3179
3378
  _ref$enableColumnResi = _ref.enableColumnResizing,
3180
3379
  enableColumnResizing = _ref$enableColumnResi === void 0 ? false : _ref$enableColumnResi,
3181
3380
  _ref$enableDensePaddi = _ref.enableDensePaddingToggle,
@@ -3188,6 +3387,8 @@ var MaterialReactTable = (function (_ref) {
3188
3387
  enableFullScreenToggle = _ref$enableFullScreen === void 0 ? true : _ref$enableFullScreen,
3189
3388
  _ref$enableGlobalFilt = _ref.enableGlobalFilter,
3190
3389
  enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
3390
+ _ref$enableGrouping = _ref.enableGrouping,
3391
+ enableGrouping = _ref$enableGrouping === void 0 ? false : _ref$enableGrouping,
3191
3392
  _ref$enableHiding = _ref.enableHiding,
3192
3393
  enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
3193
3394
  _ref$enableMultiRowSe = _ref.enableMultiRowSelection,
@@ -3229,15 +3430,18 @@ var MaterialReactTable = (function (_ref) {
3229
3430
  return React.createElement(MRT_TableRoot, Object.assign({
3230
3431
  autoResetExpanded: autoResetExpanded,
3231
3432
  columnResizeMode: columnResizeMode,
3433
+ defaultColumn: defaultColumn,
3232
3434
  editingMode: editingMode,
3233
3435
  enableColumnActions: enableColumnActions,
3234
3436
  enableColumnFilters: enableColumnFilters,
3437
+ enableColumnOrdering: enableColumnOrdering,
3235
3438
  enableColumnResizing: enableColumnResizing,
3236
3439
  enableDensePaddingToggle: enableDensePaddingToggle,
3237
3440
  enableExpandAll: enableExpandAll,
3238
3441
  enableFilters: enableFilters,
3239
3442
  enableFullScreenToggle: enableFullScreenToggle,
3240
3443
  enableGlobalFilter: enableGlobalFilter,
3444
+ enableGrouping: enableGrouping,
3241
3445
  enableHiding: enableHiding,
3242
3446
  enableMultiRowSelection: enableMultiRowSelection,
3243
3447
  enablePagination: enablePagination,