material-react-table 0.3.1 → 0.3.5

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 (72) hide show
  1. package/README.md +32 -162
  2. package/dist/MaterialReactTable.d.ts +17 -7
  3. package/dist/body/MRT_TableBodyCell.d.ts +3 -0
  4. package/dist/body/MRT_TableBodyRow.d.ts +16 -1
  5. package/dist/buttons/MRT_FullScreenToggleButton.d.ts +4 -0
  6. package/dist/buttons/MRT_ToggleSearchButton.d.ts +4 -0
  7. package/dist/head/MRT_TableHeadCell.d.ts +4 -1
  8. package/dist/head/MRT_TableHeadCellActions.d.ts +5 -0
  9. package/dist/inputs/MRT_EditCellTextField.d.ts +7 -0
  10. package/dist/inputs/MRT_FilterTextField.d.ts +1 -1
  11. package/dist/material-react-table.cjs.development.js +799 -441
  12. package/dist/material-react-table.cjs.development.js.map +1 -1
  13. package/dist/material-react-table.cjs.production.min.js +1 -1
  14. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  15. package/dist/material-react-table.esm.js +800 -442
  16. package/dist/material-react-table.esm.js.map +1 -1
  17. package/dist/menus/MRT_ColumnActionMenu.d.ts +2 -2
  18. package/dist/menus/MRT_RowActionMenu.d.ts +1 -0
  19. package/dist/table/MRT_TableButtonCell.d.ts +3 -0
  20. package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +5 -0
  21. package/dist/toolbar/MRT_ToolbarInternalButtons.d.ts +5 -0
  22. package/dist/useMRT.d.ts +20 -0
  23. package/dist/utils/localization.d.ts +12 -3
  24. package/package.json +26 -23
  25. package/src/@types/faker.d.ts +4 -0
  26. package/src/@types/react-table-config.d.ts +156 -0
  27. package/src/MaterialReactTable.tsx +29 -9
  28. package/src/body/MRT_TableBody.tsx +3 -25
  29. package/src/body/MRT_TableBodyCell.tsx +30 -9
  30. package/src/body/MRT_TableBodyRow.tsx +22 -14
  31. package/src/body/MRT_TableDetailPanel.tsx +19 -8
  32. package/src/buttons/MRT_EditActionButtons.tsx +11 -6
  33. package/src/buttons/MRT_ExpandAllButton.tsx +19 -25
  34. package/src/buttons/MRT_ExpandButton.tsx +28 -26
  35. package/src/buttons/MRT_FullScreenToggleButton.tsx +23 -0
  36. package/src/buttons/MRT_ShowHideColumnsButton.tsx +34 -3
  37. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +5 -5
  38. package/src/buttons/MRT_ToggleFiltersButton.tsx +2 -2
  39. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +48 -26
  40. package/src/buttons/MRT_ToggleSearchButton.tsx +33 -0
  41. package/src/footer/MRT_TableFooter.tsx +4 -4
  42. package/src/footer/MRT_TableFooterCell.tsx +23 -7
  43. package/src/footer/MRT_TableFooterRow.tsx +9 -4
  44. package/src/head/MRT_TableHead.tsx +4 -4
  45. package/src/head/MRT_TableHeadCell.tsx +41 -20
  46. package/src/head/MRT_TableHeadCellActions.tsx +18 -0
  47. package/src/head/MRT_TableHeadRow.tsx +17 -11
  48. package/src/inputs/MRT_DensePaddingSwitch.tsx +5 -3
  49. package/src/inputs/MRT_EditCellTextField.tsx +64 -0
  50. package/src/inputs/MRT_FilterTextField.tsx +43 -18
  51. package/src/inputs/MRT_SearchTextField.tsx +39 -34
  52. package/src/inputs/MRT_SelectAllCheckbox.tsx +10 -14
  53. package/src/inputs/MRT_SelectCheckbox.tsx +11 -13
  54. package/src/menus/MRT_ColumnActionMenu.tsx +66 -23
  55. package/src/menus/MRT_RowActionMenu.tsx +4 -8
  56. package/src/menus/MRT_ShowHideColumnsMenu.tsx +24 -15
  57. package/src/table/MRT_Table.tsx +2 -2
  58. package/src/table/MRT_TableButtonCell.tsx +9 -0
  59. package/src/table/MRT_TableContainer.tsx +52 -5
  60. package/src/table/MRT_TableSpacerCell.tsx +5 -5
  61. package/src/toolbar/MRT_TablePagination.tsx +3 -2
  62. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +102 -0
  63. package/src/toolbar/MRT_ToolbarBottom.tsx +11 -22
  64. package/src/toolbar/{MRT_ToolbarButtons.tsx → MRT_ToolbarInternalButtons.tsx} +13 -4
  65. package/src/toolbar/MRT_ToolbarTop.tsx +16 -30
  66. package/src/useMRT.tsx +112 -0
  67. package/src/utils/localization.ts +30 -12
  68. package/dist/toolbar/MRT_ToolbarButtons.d.ts +0 -5
  69. package/dist/useMaterialReactTable.d.ts +0 -15
  70. package/dist/utils/useMRTCalcs.d.ts +0 -11
  71. package/src/useMaterialReactTable.tsx +0 -96
  72. package/src/utils/useMRTCalcs.tsx +0 -42
@@ -1,6 +1,6 @@
1
- import React, { useMemo, useState, useContext, createContext } from 'react';
2
- import { useTable, useResizeColumns, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect, useFlexLayout, useAsyncDebounce } from 'react-table';
3
- import { TextField as TextField$1, InputAdornment, IconButton as IconButton$2, Menu, Divider as Divider$1, styled, MenuItem as MenuItem$2, TableCell as TableCell$1, TableSortLabel, Collapse, Checkbox, TableRow, TableHead, Tooltip, useTheme, alpha, CircularProgress, TableBody as TableBody$1, TableFooter, Table, FormControlLabel, Switch, Typography, TablePagination, Toolbar as Toolbar$2, TableContainer, Paper, LinearProgress } from '@mui/material';
1
+ import React, { useMemo, useState, useContext, createContext, Fragment } from 'react';
2
+ import { useTable, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect, useResizeColumns, useFlexLayout, useAsyncDebounce } from 'react-table';
3
+ import { TextField as TextField$1, Tooltip, InputAdornment, IconButton as IconButton$2, Menu, Divider as Divider$1, styled, MenuItem as MenuItem$2, TableCell as TableCell$3, TableSortLabel, Collapse, Checkbox, TableRow as TableRow$1, TableHead, alpha, TableBody as TableBody$1, TableFooter, Table, FormControlLabel, Switch, Button, TablePagination, useMediaQuery, Chip, Alert as Alert$1, Toolbar as Toolbar$2, Paper, LinearProgress, CircularProgress, TableContainer as TableContainer$1 } from '@mui/material';
4
4
  import CloseIcon from '@mui/icons-material/Close';
5
5
  import FilterIcon from '@mui/icons-material/FilterList';
6
6
  import MoreVertIcon from '@mui/icons-material/MoreVert';
@@ -8,8 +8,8 @@ import ClearAllIcon from '@mui/icons-material/ClearAll';
8
8
  import SortIcon from '@mui/icons-material/Sort';
9
9
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
10
10
  import DynamicFeedIcon from '@mui/icons-material/DynamicFeed';
11
- import ArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
12
- import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
11
+ import MuiArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
12
+ import MuiExpandMoreIcon from '@mui/icons-material/ExpandMore';
13
13
  import MoreHorizIcon from '@mui/icons-material/MoreHoriz';
14
14
  import EditIcon from '@mui/icons-material/Edit';
15
15
  import SaveIcon from '@mui/icons-material/Save';
@@ -17,6 +17,9 @@ import CancelIcon from '@mui/icons-material/Cancel';
17
17
  import SearchIcon from '@mui/icons-material/Search';
18
18
  import FilterListOffIcon from '@mui/icons-material/FilterListOff';
19
19
  import ViewColumnIcon from '@mui/icons-material/ViewColumn';
20
+ import SearchOffIcon from '@mui/icons-material/SearchOff';
21
+ import FilterListIcon from '@mui/icons-material/Fullscreen';
22
+ import FilterListOffIcon$1 from '@mui/icons-material/FullscreenExit';
20
23
 
21
24
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
22
25
  try {
@@ -87,8 +90,16 @@ function _objectWithoutPropertiesLoose(source, excluded) {
87
90
  return target;
88
91
  }
89
92
 
90
- var useMRTCalcs = function useMRTCalcs(_ref) {
91
- var tableInstance = _ref.tableInstance;
93
+ var MaterialReactTableContext = /*#__PURE__*/function () {
94
+ return createContext({});
95
+ }();
96
+
97
+ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
98
+ var _props$defaultDensePa, _props$defaultFullScr, _props$defaultShowFil, _props$defaultShowSea;
99
+
100
+ var hooks = [useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect];
101
+ if (props.enableColumnResizing) hooks.unshift(useResizeColumns, useFlexLayout);
102
+ var tableInstance = useTable.apply(void 0, [props].concat(hooks));
92
103
  var anyRowsCanExpand = useMemo(function () {
93
104
  return tableInstance.rows.some(function (row) {
94
105
  return row.canExpand;
@@ -99,74 +110,59 @@ var useMRTCalcs = function useMRTCalcs(_ref) {
99
110
  return row.isExpanded;
100
111
  });
101
112
  }, [tableInstance.rows]);
102
- var maxColumnDepth = useMemo(function () {
103
- var maxDepth = 1;
104
- tableInstance.columns.forEach(function (column) {
105
- var _column$columns;
106
-
107
- if ((_column$columns = column.columns) != null && _column$columns.length) {
108
- maxDepth = Math.max(maxDepth, column.columns.length);
109
- }
110
- });
111
- return maxDepth - 1;
112
- }, [tableInstance.columns]);
113
- return {
114
- anyRowsCanExpand: anyRowsCanExpand,
115
- anyRowsExpanded: anyRowsExpanded,
116
- maxColumnDepth: maxColumnDepth
117
- };
118
- };
119
-
120
- var MaterialReactTableContext = /*#__PURE__*/function () {
121
- return createContext({});
122
- }();
123
-
124
- var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
125
- var _props$defaultShowFil, _props$defaultDensePa;
126
-
127
- var hooks = [useResizeColumns, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect];
128
- if (props.enableColumnResizing) hooks.unshift(useFlexLayout);
129
- var tableInstance = useTable.apply(void 0, [props].concat(hooks));
130
- var mrtCalcs = useMRTCalcs({
131
- tableInstance: tableInstance
132
- });
133
113
 
134
- var _useState = useState((_props$defaultShowFil = props.defaultShowFilters) != null ? _props$defaultShowFil : false),
135
- showFilters = _useState[0],
136
- setShowFilters = _useState[1];
114
+ var _useState = useState(null),
115
+ currentEditingRow = _useState[0],
116
+ setCurrentEditingRow = _useState[1];
137
117
 
138
118
  var _useState2 = useState((_props$defaultDensePa = props.defaultDensePadding) != null ? _props$defaultDensePa : false),
139
119
  densePadding = _useState2[0],
140
120
  setDensePadding = _useState2[1];
141
121
 
142
- var _useState3 = useState(null),
143
- currentEditingRowId = _useState3[0],
144
- setCurrentEditingRowId = _useState3[1];
122
+ var _useState3 = useState((_props$defaultFullScr = props.defaultFullScreen) != null ? _props$defaultFullScr : false),
123
+ fullScreen = _useState3[0],
124
+ setFullScreen = _useState3[1];
125
+
126
+ var _useState4 = useState((_props$defaultShowFil = props.defaultShowFilters) != null ? _props$defaultShowFil : false),
127
+ showFilters = _useState4[0],
128
+ setShowFilters = _useState4[1];
129
+
130
+ var _useState5 = useState((_props$defaultShowSea = props.defaultShowSearchTextField) != null ? _props$defaultShowSea : false),
131
+ showSearch = _useState5[0],
132
+ setShowSearch = _useState5[1];
145
133
 
146
134
  return React.createElement(MaterialReactTableContext.Provider, {
147
- value: _extends({}, mrtCalcs, props, {
135
+ value: _extends({}, props, {
136
+ anyRowsCanExpand: anyRowsCanExpand,
137
+ anyRowsExpanded: anyRowsExpanded,
138
+ currentEditingRow: currentEditingRow,
148
139
  densePadding: densePadding,
140
+ setCurrentEditingRow: setCurrentEditingRow,
149
141
  setDensePadding: setDensePadding,
142
+ fullScreen: fullScreen,
143
+ setFullScreen: setFullScreen,
150
144
  setShowFilters: setShowFilters,
151
- currentEditingRowId: currentEditingRowId,
152
- setCurrentEditingRowId: setCurrentEditingRowId,
145
+ setShowSearch: setShowSearch,
153
146
  showFilters: showFilters,
154
- // @ts-ignore
147
+ showSearch: showSearch,
148
+ //@ts-ignore
155
149
  tableInstance: tableInstance
156
150
  })
157
151
  }, props.children);
158
152
  };
159
- var useMaterialReactTable = function useMaterialReactTable() {
153
+ var useMRT = function useMRT() {
160
154
  return (//@ts-ignore
161
155
  useContext(MaterialReactTableContext)
162
156
  );
163
157
  };
164
158
 
165
- var MRT_FilterTextfield = function MRT_FilterTextfield(_ref) {
159
+ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
160
+ var _localization$filterT, _localization$filterT2, _localization$filterT3, _localization$filterT4;
161
+
166
162
  var column = _ref.column;
167
163
 
168
- var _useMaterialReactTabl = useMaterialReactTable(),
169
- localization = _useMaterialReactTabl.localization;
164
+ var _useMRT = useMRT(),
165
+ localization = _useMRT.localization;
170
166
 
171
167
  var _useState = useState(''),
172
168
  filterValue = _useState[0],
@@ -182,15 +178,21 @@ var MRT_FilterTextfield = function MRT_FilterTextfield(_ref) {
182
178
  };
183
179
 
184
180
  if (column.Filter) {
185
- //@ts-ignore
186
- return React.createElement(React.Fragment, null, column.Filter({
181
+ return React.createElement(React.Fragment, null, column.Filter == null ? void 0 : column.Filter({
187
182
  column: column
188
183
  }));
189
184
  }
190
185
 
191
186
  return React.createElement(TextField$1, {
187
+ fullWidth: true,
188
+ id: "filter-" + column.id + "-column",
189
+ inputProps: {
190
+ style: {
191
+ textOverflow: 'ellipsis'
192
+ }
193
+ },
192
194
  margin: "dense",
193
- placeholder: localization == null ? void 0 : localization.filterTextFieldPlaceholder,
195
+ placeholder: localization == null ? void 0 : (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header)),
194
196
  onChange: function onChange(e) {
195
197
  setFilterValue(e.target.value);
196
198
  handleChange(e.target.value);
@@ -201,20 +203,25 @@ var MRT_FilterTextfield = function MRT_FilterTextfield(_ref) {
201
203
  value: filterValue != null ? filterValue : '',
202
204
  variant: "standard",
203
205
  InputProps: {
204
- startAdornment: React.createElement(InputAdornment, {
206
+ startAdornment: React.createElement(Tooltip, {
207
+ arrow: true,
208
+ title: (_localization$filterT2 = localization == null ? void 0 : (_localization$filterT3 = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT3.replace('{column}', String(column.Header))) != null ? _localization$filterT2 : ''
209
+ }, React.createElement(InputAdornment, {
205
210
  position: "start"
206
- }, React.createElement(FilterIcon, null)),
211
+ }, React.createElement(FilterIcon, null))),
207
212
  endAdornment: React.createElement(InputAdornment, {
208
213
  position: "end"
209
- }, React.createElement(IconButton$2, {
214
+ }, React.createElement(Tooltip, {
215
+ arrow: true,
216
+ title: (_localization$filterT4 = localization == null ? void 0 : localization.filterTextFieldClearButtonTitle) != null ? _localization$filterT4 : ''
217
+ }, React.createElement("span", null, React.createElement(IconButton$2, {
210
218
  "aria-label": localization == null ? void 0 : localization.filterTextFieldClearButtonTitle,
211
219
  disabled: (filterValue == null ? void 0 : filterValue.length) === 0,
212
220
  onClick: handleClear,
213
- size: "small",
214
- title: localization == null ? void 0 : localization.filterTextFieldClearButtonTitle
221
+ size: "small"
215
222
  }, React.createElement(CloseIcon, {
216
223
  fontSize: "small"
217
- })))
224
+ })))))
218
225
  }
219
226
  });
220
227
  };
@@ -224,15 +231,19 @@ var MenuItem = /*#__PURE__*/styled(MenuItem$2)({
224
231
  gap: '0.75rem'
225
232
  });
226
233
  var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
234
+ var _localization$columnA, _localization$columnA2, _localization$filterT, _localization, _localization$columnA3;
235
+
227
236
  var anchorEl = _ref.anchorEl,
228
237
  column = _ref.column,
229
238
  setAnchorEl = _ref.setAnchorEl;
230
239
 
231
- var _useMaterialReactTabl = useMaterialReactTable(),
232
- disableColumnHiding = _useMaterialReactTabl.disableColumnHiding,
233
- enableColumnGrouping = _useMaterialReactTabl.enableColumnGrouping,
234
- disableSortBy = _useMaterialReactTabl.disableSortBy,
235
- localization = _useMaterialReactTabl.localization;
240
+ var _useMRT = useMRT(),
241
+ disableColumnHiding = _useMRT.disableColumnHiding,
242
+ disableFilters = _useMRT.disableFilters,
243
+ disableSortBy = _useMRT.disableSortBy,
244
+ enableColumnGrouping = _useMRT.enableColumnGrouping,
245
+ localization = _useMRT.localization,
246
+ setShowFilters = _useMRT.setShowFilters;
236
247
 
237
248
  var handleClearSort = function handleClearSort() {
238
249
  column.clearSortBy();
@@ -259,6 +270,17 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
259
270
  setAnchorEl(null);
260
271
  };
261
272
 
273
+ var handleFilterByColumn = function handleFilterByColumn() {
274
+ setShowFilters(true);
275
+ setTimeout(function () {
276
+ var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
277
+
278
+ return (_document$getElementB = document.getElementById( // @ts-ignore
279
+ (_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "filter-" + column.id + "-column")) == null ? void 0 : _document$getElementB.focus();
280
+ }, 200);
281
+ setAnchorEl(null);
282
+ };
283
+
262
284
  return React.createElement(Menu, {
263
285
  anchorEl: anchorEl,
264
286
  open: !!anchorEl,
@@ -273,7 +295,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
273
295
  key: 2,
274
296
  disabled: column.isSorted && !column.isSortedDesc,
275
297
  onClick: handleSortAsc
276
- }, React.createElement(SortIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemSortAsc), React.createElement(MenuItem, {
298
+ }, React.createElement(SortIcon, null), ' ', localization == null ? void 0 : (_localization$columnA = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA.replace('{column}', String(column.Header))), React.createElement(MenuItem, {
277
299
  key: 3,
278
300
  disabled: column.isSorted && column.isSortedDesc,
279
301
  onClick: handleSortDesc
@@ -281,25 +303,30 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
281
303
  style: {
282
304
  transform: 'rotate(180deg) scaleX(-1)'
283
305
  }
284
- }), ' ', localization == null ? void 0 : localization.columnActionMenuItemSortDesc), React.createElement(Divider$1, {
285
- key: 4
286
- })], !disableColumnHiding && React.createElement(MenuItem, {
287
- onClick: handleHideColumn
288
- }, React.createElement(VisibilityOffIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemHideColumn), enableColumnGrouping && column.canGroupBy && React.createElement(MenuItem, {
289
- disabled: column.isGrouped,
290
- onClick: handleGroupByColumn
291
- }, React.createElement(DynamicFeedIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemGroupBy), enableColumnGrouping && column.canGroupBy && React.createElement(MenuItem, {
292
- disabled: !column.isGrouped,
306
+ }), ' ', localization == null ? void 0 : (_localization$columnA2 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA2.replace('{column}', String(column.Header)))], !disableFilters && column.canFilter && [React.createElement(Divider$1, {
307
+ key: 0
308
+ }), React.createElement(MenuItem, {
309
+ key: 1,
310
+ onClick: handleFilterByColumn
311
+ }, React.createElement(FilterIcon, null), ' ', localization == null ? void 0 : (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header)))], enableColumnGrouping && column.canGroupBy && [React.createElement(Divider$1, {
312
+ key: 1
313
+ }), React.createElement(MenuItem, {
314
+ key: 2,
293
315
  onClick: handleGroupByColumn
294
- }, React.createElement(DynamicFeedIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemUnGroupBy));
316
+ }, React.createElement(DynamicFeedIcon, null), ' ', localization == null ? void 0 : (_localization = localization[column.isGrouped ? 'columnActionMenuItemUnGroupBy' : 'columnActionMenuItemGroupBy']) == null ? void 0 : _localization.replace('{column}', String(column.Header)))], !disableColumnHiding && [React.createElement(Divider$1, {
317
+ key: 0
318
+ }), React.createElement(MenuItem, {
319
+ key: 1,
320
+ onClick: handleHideColumn
321
+ }, React.createElement(VisibilityOffIcon, null), ' ', localization == null ? void 0 : (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header)))]);
295
322
  };
296
323
 
297
324
  var IconButton = /*#__PURE__*/styled(IconButton$2)({
298
325
  opacity: 0.5,
299
326
  transition: 'opacity 0.2s',
300
327
  marginRight: '2px',
301
- height: '2rem',
302
- width: '2rem',
328
+ height: '1.6rem',
329
+ width: '1.6rem',
303
330
  '&:hover': {
304
331
  opacity: 1
305
332
  }
@@ -307,8 +334,8 @@ var IconButton = /*#__PURE__*/styled(IconButton$2)({
307
334
  var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
308
335
  var column = _ref.column;
309
336
 
310
- var _useMaterialReactTabl = useMaterialReactTable(),
311
- localization = _useMaterialReactTabl.localization;
337
+ var _useMRT = useMRT(),
338
+ localization = _useMRT.localization;
312
339
 
313
340
  var _useState = useState(null),
314
341
  anchorEl = _useState[0],
@@ -322,9 +349,9 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
322
349
 
323
350
  return React.createElement(React.Fragment, null, React.createElement(IconButton, {
324
351
  "aria-label": localization == null ? void 0 : localization.columnActionMenuButtonTitle,
325
- title: localization == null ? void 0 : localization.columnActionMenuButtonTitle,
326
352
  onClick: handleClick,
327
- size: "small"
353
+ size: "small",
354
+ title: localization == null ? void 0 : localization.columnActionMenuButtonTitle
328
355
  }, React.createElement(MoreVertIcon, null)), React.createElement(MRT_ColumnActionMenu, {
329
356
  anchorEl: anchorEl,
330
357
  column: column,
@@ -332,66 +359,78 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
332
359
  }));
333
360
  };
334
361
 
335
- var StyledTableHeadCell = /*#__PURE__*/styled(TableCell$1)({
336
- fontWeight: 'bold',
337
- verticalAlign: 'text-top'
362
+ var MRT_StyledTableHeadCell = /*#__PURE__*/styled(TableCell$3, {
363
+ shouldForwardProp: function shouldForwardProp(prop) {
364
+ return prop !== 'densePadding' && prop !== 'enableColumnResizing';
365
+ }
366
+ })(function (_ref) {
367
+ var densePadding = _ref.densePadding,
368
+ enableColumnResizing = _ref.enableColumnResizing;
369
+ return {
370
+ fontWeight: 'bold',
371
+ height: '100%',
372
+ padding: densePadding ? '0.5rem' : '1rem',
373
+ paddingTop: densePadding ? '0.75rem' : '1.25rem',
374
+ transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
375
+ verticalAlign: 'text-top'
376
+ };
338
377
  });
339
- var TableCellContents = /*#__PURE__*/styled('div')({
340
- display: 'grid'
378
+ var TableCellWrapper = /*#__PURE__*/styled('div')({
379
+ alignContent: 'space-between',
380
+ display: 'grid',
381
+ height: '100%'
341
382
  });
342
- var TableCellText = /*#__PURE__*/styled('div')({
383
+ var TableCellTopContents = /*#__PURE__*/styled('div')({
343
384
  width: '100%',
344
385
  display: 'flex',
345
- justifyContent: 'space-between'
386
+ justifyContent: 'space-between',
387
+ alignItems: 'flex-start'
346
388
  });
347
389
  var CellFlexItem = /*#__PURE__*/styled('span')({
390
+ alignItems: 'center',
348
391
  display: 'flex',
349
- flexWrap: 'nowrap',
350
- alignItems: 'center'
392
+ flexWrap: 'nowrap'
351
393
  });
352
394
  var Divider = /*#__PURE__*/styled(Divider$1)({
353
395
  borderRightWidth: '2px',
354
396
  borderRadius: '2px',
355
397
  maxHeight: '2rem'
356
398
  });
357
- var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
358
- var _column$columns$lengt, _column$columns, _mTableHeadCellProps$;
399
+ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
400
+ var _column$columns$lengt, _column$columns, _mTableHeadCellProps$, _mcTableHeadCellProps;
359
401
 
360
- var column = _ref.column;
402
+ var column = _ref2.column;
361
403
 
362
- var _useMaterialReactTabl = useMaterialReactTable(),
363
- densePadding = _useMaterialReactTabl.densePadding,
364
- disableColumnActions = _useMaterialReactTabl.disableColumnActions,
365
- disableFilters = _useMaterialReactTabl.disableFilters,
366
- enableColumnResizing = _useMaterialReactTabl.enableColumnResizing,
367
- localization = _useMaterialReactTabl.localization,
368
- muiTableHeadCellProps = _useMaterialReactTabl.muiTableHeadCellProps,
369
- showFilters = _useMaterialReactTabl.showFilters,
370
- tableInstance = _useMaterialReactTabl.tableInstance;
404
+ var _useMRT = useMRT(),
405
+ densePadding = _useMRT.densePadding,
406
+ disableColumnActions = _useMRT.disableColumnActions,
407
+ disableFilters = _useMRT.disableFilters,
408
+ enableColumnResizing = _useMRT.enableColumnResizing,
409
+ localization = _useMRT.localization,
410
+ muiTableHeadCellProps = _useMRT.muiTableHeadCellProps,
411
+ showFilters = _useMRT.showFilters,
412
+ tableInstance = _useMRT.tableInstance;
371
413
 
372
414
  var isParentHeader = ((_column$columns$lengt = column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.length) != null ? _column$columns$lengt : 0) > 0;
373
415
  var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
416
+ var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
374
417
 
375
- var tableCellProps = _extends({}, mTableHeadCellProps, column.getHeaderProps(), {
376
- style: _extends({
377
- padding: densePadding ? '0.5rem' : '1rem',
378
- transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out"
379
- }, column.getHeaderProps().style, (_mTableHeadCellProps$ = mTableHeadCellProps == null ? void 0 : mTableHeadCellProps.style) != null ? _mTableHeadCellProps$ : {})
418
+ var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps, column.getHeaderProps(), {
419
+ style: _extends({}, column.getHeaderProps().style, (_mTableHeadCellProps$ = mTableHeadCellProps == null ? void 0 : mTableHeadCellProps.style) != null ? _mTableHeadCellProps$ : {}, (_mcTableHeadCellProps = mcTableHeadCellProps == null ? void 0 : mcTableHeadCellProps.style) != null ? _mcTableHeadCellProps : {})
380
420
  });
381
421
 
382
- return React.createElement(StyledTableHeadCell, Object.assign({
383
- align: isParentHeader ? 'center' : 'left'
384
- }, tableCellProps), React.createElement(TableCellContents, null, React.createElement(TableCellText, {
422
+ return React.createElement(MRT_StyledTableHeadCell, Object.assign({
423
+ align: isParentHeader ? 'center' : 'left',
424
+ densePadding: densePadding,
425
+ enableColumnResizing: enableColumnResizing
426
+ }, tableCellProps), React.createElement(TableCellWrapper, null, React.createElement(TableCellTopContents, {
385
427
  style: {
386
428
  justifyContent: isParentHeader ? 'center' : undefined
387
429
  }
388
430
  }, React.createElement(CellFlexItem, Object.assign({}, column.getSortByToggleProps()), column.render('Header'), !isParentHeader && column.canSort && React.createElement(TableSortLabel, {
389
431
  "aria-label": column.isSorted ? column.sortDescFirst ? localization == null ? void 0 : localization.columnActionMenuItemClearSort : localization == null ? void 0 : localization.columnActionMenuItemSortDesc : localization == null ? void 0 : localization.columnActionMenuItemSortAsc,
390
432
  active: column.isSorted,
391
- direction: column.isSortedDesc ? 'desc' : 'asc',
392
- style: {
393
- margin: 0
394
- }
433
+ direction: column.isSortedDesc ? 'desc' : 'asc'
395
434
  })), React.createElement(CellFlexItem, null, !disableColumnActions && !isParentHeader && React.createElement(MRT_ToggleColumnActionMenuButton, {
396
435
  column: column
397
436
  }), enableColumnResizing && !isParentHeader && React.createElement(Divider, Object.assign({
@@ -402,74 +441,103 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
402
441
  }
403
442
  }, column.getResizerProps())))), !disableFilters && column.canFilter && React.createElement(Collapse, {
404
443
  "in": showFilters
405
- }, React.createElement(MRT_FilterTextfield, {
444
+ }, React.createElement(MRT_FilterTextField, {
406
445
  column: column
407
446
  }))));
408
447
  };
409
448
 
449
+ var MRT_TableButtonCell = /*#__PURE__*/styled(TableCell$3, {
450
+ shouldForwardProp: function shouldForwardProp(prop) {
451
+ return prop !== 'densePadding';
452
+ }
453
+ })(function (_ref) {
454
+ var densePadding = _ref.densePadding;
455
+ return {
456
+ padding: densePadding ? '1px' : '0.6rem',
457
+ textAlign: 'center',
458
+ transition: 'all 0.2s ease-in-out'
459
+ };
460
+ });
461
+
410
462
  var MRT_SelectAllCheckbox = function MRT_SelectAllCheckbox() {
411
- var _useMaterialReactTabl = useMaterialReactTable(),
412
- tableInstance = _useMaterialReactTabl.tableInstance,
413
- disableSelectAll = _useMaterialReactTabl.disableSelectAll,
414
- densePadding = _useMaterialReactTabl.densePadding;
463
+ var _localization$selectA;
415
464
 
416
- return React.createElement(TableCell$1, {
417
- style: {
418
- width: '2rem',
419
- padding: densePadding ? '0' : '0.6rem',
420
- transition: 'all 0.2s ease-in-out'
421
- },
465
+ var _useMRT = useMRT(),
466
+ tableInstance = _useMRT.tableInstance,
467
+ disableSelectAll = _useMRT.disableSelectAll,
468
+ densePadding = _useMRT.densePadding,
469
+ localization = _useMRT.localization;
470
+
471
+ return React.createElement(MRT_TableButtonCell, {
472
+ densePadding: densePadding,
422
473
  variant: "head"
423
474
  }, !disableSelectAll ? React.createElement(Checkbox, Object.assign({
424
- "aria-label": ""
475
+ inputProps: {
476
+ 'aria-label': (_localization$selectA = localization == null ? void 0 : localization.selectAllCheckboxTitle) != null ? _localization$selectA : ''
477
+ }
425
478
  }, tableInstance.getToggleAllPageRowsSelectedProps())) : null);
426
479
  };
427
480
 
481
+ var ArrowRightIcon = /*#__PURE__*/styled(MuiArrowRightIcon, {
482
+ shouldForwardProp: function shouldForwardProp(prop) {
483
+ return prop !== 'rotation';
484
+ }
485
+ })(function (_ref) {
486
+ var rotation = _ref.rotation;
487
+ return {
488
+ transform: "rotate(" + rotation + "deg)",
489
+ transition: 'transform 0.2s'
490
+ };
491
+ });
428
492
  var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
429
- var _useMaterialReactTabl = useMaterialReactTable(),
430
- tableInstance = _useMaterialReactTabl.tableInstance,
431
- localization = _useMaterialReactTabl.localization,
432
- anyRowsExpanded = _useMaterialReactTabl.anyRowsExpanded,
433
- densePadding = _useMaterialReactTabl.densePadding,
434
- renderDetailPanel = _useMaterialReactTabl.renderDetailPanel;
435
-
436
- return React.createElement(TableCell$1, Object.assign({
437
- size: "small"
438
- }, tableInstance.getToggleAllRowsExpandedProps(), {
439
- style: {
440
- padding: densePadding ? '0' : '0.5rem 0.5rem',
441
- transition: 'all 0.2s ease-in-out',
442
- width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 2) + "rem"
443
- }
444
- }), React.createElement(IconButton$2, {
493
+ var _useMRT = useMRT(),
494
+ tableInstance = _useMRT.tableInstance,
495
+ localization = _useMRT.localization,
496
+ anyRowsExpanded = _useMRT.anyRowsExpanded,
497
+ densePadding = _useMRT.densePadding;
498
+
499
+ return React.createElement(MRT_TableButtonCell, Object.assign({
500
+ size: "small",
501
+ densePadding: densePadding
502
+ }, tableInstance.getToggleAllRowsExpandedProps()), React.createElement(IconButton$2, {
445
503
  "aria-label": localization == null ? void 0 : localization.expandAllButtonTitle,
446
504
  title: localization == null ? void 0 : localization.expandAllButtonTitle
447
505
  }, React.createElement(ArrowRightIcon, {
448
506
  fontSize: "small",
449
- style: {
450
- transform: tableInstance.isAllRowsExpanded ? 'rotate(-180deg)' : anyRowsExpanded ? 'rotate(-90deg)' : 'rotate(0)',
451
- transition: 'transform 0.2s'
452
- }
507
+ rotation: tableInstance.isAllRowsExpanded ? -180 : anyRowsExpanded ? -90 : 0
453
508
  })));
454
509
  };
455
510
 
456
511
  var MRT_TableSpacerCell = function MRT_TableSpacerCell(_ref) {
457
- var _mTableBodyRowProps$s;
512
+ var _mTableBodyCellrops$s;
458
513
 
459
514
  var width = _ref.width;
460
515
 
461
- var _useMaterialReactTabl = useMaterialReactTable(),
462
- muiTableBodyCellProps = _useMaterialReactTabl.muiTableBodyCellProps;
516
+ var _useMRT = useMRT(),
517
+ muiTableBodyCellProps = _useMRT.muiTableBodyCellProps;
463
518
 
464
- var mTableBodyRowProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps() : muiTableBodyCellProps;
519
+ var mTableBodyCellrops = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps() : muiTableBodyCellProps;
465
520
 
466
- var tableCellProps = _extends({}, mTableBodyRowProps, {
521
+ var tableCellProps = _extends({}, mTableBodyCellrops, {
467
522
  style: _extends({
468
523
  width: width
469
- }, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
524
+ }, (_mTableBodyCellrops$s = mTableBodyCellrops == null ? void 0 : mTableBodyCellrops.style) != null ? _mTableBodyCellrops$s : {})
470
525
  });
471
526
 
472
- return React.createElement(TableCell$1, Object.assign({}, tableCellProps));
527
+ return React.createElement(TableCell$3, Object.assign({}, tableCellProps));
528
+ };
529
+
530
+ var MRT_TableHeadCellActions = function MRT_TableHeadCellActions() {
531
+ var _useMRT = useMRT(),
532
+ densePadding = _useMRT.densePadding,
533
+ localization = _useMRT.localization;
534
+
535
+ return React.createElement(MRT_StyledTableHeadCell, {
536
+ densePadding: densePadding,
537
+ style: {
538
+ textAlign: 'center'
539
+ }
540
+ }, localization == null ? void 0 : localization.actionsHeadColumnTitle);
473
541
  };
474
542
 
475
543
  var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
@@ -477,16 +545,16 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
477
545
 
478
546
  var headerGroup = _ref.headerGroup;
479
547
 
480
- var _useMaterialReactTabl = useMaterialReactTable(),
481
- anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
482
- disableExpandAll = _useMaterialReactTabl.disableExpandAll,
483
- enableRowActions = _useMaterialReactTabl.enableRowActions,
484
- enableSelection = _useMaterialReactTabl.enableSelection,
485
- localization = _useMaterialReactTabl.localization,
486
- muiTableHeadRowProps = _useMaterialReactTabl.muiTableHeadRowProps,
487
- positionActionsColumn = _useMaterialReactTabl.positionActionsColumn,
488
- renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
489
- tableInstance = _useMaterialReactTabl.tableInstance;
548
+ var _useMRT = useMRT(),
549
+ anyRowsCanExpand = _useMRT.anyRowsCanExpand,
550
+ disableExpandAll = _useMRT.disableExpandAll,
551
+ enableRowNumbers = _useMRT.enableRowNumbers,
552
+ enableRowActions = _useMRT.enableRowActions,
553
+ enableSelection = _useMRT.enableSelection,
554
+ muiTableHeadRowProps = _useMRT.muiTableHeadRowProps,
555
+ positionActionsColumn = _useMRT.positionActionsColumn,
556
+ renderDetailPanel = _useMRT.renderDetailPanel,
557
+ tableInstance = _useMRT.tableInstance;
490
558
 
491
559
  var isParentHeader = useMemo(function () {
492
560
  return headerGroup.headers.some(function (h) {
@@ -501,7 +569,7 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
501
569
  style: _extends({}, headerGroup.getHeaderGroupProps().style, (_mTableHeadRowProps$s = mTableHeadRowProps == null ? void 0 : mTableHeadRowProps.style) != null ? _mTableHeadRowProps$s : {})
502
570
  });
503
571
 
504
- return React.createElement(TableRow, Object.assign({}, tableRowProps), enableRowActions && positionActionsColumn === 'first' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(StyledTableHeadCell, null, localization == null ? void 0 : localization.actionsHeadColumnTitle)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React.createElement(MRT_ExpandAllButton, null) : React.createElement(MRT_TableSpacerCell, {
572
+ return React.createElement(TableRow$1, Object.assign({}, tableRowProps), enableRowNumbers && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_StyledTableHeadCell, null, "#")), enableRowActions && positionActionsColumn === 'first' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_TableHeadCellActions, null)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React.createElement(MRT_ExpandAllButton, null) : React.createElement(MRT_TableSpacerCell, {
505
573
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
506
574
  }) : null, enableSelection ? !isParentHeader ? React.createElement(MRT_SelectAllCheckbox, null) : React.createElement(MRT_TableSpacerCell, {
507
575
  width: "1rem"
@@ -510,60 +578,132 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
510
578
  key: column.getHeaderProps().key,
511
579
  column: column
512
580
  });
513
- }), enableRowActions && positionActionsColumn === 'last' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(StyledTableHeadCell, null, localization == null ? void 0 : localization.actionsHeadColumnTitle)));
581
+ }), enableRowActions && positionActionsColumn === 'last' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_TableHeadCellActions, null)));
514
582
  };
515
583
 
516
584
  var MRT_TableHead = function MRT_TableHead() {
517
- var _useMaterialReactTabl = useMaterialReactTable(),
518
- tableInstance = _useMaterialReactTabl.tableInstance,
519
- muiTableHeadProps = _useMaterialReactTabl.muiTableHeadProps;
585
+ var _useMRT = useMRT(),
586
+ tableInstance = _useMRT.tableInstance,
587
+ muiTableHeadProps = _useMRT.muiTableHeadProps;
520
588
 
521
589
  var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps(tableInstance) : muiTableHeadProps;
522
- return React.createElement(TableHead, Object.assign({}, tableHeadProps), tableInstance.headerGroups.map(function (headerGroup, index) {
590
+ return React.createElement(TableHead, Object.assign({}, tableHeadProps), tableInstance.headerGroups.map(function (headerGroup) {
523
591
  return React.createElement(MRT_TableHeadRow, {
524
- key: index + "-" + headerGroup.id,
592
+ key: headerGroup.getHeaderGroupProps().key,
525
593
  headerGroup: headerGroup
526
594
  });
527
595
  }));
528
596
  };
529
597
 
530
- var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
531
- var _mTableCellBodyProps$;
598
+ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
599
+ var _cell$column$muiTable;
532
600
 
533
601
  var cell = _ref.cell;
534
602
 
535
- var _useMaterialReactTabl = useMaterialReactTable(),
536
- onCellClick = _useMaterialReactTabl.onCellClick,
537
- muiTableBodyCellProps = _useMaterialReactTabl.muiTableBodyCellProps,
538
- densePadding = _useMaterialReactTabl.densePadding;
603
+ var _useMRT = useMRT(),
604
+ currentEditingRow = _useMRT.currentEditingRow,
605
+ localization = _useMRT.localization,
606
+ muiTableBodyCellEditTextFieldProps = _useMRT.muiTableBodyCellEditTextFieldProps,
607
+ setCurrentEditingRow = _useMRT.setCurrentEditingRow;
608
+
609
+ var handleChange = function handleChange(event) {
610
+ if (currentEditingRow) {
611
+ cell.row.values[cell.column.id] = event.target.value;
612
+ setCurrentEditingRow(_extends({}, currentEditingRow));
613
+ }
614
+
615
+ cell.column.onCellEditChange == null ? void 0 : cell.column.onCellEditChange(event, cell);
616
+ };
617
+
618
+ var mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function ? muiTableBodyCellEditTextFieldProps(cell) : muiTableBodyCellEditTextFieldProps;
619
+ var mcTableBodyCellEditTextFieldProps = cell.column.muiTableBodyCellEditTextFieldProps instanceof Function ? cell.column.muiTableBodyCellEditTextFieldProps(cell) : cell.column.muiTableBodyCellEditTextFieldProps;
620
+
621
+ var textFieldProps = _extends({}, mTableBodyCellEditTextFieldProps, mcTableBodyCellEditTextFieldProps, {
622
+ style: _extends({}, muiTableBodyCellEditTextFieldProps == null ? void 0 : muiTableBodyCellEditTextFieldProps.style, (_cell$column$muiTable = cell.column.muiTableBodyCellEditTextFieldProps) == null ? void 0 : _cell$column$muiTable.style)
623
+ });
624
+
625
+ if (cell.column.editable && cell.column.Edit) {
626
+ return React.createElement(React.Fragment, null, cell.column.Edit(_extends({}, textFieldProps, {
627
+ cell: cell
628
+ })));
629
+ }
630
+
631
+ return React.createElement(TextField$1, Object.assign({
632
+ margin: "dense",
633
+ onChange: handleChange,
634
+ onClick: function onClick(e) {
635
+ return e.stopPropagation();
636
+ },
637
+ placeholder: localization == null ? void 0 : localization.filterTextFieldPlaceholder,
638
+ value: cell.value,
639
+ variant: "standard"
640
+ }, textFieldProps));
641
+ };
642
+
643
+ var MRT_StyledTableBodyCell = /*#__PURE__*/styled(TableCell$3, {
644
+ shouldForwardProp: function shouldForwardProp(prop) {
645
+ return prop !== 'densePadding';
646
+ }
647
+ })(function (_ref) {
648
+ var densePadding = _ref.densePadding;
649
+ return {
650
+ padding: densePadding ? '0.5rem' : '1rem',
651
+ transition: 'all 0.2s ease-in-out',
652
+ whiteSpace: densePadding ? 'nowrap' : 'normal'
653
+ };
654
+ });
655
+ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref2) {
656
+ var _mTableCellBodyProps$, _mcTableCellBodyProps;
657
+
658
+ var cell = _ref2.cell;
659
+
660
+ var _useMRT = useMRT(),
661
+ onCellClick = _useMRT.onCellClick,
662
+ muiTableBodyCellProps = _useMRT.muiTableBodyCellProps,
663
+ densePadding = _useMRT.densePadding,
664
+ currentEditingRow = _useMRT.currentEditingRow;
539
665
 
540
666
  var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps(cell) : muiTableBodyCellProps;
667
+ var mcTableCellBodyProps = cell.column.muiTableBodyCellProps instanceof Function ? cell.column.muiTableBodyCellProps(cell) : cell.column.muiTableBodyCellProps;
541
668
 
542
- var tableCellProps = _extends({}, mTableCellBodyProps, cell.getCellProps(), {
543
- style: _extends({
544
- padding: densePadding ? '0.5rem' : '1rem',
545
- transition: 'all 0.2s ease-in-out'
546
- }, cell.getCellProps().style, (_mTableCellBodyProps$ = mTableCellBodyProps == null ? void 0 : mTableCellBodyProps.style) != null ? _mTableCellBodyProps$ : {})
669
+ var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps, cell.getCellProps(), {
670
+ style: _extends({}, cell.getCellProps().style, (_mTableCellBodyProps$ = mTableCellBodyProps == null ? void 0 : mTableCellBodyProps.style) != null ? _mTableCellBodyProps$ : {}, (_mcTableCellBodyProps = mcTableCellBodyProps == null ? void 0 : mcTableCellBodyProps.style) != null ? _mcTableCellBodyProps : {})
547
671
  });
548
672
 
549
- return React.createElement(TableCell$1, Object.assign({
673
+ return React.createElement(MRT_StyledTableBodyCell, Object.assign({
674
+ densePadding: densePadding,
550
675
  onClick: function onClick(event) {
551
676
  return onCellClick == null ? void 0 : onCellClick(event, cell);
552
677
  }
553
- }, tableCellProps), cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
678
+ }, tableCellProps), (currentEditingRow == null ? void 0 : currentEditingRow.id) === cell.row.id ? React.createElement(MRT_EditCellTextField, {
679
+ cell: cell
680
+ }) : cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
554
681
  };
555
682
 
556
- var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
557
- var _mTableBodyRowProps$s;
683
+ var TableCell = /*#__PURE__*/styled(TableCell$3, {
684
+ shouldForwardProp: function shouldForwardProp(prop) {
685
+ return prop !== 'isExpanded';
686
+ }
687
+ })(function (_ref) {
688
+ var isExpanded = _ref.isExpanded;
689
+ return {
690
+ borderBottom: !isExpanded ? 'none' : undefined,
691
+ paddingBottom: isExpanded ? '1rem' : 0,
692
+ paddingTop: isExpanded ? '1rem' : 0,
693
+ transition: 'all 0.2s ease-in-out'
694
+ };
695
+ });
696
+ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref2) {
697
+ var _mTableBodyRowProps$s, _mTableDetailPanelPro;
558
698
 
559
- var row = _ref.row;
699
+ var row = _ref2.row;
560
700
 
561
- var _useMaterialReactTabl = useMaterialReactTable(),
562
- tableInstance = _useMaterialReactTabl.tableInstance,
563
- renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
564
- muiTableDetailPanelProps = _useMaterialReactTabl.muiTableDetailPanelProps,
565
- muiTableBodyRowProps = _useMaterialReactTabl.muiTableBodyRowProps,
566
- onDetailPanelClick = _useMaterialReactTabl.onDetailPanelClick;
701
+ var _useMRT = useMRT(),
702
+ tableInstance = _useMRT.tableInstance,
703
+ renderDetailPanel = _useMRT.renderDetailPanel,
704
+ muiTableDetailPanelProps = _useMRT.muiTableDetailPanelProps,
705
+ muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
706
+ onDetailPanelClick = _useMRT.onDetailPanelClick;
567
707
 
568
708
  var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
569
709
 
@@ -574,18 +714,14 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
574
714
  var mTableDetailPanelProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
575
715
 
576
716
  var tableCellProps = _extends({}, mTableDetailPanelProps, {
577
- style: _extends({
578
- borderBottom: !row.isExpanded ? 'none' : undefined,
579
- paddingBottom: row.isExpanded ? '1rem' : 0,
580
- paddingTop: row.isExpanded ? '1rem' : 0,
581
- transition: 'all 0.2s ease-in-out'
582
- }, (mTableDetailPanelProps == null ? void 0 : mTableDetailPanelProps.style) || {})
717
+ style: _extends({}, (_mTableDetailPanelPro = mTableDetailPanelProps == null ? void 0 : mTableDetailPanelProps.style) != null ? _mTableDetailPanelPro : {})
583
718
  });
584
719
 
585
- return React.createElement(TableRow, Object.assign({
720
+ return React.createElement(TableRow$1, Object.assign({
586
721
  hover: true
587
- }, tableRowProps), React.createElement(TableCell$1, Object.assign({
722
+ }, tableRowProps), React.createElement(TableCell, Object.assign({
588
723
  colSpan: tableInstance.visibleColumns.length + 10,
724
+ isExpanded: row.isExpanded,
589
725
  onClick: function onClick(event) {
590
726
  return onDetailPanelClick == null ? void 0 : onDetailPanelClick(event, row);
591
727
  }
@@ -594,43 +730,58 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
594
730
  }, renderDetailPanel == null ? void 0 : renderDetailPanel(row))));
595
731
  };
596
732
 
597
- var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
598
- var row = _ref.row;
733
+ var TableCell$1 = /*#__PURE__*/styled(MRT_TableButtonCell, {
734
+ shouldForwardProp: function shouldForwardProp(prop) {
735
+ return prop !== 'depth';
736
+ }
737
+ })(function (_ref) {
738
+ var depth = _ref.depth;
739
+ return {
740
+ paddingLeft: depth + 0.5 + "rem",
741
+ textAlign: 'left'
742
+ };
743
+ });
744
+ var ExpandMoreIcon = /*#__PURE__*/styled(MuiExpandMoreIcon, {
745
+ shouldForwardProp: function shouldForwardProp(prop) {
746
+ return prop !== 'rotation';
747
+ }
748
+ })(function (_ref2) {
749
+ var rotation = _ref2.rotation;
750
+ return {
751
+ transform: "rotate(" + rotation + "deg)",
752
+ transition: 'transform 0.2s'
753
+ };
754
+ });
755
+ var MRT_ExpandButton = function MRT_ExpandButton(_ref3) {
756
+ var row = _ref3.row;
599
757
 
600
- var _useMaterialReactTabl = useMaterialReactTable(),
601
- localization = _useMaterialReactTabl.localization,
602
- tableInstance = _useMaterialReactTabl.tableInstance,
603
- densePadding = _useMaterialReactTabl.densePadding,
604
- renderDetailPanel = _useMaterialReactTabl.renderDetailPanel;
758
+ var _useMRT = useMRT(),
759
+ localization = _useMRT.localization,
760
+ densePadding = _useMRT.densePadding,
761
+ renderDetailPanel = _useMRT.renderDetailPanel;
605
762
 
606
763
  return React.createElement(TableCell$1, {
607
764
  size: "small",
608
- style: {
609
- padding: densePadding ? '0' : '0.6rem 0',
610
- paddingLeft: row.depth + 0.5 + "rem",
611
- transition: 'all 0.2s ease-in-out',
612
- width: (renderDetailPanel ? 2 : tableInstance.expandedDepth - row.depth + 2) + "rem"
613
- }
765
+ densePadding: densePadding,
766
+ depth: row.depth
614
767
  }, React.createElement(IconButton$2, Object.assign({
615
- disabled: !row.canExpand && !renderDetailPanel,
616
768
  "aria-label": localization == null ? void 0 : localization.expandButtonTitle,
769
+ disabled: !row.canExpand && !renderDetailPanel,
617
770
  title: localization == null ? void 0 : localization.expandButtonTitle
618
771
  }, row.getToggleRowExpandedProps()), React.createElement(ExpandMoreIcon, {
619
772
  fontSize: row.canExpand || renderDetailPanel ? 'medium' : 'small',
620
- style: {
621
- transform: !row.canExpand && !renderDetailPanel ? 'rotate(-90deg)' : row.isExpanded ? 'rotate(-180deg)' : 'rotate(0)',
622
- transition: 'transform 0.2s'
623
- }
773
+ rotation: !row.canExpand && !renderDetailPanel ? -90 : row.isExpanded ? -180 : 0
624
774
  })));
625
775
  };
626
776
 
627
777
  var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
628
778
  var row = _ref.row;
629
779
 
630
- var _useMaterialReactTabl = useMaterialReactTable(),
631
- tableInstance = _useMaterialReactTabl.tableInstance,
632
- onRowSelectChange = _useMaterialReactTabl.onRowSelectChange,
633
- densePadding = _useMaterialReactTabl.densePadding;
780
+ var _useMRT = useMRT(),
781
+ tableInstance = _useMRT.tableInstance,
782
+ onRowSelectChange = _useMRT.onRowSelectChange,
783
+ densePadding = _useMRT.densePadding,
784
+ localization = _useMRT.localization;
634
785
 
635
786
  var onSelectChange = function onSelectChange(event) {
636
787
  var _row$getToggleRowSele;
@@ -639,15 +790,14 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
639
790
  onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
640
791
  };
641
792
 
642
- return React.createElement(TableCell$1, {
643
- style: {
644
- width: '2rem',
645
- padding: densePadding ? '0' : '0.6rem',
646
- transition: 'all 0.2s ease-in-out'
647
- }
648
- }, React.createElement(Checkbox, Object.assign({}, row.getToggleRowSelectedProps(), {
793
+ return React.createElement(MRT_TableButtonCell, {
794
+ densePadding: densePadding
795
+ }, React.createElement(Checkbox, Object.assign({
796
+ inputProps: {
797
+ 'aria-label': localization == null ? void 0 : localization.selectCheckboxTitle
798
+ },
649
799
  onChange: onSelectChange
650
- })));
800
+ }, row.getToggleRowSelectedProps())));
651
801
  };
652
802
 
653
803
  var MenuItem$1 = /*#__PURE__*/styled(MenuItem$2)({
@@ -659,19 +809,14 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
659
809
 
660
810
  var anchorEl = _ref.anchorEl,
661
811
  row = _ref.row,
812
+ handleEdit = _ref.handleEdit,
662
813
  setAnchorEl = _ref.setAnchorEl;
663
814
 
664
- var _useMaterialReactTabl = useMaterialReactTable(),
665
- enableRowEditing = _useMaterialReactTabl.enableRowEditing,
666
- localization = _useMaterialReactTabl.localization,
667
- renderRowActionMenuItems = _useMaterialReactTabl.renderRowActionMenuItems,
668
- setCurrentEditingRowId = _useMaterialReactTabl.setCurrentEditingRowId,
669
- tableInstance = _useMaterialReactTabl.tableInstance;
670
-
671
- var handleEdit = function handleEdit() {
672
- setCurrentEditingRowId(row.id);
673
- setAnchorEl(null);
674
- };
815
+ var _useMRT = useMRT(),
816
+ enableRowEditing = _useMRT.enableRowEditing,
817
+ localization = _useMRT.localization,
818
+ renderRowActionMenuItems = _useMRT.renderRowActionMenuItems,
819
+ tableInstance = _useMRT.tableInstance;
675
820
 
676
821
  return React.createElement(Menu, {
677
822
  anchorEl: anchorEl,
@@ -1455,13 +1600,15 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1455
1600
 
1456
1601
  var row = _ref.row;
1457
1602
 
1458
- var _useMaterialReactTabl = useMaterialReactTable(),
1459
- localization = _useMaterialReactTabl.localization,
1460
- setCurrentEditingRowId = _useMaterialReactTabl.setCurrentEditingRowId,
1461
- onRowEditSubmit = _useMaterialReactTabl.onRowEditSubmit;
1603
+ var _useMRT = useMRT(),
1604
+ localization = _useMRT.localization,
1605
+ setCurrentEditingRow = _useMRT.setCurrentEditingRow,
1606
+ onRowEditSubmit = _useMRT.onRowEditSubmit,
1607
+ currentEditingRow = _useMRT.currentEditingRow;
1462
1608
 
1463
1609
  var handleCancel = function handleCancel() {
1464
- setCurrentEditingRowId(null);
1610
+ row.values = row.original;
1611
+ setCurrentEditingRow(null);
1465
1612
  };
1466
1613
 
1467
1614
  var handleSave = /*#__PURE__*/function () {
@@ -1470,9 +1617,11 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1470
1617
  while (1) {
1471
1618
  switch (_context.prev = _context.next) {
1472
1619
  case 0:
1473
- setCurrentEditingRowId(null);
1474
- _context.next = 3;
1475
- return onRowEditSubmit == null ? void 0 : onRowEditSubmit(row);
1620
+ _context.next = 2;
1621
+ return onRowEditSubmit == null ? void 0 : onRowEditSubmit(currentEditingRow != null ? currentEditingRow : row);
1622
+
1623
+ case 2:
1624
+ setCurrentEditingRow(null);
1476
1625
 
1477
1626
  case 3:
1478
1627
  case "end":
@@ -1514,13 +1663,19 @@ var IconButton$1 = /*#__PURE__*/styled(IconButton$2)({
1514
1663
  }
1515
1664
  });
1516
1665
  var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref) {
1666
+ var _localization$rowActi;
1667
+
1517
1668
  var row = _ref.row;
1518
1669
 
1519
- var _useMaterialReactTabl = useMaterialReactTable(),
1520
- localization = _useMaterialReactTabl.localization,
1521
- currentEditingRowId = _useMaterialReactTabl.currentEditingRowId,
1522
- renderRowActions = _useMaterialReactTabl.renderRowActions,
1523
- tableInstance = _useMaterialReactTabl.tableInstance;
1670
+ var _useMRT = useMRT(),
1671
+ currentEditingRow = _useMRT.currentEditingRow,
1672
+ densePadding = _useMRT.densePadding,
1673
+ localization = _useMRT.localization,
1674
+ renderRowActionMenuItems = _useMRT.renderRowActionMenuItems,
1675
+ enableRowEditing = _useMRT.enableRowEditing,
1676
+ setCurrentEditingRow = _useMRT.setCurrentEditingRow,
1677
+ renderRowActions = _useMRT.renderRowActions,
1678
+ tableInstance = _useMRT.tableInstance;
1524
1679
 
1525
1680
  var _useState = useState(null),
1526
1681
  anchorEl = _useState[0],
@@ -1532,59 +1687,75 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1532
1687
  setAnchorEl(event.currentTarget);
1533
1688
  };
1534
1689
 
1535
- if (renderRowActions) {
1536
- return React.createElement(React.Fragment, null, renderRowActions(row, tableInstance));
1537
- }
1538
-
1539
- if (row.id === currentEditingRowId) {
1540
- return React.createElement(MRT_EditActionButtons, {
1541
- row: row
1542
- });
1543
- }
1690
+ var handleEdit = function handleEdit() {
1691
+ setCurrentEditingRow(_extends({}, row));
1692
+ setAnchorEl(null);
1693
+ };
1544
1694
 
1545
- return React.createElement(React.Fragment, null, React.createElement(IconButton$1, {
1695
+ return React.createElement(MRT_TableButtonCell, {
1696
+ densePadding: densePadding
1697
+ }, renderRowActions ? React.createElement(React.Fragment, null, renderRowActions(row, tableInstance)) : row.id === (currentEditingRow == null ? void 0 : currentEditingRow.id) ? React.createElement(MRT_EditActionButtons, {
1698
+ row: row
1699
+ }) : !renderRowActionMenuItems && enableRowEditing ? React.createElement(Tooltip, {
1700
+ placement: "right",
1701
+ arrow: true,
1702
+ title: (_localization$rowActi = localization == null ? void 0 : localization.rowActionMenuItemEdit) != null ? _localization$rowActi : ''
1703
+ }, React.createElement(IconButton$1, {
1704
+ onClick: handleEdit
1705
+ }, React.createElement(EditIcon, null))) : renderRowActionMenuItems ? React.createElement(React.Fragment, null, React.createElement(IconButton$1, {
1546
1706
  "aria-label": localization == null ? void 0 : localization.rowActionMenuButtonTitle,
1547
1707
  title: localization == null ? void 0 : localization.rowActionMenuButtonTitle,
1548
1708
  onClick: handleOpenRowActionMenu,
1549
1709
  size: "small"
1550
1710
  }, React.createElement(MoreHorizIcon, null)), React.createElement(MRT_RowActionMenu, {
1551
1711
  anchorEl: anchorEl,
1712
+ handleEdit: handleEdit,
1552
1713
  row: row,
1553
1714
  setAnchorEl: setAnchorEl
1554
- }));
1715
+ })) : null);
1555
1716
  };
1556
1717
 
1557
- var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
1718
+ var TableRow = /*#__PURE__*/styled(TableRow$1, {
1719
+ shouldForwardProp: function shouldForwardProp(prop) {
1720
+ return prop !== 'isSelected';
1721
+ }
1722
+ })(function (_ref) {
1723
+ var isSelected = _ref.isSelected,
1724
+ theme = _ref.theme;
1725
+ return {
1726
+ backgroundColor: isSelected ? alpha(theme.palette.primary.light, 0.1) : 'transparent'
1727
+ };
1728
+ });
1729
+ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1558
1730
  var _mTableBodyRowProps$s;
1559
1731
 
1560
- var row = _ref.row;
1732
+ var row = _ref2.row;
1561
1733
 
1562
- var _useMaterialReactTabl = useMaterialReactTable(),
1563
- anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
1564
- enableRowActions = _useMaterialReactTabl.enableRowActions,
1565
- enableSelection = _useMaterialReactTabl.enableSelection,
1566
- muiTableBodyRowProps = _useMaterialReactTabl.muiTableBodyRowProps,
1567
- onRowClick = _useMaterialReactTabl.onRowClick,
1568
- positionActionsColumn = _useMaterialReactTabl.positionActionsColumn,
1569
- renderDetailPanel = _useMaterialReactTabl.renderDetailPanel;
1734
+ var _useMRT = useMRT(),
1735
+ anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1736
+ enableRowActions = _useMRT.enableRowActions,
1737
+ enableRowNumbers = _useMRT.enableRowNumbers,
1738
+ enableSelection = _useMRT.enableSelection,
1739
+ muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
1740
+ onRowClick = _useMRT.onRowClick,
1741
+ positionActionsColumn = _useMRT.positionActionsColumn,
1742
+ renderDetailPanel = _useMRT.renderDetailPanel;
1570
1743
 
1571
- var theme = useTheme();
1572
1744
  var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
1573
1745
 
1574
1746
  var tableRowProps = _extends({}, mTableBodyRowProps, row.getRowProps(), {
1575
- style: _extends({
1576
- backgroundColor: row.isSelected ? alpha(theme.palette.primary.light, 0.1) : 'transparent'
1577
- }, row.getRowProps().style, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
1747
+ style: _extends({}, row.getRowProps().style, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
1578
1748
  });
1579
1749
 
1580
1750
  return React.createElement(React.Fragment, null, React.createElement(TableRow, Object.assign({
1751
+ isSelected: row.isSelected,
1581
1752
  hover: true,
1582
1753
  onClick: function onClick(event) {
1583
1754
  return onRowClick == null ? void 0 : onRowClick(event, row);
1584
1755
  }
1585
- }, tableRowProps), enableRowActions && positionActionsColumn === 'first' && React.createElement(TableCell$1, null, React.createElement(MRT_ToggleRowActionMenuButton, {
1756
+ }, tableRowProps), enableRowNumbers && React.createElement(MRT_StyledTableBodyCell, null, row.index + 1), enableRowActions && positionActionsColumn === 'first' && React.createElement(MRT_ToggleRowActionMenuButton, {
1586
1757
  row: row
1587
- })), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_ExpandButton, {
1758
+ }), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_ExpandButton, {
1588
1759
  row: row
1589
1760
  }), enableSelection && React.createElement(MRT_SelectCheckbox, {
1590
1761
  row: row
@@ -1593,9 +1764,9 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
1593
1764
  key: cell.getCellProps().key,
1594
1765
  cell: cell
1595
1766
  });
1596
- }), enableRowActions && positionActionsColumn === 'last' && React.createElement(TableCell$1, null, React.createElement(MRT_ToggleRowActionMenuButton, {
1767
+ }), enableRowActions && positionActionsColumn === 'last' && React.createElement(MRT_ToggleRowActionMenuButton, {
1597
1768
  row: row
1598
- }))), renderDetailPanel && React.createElement(MRT_TableDetailPanel, {
1769
+ })), renderDetailPanel && React.createElement(MRT_TableDetailPanel, {
1599
1770
  row: row
1600
1771
  }));
1601
1772
  };
@@ -1603,27 +1774,13 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
1603
1774
  var TableBody = /*#__PURE__*/styled(TableBody$1)({
1604
1775
  overflowY: 'hidden'
1605
1776
  });
1606
- var CircularProgressWrapper = /*#__PURE__*/styled('div')(function (_ref) {
1607
- var theme = _ref.theme;
1608
- return {
1609
- backgroundColor: alpha(theme.palette.background.paper, 0.5),
1610
- display: 'grid',
1611
- height: '100%',
1612
- justifyContent: 'center',
1613
- margin: 'auto',
1614
- paddingTop: '5rem',
1615
- position: 'fixed',
1616
- width: 'calc(100% - 2rem)'
1617
- };
1618
- });
1619
1777
  var MRT_TableBody = function MRT_TableBody() {
1620
1778
  var _muiTableBodyProps$st;
1621
1779
 
1622
- var _useMaterialReactTabl = useMaterialReactTable(),
1623
- tableInstance = _useMaterialReactTabl.tableInstance,
1624
- muiTableBodyProps = _useMaterialReactTabl.muiTableBodyProps,
1625
- isLoading = _useMaterialReactTabl.isLoading,
1626
- manualPagination = _useMaterialReactTabl.manualPagination;
1780
+ var _useMRT = useMRT(),
1781
+ tableInstance = _useMRT.tableInstance,
1782
+ muiTableBodyProps = _useMRT.muiTableBodyProps,
1783
+ manualPagination = _useMRT.manualPagination;
1627
1784
 
1628
1785
  var rows = manualPagination ? tableInstance.rows : tableInstance.page;
1629
1786
 
@@ -1631,7 +1788,7 @@ var MRT_TableBody = function MRT_TableBody() {
1631
1788
  style: _extends({}, tableInstance.getTableBodyProps().style, (_muiTableBodyProps$st = muiTableBodyProps == null ? void 0 : muiTableBodyProps.style) != null ? _muiTableBodyProps$st : {})
1632
1789
  });
1633
1790
 
1634
- return React.createElement(TableBody, Object.assign({}, tableBodyProps), isLoading && React.createElement(CircularProgressWrapper, null, React.createElement(CircularProgress, null)), rows.map(function (row) {
1791
+ return React.createElement(TableBody, Object.assign({}, tableBodyProps), rows.map(function (row) {
1635
1792
  tableInstance.prepareRow(row);
1636
1793
  return React.createElement(MRT_TableBodyRow, {
1637
1794
  key: row.getRowProps().key,
@@ -1640,30 +1797,42 @@ var MRT_TableBody = function MRT_TableBody() {
1640
1797
  }));
1641
1798
  };
1642
1799
 
1643
- var TableCell = /*#__PURE__*/styled(TableCell$1)({
1644
- fontWeight: 'bold'
1800
+ var TableCell$2 = /*#__PURE__*/styled(TableCell$3, {
1801
+ shouldForwardProp: function shouldForwardProp(prop) {
1802
+ return prop !== 'densePadding' && prop !== 'enableColumnResizing';
1803
+ }
1804
+ })(function (_ref) {
1805
+ var densePadding = _ref.densePadding,
1806
+ enableColumnResizing = _ref.enableColumnResizing;
1807
+ return {
1808
+ fontWeight: 'bold',
1809
+ verticalAlign: 'text-top',
1810
+ padding: densePadding ? '0.5rem' : '1rem',
1811
+ transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out"
1812
+ };
1645
1813
  });
1646
- var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
1647
- var _column$columns$lengt, _column$columns, _mTableFooterCellProp;
1814
+ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref2) {
1815
+ var _column$columns$lengt, _column$columns, _mTableFooterCellProp, _mcTableFooterCellPro;
1648
1816
 
1649
- var column = _ref.column;
1817
+ var column = _ref2.column;
1650
1818
 
1651
- var _useMaterialReactTabl = useMaterialReactTable(),
1652
- muiTableFooterCellProps = _useMaterialReactTabl.muiTableFooterCellProps,
1653
- densePadding = _useMaterialReactTabl.densePadding;
1819
+ var _useMRT = useMRT(),
1820
+ muiTableFooterCellProps = _useMRT.muiTableFooterCellProps,
1821
+ densePadding = _useMRT.densePadding,
1822
+ enableColumnResizing = _useMRT.enableColumnResizing;
1654
1823
 
1655
1824
  var isParentHeader = ((_column$columns$lengt = column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.length) != null ? _column$columns$lengt : 0) > 0;
1656
1825
  var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
1826
+ var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
1657
1827
 
1658
- var tableCellProps = _extends({}, mTableFooterCellProps, column.getFooterProps(), {
1659
- style: _extends({
1660
- padding: densePadding ? '0.5rem' : '1rem',
1661
- transition: 'all 0.2s ease-in-out'
1662
- }, column.getFooterProps().style, (_mTableFooterCellProp = mTableFooterCellProps == null ? void 0 : mTableFooterCellProps.style) != null ? _mTableFooterCellProp : {})
1828
+ var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps, column.getFooterProps(), {
1829
+ style: _extends({}, column.getFooterProps().style, (_mTableFooterCellProp = mTableFooterCellProps == null ? void 0 : mTableFooterCellProps.style) != null ? _mTableFooterCellProp : {}, (_mcTableFooterCellPro = mcTableFooterCellProps == null ? void 0 : mcTableFooterCellProps.style) != null ? _mcTableFooterCellPro : {})
1663
1830
  });
1664
1831
 
1665
- return React.createElement(TableCell, Object.assign({
1832
+ return React.createElement(TableCell$2, Object.assign({
1666
1833
  align: isParentHeader ? 'center' : 'left',
1834
+ densePadding: densePadding,
1835
+ enableColumnResizing: enableColumnResizing,
1667
1836
  variant: "head"
1668
1837
  }, tableCellProps), column.render('Footer'));
1669
1838
  };
@@ -1673,15 +1842,16 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1673
1842
 
1674
1843
  var footerGroup = _ref.footerGroup;
1675
1844
 
1676
- var _useMaterialReactTabl = useMaterialReactTable(),
1677
- renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
1678
- columns = _useMaterialReactTabl.columns,
1679
- anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
1680
- enableSelection = _useMaterialReactTabl.enableSelection,
1681
- enableRowActions = _useMaterialReactTabl.enableRowActions,
1682
- positionActionsColumn = _useMaterialReactTabl.positionActionsColumn,
1683
- tableInstance = _useMaterialReactTabl.tableInstance,
1684
- muiTableFooterRowProps = _useMaterialReactTabl.muiTableFooterRowProps; //if no content in row, skip row
1845
+ var _useMRT = useMRT(),
1846
+ renderDetailPanel = _useMRT.renderDetailPanel,
1847
+ columns = _useMRT.columns,
1848
+ anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1849
+ enableSelection = _useMRT.enableSelection,
1850
+ enableRowActions = _useMRT.enableRowActions,
1851
+ enableRowNumbers = _useMRT.enableRowNumbers,
1852
+ positionActionsColumn = _useMRT.positionActionsColumn,
1853
+ tableInstance = _useMRT.tableInstance,
1854
+ muiTableFooterRowProps = _useMRT.muiTableFooterRowProps; //if no content in row, skip row
1685
1855
 
1686
1856
 
1687
1857
  if (!(columns != null && columns.some(function (c) {
@@ -1693,26 +1863,26 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1693
1863
  style: _extends({}, footerGroup.getFooterGroupProps().style, (_mTableFooterRowProps = mTableFooterRowProps == null ? void 0 : mTableFooterRowProps.style) != null ? _mTableFooterRowProps : {})
1694
1864
  });
1695
1865
 
1696
- return React.createElement(TableRow, Object.assign({}, tableRowProps), enableRowActions && positionActionsColumn === 'first' && React.createElement(MRT_TableSpacerCell, null), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_TableSpacerCell, {
1866
+ return React.createElement(TableRow$1, Object.assign({}, tableRowProps), enableRowNumbers && React.createElement(MRT_TableSpacerCell, null), enableRowActions && positionActionsColumn === 'first' && React.createElement(MRT_TableSpacerCell, null), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_TableSpacerCell, {
1697
1867
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
1698
1868
  }), enableSelection && React.createElement(MRT_TableSpacerCell, {
1699
1869
  width: "1rem"
1700
- }), footerGroup.headers.map(function (column, index) {
1870
+ }), footerGroup.headers.map(function (column) {
1701
1871
  return React.createElement(MRT_TableFooterCell, {
1702
- key: index + "-" + column.id,
1872
+ key: column.getFooterProps().key,
1703
1873
  column: column
1704
1874
  });
1705
1875
  }), enableRowActions && positionActionsColumn === 'last' && React.createElement(MRT_TableSpacerCell, null));
1706
1876
  };
1707
1877
 
1708
1878
  var MRT_TableFooter = function MRT_TableFooter() {
1709
- var _useMaterialReactTabl = useMaterialReactTable(),
1710
- muiTableFooterProps = _useMaterialReactTabl.muiTableFooterProps,
1711
- tableInstance = _useMaterialReactTabl.tableInstance;
1879
+ var _useMRT = useMRT(),
1880
+ muiTableFooterProps = _useMRT.muiTableFooterProps,
1881
+ tableInstance = _useMRT.tableInstance;
1712
1882
 
1713
- return React.createElement(TableFooter, Object.assign({}, muiTableFooterProps), tableInstance.footerGroups.map(function (footerGroup, index) {
1883
+ return React.createElement(TableFooter, Object.assign({}, muiTableFooterProps), tableInstance.footerGroups.map(function (footerGroup) {
1714
1884
  return React.createElement(MRT_TableFooterRow, {
1715
- key: index + "-" + footerGroup.id,
1885
+ key: footerGroup.getFooterGroupProps().key,
1716
1886
  footerGroup: footerGroup
1717
1887
  });
1718
1888
  }));
@@ -1721,11 +1891,11 @@ var MRT_TableFooter = function MRT_TableFooter() {
1721
1891
  var MRT_Table = function MRT_Table() {
1722
1892
  var _muiTableProps$style;
1723
1893
 
1724
- var _useMaterialReactTabl = useMaterialReactTable(),
1725
- tableInstance = _useMaterialReactTabl.tableInstance,
1726
- muiTableProps = _useMaterialReactTabl.muiTableProps,
1727
- hideTableHead = _useMaterialReactTabl.hideTableHead,
1728
- hideTableFooter = _useMaterialReactTabl.hideTableFooter;
1894
+ var _useMRT = useMRT(),
1895
+ tableInstance = _useMRT.tableInstance,
1896
+ muiTableProps = _useMRT.muiTableProps,
1897
+ hideTableHead = _useMRT.hideTableHead,
1898
+ hideTableFooter = _useMRT.hideTableFooter;
1729
1899
 
1730
1900
  var tableProps = _extends({}, muiTableProps, tableInstance.getTableProps(), {
1731
1901
  style: _extends({}, tableInstance.getTableProps().style, (_muiTableProps$style = muiTableProps == null ? void 0 : muiTableProps.style) != null ? _muiTableProps$style : {})
@@ -1738,11 +1908,12 @@ var TextField = /*#__PURE__*/styled(TextField$1)({
1738
1908
  justifySelf: 'end'
1739
1909
  });
1740
1910
  var MRT_SearchTextField = function MRT_SearchTextField() {
1741
- var _useMaterialReactTabl = useMaterialReactTable(),
1742
- tableInstance = _useMaterialReactTabl.tableInstance,
1743
- muiSearchTextFieldProps = _useMaterialReactTabl.muiSearchTextFieldProps,
1744
- localization = _useMaterialReactTabl.localization,
1745
- onGlobalFilterChange = _useMaterialReactTabl.onGlobalFilterChange;
1911
+ var _useMRT = useMRT(),
1912
+ showSearch = _useMRT.showSearch,
1913
+ localization = _useMRT.localization,
1914
+ muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
1915
+ onGlobalFilterChange = _useMRT.onGlobalFilterChange,
1916
+ tableInstance = _useMRT.tableInstance;
1746
1917
 
1747
1918
  var _useState = useState(''),
1748
1919
  searchValue = _useState[0],
@@ -1760,7 +1931,11 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
1760
1931
  tableInstance.setGlobalFilter(undefined);
1761
1932
  };
1762
1933
 
1763
- return React.createElement(TextField, Object.assign({
1934
+ return React.createElement(Collapse, {
1935
+ "in": showSearch,
1936
+ orientation: "horizontal"
1937
+ }, React.createElement(TextField, Object.assign({
1938
+ id: "global-search-text-field",
1764
1939
  placeholder: localization == null ? void 0 : localization.searchTextFieldPlaceholder,
1765
1940
  onChange: function onChange(event) {
1766
1941
  setSearchValue(event.target.value);
@@ -1786,16 +1961,16 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
1786
1961
  fontSize: "small"
1787
1962
  })))
1788
1963
  }
1789
- }, muiSearchTextFieldProps));
1964
+ }, muiSearchTextFieldProps)));
1790
1965
  };
1791
1966
 
1792
1967
  var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton() {
1793
1968
  var _localization$toggleF;
1794
1969
 
1795
- var _useMaterialReactTabl = useMaterialReactTable(),
1796
- localization = _useMaterialReactTabl.localization,
1797
- setShowFilters = _useMaterialReactTabl.setShowFilters,
1798
- showFilters = _useMaterialReactTabl.showFilters;
1970
+ var _useMRT = useMRT(),
1971
+ localization = _useMRT.localization,
1972
+ setShowFilters = _useMRT.setShowFilters,
1973
+ showFilters = _useMRT.showFilters;
1799
1974
 
1800
1975
  return React.createElement(Tooltip, {
1801
1976
  arrow: true,
@@ -1810,26 +1985,39 @@ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton() {
1810
1985
  };
1811
1986
 
1812
1987
  var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
1813
- var _column$columns;
1988
+ var _column$columns$lengt, _column$columns, _column$columns2, _column$isVisible, _column$columns4;
1814
1989
 
1815
1990
  var column = _ref.column;
1991
+ var isParentHeader = ((_column$columns$lengt = column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.length) != null ? _column$columns$lengt : 0) > 0;
1992
+ var allChildColumnsVisible = isParentHeader && !!((_column$columns2 = column.columns) != null && _column$columns2.every(function (childColumn) {
1993
+ return childColumn.isVisible;
1994
+ }));
1995
+ var switchChecked = (_column$isVisible = column.isVisible) != null ? _column$isVisible : allChildColumnsVisible;
1816
1996
 
1817
- var _useMaterialReactTabl = useMaterialReactTable(),
1818
- maxColumnDepth = _useMaterialReactTabl.maxColumnDepth;
1997
+ var handleToggleColumnHidden = function handleToggleColumnHidden(column) {
1998
+ if (isParentHeader) {
1999
+ var _column$columns3;
2000
+
2001
+ column == null ? void 0 : (_column$columns3 = column.columns) == null ? void 0 : _column$columns3.forEach == null ? void 0 : _column$columns3.forEach(function (childColumn) {
2002
+ childColumn.toggleHidden(switchChecked);
2003
+ });
2004
+ } else {
2005
+ column.toggleHidden();
2006
+ }
2007
+ };
1819
2008
 
1820
- var isMaxDepth = column.depth === maxColumnDepth;
1821
2009
  return React.createElement(React.Fragment, null, React.createElement(MenuItem$2, {
1822
2010
  style: {
1823
- paddingLeft: column.depth + 1 + "rem"
2011
+ paddingLeft: (column.depth + 0.5) * 2 + "rem"
1824
2012
  }
1825
- }, isMaxDepth ? React.createElement(FormControlLabel, {
1826
- checked: column.isVisible,
2013
+ }, React.createElement(FormControlLabel, {
2014
+ checked: switchChecked,
1827
2015
  control: React.createElement(Switch, null),
1828
2016
  label: column.Header,
1829
2017
  onChange: function onChange() {
1830
- return isMaxDepth && column.toggleHidden();
2018
+ return handleToggleColumnHidden(column);
1831
2019
  }
1832
- }) : React.createElement(Typography, null, column.Header)), (_column$columns = column.columns) == null ? void 0 : _column$columns.map(function (c, i) {
2020
+ })), (_column$columns4 = column.columns) == null ? void 0 : _column$columns4.map(function (c, i) {
1833
2021
  return React.createElement(MRT_ShowHideColumnsMenu, {
1834
2022
  key: i + "-" + c.id,
1835
2023
  column: c
@@ -1837,12 +2025,17 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
1837
2025
  }));
1838
2026
  };
1839
2027
 
2028
+ var MenuButtons = /*#__PURE__*/styled('div')({
2029
+ display: 'flex',
2030
+ justifyContent: 'space-between',
2031
+ padding: '0 0.5rem 0.5rem 0.5rem'
2032
+ });
1840
2033
  var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
1841
2034
  var _localization$showHid;
1842
2035
 
1843
- var _useMaterialReactTabl = useMaterialReactTable(),
1844
- tableInstance = _useMaterialReactTabl.tableInstance,
1845
- localization = _useMaterialReactTabl.localization;
2036
+ var _useMRT = useMRT(),
2037
+ tableInstance = _useMRT.tableInstance,
2038
+ localization = _useMRT.localization;
1846
2039
 
1847
2040
  var _useState = useState(null),
1848
2041
  anchorEl = _useState[0],
@@ -1865,7 +2058,17 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
1865
2058
  onClose: function onClose() {
1866
2059
  return setAnchorEl(null);
1867
2060
  }
1868
- }, tableInstance.columns.map(function (column, index) {
2061
+ }, React.createElement(MenuButtons, null, React.createElement(Button, {
2062
+ disabled: !tableInstance.getToggleHideAllColumnsProps().checked && !tableInstance.getToggleHideAllColumnsProps().indeterminate,
2063
+ onClick: function onClick() {
2064
+ return tableInstance.toggleHideAllColumns(true);
2065
+ }
2066
+ }, localization == null ? void 0 : localization.columnShowHideMenuHideAll), React.createElement(Button, {
2067
+ disabled: tableInstance.getToggleHideAllColumnsProps().checked,
2068
+ onClick: function onClick() {
2069
+ return tableInstance.toggleHideAllColumns(false);
2070
+ }
2071
+ }, localization == null ? void 0 : localization.columnShowHideMenuShowAll)), React.createElement(Divider$1, null), tableInstance.columns.map(function (column, index) {
1869
2072
  return React.createElement(MRT_ShowHideColumnsMenu, {
1870
2073
  key: index + "-" + column.id,
1871
2074
  column: column
@@ -1874,17 +2077,20 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
1874
2077
  };
1875
2078
 
1876
2079
  var MRT_DensePaddingSwitch = function MRT_DensePaddingSwitch() {
1877
- var _localization$toggleD;
2080
+ var _localization$toggleD, _localization$toggleD2;
1878
2081
 
1879
- var _useMaterialReactTabl = useMaterialReactTable(),
1880
- densePadding = _useMaterialReactTabl.densePadding,
1881
- setDensePadding = _useMaterialReactTabl.setDensePadding,
1882
- localization = _useMaterialReactTabl.localization;
2082
+ var _useMRT = useMRT(),
2083
+ densePadding = _useMRT.densePadding,
2084
+ setDensePadding = _useMRT.setDensePadding,
2085
+ localization = _useMRT.localization;
1883
2086
 
1884
2087
  return React.createElement(Tooltip, {
1885
2088
  arrow: true,
1886
2089
  title: (_localization$toggleD = localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle) != null ? _localization$toggleD : ''
1887
2090
  }, React.createElement(Switch, {
2091
+ inputProps: {
2092
+ 'aria-label': (_localization$toggleD2 = localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle) != null ? _localization$toggleD2 : ''
2093
+ },
1888
2094
  color: "default",
1889
2095
  checked: densePadding,
1890
2096
  size: "small",
@@ -1894,24 +2100,73 @@ var MRT_DensePaddingSwitch = function MRT_DensePaddingSwitch() {
1894
2100
  }));
1895
2101
  };
1896
2102
 
2103
+ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton() {
2104
+ var _localization$toggleS;
2105
+
2106
+ var _useMRT = useMRT(),
2107
+ localization = _useMRT.localization,
2108
+ setShowSearch = _useMRT.setShowSearch,
2109
+ showSearch = _useMRT.showSearch,
2110
+ muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps;
2111
+
2112
+ var handleToggleSearch = function handleToggleSearch() {
2113
+ setShowSearch(!showSearch);
2114
+ setTimeout(function () {
2115
+ var _document$getElementB, _muiSearchTextFieldPr;
2116
+
2117
+ return (_document$getElementB = document.getElementById((_muiSearchTextFieldPr = muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.id) != null ? _muiSearchTextFieldPr : "global-search-text-field")) == null ? void 0 : _document$getElementB.focus();
2118
+ }, 200);
2119
+ };
2120
+
2121
+ return React.createElement(Tooltip, {
2122
+ arrow: true,
2123
+ title: (_localization$toggleS = localization == null ? void 0 : localization.toggleSearchButtonTitle) != null ? _localization$toggleS : ''
2124
+ }, React.createElement(IconButton$2, {
2125
+ size: "small",
2126
+ onClick: handleToggleSearch
2127
+ }, showSearch ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
2128
+ };
2129
+
2130
+ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton() {
2131
+ var _localization$toggleF;
2132
+
2133
+ var _useMRT = useMRT(),
2134
+ localization = _useMRT.localization,
2135
+ setFullScreen = _useMRT.setFullScreen,
2136
+ fullScreen = _useMRT.fullScreen;
2137
+
2138
+ return React.createElement(Tooltip, {
2139
+ arrow: true,
2140
+ title: (_localization$toggleF = localization == null ? void 0 : localization.toggleFullScreenButtonTitle) != null ? _localization$toggleF : ''
2141
+ }, React.createElement(IconButton$2, {
2142
+ "aria-label": localization == null ? void 0 : localization.toggleFilterButtonTitle,
2143
+ onClick: function onClick() {
2144
+ return setFullScreen(!fullScreen);
2145
+ },
2146
+ size: "small"
2147
+ }, fullScreen ? React.createElement(FilterListOffIcon$1, null) : React.createElement(FilterListIcon, null)));
2148
+ };
2149
+
1897
2150
  var ToolbarButtonsContainer = /*#__PURE__*/styled('div')({
1898
2151
  display: 'flex',
1899
2152
  gap: '0.5rem',
1900
2153
  alignItems: 'center'
1901
2154
  });
1902
- var MRT_ToolbarButtons = function MRT_ToolbarButtons() {
1903
- var _useMaterialReactTabl = useMaterialReactTable(),
1904
- disableFilters = _useMaterialReactTabl.disableFilters,
1905
- disableColumnHiding = _useMaterialReactTabl.disableColumnHiding,
1906
- disableDensePaddingToggle = _useMaterialReactTabl.disableDensePaddingToggle;
1907
-
1908
- return React.createElement(ToolbarButtonsContainer, null, !disableFilters && React.createElement(MRT_ToggleFiltersButton, null), !disableColumnHiding && React.createElement(MRT_ShowHideColumnsButton, null), !disableDensePaddingToggle && React.createElement(MRT_DensePaddingSwitch, null));
2155
+ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons() {
2156
+ var _useMRT = useMRT(),
2157
+ disableFilters = _useMRT.disableFilters,
2158
+ disableColumnHiding = _useMRT.disableColumnHiding,
2159
+ disableDensePaddingToggle = _useMRT.disableDensePaddingToggle,
2160
+ disableGlobalFilter = _useMRT.disableGlobalFilter,
2161
+ disableFullScreenToggle = _useMRT.disableFullScreenToggle;
2162
+
2163
+ return React.createElement(ToolbarButtonsContainer, null, !disableGlobalFilter && React.createElement(MRT_ToggleSearchButton, null), !disableFilters && React.createElement(MRT_ToggleFiltersButton, null), !disableColumnHiding && React.createElement(MRT_ShowHideColumnsButton, null), !disableDensePaddingToggle && React.createElement(MRT_DensePaddingSwitch, null), !disableFullScreenToggle && React.createElement(MRT_FullScreenToggleButton, null));
1909
2164
  };
1910
2165
 
1911
2166
  var MRT_TablePagination = function MRT_TablePagination() {
1912
- var _useMaterialReactTabl = useMaterialReactTable(),
1913
- tableInstance = _useMaterialReactTabl.tableInstance,
1914
- muiTablePaginationProps = _useMaterialReactTabl.muiTablePaginationProps;
2167
+ var _useMRT = useMRT(),
2168
+ tableInstance = _useMRT.tableInstance,
2169
+ muiTablePaginationProps = _useMRT.muiTablePaginationProps;
1915
2170
 
1916
2171
  var tablePaginationProps = muiTablePaginationProps instanceof Function ? muiTablePaginationProps(tableInstance) : muiTablePaginationProps;
1917
2172
 
@@ -1930,116 +2185,216 @@ var MRT_TablePagination = function MRT_TablePagination() {
1930
2185
  page: tableInstance.state.pageIndex,
1931
2186
  rowsPerPage: tableInstance.state.pageSize,
1932
2187
  showFirstButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
1933
- showLastButton: tableInstance.rows.length / tableInstance.state.pageSize > 2
2188
+ showLastButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2189
+ style: {
2190
+ padding: 0,
2191
+ position: 'relative',
2192
+ zIndex: 2
2193
+ }
1934
2194
  }, tablePaginationProps));
1935
2195
  };
1936
2196
 
2197
+ var Alert = /*#__PURE__*/styled(Alert$1, {
2198
+ shouldForwardProp: function shouldForwardProp(prop) {
2199
+ return prop !== 'displayAbsolute' && prop !== 'toolbarPosition';
2200
+ }
2201
+ })(function (_ref) {
2202
+ var displayAbsolute = _ref.displayAbsolute,
2203
+ toolbarPosition = _ref.toolbarPosition;
2204
+ return {
2205
+ borderRadius: 0,
2206
+ fontSize: '1rem',
2207
+ left: 0,
2208
+ marginLeft: !displayAbsolute ? '-0.5rem' : undefined,
2209
+ padding: toolbarPosition === 'bottom' ? '0 1rem' : '0.5rem 1.25rem',
2210
+ position: displayAbsolute ? 'absolute' : 'relative',
2211
+ right: 0,
2212
+ top: 0,
2213
+ width: "calc(100% - " + (displayAbsolute ? '2.5rem' : '1.5rem') + ")",
2214
+ zIndex: 2
2215
+ };
2216
+ });
2217
+ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner() {
2218
+ var _localization$toolbar, _localization$toolbar2;
2219
+
2220
+ var _useMRT = useMRT(),
2221
+ muiTableToolbarAlertBannerProps = _useMRT.muiTableToolbarAlertBannerProps,
2222
+ tableInstance = _useMRT.tableInstance,
2223
+ positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2224
+ positionToolbarActions = _useMRT.positionToolbarActions,
2225
+ localization = _useMRT.localization,
2226
+ renderToolbarCustomActions = _useMRT.renderToolbarCustomActions;
2227
+
2228
+ var isMobile = useMediaQuery('(max-width:720px)');
2229
+ var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps(tableInstance) : muiTableToolbarAlertBannerProps;
2230
+ var selectMessage = tableInstance.selectedFlatRows.length > 0 ? localization == null ? void 0 : (_localization$toolbar = localization.toolbarAlertSelectionMessage) == null ? void 0 : (_localization$toolbar2 = _localization$toolbar.replace('{selectedCount}', tableInstance.selectedFlatRows.length.toString())) == null ? void 0 : _localization$toolbar2.replace('{rowCount}', tableInstance.flatRows.length.toString()) : null;
2231
+ var groupedByMessage = tableInstance.state.groupBy.length > 0 ? React.createElement("span", null, localization == null ? void 0 : localization.toolbarAlertGroupedByMessage, ' ', tableInstance.state.groupBy.map(function (columnId, index) {
2232
+ var _tableInstance$allCol;
2233
+
2234
+ return React.createElement(Fragment, {
2235
+ key: index + "-" + columnId
2236
+ }, index > 0 ? localization == null ? void 0 : localization.toolbarAlertGroupedThenByMessage : '', React.createElement(Chip, {
2237
+ color: "secondary",
2238
+ label: (_tableInstance$allCol = tableInstance.allColumns.find(function (column) {
2239
+ return column.id === columnId;
2240
+ })) == null ? void 0 : _tableInstance$allCol.Header,
2241
+ onDelete: function onDelete() {
2242
+ return tableInstance.toggleGroupBy(columnId, false);
2243
+ }
2244
+ }));
2245
+ })) : null;
2246
+ var displayAbsolute = !(isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions);
2247
+ return React.createElement(Collapse, {
2248
+ "in": !!selectMessage || !!groupedByMessage,
2249
+ timeout: displayAbsolute ? 0 : 200
2250
+ }, React.createElement(Alert, Object.assign({
2251
+ displayAbsolute: displayAbsolute,
2252
+ icon: false,
2253
+ color: "info"
2254
+ }, alertProps), selectMessage, groupedByMessage));
2255
+ };
2256
+
1937
2257
  var Toolbar = /*#__PURE__*/styled(Toolbar$2)({
1938
- display: 'grid'
2258
+ display: 'grid',
2259
+ padding: '0 0.5rem !important'
1939
2260
  });
1940
2261
  var ToolbarTopRow = /*#__PURE__*/styled('div')({
1941
- padding: '0.5rem',
2262
+ padding: '1rem 0.5rem',
1942
2263
  display: 'flex',
1943
2264
  justifyContent: 'space-between'
1944
2265
  });
1945
2266
  var ToolbarActionsContainer = /*#__PURE__*/styled('div')({
1946
2267
  display: 'flex',
1947
- gap: '0.5rem'
2268
+ gap: '0.5rem',
2269
+ position: 'relative',
2270
+ zIndex: 3
1948
2271
  });
1949
2272
  var MRT_ToolbarTop = function MRT_ToolbarTop() {
1950
- var _useMaterialReactTabl = useMaterialReactTable(),
1951
- disableGlobalFilter = _useMaterialReactTabl.disableGlobalFilter,
1952
- disableColumnHiding = _useMaterialReactTabl.disableColumnHiding,
1953
- muiTableTitleProps = _useMaterialReactTabl.muiTableTitleProps,
1954
- disableFilters = _useMaterialReactTabl.disableFilters,
1955
- manualPagination = _useMaterialReactTabl.manualPagination,
1956
- positionPagination = _useMaterialReactTabl.positionPagination,
1957
- muiTableToolbarTopProps = _useMaterialReactTabl.muiTableToolbarTopProps,
1958
- hideToolbarActions = _useMaterialReactTabl.hideToolbarActions,
1959
- positionToolbarActions = _useMaterialReactTabl.positionToolbarActions,
1960
- title = _useMaterialReactTabl.title,
1961
- tableInstance = _useMaterialReactTabl.tableInstance; // if no features in the toolbar are enabled, don't render anything
1962
-
1963
-
1964
- if (!muiTableToolbarTopProps && !title && disableColumnHiding && disableFilters && disableGlobalFilter) {
1965
- return null;
1966
- }
2273
+ var _renderToolbarCustomA;
2274
+
2275
+ var _useMRT = useMRT(),
2276
+ disableGlobalFilter = _useMRT.disableGlobalFilter,
2277
+ hideToolbarActions = _useMRT.hideToolbarActions,
2278
+ manualPagination = _useMRT.manualPagination,
2279
+ muiTableToolbarTopProps = _useMRT.muiTableToolbarTopProps,
2280
+ positionPagination = _useMRT.positionPagination,
2281
+ positionToolbarActions = _useMRT.positionToolbarActions,
2282
+ positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2283
+ renderToolbarCustomActions = _useMRT.renderToolbarCustomActions,
2284
+ tableInstance = _useMRT.tableInstance;
1967
2285
 
1968
2286
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps(tableInstance) : muiTableToolbarTopProps;
1969
2287
  return React.createElement(Toolbar, Object.assign({
1970
2288
  variant: "dense"
1971
- }, toolbarProps), React.createElement(ToolbarTopRow, null, title ? React.createElement(Typography, Object.assign({
1972
- variant: "h5"
1973
- }, muiTableTitleProps), title) : React.createElement("span", null), React.createElement(ToolbarActionsContainer, null, !disableGlobalFilter && React.createElement(MRT_SearchTextField, null), !hideToolbarActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarButtons, null))), React.createElement("div", null, !manualPagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null)));
2289
+ }, toolbarProps), positionToolbarAlertBanner === 'top' && React.createElement(MRT_ToolbarAlertBanner, null), React.createElement(ToolbarTopRow, null, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions(tableInstance)) != null ? _renderToolbarCustomA : React.createElement("span", null), React.createElement(ToolbarActionsContainer, null, !disableGlobalFilter && React.createElement(MRT_SearchTextField, null), !hideToolbarActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarInternalButtons, null))), React.createElement("div", null, !manualPagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null)));
1974
2290
  };
1975
2291
 
1976
2292
  var Toolbar$1 = /*#__PURE__*/styled(Toolbar$2)({
1977
- padding: 0,
1978
2293
  display: 'flex',
1979
- justifyContent: 'space-between'
2294
+ justifyContent: 'space-between',
2295
+ padding: '0 0.5rem !important',
2296
+ overflowY: 'hidden'
1980
2297
  });
1981
2298
  var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
1982
- var _useMaterialReactTabl = useMaterialReactTable(),
1983
- disableGlobalFilter = _useMaterialReactTabl.disableGlobalFilter,
1984
- disableColumnHiding = _useMaterialReactTabl.disableColumnHiding,
1985
- manualPagination = _useMaterialReactTabl.manualPagination,
1986
- positionPagination = _useMaterialReactTabl.positionPagination,
1987
- disableFilters = _useMaterialReactTabl.disableFilters,
1988
- hideToolbarActions = _useMaterialReactTabl.hideToolbarActions,
1989
- positionToolbarActions = _useMaterialReactTabl.positionToolbarActions,
1990
- muiTableToolbarBottomProps = _useMaterialReactTabl.muiTableToolbarBottomProps,
1991
- title = _useMaterialReactTabl.title,
1992
- tableInstance = _useMaterialReactTabl.tableInstance; // if no features in the toolbar are enabled, don't render anything
1993
-
1994
-
1995
- if (!muiTableToolbarBottomProps && !title && disableColumnHiding && disableFilters && disableGlobalFilter) {
1996
- return null;
1997
- }
2299
+ var _useMRT = useMRT(),
2300
+ hideToolbarActions = _useMRT.hideToolbarActions,
2301
+ manualPagination = _useMRT.manualPagination,
2302
+ muiTableToolbarBottomProps = _useMRT.muiTableToolbarBottomProps,
2303
+ positionPagination = _useMRT.positionPagination,
2304
+ positionToolbarActions = _useMRT.positionToolbarActions,
2305
+ positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2306
+ tableInstance = _useMRT.tableInstance;
1998
2307
 
1999
2308
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps(tableInstance) : muiTableToolbarBottomProps;
2000
2309
  return React.createElement(Toolbar$1, Object.assign({
2001
2310
  variant: "dense"
2002
- }, toolbarProps), !hideToolbarActions && positionToolbarActions === 'bottom' ? React.createElement(MRT_ToolbarButtons, null) : React.createElement("span", null), !manualPagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null));
2311
+ }, toolbarProps), !hideToolbarActions && positionToolbarActions === 'bottom' ? React.createElement(MRT_ToolbarInternalButtons, null) : React.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, null), !manualPagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null));
2003
2312
  };
2004
2313
 
2314
+ var TableContainer = /*#__PURE__*/styled(TableContainer$1, {
2315
+ shouldForwardProp: function shouldForwardProp(prop) {
2316
+ return prop !== 'fullScreen';
2317
+ }
2318
+ })(function (_ref) {
2319
+ var fullScreen = _ref.fullScreen;
2320
+ return {
2321
+ bottom: fullScreen ? '0' : undefined,
2322
+ height: fullScreen ? '100%' : undefined,
2323
+ left: fullScreen ? '0' : undefined,
2324
+ margin: fullScreen ? '0' : undefined,
2325
+ position: fullScreen ? 'absolute' : undefined,
2326
+ right: fullScreen ? '0' : undefined,
2327
+ top: fullScreen ? '0' : undefined,
2328
+ transition: 'all 0.2s ease-in-out',
2329
+ width: fullScreen ? '100vw' : undefined
2330
+ };
2331
+ });
2332
+ var CircularProgressWrapper = /*#__PURE__*/styled('div')(function (_ref2) {
2333
+ var theme = _ref2.theme;
2334
+ return {
2335
+ alignItems: 'center',
2336
+ backgroundColor: alpha(theme.palette.background.paper, 0.5),
2337
+ display: 'grid',
2338
+ height: '100%',
2339
+ justifyContent: 'center',
2340
+ margin: 'auto',
2341
+ position: 'absolute',
2342
+ width: 'calc(100% - 2rem)'
2343
+ };
2344
+ });
2005
2345
  var MRT_TableContainer = function MRT_TableContainer() {
2006
- var _useMaterialReactTabl = useMaterialReactTable(),
2007
- muiTableContainerProps = _useMaterialReactTabl.muiTableContainerProps,
2008
- hideToolbarTop = _useMaterialReactTabl.hideToolbarTop,
2009
- hideToolbarBottom = _useMaterialReactTabl.hideToolbarBottom,
2010
- isFetching = _useMaterialReactTabl.isFetching;
2346
+ var _useMRT = useMRT(),
2347
+ muiTableContainerProps = _useMRT.muiTableContainerProps,
2348
+ hideToolbarTop = _useMRT.hideToolbarTop,
2349
+ hideToolbarBottom = _useMRT.hideToolbarBottom,
2350
+ fullScreen = _useMRT.fullScreen,
2351
+ isLoading = _useMRT.isLoading,
2352
+ isFetching = _useMRT.isFetching;
2011
2353
 
2012
2354
  return React.createElement(TableContainer, Object.assign({
2013
- component: Paper
2014
- }, muiTableContainerProps), !hideToolbarTop && React.createElement(MRT_ToolbarTop, null), isFetching && React.createElement(LinearProgress, null), React.createElement(MRT_Table, null), !hideToolbarBottom && React.createElement(MRT_ToolbarBottom, null));
2355
+ component: Paper,
2356
+ fullScreen: fullScreen
2357
+ }, muiTableContainerProps), !hideToolbarTop && React.createElement(MRT_ToolbarTop, null), isFetching && React.createElement(LinearProgress, null), isLoading && React.createElement(CircularProgressWrapper, null, React.createElement(CircularProgress, {
2358
+ "aria-busy": "true",
2359
+ "aria-label": "Loading data"
2360
+ })), React.createElement(MRT_Table, null), !hideToolbarBottom && React.createElement(MRT_ToolbarBottom, null));
2015
2361
  };
2016
2362
 
2017
2363
  var defaultLocalization = {
2018
2364
  actionsHeadColumnTitle: 'Actions',
2019
2365
  columnActionMenuButtonTitle: 'Column Actions',
2020
2366
  columnActionMenuItemClearSort: 'Clear sorting',
2021
- columnActionMenuItemGroupBy: 'Group by column',
2022
- columnActionMenuItemHideColumn: 'Hide column',
2023
- columnActionMenuItemSortAsc: 'Sort ascending',
2024
- columnActionMenuItemSortDesc: 'Sort descending',
2025
- columnActionMenuItemUnGroupBy: 'Ungroup column',
2367
+ columnActionMenuItemGroupBy: 'Group by {column}',
2368
+ columnActionMenuItemHideColumn: 'Hide {column} column',
2369
+ columnActionMenuItemSortAsc: 'Sort by {column} ascending',
2370
+ columnActionMenuItemSortDesc: 'Sort by {column} descending',
2371
+ columnActionMenuItemUnGroupBy: 'Ungroup by {column}',
2372
+ columnShowHideMenuHideAll: 'Hide all',
2373
+ columnShowHideMenuShowAll: 'Show all',
2026
2374
  expandAllButtonTitle: 'Expand all',
2027
2375
  expandButtonTitle: 'Expand',
2028
2376
  filterTextFieldClearButtonTitle: 'Clear filter',
2029
- filterTextFieldPlaceholder: 'Filter',
2377
+ filterTextFieldPlaceholder: 'Filter by {column}',
2378
+ rowActionButtonCancel: 'Cancel',
2379
+ rowActionButtonSave: 'Save',
2030
2380
  rowActionMenuButtonTitle: 'Row Actions',
2031
- rowActionsColumnTitle: 'Actions',
2032
2381
  rowActionMenuItemEdit: 'Edit',
2033
- rowActionButtonSave: 'Save',
2034
- rowActionButtonCancel: 'Cancel',
2382
+ rowActionsColumnTitle: 'Actions',
2035
2383
  searchTextFieldClearButtonTitle: 'Clear search',
2036
2384
  searchTextFieldPlaceholder: 'Search',
2385
+ selectAllCheckboxTitle: 'Select all',
2386
+ selectCheckboxTitle: 'Select row',
2037
2387
  showHideColumnsButtonTitle: 'Show/Hide columns',
2038
2388
  toggleDensePaddingSwitchTitle: 'Toggle dense padding',
2039
- toggleFilterButtonTitle: 'Toggle filters'
2389
+ toggleFilterButtonTitle: 'Toggle filters',
2390
+ toggleFullScreenButtonTitle: 'Toggle full screen',
2391
+ toggleSearchButtonTitle: 'Toggle search',
2392
+ toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected',
2393
+ toolbarAlertGroupedByMessage: 'Grouped by ',
2394
+ toolbarAlertGroupedThenByMessage: ', then by '
2040
2395
  };
2041
2396
 
2042
- var _excluded = ["defaultColumn", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions"];
2397
+ var _excluded = ["defaultColumn", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
2043
2398
  var MaterialReactTable = (function (_ref) {
2044
2399
  var _ref$defaultColumn = _ref.defaultColumn,
2045
2400
  defaultColumn = _ref$defaultColumn === void 0 ? {
@@ -2054,14 +2409,17 @@ var MaterialReactTable = (function (_ref) {
2054
2409
  positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
2055
2410
  _ref$positionToolbarA = _ref.positionToolbarActions,
2056
2411
  positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
2412
+ _ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
2413
+ positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
2057
2414
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
2058
2415
 
2059
2416
  return React.createElement(MaterialReactTableProvider, Object.assign({
2060
2417
  defaultColumn: defaultColumn,
2061
2418
  localization: _extends({}, defaultLocalization, localization),
2062
- positionPagination: positionPagination,
2063
2419
  positionActionsColumn: positionActionsColumn,
2064
- positionToolbarActions: positionToolbarActions
2420
+ positionPagination: positionPagination,
2421
+ positionToolbarActions: positionToolbarActions,
2422
+ positionToolbarAlertBanner: positionToolbarAlertBanner
2065
2423
  }, rest), React.createElement(MRT_TableContainer, null));
2066
2424
  });
2067
2425