material-react-table 0.4.4 → 0.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +3 -2
  2. package/dist/MaterialReactTable.d.ts +13 -10
  3. package/dist/buttons/MRT_FullScreenToggleButton.d.ts +3 -1
  4. package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +2 -1
  5. package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -1
  6. package/dist/buttons/MRT_ToggleFiltersButton.d.ts +3 -1
  7. package/dist/buttons/MRT_ToggleSearchButton.d.ts +3 -1
  8. package/dist/icons.d.ts +25 -0
  9. package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -1
  10. package/dist/{utils/localization.d.ts → localization.d.ts} +1 -1
  11. package/dist/material-react-table.cjs.development.js +273 -209
  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 +274 -210
  16. package/dist/material-react-table.esm.js.map +1 -1
  17. package/dist/useMRT.d.ts +6 -2
  18. package/package.json +5 -6
  19. package/src/MaterialReactTable.tsx +16 -10
  20. package/src/body/MRT_TableBodyRow.tsx +9 -6
  21. package/src/body/MRT_TableDetailPanel.tsx +6 -13
  22. package/src/buttons/MRT_EditActionButtons.tsx +5 -6
  23. package/src/buttons/MRT_ExpandAllButton.tsx +17 -18
  24. package/src/buttons/MRT_ExpandButton.tsx +18 -19
  25. package/src/buttons/MRT_FullScreenToggleButton.tsx +13 -9
  26. package/src/buttons/MRT_ShowHideColumnsButton.tsx +13 -8
  27. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +18 -10
  28. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +12 -8
  29. package/src/buttons/MRT_ToggleFiltersButton.tsx +12 -8
  30. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +6 -7
  31. package/src/buttons/MRT_ToggleSearchButton.tsx +12 -9
  32. package/src/footer/MRT_TableFooterRow.tsx +9 -10
  33. package/src/head/MRT_TableHeadCell.tsx +21 -12
  34. package/src/head/MRT_TableHeadCellActions.tsx +1 -1
  35. package/src/head/MRT_TableHeadRow.tsx +6 -5
  36. package/src/icons.tsx +72 -0
  37. package/src/inputs/MRT_EditCellTextField.tsx +1 -2
  38. package/src/inputs/MRT_FilterTextField.tsx +12 -13
  39. package/src/inputs/MRT_SearchTextField.tsx +4 -5
  40. package/src/inputs/MRT_SelectCheckbox.tsx +44 -15
  41. package/src/{utils/localization.ts → localization.ts} +4 -4
  42. package/src/menus/MRT_ColumnActionMenu.tsx +14 -12
  43. package/src/menus/MRT_RowActionMenu.tsx +2 -2
  44. package/src/table/MRT_TableContainer.tsx +15 -5
  45. package/src/toolbar/MRT_TablePagination.tsx +1 -0
  46. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +3 -3
  47. package/src/useMRT.tsx +6 -2
  48. package/dist/inputs/MRT_DensePaddingSwitch.d.ts +0 -5
  49. package/dist/inputs/MRT_SelectAllCheckbox.d.ts +0 -2
  50. package/src/inputs/MRT_DensePaddingSwitch.tsx +0 -23
  51. package/src/inputs/MRT_SelectAllCheckbox.tsx +0 -22
@@ -1,27 +1,28 @@
1
- import React, { useMemo, useState, useContext, createContext, Fragment, useEffect } from 'react';
1
+ import React, { useMemo, useState, useContext, createContext, Fragment, useRef, useEffect } from 'react';
2
2
  import { useTable, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect, useResizeColumns, useFlexLayout, useAsyncDebounce } from 'react-table';
3
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
- import CloseIcon from '@mui/icons-material/Close';
5
- import FilterIcon from '@mui/icons-material/FilterList';
6
- import MoreVertIcon from '@mui/icons-material/MoreVert';
4
+ import CancelIcon from '@mui/icons-material/Cancel';
7
5
  import ClearAllIcon from '@mui/icons-material/ClearAll';
8
- import SortIcon from '@mui/icons-material/Sort';
9
- import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
6
+ import CloseIcon from '@mui/icons-material/Close';
7
+ import DensityMediumIcon from '@mui/icons-material/DensityMedium';
8
+ import DensitySmallIcon from '@mui/icons-material/DensitySmall';
9
+ import DoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
10
10
  import DynamicFeedIcon from '@mui/icons-material/DynamicFeed';
11
- import MuiArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
12
- import MuiExpandMoreIcon from '@mui/icons-material/ExpandMore';
13
- import MoreHorizIcon from '@mui/icons-material/MoreHoriz';
14
11
  import EditIcon from '@mui/icons-material/Edit';
12
+ import ExpandLessIcon from '@mui/icons-material/ExpandLess';
13
+ import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
14
+ import FilterListIcon from '@mui/icons-material/FilterList';
15
+ import FilterListOffIcon from '@mui/icons-material/FilterListOff';
16
+ import FullscreenExitIcon from '@mui/icons-material/FullscreenExit';
17
+ import FullscreenIcon from '@mui/icons-material/Fullscreen';
18
+ import MoreHorizIcon from '@mui/icons-material/MoreHoriz';
19
+ import MoreVertIcon from '@mui/icons-material/MoreVert';
15
20
  import SaveIcon from '@mui/icons-material/Save';
16
- import CancelIcon from '@mui/icons-material/Cancel';
17
21
  import SearchIcon from '@mui/icons-material/Search';
18
- import FilterListOffIcon from '@mui/icons-material/FilterListOff';
19
- import ViewColumnIcon from '@mui/icons-material/ViewColumn';
20
- import DensityMediumIcon from '@mui/icons-material/DensityMedium';
21
- import DensitySmallIcon from '@mui/icons-material/DensitySmall';
22
22
  import SearchOffIcon from '@mui/icons-material/SearchOff';
23
- import FilterListIcon from '@mui/icons-material/Fullscreen';
24
- import FilterListOffIcon$1 from '@mui/icons-material/FullscreenExit';
23
+ import SortIcon from '@mui/icons-material/Sort';
24
+ import ViewColumnIcon from '@mui/icons-material/ViewColumn';
25
+ import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
25
26
 
26
27
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
27
28
  try {
@@ -159,11 +160,14 @@ var useMRT = function useMRT() {
159
160
  };
160
161
 
161
162
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
162
- var _localization$filterT, _localization$filterT2, _localization$filterT3, _localization$filterT4;
163
+ var _localization$filterT, _localization$filterT2, _localization$filterT3;
163
164
 
164
165
  var column = _ref.column;
165
166
 
166
167
  var _useMRT = useMRT(),
168
+ _useMRT$icons = _useMRT.icons,
169
+ FilterListIcon = _useMRT$icons.FilterListIcon,
170
+ CloseIcon = _useMRT$icons.CloseIcon,
167
171
  localization = _useMRT.localization;
168
172
 
169
173
  var _useState = useState(''),
@@ -194,7 +198,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
194
198
  }
195
199
  },
196
200
  margin: "dense",
197
- placeholder: localization == null ? void 0 : (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header)),
201
+ placeholder: (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header)),
198
202
  onChange: function onChange(e) {
199
203
  setFilterValue(e.target.value);
200
204
  handleChange(e.target.value);
@@ -207,17 +211,17 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
207
211
  InputProps: {
208
212
  startAdornment: React.createElement(Tooltip, {
209
213
  arrow: true,
210
- title: (_localization$filterT2 = localization == null ? void 0 : (_localization$filterT3 = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT3.replace('{column}', String(column.Header))) != null ? _localization$filterT2 : ''
214
+ title: (_localization$filterT2 = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT2.replace('{column}', String(column.Header))
211
215
  }, React.createElement(InputAdornment, {
212
216
  position: "start"
213
- }, React.createElement(FilterIcon, null))),
217
+ }, React.createElement(FilterListIcon, null))),
214
218
  endAdornment: React.createElement(InputAdornment, {
215
219
  position: "end"
216
220
  }, React.createElement(Tooltip, {
217
221
  arrow: true,
218
- title: (_localization$filterT4 = localization == null ? void 0 : localization.filterTextFieldClearButtonTitle) != null ? _localization$filterT4 : ''
222
+ title: (_localization$filterT3 = localization.filterTextFieldClearButtonTitle) != null ? _localization$filterT3 : ''
219
223
  }, React.createElement("span", null, React.createElement(IconButton$2, {
220
- "aria-label": localization == null ? void 0 : localization.filterTextFieldClearButtonTitle,
224
+ "aria-label": localization.filterTextFieldClearButtonTitle,
221
225
  disabled: (filterValue == null ? void 0 : filterValue.length) === 0,
222
226
  onClick: handleClear,
223
227
  size: "small"
@@ -245,7 +249,13 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
245
249
  disableSortBy = _useMRT.disableSortBy,
246
250
  enableColumnGrouping = _useMRT.enableColumnGrouping,
247
251
  localization = _useMRT.localization,
248
- setShowFilters = _useMRT.setShowFilters;
252
+ setShowFilters = _useMRT.setShowFilters,
253
+ _useMRT$icons = _useMRT.icons,
254
+ FilterListIcon = _useMRT$icons.FilterListIcon,
255
+ SortIcon = _useMRT$icons.SortIcon,
256
+ ClearAllIcon = _useMRT$icons.ClearAllIcon,
257
+ DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
258
+ VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon;
249
259
 
250
260
  var handleClearSort = function handleClearSort() {
251
261
  column.clearSortBy();
@@ -293,11 +303,11 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
293
303
  key: 1,
294
304
  disabled: !column.isSorted,
295
305
  onClick: handleClearSort
296
- }, React.createElement(ClearAllIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemClearSort), React.createElement(MenuItem, {
306
+ }, React.createElement(ClearAllIcon, null), " ", localization.columnActionMenuItemClearSort), React.createElement(MenuItem, {
297
307
  key: 2,
298
308
  disabled: column.isSorted && !column.isSortedDesc,
299
309
  onClick: handleSortAsc
300
- }, 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, {
310
+ }, React.createElement(SortIcon, null), ' ', (_localization$columnA = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA.replace('{column}', String(column.Header))), React.createElement(MenuItem, {
301
311
  key: 3,
302
312
  disabled: column.isSorted && column.isSortedDesc,
303
313
  onClick: handleSortDesc
@@ -305,22 +315,22 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
305
315
  style: {
306
316
  transform: 'rotate(180deg) scaleX(-1)'
307
317
  }
308
- }), ' ', 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, {
318
+ }), ' ', (_localization$columnA2 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA2.replace('{column}', String(column.Header)))], !disableFilters && column.canFilter && [React.createElement(Divider$1, {
309
319
  key: 0
310
320
  }), React.createElement(MenuItem, {
311
321
  key: 1,
312
322
  onClick: handleFilterByColumn
313
- }, 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, {
323
+ }, React.createElement(FilterListIcon, null), ' ', (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header)))], enableColumnGrouping && column.canGroupBy && [React.createElement(Divider$1, {
314
324
  key: 1
315
325
  }), React.createElement(MenuItem, {
316
326
  key: 2,
317
327
  onClick: handleGroupByColumn
318
- }, 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, {
328
+ }, React.createElement(DynamicFeedIcon, null), ' ', (_localization = localization[column.isGrouped ? 'columnActionMenuItemUnGroupBy' : 'columnActionMenuItemGroupBy']) == null ? void 0 : _localization.replace('{column}', String(column.Header)))], !disableColumnHiding && [React.createElement(Divider$1, {
319
329
  key: 0
320
330
  }), React.createElement(MenuItem, {
321
331
  key: 1,
322
332
  onClick: handleHideColumn
323
- }, React.createElement(VisibilityOffIcon, null), ' ', localization == null ? void 0 : (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header)))]);
333
+ }, React.createElement(VisibilityOffIcon, null), ' ', (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header)))]);
324
334
  };
325
335
 
326
336
  var IconButton = /*#__PURE__*/styled(IconButton$2)({
@@ -337,7 +347,8 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
337
347
  var column = _ref.column;
338
348
 
339
349
  var _useMRT = useMRT(),
340
- localization = _useMRT.localization;
350
+ localization = _useMRT.localization,
351
+ MoreVertIcon = _useMRT.icons.MoreVertIcon;
341
352
 
342
353
  var _useState = useState(null),
343
354
  anchorEl = _useState[0],
@@ -349,12 +360,16 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
349
360
  setAnchorEl(event.currentTarget);
350
361
  };
351
362
 
352
- return React.createElement(React.Fragment, null, React.createElement(IconButton, {
353
- "aria-label": localization == null ? void 0 : localization.columnActionMenuButtonTitle,
363
+ return React.createElement(React.Fragment, null, React.createElement(Tooltip, {
364
+ arrow: true,
365
+ enterDelay: 1000,
366
+ enterNextDelay: 1000,
367
+ title: localization.columnActionMenuButtonTitle
368
+ }, React.createElement(IconButton, {
369
+ "aria-label": localization.columnActionMenuButtonTitle,
354
370
  onClick: handleClick,
355
- size: "small",
356
- title: localization == null ? void 0 : localization.columnActionMenuButtonTitle
357
- }, React.createElement(MoreVertIcon, null)), React.createElement(MRT_ColumnActionMenu, {
371
+ size: "small"
372
+ }, React.createElement(MoreVertIcon, null))), React.createElement(MRT_ColumnActionMenu, {
358
373
  anchorEl: anchorEl,
359
374
  column: column,
360
375
  setAnchorEl: setAnchorEl
@@ -399,7 +414,7 @@ var Divider = /*#__PURE__*/styled(Divider$1)({
399
414
  maxHeight: '2rem'
400
415
  });
401
416
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
402
- var _column$columns$lengt, _column$columns, _mTableHeadCellProps$, _mcTableHeadCellProps;
417
+ var _column$columns$lengt, _column$columns, _mTableHeadCellProps$, _mcTableHeadCellProps, _localization$columnA, _localization$columnA2;
403
418
 
404
419
  var column = _ref2.column;
405
420
 
@@ -421,6 +436,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
421
436
  style: _extends({}, column.getHeaderProps().style, (_mTableHeadCellProps$ = mTableHeadCellProps == null ? void 0 : mTableHeadCellProps.style) != null ? _mTableHeadCellProps$ : {}, (_mcTableHeadCellProps = mcTableHeadCellProps == null ? void 0 : mcTableHeadCellProps.style) != null ? _mcTableHeadCellProps : {})
422
437
  });
423
438
 
439
+ var sortTooltip = column.isSorted ? column.isSortedDesc ? localization.columnActionMenuItemClearSort : (_localization$columnA = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA.replace('{column}', column.Header) : (_localization$columnA2 = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA2.replace('{column}', column.Header);
424
440
  return React.createElement(MRT_StyledTableHeadCell, Object.assign({
425
441
  align: isParentHeader ? 'center' : 'left',
426
442
  densePadding: densePadding,
@@ -429,11 +445,16 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
429
445
  style: {
430
446
  justifyContent: isParentHeader ? 'center' : undefined
431
447
  }
432
- }, React.createElement(CellFlexItem, Object.assign({}, column.getSortByToggleProps()), column.render('Header'), !isParentHeader && column.canSort && React.createElement(TableSortLabel, {
433
- "aria-label": column.isSorted ? column.sortDescFirst ? localization == null ? void 0 : localization.columnActionMenuItemClearSort : localization == null ? void 0 : localization.columnActionMenuItemSortDesc : localization == null ? void 0 : localization.columnActionMenuItemSortAsc,
448
+ }, React.createElement(CellFlexItem, Object.assign({}, column.getSortByToggleProps(), {
449
+ title: undefined
450
+ }), column.render('Header'), !isParentHeader && column.canSort && React.createElement(Tooltip, {
451
+ arrow: true,
452
+ title: sortTooltip
453
+ }, React.createElement(TableSortLabel, {
454
+ "aria-label": sortTooltip,
434
455
  active: column.isSorted,
435
456
  direction: column.isSortedDesc ? 'desc' : 'asc'
436
- })), React.createElement(CellFlexItem, null, !disableColumnActions && !isParentHeader && React.createElement(MRT_ToggleColumnActionMenuButton, {
457
+ }))), React.createElement(CellFlexItem, null, !disableColumnActions && !isParentHeader && React.createElement(MRT_ToggleColumnActionMenuButton, {
437
458
  column: column
438
459
  }), enableColumnResizing && !isParentHeader && React.createElement(Divider, Object.assign({
439
460
  flexItem: true,
@@ -461,52 +482,68 @@ var MRT_TableButtonCell = /*#__PURE__*/styled(TableCell$3, {
461
482
  };
462
483
  });
463
484
 
464
- var MRT_SelectAllCheckbox = function MRT_SelectAllCheckbox() {
465
- var _localization$selectA;
485
+ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
486
+ var row = _ref.row,
487
+ selectAll = _ref.selectAll;
466
488
 
467
489
  var _useMRT = useMRT(),
468
- tableInstance = _useMRT.tableInstance,
469
- disableSelectAll = _useMRT.disableSelectAll,
470
490
  densePadding = _useMRT.densePadding,
471
- localization = _useMRT.localization;
491
+ localization = _useMRT.localization,
492
+ onRowSelectChange = _useMRT.onRowSelectChange,
493
+ onSelectAllChange = _useMRT.onSelectAllChange,
494
+ tableInstance = _useMRT.tableInstance;
472
495
 
496
+ var onSelectChange = function onSelectChange(event) {
497
+ if (selectAll) {
498
+ var _tableInstance$getTog;
499
+
500
+ tableInstance == null ? void 0 : tableInstance.getToggleAllRowsSelectedProps == null ? void 0 : (_tableInstance$getTog = tableInstance.getToggleAllRowsSelectedProps()) == null ? void 0 : _tableInstance$getTog.onChange == null ? void 0 : _tableInstance$getTog.onChange(event);
501
+ onSelectAllChange == null ? void 0 : onSelectAllChange(event, tableInstance.selectedFlatRows);
502
+ } else if (row) {
503
+ var _row$getToggleRowSele;
504
+
505
+ row == null ? void 0 : (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
506
+ onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
507
+ }
508
+ };
509
+
510
+ var checkboxProps = selectAll ? tableInstance.getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleRowSelectedProps();
473
511
  return React.createElement(MRT_TableButtonCell, {
474
- densePadding: densePadding,
475
- variant: "head"
476
- }, !disableSelectAll ? React.createElement(Checkbox, Object.assign({
512
+ densePadding: densePadding
513
+ }, React.createElement(Tooltip, {
514
+ arrow: true,
515
+ enterDelay: 1000,
516
+ enterNextDelay: 1000,
517
+ title: selectAll ? localization.selectAllCheckboxTitle : localization.selectCheckboxTitle
518
+ }, React.createElement(Checkbox, Object.assign({
477
519
  inputProps: {
478
- 'aria-label': (_localization$selectA = localization == null ? void 0 : localization.selectAllCheckboxTitle) != null ? _localization$selectA : ''
479
- }
480
- }, tableInstance.getToggleAllPageRowsSelectedProps())) : null);
520
+ 'aria-label': selectAll ? localization.selectAllCheckboxTitle : localization.selectCheckboxTitle
521
+ },
522
+ onChange: onSelectChange
523
+ }, checkboxProps, {
524
+ title: undefined
525
+ }))));
481
526
  };
482
527
 
483
- var ArrowRightIcon = /*#__PURE__*/styled(MuiArrowRightIcon, {
484
- shouldForwardProp: function shouldForwardProp(prop) {
485
- return prop !== 'rotation';
486
- }
487
- })(function (_ref) {
488
- var rotation = _ref.rotation;
489
- return {
490
- transform: "rotate(" + rotation + "deg)",
491
- transition: 'transform 0.2s'
492
- };
493
- });
494
528
  var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
495
529
  var _useMRT = useMRT(),
496
530
  tableInstance = _useMRT.tableInstance,
497
531
  localization = _useMRT.localization,
498
532
  anyRowsExpanded = _useMRT.anyRowsExpanded,
499
- densePadding = _useMRT.densePadding;
533
+ densePadding = _useMRT.densePadding,
534
+ DoubleArrowDownIcon = _useMRT.icons.DoubleArrowDownIcon;
500
535
 
501
536
  return React.createElement(MRT_TableButtonCell, Object.assign({
502
537
  size: "small",
503
538
  densePadding: densePadding
504
539
  }, tableInstance.getToggleAllRowsExpandedProps()), React.createElement(IconButton$2, {
505
- "aria-label": localization == null ? void 0 : localization.expandAllButtonTitle,
506
- title: localization == null ? void 0 : localization.expandAllButtonTitle
507
- }, React.createElement(ArrowRightIcon, {
508
- fontSize: "small",
509
- rotation: tableInstance.isAllRowsExpanded ? -180 : anyRowsExpanded ? -90 : 0
540
+ "aria-label": localization.expandAllButtonTitle,
541
+ title: localization.expandAllButtonTitle
542
+ }, React.createElement(DoubleArrowDownIcon, {
543
+ style: {
544
+ transform: "rotate(" + (tableInstance.isAllRowsExpanded ? -180 : anyRowsExpanded ? -90 : 0) + "deg)",
545
+ transition: 'transform 0.2s'
546
+ }
510
547
  })));
511
548
  };
512
549
 
@@ -539,7 +576,7 @@ var MRT_TableHeadCellActions = function MRT_TableHeadCellActions() {
539
576
  style: {
540
577
  textAlign: 'center'
541
578
  }
542
- }, localization == null ? void 0 : localization.actionsHeadColumnTitle);
579
+ }, localization.actionsHeadColumnTitle);
543
580
  };
544
581
 
545
582
  var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
@@ -550,8 +587,9 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
550
587
  var _useMRT = useMRT(),
551
588
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
552
589
  disableExpandAll = _useMRT.disableExpandAll,
553
- enableRowNumbers = _useMRT.enableRowNumbers,
554
590
  enableRowActions = _useMRT.enableRowActions,
591
+ enableRowEditing = _useMRT.enableRowEditing,
592
+ enableRowNumbers = _useMRT.enableRowNumbers,
555
593
  enableSelection = _useMRT.enableSelection,
556
594
  muiTableHeadRowProps = _useMRT.muiTableHeadRowProps,
557
595
  positionActionsColumn = _useMRT.positionActionsColumn,
@@ -571,16 +609,18 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
571
609
  style: _extends({}, headerGroup.getHeaderGroupProps().style, (_mTableHeadRowProps$s = mTableHeadRowProps == null ? void 0 : mTableHeadRowProps.style) != null ? _mTableHeadRowProps$s : {})
572
610
  });
573
611
 
574
- 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, {
612
+ return React.createElement(TableRow$1, Object.assign({}, tableRowProps), enableRowNumbers && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_StyledTableHeadCell, null, "#")), (enableRowActions || enableRowEditing) && 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, {
575
613
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
576
- }) : null, enableSelection ? !isParentHeader ? React.createElement(MRT_SelectAllCheckbox, null) : React.createElement(MRT_TableSpacerCell, {
614
+ }) : null, enableSelection ? !isParentHeader ? React.createElement(MRT_SelectCheckbox, {
615
+ selectAll: true
616
+ }) : React.createElement(MRT_TableSpacerCell, {
577
617
  width: "1rem"
578
618
  }) : null, headerGroup.headers.map(function (column) {
579
619
  return React.createElement(MRT_TableHeadCell, {
580
620
  key: column.getHeaderProps().key,
581
621
  column: column
582
622
  });
583
- }), enableRowActions && positionActionsColumn === 'last' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_TableHeadCellActions, null)));
623
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(MRT_TableHeadCellActions, null)));
584
624
  };
585
625
 
586
626
  var MRT_TableHead = function MRT_TableHead() {
@@ -604,7 +644,6 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
604
644
 
605
645
  var _useMRT = useMRT(),
606
646
  currentEditingRow = _useMRT.currentEditingRow,
607
- localization = _useMRT.localization,
608
647
  muiTableBodyCellEditTextFieldProps = _useMRT.muiTableBodyCellEditTextFieldProps,
609
648
  setCurrentEditingRow = _useMRT.setCurrentEditingRow;
610
649
 
@@ -636,7 +675,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
636
675
  onClick: function onClick(e) {
637
676
  return e.stopPropagation();
638
677
  },
639
- placeholder: localization == null ? void 0 : localization.filterTextFieldPlaceholder,
678
+ placeholder: cell.column.Header,
640
679
  value: cell.value,
641
680
  variant: "standard"
642
681
  }, textFieldProps));
@@ -696,29 +735,24 @@ var TableCell = /*#__PURE__*/styled(TableCell$3, {
696
735
  };
697
736
  });
698
737
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref2) {
699
- var _mTableBodyRowProps$s, _mTableDetailPanelPro;
738
+ var _mTableBodyRowProps$s;
700
739
 
701
740
  var row = _ref2.row;
702
741
 
703
742
  var _useMRT = useMRT(),
704
- tableInstance = _useMRT.tableInstance,
705
- renderDetailPanel = _useMRT.renderDetailPanel,
706
- muiTableDetailPanelProps = _useMRT.muiTableDetailPanelProps,
707
743
  muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
708
- onDetailPanelClick = _useMRT.onDetailPanelClick;
744
+ muiTableDetailPanelProps = _useMRT.muiTableDetailPanelProps,
745
+ onDetailPanelClick = _useMRT.onDetailPanelClick,
746
+ renderDetailPanel = _useMRT.renderDetailPanel,
747
+ tableInstance = _useMRT.tableInstance;
709
748
 
710
749
  var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
711
750
 
712
- var tableRowProps = _extends({}, mTableBodyRowProps, row.getToggleRowExpandedProps(), {
713
- style: _extends({}, row.getToggleRowExpandedProps().style, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
714
- });
715
-
716
- var mTableDetailPanelProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
717
-
718
- var tableCellProps = _extends({}, mTableDetailPanelProps, {
719
- style: _extends({}, (_mTableDetailPanelPro = mTableDetailPanelProps == null ? void 0 : mTableDetailPanelProps.style) != null ? _mTableDetailPanelPro : {})
751
+ var tableRowProps = _extends({}, mTableBodyRowProps, row.getRowProps(), {
752
+ style: _extends({}, row.getRowProps().style, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
720
753
  });
721
754
 
755
+ var tableCellProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
722
756
  return React.createElement(TableRow$1, Object.assign({
723
757
  hover: true
724
758
  }, tableRowProps), React.createElement(TableCell, Object.assign({
@@ -743,23 +777,13 @@ var TableCell$1 = /*#__PURE__*/styled(MRT_TableButtonCell, {
743
777
  textAlign: 'left'
744
778
  };
745
779
  });
746
- var ExpandMoreIcon = /*#__PURE__*/styled(MuiExpandMoreIcon, {
747
- shouldForwardProp: function shouldForwardProp(prop) {
748
- return prop !== 'rotation';
749
- }
750
- })(function (_ref2) {
751
- var rotation = _ref2.rotation;
752
- return {
753
- transform: "rotate(" + rotation + "deg)",
754
- transition: 'transform 0.2s'
755
- };
756
- });
757
- var MRT_ExpandButton = function MRT_ExpandButton(_ref3) {
758
- var row = _ref3.row;
780
+ var MRT_ExpandButton = function MRT_ExpandButton(_ref2) {
781
+ var row = _ref2.row;
759
782
 
760
783
  var _useMRT = useMRT(),
761
- localization = _useMRT.localization,
762
784
  densePadding = _useMRT.densePadding,
785
+ ExpandMoreIcon = _useMRT.icons.ExpandMoreIcon,
786
+ localization = _useMRT.localization,
763
787
  renderDetailPanel = _useMRT.renderDetailPanel;
764
788
 
765
789
  return React.createElement(TableCell$1, {
@@ -767,41 +791,17 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref3) {
767
791
  densePadding: densePadding,
768
792
  depth: row.depth
769
793
  }, React.createElement(IconButton$2, Object.assign({
770
- "aria-label": localization == null ? void 0 : localization.expandButtonTitle,
794
+ "aria-label": localization.expandButtonTitle,
771
795
  disabled: !row.canExpand && !renderDetailPanel,
772
- title: localization == null ? void 0 : localization.expandButtonTitle
796
+ title: localization.expandButtonTitle
773
797
  }, row.getToggleRowExpandedProps()), React.createElement(ExpandMoreIcon, {
774
- fontSize: row.canExpand || renderDetailPanel ? 'medium' : 'small',
775
- rotation: !row.canExpand && !renderDetailPanel ? -90 : row.isExpanded ? -180 : 0
798
+ style: {
799
+ transform: "rotate(" + (!row.canExpand && !renderDetailPanel ? -90 : row.isExpanded ? -180 : 0) + "deg)",
800
+ transition: 'transform 0.2s'
801
+ }
776
802
  })));
777
803
  };
778
804
 
779
- var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
780
- var row = _ref.row;
781
-
782
- var _useMRT = useMRT(),
783
- tableInstance = _useMRT.tableInstance,
784
- onRowSelectChange = _useMRT.onRowSelectChange,
785
- densePadding = _useMRT.densePadding,
786
- localization = _useMRT.localization;
787
-
788
- var onSelectChange = function onSelectChange(event) {
789
- var _row$getToggleRowSele;
790
-
791
- (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
792
- onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
793
- };
794
-
795
- return React.createElement(MRT_TableButtonCell, {
796
- densePadding: densePadding
797
- }, React.createElement(Checkbox, Object.assign({
798
- inputProps: {
799
- 'aria-label': localization == null ? void 0 : localization.selectCheckboxTitle
800
- },
801
- onChange: onSelectChange
802
- }, row.getToggleRowSelectedProps())));
803
- };
804
-
805
805
  var MenuItem$1 = /*#__PURE__*/styled(MenuItem$2)({
806
806
  display: 'flex',
807
807
  gap: '0.75rem'
@@ -815,6 +815,7 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
815
815
  setAnchorEl = _ref.setAnchorEl;
816
816
 
817
817
  var _useMRT = useMRT(),
818
+ EditIcon = _useMRT.icons.EditIcon,
818
819
  enableRowEditing = _useMRT.enableRowEditing,
819
820
  localization = _useMRT.localization,
820
821
  renderRowActionMenuItems = _useMRT.renderRowActionMenuItems,
@@ -828,7 +829,7 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
828
829
  }
829
830
  }, enableRowEditing && React.createElement(MenuItem$1, {
830
831
  onClick: handleEdit
831
- }, React.createElement(EditIcon, null), " ", localization == null ? void 0 : localization.rowActionMenuItemEdit), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
832
+ }, React.createElement(EditIcon, null), " ", localization.rowActionMenuItemEdit), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
832
833
  return setAnchorEl(null);
833
834
  })) != null ? _renderRowActionMenuI : null);
834
835
  };
@@ -1598,11 +1599,12 @@ var EditActionButtonWrappers = /*#__PURE__*/styled('div')({
1598
1599
  gap: '0.75rem'
1599
1600
  });
1600
1601
  var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1601
- var _localization$rowActi, _localization$rowActi2;
1602
-
1603
1602
  var row = _ref.row;
1604
1603
 
1605
1604
  var _useMRT = useMRT(),
1605
+ _useMRT$icons = _useMRT.icons,
1606
+ CancelIcon = _useMRT$icons.CancelIcon,
1607
+ SaveIcon = _useMRT$icons.SaveIcon,
1606
1608
  localization = _useMRT.localization,
1607
1609
  setCurrentEditingRow = _useMRT.setCurrentEditingRow,
1608
1610
  onRowEditSubmit = _useMRT.onRowEditSubmit,
@@ -1640,15 +1642,15 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1640
1642
 
1641
1643
  return React.createElement(EditActionButtonWrappers, null, React.createElement(Tooltip, {
1642
1644
  arrow: true,
1643
- title: (_localization$rowActi = localization == null ? void 0 : localization.rowActionButtonCancel) != null ? _localization$rowActi : ''
1645
+ title: localization.rowActionButtonCancel
1644
1646
  }, React.createElement(IconButton$2, {
1645
- "aria-label": localization == null ? void 0 : localization.rowActionButtonCancel,
1647
+ "aria-label": localization.rowActionButtonCancel,
1646
1648
  onClick: handleCancel
1647
1649
  }, React.createElement(CancelIcon, null))), React.createElement(Tooltip, {
1648
1650
  arrow: true,
1649
- title: (_localization$rowActi2 = localization == null ? void 0 : localization.rowActionButtonSave) != null ? _localization$rowActi2 : ''
1651
+ title: localization.rowActionButtonSave
1650
1652
  }, React.createElement(IconButton$2, {
1651
- "aria-label": localization == null ? void 0 : localization.rowActionButtonSave,
1653
+ "aria-label": localization.rowActionButtonSave,
1652
1654
  color: "info",
1653
1655
  onClick: handleSave
1654
1656
  }, React.createElement(SaveIcon, null))));
@@ -1665,18 +1667,19 @@ var IconButton$1 = /*#__PURE__*/styled(IconButton$2)({
1665
1667
  }
1666
1668
  });
1667
1669
  var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref) {
1668
- var _localization$rowActi;
1669
-
1670
1670
  var row = _ref.row;
1671
1671
 
1672
1672
  var _useMRT = useMRT(),
1673
1673
  currentEditingRow = _useMRT.currentEditingRow,
1674
1674
  densePadding = _useMRT.densePadding,
1675
+ enableRowEditing = _useMRT.enableRowEditing,
1676
+ _useMRT$icons = _useMRT.icons,
1677
+ EditIcon = _useMRT$icons.EditIcon,
1678
+ MoreHorizIcon = _useMRT$icons.MoreHorizIcon,
1675
1679
  localization = _useMRT.localization,
1676
1680
  renderRowActionMenuItems = _useMRT.renderRowActionMenuItems,
1677
- enableRowEditing = _useMRT.enableRowEditing,
1678
- setCurrentEditingRow = _useMRT.setCurrentEditingRow,
1679
1681
  renderRowActions = _useMRT.renderRowActions,
1682
+ setCurrentEditingRow = _useMRT.setCurrentEditingRow,
1680
1683
  tableInstance = _useMRT.tableInstance;
1681
1684
 
1682
1685
  var _useState = useState(null),
@@ -1701,12 +1704,12 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1701
1704
  }) : !renderRowActionMenuItems && enableRowEditing ? React.createElement(Tooltip, {
1702
1705
  placement: "right",
1703
1706
  arrow: true,
1704
- title: (_localization$rowActi = localization == null ? void 0 : localization.rowActionMenuItemEdit) != null ? _localization$rowActi : ''
1707
+ title: localization.rowActionMenuItemEdit
1705
1708
  }, React.createElement(IconButton$1, {
1706
1709
  onClick: handleEdit
1707
1710
  }, React.createElement(EditIcon, null))) : renderRowActionMenuItems ? React.createElement(React.Fragment, null, React.createElement(IconButton$1, {
1708
- "aria-label": localization == null ? void 0 : localization.rowActionMenuButtonTitle,
1709
- title: localization == null ? void 0 : localization.rowActionMenuButtonTitle,
1711
+ "aria-label": localization.rowActionMenuButtonTitle,
1712
+ title: localization.rowActionMenuButtonTitle,
1710
1713
  onClick: handleOpenRowActionMenu,
1711
1714
  size: "small"
1712
1715
  }, React.createElement(MoreHorizIcon, null)), React.createElement(MRT_RowActionMenu, {
@@ -1736,6 +1739,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1736
1739
  var _useMRT = useMRT(),
1737
1740
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1738
1741
  enableRowActions = _useMRT.enableRowActions,
1742
+ enableRowEditing = _useMRT.enableRowEditing,
1739
1743
  enableRowNumbers = _useMRT.enableRowNumbers,
1740
1744
  enableSelection = _useMRT.enableSelection,
1741
1745
  muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
@@ -1755,7 +1759,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1755
1759
  onClick: function onClick(event) {
1756
1760
  return onRowClick == null ? void 0 : onRowClick(event, row);
1757
1761
  }
1758
- }, tableRowProps), enableRowNumbers && React.createElement(MRT_StyledTableBodyCell, null, row.index + 1), enableRowActions && positionActionsColumn === 'first' && React.createElement(MRT_ToggleRowActionMenuButton, {
1762
+ }, tableRowProps), enableRowNumbers && React.createElement(MRT_StyledTableBodyCell, null, row.index + 1), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && React.createElement(MRT_ToggleRowActionMenuButton, {
1759
1763
  row: row
1760
1764
  }), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_ExpandButton, {
1761
1765
  row: row
@@ -1766,7 +1770,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1766
1770
  key: cell.getCellProps().key,
1767
1771
  cell: cell
1768
1772
  });
1769
- }), enableRowActions && positionActionsColumn === 'last' && React.createElement(MRT_ToggleRowActionMenuButton, {
1773
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React.createElement(MRT_ToggleRowActionMenuButton, {
1770
1774
  row: row
1771
1775
  })), renderDetailPanel && React.createElement(MRT_TableDetailPanel, {
1772
1776
  row: row
@@ -1845,15 +1849,16 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1845
1849
  var footerGroup = _ref.footerGroup;
1846
1850
 
1847
1851
  var _useMRT = useMRT(),
1848
- renderDetailPanel = _useMRT.renderDetailPanel,
1849
- columns = _useMRT.columns,
1850
1852
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1851
- enableSelection = _useMRT.enableSelection,
1853
+ columns = _useMRT.columns,
1852
1854
  enableRowActions = _useMRT.enableRowActions,
1855
+ enableRowEditing = _useMRT.enableRowEditing,
1853
1856
  enableRowNumbers = _useMRT.enableRowNumbers,
1857
+ enableSelection = _useMRT.enableSelection,
1858
+ muiTableFooterRowProps = _useMRT.muiTableFooterRowProps,
1854
1859
  positionActionsColumn = _useMRT.positionActionsColumn,
1855
- tableInstance = _useMRT.tableInstance,
1856
- muiTableFooterRowProps = _useMRT.muiTableFooterRowProps; //if no content in row, skip row
1860
+ renderDetailPanel = _useMRT.renderDetailPanel,
1861
+ tableInstance = _useMRT.tableInstance; //if no content in row, skip row
1857
1862
 
1858
1863
 
1859
1864
  if (!(columns != null && columns.some(function (c) {
@@ -1865,7 +1870,7 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1865
1870
  style: _extends({}, footerGroup.getFooterGroupProps().style, (_mTableFooterRowProps = mTableFooterRowProps == null ? void 0 : mTableFooterRowProps.style) != null ? _mTableFooterRowProps : {})
1866
1871
  });
1867
1872
 
1868
- 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, {
1873
+ return React.createElement(TableRow$1, Object.assign({}, tableRowProps), enableRowNumbers && React.createElement(MRT_TableSpacerCell, null), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && React.createElement(MRT_TableSpacerCell, null), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_TableSpacerCell, {
1869
1874
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
1870
1875
  }), enableSelection && React.createElement(MRT_TableSpacerCell, {
1871
1876
  width: "1rem"
@@ -1874,7 +1879,7 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1874
1879
  key: column.getFooterProps().key,
1875
1880
  column: column
1876
1881
  });
1877
- }), enableRowActions && positionActionsColumn === 'last' && React.createElement(MRT_TableSpacerCell, null));
1882
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React.createElement(MRT_TableSpacerCell, null));
1878
1883
  };
1879
1884
 
1880
1885
  var MRT_TableFooter = function MRT_TableFooter() {
@@ -1911,6 +1916,9 @@ var TextField = /*#__PURE__*/styled(TextField$1)({
1911
1916
  });
1912
1917
  var MRT_SearchTextField = function MRT_SearchTextField() {
1913
1918
  var _useMRT = useMRT(),
1919
+ _useMRT$icons = _useMRT.icons,
1920
+ SearchIcon = _useMRT$icons.SearchIcon,
1921
+ CloseIcon = _useMRT$icons.CloseIcon,
1914
1922
  showSearch = _useMRT.showSearch,
1915
1923
  localization = _useMRT.localization,
1916
1924
  muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
@@ -1938,7 +1946,7 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
1938
1946
  orientation: "horizontal"
1939
1947
  }, React.createElement(TextField, Object.assign({
1940
1948
  id: "global-search-text-field",
1941
- placeholder: localization == null ? void 0 : localization.searchTextFieldPlaceholder,
1949
+ placeholder: localization.searchTextFieldPlaceholder,
1942
1950
  onChange: function onChange(event) {
1943
1951
  setSearchValue(event.target.value);
1944
1952
  handleChange(event);
@@ -1954,11 +1962,11 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
1954
1962
  endAdornment: React.createElement(InputAdornment, {
1955
1963
  position: "end"
1956
1964
  }, React.createElement(IconButton$2, {
1957
- "aria-label": localization == null ? void 0 : localization.searchTextFieldClearButtonTitle,
1965
+ "aria-label": localization.searchTextFieldClearButtonTitle,
1958
1966
  disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1959
1967
  onClick: handleClear,
1960
1968
  size: "small",
1961
- title: localization == null ? void 0 : localization.searchTextFieldClearButtonTitle
1969
+ title: localization.searchTextFieldClearButtonTitle
1962
1970
  }, React.createElement(CloseIcon, {
1963
1971
  fontSize: "small"
1964
1972
  })))
@@ -1966,24 +1974,27 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
1966
1974
  }, muiSearchTextFieldProps)));
1967
1975
  };
1968
1976
 
1969
- var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton() {
1970
- var _localization$toggleF;
1977
+ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
1978
+ var rest = _extends({}, _ref);
1971
1979
 
1972
1980
  var _useMRT = useMRT(),
1973
1981
  localization = _useMRT.localization,
1974
1982
  setShowFilters = _useMRT.setShowFilters,
1975
- showFilters = _useMRT.showFilters;
1983
+ showFilters = _useMRT.showFilters,
1984
+ _useMRT$icons = _useMRT.icons,
1985
+ FilterListIcon = _useMRT$icons.FilterListIcon,
1986
+ FilterListOffIcon = _useMRT$icons.FilterListOffIcon;
1976
1987
 
1977
1988
  return React.createElement(Tooltip, {
1978
1989
  arrow: true,
1979
- title: (_localization$toggleF = localization == null ? void 0 : localization.toggleFilterButtonTitle) != null ? _localization$toggleF : ''
1980
- }, React.createElement(IconButton$2, {
1981
- "aria-label": localization == null ? void 0 : localization.toggleFilterButtonTitle,
1990
+ title: localization.toggleFilterButtonTitle
1991
+ }, React.createElement(IconButton$2, Object.assign({
1992
+ "aria-label": localization.toggleFilterButtonTitle,
1982
1993
  onClick: function onClick() {
1983
1994
  return setShowFilters(!showFilters);
1984
1995
  },
1985
1996
  size: "small"
1986
- }, showFilters ? React.createElement(FilterListOffIcon, null) : React.createElement(FilterIcon, null)));
1997
+ }, rest), showFilters ? React.createElement(FilterListOffIcon, null) : React.createElement(FilterListIcon, null)));
1987
1998
  };
1988
1999
 
1989
2000
  var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
@@ -2032,12 +2043,13 @@ var MenuButtons = /*#__PURE__*/styled('div')({
2032
2043
  justifyContent: 'space-between',
2033
2044
  padding: '0 0.5rem 0.5rem 0.5rem'
2034
2045
  });
2035
- var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2036
- var _localization$showHid;
2046
+ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
2047
+ var rest = _extends({}, _ref);
2037
2048
 
2038
2049
  var _useMRT = useMRT(),
2039
2050
  tableInstance = _useMRT.tableInstance,
2040
- localization = _useMRT.localization;
2051
+ localization = _useMRT.localization,
2052
+ ViewColumnIcon = _useMRT.icons.ViewColumnIcon;
2041
2053
 
2042
2054
  var _useState = useState(null),
2043
2055
  anchorEl = _useState[0],
@@ -2049,12 +2061,12 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2049
2061
 
2050
2062
  return React.createElement(React.Fragment, null, React.createElement(Tooltip, {
2051
2063
  arrow: true,
2052
- title: (_localization$showHid = localization == null ? void 0 : localization.showHideColumnsButtonTitle) != null ? _localization$showHid : ''
2053
- }, React.createElement(IconButton$2, {
2054
- "aria-label": localization == null ? void 0 : localization.showHideColumnsButtonTitle,
2064
+ title: localization.showHideColumnsButtonTitle
2065
+ }, React.createElement(IconButton$2, Object.assign({
2066
+ "aria-label": localization.showHideColumnsButtonTitle,
2055
2067
  onClick: handleClick,
2056
2068
  size: "small"
2057
- }, React.createElement(ViewColumnIcon, null))), React.createElement(Menu, {
2069
+ }, rest), React.createElement(ViewColumnIcon, null))), React.createElement(Menu, {
2058
2070
  anchorEl: anchorEl,
2059
2071
  open: !!anchorEl,
2060
2072
  onClose: function onClose() {
@@ -2065,12 +2077,12 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2065
2077
  onClick: function onClick() {
2066
2078
  return tableInstance.toggleHideAllColumns(true);
2067
2079
  }
2068
- }, localization == null ? void 0 : localization.columnShowHideMenuHideAll), React.createElement(Button, {
2080
+ }, localization.columnShowHideMenuHideAll), React.createElement(Button, {
2069
2081
  disabled: tableInstance.getToggleHideAllColumnsProps().checked,
2070
2082
  onClick: function onClick() {
2071
2083
  return tableInstance.toggleHideAllColumns(false);
2072
2084
  }
2073
- }, localization == null ? void 0 : localization.columnShowHideMenuShowAll)), React.createElement(Divider$1, null), tableInstance.columns.map(function (column, index) {
2085
+ }, localization.columnShowHideMenuShowAll)), React.createElement(Divider$1, null), tableInstance.columns.map(function (column, index) {
2074
2086
  return React.createElement(MRT_ShowHideColumnsMenu, {
2075
2087
  key: index + "-" + column.id,
2076
2088
  column: column
@@ -2078,34 +2090,40 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2078
2090
  })));
2079
2091
  };
2080
2092
 
2081
- var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton() {
2082
- var _localization$toggleD;
2093
+ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
2094
+ var rest = _extends({}, _ref);
2083
2095
 
2084
2096
  var _useMRT = useMRT(),
2085
2097
  densePadding = _useMRT.densePadding,
2086
2098
  setDensePadding = _useMRT.setDensePadding,
2087
- localization = _useMRT.localization;
2099
+ localization = _useMRT.localization,
2100
+ _useMRT$icons = _useMRT.icons,
2101
+ DensityMediumIcon = _useMRT$icons.DensityMediumIcon,
2102
+ DensitySmallIcon = _useMRT$icons.DensitySmallIcon;
2088
2103
 
2089
2104
  return React.createElement(Tooltip, {
2090
2105
  arrow: true,
2091
- title: (_localization$toggleD = localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle) != null ? _localization$toggleD : ''
2092
- }, React.createElement(IconButton$2, {
2093
- "aria-label": localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle,
2106
+ title: localization.toggleDensePaddingSwitchTitle
2107
+ }, React.createElement(IconButton$2, Object.assign({
2108
+ "aria-label": localization.toggleDensePaddingSwitchTitle,
2094
2109
  onClick: function onClick() {
2095
2110
  return setDensePadding(!densePadding);
2096
2111
  },
2097
2112
  size: "small"
2098
- }, densePadding ? React.createElement(DensitySmallIcon, null) : React.createElement(DensityMediumIcon, null)));
2113
+ }, rest), densePadding ? React.createElement(DensitySmallIcon, null) : React.createElement(DensityMediumIcon, null)));
2099
2114
  };
2100
2115
 
2101
- var MRT_ToggleSearchButton = function MRT_ToggleSearchButton() {
2102
- var _localization$toggleS;
2116
+ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
2117
+ var rest = _extends({}, _ref);
2103
2118
 
2104
2119
  var _useMRT = useMRT(),
2120
+ _useMRT$icons = _useMRT.icons,
2121
+ SearchIcon = _useMRT$icons.SearchIcon,
2122
+ SearchOffIcon = _useMRT$icons.SearchOffIcon,
2105
2123
  localization = _useMRT.localization,
2124
+ muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
2106
2125
  setShowSearch = _useMRT.setShowSearch,
2107
- showSearch = _useMRT.showSearch,
2108
- muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps;
2126
+ showSearch = _useMRT.showSearch;
2109
2127
 
2110
2128
  var handleToggleSearch = function handleToggleSearch() {
2111
2129
  setShowSearch(!showSearch);
@@ -2118,31 +2136,34 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton() {
2118
2136
 
2119
2137
  return React.createElement(Tooltip, {
2120
2138
  arrow: true,
2121
- title: (_localization$toggleS = localization == null ? void 0 : localization.toggleSearchButtonTitle) != null ? _localization$toggleS : ''
2122
- }, React.createElement(IconButton$2, {
2139
+ title: localization.toggleSearchButtonTitle
2140
+ }, React.createElement(IconButton$2, Object.assign({
2123
2141
  size: "small",
2124
2142
  onClick: handleToggleSearch
2125
- }, showSearch ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
2143
+ }, rest), showSearch ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
2126
2144
  };
2127
2145
 
2128
- var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton() {
2129
- var _localization$toggleF;
2146
+ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
2147
+ var rest = _extends({}, _ref);
2130
2148
 
2131
2149
  var _useMRT = useMRT(),
2150
+ fullScreen = _useMRT.fullScreen,
2151
+ _useMRT$icons = _useMRT.icons,
2152
+ FullscreenExitIcon = _useMRT$icons.FullscreenExitIcon,
2153
+ FullscreenIcon = _useMRT$icons.FullscreenIcon,
2132
2154
  localization = _useMRT.localization,
2133
- setFullScreen = _useMRT.setFullScreen,
2134
- fullScreen = _useMRT.fullScreen;
2155
+ setFullScreen = _useMRT.setFullScreen;
2135
2156
 
2136
2157
  return React.createElement(Tooltip, {
2137
2158
  arrow: true,
2138
- title: (_localization$toggleF = localization == null ? void 0 : localization.toggleFullScreenButtonTitle) != null ? _localization$toggleF : ''
2139
- }, React.createElement(IconButton$2, {
2140
- "aria-label": localization == null ? void 0 : localization.toggleFilterButtonTitle,
2159
+ title: localization.toggleFullScreenButtonTitle
2160
+ }, React.createElement(IconButton$2, Object.assign({
2161
+ "aria-label": localization.toggleFilterButtonTitle,
2141
2162
  onClick: function onClick() {
2142
2163
  return setFullScreen(!fullScreen);
2143
2164
  },
2144
2165
  size: "small"
2145
- }, fullScreen ? React.createElement(FilterListOffIcon$1, null) : React.createElement(FilterListIcon, null)));
2166
+ }, rest), fullScreen ? React.createElement(FullscreenExitIcon, null) : React.createElement(FullscreenIcon, null)));
2146
2167
  };
2147
2168
 
2148
2169
  var ToolbarButtonsContainer = /*#__PURE__*/styled('div')({
@@ -2194,6 +2215,11 @@ var MRT_TablePagination = function MRT_TablePagination() {
2194
2215
  onRowsPerPageChange: handleChangeRowsPerPage,
2195
2216
  page: tableInstance.state.pageIndex,
2196
2217
  rowsPerPage: tableInstance.state.pageSize,
2218
+ SelectProps: {
2219
+ style: {
2220
+ margin: '0 1rem 0 1ch'
2221
+ }
2222
+ },
2197
2223
  showFirstButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2198
2224
  showLastButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2199
2225
  style: {
@@ -2237,13 +2263,13 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner() {
2237
2263
 
2238
2264
  var isMobile = useMediaQuery('(max-width:720px)');
2239
2265
  var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps(tableInstance) : muiTableToolbarAlertBannerProps;
2240
- 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;
2241
- var groupedByMessage = tableInstance.state.groupBy.length > 0 ? React.createElement("span", null, localization == null ? void 0 : localization.toolbarAlertGroupedByMessage, ' ', tableInstance.state.groupBy.map(function (columnId, index) {
2266
+ var selectMessage = tableInstance.selectedFlatRows.length > 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;
2267
+ var groupedByMessage = tableInstance.state.groupBy.length > 0 ? React.createElement("span", null, localization.toolbarAlertGroupedByMessage, ' ', tableInstance.state.groupBy.map(function (columnId, index) {
2242
2268
  var _tableInstance$allCol;
2243
2269
 
2244
2270
  return React.createElement(Fragment, {
2245
2271
  key: index + "-" + columnId
2246
- }, index > 0 ? localization == null ? void 0 : localization.toolbarAlertGroupedThenByMessage : '', React.createElement(Chip, {
2272
+ }, index > 0 ? localization.toolbarAlertGroupedThenByMessage : '', React.createElement(Chip, {
2247
2273
  color: "secondary",
2248
2274
  label: (_tableInstance$allCol = tableInstance.allColumns.find(function (column) {
2249
2275
  return column.id === columnId;
@@ -2395,11 +2421,23 @@ var MRT_TableContainer = function MRT_TableContainer() {
2395
2421
  muiTableContainerProps = _useMRT.muiTableContainerProps,
2396
2422
  tableInstance = _useMRT.tableInstance;
2397
2423
 
2424
+ var originalBodyOverflowStyle = useRef();
2398
2425
  useEffect(function () {
2399
- if (fullScreen) {
2400
- document.body.style.overflow = 'hidden';
2401
- } else {
2402
- document.body.style.overflow = 'auto';
2426
+ if (typeof window !== 'undefined') {
2427
+ var _document, _document$body, _document$body$style;
2428
+
2429
+ originalBodyOverflowStyle.current = (_document = document) == null ? void 0 : (_document$body = _document.body) == null ? void 0 : (_document$body$style = _document$body.style) == null ? void 0 : _document$body$style.overflow;
2430
+ }
2431
+ }, []);
2432
+ useEffect(function () {
2433
+ if (typeof window !== 'undefined') {
2434
+ if (fullScreen) {
2435
+ document.body.style.overflow = 'hidden';
2436
+ } else {
2437
+ var _originalBodyOverflow;
2438
+
2439
+ document.body.style.overflow = (_originalBodyOverflow = originalBodyOverflowStyle.current) != null ? _originalBodyOverflow : 'auto';
2440
+ }
2403
2441
  }
2404
2442
  }, [fullScreen]);
2405
2443
  var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
@@ -2412,10 +2450,10 @@ var MRT_TableContainer = function MRT_TableContainer() {
2412
2450
  })), React.createElement(MRT_Table, null), !hideToolbarBottom && React.createElement(MRT_ToolbarBottom, null));
2413
2451
  };
2414
2452
 
2415
- var defaultLocalization = {
2453
+ var MRT_DefaultLocalization_EN = {
2416
2454
  actionsHeadColumnTitle: 'Actions',
2417
2455
  columnActionMenuButtonTitle: 'Column Actions',
2418
- columnActionMenuItemClearSort: 'Clear sorting',
2456
+ columnActionMenuItemClearSort: 'Clear sort',
2419
2457
  columnActionMenuItemGroupBy: 'Group by {column}',
2420
2458
  columnActionMenuItemHideColumn: 'Hide {column} column',
2421
2459
  columnActionMenuItemSortAsc: 'Sort by {column} ascending',
@@ -2434,8 +2472,8 @@ var defaultLocalization = {
2434
2472
  rowActionsColumnTitle: 'Actions',
2435
2473
  searchTextFieldClearButtonTitle: 'Clear search',
2436
2474
  searchTextFieldPlaceholder: 'Search',
2437
- selectAllCheckboxTitle: 'Select all',
2438
- selectCheckboxTitle: 'Select row',
2475
+ selectAllCheckboxTitle: 'Toggle select all',
2476
+ selectCheckboxTitle: 'Toggle select row',
2439
2477
  showHideColumnsButtonTitle: 'Show/Hide columns',
2440
2478
  toggleDensePaddingSwitchTitle: 'Toggle dense padding',
2441
2479
  toggleFilterButtonTitle: 'Toggle filters',
@@ -2446,15 +2484,40 @@ var defaultLocalization = {
2446
2484
  toolbarAlertGroupedThenByMessage: ', then by '
2447
2485
  };
2448
2486
 
2449
- var _excluded = ["defaultColumn", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
2487
+ var MRT_Default_Icons = {
2488
+ CancelIcon: CancelIcon,
2489
+ ClearAllIcon: ClearAllIcon,
2490
+ CloseIcon: CloseIcon,
2491
+ DensityMediumIcon: DensityMediumIcon,
2492
+ DensitySmallIcon: DensitySmallIcon,
2493
+ DoubleArrowDownIcon: DoubleArrowDownIcon,
2494
+ DynamicFeedIcon: DynamicFeedIcon,
2495
+ EditIcon: EditIcon,
2496
+ ExpandLessIcon: ExpandLessIcon,
2497
+ ExpandMoreIcon: ExpandMoreIcon,
2498
+ FilterListIcon: FilterListIcon,
2499
+ FilterListOffIcon: FilterListOffIcon,
2500
+ FullscreenExitIcon: FullscreenExitIcon,
2501
+ FullscreenIcon: FullscreenIcon,
2502
+ MoreHorizIcon: MoreHorizIcon,
2503
+ MoreVertIcon: MoreVertIcon,
2504
+ SaveIcon: SaveIcon,
2505
+ SearchIcon: SearchIcon,
2506
+ SearchOffIcon: SearchOffIcon,
2507
+ SortIcon: SortIcon,
2508
+ ViewColumnIcon: ViewColumnIcon,
2509
+ VisibilityOffIcon: VisibilityOffIcon
2510
+ };
2511
+
2512
+ var _excluded = ["defaultColumn", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
2450
2513
  var MaterialReactTable = (function (_ref) {
2451
2514
  var _ref$defaultColumn = _ref.defaultColumn,
2452
2515
  defaultColumn = _ref$defaultColumn === void 0 ? {
2453
2516
  minWidth: 50,
2454
2517
  maxWidth: 1000
2455
2518
  } : _ref$defaultColumn,
2456
- _ref$localization = _ref.localization,
2457
- localization = _ref$localization === void 0 ? defaultLocalization : _ref$localization,
2519
+ icons = _ref.icons,
2520
+ localization = _ref.localization,
2458
2521
  _ref$positionActionsC = _ref.positionActionsColumn,
2459
2522
  positionActionsColumn = _ref$positionActionsC === void 0 ? 'first' : _ref$positionActionsC,
2460
2523
  _ref$positionPaginati = _ref.positionPagination,
@@ -2467,7 +2530,8 @@ var MaterialReactTable = (function (_ref) {
2467
2530
 
2468
2531
  return React.createElement(MaterialReactTableProvider, Object.assign({
2469
2532
  defaultColumn: defaultColumn,
2470
- localization: _extends({}, defaultLocalization, localization),
2533
+ icons: _extends({}, MRT_Default_Icons, icons),
2534
+ localization: _extends({}, MRT_DefaultLocalization_EN, localization),
2471
2535
  positionActionsColumn: positionActionsColumn,
2472
2536
  positionPagination: positionPagination,
2473
2537
  positionToolbarActions: positionToolbarActions,