material-react-table 0.8.0-alpha.1 → 0.8.1

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 (51) hide show
  1. package/README.md +1 -1
  2. package/dist/MaterialReactTable.d.ts +8 -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 +514 -313
  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 +516 -315
  18. package/dist/material-react-table.esm.js.map +1 -1
  19. package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -0
  20. package/dist/toolbar/MRT_ToolbarTop.d.ts +2 -0
  21. package/dist/utils.d.ts +1 -1
  22. package/package.json +13 -13
  23. package/src/MaterialReactTable.tsx +13 -0
  24. package/src/body/MRT_TableBodyCell.tsx +10 -7
  25. package/src/buttons/MRT_CopyButton.tsx +3 -2
  26. package/src/buttons/MRT_ExpandAllButton.tsx +26 -18
  27. package/src/buttons/MRT_ExpandButton.tsx +27 -21
  28. package/src/footer/MRT_TableFooterCell.tsx +11 -8
  29. package/src/footer/MRT_TableFooterRow.tsx +3 -2
  30. package/src/head/MRT_DraggableTableHeadCell.tsx +52 -0
  31. package/src/head/MRT_TableHeadCell.tsx +75 -156
  32. package/src/head/MRT_TableHeadCellFilterContainer.tsx +32 -0
  33. package/src/head/MRT_TableHeadCellFilterLabel.tsx +82 -0
  34. package/src/head/MRT_TableHeadCellGrabHandle.tsx +52 -0
  35. package/src/head/MRT_TableHeadCellResizeHandle.tsx +52 -0
  36. package/src/head/MRT_TableHeadCellSortLabel.tsx +45 -0
  37. package/src/head/MRT_TableHeadRow.tsx +17 -8
  38. package/src/icons.ts +3 -0
  39. package/src/inputs/MRT_EditCellTextField.tsx +1 -1
  40. package/src/inputs/MRT_FilterRangeFields.tsx +1 -3
  41. package/src/inputs/MRT_FilterTextField.tsx +4 -1
  42. package/src/inputs/MRT_SelectCheckbox.tsx +1 -2
  43. package/src/localization.ts +2 -0
  44. package/src/menus/MRT_ColumnActionMenu.tsx +6 -6
  45. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +1 -1
  46. package/src/table/MRT_TablePaper.tsx +26 -22
  47. package/src/table/MRT_TableRoot.tsx +9 -9
  48. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +11 -27
  49. package/src/toolbar/MRT_ToolbarBottom.tsx +23 -5
  50. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +30 -29
  51. package/src/toolbar/MRT_ToolbarTop.tsx +21 -20
@@ -14,6 +14,7 @@ var CloseIcon = _interopDefault(require('@mui/icons-material/Close'));
14
14
  var DensityMediumIcon = _interopDefault(require('@mui/icons-material/DensityMedium'));
15
15
  var DensitySmallIcon = _interopDefault(require('@mui/icons-material/DensitySmall'));
16
16
  var DoubleArrowDownIcon = _interopDefault(require('@mui/icons-material/KeyboardDoubleArrowDown'));
17
+ var DragHandleIcon = _interopDefault(require('@mui/icons-material/DragHandle'));
17
18
  var DynamicFeedIcon = _interopDefault(require('@mui/icons-material/DynamicFeed'));
18
19
  var EditIcon = _interopDefault(require('@mui/icons-material/Edit'));
19
20
  var ExpandLessIcon = _interopDefault(require('@mui/icons-material/ExpandLess'));
@@ -37,6 +38,8 @@ var VisibilityOffIcon = _interopDefault(require('@mui/icons-material/VisibilityO
37
38
  var reactTable = require('@tanstack/react-table');
38
39
  var material = require('@mui/material');
39
40
  var matchSorterUtils = require('@tanstack/match-sorter-utils');
41
+ var reactDnd = require('react-dnd');
42
+ var reactDndHtml5Backend = require('react-dnd-html5-backend');
40
43
 
41
44
  function _extends() {
42
45
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -55,6 +58,10 @@ function _extends() {
55
58
  return _extends.apply(this, arguments);
56
59
  }
57
60
 
61
+ function _objectDestructuringEmpty(obj) {
62
+ if (obj == null) throw new TypeError("Cannot destructure undefined");
63
+ }
64
+
58
65
  function _objectWithoutPropertiesLoose(source, excluded) {
59
66
  if (source == null) return {};
60
67
  var target = {};
@@ -99,6 +106,7 @@ var MRT_DefaultLocalization_EN = {
99
106
  filterNotEquals: 'Not Equals',
100
107
  filterStartsWith: 'Starts With',
101
108
  filteringByColumn: 'Filtering by {column} - {filterType} {filterValue}',
109
+ grab: 'Grab',
102
110
  groupByColumn: 'Group by {column}',
103
111
  groupedBy: 'Grouped by ',
104
112
  hideAll: 'Hide all',
@@ -145,6 +153,7 @@ var MRT_Default_Icons = {
145
153
  DensityMediumIcon: DensityMediumIcon,
146
154
  DensitySmallIcon: DensitySmallIcon,
147
155
  DoubleArrowDownIcon: DoubleArrowDownIcon,
156
+ DragHandleIcon: DragHandleIcon,
148
157
  DynamicFeedIcon: DynamicFeedIcon,
149
158
  EditIcon: EditIcon,
150
159
  ExpandLessIcon: ExpandLessIcon,
@@ -171,20 +180,25 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
171
180
  var tableInstance = _ref.tableInstance;
172
181
  var getIsAllRowsExpanded = tableInstance.getIsAllRowsExpanded,
173
182
  getIsSomeRowsExpanded = tableInstance.getIsSomeRowsExpanded,
183
+ getCanSomeRowsExpand = tableInstance.getCanSomeRowsExpand,
174
184
  getState = tableInstance.getState,
175
185
  _tableInstance$option = tableInstance.options,
176
186
  DoubleArrowDownIcon = _tableInstance$option.icons.DoubleArrowDownIcon,
177
187
  localization = _tableInstance$option.localization,
188
+ renderDetailPanel = _tableInstance$option.renderDetailPanel,
178
189
  toggleAllRowsExpanded = tableInstance.toggleAllRowsExpanded;
179
190
 
180
191
  var _getState = getState(),
181
- isDensePadding = _getState.isDensePadding,
182
- isLoading = _getState.isLoading;
192
+ isDensePadding = _getState.isDensePadding;
183
193
 
184
- return React__default.createElement(material.IconButton, {
194
+ return React__default.createElement(material.Tooltip, {
195
+ arrow: true,
196
+ enterDelay: 1000,
197
+ enterNextDelay: 1000,
198
+ title: localization.expandAll
199
+ }, React__default.createElement(material.IconButton, {
185
200
  "aria-label": localization.expandAll,
186
- disabled: isLoading,
187
- title: localization.expandAll,
201
+ disabled: !getCanSomeRowsExpand() && !renderDetailPanel,
188
202
  onClick: function onClick() {
189
203
  return toggleAllRowsExpanded(!getIsAllRowsExpanded());
190
204
  },
@@ -197,7 +211,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
197
211
  transform: "rotate(" + (getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0) + "deg)",
198
212
  transition: 'transform 0.2s'
199
213
  }
200
- }));
214
+ })));
201
215
  };
202
216
 
203
217
  var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
@@ -222,10 +236,14 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
222
236
  });
223
237
  };
224
238
 
225
- return React__default.createElement(material.IconButton, {
239
+ return React__default.createElement(material.Tooltip, {
240
+ arrow: true,
241
+ enterDelay: 1000,
242
+ enterNextDelay: 1000,
243
+ title: localization.expand
244
+ }, React__default.createElement(material.IconButton, {
226
245
  "aria-label": localization.expand,
227
246
  disabled: !row.getCanExpand() && !renderDetailPanel,
228
- title: localization.expand,
229
247
  onClick: handleToggleExpand,
230
248
  sx: {
231
249
  height: isDensePadding ? '1.75rem' : '2.25rem',
@@ -236,7 +254,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
236
254
  transform: "rotate(" + (!row.getCanExpand() && !renderDetailPanel ? -90 : row.getIsExpanded() ? -180 : 0) + "deg)",
237
255
  transition: 'transform 0.2s'
238
256
  }
239
- }));
257
+ })));
240
258
  };
241
259
 
242
260
  var MRT_FILTER_OPTION;
@@ -606,7 +624,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
606
624
  checked: switchChecked,
607
625
  control: React__default.createElement(material.Switch, null),
608
626
  disabled: isSubMenu && switchChecked || !column.getCanHide(),
609
- label: column.header,
627
+ label: column.columnDef.header,
610
628
  onChange: function onChange() {
611
629
  return handleToggleColumnHidden(column);
612
630
  }
@@ -860,7 +878,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
860
878
  sx: commonMenuItemStyles$1
861
879
  }, React__default.createElement(material.Box, {
862
880
  sx: commonListItemStyles
863
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(column.header)))), React__default.createElement(material.MenuItem, {
881
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(column.columnDef.header)))), React__default.createElement(material.MenuItem, {
864
882
  divider: enableColumnFilters || enableGrouping || enableHiding,
865
883
  key: 2,
866
884
  disabled: column.getIsSorted() === 'desc',
@@ -872,7 +890,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
872
890
  style: {
873
891
  transform: 'rotate(180deg) scaleX(-1)'
874
892
  }
875
- })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.header))))], enableColumnFilters && column.getCanFilter() && [React__default.createElement(material.MenuItem, {
893
+ })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.columnDef.header))))], enableColumnFilters && column.getCanFilter() && [React__default.createElement(material.MenuItem, {
876
894
  disabled: !column.getFilterValue(),
877
895
  key: 0,
878
896
  onClick: handleClearFilter,
@@ -886,7 +904,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
886
904
  sx: commonMenuItemStyles$1
887
905
  }, React__default.createElement(material.Box, {
888
906
  sx: commonListItemStyles
889
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.header))), !column.filterSelectOptions && React__default.createElement(material.IconButton, {
907
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.columnDef.header))), !column.filterSelectOptions && React__default.createElement(material.IconButton, {
890
908
  onClick: handleOpenFilterModeMenu,
891
909
  onMouseEnter: handleOpenFilterModeMenu,
892
910
  size: "small",
@@ -907,7 +925,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
907
925
  sx: commonMenuItemStyles$1
908
926
  }, React__default.createElement(material.Box, {
909
927
  sx: commonListItemStyles
910
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.header))))], enablePinning && column.getCanPin() && [React__default.createElement(material.MenuItem, {
928
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.columnDef.header))))], enablePinning && column.getCanPin() && [React__default.createElement(material.MenuItem, {
911
929
  disabled: column.getIsPinned() === 'left' || !column.getCanPin(),
912
930
  key: 0,
913
931
  onClick: function onClick() {
@@ -957,7 +975,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
957
975
  sx: commonMenuItemStyles$1
958
976
  }, React__default.createElement(material.Box, {
959
977
  sx: commonListItemStyles
960
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(column.header)))), React__default.createElement(material.MenuItem, {
978
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(column.columnDef.header)))), React__default.createElement(material.MenuItem, {
961
979
  disabled: !Object.values(columnVisibility).filter(function (visible) {
962
980
  return !visible;
963
981
  }).length,
@@ -966,7 +984,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
966
984
  sx: commonMenuItemStyles$1
967
985
  }, React__default.createElement(material.Box, {
968
986
  sx: commonListItemStyles
969
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(column.header))), React__default.createElement(material.IconButton, {
987
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(column.columnDef.header))), React__default.createElement(material.IconButton, {
970
988
  onClick: handleOpenShowHideColumnsMenu,
971
989
  onMouseEnter: handleOpenShowHideColumnsMenu,
972
990
  size: "small",
@@ -1160,8 +1178,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1160
1178
  onSelectAllChange = _tableInstance$option.onSelectAllChange;
1161
1179
 
1162
1180
  var _getState = getState(),
1163
- isDensePadding = _getState.isDensePadding,
1164
- isLoading = _getState.isLoading;
1181
+ isDensePadding = _getState.isDensePadding;
1165
1182
 
1166
1183
  var handleSelectChange = function handleSelectChange(event) {
1167
1184
  if (selectAll) {
@@ -1196,7 +1213,6 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1196
1213
  title: selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1197
1214
  }, React__default.createElement(material.Checkbox, Object.assign({
1198
1215
  checked: selectAll ? tableInstance.getIsAllRowsSelected() : row == null ? void 0 : row.getIsSelected(),
1199
- disabled: isLoading,
1200
1216
  indeterminate: selectAll ? tableInstance.getIsSomeRowsSelected() : row == null ? void 0 : row.getIsSomeSelected(),
1201
1217
  inputProps: {
1202
1218
  'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
@@ -1211,101 +1227,6 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1211
1227
  })));
1212
1228
  };
1213
1229
 
1214
- var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1215
- var tableInstance = _ref.tableInstance;
1216
- var getState = tableInstance.getState,
1217
- setGlobalFilter = tableInstance.setGlobalFilter,
1218
- _tableInstance$option = tableInstance.options,
1219
- _tableInstance$option2 = _tableInstance$option.icons,
1220
- SearchIcon = _tableInstance$option2.SearchIcon,
1221
- CloseIcon = _tableInstance$option2.CloseIcon,
1222
- idPrefix = _tableInstance$option.idPrefix,
1223
- localization = _tableInstance$option.localization,
1224
- muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1225
- onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1226
-
1227
- var _getState = getState(),
1228
- globalFilter = _getState.globalFilter,
1229
- showGlobalFilter = _getState.showGlobalFilter;
1230
-
1231
- var _useState = React.useState(null),
1232
- anchorEl = _useState[0],
1233
- setAnchorEl = _useState[1];
1234
-
1235
- var _useState2 = React.useState(globalFilter != null ? globalFilter : ''),
1236
- searchValue = _useState2[0],
1237
- setSearchValue = _useState2[1];
1238
-
1239
- var handleChange = React.useCallback(material.debounce(function (event) {
1240
- var _event$target$value;
1241
-
1242
- setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1243
- onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1244
- event: event,
1245
- tableInstance: tableInstance
1246
- });
1247
- }, 200), []);
1248
-
1249
- var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1250
- setAnchorEl(event.currentTarget);
1251
- };
1252
-
1253
- var handleClear = function handleClear() {
1254
- setSearchValue('');
1255
- setGlobalFilter(undefined);
1256
- };
1257
-
1258
- var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1259
- tableInstance: tableInstance
1260
- }) : muiSearchTextFieldProps;
1261
- return React__default.createElement(material.Collapse, {
1262
- "in": showGlobalFilter,
1263
- orientation: "horizontal"
1264
- }, React__default.createElement(material.TextField, Object.assign({
1265
- id: "mrt-" + idPrefix + "-search-text-field",
1266
- placeholder: localization.search,
1267
- onChange: function onChange(event) {
1268
- setSearchValue(event.target.value);
1269
- handleChange(event);
1270
- },
1271
- value: searchValue != null ? searchValue : '',
1272
- variant: "standard",
1273
- InputProps: {
1274
- startAdornment: React__default.createElement(material.InputAdornment, {
1275
- position: "start"
1276
- }, React__default.createElement(material.Tooltip, {
1277
- arrow: true,
1278
- title: localization.changeSearchMode
1279
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
1280
- "aria-label": localization.changeSearchMode,
1281
- onClick: handleGlobalFilterMenuOpen,
1282
- size: "small",
1283
- sx: {
1284
- height: '1.75rem',
1285
- width: '1.75rem'
1286
- }
1287
- }, React__default.createElement(SearchIcon, null))))),
1288
- endAdornment: React__default.createElement(material.InputAdornment, {
1289
- position: "end"
1290
- }, React__default.createElement(material.IconButton, {
1291
- "aria-label": localization.clearSearch,
1292
- disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1293
- onClick: handleClear,
1294
- size: "small",
1295
- title: localization.clearSearch
1296
- }, React__default.createElement(CloseIcon, null)))
1297
- }
1298
- }, textFieldProps, {
1299
- sx: _extends({
1300
- justifySelf: 'end'
1301
- }, textFieldProps == null ? void 0 : textFieldProps.sx)
1302
- })), React__default.createElement(MRT_FilterOptionMenu, {
1303
- anchorEl: anchorEl,
1304
- setAnchorEl: setAnchorEl,
1305
- tableInstance: tableInstance
1306
- }));
1307
- };
1308
-
1309
1230
  var _excluded = ["tableInstance"];
1310
1231
  var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1311
1232
  var tableInstance = _ref.tableInstance,
@@ -1486,7 +1407,104 @@ var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
1486
1407
  }, rest), showGlobalFilter ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
1487
1408
  };
1488
1409
 
1410
+ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1411
+ var tableInstance = _ref.tableInstance;
1412
+ var getState = tableInstance.getState,
1413
+ setGlobalFilter = tableInstance.setGlobalFilter,
1414
+ _tableInstance$option = tableInstance.options,
1415
+ _tableInstance$option2 = _tableInstance$option.icons,
1416
+ SearchIcon = _tableInstance$option2.SearchIcon,
1417
+ CloseIcon = _tableInstance$option2.CloseIcon,
1418
+ idPrefix = _tableInstance$option.idPrefix,
1419
+ localization = _tableInstance$option.localization,
1420
+ muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1421
+ onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1422
+
1423
+ var _getState = getState(),
1424
+ globalFilter = _getState.globalFilter,
1425
+ showGlobalFilter = _getState.showGlobalFilter;
1426
+
1427
+ var _useState = React.useState(null),
1428
+ anchorEl = _useState[0],
1429
+ setAnchorEl = _useState[1];
1430
+
1431
+ var _useState2 = React.useState(globalFilter != null ? globalFilter : ''),
1432
+ searchValue = _useState2[0],
1433
+ setSearchValue = _useState2[1];
1434
+
1435
+ var handleChange = React.useCallback(material.debounce(function (event) {
1436
+ var _event$target$value;
1437
+
1438
+ setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1439
+ onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1440
+ event: event,
1441
+ tableInstance: tableInstance
1442
+ });
1443
+ }, 200), []);
1444
+
1445
+ var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1446
+ setAnchorEl(event.currentTarget);
1447
+ };
1448
+
1449
+ var handleClear = function handleClear() {
1450
+ setSearchValue('');
1451
+ setGlobalFilter(undefined);
1452
+ };
1453
+
1454
+ var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1455
+ tableInstance: tableInstance
1456
+ }) : muiSearchTextFieldProps;
1457
+ return React__default.createElement(material.Collapse, {
1458
+ "in": showGlobalFilter,
1459
+ orientation: "horizontal"
1460
+ }, React__default.createElement(material.TextField, Object.assign({
1461
+ id: "mrt-" + idPrefix + "-search-text-field",
1462
+ placeholder: localization.search,
1463
+ onChange: function onChange(event) {
1464
+ setSearchValue(event.target.value);
1465
+ handleChange(event);
1466
+ },
1467
+ value: searchValue != null ? searchValue : '',
1468
+ variant: "standard",
1469
+ InputProps: {
1470
+ startAdornment: React__default.createElement(material.InputAdornment, {
1471
+ position: "start"
1472
+ }, React__default.createElement(material.Tooltip, {
1473
+ arrow: true,
1474
+ title: localization.changeSearchMode
1475
+ }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
1476
+ "aria-label": localization.changeSearchMode,
1477
+ onClick: handleGlobalFilterMenuOpen,
1478
+ size: "small",
1479
+ sx: {
1480
+ height: '1.75rem',
1481
+ width: '1.75rem'
1482
+ }
1483
+ }, React__default.createElement(SearchIcon, null))))),
1484
+ endAdornment: React__default.createElement(material.InputAdornment, {
1485
+ position: "end"
1486
+ }, React__default.createElement(material.IconButton, {
1487
+ "aria-label": localization.clearSearch,
1488
+ disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1489
+ onClick: handleClear,
1490
+ size: "small",
1491
+ title: localization.clearSearch
1492
+ }, React__default.createElement(CloseIcon, null)))
1493
+ }
1494
+ }, textFieldProps, {
1495
+ sx: _extends({
1496
+ justifySelf: 'end'
1497
+ }, textFieldProps == null ? void 0 : textFieldProps.sx)
1498
+ })), React__default.createElement(MRT_FilterOptionMenu, {
1499
+ anchorEl: anchorEl,
1500
+ setAnchorEl: setAnchorEl,
1501
+ tableInstance: tableInstance
1502
+ }));
1503
+ };
1504
+
1489
1505
  var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1506
+ var _renderToolbarInterna;
1507
+
1490
1508
  var tableInstance = _ref.tableInstance;
1491
1509
  var _tableInstance$option = tableInstance.options,
1492
1510
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
@@ -1496,24 +1514,22 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1496
1514
  enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1497
1515
  enableHiding = _tableInstance$option.enableHiding,
1498
1516
  renderToolbarInternalActions = _tableInstance$option.renderToolbarInternalActions;
1499
-
1500
- if (renderToolbarInternalActions) {
1501
- return React__default.createElement(React__default.Fragment, null, renderToolbarInternalActions({
1502
- MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1503
- MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1504
- MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1505
- MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1506
- MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1507
- tableInstance: tableInstance
1508
- }));
1509
- }
1510
-
1511
1517
  return React__default.createElement(material.Box, {
1512
1518
  sx: {
1513
1519
  display: 'flex',
1514
- alignItems: 'center'
1520
+ alignItems: 'center',
1521
+ zIndex: 3
1515
1522
  }
1516
- }, enableFilters && enableGlobalFilter && React__default.createElement(MRT_ToggleGlobalFilterButton, {
1523
+ }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
1524
+ MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1525
+ MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1526
+ MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1527
+ MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1528
+ MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1529
+ tableInstance: tableInstance
1530
+ })) != null ? _renderToolbarInterna : React__default.createElement(React__default.Fragment, null, enableGlobalFilter && React__default.createElement(MRT_SearchTextField, {
1531
+ tableInstance: tableInstance
1532
+ }), enableFilters && enableGlobalFilter && React__default.createElement(MRT_ToggleGlobalFilterButton, {
1517
1533
  tableInstance: tableInstance
1518
1534
  }), enableFilters && enableColumnFilters && React__default.createElement(MRT_ToggleFiltersButton, {
1519
1535
  tableInstance: tableInstance
@@ -1523,7 +1539,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1523
1539
  tableInstance: tableInstance
1524
1540
  }), enableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, {
1525
1541
  tableInstance: tableInstance
1526
- }));
1542
+ })));
1527
1543
  };
1528
1544
 
1529
1545
  var MRT_TablePagination = function MRT_TablePagination(_ref) {
@@ -1584,44 +1600,36 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
1584
1600
  var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1585
1601
  var _localization$selecte, _localization$selecte2;
1586
1602
 
1587
- var tableInstance = _ref.tableInstance;
1603
+ var stackAlertBanner = _ref.stackAlertBanner,
1604
+ tableInstance = _ref.tableInstance;
1588
1605
  var getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
1589
1606
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1590
1607
  getState = tableInstance.getState,
1591
1608
  _tableInstance$option = tableInstance.options,
1592
1609
  localization = _tableInstance$option.localization,
1593
- muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps,
1594
- positionToolbarActions = _tableInstance$option.positionToolbarActions,
1595
- positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
1596
- renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
1610
+ muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps;
1597
1611
 
1598
1612
  var _getState = getState(),
1599
1613
  grouping = _getState.grouping;
1600
1614
 
1601
- var isMobile = material.useMediaQuery('(max-width:720px)');
1602
1615
  var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps({
1603
1616
  tableInstance: tableInstance
1604
1617
  }) : muiTableToolbarAlertBannerProps;
1605
1618
  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;
1606
1619
  var groupedByMessage = grouping.length > 0 ? React__default.createElement("span", null, localization.groupedBy, ' ', grouping.map(function (columnId, index) {
1607
- var _tableInstance$getAll;
1608
-
1609
1620
  return React__default.createElement(React.Fragment, {
1610
1621
  key: index + "-" + columnId
1611
1622
  }, index > 0 ? localization.thenBy : '', React__default.createElement(material.Chip, {
1612
1623
  color: "secondary",
1613
- label: (_tableInstance$getAll = tableInstance.getAllColumns().find(function (column) {
1614
- return column.id === columnId;
1615
- })) == null ? void 0 : _tableInstance$getAll.header,
1624
+ label: tableInstance.getColumn(columnId).columnDef.header,
1616
1625
  onDelete: function onDelete() {
1617
1626
  return tableInstance.getColumn(columnId).toggleGrouping();
1618
1627
  }
1619
1628
  }));
1620
1629
  })) : null;
1621
- var displayAbsolute = !(isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions);
1622
1630
  return React__default.createElement(material.Collapse, {
1623
1631
  "in": !!selectMessage || !!groupedByMessage,
1624
- timeout: displayAbsolute ? 0 : 200
1632
+ timeout: stackAlertBanner ? 200 : 0
1625
1633
  }, React__default.createElement(material.Alert, Object.assign({
1626
1634
  color: "info",
1627
1635
  icon: false,
@@ -1630,9 +1638,8 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1630
1638
  fontSize: '1rem',
1631
1639
  left: 0,
1632
1640
  p: 0,
1633
- position: displayAbsolute ? 'absolute' : 'relative',
1641
+ position: 'relative',
1634
1642
  right: 0,
1635
- minHeight: '3.5rem',
1636
1643
  top: 0,
1637
1644
  width: '100%',
1638
1645
  zIndex: 2
@@ -1641,7 +1648,7 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1641
1648
  sx: {
1642
1649
  p: '0.5rem 1rem'
1643
1650
  }
1644
- }, selectMessage, React__default.createElement("br", null), groupedByMessage)));
1651
+ }, selectMessage, selectMessage && groupedByMessage && React__default.createElement("br", null), groupedByMessage)));
1645
1652
  };
1646
1653
 
1647
1654
  var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
@@ -1672,6 +1679,8 @@ var commonToolbarStyles = function commonToolbarStyles(_ref) {
1672
1679
  backgroundColor: material.lighten(theme.palette.background["default"], 0.04),
1673
1680
  backgroundImage: 'none',
1674
1681
  display: 'grid',
1682
+ minHeight: '3.5rem',
1683
+ overflow: 'hidden',
1675
1684
  p: '0 !important',
1676
1685
  transition: 'all 0.2s ease-in-out',
1677
1686
  width: '100%',
@@ -1684,7 +1693,6 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1684
1693
  var tableInstance = _ref2.tableInstance;
1685
1694
  var getState = tableInstance.getState,
1686
1695
  _tableInstance$option = tableInstance.options,
1687
- enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1688
1696
  enablePagination = _tableInstance$option.enablePagination,
1689
1697
  enableToolbarInternalActions = _tableInstance$option.enableToolbarInternalActions,
1690
1698
  idPrefix = _tableInstance$option.idPrefix,
@@ -1697,9 +1705,11 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1697
1705
  var _getState = getState(),
1698
1706
  isFullScreen = _getState.isFullScreen;
1699
1707
 
1708
+ var isMobile = material.useMediaQuery('(max-width:720px)');
1700
1709
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps({
1701
1710
  tableInstance: tableInstance
1702
1711
  }) : muiTableToolbarTopProps;
1712
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions;
1703
1713
  return React__default.createElement(material.Toolbar, Object.assign({
1704
1714
  id: "mrt-" + idPrefix + "-toolbar-top",
1705
1715
  variant: "dense"
@@ -1713,27 +1723,23 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1713
1723
  }), toolbarProps == null ? void 0 : toolbarProps.sx);
1714
1724
  }
1715
1725
  }), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, {
1726
+ stackAlertBanner: stackAlertBanner,
1716
1727
  tableInstance: tableInstance
1717
1728
  }), React__default.createElement(material.Box, {
1718
1729
  sx: {
1719
- p: '0.5rem',
1720
1730
  display: 'flex',
1721
- justifyContent: 'space-between'
1731
+ justifyContent: 'space-between',
1732
+ p: '0.5rem',
1733
+ position: stackAlertBanner ? 'relative' : 'absolute',
1734
+ right: 0,
1735
+ top: 0,
1736
+ width: 'calc(100% - 1rem)'
1722
1737
  }
1723
1738
  }, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions({
1724
1739
  tableInstance: tableInstance
1725
- })) != null ? _renderToolbarCustomA : React__default.createElement("span", null), React__default.createElement(material.Box, {
1726
- sx: {
1727
- display: 'flex',
1728
- gap: '0.5rem',
1729
- position: 'relative',
1730
- zIndex: 3
1731
- }
1732
- }, enableGlobalFilter && React__default.createElement(MRT_SearchTextField, {
1733
- tableInstance: tableInstance
1734
- }), enableToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, {
1740
+ })) != null ? _renderToolbarCustomA : React__default.createElement("span", null), enableToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, {
1735
1741
  tableInstance: tableInstance
1736
- }))), React__default.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1742
+ })), React__default.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1737
1743
  tableInstance: tableInstance
1738
1744
  })), React__default.createElement(MRT_LinearProgressBar, {
1739
1745
  tableInstance: tableInstance
@@ -1750,14 +1756,17 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1750
1756
  muiTableToolbarBottomProps = _tableInstance$option.muiTableToolbarBottomProps,
1751
1757
  positionPagination = _tableInstance$option.positionPagination,
1752
1758
  positionToolbarActions = _tableInstance$option.positionToolbarActions,
1753
- positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner;
1759
+ positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
1760
+ renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
1754
1761
 
1755
1762
  var _getState = getState(),
1756
1763
  isFullScreen = _getState.isFullScreen;
1757
1764
 
1765
+ var isMobile = material.useMediaQuery('(max-width:720px)');
1758
1766
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps({
1759
1767
  tableInstance: tableInstance
1760
1768
  }) : muiTableToolbarBottomProps;
1769
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'bottom' && !!renderToolbarCustomActions && positionToolbarActions === 'bottom';
1761
1770
  return React__default.createElement(material.Toolbar, Object.assign({
1762
1771
  id: "mrt-" + idPrefix + "-toolbar-bottom",
1763
1772
  variant: "dense"
@@ -1773,17 +1782,20 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1773
1782
  }
1774
1783
  }), React__default.createElement(MRT_LinearProgressBar, {
1775
1784
  tableInstance: tableInstance
1785
+ }), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, {
1786
+ tableInstance: tableInstance
1776
1787
  }), React__default.createElement(material.Box, {
1777
1788
  sx: {
1778
1789
  display: 'flex',
1779
1790
  justifyContent: 'space-between',
1780
- width: '100%'
1791
+ width: '100%',
1792
+ position: stackAlertBanner ? 'relative' : 'absolute',
1793
+ right: 0,
1794
+ top: 0
1781
1795
  }
1782
1796
  }, enableToolbarInternalActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, {
1783
1797
  tableInstance: tableInstance
1784
- }) : React__default.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, {
1785
- tableInstance: tableInstance
1786
- }), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1798
+ }) : React__default.createElement("span", null), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1787
1799
  tableInstance: tableInstance
1788
1800
  })));
1789
1801
  };
@@ -1881,7 +1893,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1881
1893
  var isSelectFilter = !!column.filterSelectOptions;
1882
1894
  var filterChipLabel = !(filterFn instanceof Function) && [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(filterFn) ? //@ts-ignore
1883
1895
  localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
1884
- var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
1896
+ var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.columnDef.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
1885
1897
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
1886
1898
  fullWidth: true,
1887
1899
  id: filterId,
@@ -1993,12 +2005,196 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1993
2005
  }));
1994
2006
  };
1995
2007
 
1996
- var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
2008
+ var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
1997
2009
  var header = _ref.header,
1998
2010
  tableInstance = _ref.tableInstance;
1999
- var _tableInstance$option = tableInstance.options,
2000
- MoreVertIcon = _tableInstance$option.icons.MoreVertIcon,
2001
- localization = _tableInstance$option.localization,
2011
+ var localization = tableInstance.options.localization;
2012
+ return React__default.createElement(material.Box, {
2013
+ sx: {
2014
+ display: 'grid',
2015
+ gridTemplateColumns: '6fr auto 5fr'
2016
+ }
2017
+ }, React__default.createElement(MRT_FilterTextField, {
2018
+ header: header,
2019
+ inputIndex: 0,
2020
+ tableInstance: tableInstance
2021
+ }), React__default.createElement(material.Box, {
2022
+ sx: {
2023
+ width: '100%',
2024
+ minWidth: '5ch',
2025
+ textAlign: 'center'
2026
+ }
2027
+ }, localization.to), React__default.createElement(MRT_FilterTextField, {
2028
+ header: header,
2029
+ inputIndex: 1,
2030
+ tableInstance: tableInstance
2031
+ }));
2032
+ };
2033
+
2034
+ var MRT_TableHeadCellFilterContainer = function MRT_TableHeadCellFilterContainer(_ref) {
2035
+ var header = _ref.header,
2036
+ tableInstance = _ref.tableInstance;
2037
+ var getState = tableInstance.getState;
2038
+
2039
+ var _getState = getState(),
2040
+ currentFilterFns = _getState.currentFilterFns,
2041
+ showFilters = _getState.showFilters;
2042
+
2043
+ var column = header.column;
2044
+ return React__default.createElement(material.Collapse, {
2045
+ "in": showFilters,
2046
+ mountOnEnter: true,
2047
+ unmountOnExit: true
2048
+ }, currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? React__default.createElement(MRT_FilterRangeFields, {
2049
+ header: header,
2050
+ tableInstance: tableInstance
2051
+ }) : React__default.createElement(MRT_FilterTextField, {
2052
+ header: header,
2053
+ tableInstance: tableInstance
2054
+ }));
2055
+ };
2056
+
2057
+ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
2058
+ var _getState2, _getState2$currentFil;
2059
+
2060
+ var header = _ref.header,
2061
+ tableInstance = _ref.tableInstance;
2062
+ var getState = tableInstance.getState,
2063
+ _tableInstance$option = tableInstance.options,
2064
+ _tableInstance$option2 = _tableInstance$option.icons,
2065
+ FilterAltIcon = _tableInstance$option2.FilterAltIcon,
2066
+ FilterAltOff = _tableInstance$option2.FilterAltOff,
2067
+ localization = _tableInstance$option.localization,
2068
+ setShowFilters = tableInstance.setShowFilters;
2069
+
2070
+ var _getState = getState(),
2071
+ showFilters = _getState.showFilters;
2072
+
2073
+ var column = header.column;
2074
+ var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
2075
+ var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2076
+ 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;
2077
+ return React__default.createElement(material.Tooltip, {
2078
+ arrow: true,
2079
+ placement: "top",
2080
+ title: filterTooltip
2081
+ }, React__default.createElement(material.IconButton, {
2082
+ disableRipple: true,
2083
+ onClick: function onClick(event) {
2084
+ event.stopPropagation();
2085
+ setShowFilters(!showFilters);
2086
+ },
2087
+ size: "small",
2088
+ sx: {
2089
+ m: 0,
2090
+ opacity: !!column.getFilterValue() || showFilters ? 0.8 : 0,
2091
+ p: '2px',
2092
+ transition: 'all 0.2s ease-in-out',
2093
+ '&:hover': {
2094
+ backgroundColor: 'transparent',
2095
+ opacity: 0.8
2096
+ }
2097
+ }
2098
+ }, showFilters && !column.getFilterValue() ? React__default.createElement(FilterAltOff, null) : React__default.createElement(FilterAltIcon, null)));
2099
+ };
2100
+
2101
+ var MRT_TableHeadCellGrabHandle = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2102
+ var tableInstance = _ref.tableInstance;
2103
+ var _tableInstance$option = tableInstance.options,
2104
+ DragHandleIcon = _tableInstance$option.icons.DragHandleIcon,
2105
+ localization = _tableInstance$option.localization;
2106
+ return React__default.createElement(material.Tooltip, {
2107
+ arrow: true,
2108
+ enterDelay: 1000,
2109
+ enterNextDelay: 1000,
2110
+ placement: "top",
2111
+ title: localization.grab
2112
+ }, React__default.createElement(material.IconButton, {
2113
+ disableRipple: true,
2114
+ ref: ref,
2115
+ size: "small",
2116
+ sx: {
2117
+ cursor: 'grab',
2118
+ m: 0,
2119
+ opacity: 0.5,
2120
+ p: '2px',
2121
+ transition: 'all 0.2s ease-in-out',
2122
+ '&:hover': {
2123
+ backgroundColor: 'transparent',
2124
+ opacity: 1
2125
+ },
2126
+ '&:active': {
2127
+ cursor: 'grabbing'
2128
+ }
2129
+ }
2130
+ }, React__default.createElement(DragHandleIcon, null)));
2131
+ });
2132
+
2133
+ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref) {
2134
+ var header = _ref.header,
2135
+ tableInstance = _ref.tableInstance;
2136
+ var getState = tableInstance.getState;
2137
+
2138
+ var _getState = getState(),
2139
+ showFilters = _getState.showFilters;
2140
+
2141
+ var column = header.column;
2142
+ return React__default.createElement(material.Divider, {
2143
+ flexItem: true,
2144
+ orientation: "vertical",
2145
+ onDoubleClick: function onDoubleClick() {
2146
+ return column.resetSize();
2147
+ },
2148
+ sx: function sx(theme) {
2149
+ return {
2150
+ borderRadius: '2px',
2151
+ borderRightWidth: '2px',
2152
+ cursor: 'col-resize',
2153
+ height: showFilters && column.columnDefType === 'data' ? '4rem' : '2rem',
2154
+ opacity: 0.8,
2155
+ position: 'absolute',
2156
+ right: '1px',
2157
+ touchAction: 'none',
2158
+ transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
2159
+ userSelect: 'none',
2160
+ zIndex: 2000,
2161
+ '&:active': {
2162
+ backgroundColor: theme.palette.info.main,
2163
+ opacity: 1
2164
+ }
2165
+ };
2166
+ },
2167
+ onMouseDown: header.getResizeHandler(),
2168
+ onTouchStart: header.getResizeHandler(),
2169
+ style: {
2170
+ transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
2171
+ }
2172
+ });
2173
+ };
2174
+
2175
+ var MRT_TableHeadCellSortLabel = function MRT_TableHeadCellSortLabel(_ref) {
2176
+ var header = _ref.header,
2177
+ tableInstance = _ref.tableInstance;
2178
+ var localization = tableInstance.options.localization;
2179
+ var column = header.column;
2180
+ var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.columnDef.header) : localization.sortedByColumnAsc.replace('{column}', column.columnDef.header) : localization.unsorted;
2181
+ return React__default.createElement(material.Tooltip, {
2182
+ arrow: true,
2183
+ placement: "top",
2184
+ title: sortTooltip
2185
+ }, React__default.createElement(material.TableSortLabel, {
2186
+ "aria-label": sortTooltip,
2187
+ active: !!column.getIsSorted(),
2188
+ direction: column.getIsSorted() ? column.getIsSorted() : undefined
2189
+ }));
2190
+ };
2191
+
2192
+ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
2193
+ var header = _ref.header,
2194
+ tableInstance = _ref.tableInstance;
2195
+ var _tableInstance$option = tableInstance.options,
2196
+ MoreVertIcon = _tableInstance$option.icons.MoreVertIcon,
2197
+ localization = _tableInstance$option.localization,
2002
2198
  muiTableHeadCellColumnActionsButtonProps = _tableInstance$option.muiTableHeadCellColumnActionsButtonProps;
2003
2199
  var column = header.column;
2004
2200
 
@@ -2053,53 +2249,26 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2053
2249
  }));
2054
2250
  };
2055
2251
 
2056
- var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
2057
- var header = _ref.header,
2058
- tableInstance = _ref.tableInstance;
2059
- var localization = tableInstance.options.localization;
2060
- return React__default.createElement(material.Box, {
2061
- sx: {
2062
- display: 'grid',
2063
- gridTemplateColumns: '6fr auto 5fr'
2064
- }
2065
- }, React__default.createElement(MRT_FilterTextField, {
2066
- header: header,
2067
- inputIndex: 0,
2068
- tableInstance: tableInstance
2069
- }), React__default.createElement(material.Box, {
2070
- sx: {
2071
- width: '100%',
2072
- minWidth: '5ch',
2073
- textAlign: 'center'
2074
- }
2075
- }, localization.to), React__default.createElement(MRT_FilterTextField, {
2076
- header: header,
2077
- inputIndex: 1,
2078
- tableInstance: tableInstance
2079
- }));
2080
- };
2081
-
2082
2252
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2083
- var _getState2, _getState2$currentFil, _column$Header;
2253
+ var _column$columnDef$Hea, _column$columnDef, _column$minSize, _column$columnDef$hea, _column$columnDef$hea2;
2084
2254
 
2085
- var header = _ref.header,
2255
+ var dragRef = _ref.dragRef,
2256
+ dropRef = _ref.dropRef,
2257
+ header = _ref.header,
2258
+ isDragging = _ref.isDragging,
2259
+ previewRef = _ref.previewRef,
2086
2260
  tableInstance = _ref.tableInstance;
2087
2261
  var getState = tableInstance.getState,
2088
2262
  _tableInstance$option = tableInstance.options,
2089
2263
  enableColumnActions = _tableInstance$option.enableColumnActions,
2090
2264
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
2265
+ enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
2091
2266
  enableColumnResizing = _tableInstance$option.enableColumnResizing,
2092
- _tableInstance$option2 = _tableInstance$option.icons,
2093
- FilterAltIcon = _tableInstance$option2.FilterAltIcon,
2094
- FilterAltOff = _tableInstance$option2.FilterAltOff,
2095
- localization = _tableInstance$option.localization,
2096
- muiTableHeadCellProps = _tableInstance$option.muiTableHeadCellProps,
2097
- setShowFilters = tableInstance.setShowFilters;
2267
+ enableGrouping = _tableInstance$option.enableGrouping,
2268
+ muiTableHeadCellProps = _tableInstance$option.muiTableHeadCellProps;
2098
2269
 
2099
2270
  var _getState = getState(),
2100
- currentFilterFns = _getState.currentFilterFns,
2101
- isDensePadding = _getState.isDensePadding,
2102
- showFilters = _getState.showFilters;
2271
+ isDensePadding = _getState.isDensePadding;
2103
2272
 
2104
2273
  var column = header.column;
2105
2274
  var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps({
@@ -2113,14 +2282,10 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2113
2282
 
2114
2283
  var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
2115
2284
 
2116
- var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.header) : localization.sortedByColumnAsc.replace('{column}', column.header) : localization.unsorted;
2117
- var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
2118
- var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2119
- 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;
2120
- var headerElement = (_column$Header = column == null ? void 0 : column.Header == null ? void 0 : column.Header({
2285
+ var headerElement = (_column$columnDef$Hea = (_column$columnDef = column.columnDef) == null ? void 0 : _column$columnDef.Header == null ? void 0 : _column$columnDef.Header({
2121
2286
  header: header,
2122
2287
  tableInstance: tableInstance
2123
- })) != null ? _column$Header : column.header;
2288
+ })) != null ? _column$columnDef$Hea : header.renderHeader();
2124
2289
 
2125
2290
  var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2126
2291
  return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
@@ -2134,10 +2299,12 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2134
2299
  return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2135
2300
  };
2136
2301
 
2302
+ console.log(column.getCanGroup());
2137
2303
  return React__default.createElement(material.TableCell, Object.assign({
2138
2304
  align: column.columnDefType === 'group' ? 'center' : 'left',
2139
2305
  colSpan: header.colSpan
2140
2306
  }, tableCellProps, {
2307
+ ref: column.columnDefType === 'data' ? dropRef : undefined,
2141
2308
  sx: function sx(theme) {
2142
2309
  return _extends({
2143
2310
  backgroundColor: column.getIsPinned() && column.columnDefType !== 'group' ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
@@ -2146,8 +2313,6 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2146
2313
  fontWeight: 'bold',
2147
2314
  height: '100%',
2148
2315
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2149
- maxWidth: "min(" + column.getSize() + "px, fit-content)",
2150
- minWidth: "max(" + column.getSize() + "px, " + column.minSize + "px)",
2151
2316
  overflow: 'visible',
2152
2317
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2153
2318
  pb: column.columnDefType === 'display' ? 0 : undefined,
@@ -2156,15 +2321,21 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2156
2321
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2157
2322
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2158
2323
  verticalAlign: 'text-top',
2159
- width: header.getSize(),
2160
2324
  zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && column.columnDefType !== 'group' ? 2 : 1
2161
2325
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2326
+ },
2327
+ style: {
2328
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2329
+ minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
2330
+ width: header.getSize()
2162
2331
  }
2163
2332
  }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React__default.createElement(material.Box, {
2333
+ ref: previewRef,
2164
2334
  sx: {
2165
2335
  alignItems: 'flex-start',
2166
2336
  display: 'flex',
2167
2337
  justifyContent: column.columnDefType === 'group' ? 'center' : 'space-between',
2338
+ opacity: isDragging ? 0.5 : 1,
2168
2339
  width: '100%'
2169
2340
  }
2170
2341
  }, React__default.createElement(material.Box, {
@@ -2176,89 +2347,92 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2176
2347
  cursor: column.getCanSort() && column.columnDefType !== 'group' ? 'pointer' : undefined,
2177
2348
  display: 'flex',
2178
2349
  flexWrap: 'nowrap',
2179
- whiteSpace: column.header.length < 24 ? 'nowrap' : 'normal'
2350
+ 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'
2180
2351
  }
2181
- }, headerElement, column.columnDefType === 'data' && column.getCanSort() && React__default.createElement(material.Tooltip, {
2182
- arrow: true,
2183
- placement: "top",
2184
- title: sortTooltip
2185
- }, React__default.createElement(material.TableSortLabel, {
2186
- "aria-label": sortTooltip,
2187
- active: !!column.getIsSorted(),
2188
- direction: column.getIsSorted() ? column.getIsSorted() : undefined
2189
- })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanFilter() && React__default.createElement(material.Tooltip, {
2190
- arrow: true,
2191
- placement: "top",
2192
- title: filterTooltip
2193
- }, React__default.createElement(material.IconButton, {
2194
- disableRipple: true,
2195
- onClick: function onClick(event) {
2196
- event.stopPropagation();
2197
- setShowFilters(!showFilters);
2198
- },
2199
- size: "small",
2352
+ }, headerElement, column.columnDefType === 'data' && column.getCanSort() && React__default.createElement(MRT_TableHeadCellSortLabel, {
2353
+ header: header,
2354
+ tableInstance: tableInstance
2355
+ }), column.columnDefType === 'data' && enableColumnFilters && column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterLabel, {
2356
+ header: header,
2357
+ tableInstance: tableInstance
2358
+ })), React__default.createElement(material.Box, {
2200
2359
  sx: {
2201
- m: 0,
2202
- opacity: !!column.getFilterValue() ? 0.8 : 0,
2203
- p: '2px',
2204
- transition: 'all 0.2s ease-in-out',
2205
- '&:hover': {
2206
- backgroundColor: 'transparent',
2207
- opacity: 0.8
2208
- }
2360
+ whiteSpace: 'nowrap'
2209
2361
  }
2210
- }, showFilters && !column.getFilterValue() ? React__default.createElement(FilterAltOff, null) : React__default.createElement(FilterAltIcon, null)))), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
2362
+ }, column.columnDefType === 'data' && (enableColumnOrdering && column.enableColumnOrdering !== false || enableGrouping && column.enableGrouping !== false) && React__default.createElement(MRT_TableHeadCellGrabHandle, {
2211
2363
  header: header,
2364
+ ref: dragRef,
2212
2365
  tableInstance: tableInstance
2213
- }), column.getCanResize() && React__default.createElement(material.Divider, Object.assign({
2214
- flexItem: true,
2215
- orientation: "vertical",
2216
- onDoubleClick: function onDoubleClick() {
2217
- return column.resetSize();
2218
- },
2219
- sx: function sx(theme) {
2220
- return {
2221
- borderRadius: '2px',
2222
- borderRightWidth: '2px',
2223
- cursor: 'col-resize',
2224
- height: showFilters && column.columnDefType === 'data' ? '4rem' : '2rem',
2225
- opacity: 0.8,
2226
- position: 'absolute',
2227
- right: '1px',
2228
- touchAction: 'none',
2229
- transition: 'all 0.2s ease-in-out',
2230
- userSelect: 'none',
2231
- zIndex: 2000,
2232
- '&:active': {
2233
- backgroundColor: theme.palette.info.main,
2234
- opacity: 1
2235
- }
2236
- };
2237
- }
2238
- }, {
2239
- onMouseDown: header.getResizeHandler,
2240
- onTouchStart: header.getResizeHandler
2241
- }, {
2242
- style: {
2243
- transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
2244
- }
2245
- }))), column.columnDefType === 'data' && column.getCanFilter() && React__default.createElement(material.Collapse, {
2246
- "in": showFilters,
2247
- mountOnEnter: true,
2248
- unmountOnExit: true
2249
- }, currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? React__default.createElement(MRT_FilterRangeFields, {
2366
+ }), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
2250
2367
  header: header,
2251
2368
  tableInstance: tableInstance
2252
- }) : React__default.createElement(MRT_FilterTextField, {
2369
+ })), column.getCanResize() && React__default.createElement(MRT_TableHeadCellResizeHandle, {
2253
2370
  header: header,
2254
2371
  tableInstance: tableInstance
2255
- })));
2372
+ })), column.columnDefType === 'data' && column.getCanFilter() && React__default.createElement(MRT_TableHeadCellFilterContainer, {
2373
+ header: header,
2374
+ tableInstance: tableInstance
2375
+ }));
2376
+ };
2377
+
2378
+ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
2379
+ var header = _ref.header,
2380
+ tableInstance = _ref.tableInstance;
2381
+ var getState = tableInstance.getState;
2382
+
2383
+ _objectDestructuringEmpty(tableInstance.options);
2384
+
2385
+ var setColumnOrder = tableInstance.setColumnOrder;
2386
+
2387
+ var _getState = getState(),
2388
+ columnOrder = _getState.columnOrder;
2389
+
2390
+ var reorder = function reorder(item, newIndex) {
2391
+ var currentIndex = item.index;
2392
+ columnOrder.splice(newIndex, 0, columnOrder.splice(currentIndex, 1)[0]);
2393
+ setColumnOrder([].concat(columnOrder));
2394
+ };
2395
+
2396
+ var _useDrop = reactDnd.useDrop({
2397
+ accept: 'header',
2398
+ drop: function drop(item) {
2399
+ return reorder(item, header.index);
2400
+ }
2401
+ }),
2402
+ drop = _useDrop[1];
2403
+
2404
+ var _useDrag = reactDnd.useDrag({
2405
+ collect: function collect(monitor) {
2406
+ return {
2407
+ isDragging: monitor.isDragging()
2408
+ };
2409
+ },
2410
+ item: function item() {
2411
+ return header;
2412
+ },
2413
+ type: 'header'
2414
+ }),
2415
+ isDragging = _useDrag[0].isDragging,
2416
+ drag = _useDrag[1],
2417
+ preview = _useDrag[2];
2418
+
2419
+ return React__default.createElement(MRT_TableHeadCell, {
2420
+ dragRef: drag,
2421
+ dropRef: drop,
2422
+ header: header,
2423
+ isDragging: isDragging,
2424
+ previewRef: preview,
2425
+ tableInstance: tableInstance
2426
+ });
2256
2427
  };
2257
2428
 
2258
2429
  var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2259
2430
  var headerGroup = _ref.headerGroup,
2260
2431
  tableInstance = _ref.tableInstance;
2261
- var muiTableHeadRowProps = tableInstance.options.muiTableHeadRowProps;
2432
+ var _tableInstance$option = tableInstance.options,
2433
+ enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
2434
+ enableGrouping = _tableInstance$option.enableGrouping,
2435
+ muiTableHeadRowProps = _tableInstance$option.muiTableHeadRowProps;
2262
2436
  var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2263
2437
  headerGroup: headerGroup,
2264
2438
  tableInstance: tableInstance
@@ -2271,7 +2445,11 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2271
2445
  }, tableRowProps == null ? void 0 : tableRowProps.sx);
2272
2446
  }
2273
2447
  }), headerGroup.headers.map(function (header, index) {
2274
- return React__default.createElement(MRT_TableHeadCell, {
2448
+ return enableColumnOrdering || enableGrouping ? React__default.createElement(MRT_DraggableTableHeadCell, {
2449
+ header: header,
2450
+ key: header.id || index,
2451
+ tableInstance: tableInstance
2452
+ }) : React__default.createElement(MRT_TableHeadCell, {
2275
2453
  header: header,
2276
2454
  key: header.id || index,
2277
2455
  tableInstance: tableInstance
@@ -2374,7 +2552,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2374
2552
  onClick: function onClick(e) {
2375
2553
  return e.stopPropagation();
2376
2554
  },
2377
- placeholder: column.header,
2555
+ placeholder: column.columnDef.header,
2378
2556
  value: value,
2379
2557
  variant: "standard"
2380
2558
  }, textFieldProps));
@@ -2422,7 +2600,9 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2422
2600
  onClick: function onClick() {
2423
2601
  return handleCopy(cell.getValue());
2424
2602
  },
2425
- size: "small"
2603
+ size: "small",
2604
+ type: "button",
2605
+ variant: "text"
2426
2606
  }, buttonProps, {
2427
2607
  sx: _extends({
2428
2608
  backgroundColor: 'transparent',
@@ -2436,13 +2616,12 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2436
2616
  minWidth: 'unset',
2437
2617
  textAlign: 'inherit',
2438
2618
  textTransform: 'inherit'
2439
- }, buttonProps == null ? void 0 : buttonProps.sx),
2440
- variant: "text"
2619
+ }, buttonProps == null ? void 0 : buttonProps.sx)
2441
2620
  }), children));
2442
2621
  };
2443
2622
 
2444
2623
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2445
- var _cell$column$Cell, _cell$column, _row$subRows, _cell$column$Cell2, _cell$column2, _row$subRows2;
2624
+ var _column$minSize, _cell$column$columnDe, _cell$column$columnDe2, _row$subRows, _cell$column$columnDe3, _cell$column$columnDe4, _row$subRows$length, _row$subRows2;
2446
2625
 
2447
2626
  var cell = _ref.cell,
2448
2627
  enableHover = _ref.enableHover,
@@ -2526,26 +2705,28 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2526
2705
  boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : undefined,
2527
2706
  cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2528
2707
  left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2529
- maxWidth: "min(" + column.getSize() + "px, fit-content)",
2530
- minWidth: "max" + column.getSize() + "px, " + column.minSize + "px",
2531
2708
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2532
2709
  pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2533
2710
  position: column.getIsPinned() ? 'sticky' : 'relative',
2534
2711
  right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2535
2712
  transition: 'all 0.2s ease-in-out',
2536
2713
  whiteSpace: isDensePadding ? 'nowrap' : 'normal',
2537
- width: column.getSize(),
2538
2714
  zIndex: column.getIsPinned() ? 1 : undefined,
2539
2715
  '&:hover': {
2540
2716
  backgroundColor: enableHover ? theme.palette.mode === 'dark' ? material.lighten(theme.palette.background["default"], 0.13) + " !important" : material.darken(theme.palette.background["default"], 0.07) + " !important" : undefined
2541
2717
  }
2542
2718
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2719
+ },
2720
+ style: {
2721
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2722
+ minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
2723
+ width: column.getSize()
2543
2724
  }
2544
2725
  }), React__default.createElement(React__default.Fragment, null, isLoading || showSkeletons ? React__default.createElement(material.Skeleton, Object.assign({
2545
2726
  animation: "wave",
2546
2727
  height: 20,
2547
2728
  width: skeletonWidth
2548
- }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.Cell == null ? void 0 : column.Cell({
2729
+ }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.columnDef.Cell == null ? void 0 : column.columnDef.Cell({
2549
2730
  cell: cell,
2550
2731
  tableInstance: tableInstance
2551
2732
  }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React__default.createElement(MRT_EditCellTextField, {
@@ -2554,13 +2735,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2554
2735
  }) : (enableClickToCopy || column.enableClickToCopy) && column.enableClickToCopy !== false ? React__default.createElement(React__default.Fragment, null, React__default.createElement(MRT_CopyButton, {
2555
2736
  cell: cell,
2556
2737
  tableInstance: tableInstance
2557
- }, React__default.createElement(React__default.Fragment, null, (_cell$column$Cell = (_cell$column = cell.column) == null ? void 0 : _cell$column.Cell == null ? void 0 : _cell$column.Cell({
2738
+ }, React__default.createElement(React__default.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({
2558
2739
  cell: cell,
2559
2740
  tableInstance: tableInstance
2560
- })) != null ? _cell$column$Cell : cell.renderCell())), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React__default.createElement(React__default.Fragment, null, (_cell$column$Cell2 = (_cell$column2 = cell.column) == null ? void 0 : _cell$column2.Cell == null ? void 0 : _cell$column2.Cell({
2741
+ })) != null ? _cell$column$columnDe : cell.renderCell())), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React__default.createElement(React__default.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({
2561
2742
  cell: cell,
2562
2743
  tableInstance: tableInstance
2563
- })) != null ? _cell$column$Cell2 : cell.renderCell(), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length, ")"))));
2744
+ })) != null ? _cell$column$columnDe3 : cell.renderCell(), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows$length = (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length) != null ? _row$subRows$length : '', ")"))));
2564
2745
  };
2565
2746
 
2566
2747
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -2669,7 +2850,7 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
2669
2850
  };
2670
2851
 
2671
2852
  var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2672
- var _ref2, _column$Footer;
2853
+ var _ref2, _ref3, _column$columnDef$Foo;
2673
2854
 
2674
2855
  var footer = _ref.footer,
2675
2856
  tableInstance = _ref.tableInstance;
@@ -2711,10 +2892,10 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2711
2892
  verticalAlign: 'text-top'
2712
2893
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2713
2894
  }
2714
- }), footer.isPlaceholder ? null : (_ref2 = (_column$Footer = column.Footer == null ? void 0 : column.Footer({
2895
+ }), React__default.createElement(React__default.Fragment, null, footer.isPlaceholder ? null : (_ref2 = (_ref3 = (_column$columnDef$Foo = column.columnDef.Footer == null ? void 0 : column.columnDef.Footer({
2715
2896
  footer: footer,
2716
2897
  tableInstance: tableInstance
2717
- })) != null ? _column$Footer : column.footer) != null ? _ref2 : null);
2898
+ })) != null ? _column$columnDef$Foo : column.columnDef.footer) != null ? _ref3 : footer.renderFooter()) != null ? _ref2 : null));
2718
2899
  };
2719
2900
 
2720
2901
  var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
@@ -2725,7 +2906,7 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
2725
2906
  var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
2726
2907
 
2727
2908
  if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
2728
- return typeof h.column.footer === 'string' && !!h.column.footer || h.column.Footer;
2909
+ return typeof h.column.columnDef.footer === 'string' && !!h.column.columnDef.footer || h.column.columnDef.Footer;
2729
2910
  }))) return null;
2730
2911
  var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2731
2912
  footerGroup: footerGroup,
@@ -2842,7 +3023,9 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
2842
3023
  var tablePaperProps = muiTablePaperProps instanceof Function ? muiTablePaperProps({
2843
3024
  tableInstance: tableInstance
2844
3025
  }) : muiTablePaperProps;
2845
- return React__default.createElement(material.Paper, Object.assign({
3026
+ return React__default.createElement(reactDnd.DndProvider, {
3027
+ backend: reactDndHtml5Backend.HTML5Backend
3028
+ }, React__default.createElement(material.Paper, Object.assign({
2846
3029
  elevation: 2
2847
3030
  }, tablePaperProps, {
2848
3031
  sx: _extends({
@@ -2862,7 +3045,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
2862
3045
  tableInstance: tableInstance
2863
3046
  }), enableToolbarBottom && React__default.createElement(MRT_ToolbarBottom, {
2864
3047
  tableInstance: tableInstance
2865
- }));
3048
+ })));
2866
3049
  };
2867
3050
 
2868
3051
  var getAllLeafColumnDefs = function getAllLeafColumnDefs(columns) {
@@ -3077,30 +3260,34 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3077
3260
  return _ref7 = {}, _ref7[c.id] = null, _ref7;
3078
3261
  })));
3079
3262
  }) : props.data;
3080
- }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
3263
+ }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]);
3264
+
3265
+ var _useState11 = React.useState(function () {
3266
+ var _initialState$columnO;
3267
+
3268
+ return ((_initialState$columnO = initialState == null ? void 0 : initialState.columnOrder) != null ? _initialState$columnO : props.enableColumnOrdering) ? getAllLeafColumnDefs(columns).map(function (c) {
3269
+ return c.id;
3270
+ }) : [];
3271
+ }),
3272
+ columnOrder = _useState11[0],
3273
+ setColumnOrder = _useState11[1]; //@ts-ignore
3274
+
3081
3275
 
3082
3276
  var tableInstance = _extends({}, reactTable.useTableInstance(table, _extends({
3083
3277
  filterFns: defaultFilterFNs,
3084
- //@ts-ignore
3085
3278
  getCoreRowModel: reactTable.getCoreRowModel(),
3086
- //@ts-ignore
3087
3279
  getExpandedRowModel: reactTable.getExpandedRowModel(),
3088
- //@ts-ignore
3089
3280
  getFacetedRowModel: reactTable.getFacetedRowModel(),
3090
- //@ts-ignore
3091
3281
  getFilteredRowModel: reactTable.getFilteredRowModel(),
3092
- //@ts-ignore
3093
3282
  getGroupedRowModel: reactTable.getGroupedRowModel(),
3094
- //@ts-ignore
3095
3283
  getPaginationRowModel: reactTable.getPaginationRowModel(),
3096
- //@ts-ignore
3097
3284
  getSortedRowModel: reactTable.getSortedRowModel(),
3098
- //@ts-ignore
3099
3285
  getSubRows: function getSubRows(row) {
3100
3286
  return row == null ? void 0 : row.subRows;
3101
3287
  },
3102
3288
  //@ts-ignore
3103
3289
  globalFilterFn: currentGlobalFilterFn,
3290
+ onColumnOrderChange: setColumnOrder,
3104
3291
  onPaginationChange: function onPaginationChange(updater) {
3105
3292
  return setPagination(function (old) {
3106
3293
  return reactTable.functionalUpdate(updater, old);
@@ -3113,6 +3300,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3113
3300
  idPrefix: idPrefix,
3114
3301
  initialState: initialState,
3115
3302
  state: _extends({
3303
+ columnOrder: columnOrder,
3116
3304
  currentEditingCell: currentEditingCell,
3117
3305
  currentEditingRow: currentEditingRow,
3118
3306
  currentFilterFns: currentFilterFns,
@@ -3175,18 +3363,26 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3175
3363
  }));
3176
3364
  };
3177
3365
 
3178
- 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"];
3366
+ 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"];
3179
3367
  var MaterialReactTable = (function (_ref) {
3180
3368
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3181
3369
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3182
3370
  _ref$columnResizeMode = _ref.columnResizeMode,
3183
3371
  columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
3372
+ _ref$defaultColumn = _ref.defaultColumn,
3373
+ defaultColumn = _ref$defaultColumn === void 0 ? {
3374
+ minSize: 50,
3375
+ maxSize: 1000,
3376
+ size: 150
3377
+ } : _ref$defaultColumn,
3184
3378
  _ref$editingMode = _ref.editingMode,
3185
3379
  editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
3186
3380
  _ref$enableColumnActi = _ref.enableColumnActions,
3187
3381
  enableColumnActions = _ref$enableColumnActi === void 0 ? true : _ref$enableColumnActi,
3188
3382
  _ref$enableColumnFilt = _ref.enableColumnFilters,
3189
3383
  enableColumnFilters = _ref$enableColumnFilt === void 0 ? true : _ref$enableColumnFilt,
3384
+ _ref$enableColumnOrde = _ref.enableColumnOrdering,
3385
+ enableColumnOrdering = _ref$enableColumnOrde === void 0 ? false : _ref$enableColumnOrde,
3190
3386
  _ref$enableColumnResi = _ref.enableColumnResizing,
3191
3387
  enableColumnResizing = _ref$enableColumnResi === void 0 ? false : _ref$enableColumnResi,
3192
3388
  _ref$enableDensePaddi = _ref.enableDensePaddingToggle,
@@ -3199,6 +3395,8 @@ var MaterialReactTable = (function (_ref) {
3199
3395
  enableFullScreenToggle = _ref$enableFullScreen === void 0 ? true : _ref$enableFullScreen,
3200
3396
  _ref$enableGlobalFilt = _ref.enableGlobalFilter,
3201
3397
  enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
3398
+ _ref$enableGrouping = _ref.enableGrouping,
3399
+ enableGrouping = _ref$enableGrouping === void 0 ? false : _ref$enableGrouping,
3202
3400
  _ref$enableHiding = _ref.enableHiding,
3203
3401
  enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
3204
3402
  _ref$enableMultiRowSe = _ref.enableMultiRowSelection,
@@ -3240,15 +3438,18 @@ var MaterialReactTable = (function (_ref) {
3240
3438
  return React__default.createElement(MRT_TableRoot, Object.assign({
3241
3439
  autoResetExpanded: autoResetExpanded,
3242
3440
  columnResizeMode: columnResizeMode,
3441
+ defaultColumn: defaultColumn,
3243
3442
  editingMode: editingMode,
3244
3443
  enableColumnActions: enableColumnActions,
3245
3444
  enableColumnFilters: enableColumnFilters,
3445
+ enableColumnOrdering: enableColumnOrdering,
3246
3446
  enableColumnResizing: enableColumnResizing,
3247
3447
  enableDensePaddingToggle: enableDensePaddingToggle,
3248
3448
  enableExpandAll: enableExpandAll,
3249
3449
  enableFilters: enableFilters,
3250
3450
  enableFullScreenToggle: enableFullScreenToggle,
3251
3451
  enableGlobalFilter: enableGlobalFilter,
3452
+ enableGrouping: enableGrouping,
3252
3453
  enableHiding: enableHiding,
3253
3454
  enableMultiRowSelection: enableMultiRowSelection,
3254
3455
  enablePagination: enablePagination,