material-react-table 0.4.4 → 0.4.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 (34) hide show
  1. package/dist/MaterialReactTable.d.ts +7 -6
  2. package/dist/buttons/MRT_FullScreenToggleButton.d.ts +3 -1
  3. package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +2 -1
  4. package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -1
  5. package/dist/buttons/MRT_ToggleFiltersButton.d.ts +3 -1
  6. package/dist/buttons/MRT_ToggleSearchButton.d.ts +3 -1
  7. package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -1
  8. package/dist/material-react-table.cjs.development.js +107 -85
  9. package/dist/material-react-table.cjs.development.js.map +1 -1
  10. package/dist/material-react-table.cjs.production.min.js +1 -1
  11. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  12. package/dist/material-react-table.esm.js +108 -86
  13. package/dist/material-react-table.esm.js.map +1 -1
  14. package/package.json +5 -6
  15. package/src/MaterialReactTable.tsx +7 -5
  16. package/src/body/MRT_TableBodyRow.tsx +3 -2
  17. package/src/buttons/MRT_FullScreenToggleButton.tsx +4 -3
  18. package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -2
  19. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +14 -8
  20. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +4 -3
  21. package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -3
  22. package/src/buttons/MRT_ToggleSearchButton.tsx +4 -4
  23. package/src/footer/MRT_TableFooterRow.tsx +9 -10
  24. package/src/head/MRT_TableHeadCell.tsx +21 -12
  25. package/src/head/MRT_TableHeadRow.tsx +6 -5
  26. package/src/inputs/MRT_EditCellTextField.tsx +1 -2
  27. package/src/inputs/MRT_SelectCheckbox.tsx +44 -15
  28. package/src/table/MRT_TableContainer.tsx +1 -9
  29. package/src/toolbar/MRT_TablePagination.tsx +1 -0
  30. package/src/utils/localization.ts +3 -3
  31. package/dist/inputs/MRT_DensePaddingSwitch.d.ts +0 -5
  32. package/dist/inputs/MRT_SelectAllCheckbox.d.ts +0 -2
  33. package/src/inputs/MRT_DensePaddingSwitch.tsx +0 -23
  34. package/src/inputs/MRT_SelectAllCheckbox.tsx +0 -22
@@ -1,5 +1,5 @@
1
1
  import { ChangeEvent, FC, MouseEvent, ReactNode } from 'react';
2
- import { AlertProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
2
+ import { AlertProps, IconButtonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
3
3
  import { Cell, Column, HeaderGroup, Row, TableInstance, TableOptions, UseExpandedOptions, UseFiltersOptions, UseGlobalFiltersOptions, UseGroupByOptions, UsePaginationOptions, UseResizeColumnsOptions, UseRowSelectOptions, UseRowStateOptions, UseSortByOptions, UseTableOptions } from 'react-table';
4
4
  import { MRT_Localization } from './utils/localization';
5
5
  import { MRT_ColumnInterface } from './@types/react-table-config';
@@ -57,6 +57,7 @@ export declare type MaterialReactTableProps<D extends {} = {}> = TableOptions<D>
57
57
  onRowEditSubmit?: (row: Row<D>) => Promise<void> | void;
58
58
  onRowExpandChange?: (event: MouseEvent<HTMLButtonElement>, row: Row<D>) => void;
59
59
  onRowSelectChange?: (event: ChangeEvent, row: Row<D>, selectedRows: Row<D>[]) => void;
60
+ onSelectAllChange?: (event: ChangeEvent, selectedRows: Row<D>[]) => void;
60
61
  positionActionsColumn?: 'first' | 'last';
61
62
  positionPagination?: 'bottom' | 'top' | 'both';
62
63
  positionToolbarActions?: 'bottom' | 'top';
@@ -66,11 +67,11 @@ export declare type MaterialReactTableProps<D extends {} = {}> = TableOptions<D>
66
67
  renderRowActions?: (row: Row<D>, tableInstance: TableInstance<D>) => ReactNode;
67
68
  renderToolbarCustomActions?: (tableInstance: TableInstance<D>) => ReactNode;
68
69
  renderToolbarInternalActions?: (tableInstance: TableInstance<D>, { MRT_ToggleSearchButton, MRT_ToggleFiltersButton, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_FullScreenToggleButton, }: {
69
- MRT_ToggleSearchButton: FC;
70
- MRT_ToggleFiltersButton: FC;
71
- MRT_ShowHideColumnsButton: FC;
72
- MRT_ToggleDensePaddingButton: FC;
73
- MRT_FullScreenToggleButton: FC;
70
+ MRT_ToggleSearchButton: FC<IconButtonProps>;
71
+ MRT_ToggleFiltersButton: FC<IconButtonProps>;
72
+ MRT_ShowHideColumnsButton: FC<IconButtonProps>;
73
+ MRT_ToggleDensePaddingButton: FC<IconButtonProps>;
74
+ MRT_FullScreenToggleButton: FC<IconButtonProps>;
74
75
  }) => ReactNode;
75
76
  };
76
77
  declare const _default: <D extends {}>({ defaultColumn, localization, positionActionsColumn, positionPagination, positionToolbarActions, positionToolbarAlertBanner, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
@@ -1,4 +1,6 @@
1
1
  import { FC } from 'react';
2
- declare type Props = {};
2
+ import { IconButtonProps } from '@mui/material';
3
+ interface Props extends IconButtonProps {
4
+ }
3
5
  export declare const MRT_FullScreenToggleButton: FC<Props>;
4
6
  export {};
@@ -1,5 +1,6 @@
1
1
  import { FC } from 'react';
2
- interface Props {
2
+ import { IconButtonProps } from '@mui/material';
3
+ interface Props extends IconButtonProps {
3
4
  }
4
5
  export declare const MRT_ShowHideColumnsButton: FC<Props>;
5
6
  export {};
@@ -1,5 +1,6 @@
1
1
  import { FC } from 'react';
2
- interface Props {
2
+ import { IconButtonProps } from '@mui/material';
3
+ interface Props extends IconButtonProps {
3
4
  }
4
5
  export declare const MRT_ToggleDensePaddingButton: FC<Props>;
5
6
  export {};
@@ -1,4 +1,6 @@
1
1
  import { FC } from 'react';
2
- declare type Props = {};
2
+ import { IconButtonProps } from '@mui/material';
3
+ interface Props extends IconButtonProps {
4
+ }
3
5
  export declare const MRT_ToggleFiltersButton: FC<Props>;
4
6
  export {};
@@ -1,4 +1,6 @@
1
1
  import { FC } from 'react';
2
- declare type Props = {};
2
+ import { IconButtonProps } from '@mui/material';
3
+ interface Props extends IconButtonProps {
4
+ }
3
5
  export declare const MRT_ToggleSearchButton: FC<Props>;
4
6
  export {};
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
2
  import { Row } from 'react-table';
3
3
  interface Props {
4
- row: Row;
4
+ row?: Row;
5
+ selectAll?: boolean;
5
6
  }
6
7
  export declare const MRT_SelectCheckbox: FC<Props>;
7
8
  export {};
@@ -341,6 +341,8 @@ var IconButton = /*#__PURE__*/material.styled(material.IconButton)({
341
341
  }
342
342
  });
343
343
  var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
344
+ var _localization$columnA;
345
+
344
346
  var column = _ref.column;
345
347
 
346
348
  var _useMRT = useMRT(),
@@ -356,12 +358,16 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
356
358
  setAnchorEl(event.currentTarget);
357
359
  };
358
360
 
359
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(IconButton, {
361
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
362
+ arrow: true,
363
+ enterDelay: 1000,
364
+ enterNextDelay: 1000,
365
+ title: (_localization$columnA = localization == null ? void 0 : localization.columnActionMenuButtonTitle) != null ? _localization$columnA : ''
366
+ }, React__default.createElement(IconButton, {
360
367
  "aria-label": localization == null ? void 0 : localization.columnActionMenuButtonTitle,
361
368
  onClick: handleClick,
362
- size: "small",
363
- title: localization == null ? void 0 : localization.columnActionMenuButtonTitle
364
- }, React__default.createElement(MoreVertIcon, null)), React__default.createElement(MRT_ColumnActionMenu, {
369
+ size: "small"
370
+ }, React__default.createElement(MoreVertIcon, null))), React__default.createElement(MRT_ColumnActionMenu, {
365
371
  anchorEl: anchorEl,
366
372
  column: column,
367
373
  setAnchorEl: setAnchorEl
@@ -406,7 +412,7 @@ var Divider = /*#__PURE__*/material.styled(material.Divider)({
406
412
  maxHeight: '2rem'
407
413
  });
408
414
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
409
- var _column$columns$lengt, _column$columns, _mTableHeadCellProps$, _mcTableHeadCellProps;
415
+ var _column$columns$lengt, _column$columns, _mTableHeadCellProps$, _mcTableHeadCellProps, _localization$columnA, _localization$columnA2, _localization$columnA3, _localization$columnA4, _localization$columnA5;
410
416
 
411
417
  var column = _ref2.column;
412
418
 
@@ -428,6 +434,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
428
434
  style: _extends({}, column.getHeaderProps().style, (_mTableHeadCellProps$ = mTableHeadCellProps == null ? void 0 : mTableHeadCellProps.style) != null ? _mTableHeadCellProps$ : {}, (_mcTableHeadCellProps = mcTableHeadCellProps == null ? void 0 : mcTableHeadCellProps.style) != null ? _mcTableHeadCellProps : {})
429
435
  });
430
436
 
437
+ var sortTooltip = column.isSorted ? column.isSortedDesc ? (_localization$columnA = localization == null ? void 0 : localization.columnActionMenuItemClearSort) != null ? _localization$columnA : '' : (_localization$columnA2 = localization == null ? void 0 : (_localization$columnA3 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA3.replace('{column}', column.Header)) != null ? _localization$columnA2 : '' : (_localization$columnA4 = localization == null ? void 0 : (_localization$columnA5 = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA5.replace('{column}', column.Header)) != null ? _localization$columnA4 : '';
431
438
  return React__default.createElement(MRT_StyledTableHeadCell, Object.assign({
432
439
  align: isParentHeader ? 'center' : 'left',
433
440
  densePadding: densePadding,
@@ -436,11 +443,16 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
436
443
  style: {
437
444
  justifyContent: isParentHeader ? 'center' : undefined
438
445
  }
439
- }, React__default.createElement(CellFlexItem, Object.assign({}, column.getSortByToggleProps()), column.render('Header'), !isParentHeader && column.canSort && React__default.createElement(material.TableSortLabel, {
440
- "aria-label": column.isSorted ? column.sortDescFirst ? localization == null ? void 0 : localization.columnActionMenuItemClearSort : localization == null ? void 0 : localization.columnActionMenuItemSortDesc : localization == null ? void 0 : localization.columnActionMenuItemSortAsc,
446
+ }, React__default.createElement(CellFlexItem, Object.assign({}, column.getSortByToggleProps(), {
447
+ title: undefined
448
+ }), column.render('Header'), !isParentHeader && column.canSort && React__default.createElement(material.Tooltip, {
449
+ arrow: true,
450
+ title: sortTooltip
451
+ }, React__default.createElement(material.TableSortLabel, {
452
+ "aria-label": sortTooltip,
441
453
  active: column.isSorted,
442
454
  direction: column.isSortedDesc ? 'desc' : 'asc'
443
- })), React__default.createElement(CellFlexItem, null, !disableColumnActions && !isParentHeader && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
455
+ }))), React__default.createElement(CellFlexItem, null, !disableColumnActions && !isParentHeader && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
444
456
  column: column
445
457
  }), enableColumnResizing && !isParentHeader && React__default.createElement(Divider, Object.assign({
446
458
  flexItem: true,
@@ -468,23 +480,47 @@ var MRT_TableButtonCell = /*#__PURE__*/material.styled(material.TableCell, {
468
480
  };
469
481
  });
470
482
 
471
- var MRT_SelectAllCheckbox = function MRT_SelectAllCheckbox() {
472
- var _localization$selectA;
483
+ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
484
+ var _localization$selectA, _localization$selectC, _localization$selectA2, _localization$selectC2;
485
+
486
+ var row = _ref.row,
487
+ selectAll = _ref.selectAll;
473
488
 
474
489
  var _useMRT = useMRT(),
475
- tableInstance = _useMRT.tableInstance,
476
- disableSelectAll = _useMRT.disableSelectAll,
477
490
  densePadding = _useMRT.densePadding,
478
- localization = _useMRT.localization;
491
+ localization = _useMRT.localization,
492
+ onRowSelectChange = _useMRT.onRowSelectChange,
493
+ onSelectAllChange = _useMRT.onSelectAllChange,
494
+ tableInstance = _useMRT.tableInstance;
495
+
496
+ var onSelectChange = function onSelectChange(event) {
497
+ if (selectAll) {
498
+ onSelectAllChange == null ? void 0 : onSelectAllChange(event, tableInstance.selectedFlatRows);
499
+ tableInstance.toggleAllRowsSelected(event.target.checked);
500
+ } else if (row) {
501
+ var _row$getToggleRowSele;
502
+
503
+ row == null ? void 0 : (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
504
+ onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
505
+ }
506
+ };
479
507
 
508
+ var checkboxProps = selectAll ? tableInstance.getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleRowSelectedProps();
480
509
  return React__default.createElement(MRT_TableButtonCell, {
481
- densePadding: densePadding,
482
- variant: "head"
483
- }, !disableSelectAll ? React__default.createElement(material.Checkbox, Object.assign({
510
+ densePadding: densePadding
511
+ }, React__default.createElement(material.Tooltip, {
512
+ arrow: true,
513
+ enterDelay: 1000,
514
+ enterNextDelay: 1000,
515
+ title: selectAll ? (_localization$selectA = localization == null ? void 0 : localization.selectAllCheckboxTitle) != null ? _localization$selectA : '' : (_localization$selectC = localization == null ? void 0 : localization.selectCheckboxTitle) != null ? _localization$selectC : ''
516
+ }, React__default.createElement(material.Checkbox, Object.assign({
484
517
  inputProps: {
485
- 'aria-label': (_localization$selectA = localization == null ? void 0 : localization.selectAllCheckboxTitle) != null ? _localization$selectA : ''
486
- }
487
- }, tableInstance.getToggleAllPageRowsSelectedProps())) : null);
518
+ 'aria-label': selectAll ? (_localization$selectA2 = localization == null ? void 0 : localization.selectAllCheckboxTitle) != null ? _localization$selectA2 : '' : (_localization$selectC2 = localization == null ? void 0 : localization.selectCheckboxTitle) != null ? _localization$selectC2 : ''
519
+ },
520
+ onChange: onSelectChange
521
+ }, checkboxProps, {
522
+ title: undefined
523
+ }))));
488
524
  };
489
525
 
490
526
  var ArrowRightIcon = /*#__PURE__*/material.styled(MuiArrowRightIcon, {
@@ -557,8 +593,9 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
557
593
  var _useMRT = useMRT(),
558
594
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
559
595
  disableExpandAll = _useMRT.disableExpandAll,
560
- enableRowNumbers = _useMRT.enableRowNumbers,
561
596
  enableRowActions = _useMRT.enableRowActions,
597
+ enableRowEditing = _useMRT.enableRowEditing,
598
+ enableRowNumbers = _useMRT.enableRowNumbers,
562
599
  enableSelection = _useMRT.enableSelection,
563
600
  muiTableHeadRowProps = _useMRT.muiTableHeadRowProps,
564
601
  positionActionsColumn = _useMRT.positionActionsColumn,
@@ -578,16 +615,18 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
578
615
  style: _extends({}, headerGroup.getHeaderGroupProps().style, (_mTableHeadRowProps$s = mTableHeadRowProps == null ? void 0 : mTableHeadRowProps.style) != null ? _mTableHeadRowProps$s : {})
579
616
  });
580
617
 
581
- return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), enableRowNumbers && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_StyledTableHeadCell, null, "#")), enableRowActions && positionActionsColumn === 'first' && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_TableHeadCellActions, null)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React__default.createElement(MRT_ExpandAllButton, null) : React__default.createElement(MRT_TableSpacerCell, {
618
+ return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), enableRowNumbers && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_StyledTableHeadCell, null, "#")), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_TableHeadCellActions, null)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React__default.createElement(MRT_ExpandAllButton, null) : React__default.createElement(MRT_TableSpacerCell, {
582
619
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
583
- }) : null, enableSelection ? !isParentHeader ? React__default.createElement(MRT_SelectAllCheckbox, null) : React__default.createElement(MRT_TableSpacerCell, {
620
+ }) : null, enableSelection ? !isParentHeader ? React__default.createElement(MRT_SelectCheckbox, {
621
+ selectAll: true
622
+ }) : React__default.createElement(MRT_TableSpacerCell, {
584
623
  width: "1rem"
585
624
  }) : null, headerGroup.headers.map(function (column) {
586
625
  return React__default.createElement(MRT_TableHeadCell, {
587
626
  key: column.getHeaderProps().key,
588
627
  column: column
589
628
  });
590
- }), enableRowActions && positionActionsColumn === 'last' && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_TableHeadCellActions, null)));
629
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_TableHeadCellActions, null)));
591
630
  };
592
631
 
593
632
  var MRT_TableHead = function MRT_TableHead() {
@@ -611,7 +650,6 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
611
650
 
612
651
  var _useMRT = useMRT(),
613
652
  currentEditingRow = _useMRT.currentEditingRow,
614
- localization = _useMRT.localization,
615
653
  muiTableBodyCellEditTextFieldProps = _useMRT.muiTableBodyCellEditTextFieldProps,
616
654
  setCurrentEditingRow = _useMRT.setCurrentEditingRow;
617
655
 
@@ -643,7 +681,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
643
681
  onClick: function onClick(e) {
644
682
  return e.stopPropagation();
645
683
  },
646
- placeholder: localization == null ? void 0 : localization.filterTextFieldPlaceholder,
684
+ placeholder: cell.column.Header,
647
685
  value: cell.value,
648
686
  variant: "standard"
649
687
  }, textFieldProps));
@@ -783,32 +821,6 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref3) {
783
821
  })));
784
822
  };
785
823
 
786
- var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
787
- var row = _ref.row;
788
-
789
- var _useMRT = useMRT(),
790
- tableInstance = _useMRT.tableInstance,
791
- onRowSelectChange = _useMRT.onRowSelectChange,
792
- densePadding = _useMRT.densePadding,
793
- localization = _useMRT.localization;
794
-
795
- var onSelectChange = function onSelectChange(event) {
796
- var _row$getToggleRowSele;
797
-
798
- (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
799
- onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
800
- };
801
-
802
- return React__default.createElement(MRT_TableButtonCell, {
803
- densePadding: densePadding
804
- }, React__default.createElement(material.Checkbox, Object.assign({
805
- inputProps: {
806
- 'aria-label': localization == null ? void 0 : localization.selectCheckboxTitle
807
- },
808
- onChange: onSelectChange
809
- }, row.getToggleRowSelectedProps())));
810
- };
811
-
812
824
  var MenuItem$1 = /*#__PURE__*/material.styled(material.MenuItem)({
813
825
  display: 'flex',
814
826
  gap: '0.75rem'
@@ -1743,6 +1755,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1743
1755
  var _useMRT = useMRT(),
1744
1756
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1745
1757
  enableRowActions = _useMRT.enableRowActions,
1758
+ enableRowEditing = _useMRT.enableRowEditing,
1746
1759
  enableRowNumbers = _useMRT.enableRowNumbers,
1747
1760
  enableSelection = _useMRT.enableSelection,
1748
1761
  muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
@@ -1762,7 +1775,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1762
1775
  onClick: function onClick(event) {
1763
1776
  return onRowClick == null ? void 0 : onRowClick(event, row);
1764
1777
  }
1765
- }, tableRowProps), enableRowNumbers && React__default.createElement(MRT_StyledTableBodyCell, null, row.index + 1), enableRowActions && positionActionsColumn === 'first' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
1778
+ }, tableRowProps), enableRowNumbers && React__default.createElement(MRT_StyledTableBodyCell, null, row.index + 1), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
1766
1779
  row: row
1767
1780
  }), (anyRowsCanExpand || renderDetailPanel) && React__default.createElement(MRT_ExpandButton, {
1768
1781
  row: row
@@ -1773,7 +1786,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1773
1786
  key: cell.getCellProps().key,
1774
1787
  cell: cell
1775
1788
  });
1776
- }), enableRowActions && positionActionsColumn === 'last' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
1789
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
1777
1790
  row: row
1778
1791
  })), renderDetailPanel && React__default.createElement(MRT_TableDetailPanel, {
1779
1792
  row: row
@@ -1852,15 +1865,16 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1852
1865
  var footerGroup = _ref.footerGroup;
1853
1866
 
1854
1867
  var _useMRT = useMRT(),
1855
- renderDetailPanel = _useMRT.renderDetailPanel,
1856
- columns = _useMRT.columns,
1857
1868
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1858
- enableSelection = _useMRT.enableSelection,
1869
+ columns = _useMRT.columns,
1859
1870
  enableRowActions = _useMRT.enableRowActions,
1871
+ enableRowEditing = _useMRT.enableRowEditing,
1860
1872
  enableRowNumbers = _useMRT.enableRowNumbers,
1873
+ enableSelection = _useMRT.enableSelection,
1874
+ muiTableFooterRowProps = _useMRT.muiTableFooterRowProps,
1861
1875
  positionActionsColumn = _useMRT.positionActionsColumn,
1862
- tableInstance = _useMRT.tableInstance,
1863
- muiTableFooterRowProps = _useMRT.muiTableFooterRowProps; //if no content in row, skip row
1876
+ renderDetailPanel = _useMRT.renderDetailPanel,
1877
+ tableInstance = _useMRT.tableInstance; //if no content in row, skip row
1864
1878
 
1865
1879
 
1866
1880
  if (!(columns != null && columns.some(function (c) {
@@ -1872,7 +1886,7 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1872
1886
  style: _extends({}, footerGroup.getFooterGroupProps().style, (_mTableFooterRowProps = mTableFooterRowProps == null ? void 0 : mTableFooterRowProps.style) != null ? _mTableFooterRowProps : {})
1873
1887
  });
1874
1888
 
1875
- return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), enableRowNumbers && React__default.createElement(MRT_TableSpacerCell, null), enableRowActions && positionActionsColumn === 'first' && React__default.createElement(MRT_TableSpacerCell, null), (anyRowsCanExpand || renderDetailPanel) && React__default.createElement(MRT_TableSpacerCell, {
1889
+ return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), enableRowNumbers && React__default.createElement(MRT_TableSpacerCell, null), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && React__default.createElement(MRT_TableSpacerCell, null), (anyRowsCanExpand || renderDetailPanel) && React__default.createElement(MRT_TableSpacerCell, {
1876
1890
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
1877
1891
  }), enableSelection && React__default.createElement(MRT_TableSpacerCell, {
1878
1892
  width: "1rem"
@@ -1881,7 +1895,7 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1881
1895
  key: column.getFooterProps().key,
1882
1896
  column: column
1883
1897
  });
1884
- }), enableRowActions && positionActionsColumn === 'last' && React__default.createElement(MRT_TableSpacerCell, null));
1898
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React__default.createElement(MRT_TableSpacerCell, null));
1885
1899
  };
1886
1900
 
1887
1901
  var MRT_TableFooter = function MRT_TableFooter() {
@@ -1973,9 +1987,11 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
1973
1987
  }, muiSearchTextFieldProps)));
1974
1988
  };
1975
1989
 
1976
- var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton() {
1990
+ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
1977
1991
  var _localization$toggleF;
1978
1992
 
1993
+ var rest = _extends({}, _ref);
1994
+
1979
1995
  var _useMRT = useMRT(),
1980
1996
  localization = _useMRT.localization,
1981
1997
  setShowFilters = _useMRT.setShowFilters,
@@ -1984,13 +2000,13 @@ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton() {
1984
2000
  return React__default.createElement(material.Tooltip, {
1985
2001
  arrow: true,
1986
2002
  title: (_localization$toggleF = localization == null ? void 0 : localization.toggleFilterButtonTitle) != null ? _localization$toggleF : ''
1987
- }, React__default.createElement(material.IconButton, {
2003
+ }, React__default.createElement(material.IconButton, Object.assign({
1988
2004
  "aria-label": localization == null ? void 0 : localization.toggleFilterButtonTitle,
1989
2005
  onClick: function onClick() {
1990
2006
  return setShowFilters(!showFilters);
1991
2007
  },
1992
2008
  size: "small"
1993
- }, showFilters ? React__default.createElement(FilterListOffIcon, null) : React__default.createElement(FilterIcon, null)));
2009
+ }, rest), showFilters ? React__default.createElement(FilterListOffIcon, null) : React__default.createElement(FilterIcon, null)));
1994
2010
  };
1995
2011
 
1996
2012
  var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
@@ -2039,9 +2055,11 @@ var MenuButtons = /*#__PURE__*/material.styled('div')({
2039
2055
  justifyContent: 'space-between',
2040
2056
  padding: '0 0.5rem 0.5rem 0.5rem'
2041
2057
  });
2042
- var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2058
+ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
2043
2059
  var _localization$showHid;
2044
2060
 
2061
+ var rest = _extends({}, _ref);
2062
+
2045
2063
  var _useMRT = useMRT(),
2046
2064
  tableInstance = _useMRT.tableInstance,
2047
2065
  localization = _useMRT.localization;
@@ -2057,11 +2075,11 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2057
2075
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
2058
2076
  arrow: true,
2059
2077
  title: (_localization$showHid = localization == null ? void 0 : localization.showHideColumnsButtonTitle) != null ? _localization$showHid : ''
2060
- }, React__default.createElement(material.IconButton, {
2078
+ }, React__default.createElement(material.IconButton, Object.assign({
2061
2079
  "aria-label": localization == null ? void 0 : localization.showHideColumnsButtonTitle,
2062
2080
  onClick: handleClick,
2063
2081
  size: "small"
2064
- }, React__default.createElement(ViewColumnIcon, null))), React__default.createElement(material.Menu, {
2082
+ }, rest), React__default.createElement(ViewColumnIcon, null))), React__default.createElement(material.Menu, {
2065
2083
  anchorEl: anchorEl,
2066
2084
  open: !!anchorEl,
2067
2085
  onClose: function onClose() {
@@ -2085,9 +2103,11 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2085
2103
  })));
2086
2104
  };
2087
2105
 
2088
- var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton() {
2106
+ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
2089
2107
  var _localization$toggleD;
2090
2108
 
2109
+ var rest = _extends({}, _ref);
2110
+
2091
2111
  var _useMRT = useMRT(),
2092
2112
  densePadding = _useMRT.densePadding,
2093
2113
  setDensePadding = _useMRT.setDensePadding,
@@ -2096,18 +2116,20 @@ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton() {
2096
2116
  return React__default.createElement(material.Tooltip, {
2097
2117
  arrow: true,
2098
2118
  title: (_localization$toggleD = localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle) != null ? _localization$toggleD : ''
2099
- }, React__default.createElement(material.IconButton, {
2119
+ }, React__default.createElement(material.IconButton, Object.assign({
2100
2120
  "aria-label": localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle,
2101
2121
  onClick: function onClick() {
2102
2122
  return setDensePadding(!densePadding);
2103
2123
  },
2104
2124
  size: "small"
2105
- }, densePadding ? React__default.createElement(DensitySmallIcon, null) : React__default.createElement(DensityMediumIcon, null)));
2125
+ }, rest), densePadding ? React__default.createElement(DensitySmallIcon, null) : React__default.createElement(DensityMediumIcon, null)));
2106
2126
  };
2107
2127
 
2108
- var MRT_ToggleSearchButton = function MRT_ToggleSearchButton() {
2128
+ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
2109
2129
  var _localization$toggleS;
2110
2130
 
2131
+ var rest = _extends({}, _ref);
2132
+
2111
2133
  var _useMRT = useMRT(),
2112
2134
  localization = _useMRT.localization,
2113
2135
  setShowSearch = _useMRT.setShowSearch,
@@ -2126,15 +2148,17 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton() {
2126
2148
  return React__default.createElement(material.Tooltip, {
2127
2149
  arrow: true,
2128
2150
  title: (_localization$toggleS = localization == null ? void 0 : localization.toggleSearchButtonTitle) != null ? _localization$toggleS : ''
2129
- }, React__default.createElement(material.IconButton, {
2151
+ }, React__default.createElement(material.IconButton, Object.assign({
2130
2152
  size: "small",
2131
2153
  onClick: handleToggleSearch
2132
- }, showSearch ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
2154
+ }, rest), showSearch ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
2133
2155
  };
2134
2156
 
2135
- var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton() {
2157
+ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
2136
2158
  var _localization$toggleF;
2137
2159
 
2160
+ var rest = _extends({}, _ref);
2161
+
2138
2162
  var _useMRT = useMRT(),
2139
2163
  localization = _useMRT.localization,
2140
2164
  setFullScreen = _useMRT.setFullScreen,
@@ -2143,13 +2167,13 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton() {
2143
2167
  return React__default.createElement(material.Tooltip, {
2144
2168
  arrow: true,
2145
2169
  title: (_localization$toggleF = localization == null ? void 0 : localization.toggleFullScreenButtonTitle) != null ? _localization$toggleF : ''
2146
- }, React__default.createElement(material.IconButton, {
2170
+ }, React__default.createElement(material.IconButton, Object.assign({
2147
2171
  "aria-label": localization == null ? void 0 : localization.toggleFilterButtonTitle,
2148
2172
  onClick: function onClick() {
2149
2173
  return setFullScreen(!fullScreen);
2150
2174
  },
2151
2175
  size: "small"
2152
- }, fullScreen ? React__default.createElement(FilterListOffIcon$1, null) : React__default.createElement(FilterListIcon, null)));
2176
+ }, rest), fullScreen ? React__default.createElement(FilterListOffIcon$1, null) : React__default.createElement(FilterListIcon, null)));
2153
2177
  };
2154
2178
 
2155
2179
  var ToolbarButtonsContainer = /*#__PURE__*/material.styled('div')({
@@ -2201,6 +2225,11 @@ var MRT_TablePagination = function MRT_TablePagination() {
2201
2225
  onRowsPerPageChange: handleChangeRowsPerPage,
2202
2226
  page: tableInstance.state.pageIndex,
2203
2227
  rowsPerPage: tableInstance.state.pageSize,
2228
+ SelectProps: {
2229
+ style: {
2230
+ margin: '0 1rem 0 1ch'
2231
+ }
2232
+ },
2204
2233
  showFirstButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2205
2234
  showLastButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2206
2235
  style: {
@@ -2402,13 +2431,6 @@ var MRT_TableContainer = function MRT_TableContainer() {
2402
2431
  muiTableContainerProps = _useMRT.muiTableContainerProps,
2403
2432
  tableInstance = _useMRT.tableInstance;
2404
2433
 
2405
- React.useEffect(function () {
2406
- if (fullScreen) {
2407
- document.body.style.overflow = 'hidden';
2408
- } else {
2409
- document.body.style.overflow = 'auto';
2410
- }
2411
- }, [fullScreen]);
2412
2434
  var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
2413
2435
  return React__default.createElement(TableContainer, Object.assign({
2414
2436
  component: material.Paper,
@@ -2422,7 +2444,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
2422
2444
  var defaultLocalization = {
2423
2445
  actionsHeadColumnTitle: 'Actions',
2424
2446
  columnActionMenuButtonTitle: 'Column Actions',
2425
- columnActionMenuItemClearSort: 'Clear sorting',
2447
+ columnActionMenuItemClearSort: 'Clear sort',
2426
2448
  columnActionMenuItemGroupBy: 'Group by {column}',
2427
2449
  columnActionMenuItemHideColumn: 'Hide {column} column',
2428
2450
  columnActionMenuItemSortAsc: 'Sort by {column} ascending',
@@ -2441,8 +2463,8 @@ var defaultLocalization = {
2441
2463
  rowActionsColumnTitle: 'Actions',
2442
2464
  searchTextFieldClearButtonTitle: 'Clear search',
2443
2465
  searchTextFieldPlaceholder: 'Search',
2444
- selectAllCheckboxTitle: 'Select all',
2445
- selectCheckboxTitle: 'Select row',
2466
+ selectAllCheckboxTitle: 'Toggle select all',
2467
+ selectCheckboxTitle: 'Toggle select row',
2446
2468
  showHideColumnsButtonTitle: 'Show/Hide columns',
2447
2469
  toggleDensePaddingSwitchTitle: 'Toggle dense padding',
2448
2470
  toggleFilterButtonTitle: 'Toggle filters',