material-react-table 0.7.0-alpha.1 → 0.7.0-alpha.12

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 (53) hide show
  1. package/README.md +29 -21
  2. package/dist/MaterialReactTable.d.ts +236 -75
  3. package/dist/buttons/MRT_CopyButton.d.ts +1 -2
  4. package/dist/buttons/{MRT_ToggleSearchButton.d.ts → MRT_ToggleGlobalFilterButton.d.ts} +1 -1
  5. package/dist/localization.d.ts +1 -0
  6. package/dist/material-react-table.cjs.development.js +399 -1011
  7. package/dist/material-react-table.cjs.development.js.map +1 -1
  8. package/dist/material-react-table.cjs.production.min.js +1 -1
  9. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  10. package/dist/material-react-table.esm.js +400 -1012
  11. package/dist/material-react-table.esm.js.map +1 -1
  12. package/dist/utils.d.ts +1 -1
  13. package/package.json +7 -7
  14. package/src/MaterialReactTable.tsx +436 -143
  15. package/src/body/MRT_TableBody.tsx +1 -1
  16. package/src/body/MRT_TableBodyCell.tsx +11 -8
  17. package/src/body/MRT_TableBodyRow.tsx +2 -2
  18. package/src/body/MRT_TableDetailPanel.tsx +6 -4
  19. package/src/buttons/MRT_CopyButton.tsx +3 -4
  20. package/src/buttons/MRT_EditActionButtons.tsx +6 -4
  21. package/src/buttons/MRT_ExpandButton.tsx +1 -1
  22. package/src/buttons/MRT_FullScreenToggleButton.tsx +13 -3
  23. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +5 -2
  24. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +13 -3
  25. package/src/buttons/MRT_ToggleFiltersButton.tsx +13 -3
  26. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +57 -0
  27. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +7 -7
  28. package/src/footer/MRT_TableFooter.tsx +1 -1
  29. package/src/footer/MRT_TableFooterCell.tsx +2 -2
  30. package/src/footer/MRT_TableFooterRow.tsx +1 -1
  31. package/src/head/MRT_TableHead.tsx +1 -1
  32. package/src/head/MRT_TableHeadCell.tsx +23 -30
  33. package/src/head/MRT_TableHeadRow.tsx +1 -1
  34. package/src/inputs/MRT_EditCellTextField.tsx +27 -14
  35. package/src/inputs/MRT_FilterTextField.tsx +3 -3
  36. package/src/inputs/MRT_SearchTextField.tsx +10 -5
  37. package/src/inputs/MRT_SelectCheckbox.tsx +9 -7
  38. package/src/localization.ts +2 -1
  39. package/src/menus/MRT_ColumnActionMenu.tsx +4 -4
  40. package/src/menus/MRT_FilterTypeMenu.tsx +3 -6
  41. package/src/menus/MRT_RowActionMenu.tsx +7 -5
  42. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +5 -6
  43. package/src/table/MRT_Table.tsx +1 -1
  44. package/src/table/MRT_TableContainer.tsx +20 -24
  45. package/src/table/MRT_TablePaper.tsx +9 -5
  46. package/src/table/MRT_TableRoot.tsx +44 -40
  47. package/src/toolbar/MRT_LinearProgressBar.tsx +1 -1
  48. package/src/toolbar/MRT_TablePagination.tsx +6 -2
  49. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +2 -1
  50. package/src/toolbar/MRT_ToolbarBottom.tsx +1 -1
  51. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +12 -10
  52. package/src/toolbar/MRT_ToolbarTop.tsx +2 -2
  53. package/src/buttons/MRT_ToggleSearchButton.tsx +0 -46
@@ -1,4 +1,4 @@
1
- import React, { useMemo, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
1
+ import React, { useMemo, useState, useCallback, Fragment, 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';
@@ -30,42 +30,6 @@ import { createTable, useTable, columnFilterRowsFn, expandRowsFn, globalFilterRo
30
30
  import { IconButton, Menu, MenuItem, FormControlLabel, Switch, Box, Button, Divider, ListItemIcon, Tooltip, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, useMediaQuery, Chip, Alert, LinearProgress, Toolbar, alpha, TableCell, TableSortLabel, TableRow, TableHead, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper } from '@mui/material';
31
31
  import { matchSorter } from 'match-sorter';
32
32
 
33
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
34
- try {
35
- var info = gen[key](arg);
36
- var value = info.value;
37
- } catch (error) {
38
- reject(error);
39
- return;
40
- }
41
-
42
- if (info.done) {
43
- resolve(value);
44
- } else {
45
- Promise.resolve(value).then(_next, _throw);
46
- }
47
- }
48
-
49
- function _asyncToGenerator(fn) {
50
- return function () {
51
- var self = this,
52
- args = arguments;
53
- return new Promise(function (resolve, reject) {
54
- var gen = fn.apply(self, args);
55
-
56
- function _next(value) {
57
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
58
- }
59
-
60
- function _throw(err) {
61
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
62
- }
63
-
64
- _next(undefined);
65
- });
66
- };
67
- }
68
-
69
33
  function _extends() {
70
34
  _extends = Object.assign || function (target) {
71
35
  for (var i = 1; i < arguments.length; i++) {
@@ -134,6 +98,7 @@ var MRT_DefaultLocalization_EN = {
134
98
  pinToLeft: 'Pin to left',
135
99
  pinToRight: 'Pin to right',
136
100
  rowActions: 'Row Actions',
101
+ rowNumber: '#',
137
102
  rowNumbers: 'Row Numbers',
138
103
  save: 'Save',
139
104
  search: 'Search',
@@ -233,7 +198,11 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
233
198
 
234
199
  var handleToggleExpand = function handleToggleExpand(event) {
235
200
  row.toggleExpanded();
236
- onRowExpandChange == null ? void 0 : onRowExpandChange(event, row);
201
+ onRowExpandChange == null ? void 0 : onRowExpandChange({
202
+ event: event,
203
+ row: row,
204
+ tableInstance: tableInstance
205
+ });
237
206
  };
238
207
 
239
208
  return React.createElement(IconButton, {
@@ -415,8 +384,8 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
415
384
  _tableInstance$option = tableInstance.options,
416
385
  enabledGlobalFilterTypes = _tableInstance$option.enabledGlobalFilterTypes,
417
386
  localization = _tableInstance$option.localization,
418
- setCurrentFilterTypes = _tableInstance$option.setCurrentFilterTypes,
419
- setCurrentGlobalFilterType = _tableInstance$option.setCurrentGlobalFilterType;
387
+ setCurrentFilterTypes = tableInstance.setCurrentFilterTypes,
388
+ setCurrentGlobalFilterType = tableInstance.setCurrentGlobalFilterType;
420
389
 
421
390
  var _getState = getState(),
422
391
  isDensePadding = _getState.isDensePadding,
@@ -542,7 +511,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
542
511
  isSubMenu = _ref.isSubMenu,
543
512
  tableInstance = _ref.tableInstance;
544
513
  var getState = tableInstance.getState,
545
- onColumnHide = tableInstance.options.onColumnHide;
514
+ onToggleColumnVisibility = tableInstance.options.onToggleColumnVisibility;
546
515
 
547
516
  var _getState = getState(),
548
517
  columnVisibility = _getState.columnVisibility;
@@ -562,11 +531,11 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
562
531
  column.toggleVisibility();
563
532
  }
564
533
 
565
- onColumnHide == null ? void 0 : onColumnHide(column, Object.entries(columnVisibility).filter(function (entry) {
566
- return entry[1];
567
- }).map(function (entry) {
568
- return entry[0];
569
- }));
534
+ onToggleColumnVisibility == null ? void 0 : onToggleColumnVisibility({
535
+ column: column,
536
+ columnVisibility: columnVisibility,
537
+ tableInstance: tableInstance
538
+ });
570
539
  };
571
540
 
572
541
  return React.createElement(React.Fragment, null, React.createElement(MenuItem, {
@@ -703,7 +672,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
703
672
  setColumnOrder = tableInstance.setColumnOrder,
704
673
  _tableInstance$option = tableInstance.options,
705
674
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
706
- enableColumnPinning = _tableInstance$option.enableColumnPinning,
675
+ enablePinning = _tableInstance$option.enablePinning,
707
676
  enableGrouping = _tableInstance$option.enableGrouping,
708
677
  enableHiding = _tableInstance$option.enableHiding,
709
678
  enableSorting = _tableInstance$option.enableSorting,
@@ -719,7 +688,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
719
688
  VisibilityOffIcon = _tableInstance$option2.VisibilityOffIcon,
720
689
  idPrefix = _tableInstance$option.idPrefix,
721
690
  localization = _tableInstance$option.localization,
722
- setShowFilters = _tableInstance$option.setShowFilters;
691
+ setShowFilters = tableInstance.setShowFilters;
723
692
  var column = header.column;
724
693
 
725
694
  var _getState = getState(),
@@ -861,13 +830,13 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
861
830
  setAnchorEl: setFilterMenuAnchorEl,
862
831
  tableInstance: tableInstance
863
832
  })], enableGrouping && column.getCanGroup() && [React.createElement(MenuItem, {
864
- divider: enableColumnPinning,
833
+ divider: enablePinning,
865
834
  key: 0,
866
835
  onClick: handleGroupByColumn,
867
836
  sx: commonMenuItemStyles$1
868
837
  }, React.createElement(Box, {
869
838
  sx: commonListItemStyles
870
- }, React.createElement(ListItemIcon, null, React.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.header))))], enableColumnPinning && column.getCanPin() && [React.createElement(MenuItem, {
839
+ }, React.createElement(ListItemIcon, null, React.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.header))))], enablePinning && column.getCanPin() && [React.createElement(MenuItem, {
871
840
  disabled: column.getIsPinned() === 'left',
872
841
  key: 0,
873
842
  onClick: function onClick() {
@@ -936,8 +905,6 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
936
905
  };
937
906
 
938
907
  var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
939
- var _renderRowActionMenuI;
940
-
941
908
  var anchorEl = _ref.anchorEl,
942
909
  handleEdit = _ref.handleEdit,
943
910
  row = _ref.row,
@@ -946,7 +913,7 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
946
913
  var getState = tableInstance.getState,
947
914
  _tableInstance$option = tableInstance.options,
948
915
  EditIcon = _tableInstance$option.icons.EditIcon,
949
- enableRowEditing = _tableInstance$option.enableRowEditing,
916
+ enableEditing = _tableInstance$option.enableEditing,
950
917
  localization = _tableInstance$option.localization,
951
918
  renderRowActionMenuItems = _tableInstance$option.renderRowActionMenuItems;
952
919
 
@@ -962,775 +929,19 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
962
929
  MenuListProps: {
963
930
  dense: isDensePadding
964
931
  }
965
- }, enableRowEditing && React.createElement(MenuItem, {
932
+ }, enableEditing && React.createElement(MenuItem, {
966
933
  onClick: handleEdit,
967
934
  sx: commonMenuItemStyles$1
968
935
  }, React.createElement(Box, {
969
936
  sx: commonListItemStyles
970
- }, React.createElement(ListItemIcon, null, React.createElement(EditIcon, null)), localization.edit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
971
- return setAnchorEl(null);
972
- })) != null ? _renderRowActionMenuI : null);
973
- };
974
-
975
- function createCommonjsModule(fn, module) {
976
- return module = { exports: {} }, fn(module, module.exports), module.exports;
977
- }
978
-
979
- var runtime_1 = createCommonjsModule(function (module) {
980
- /**
981
- * Copyright (c) 2014-present, Facebook, Inc.
982
- *
983
- * This source code is licensed under the MIT license found in the
984
- * LICENSE file in the root directory of this source tree.
985
- */
986
-
987
- var runtime = (function (exports) {
988
-
989
- var Op = Object.prototype;
990
- var hasOwn = Op.hasOwnProperty;
991
- var undefined$1; // More compressible than void 0.
992
- var $Symbol = typeof Symbol === "function" ? Symbol : {};
993
- var iteratorSymbol = $Symbol.iterator || "@@iterator";
994
- var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
995
- var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
996
-
997
- function define(obj, key, value) {
998
- Object.defineProperty(obj, key, {
999
- value: value,
1000
- enumerable: true,
1001
- configurable: true,
1002
- writable: true
1003
- });
1004
- return obj[key];
1005
- }
1006
- try {
1007
- // IE 8 has a broken Object.defineProperty that only works on DOM objects.
1008
- define({}, "");
1009
- } catch (err) {
1010
- define = function(obj, key, value) {
1011
- return obj[key] = value;
1012
- };
1013
- }
1014
-
1015
- function wrap(innerFn, outerFn, self, tryLocsList) {
1016
- // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
1017
- var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
1018
- var generator = Object.create(protoGenerator.prototype);
1019
- var context = new Context(tryLocsList || []);
1020
-
1021
- // The ._invoke method unifies the implementations of the .next,
1022
- // .throw, and .return methods.
1023
- generator._invoke = makeInvokeMethod(innerFn, self, context);
1024
-
1025
- return generator;
1026
- }
1027
- exports.wrap = wrap;
1028
-
1029
- // Try/catch helper to minimize deoptimizations. Returns a completion
1030
- // record like context.tryEntries[i].completion. This interface could
1031
- // have been (and was previously) designed to take a closure to be
1032
- // invoked without arguments, but in all the cases we care about we
1033
- // already have an existing method we want to call, so there's no need
1034
- // to create a new function object. We can even get away with assuming
1035
- // the method takes exactly one argument, since that happens to be true
1036
- // in every case, so we don't have to touch the arguments object. The
1037
- // only additional allocation required is the completion record, which
1038
- // has a stable shape and so hopefully should be cheap to allocate.
1039
- function tryCatch(fn, obj, arg) {
1040
- try {
1041
- return { type: "normal", arg: fn.call(obj, arg) };
1042
- } catch (err) {
1043
- return { type: "throw", arg: err };
1044
- }
1045
- }
1046
-
1047
- var GenStateSuspendedStart = "suspendedStart";
1048
- var GenStateSuspendedYield = "suspendedYield";
1049
- var GenStateExecuting = "executing";
1050
- var GenStateCompleted = "completed";
1051
-
1052
- // Returning this object from the innerFn has the same effect as
1053
- // breaking out of the dispatch switch statement.
1054
- var ContinueSentinel = {};
1055
-
1056
- // Dummy constructor functions that we use as the .constructor and
1057
- // .constructor.prototype properties for functions that return Generator
1058
- // objects. For full spec compliance, you may wish to configure your
1059
- // minifier not to mangle the names of these two functions.
1060
- function Generator() {}
1061
- function GeneratorFunction() {}
1062
- function GeneratorFunctionPrototype() {}
1063
-
1064
- // This is a polyfill for %IteratorPrototype% for environments that
1065
- // don't natively support it.
1066
- var IteratorPrototype = {};
1067
- define(IteratorPrototype, iteratorSymbol, function () {
1068
- return this;
1069
- });
1070
-
1071
- var getProto = Object.getPrototypeOf;
1072
- var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
1073
- if (NativeIteratorPrototype &&
1074
- NativeIteratorPrototype !== Op &&
1075
- hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
1076
- // This environment has a native %IteratorPrototype%; use it instead
1077
- // of the polyfill.
1078
- IteratorPrototype = NativeIteratorPrototype;
1079
- }
1080
-
1081
- var Gp = GeneratorFunctionPrototype.prototype =
1082
- Generator.prototype = Object.create(IteratorPrototype);
1083
- GeneratorFunction.prototype = GeneratorFunctionPrototype;
1084
- define(Gp, "constructor", GeneratorFunctionPrototype);
1085
- define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
1086
- GeneratorFunction.displayName = define(
1087
- GeneratorFunctionPrototype,
1088
- toStringTagSymbol,
1089
- "GeneratorFunction"
1090
- );
1091
-
1092
- // Helper for defining the .next, .throw, and .return methods of the
1093
- // Iterator interface in terms of a single ._invoke method.
1094
- function defineIteratorMethods(prototype) {
1095
- ["next", "throw", "return"].forEach(function(method) {
1096
- define(prototype, method, function(arg) {
1097
- return this._invoke(method, arg);
1098
- });
1099
- });
1100
- }
1101
-
1102
- exports.isGeneratorFunction = function(genFun) {
1103
- var ctor = typeof genFun === "function" && genFun.constructor;
1104
- return ctor
1105
- ? ctor === GeneratorFunction ||
1106
- // For the native GeneratorFunction constructor, the best we can
1107
- // do is to check its .name property.
1108
- (ctor.displayName || ctor.name) === "GeneratorFunction"
1109
- : false;
1110
- };
1111
-
1112
- exports.mark = function(genFun) {
1113
- if (Object.setPrototypeOf) {
1114
- Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
1115
- } else {
1116
- genFun.__proto__ = GeneratorFunctionPrototype;
1117
- define(genFun, toStringTagSymbol, "GeneratorFunction");
1118
- }
1119
- genFun.prototype = Object.create(Gp);
1120
- return genFun;
1121
- };
1122
-
1123
- // Within the body of any async function, `await x` is transformed to
1124
- // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
1125
- // `hasOwn.call(value, "__await")` to determine if the yielded value is
1126
- // meant to be awaited.
1127
- exports.awrap = function(arg) {
1128
- return { __await: arg };
1129
- };
1130
-
1131
- function AsyncIterator(generator, PromiseImpl) {
1132
- function invoke(method, arg, resolve, reject) {
1133
- var record = tryCatch(generator[method], generator, arg);
1134
- if (record.type === "throw") {
1135
- reject(record.arg);
1136
- } else {
1137
- var result = record.arg;
1138
- var value = result.value;
1139
- if (value &&
1140
- typeof value === "object" &&
1141
- hasOwn.call(value, "__await")) {
1142
- return PromiseImpl.resolve(value.__await).then(function(value) {
1143
- invoke("next", value, resolve, reject);
1144
- }, function(err) {
1145
- invoke("throw", err, resolve, reject);
1146
- });
1147
- }
1148
-
1149
- return PromiseImpl.resolve(value).then(function(unwrapped) {
1150
- // When a yielded Promise is resolved, its final value becomes
1151
- // the .value of the Promise<{value,done}> result for the
1152
- // current iteration.
1153
- result.value = unwrapped;
1154
- resolve(result);
1155
- }, function(error) {
1156
- // If a rejected Promise was yielded, throw the rejection back
1157
- // into the async generator function so it can be handled there.
1158
- return invoke("throw", error, resolve, reject);
1159
- });
1160
- }
1161
- }
1162
-
1163
- var previousPromise;
1164
-
1165
- function enqueue(method, arg) {
1166
- function callInvokeWithMethodAndArg() {
1167
- return new PromiseImpl(function(resolve, reject) {
1168
- invoke(method, arg, resolve, reject);
1169
- });
1170
- }
1171
-
1172
- return previousPromise =
1173
- // If enqueue has been called before, then we want to wait until
1174
- // all previous Promises have been resolved before calling invoke,
1175
- // so that results are always delivered in the correct order. If
1176
- // enqueue has not been called before, then it is important to
1177
- // call invoke immediately, without waiting on a callback to fire,
1178
- // so that the async generator function has the opportunity to do
1179
- // any necessary setup in a predictable way. This predictability
1180
- // is why the Promise constructor synchronously invokes its
1181
- // executor callback, and why async functions synchronously
1182
- // execute code before the first await. Since we implement simple
1183
- // async functions in terms of async generators, it is especially
1184
- // important to get this right, even though it requires care.
1185
- previousPromise ? previousPromise.then(
1186
- callInvokeWithMethodAndArg,
1187
- // Avoid propagating failures to Promises returned by later
1188
- // invocations of the iterator.
1189
- callInvokeWithMethodAndArg
1190
- ) : callInvokeWithMethodAndArg();
1191
- }
1192
-
1193
- // Define the unified helper method that is used to implement .next,
1194
- // .throw, and .return (see defineIteratorMethods).
1195
- this._invoke = enqueue;
1196
- }
1197
-
1198
- defineIteratorMethods(AsyncIterator.prototype);
1199
- define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
1200
- return this;
1201
- });
1202
- exports.AsyncIterator = AsyncIterator;
1203
-
1204
- // Note that simple async functions are implemented on top of
1205
- // AsyncIterator objects; they just return a Promise for the value of
1206
- // the final result produced by the iterator.
1207
- exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
1208
- if (PromiseImpl === void 0) PromiseImpl = Promise;
1209
-
1210
- var iter = new AsyncIterator(
1211
- wrap(innerFn, outerFn, self, tryLocsList),
1212
- PromiseImpl
1213
- );
1214
-
1215
- return exports.isGeneratorFunction(outerFn)
1216
- ? iter // If outerFn is a generator, return the full iterator.
1217
- : iter.next().then(function(result) {
1218
- return result.done ? result.value : iter.next();
1219
- });
1220
- };
1221
-
1222
- function makeInvokeMethod(innerFn, self, context) {
1223
- var state = GenStateSuspendedStart;
1224
-
1225
- return function invoke(method, arg) {
1226
- if (state === GenStateExecuting) {
1227
- throw new Error("Generator is already running");
1228
- }
1229
-
1230
- if (state === GenStateCompleted) {
1231
- if (method === "throw") {
1232
- throw arg;
1233
- }
1234
-
1235
- // Be forgiving, per 25.3.3.3.3 of the spec:
1236
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
1237
- return doneResult();
1238
- }
1239
-
1240
- context.method = method;
1241
- context.arg = arg;
1242
-
1243
- while (true) {
1244
- var delegate = context.delegate;
1245
- if (delegate) {
1246
- var delegateResult = maybeInvokeDelegate(delegate, context);
1247
- if (delegateResult) {
1248
- if (delegateResult === ContinueSentinel) continue;
1249
- return delegateResult;
1250
- }
1251
- }
1252
-
1253
- if (context.method === "next") {
1254
- // Setting context._sent for legacy support of Babel's
1255
- // function.sent implementation.
1256
- context.sent = context._sent = context.arg;
1257
-
1258
- } else if (context.method === "throw") {
1259
- if (state === GenStateSuspendedStart) {
1260
- state = GenStateCompleted;
1261
- throw context.arg;
1262
- }
1263
-
1264
- context.dispatchException(context.arg);
1265
-
1266
- } else if (context.method === "return") {
1267
- context.abrupt("return", context.arg);
1268
- }
1269
-
1270
- state = GenStateExecuting;
1271
-
1272
- var record = tryCatch(innerFn, self, context);
1273
- if (record.type === "normal") {
1274
- // If an exception is thrown from innerFn, we leave state ===
1275
- // GenStateExecuting and loop back for another invocation.
1276
- state = context.done
1277
- ? GenStateCompleted
1278
- : GenStateSuspendedYield;
1279
-
1280
- if (record.arg === ContinueSentinel) {
1281
- continue;
1282
- }
1283
-
1284
- return {
1285
- value: record.arg,
1286
- done: context.done
1287
- };
1288
-
1289
- } else if (record.type === "throw") {
1290
- state = GenStateCompleted;
1291
- // Dispatch the exception by looping back around to the
1292
- // context.dispatchException(context.arg) call above.
1293
- context.method = "throw";
1294
- context.arg = record.arg;
1295
- }
1296
- }
1297
- };
1298
- }
1299
-
1300
- // Call delegate.iterator[context.method](context.arg) and handle the
1301
- // result, either by returning a { value, done } result from the
1302
- // delegate iterator, or by modifying context.method and context.arg,
1303
- // setting context.delegate to null, and returning the ContinueSentinel.
1304
- function maybeInvokeDelegate(delegate, context) {
1305
- var method = delegate.iterator[context.method];
1306
- if (method === undefined$1) {
1307
- // A .throw or .return when the delegate iterator has no .throw
1308
- // method always terminates the yield* loop.
1309
- context.delegate = null;
1310
-
1311
- if (context.method === "throw") {
1312
- // Note: ["return"] must be used for ES3 parsing compatibility.
1313
- if (delegate.iterator["return"]) {
1314
- // If the delegate iterator has a return method, give it a
1315
- // chance to clean up.
1316
- context.method = "return";
1317
- context.arg = undefined$1;
1318
- maybeInvokeDelegate(delegate, context);
1319
-
1320
- if (context.method === "throw") {
1321
- // If maybeInvokeDelegate(context) changed context.method from
1322
- // "return" to "throw", let that override the TypeError below.
1323
- return ContinueSentinel;
1324
- }
1325
- }
1326
-
1327
- context.method = "throw";
1328
- context.arg = new TypeError(
1329
- "The iterator does not provide a 'throw' method");
1330
- }
1331
-
1332
- return ContinueSentinel;
1333
- }
1334
-
1335
- var record = tryCatch(method, delegate.iterator, context.arg);
1336
-
1337
- if (record.type === "throw") {
1338
- context.method = "throw";
1339
- context.arg = record.arg;
1340
- context.delegate = null;
1341
- return ContinueSentinel;
1342
- }
1343
-
1344
- var info = record.arg;
1345
-
1346
- if (! info) {
1347
- context.method = "throw";
1348
- context.arg = new TypeError("iterator result is not an object");
1349
- context.delegate = null;
1350
- return ContinueSentinel;
1351
- }
1352
-
1353
- if (info.done) {
1354
- // Assign the result of the finished delegate to the temporary
1355
- // variable specified by delegate.resultName (see delegateYield).
1356
- context[delegate.resultName] = info.value;
1357
-
1358
- // Resume execution at the desired location (see delegateYield).
1359
- context.next = delegate.nextLoc;
1360
-
1361
- // If context.method was "throw" but the delegate handled the
1362
- // exception, let the outer generator proceed normally. If
1363
- // context.method was "next", forget context.arg since it has been
1364
- // "consumed" by the delegate iterator. If context.method was
1365
- // "return", allow the original .return call to continue in the
1366
- // outer generator.
1367
- if (context.method !== "return") {
1368
- context.method = "next";
1369
- context.arg = undefined$1;
1370
- }
1371
-
1372
- } else {
1373
- // Re-yield the result returned by the delegate method.
1374
- return info;
1375
- }
1376
-
1377
- // The delegate iterator is finished, so forget it and continue with
1378
- // the outer generator.
1379
- context.delegate = null;
1380
- return ContinueSentinel;
1381
- }
1382
-
1383
- // Define Generator.prototype.{next,throw,return} in terms of the
1384
- // unified ._invoke helper method.
1385
- defineIteratorMethods(Gp);
1386
-
1387
- define(Gp, toStringTagSymbol, "Generator");
1388
-
1389
- // A Generator should always return itself as the iterator object when the
1390
- // @@iterator function is called on it. Some browsers' implementations of the
1391
- // iterator prototype chain incorrectly implement this, causing the Generator
1392
- // object to not be returned from this call. This ensures that doesn't happen.
1393
- // See https://github.com/facebook/regenerator/issues/274 for more details.
1394
- define(Gp, iteratorSymbol, function() {
1395
- return this;
1396
- });
1397
-
1398
- define(Gp, "toString", function() {
1399
- return "[object Generator]";
1400
- });
1401
-
1402
- function pushTryEntry(locs) {
1403
- var entry = { tryLoc: locs[0] };
1404
-
1405
- if (1 in locs) {
1406
- entry.catchLoc = locs[1];
1407
- }
1408
-
1409
- if (2 in locs) {
1410
- entry.finallyLoc = locs[2];
1411
- entry.afterLoc = locs[3];
1412
- }
1413
-
1414
- this.tryEntries.push(entry);
1415
- }
1416
-
1417
- function resetTryEntry(entry) {
1418
- var record = entry.completion || {};
1419
- record.type = "normal";
1420
- delete record.arg;
1421
- entry.completion = record;
1422
- }
1423
-
1424
- function Context(tryLocsList) {
1425
- // The root entry object (effectively a try statement without a catch
1426
- // or a finally block) gives us a place to store values thrown from
1427
- // locations where there is no enclosing try statement.
1428
- this.tryEntries = [{ tryLoc: "root" }];
1429
- tryLocsList.forEach(pushTryEntry, this);
1430
- this.reset(true);
1431
- }
1432
-
1433
- exports.keys = function(object) {
1434
- var keys = [];
1435
- for (var key in object) {
1436
- keys.push(key);
1437
- }
1438
- keys.reverse();
1439
-
1440
- // Rather than returning an object with a next method, we keep
1441
- // things simple and return the next function itself.
1442
- return function next() {
1443
- while (keys.length) {
1444
- var key = keys.pop();
1445
- if (key in object) {
1446
- next.value = key;
1447
- next.done = false;
1448
- return next;
1449
- }
1450
- }
1451
-
1452
- // To avoid creating an additional object, we just hang the .value
1453
- // and .done properties off the next function object itself. This
1454
- // also ensures that the minifier will not anonymize the function.
1455
- next.done = true;
1456
- return next;
1457
- };
1458
- };
1459
-
1460
- function values(iterable) {
1461
- if (iterable) {
1462
- var iteratorMethod = iterable[iteratorSymbol];
1463
- if (iteratorMethod) {
1464
- return iteratorMethod.call(iterable);
1465
- }
1466
-
1467
- if (typeof iterable.next === "function") {
1468
- return iterable;
1469
- }
1470
-
1471
- if (!isNaN(iterable.length)) {
1472
- var i = -1, next = function next() {
1473
- while (++i < iterable.length) {
1474
- if (hasOwn.call(iterable, i)) {
1475
- next.value = iterable[i];
1476
- next.done = false;
1477
- return next;
1478
- }
1479
- }
1480
-
1481
- next.value = undefined$1;
1482
- next.done = true;
1483
-
1484
- return next;
1485
- };
1486
-
1487
- return next.next = next;
1488
- }
1489
- }
1490
-
1491
- // Return an iterator with no values.
1492
- return { next: doneResult };
1493
- }
1494
- exports.values = values;
1495
-
1496
- function doneResult() {
1497
- return { value: undefined$1, done: true };
1498
- }
1499
-
1500
- Context.prototype = {
1501
- constructor: Context,
1502
-
1503
- reset: function(skipTempReset) {
1504
- this.prev = 0;
1505
- this.next = 0;
1506
- // Resetting context._sent for legacy support of Babel's
1507
- // function.sent implementation.
1508
- this.sent = this._sent = undefined$1;
1509
- this.done = false;
1510
- this.delegate = null;
1511
-
1512
- this.method = "next";
1513
- this.arg = undefined$1;
1514
-
1515
- this.tryEntries.forEach(resetTryEntry);
1516
-
1517
- if (!skipTempReset) {
1518
- for (var name in this) {
1519
- // Not sure about the optimal order of these conditions:
1520
- if (name.charAt(0) === "t" &&
1521
- hasOwn.call(this, name) &&
1522
- !isNaN(+name.slice(1))) {
1523
- this[name] = undefined$1;
1524
- }
1525
- }
1526
- }
1527
- },
1528
-
1529
- stop: function() {
1530
- this.done = true;
1531
-
1532
- var rootEntry = this.tryEntries[0];
1533
- var rootRecord = rootEntry.completion;
1534
- if (rootRecord.type === "throw") {
1535
- throw rootRecord.arg;
1536
- }
1537
-
1538
- return this.rval;
1539
- },
1540
-
1541
- dispatchException: function(exception) {
1542
- if (this.done) {
1543
- throw exception;
1544
- }
1545
-
1546
- var context = this;
1547
- function handle(loc, caught) {
1548
- record.type = "throw";
1549
- record.arg = exception;
1550
- context.next = loc;
1551
-
1552
- if (caught) {
1553
- // If the dispatched exception was caught by a catch block,
1554
- // then let that catch block handle the exception normally.
1555
- context.method = "next";
1556
- context.arg = undefined$1;
1557
- }
1558
-
1559
- return !! caught;
1560
- }
1561
-
1562
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
1563
- var entry = this.tryEntries[i];
1564
- var record = entry.completion;
1565
-
1566
- if (entry.tryLoc === "root") {
1567
- // Exception thrown outside of any try block that could handle
1568
- // it, so set the completion value of the entire function to
1569
- // throw the exception.
1570
- return handle("end");
1571
- }
1572
-
1573
- if (entry.tryLoc <= this.prev) {
1574
- var hasCatch = hasOwn.call(entry, "catchLoc");
1575
- var hasFinally = hasOwn.call(entry, "finallyLoc");
1576
-
1577
- if (hasCatch && hasFinally) {
1578
- if (this.prev < entry.catchLoc) {
1579
- return handle(entry.catchLoc, true);
1580
- } else if (this.prev < entry.finallyLoc) {
1581
- return handle(entry.finallyLoc);
1582
- }
1583
-
1584
- } else if (hasCatch) {
1585
- if (this.prev < entry.catchLoc) {
1586
- return handle(entry.catchLoc, true);
1587
- }
1588
-
1589
- } else if (hasFinally) {
1590
- if (this.prev < entry.finallyLoc) {
1591
- return handle(entry.finallyLoc);
1592
- }
1593
-
1594
- } else {
1595
- throw new Error("try statement without catch or finally");
1596
- }
1597
- }
1598
- }
1599
- },
1600
-
1601
- abrupt: function(type, arg) {
1602
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
1603
- var entry = this.tryEntries[i];
1604
- if (entry.tryLoc <= this.prev &&
1605
- hasOwn.call(entry, "finallyLoc") &&
1606
- this.prev < entry.finallyLoc) {
1607
- var finallyEntry = entry;
1608
- break;
1609
- }
1610
- }
1611
-
1612
- if (finallyEntry &&
1613
- (type === "break" ||
1614
- type === "continue") &&
1615
- finallyEntry.tryLoc <= arg &&
1616
- arg <= finallyEntry.finallyLoc) {
1617
- // Ignore the finally entry if control is not jumping to a
1618
- // location outside the try/catch block.
1619
- finallyEntry = null;
1620
- }
1621
-
1622
- var record = finallyEntry ? finallyEntry.completion : {};
1623
- record.type = type;
1624
- record.arg = arg;
1625
-
1626
- if (finallyEntry) {
1627
- this.method = "next";
1628
- this.next = finallyEntry.finallyLoc;
1629
- return ContinueSentinel;
1630
- }
1631
-
1632
- return this.complete(record);
1633
- },
1634
-
1635
- complete: function(record, afterLoc) {
1636
- if (record.type === "throw") {
1637
- throw record.arg;
1638
- }
1639
-
1640
- if (record.type === "break" ||
1641
- record.type === "continue") {
1642
- this.next = record.arg;
1643
- } else if (record.type === "return") {
1644
- this.rval = this.arg = record.arg;
1645
- this.method = "return";
1646
- this.next = "end";
1647
- } else if (record.type === "normal" && afterLoc) {
1648
- this.next = afterLoc;
1649
- }
1650
-
1651
- return ContinueSentinel;
1652
- },
1653
-
1654
- finish: function(finallyLoc) {
1655
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
1656
- var entry = this.tryEntries[i];
1657
- if (entry.finallyLoc === finallyLoc) {
1658
- this.complete(entry.completion, entry.afterLoc);
1659
- resetTryEntry(entry);
1660
- return ContinueSentinel;
1661
- }
1662
- }
1663
- },
1664
-
1665
- "catch": function(tryLoc) {
1666
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
1667
- var entry = this.tryEntries[i];
1668
- if (entry.tryLoc === tryLoc) {
1669
- var record = entry.completion;
1670
- if (record.type === "throw") {
1671
- var thrown = record.arg;
1672
- resetTryEntry(entry);
1673
- }
1674
- return thrown;
1675
- }
1676
- }
1677
-
1678
- // The context.catch method must only be called with a location
1679
- // argument that corresponds to a known catch block.
1680
- throw new Error("illegal catch attempt");
1681
- },
1682
-
1683
- delegateYield: function(iterable, resultName, nextLoc) {
1684
- this.delegate = {
1685
- iterator: values(iterable),
1686
- resultName: resultName,
1687
- nextLoc: nextLoc
1688
- };
1689
-
1690
- if (this.method === "next") {
1691
- // Deliberately forget the last sent value so that we don't
1692
- // accidentally pass it on to the delegate.
1693
- this.arg = undefined$1;
1694
- }
1695
-
1696
- return ContinueSentinel;
937
+ }, React.createElement(ListItemIcon, null, React.createElement(EditIcon, null)), localization.edit)), renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems({
938
+ row: row,
939
+ tableInstance: tableInstance,
940
+ closeMenu: function closeMenu() {
941
+ return setAnchorEl(null);
1697
942
  }
1698
- };
1699
-
1700
- // Regardless of whether this script is executing as a CommonJS module
1701
- // or not, return the runtime object so that we can declare the variable
1702
- // regeneratorRuntime in the outer scope, which allows this module to be
1703
- // injected easily by `bin/regenerator --include-runtime script.js`.
1704
- return exports;
1705
-
1706
- }(
1707
- // If this script is executing as a CommonJS module, use module.exports
1708
- // as the regeneratorRuntime namespace. Otherwise create a new empty
1709
- // object. Either way, the resulting object will be used to initialize
1710
- // the regeneratorRuntime variable at the top of this file.
1711
- module.exports
1712
- ));
1713
-
1714
- try {
1715
- regeneratorRuntime = runtime;
1716
- } catch (accidentalStrictMode) {
1717
- // This module should not be running in strict mode, so the above
1718
- // assignment should always work unless something is misconfigured. Just
1719
- // in case runtime.js accidentally runs in strict mode, in modern engines
1720
- // we can explicitly access globalThis. In older engines we can escape
1721
- // strict mode using a global Function call. This could conceivably fail
1722
- // if a Content Security Policy forbids using Function, but in that case
1723
- // the proper solution is to fix the accidental strict mode problem. If
1724
- // you've misconfigured your bundler to force strict mode and applied a
1725
- // CSP to forbid Function, and you're not willing to fix either of those
1726
- // problems, please detail your unique predicament in a GitHub issue.
1727
- if (typeof globalThis === "object") {
1728
- globalThis.regeneratorRuntime = runtime;
1729
- } else {
1730
- Function("r", "regeneratorRuntime = r")(runtime);
1731
- }
1732
- }
1733
- });
943
+ }));
944
+ };
1734
945
 
1735
946
  var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1736
947
  var row = _ref.row,
@@ -1741,8 +952,11 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1741
952
  CancelIcon = _tableInstance$option2.CancelIcon,
1742
953
  SaveIcon = _tableInstance$option2.SaveIcon,
1743
954
  localization = _tableInstance$option.localization,
1744
- onRowEditSubmit = _tableInstance$option.onRowEditSubmit,
1745
- setCurrentEditingRow = _tableInstance$option.setCurrentEditingRow;
955
+ onEditSubmit = _tableInstance$option.onEditSubmit,
956
+ setCurrentEditingRow = tableInstance.setCurrentEditingRow;
957
+
958
+ var _getState = getState(),
959
+ currentEditingRow = _getState.currentEditingRow;
1746
960
 
1747
961
  var handleCancel = function handleCancel() {
1748
962
  var _row$original;
@@ -1751,32 +965,13 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1751
965
  setCurrentEditingRow(null);
1752
966
  };
1753
967
 
1754
- var handleSave = /*#__PURE__*/function () {
1755
- var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
1756
- var _getState$currentEdit;
1757
-
1758
- return runtime_1.wrap(function _callee$(_context) {
1759
- while (1) {
1760
- switch (_context.prev = _context.next) {
1761
- case 0:
1762
- _context.next = 2;
1763
- return onRowEditSubmit == null ? void 0 : onRowEditSubmit((_getState$currentEdit = getState().currentEditingRow) != null ? _getState$currentEdit : row);
1764
-
1765
- case 2:
1766
- setCurrentEditingRow(null);
1767
-
1768
- case 3:
1769
- case "end":
1770
- return _context.stop();
1771
- }
1772
- }
1773
- }, _callee);
1774
- }));
1775
-
1776
- return function handleSave() {
1777
- return _ref2.apply(this, arguments);
1778
- };
1779
- }();
968
+ var handleSave = function handleSave() {
969
+ onEditSubmit == null ? void 0 : onEditSubmit({
970
+ row: currentEditingRow != null ? currentEditingRow : row,
971
+ tableInstance: tableInstance
972
+ });
973
+ setCurrentEditingRow(null);
974
+ };
1780
975
 
1781
976
  return React.createElement(Box, {
1782
977
  sx: {
@@ -1814,14 +1009,14 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1814
1009
  tableInstance = _ref.tableInstance;
1815
1010
  var getState = tableInstance.getState,
1816
1011
  _tableInstance$option = tableInstance.options,
1817
- enableRowEditing = _tableInstance$option.enableRowEditing,
1012
+ enableEditing = _tableInstance$option.enableEditing,
1818
1013
  _tableInstance$option2 = _tableInstance$option.icons,
1819
1014
  EditIcon = _tableInstance$option2.EditIcon,
1820
1015
  MoreHorizIcon = _tableInstance$option2.MoreHorizIcon,
1821
1016
  localization = _tableInstance$option.localization,
1822
1017
  renderRowActionMenuItems = _tableInstance$option.renderRowActionMenuItems,
1823
1018
  renderRowActions = _tableInstance$option.renderRowActions,
1824
- setCurrentEditingRow = _tableInstance$option.setCurrentEditingRow;
1019
+ setCurrentEditingRow = tableInstance.setCurrentEditingRow;
1825
1020
 
1826
1021
  var _getState = getState(),
1827
1022
  currentEditingRow = _getState.currentEditingRow;
@@ -1836,21 +1031,24 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1836
1031
  setAnchorEl(event.currentTarget);
1837
1032
  };
1838
1033
 
1839
- var handleEdit = function handleEdit() {
1034
+ var handleStartEditMode = function handleStartEditMode() {
1840
1035
  setCurrentEditingRow(_extends({}, row));
1841
1036
  setAnchorEl(null);
1842
1037
  };
1843
1038
 
1844
- return React.createElement(React.Fragment, null, renderRowActions ? React.createElement(React.Fragment, null, renderRowActions(row, tableInstance)) : row.id === (currentEditingRow == null ? void 0 : currentEditingRow.id) ? React.createElement(MRT_EditActionButtons, {
1039
+ return React.createElement(React.Fragment, null, renderRowActions ? React.createElement(React.Fragment, null, renderRowActions({
1845
1040
  row: row,
1846
1041
  tableInstance: tableInstance
1847
- }) : !renderRowActionMenuItems && enableRowEditing ? React.createElement(Tooltip, {
1042
+ })) : row.id === (currentEditingRow == null ? void 0 : currentEditingRow.id) ? React.createElement(MRT_EditActionButtons, {
1043
+ row: row,
1044
+ tableInstance: tableInstance
1045
+ }) : !renderRowActionMenuItems && enableEditing ? React.createElement(Tooltip, {
1848
1046
  placement: "right",
1849
1047
  arrow: true,
1850
1048
  title: localization.edit
1851
1049
  }, React.createElement(IconButton, {
1852
1050
  sx: commonIconButtonStyles,
1853
- onClick: handleEdit
1051
+ onClick: handleStartEditMode
1854
1052
  }, React.createElement(EditIcon, null))) : renderRowActionMenuItems ? React.createElement(React.Fragment, null, React.createElement(Tooltip, {
1855
1053
  arrow: true,
1856
1054
  enterDelay: 1000,
@@ -1863,7 +1061,7 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1863
1061
  sx: commonIconButtonStyles
1864
1062
  }, React.createElement(MoreHorizIcon, null))), React.createElement(MRT_RowActionMenu, {
1865
1063
  anchorEl: anchorEl,
1866
- handleEdit: handleEdit,
1064
+ handleEdit: handleStartEditMode,
1867
1065
  row: row,
1868
1066
  setAnchorEl: setAnchorEl,
1869
1067
  tableInstance: tableInstance
@@ -1893,18 +1091,31 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1893
1091
  var _getToggleAllRowsSele;
1894
1092
 
1895
1093
  getToggleAllRowsSelectedProps == null ? void 0 : (_getToggleAllRowsSele = getToggleAllRowsSelectedProps()) == null ? void 0 : _getToggleAllRowsSele.onChange == null ? void 0 : _getToggleAllRowsSele.onChange(event);
1896
- onSelectAllChange == null ? void 0 : onSelectAllChange(event, event.target.checked ? getRowModel().flatRows : []);
1094
+ onSelectAllChange == null ? void 0 : onSelectAllChange({
1095
+ event: event,
1096
+ selectedRows: event.target.checked ? getRowModel().flatRows : [],
1097
+ tableInstance: tableInstance
1098
+ });
1897
1099
  } else if (row) {
1898
1100
  var _row$getToggleSelecte;
1899
1101
 
1900
1102
  row == null ? void 0 : (_row$getToggleSelecte = row.getToggleSelectedProps()) == null ? void 0 : _row$getToggleSelecte.onChange == null ? void 0 : _row$getToggleSelecte.onChange(event);
1901
- onSelectChange == null ? void 0 : onSelectChange(event, row, event.target.checked ? [].concat(getSelectedRowModel().flatRows, [row]) : getSelectedRowModel().flatRows.filter(function (selectedRow) {
1902
- return selectedRow.id !== row.id;
1903
- }));
1103
+ onSelectChange == null ? void 0 : onSelectChange({
1104
+ event: event,
1105
+ row: row,
1106
+ selectedRows: event.target.checked ? [].concat(getSelectedRowModel().flatRows, [row]) : getSelectedRowModel().flatRows.filter(function (selectedRow) {
1107
+ return selectedRow.id !== row.id;
1108
+ }),
1109
+ tableInstance: tableInstance
1110
+ });
1904
1111
  }
1905
1112
  };
1906
1113
 
1907
- var mTableBodyRowSelectCheckboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps(selectAll, row, tableInstance) : muiSelectCheckboxProps;
1114
+ var mTableBodyRowSelectCheckboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1115
+ isSelectAll: !!selectAll,
1116
+ row: row,
1117
+ tableInstance: tableInstance
1118
+ }) : muiSelectCheckboxProps;
1908
1119
  var rtSelectCheckboxProps = selectAll ? getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleSelectedProps();
1909
1120
 
1910
1121
  var checkboxProps = _extends({}, rtSelectCheckboxProps, mTableBodyRowSelectCheckboxProps);
@@ -1945,7 +1156,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1945
1156
 
1946
1157
  var _getState = getState(),
1947
1158
  globalFilter = _getState.globalFilter,
1948
- showSearch = _getState.showSearch;
1159
+ showGlobalFilter = _getState.showGlobalFilter;
1949
1160
 
1950
1161
  var _useState = useState(null),
1951
1162
  anchorEl = _useState[0],
@@ -1959,7 +1170,10 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1959
1170
  var _event$target$value;
1960
1171
 
1961
1172
  setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1962
- onGlobalFilterChange == null ? void 0 : onGlobalFilterChange(event);
1173
+ onGlobalFilterChange == null ? void 0 : onGlobalFilterChange({
1174
+ event: event,
1175
+ tableInstance: tableInstance
1176
+ });
1963
1177
  }, 200), []);
1964
1178
 
1965
1179
  var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
@@ -1971,8 +1185,11 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1971
1185
  setGlobalFilter(undefined);
1972
1186
  };
1973
1187
 
1188
+ var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1189
+ tableInstance: tableInstance
1190
+ }) : muiSearchTextFieldProps;
1974
1191
  return React.createElement(Collapse, {
1975
- "in": showSearch,
1192
+ "in": showGlobalFilter,
1976
1193
  orientation: "horizontal"
1977
1194
  }, React.createElement(TextField, Object.assign({
1978
1195
  id: "mrt-" + idPrefix + "-search-text-field",
@@ -2012,10 +1229,10 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
2012
1229
  fontSize: "small"
2013
1230
  })))
2014
1231
  }
2015
- }, muiSearchTextFieldProps, {
1232
+ }, textFieldProps, {
2016
1233
  sx: _extends({
2017
1234
  justifySelf: 'end'
2018
- }, muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.sx)
1235
+ }, textFieldProps == null ? void 0 : textFieldProps.sx)
2019
1236
  })), React.createElement(MRT_FilterTypeMenu, {
2020
1237
  anchorEl: anchorEl,
2021
1238
  setAnchorEl: setAnchorEl,
@@ -2034,19 +1251,27 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
2034
1251
  FullscreenExitIcon = _tableInstance$option2.FullscreenExitIcon,
2035
1252
  FullscreenIcon = _tableInstance$option2.FullscreenIcon,
2036
1253
  localization = _tableInstance$option.localization,
2037
- setIsFullScreen = _tableInstance$option.setIsFullScreen;
1254
+ onToggleFullScreen = _tableInstance$option.onToggleFullScreen,
1255
+ setIsFullScreen = tableInstance.setIsFullScreen;
2038
1256
 
2039
1257
  var _getState = getState(),
2040
1258
  isFullScreen = _getState.isFullScreen;
2041
1259
 
1260
+ var handleToggleFullScreen = function handleToggleFullScreen(event) {
1261
+ onToggleFullScreen == null ? void 0 : onToggleFullScreen({
1262
+ event: event,
1263
+ isFullScreen: !isFullScreen,
1264
+ tableInstance: tableInstance
1265
+ });
1266
+ setIsFullScreen(!isFullScreen);
1267
+ };
1268
+
2042
1269
  return React.createElement(Tooltip, {
2043
1270
  arrow: true,
2044
1271
  title: localization.toggleFullScreen
2045
1272
  }, React.createElement(IconButton, Object.assign({
2046
1273
  "aria-label": localization.showHideFilters,
2047
- onClick: function onClick() {
2048
- return setIsFullScreen(!isFullScreen);
2049
- },
1274
+ onClick: handleToggleFullScreen,
2050
1275
  size: "small"
2051
1276
  }, rest), isFullScreen ? React.createElement(FullscreenExitIcon, null) : React.createElement(FullscreenIcon, null)));
2052
1277
  };
@@ -2093,19 +1318,27 @@ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
2093
1318
  DensityMediumIcon = _tableInstance$option2.DensityMediumIcon,
2094
1319
  DensitySmallIcon = _tableInstance$option2.DensitySmallIcon,
2095
1320
  localization = _tableInstance$option.localization,
2096
- setIsDensePadding = _tableInstance$option.setIsDensePadding;
1321
+ onToggleDensePadding = _tableInstance$option.onToggleDensePadding,
1322
+ setIsDensePadding = tableInstance.setIsDensePadding;
2097
1323
 
2098
1324
  var _getState = getState(),
2099
1325
  isDensePadding = _getState.isDensePadding;
2100
1326
 
1327
+ var handleToggleDensePadding = function handleToggleDensePadding(event) {
1328
+ onToggleDensePadding == null ? void 0 : onToggleDensePadding({
1329
+ event: event,
1330
+ isDensePadding: !isDensePadding,
1331
+ tableInstance: tableInstance
1332
+ });
1333
+ setIsDensePadding(!isDensePadding);
1334
+ };
1335
+
2101
1336
  return React.createElement(Tooltip, {
2102
1337
  arrow: true,
2103
1338
  title: localization.toggleDensePadding
2104
1339
  }, React.createElement(IconButton, Object.assign({
2105
1340
  "aria-label": localization.toggleDensePadding,
2106
- onClick: function onClick() {
2107
- return setIsDensePadding(!isDensePadding);
2108
- },
1341
+ onClick: handleToggleDensePadding,
2109
1342
  size: "small"
2110
1343
  }, rest), isDensePadding ? React.createElement(DensitySmallIcon, null) : React.createElement(DensityMediumIcon, null)));
2111
1344
  };
@@ -2121,25 +1354,33 @@ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
2121
1354
  FilterListIcon = _tableInstance$option2.FilterListIcon,
2122
1355
  FilterListOffIcon = _tableInstance$option2.FilterListOffIcon,
2123
1356
  localization = _tableInstance$option.localization,
2124
- setShowFilters = _tableInstance$option.setShowFilters;
1357
+ onToggleShowFilters = _tableInstance$option.onToggleShowFilters,
1358
+ setShowFilters = tableInstance.setShowFilters;
2125
1359
 
2126
1360
  var _getState = getState(),
2127
1361
  showFilters = _getState.showFilters;
2128
1362
 
1363
+ var handleToggleShowFilters = function handleToggleShowFilters(event) {
1364
+ onToggleShowFilters == null ? void 0 : onToggleShowFilters({
1365
+ event: event,
1366
+ showFilters: !showFilters,
1367
+ tableInstance: tableInstance
1368
+ });
1369
+ setShowFilters(!showFilters);
1370
+ };
1371
+
2129
1372
  return React.createElement(Tooltip, {
2130
1373
  arrow: true,
2131
1374
  title: localization.showHideFilters
2132
1375
  }, React.createElement(IconButton, Object.assign({
2133
1376
  "aria-label": localization.showHideFilters,
2134
- onClick: function onClick() {
2135
- return setShowFilters(!showFilters);
2136
- },
1377
+ onClick: handleToggleShowFilters,
2137
1378
  size: "small"
2138
1379
  }, rest), showFilters ? React.createElement(FilterListOffIcon, null) : React.createElement(FilterListIcon, null)));
2139
1380
  };
2140
1381
 
2141
1382
  var _excluded$4 = ["tableInstance"];
2142
- var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
1383
+ var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
2143
1384
  var tableInstance = _ref.tableInstance,
2144
1385
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
2145
1386
 
@@ -2151,17 +1392,27 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
2151
1392
  idPrefix = _tableInstance$option.idPrefix,
2152
1393
  localization = _tableInstance$option.localization,
2153
1394
  muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
2154
- setShowSearch = _tableInstance$option.setShowSearch;
1395
+ onToggleShowGlobalFilter = _tableInstance$option.onToggleShowGlobalFilter,
1396
+ setShowGlobalFilter = tableInstance.setShowGlobalFilter;
2155
1397
 
2156
1398
  var _getState = getState(),
2157
- showSearch = _getState.showSearch;
1399
+ showGlobalFilter = _getState.showGlobalFilter;
2158
1400
 
2159
- var handleToggleSearch = function handleToggleSearch() {
2160
- setShowSearch(!showSearch);
1401
+ var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1402
+ tableInstance: tableInstance
1403
+ }) : muiSearchTextFieldProps;
1404
+
1405
+ var handleToggleSearch = function handleToggleSearch(event) {
1406
+ onToggleShowGlobalFilter == null ? void 0 : onToggleShowGlobalFilter({
1407
+ event: event,
1408
+ showGlobalFilter: !showGlobalFilter,
1409
+ tableInstance: tableInstance
1410
+ });
1411
+ setShowGlobalFilter(!showGlobalFilter);
2161
1412
  setTimeout(function () {
2162
- var _document$getElementB, _muiSearchTextFieldPr;
1413
+ var _document$getElementB, _textFieldProps$id;
2163
1414
 
2164
- return (_document$getElementB = document.getElementById((_muiSearchTextFieldPr = muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.id) != null ? _muiSearchTextFieldPr : "mrt-" + idPrefix + "-search-text-field")) == null ? void 0 : _document$getElementB.focus();
1415
+ return (_document$getElementB = document.getElementById((_textFieldProps$id = textFieldProps == null ? void 0 : textFieldProps.id) != null ? _textFieldProps$id : "mrt-" + idPrefix + "-search-text-field")) == null ? void 0 : _document$getElementB.focus();
2165
1416
  }, 200);
2166
1417
  };
2167
1418
 
@@ -2171,26 +1422,28 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
2171
1422
  }, React.createElement(IconButton, Object.assign({
2172
1423
  size: "small",
2173
1424
  onClick: handleToggleSearch
2174
- }, rest), showSearch ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
1425
+ }, rest), showGlobalFilter ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
2175
1426
  };
2176
1427
 
2177
1428
  var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
2178
1429
  var tableInstance = _ref.tableInstance;
2179
1430
  var _tableInstance$option = tableInstance.options,
2180
1431
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
2181
- enableHiding = _tableInstance$option.enableHiding,
2182
1432
  enableDensePaddingToggle = _tableInstance$option.enableDensePaddingToggle,
2183
- enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1433
+ enableFilters = _tableInstance$option.enableFilters,
2184
1434
  enableFullScreenToggle = _tableInstance$option.enableFullScreenToggle,
1435
+ enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1436
+ enableHiding = _tableInstance$option.enableHiding,
2185
1437
  renderToolbarInternalActions = _tableInstance$option.renderToolbarInternalActions;
2186
1438
 
2187
1439
  if (renderToolbarInternalActions) {
2188
- return React.createElement(React.Fragment, null, renderToolbarInternalActions(tableInstance, {
2189
- MRT_ToggleSearchButton: MRT_ToggleSearchButton,
2190
- MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1440
+ return React.createElement(React.Fragment, null, renderToolbarInternalActions({
1441
+ MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
2191
1442
  MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
2192
1443
  MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
2193
- MRT_FullScreenToggleButton: MRT_FullScreenToggleButton
1444
+ MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1445
+ MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1446
+ tableInstance: tableInstance
2194
1447
  }));
2195
1448
  }
2196
1449
 
@@ -2201,9 +1454,9 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
2201
1454
  alignItems: 'center',
2202
1455
  p: '0 0.5rem'
2203
1456
  }
2204
- }, enableGlobalFilter && React.createElement(MRT_ToggleSearchButton, {
1457
+ }, enableFilters && enableGlobalFilter && React.createElement(MRT_ToggleGlobalFilterButton, {
2205
1458
  tableInstance: tableInstance
2206
- }), enableColumnFilters && React.createElement(MRT_ToggleFiltersButton, {
1459
+ }), enableFilters && enableColumnFilters && React.createElement(MRT_ToggleFiltersButton, {
2207
1460
  tableInstance: tableInstance
2208
1461
  }), enableHiding && React.createElement(MRT_ShowHideColumnsButton, {
2209
1462
  tableInstance: tableInstance
@@ -2229,7 +1482,9 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
2229
1482
  _getState$pagination$2 = _getState$pagination.pageIndex,
2230
1483
  pageIndex = _getState$pagination$2 === void 0 ? 0 : _getState$pagination$2;
2231
1484
 
2232
- var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps(tableInstance) : muiTablePaginationProps;
1485
+ var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps({
1486
+ tableInstance: tableInstance
1487
+ }) : muiTablePaginationProps;
2233
1488
 
2234
1489
  var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
2235
1490
  setPageSize(+event.target.value);
@@ -2237,6 +1492,16 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
2237
1492
 
2238
1493
  var showFirstLastPageButtons = getPrePaginationRowModel().rows.length / pageSize > 2;
2239
1494
  return React.createElement(TablePagination, Object.assign({
1495
+ SelectProps: {
1496
+ sx: {
1497
+ m: '0 1rem 0 1ch'
1498
+ },
1499
+ MenuProps: {
1500
+ MenuListProps: {
1501
+ disablePadding: true
1502
+ }
1503
+ }
1504
+ },
2240
1505
  component: "div",
2241
1506
  count: getPrePaginationRowModel().rows.length,
2242
1507
  onPageChange: function onPageChange(_, newPage) {
@@ -2245,11 +1510,7 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
2245
1510
  onRowsPerPageChange: handleChangeRowsPerPage,
2246
1511
  page: pageIndex,
2247
1512
  rowsPerPage: pageSize,
2248
- SelectProps: {
2249
- sx: {
2250
- m: '0 1rem 0 1ch'
2251
- }
2252
- },
1513
+ rowsPerPageOptions: [5, 10, 15, 20, 25, 30, 50, 100],
2253
1514
  showFirstButton: showFirstLastPageButtons,
2254
1515
  showLastButton: showFirstLastPageButtons
2255
1516
  }, tablePaginationProps, {
@@ -2280,7 +1541,9 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
2280
1541
  grouping = _getState.grouping;
2281
1542
 
2282
1543
  var isMobile = useMediaQuery('(max-width:720px)');
2283
- var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps(tableInstance) : muiTableToolbarAlertBannerProps;
1544
+ var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps({
1545
+ tableInstance: tableInstance
1546
+ }) : muiTableToolbarAlertBannerProps;
2284
1547
  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;
2285
1548
  var groupedByMessage = grouping.length > 0 ? React.createElement("span", null, localization.groupedBy, ' ', grouping.map(function (columnId, index) {
2286
1549
  var _tableInstance$getAll;
@@ -2320,7 +1583,7 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
2320
1583
  sx: {
2321
1584
  p: '0.5rem 1rem'
2322
1585
  }
2323
- }, selectMessage, groupedByMessage)));
1586
+ }, selectMessage, React.createElement("br", null), groupedByMessage)));
2324
1587
  };
2325
1588
 
2326
1589
  var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
@@ -2329,7 +1592,9 @@ var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
2329
1592
  muiLinearProgressProps = _tableInstance$option.muiLinearProgressProps,
2330
1593
  isReloading = _tableInstance$option.isReloading,
2331
1594
  isLoading = _tableInstance$option.isLoading;
2332
- var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
1595
+ var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps({
1596
+ tableInstance: tableInstance
1597
+ }) : muiLinearProgressProps;
2333
1598
  return React.createElement(Collapse, {
2334
1599
  "in": isReloading || isLoading,
2335
1600
  unmountOnExit: true
@@ -2369,7 +1634,9 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
2369
1634
  var _getState = getState(),
2370
1635
  isFullScreen = _getState.isFullScreen;
2371
1636
 
2372
- var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps(tableInstance) : muiTableToolbarTopProps;
1637
+ var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps({
1638
+ tableInstance: tableInstance
1639
+ }) : muiTableToolbarTopProps;
2373
1640
  return React.createElement(Toolbar, Object.assign({
2374
1641
  id: "mrt-" + idPrefix + "-toolbar-top",
2375
1642
  variant: "dense"
@@ -2390,7 +1657,9 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
2390
1657
  display: 'flex',
2391
1658
  justifyContent: 'space-between'
2392
1659
  }
2393
- }, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions(tableInstance)) != null ? _renderToolbarCustomA : React.createElement("span", null), React.createElement(Box, {
1660
+ }, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions({
1661
+ tableInstance: tableInstance
1662
+ })) != null ? _renderToolbarCustomA : React.createElement("span", null), React.createElement(Box, {
2394
1663
  sx: {
2395
1664
  display: 'flex',
2396
1665
  gap: '0.5rem',
@@ -2423,7 +1692,9 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
2423
1692
  var _getState = getState(),
2424
1693
  isFullScreen = _getState.isFullScreen;
2425
1694
 
2426
- var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps(tableInstance) : muiTableToolbarBottomProps;
1695
+ var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps({
1696
+ tableInstance: tableInstance
1697
+ }) : muiTableToolbarBottomProps;
2427
1698
  return React.createElement(Toolbar, Object.assign({
2428
1699
  id: "mrt-" + idPrefix + "-toolbar-bottom",
2429
1700
  variant: "dense"
@@ -2467,7 +1738,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2467
1738
  idPrefix = _tableInstance$option.idPrefix,
2468
1739
  localization = _tableInstance$option.localization,
2469
1740
  muiTableHeadCellFilterTextFieldProps = _tableInstance$option.muiTableHeadCellFilterTextFieldProps,
2470
- setCurrentFilterTypes = _tableInstance$option.setCurrentFilterTypes;
1741
+ setCurrentFilterTypes = tableInstance.setCurrentFilterTypes;
2471
1742
  var column = header.column;
2472
1743
 
2473
1744
  var _getState = getState(),
@@ -2477,8 +1748,14 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2477
1748
  anchorEl = _useState[0],
2478
1749
  setAnchorEl = _useState[1];
2479
1750
 
2480
- var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps(column) : muiTableHeadCellFilterTextFieldProps;
2481
- var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps(column) : column.muiTableHeadCellFilterTextFieldProps;
1751
+ var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps({
1752
+ column: column,
1753
+ tableInstance: tableInstance
1754
+ }) : muiTableHeadCellFilterTextFieldProps;
1755
+ var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps({
1756
+ column: column,
1757
+ tableInstance: tableInstance
1758
+ }) : column.muiTableHeadCellFilterTextFieldProps;
2482
1759
 
2483
1760
  var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
2484
1761
 
@@ -2655,8 +1932,14 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2655
1932
  setAnchorEl(event.currentTarget);
2656
1933
  };
2657
1934
 
2658
- var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps(column) : muiTableHeadCellColumnActionsButtonProps;
2659
- var mcTableHeadCellColumnActionsButtonProps = column.muiTableHeadCellColumnActionsButtonProps instanceof Function ? column.muiTableHeadCellColumnActionsButtonProps(column) : column.muiTableHeadCellColumnActionsButtonProps;
1935
+ var mTableHeadCellColumnActionsButtonProps = muiTableHeadCellColumnActionsButtonProps instanceof Function ? muiTableHeadCellColumnActionsButtonProps({
1936
+ column: column,
1937
+ tableInstance: tableInstance
1938
+ }) : muiTableHeadCellColumnActionsButtonProps;
1939
+ var mcTableHeadCellColumnActionsButtonProps = column.muiTableHeadCellColumnActionsButtonProps instanceof Function ? column.muiTableHeadCellColumnActionsButtonProps({
1940
+ column: column,
1941
+ tableInstance: tableInstance
1942
+ }) : column.muiTableHeadCellColumnActionsButtonProps;
2660
1943
 
2661
1944
  var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
2662
1945
 
@@ -2691,7 +1974,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2691
1974
  };
2692
1975
 
2693
1976
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2694
- var _column$Header;
1977
+ var _getState2, _getState2$currentFil, _column$Header;
2695
1978
 
2696
1979
  var header = _ref.header,
2697
1980
  tableInstance = _ref.tableInstance;
@@ -2705,41 +1988,28 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2705
1988
  FilterAltOff = _tableInstance$option2.FilterAltOff,
2706
1989
  localization = _tableInstance$option.localization,
2707
1990
  muiTableHeadCellProps = _tableInstance$option.muiTableHeadCellProps,
2708
- setShowFilters = _tableInstance$option.setShowFilters;
1991
+ setShowFilters = tableInstance.setShowFilters;
2709
1992
 
2710
1993
  var _getState = getState(),
2711
1994
  isDensePadding = _getState.isDensePadding,
2712
1995
  showFilters = _getState.showFilters;
2713
1996
 
2714
1997
  var column = header.column;
2715
- var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
2716
- var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
1998
+ var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps({
1999
+ column: column,
2000
+ tableInstance: tableInstance
2001
+ }) : muiTableHeadCellProps;
2002
+ var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps({
2003
+ column: column,
2004
+ tableInstance: tableInstance
2005
+ }) : column.muiTableHeadCellProps;
2717
2006
 
2718
2007
  var tableCellProps = _extends({}, header.getHeaderProps(), mTableHeadCellProps, mcTableHeadCellProps);
2719
2008
 
2720
- var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.clearSort : localization.sortByColumnDesc.replace('{column}', column.header) : localization.sortByColumnAsc.replace('{column}', column.header); // const filterType = getState()?.currentFilterTypes?.[id];
2721
-
2722
- var filterTooltip = ''; // !!getColumnFilterValue()
2723
- // ? localization.filteringByColumn
2724
- // .replace('{column}', String(headerString))
2725
- // .replace(
2726
- // '{filterType}',
2727
- // filterType instanceof Function
2728
- // ? ''
2729
- // : // @ts-ignore
2730
- // localization[
2731
- // `filter${
2732
- // filterType.charAt(0).toUpperCase() + filterType.slice(1)
2733
- // }`
2734
- // ],
2735
- // )
2736
- // .replace(
2737
- // '{filterValue}',
2738
- // getColumnFilterValue() as string,
2739
- // )
2740
- // .replace('" "', '')
2741
- // : localization.showHideFilters;
2742
-
2009
+ var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.clearSort : localization.sortByColumnDesc.replace('{column}', column.header) : localization.sortByColumnAsc.replace('{column}', column.header);
2010
+ var filterType = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterTypes) == null ? void 0 : _getState2$currentFil[header.id];
2011
+ var filterTooltip = !!column.getColumnFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.header)).replace('{filterType}', filterType instanceof Function ? '' : // @ts-ignore
2012
+ localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))]).replace('{filterValue}', column.getColumnFilterValue()).replace('" "', '') : localization.showHideFilters;
2743
2013
  var headerElement = (_column$Header = column == null ? void 0 : column.Header == null ? void 0 : column.Header({
2744
2014
  header: header,
2745
2015
  tableInstance: tableInstance
@@ -2860,7 +2130,10 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2860
2130
  var headerGroup = _ref.headerGroup,
2861
2131
  tableInstance = _ref.tableInstance;
2862
2132
  var muiTableHeadRowProps = tableInstance.options.muiTableHeadRowProps;
2863
- var mTableHeadRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps(headerGroup) : muiTableHeadRowProps;
2133
+ var mTableHeadRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2134
+ headerGroup: headerGroup,
2135
+ tableInstance: tableInstance
2136
+ }) : muiTableHeadRowProps;
2864
2137
 
2865
2138
  var tableRowProps = _extends({}, headerGroup == null ? void 0 : headerGroup.getHeaderGroupProps(), mTableHeadRowProps);
2866
2139
 
@@ -2881,7 +2154,9 @@ var MRT_TableHead = function MRT_TableHead(_ref) {
2881
2154
  getLeftHeaderGroups = tableInstance.getLeftHeaderGroups,
2882
2155
  getRightHeaderGroups = tableInstance.getRightHeaderGroups,
2883
2156
  muiTableHeadProps = tableInstance.options.muiTableHeadProps;
2884
- var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps(tableInstance) : muiTableHeadProps;
2157
+ var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps({
2158
+ tableInstance: tableInstance
2159
+ }) : muiTableHeadProps;
2885
2160
  var getHeaderGroupsMap = {
2886
2161
  center: getCenterHeaderGroups,
2887
2162
  left: getLeftHeaderGroups,
@@ -2901,36 +2176,67 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2901
2176
  var cell = _ref.cell,
2902
2177
  tableInstance = _ref.tableInstance;
2903
2178
  var getState = tableInstance.getState,
2904
- muiTableBodyCellEditTextFieldProps = tableInstance.options.muiTableBodyCellEditTextFieldProps;
2179
+ _tableInstance$option = tableInstance.options,
2180
+ enableEditing = _tableInstance$option.enableEditing,
2181
+ muiTableBodyCellEditTextFieldProps = _tableInstance$option.muiTableBodyCellEditTextFieldProps,
2182
+ setCurrentEditingRow = tableInstance.setCurrentEditingRow;
2183
+
2184
+ var _useState = useState(cell.value),
2185
+ value = _useState[0],
2186
+ setValue = _useState[1];
2187
+
2905
2188
  var column = cell.column,
2906
2189
  row = cell.row;
2907
2190
 
2908
2191
  var handleChange = function handleChange(event) {
2192
+ setValue(event.target.value);
2193
+ column.onCellEditChange == null ? void 0 : column.onCellEditChange({
2194
+ event: event,
2195
+ cell: cell,
2196
+ tableInstance: tableInstance
2197
+ });
2198
+ };
2199
+
2200
+ var handleBlur = function handleBlur(event) {
2909
2201
  if (getState().currentEditingRow) {
2910
- row.values[column.id] = event.target.value; // setCurrentEditingRow({
2911
- // ...getState().currentEditingRow,
2912
- // });
2202
+ row.values[column.id] = value;
2203
+ setCurrentEditingRow(_extends({}, getState().currentEditingRow));
2913
2204
  }
2914
2205
 
2915
- column.onCellEditChange == null ? void 0 : column.onCellEditChange(event, cell);
2206
+ column.onCellEditBlur == null ? void 0 : column.onCellEditBlur({
2207
+ event: event,
2208
+ cell: cell,
2209
+ tableInstance: tableInstance
2210
+ });
2916
2211
  };
2917
2212
 
2918
- var mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function ? muiTableBodyCellEditTextFieldProps(cell) : muiTableBodyCellEditTextFieldProps;
2919
- var mcTableBodyCellEditTextFieldProps = column.muiTableBodyCellEditTextFieldProps instanceof Function ? column.muiTableBodyCellEditTextFieldProps(cell) : column.muiTableBodyCellEditTextFieldProps;
2213
+ var mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function ? muiTableBodyCellEditTextFieldProps({
2214
+ cell: cell,
2215
+ tableInstance: tableInstance
2216
+ }) : muiTableBodyCellEditTextFieldProps;
2217
+ var mcTableBodyCellEditTextFieldProps = column.muiTableBodyCellEditTextFieldProps instanceof Function ? column.muiTableBodyCellEditTextFieldProps({
2218
+ cell: cell,
2219
+ tableInstance: tableInstance
2220
+ }) : column.muiTableBodyCellEditTextFieldProps;
2920
2221
 
2921
- var textFieldProps = _extends({}, mTableBodyCellEditTextFieldProps, mcTableBodyCellEditTextFieldProps); // if (enableEditing && Edit) {
2922
- // return <>{Edit({ ...textFieldProps, cell })}</>;
2923
- // }
2222
+ var textFieldProps = _extends({}, mTableBodyCellEditTextFieldProps, mcTableBodyCellEditTextFieldProps);
2924
2223
 
2224
+ if (enableEditing && column.enableEditing !== false && column.Edit) {
2225
+ return React.createElement(React.Fragment, null, column.Edit == null ? void 0 : column.Edit({
2226
+ cell: cell,
2227
+ tableInstance: tableInstance
2228
+ }));
2229
+ }
2925
2230
 
2926
2231
  return React.createElement(TextField, Object.assign({
2927
2232
  margin: "dense",
2233
+ onBlur: handleBlur,
2928
2234
  onChange: handleChange,
2929
2235
  onClick: function onClick(e) {
2930
2236
  return e.stopPropagation();
2931
2237
  },
2932
2238
  placeholder: column.header,
2933
- value: cell.value,
2239
+ value: value,
2934
2240
  variant: "standard"
2935
2241
  }, textFieldProps));
2936
2242
  };
@@ -2955,8 +2261,14 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2955
2261
  }, 4000);
2956
2262
  };
2957
2263
 
2958
- var mTableBodyCellCopyButtonProps = muiTableBodyCellCopyButtonProps instanceof Function ? muiTableBodyCellCopyButtonProps(cell) : muiTableBodyCellCopyButtonProps;
2959
- var mcTableBodyCellCopyButtonProps = cell.column.muiTableBodyCellCopyButtonProps instanceof Function ? cell.column.muiTableBodyCellCopyButtonProps(cell) : cell.column.muiTableBodyCellCopyButtonProps;
2264
+ var mTableBodyCellCopyButtonProps = muiTableBodyCellCopyButtonProps instanceof Function ? muiTableBodyCellCopyButtonProps({
2265
+ cell: cell,
2266
+ tableInstance: tableInstance
2267
+ }) : muiTableBodyCellCopyButtonProps;
2268
+ var mcTableBodyCellCopyButtonProps = cell.column.muiTableBodyCellCopyButtonProps instanceof Function ? cell.column.muiTableBodyCellCopyButtonProps({
2269
+ cell: cell,
2270
+ tableInstance: tableInstance
2271
+ }) : cell.column.muiTableBodyCellCopyButtonProps;
2960
2272
 
2961
2273
  var buttonProps = _extends({}, mTableBodyCellCopyButtonProps, mcTableBodyCellCopyButtonProps);
2962
2274
 
@@ -2990,7 +2302,7 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2990
2302
  };
2991
2303
 
2992
2304
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2993
- var _row$subRows, _row$subRows2;
2305
+ var _cell$column$Cell, _cell$column, _row$subRows, _cell$column$Cell2, _cell$column2, _row$subRows2;
2994
2306
 
2995
2307
  var cell = _ref.cell,
2996
2308
  tableInstance = _ref.tableInstance;
@@ -2998,7 +2310,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2998
2310
  getState = tableInstance.getState,
2999
2311
  _tableInstance$option = tableInstance.options,
3000
2312
  enableClickToCopy = _tableInstance$option.enableClickToCopy,
3001
- enableColumnPinning = _tableInstance$option.enableColumnPinning,
2313
+ enablePinning = _tableInstance$option.enablePinning,
2314
+ enableEditing = _tableInstance$option.enableEditing,
3002
2315
  isLoading = _tableInstance$option.isLoading,
3003
2316
  muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
3004
2317
  muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
@@ -3010,8 +2323,14 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
3010
2323
 
3011
2324
  var column = cell.column,
3012
2325
  row = cell.row;
3013
- var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps(cell) : muiTableBodyCellProps;
3014
- var mcTableCellBodyProps = column.muiTableBodyCellProps instanceof Function ? column.muiTableBodyCellProps(cell) : column.muiTableBodyCellProps;
2326
+ var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps({
2327
+ cell: cell,
2328
+ tableInstance: tableInstance
2329
+ }) : muiTableBodyCellProps;
2330
+ var mcTableCellBodyProps = column.muiTableBodyCellProps instanceof Function ? column.muiTableBodyCellProps({
2331
+ cell: cell,
2332
+ tableInstance: tableInstance
2333
+ }) : column.muiTableBodyCellProps;
3015
2334
 
3016
2335
  var tableCellProps = _extends({}, cell.getCellProps(), mTableCellBodyProps, mcTableCellBodyProps);
3017
2336
 
@@ -3020,14 +2339,18 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
3020
2339
  }, [column.columnDefType, column.getWidth()]);
3021
2340
  return React.createElement(TableCell, Object.assign({
3022
2341
  onClick: function onClick(event) {
3023
- return onCellClick == null ? void 0 : onCellClick(event, cell);
2342
+ return onCellClick == null ? void 0 : onCellClick({
2343
+ event: event,
2344
+ cell: cell,
2345
+ tableInstance: tableInstance
2346
+ });
3024
2347
  }
3025
2348
  }, tableCellProps, {
3026
2349
  sx: _extends({
3027
2350
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
3028
2351
  pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
3029
2352
  transition: 'all 0.2s ease-in-out',
3030
- whiteSpace: isDensePadding || enableColumnPinning && getIsSomeColumnsPinned() ? 'nowrap' : 'normal'
2353
+ whiteSpace: isDensePadding || enablePinning && getIsSomeColumnsPinned() ? 'nowrap' : 'normal'
3031
2354
  }, tableCellProps == null ? void 0 : tableCellProps.sx)
3032
2355
  }), isLoading ? React.createElement(Skeleton, Object.assign({
3033
2356
  animation: "wave",
@@ -3036,13 +2359,19 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
3036
2359
  }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.Cell == null ? void 0 : column.Cell({
3037
2360
  cell: cell,
3038
2361
  tableInstance: tableInstance
3039
- }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : column.enableEditing && (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id ? React.createElement(MRT_EditCellTextField, {
2362
+ }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : enableEditing && column.enableEditing !== false && (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id ? React.createElement(MRT_EditCellTextField, {
3040
2363
  cell: cell,
3041
2364
  tableInstance: tableInstance
3042
2365
  }) : (enableClickToCopy || column.enableClickToCopy) && column.enableClickToCopy !== false ? React.createElement(React.Fragment, null, React.createElement(MRT_CopyButton, {
3043
2366
  cell: cell,
3044
2367
  tableInstance: tableInstance
3045
- }, cell.renderCell()), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React.createElement(React.Fragment, null, cell.renderCell(), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length, ")")));
2368
+ }, (_cell$column$Cell = (_cell$column = cell.column) == null ? void 0 : _cell$column.Cell == null ? void 0 : _cell$column.Cell({
2369
+ cell: cell,
2370
+ tableInstance: tableInstance
2371
+ })) != null ? _cell$column$Cell : cell.renderCell()), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React.createElement(React.Fragment, null, (_cell$column$Cell2 = (_cell$column2 = cell.column) == null ? void 0 : _cell$column2.Cell == null ? void 0 : _cell$column2.Cell({
2372
+ cell: cell,
2373
+ tableInstance: tableInstance
2374
+ })) != null ? _cell$column$Cell2 : cell.renderCell(), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length, ")")));
3046
2375
  };
3047
2376
 
3048
2377
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -3054,12 +2383,22 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
3054
2383
  muiTableDetailPanelProps = _tableInstance$option.muiTableDetailPanelProps,
3055
2384
  onDetailPanelClick = _tableInstance$option.onDetailPanelClick,
3056
2385
  renderDetailPanel = _tableInstance$option.renderDetailPanel;
3057
- var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
3058
- var tableCellProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
2386
+ var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2387
+ row: row,
2388
+ tableInstance: tableInstance
2389
+ }) : muiTableBodyRowProps;
2390
+ var tableCellProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps({
2391
+ row: row,
2392
+ tableInstance: tableInstance
2393
+ }) : muiTableDetailPanelProps;
3059
2394
  return React.createElement(TableRow, Object.assign({}, tableRowProps), React.createElement(TableCell, Object.assign({
3060
2395
  colSpan: getVisibleFlatColumns().length + 10,
3061
2396
  onClick: function onClick(event) {
3062
- return onDetailPanelClick == null ? void 0 : onDetailPanelClick(event, row);
2397
+ return onDetailPanelClick == null ? void 0 : onDetailPanelClick({
2398
+ event: event,
2399
+ row: row,
2400
+ tableInstance: tableInstance
2401
+ });
3063
2402
  }
3064
2403
  }, tableCellProps, {
3065
2404
  sx: _extends({
@@ -3070,7 +2409,10 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
3070
2409
  }, tableCellProps == null ? void 0 : tableCellProps.sx)
3071
2410
  }), React.createElement(Collapse, {
3072
2411
  "in": row.getIsExpanded()
3073
- }, renderDetailPanel == null ? void 0 : renderDetailPanel(row))));
2412
+ }, renderDetailPanel == null ? void 0 : renderDetailPanel({
2413
+ row: row,
2414
+ tableInstance: tableInstance
2415
+ }))));
3074
2416
  };
3075
2417
 
3076
2418
  var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
@@ -3088,7 +2430,10 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
3088
2430
  getRightVisibleCells = row.getRightVisibleCells,
3089
2431
  getRowProps = row.getRowProps,
3090
2432
  getVisibleCells = row.getVisibleCells;
3091
- var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
2433
+ var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2434
+ row: row,
2435
+ tableInstance: tableInstance
2436
+ }) : muiTableBodyRowProps;
3092
2437
 
3093
2438
  var tableRowProps = _extends({}, getRowProps(), mTableBodyRowProps);
3094
2439
 
@@ -3101,7 +2446,11 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
3101
2446
  return React.createElement(React.Fragment, null, React.createElement(TableRow, Object.assign({
3102
2447
  hover: true,
3103
2448
  onClick: function onClick(event) {
3104
- return onRowClick == null ? void 0 : onRowClick(event, row);
2449
+ return onRowClick == null ? void 0 : onRowClick({
2450
+ event: event,
2451
+ row: row,
2452
+ tableInstance: tableInstance
2453
+ });
3105
2454
  },
3106
2455
  selected: getIsSelected()
3107
2456
  }, tableRowProps), getVisibleCellsMap[pinned]().map(function (cell) {
@@ -3126,7 +2475,9 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
3126
2475
  enablePagination = _tableInstance$option.enablePagination,
3127
2476
  muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
3128
2477
  var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
3129
- var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps(tableInstance) : muiTableBodyProps;
2478
+ var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2479
+ tableInstance: tableInstance
2480
+ }) : muiTableBodyProps;
3130
2481
 
3131
2482
  var tableBodyProps = _extends({}, getTableBodyProps(), mTableBodyProps);
3132
2483
 
@@ -3154,8 +2505,14 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
3154
2505
  isDensePadding = _getState.isDensePadding;
3155
2506
 
3156
2507
  var column = footer.column;
3157
- var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
3158
- var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
2508
+ var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps({
2509
+ column: column,
2510
+ tableInstance: tableInstance
2511
+ }) : muiTableFooterCellProps;
2512
+ var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps({
2513
+ column: column,
2514
+ tableInstance: tableInstance
2515
+ }) : column.muiTableFooterCellProps;
3159
2516
 
3160
2517
  var tableCellProps = _extends({}, footer.getFooterProps(), mTableFooterCellProps, mcTableFooterCellProps);
3161
2518
 
@@ -3190,7 +2547,10 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
3190
2547
  if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
3191
2548
  return h.column.columnDef.footer || h.column.Footer;
3192
2549
  }))) return null;
3193
- var mTableFooterRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps(footerGroup) : muiTableFooterRowProps;
2550
+ var mTableFooterRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2551
+ footerGroup: footerGroup,
2552
+ tableInstance: tableInstance
2553
+ }) : muiTableFooterRowProps;
3194
2554
 
3195
2555
  var tableRowProps = _extends({}, footerGroup.getFooterGroupProps(), mTableFooterRowProps);
3196
2556
 
@@ -3211,7 +2571,9 @@ var MRT_TableFooter = function MRT_TableFooter(_ref) {
3211
2571
  getLeftFooterGroups = tableInstance.getLeftFooterGroups,
3212
2572
  getRightFooterGroups = tableInstance.getRightFooterGroups,
3213
2573
  muiTableFooterProps = tableInstance.options.muiTableFooterProps;
3214
- var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps(tableInstance) : muiTableFooterProps;
2574
+ var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps({
2575
+ tableInstance: tableInstance
2576
+ }) : muiTableFooterProps;
3215
2577
  var getFooterGroupsMap = {
3216
2578
  center: getCenterFooterGroups,
3217
2579
  left: getLeftFooterGroups,
@@ -3236,7 +2598,9 @@ var MRT_Table = function MRT_Table(_ref) {
3236
2598
  hideTableFooter = _tableInstance$option.hideTableFooter,
3237
2599
  hideTableHead = _tableInstance$option.hideTableHead,
3238
2600
  muiTableProps = _tableInstance$option.muiTableProps;
3239
- var mTableProps = muiTableProps instanceof Function ? muiTableProps(tableInstance) : muiTableProps;
2601
+ var mTableProps = muiTableProps instanceof Function ? muiTableProps({
2602
+ tableInstance: tableInstance
2603
+ }) : muiTableProps;
3240
2604
 
3241
2605
  var tableProps = _extends({}, getTableProps(), mTableProps);
3242
2606
 
@@ -3274,7 +2638,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
3274
2638
  getRightTableWidth = tableInstance.getRightTableWidth,
3275
2639
  getState = tableInstance.getState,
3276
2640
  _tableInstance$option = tableInstance.options,
3277
- enableColumnPinning = _tableInstance$option.enableColumnPinning,
2641
+ enablePinning = _tableInstance$option.enablePinning,
3278
2642
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
3279
2643
  idPrefix = _tableInstance$option.idPrefix,
3280
2644
  muiTableContainerProps = _tableInstance$option.muiTableContainerProps;
@@ -3287,8 +2651,10 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
3287
2651
  totalToolbarHeight = _useState[0],
3288
2652
  setTotalToolbarHeight = _useState[1];
3289
2653
 
3290
- var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
3291
- useLayoutEffect(function () {
2654
+ var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps({
2655
+ tableInstance: tableInstance
2656
+ }) : muiTableContainerProps;
2657
+ useEffect(function () {
3292
2658
  var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
3293
2659
 
3294
2660
  var topToolbarHeight = typeof document !== 'undefined' ? (_document$getElementB = (_document = document) == null ? void 0 : (_document$getElementB2 = _document.getElementById("mrt-" + idPrefix + "-toolbar-top")) == null ? void 0 : _document$getElementB2.offsetHeight) != null ? _document$getElementB : 0 : 0;
@@ -3304,14 +2670,12 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
3304
2670
  style: {
3305
2671
  maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
3306
2672
  }
3307
- }), enableColumnPinning && getIsSomeColumnsPinned() ? React.createElement(Box, {
2673
+ }), enablePinning && getIsSomeColumnsPinned() ? React.createElement(Box, {
3308
2674
  sx: {
3309
2675
  display: 'grid',
3310
2676
  gridTemplateColumns: getLeftTableWidth() + "fr " + getCenterTableWidth() + "fr " + getRightTableWidth() + "fr"
3311
2677
  }
3312
- }, React.createElement(Box // @ts-ignore
3313
- , {
3314
- // @ts-ignore
2678
+ }, React.createElement(Box, {
3315
2679
  sx: function sx(theme) {
3316
2680
  var _columnPinning$left;
3317
2681
 
@@ -3324,8 +2688,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
3324
2688
  }, React.createElement(MRT_Table, {
3325
2689
  pinned: "left",
3326
2690
  tableInstance: tableInstance
3327
- })), React.createElement(Box // @ts-ignore
3328
- , {
2691
+ })), React.createElement(Box, {
3329
2692
  sx: function sx(theme) {
3330
2693
  return commonBoxStyles({
3331
2694
  theme: theme
@@ -3334,9 +2697,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
3334
2697
  }, React.createElement(MRT_Table, {
3335
2698
  pinned: "center",
3336
2699
  tableInstance: tableInstance
3337
- })), React.createElement(Box // @ts-ignore
3338
- , {
3339
- // @ts-ignore
2700
+ })), React.createElement(Box, {
3340
2701
  sx: function sx(theme) {
3341
2702
  var _columnPinning$right;
3342
2703
 
@@ -3375,23 +2736,29 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
3375
2736
  }
3376
2737
  }
3377
2738
  }, [isFullScreen]);
3378
- var tablePaperProps = muiTablePaperProps instanceof Function ? muiTablePaperProps(tableInstance) : muiTablePaperProps;
2739
+ var tablePaperProps = muiTablePaperProps instanceof Function ? muiTablePaperProps({
2740
+ tableInstance: tableInstance
2741
+ }) : muiTablePaperProps;
3379
2742
  return React.createElement(Paper, Object.assign({
3380
2743
  elevation: 2
3381
2744
  }, tablePaperProps, {
3382
2745
  sx: _extends({
3383
- bottom: isFullScreen ? '0' : undefined,
2746
+ transition: 'all 0.2s ease-in-out'
2747
+ }, tablePaperProps == null ? void 0 : tablePaperProps.sx),
2748
+ style: {
3384
2749
  height: isFullScreen ? '100%' : undefined,
3385
2750
  left: isFullScreen ? '0' : undefined,
3386
- m: isFullScreen ? '0' : undefined,
2751
+ margin: isFullScreen ? '0' : undefined,
2752
+ maxHeight: isFullScreen ? '100%' : undefined,
2753
+ maxWidth: isFullScreen ? '100%' : undefined,
3387
2754
  overflowY: !isFullScreen ? 'hidden' : undefined,
3388
2755
  position: isFullScreen ? 'fixed' : undefined,
3389
2756
  right: isFullScreen ? '0' : undefined,
3390
2757
  top: isFullScreen ? '0' : undefined,
3391
- transition: 'all 0.2s ease-in-out',
3392
2758
  width: isFullScreen ? '100vw' : undefined,
3393
- zIndex: isFullScreen ? 1200 : 1
3394
- }, tablePaperProps == null ? void 0 : tablePaperProps.sx)
2759
+ zIndex: isFullScreen ? 1200 : 1,
2760
+ bottom: isFullScreen ? '0' : undefined
2761
+ }
3395
2762
  }), !hideToolbarTop && React.createElement(MRT_ToolbarTop, {
3396
2763
  tableInstance: tableInstance
3397
2764
  }), React.createElement(MRT_TableContainer, {
@@ -3474,9 +2841,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3474
2841
  showFilters = _useState4[0],
3475
2842
  setShowFilters = _useState4[1];
3476
2843
 
3477
- var _useState5 = useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showSearch) != null ? _props$initialState$s2 : false),
3478
- showSearch = _useState5[0],
3479
- setShowSearch = _useState5[1];
2844
+ var _useState5 = useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showGlobalFilter) != null ? _props$initialState$s2 : false),
2845
+ showGlobalFilter = _useState5[0],
2846
+ setShowGlobalFilter = _useState5[1];
3480
2847
 
3481
2848
  var _useState6 = useState({
3482
2849
  pageIndex: (_props$initialState$p = (_props$initialState5 = props.initialState) == null ? void 0 : (_props$initialState5$ = _props$initialState5.pagination) == null ? void 0 : _props$initialState5$.pageIndex) != null ? _props$initialState$p : 0,
@@ -3504,9 +2871,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3504
2871
  return createTable();
3505
2872
  }, []);
3506
2873
  var displayColumns = useMemo(function () {
3507
- var _props$localization, _props$localization2, _props$localization3, _props$localization4;
2874
+ var _props$localization, _props$localization2, _props$localization3, _props$localization5;
3508
2875
 
3509
- return [(props.enableRowActions || props.enableRowEditing) && createDisplayColumn(table, {
2876
+ return [(props.enableRowActions || props.enableEditing) && createDisplayColumn(table, {
3510
2877
  Cell: function Cell(_ref3) {
3511
2878
  var cell = _ref3.cell;
3512
2879
  return React.createElement(MRT_ToggleRowActionMenuButton, {
@@ -3559,22 +2926,24 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3559
2926
  return cell.row.index + 1;
3560
2927
  },
3561
2928
  Header: function Header() {
3562
- return '#';
2929
+ var _props$localization4;
2930
+
2931
+ return (_props$localization4 = props.localization) == null ? void 0 : _props$localization4.rowNumber;
3563
2932
  },
3564
- header: (_props$localization4 = props.localization) == null ? void 0 : _props$localization4.rowNumbers,
2933
+ header: (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumbers,
3565
2934
  id: 'mrt-row-numbers',
3566
2935
  maxWidth: 40,
3567
2936
  width: 40,
3568
2937
  minWidth: 40
3569
2938
  })].filter(Boolean);
3570
- }, [props.enableExpandAll, props.enableExpanded, props.enableRowActions, props.enableRowEditing, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization]);
2939
+ }, [props.enableEditing, props.enableExpandAll, props.enableExpanded, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3571
2940
  var columns = useMemo(function () {
3572
2941
  return table.createColumns([].concat(displayColumns, props.columns.map(function (column) {
3573
2942
  return column.columns ? createGroup(table, column, currentFilterTypes) : createDataColumn(table, column, currentFilterTypes);
3574
2943
  })));
3575
2944
  }, [table, props.columns, currentFilterTypes]);
3576
2945
  var data = useMemo(function () {
3577
- return props.isLoading && !props.data.length ? [].concat(Array(10).fill(null)).map(function (_) {
2946
+ return props.isLoading && !props.data.length ? [].concat(Array(10).fill(null)).map(function () {
3578
2947
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3579
2948
  var _ref7;
3580
2949
 
@@ -3583,35 +2952,30 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3583
2952
  }) : props.data;
3584
2953
  }, [props.data, props.isLoading]); //@ts-ignore
3585
2954
 
3586
- var tableInstance = useTable(table, _extends({}, props, {
3587
- //@ts-ignore
3588
- filterTypes: defaultFilterFNs,
3589
- globalFilterType: currentGlobalFilterType,
2955
+ var tableInstance = _extends({}, useTable(table, _extends({}, props, {
3590
2956
  columnFilterRowsFn: columnFilterRowsFn,
3591
2957
  columns: columns,
3592
2958
  data: data,
3593
2959
  expandRowsFn: expandRowsFn,
2960
+ //@ts-ignore
2961
+ filterTypes: defaultFilterFNs,
3594
2962
  getSubRows: (_props$getSubRows = props.getSubRows) != null ? _props$getSubRows : function (originalRow) {
3595
2963
  return originalRow.subRows;
3596
2964
  },
3597
2965
  globalFilterRowsFn: globalFilterRowsFn,
2966
+ globalFilterType: currentGlobalFilterType,
3598
2967
  groupRowsFn: groupRowsFn,
3599
2968
  idPrefix: idPrefix,
2969
+ //@ts-ignore
2970
+ initialState: props.initialState,
3600
2971
  onPaginationChange: function onPaginationChange(updater) {
3601
2972
  return setPagination(function (old) {
3602
2973
  return functionalUpdate(updater, old);
3603
2974
  });
3604
2975
  },
3605
2976
  paginateRowsFn: paginateRowsFn,
3606
- setCurrentEditingRow: setCurrentEditingRow,
3607
- setCurrentFilterTypes: setCurrentFilterTypes,
3608
- setCurrentGlobalFilterType: setCurrentGlobalFilterType,
3609
- setIsDensePadding: setIsDensePadding,
3610
- setIsFullScreen: setIsFullScreen,
3611
- setShowFilters: setShowFilters,
3612
- setShowSearch: setShowSearch,
3613
2977
  sortRowsFn: sortRowsFn,
3614
- state: _extends({}, props.initialState, {
2978
+ state: _extends({
3615
2979
  currentEditingRow: currentEditingRow,
3616
2980
  currentFilterTypes: currentFilterTypes,
3617
2981
  currentGlobalFilterType: currentGlobalFilterType,
@@ -3620,17 +2984,34 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3620
2984
  //@ts-ignore
3621
2985
  pagination: pagination,
3622
2986
  showFilters: showFilters,
3623
- showSearch: showSearch
2987
+ showGlobalFilter: showGlobalFilter
3624
2988
  }, props.state)
3625
- }));
2989
+ })), {
2990
+ setCurrentEditingRow: setCurrentEditingRow,
2991
+ setCurrentFilterTypes: setCurrentFilterTypes,
2992
+ setCurrentGlobalFilterType: setCurrentGlobalFilterType,
2993
+ setIsDensePadding: setIsDensePadding,
2994
+ setIsFullScreen: setIsFullScreen,
2995
+ setShowFilters: setShowFilters,
2996
+ setShowGlobalFilter: setShowGlobalFilter
2997
+ });
2998
+
3626
2999
  return React.createElement(MRT_TablePaper, {
3627
3000
  tableInstance: tableInstance
3628
3001
  });
3629
3002
  };
3630
3003
 
3631
- var _excluded$5 = ["enableColumnActions", "enableColumnFilters", "enableDensePaddingToggle", "enableExpandAll", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enablePagination", "enableSelectAll", "enableSorting", "enableStickyHeader", "filterTypes", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3004
+ var _excluded$5 = ["autoResetExpanded", "enableColumnActions", "enableColumnFilters", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enableSelectAll", "enableSorting", "enableStickyHeader", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3005
+
3006
+ global.performance = global.performance || {
3007
+ now: function now() {
3008
+ return new Date().getTime();
3009
+ }
3010
+ };
3632
3011
  var MaterialReactTable = (function (_ref) {
3633
- var _ref$enableColumnActi = _ref.enableColumnActions,
3012
+ var _ref$autoResetExpande = _ref.autoResetExpanded,
3013
+ autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3014
+ _ref$enableColumnActi = _ref.enableColumnActions,
3634
3015
  enableColumnActions = _ref$enableColumnActi === void 0 ? true : _ref$enableColumnActi,
3635
3016
  _ref$enableColumnFilt = _ref.enableColumnFilters,
3636
3017
  enableColumnFilters = _ref$enableColumnFilt === void 0 ? true : _ref$enableColumnFilt,
@@ -3638,12 +3019,16 @@ var MaterialReactTable = (function (_ref) {
3638
3019
  enableDensePaddingToggle = _ref$enableDensePaddi === void 0 ? true : _ref$enableDensePaddi,
3639
3020
  _ref$enableExpandAll = _ref.enableExpandAll,
3640
3021
  enableExpandAll = _ref$enableExpandAll === void 0 ? true : _ref$enableExpandAll,
3022
+ _ref$enableFilters = _ref.enableFilters,
3023
+ enableFilters = _ref$enableFilters === void 0 ? true : _ref$enableFilters,
3641
3024
  _ref$enableFullScreen = _ref.enableFullScreenToggle,
3642
3025
  enableFullScreenToggle = _ref$enableFullScreen === void 0 ? true : _ref$enableFullScreen,
3643
3026
  _ref$enableGlobalFilt = _ref.enableGlobalFilter,
3644
3027
  enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
3645
3028
  _ref$enableHiding = _ref.enableHiding,
3646
3029
  enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
3030
+ _ref$enableMultiRowSe = _ref.enableMultiRowSelection,
3031
+ enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
3647
3032
  _ref$enablePagination = _ref.enablePagination,
3648
3033
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
3649
3034
  _ref$enableSelectAll = _ref.enableSelectAll,
@@ -3665,13 +3050,16 @@ var MaterialReactTable = (function (_ref) {
3665
3050
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
3666
3051
 
3667
3052
  return React.createElement(MRT_TableRoot, Object.assign({
3053
+ autoResetExpanded: autoResetExpanded,
3668
3054
  enableColumnActions: enableColumnActions,
3669
3055
  enableColumnFilters: enableColumnFilters,
3670
3056
  enableDensePaddingToggle: enableDensePaddingToggle,
3671
3057
  enableExpandAll: enableExpandAll,
3058
+ enableFilters: enableFilters,
3672
3059
  enableFullScreenToggle: enableFullScreenToggle,
3673
3060
  enableGlobalFilter: enableGlobalFilter,
3674
3061
  enableHiding: enableHiding,
3062
+ enableMultiRowSelection: enableMultiRowSelection,
3675
3063
  enablePagination: enablePagination,
3676
3064
  enableSelectAll: enableSelectAll,
3677
3065
  enableSorting: enableSorting,