material-react-table 0.4.2 → 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 (37) hide show
  1. package/dist/MaterialReactTable.d.ts +11 -3
  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 +6 -0
  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 +174 -103
  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 +174 -103
  13. package/dist/material-react-table.esm.js.map +1 -1
  14. package/package.json +7 -8
  15. package/src/MaterialReactTable.tsx +20 -2
  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 +24 -0
  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 +2 -2
  29. package/src/toolbar/MRT_TablePagination.tsx +1 -0
  30. package/src/toolbar/MRT_ToolbarBottom.tsx +19 -7
  31. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +18 -2
  32. package/src/toolbar/MRT_ToolbarTop.tsx +19 -7
  33. package/src/utils/localization.ts +3 -3
  34. package/dist/inputs/MRT_DensePaddingSwitch.d.ts +0 -5
  35. package/dist/inputs/MRT_SelectAllCheckbox.d.ts +0 -2
  36. package/src/inputs/MRT_DensePaddingSwitch.tsx +0 -23
  37. package/src/inputs/MRT_SelectAllCheckbox.tsx +0 -22
@@ -24,6 +24,8 @@ var CancelIcon = _interopDefault(require('@mui/icons-material/Cancel'));
24
24
  var SearchIcon = _interopDefault(require('@mui/icons-material/Search'));
25
25
  var FilterListOffIcon = _interopDefault(require('@mui/icons-material/FilterListOff'));
26
26
  var ViewColumnIcon = _interopDefault(require('@mui/icons-material/ViewColumn'));
27
+ var DensityMediumIcon = _interopDefault(require('@mui/icons-material/DensityMedium'));
28
+ var DensitySmallIcon = _interopDefault(require('@mui/icons-material/DensitySmall'));
27
29
  var SearchOffIcon = _interopDefault(require('@mui/icons-material/SearchOff'));
28
30
  var FilterListIcon = _interopDefault(require('@mui/icons-material/Fullscreen'));
29
31
  var FilterListOffIcon$1 = _interopDefault(require('@mui/icons-material/FullscreenExit'));
@@ -339,6 +341,8 @@ var IconButton = /*#__PURE__*/material.styled(material.IconButton)({
339
341
  }
340
342
  });
341
343
  var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
344
+ var _localization$columnA;
345
+
342
346
  var column = _ref.column;
343
347
 
344
348
  var _useMRT = useMRT(),
@@ -354,12 +358,16 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
354
358
  setAnchorEl(event.currentTarget);
355
359
  };
356
360
 
357
- 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, {
358
367
  "aria-label": localization == null ? void 0 : localization.columnActionMenuButtonTitle,
359
368
  onClick: handleClick,
360
- size: "small",
361
- title: localization == null ? void 0 : localization.columnActionMenuButtonTitle
362
- }, React__default.createElement(MoreVertIcon, null)), React__default.createElement(MRT_ColumnActionMenu, {
369
+ size: "small"
370
+ }, React__default.createElement(MoreVertIcon, null))), React__default.createElement(MRT_ColumnActionMenu, {
363
371
  anchorEl: anchorEl,
364
372
  column: column,
365
373
  setAnchorEl: setAnchorEl
@@ -404,7 +412,7 @@ var Divider = /*#__PURE__*/material.styled(material.Divider)({
404
412
  maxHeight: '2rem'
405
413
  });
406
414
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
407
- 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;
408
416
 
409
417
  var column = _ref2.column;
410
418
 
@@ -426,6 +434,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
426
434
  style: _extends({}, column.getHeaderProps().style, (_mTableHeadCellProps$ = mTableHeadCellProps == null ? void 0 : mTableHeadCellProps.style) != null ? _mTableHeadCellProps$ : {}, (_mcTableHeadCellProps = mcTableHeadCellProps == null ? void 0 : mcTableHeadCellProps.style) != null ? _mcTableHeadCellProps : {})
427
435
  });
428
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 : '';
429
438
  return React__default.createElement(MRT_StyledTableHeadCell, Object.assign({
430
439
  align: isParentHeader ? 'center' : 'left',
431
440
  densePadding: densePadding,
@@ -434,11 +443,16 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
434
443
  style: {
435
444
  justifyContent: isParentHeader ? 'center' : undefined
436
445
  }
437
- }, React__default.createElement(CellFlexItem, Object.assign({}, column.getSortByToggleProps()), column.render('Header'), !isParentHeader && column.canSort && React__default.createElement(material.TableSortLabel, {
438
- "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,
439
453
  active: column.isSorted,
440
454
  direction: column.isSortedDesc ? 'desc' : 'asc'
441
- })), 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, {
442
456
  column: column
443
457
  }), enableColumnResizing && !isParentHeader && React__default.createElement(Divider, Object.assign({
444
458
  flexItem: true,
@@ -466,23 +480,47 @@ var MRT_TableButtonCell = /*#__PURE__*/material.styled(material.TableCell, {
466
480
  };
467
481
  });
468
482
 
469
- var MRT_SelectAllCheckbox = function MRT_SelectAllCheckbox() {
470
- 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;
471
488
 
472
489
  var _useMRT = useMRT(),
473
- tableInstance = _useMRT.tableInstance,
474
- disableSelectAll = _useMRT.disableSelectAll,
475
490
  densePadding = _useMRT.densePadding,
476
- localization = _useMRT.localization;
491
+ localization = _useMRT.localization,
492
+ onRowSelectChange = _useMRT.onRowSelectChange,
493
+ onSelectAllChange = _useMRT.onSelectAllChange,
494
+ tableInstance = _useMRT.tableInstance;
477
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
+ };
507
+
508
+ var checkboxProps = selectAll ? tableInstance.getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleRowSelectedProps();
478
509
  return React__default.createElement(MRT_TableButtonCell, {
479
- densePadding: densePadding,
480
- variant: "head"
481
- }, !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({
482
517
  inputProps: {
483
- 'aria-label': (_localization$selectA = localization == null ? void 0 : localization.selectAllCheckboxTitle) != null ? _localization$selectA : ''
484
- }
485
- }, 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
+ }))));
486
524
  };
487
525
 
488
526
  var ArrowRightIcon = /*#__PURE__*/material.styled(MuiArrowRightIcon, {
@@ -555,8 +593,9 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
555
593
  var _useMRT = useMRT(),
556
594
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
557
595
  disableExpandAll = _useMRT.disableExpandAll,
558
- enableRowNumbers = _useMRT.enableRowNumbers,
559
596
  enableRowActions = _useMRT.enableRowActions,
597
+ enableRowEditing = _useMRT.enableRowEditing,
598
+ enableRowNumbers = _useMRT.enableRowNumbers,
560
599
  enableSelection = _useMRT.enableSelection,
561
600
  muiTableHeadRowProps = _useMRT.muiTableHeadRowProps,
562
601
  positionActionsColumn = _useMRT.positionActionsColumn,
@@ -576,16 +615,18 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
576
615
  style: _extends({}, headerGroup.getHeaderGroupProps().style, (_mTableHeadRowProps$s = mTableHeadRowProps == null ? void 0 : mTableHeadRowProps.style) != null ? _mTableHeadRowProps$s : {})
577
616
  });
578
617
 
579
- 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, {
580
619
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
581
- }) : 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, {
582
623
  width: "1rem"
583
624
  }) : null, headerGroup.headers.map(function (column) {
584
625
  return React__default.createElement(MRT_TableHeadCell, {
585
626
  key: column.getHeaderProps().key,
586
627
  column: column
587
628
  });
588
- }), 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)));
589
630
  };
590
631
 
591
632
  var MRT_TableHead = function MRT_TableHead() {
@@ -609,7 +650,6 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
609
650
 
610
651
  var _useMRT = useMRT(),
611
652
  currentEditingRow = _useMRT.currentEditingRow,
612
- localization = _useMRT.localization,
613
653
  muiTableBodyCellEditTextFieldProps = _useMRT.muiTableBodyCellEditTextFieldProps,
614
654
  setCurrentEditingRow = _useMRT.setCurrentEditingRow;
615
655
 
@@ -641,7 +681,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
641
681
  onClick: function onClick(e) {
642
682
  return e.stopPropagation();
643
683
  },
644
- placeholder: localization == null ? void 0 : localization.filterTextFieldPlaceholder,
684
+ placeholder: cell.column.Header,
645
685
  value: cell.value,
646
686
  variant: "standard"
647
687
  }, textFieldProps));
@@ -781,32 +821,6 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref3) {
781
821
  })));
782
822
  };
783
823
 
784
- var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
785
- var row = _ref.row;
786
-
787
- var _useMRT = useMRT(),
788
- tableInstance = _useMRT.tableInstance,
789
- onRowSelectChange = _useMRT.onRowSelectChange,
790
- densePadding = _useMRT.densePadding,
791
- localization = _useMRT.localization;
792
-
793
- var onSelectChange = function onSelectChange(event) {
794
- var _row$getToggleRowSele;
795
-
796
- (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
797
- onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
798
- };
799
-
800
- return React__default.createElement(MRT_TableButtonCell, {
801
- densePadding: densePadding
802
- }, React__default.createElement(material.Checkbox, Object.assign({
803
- inputProps: {
804
- 'aria-label': localization == null ? void 0 : localization.selectCheckboxTitle
805
- },
806
- onChange: onSelectChange
807
- }, row.getToggleRowSelectedProps())));
808
- };
809
-
810
824
  var MenuItem$1 = /*#__PURE__*/material.styled(material.MenuItem)({
811
825
  display: 'flex',
812
826
  gap: '0.75rem'
@@ -1741,6 +1755,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1741
1755
  var _useMRT = useMRT(),
1742
1756
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1743
1757
  enableRowActions = _useMRT.enableRowActions,
1758
+ enableRowEditing = _useMRT.enableRowEditing,
1744
1759
  enableRowNumbers = _useMRT.enableRowNumbers,
1745
1760
  enableSelection = _useMRT.enableSelection,
1746
1761
  muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
@@ -1760,7 +1775,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1760
1775
  onClick: function onClick(event) {
1761
1776
  return onRowClick == null ? void 0 : onRowClick(event, row);
1762
1777
  }
1763
- }, 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, {
1764
1779
  row: row
1765
1780
  }), (anyRowsCanExpand || renderDetailPanel) && React__default.createElement(MRT_ExpandButton, {
1766
1781
  row: row
@@ -1771,7 +1786,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1771
1786
  key: cell.getCellProps().key,
1772
1787
  cell: cell
1773
1788
  });
1774
- }), enableRowActions && positionActionsColumn === 'last' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
1789
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
1775
1790
  row: row
1776
1791
  })), renderDetailPanel && React__default.createElement(MRT_TableDetailPanel, {
1777
1792
  row: row
@@ -1850,15 +1865,16 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1850
1865
  var footerGroup = _ref.footerGroup;
1851
1866
 
1852
1867
  var _useMRT = useMRT(),
1853
- renderDetailPanel = _useMRT.renderDetailPanel,
1854
- columns = _useMRT.columns,
1855
1868
  anyRowsCanExpand = _useMRT.anyRowsCanExpand,
1856
- enableSelection = _useMRT.enableSelection,
1869
+ columns = _useMRT.columns,
1857
1870
  enableRowActions = _useMRT.enableRowActions,
1871
+ enableRowEditing = _useMRT.enableRowEditing,
1858
1872
  enableRowNumbers = _useMRT.enableRowNumbers,
1873
+ enableSelection = _useMRT.enableSelection,
1874
+ muiTableFooterRowProps = _useMRT.muiTableFooterRowProps,
1859
1875
  positionActionsColumn = _useMRT.positionActionsColumn,
1860
- tableInstance = _useMRT.tableInstance,
1861
- 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
1862
1878
 
1863
1879
 
1864
1880
  if (!(columns != null && columns.some(function (c) {
@@ -1870,7 +1886,7 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1870
1886
  style: _extends({}, footerGroup.getFooterGroupProps().style, (_mTableFooterRowProps = mTableFooterRowProps == null ? void 0 : mTableFooterRowProps.style) != null ? _mTableFooterRowProps : {})
1871
1887
  });
1872
1888
 
1873
- 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, {
1874
1890
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
1875
1891
  }), enableSelection && React__default.createElement(MRT_TableSpacerCell, {
1876
1892
  width: "1rem"
@@ -1879,7 +1895,7 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1879
1895
  key: column.getFooterProps().key,
1880
1896
  column: column
1881
1897
  });
1882
- }), enableRowActions && positionActionsColumn === 'last' && React__default.createElement(MRT_TableSpacerCell, null));
1898
+ }), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React__default.createElement(MRT_TableSpacerCell, null));
1883
1899
  };
1884
1900
 
1885
1901
  var MRT_TableFooter = function MRT_TableFooter() {
@@ -1971,9 +1987,11 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
1971
1987
  }, muiSearchTextFieldProps)));
1972
1988
  };
1973
1989
 
1974
- var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton() {
1990
+ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
1975
1991
  var _localization$toggleF;
1976
1992
 
1993
+ var rest = _extends({}, _ref);
1994
+
1977
1995
  var _useMRT = useMRT(),
1978
1996
  localization = _useMRT.localization,
1979
1997
  setShowFilters = _useMRT.setShowFilters,
@@ -1982,13 +2000,13 @@ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton() {
1982
2000
  return React__default.createElement(material.Tooltip, {
1983
2001
  arrow: true,
1984
2002
  title: (_localization$toggleF = localization == null ? void 0 : localization.toggleFilterButtonTitle) != null ? _localization$toggleF : ''
1985
- }, React__default.createElement(material.IconButton, {
2003
+ }, React__default.createElement(material.IconButton, Object.assign({
1986
2004
  "aria-label": localization == null ? void 0 : localization.toggleFilterButtonTitle,
1987
2005
  onClick: function onClick() {
1988
2006
  return setShowFilters(!showFilters);
1989
2007
  },
1990
2008
  size: "small"
1991
- }, showFilters ? React__default.createElement(FilterListOffIcon, null) : React__default.createElement(FilterIcon, null)));
2009
+ }, rest), showFilters ? React__default.createElement(FilterListOffIcon, null) : React__default.createElement(FilterIcon, null)));
1992
2010
  };
1993
2011
 
1994
2012
  var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
@@ -2037,9 +2055,11 @@ var MenuButtons = /*#__PURE__*/material.styled('div')({
2037
2055
  justifyContent: 'space-between',
2038
2056
  padding: '0 0.5rem 0.5rem 0.5rem'
2039
2057
  });
2040
- var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2058
+ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
2041
2059
  var _localization$showHid;
2042
2060
 
2061
+ var rest = _extends({}, _ref);
2062
+
2043
2063
  var _useMRT = useMRT(),
2044
2064
  tableInstance = _useMRT.tableInstance,
2045
2065
  localization = _useMRT.localization;
@@ -2055,11 +2075,11 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2055
2075
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
2056
2076
  arrow: true,
2057
2077
  title: (_localization$showHid = localization == null ? void 0 : localization.showHideColumnsButtonTitle) != null ? _localization$showHid : ''
2058
- }, React__default.createElement(material.IconButton, {
2078
+ }, React__default.createElement(material.IconButton, Object.assign({
2059
2079
  "aria-label": localization == null ? void 0 : localization.showHideColumnsButtonTitle,
2060
2080
  onClick: handleClick,
2061
2081
  size: "small"
2062
- }, React__default.createElement(ViewColumnIcon, null))), React__default.createElement(material.Menu, {
2082
+ }, rest), React__default.createElement(ViewColumnIcon, null))), React__default.createElement(material.Menu, {
2063
2083
  anchorEl: anchorEl,
2064
2084
  open: !!anchorEl,
2065
2085
  onClose: function onClose() {
@@ -2083,8 +2103,10 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
2083
2103
  })));
2084
2104
  };
2085
2105
 
2086
- var MRT_DensePaddingSwitch = function MRT_DensePaddingSwitch() {
2087
- var _localization$toggleD, _localization$toggleD2;
2106
+ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
2107
+ var _localization$toggleD;
2108
+
2109
+ var rest = _extends({}, _ref);
2088
2110
 
2089
2111
  var _useMRT = useMRT(),
2090
2112
  densePadding = _useMRT.densePadding,
@@ -2094,22 +2116,20 @@ var MRT_DensePaddingSwitch = function MRT_DensePaddingSwitch() {
2094
2116
  return React__default.createElement(material.Tooltip, {
2095
2117
  arrow: true,
2096
2118
  title: (_localization$toggleD = localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle) != null ? _localization$toggleD : ''
2097
- }, React__default.createElement(material.Switch, {
2098
- inputProps: {
2099
- 'aria-label': (_localization$toggleD2 = localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle) != null ? _localization$toggleD2 : ''
2100
- },
2101
- color: "default",
2102
- checked: densePadding,
2103
- size: "small",
2104
- onChange: function onChange() {
2119
+ }, React__default.createElement(material.IconButton, Object.assign({
2120
+ "aria-label": localization == null ? void 0 : localization.toggleDensePaddingSwitchTitle,
2121
+ onClick: function onClick() {
2105
2122
  return setDensePadding(!densePadding);
2106
- }
2107
- }));
2123
+ },
2124
+ size: "small"
2125
+ }, rest), densePadding ? React__default.createElement(DensitySmallIcon, null) : React__default.createElement(DensityMediumIcon, null)));
2108
2126
  };
2109
2127
 
2110
- var MRT_ToggleSearchButton = function MRT_ToggleSearchButton() {
2128
+ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
2111
2129
  var _localization$toggleS;
2112
2130
 
2131
+ var rest = _extends({}, _ref);
2132
+
2113
2133
  var _useMRT = useMRT(),
2114
2134
  localization = _useMRT.localization,
2115
2135
  setShowSearch = _useMRT.setShowSearch,
@@ -2128,15 +2148,17 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton() {
2128
2148
  return React__default.createElement(material.Tooltip, {
2129
2149
  arrow: true,
2130
2150
  title: (_localization$toggleS = localization == null ? void 0 : localization.toggleSearchButtonTitle) != null ? _localization$toggleS : ''
2131
- }, React__default.createElement(material.IconButton, {
2151
+ }, React__default.createElement(material.IconButton, Object.assign({
2132
2152
  size: "small",
2133
2153
  onClick: handleToggleSearch
2134
- }, showSearch ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
2154
+ }, rest), showSearch ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
2135
2155
  };
2136
2156
 
2137
- var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton() {
2157
+ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
2138
2158
  var _localization$toggleF;
2139
2159
 
2160
+ var rest = _extends({}, _ref);
2161
+
2140
2162
  var _useMRT = useMRT(),
2141
2163
  localization = _useMRT.localization,
2142
2164
  setFullScreen = _useMRT.setFullScreen,
@@ -2145,13 +2167,13 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton() {
2145
2167
  return React__default.createElement(material.Tooltip, {
2146
2168
  arrow: true,
2147
2169
  title: (_localization$toggleF = localization == null ? void 0 : localization.toggleFullScreenButtonTitle) != null ? _localization$toggleF : ''
2148
- }, React__default.createElement(material.IconButton, {
2170
+ }, React__default.createElement(material.IconButton, Object.assign({
2149
2171
  "aria-label": localization == null ? void 0 : localization.toggleFilterButtonTitle,
2150
2172
  onClick: function onClick() {
2151
2173
  return setFullScreen(!fullScreen);
2152
2174
  },
2153
2175
  size: "small"
2154
- }, 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)));
2155
2177
  };
2156
2178
 
2157
2179
  var ToolbarButtonsContainer = /*#__PURE__*/material.styled('div')({
@@ -2165,9 +2187,21 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons() {
2165
2187
  disableColumnHiding = _useMRT.disableColumnHiding,
2166
2188
  disableDensePaddingToggle = _useMRT.disableDensePaddingToggle,
2167
2189
  disableGlobalFilter = _useMRT.disableGlobalFilter,
2168
- disableFullScreenToggle = _useMRT.disableFullScreenToggle;
2190
+ disableFullScreenToggle = _useMRT.disableFullScreenToggle,
2191
+ renderToolbarInternalActions = _useMRT.renderToolbarInternalActions,
2192
+ tableInstance = _useMRT.tableInstance;
2193
+
2194
+ if (renderToolbarInternalActions) {
2195
+ return React__default.createElement(React__default.Fragment, null, renderToolbarInternalActions(tableInstance, {
2196
+ MRT_ToggleSearchButton: MRT_ToggleSearchButton,
2197
+ MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
2198
+ MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
2199
+ MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
2200
+ MRT_FullScreenToggleButton: MRT_FullScreenToggleButton
2201
+ }));
2202
+ }
2169
2203
 
2170
- return React__default.createElement(ToolbarButtonsContainer, null, !disableGlobalFilter && React__default.createElement(MRT_ToggleSearchButton, null), !disableFilters && React__default.createElement(MRT_ToggleFiltersButton, null), !disableColumnHiding && React__default.createElement(MRT_ShowHideColumnsButton, null), !disableDensePaddingToggle && React__default.createElement(MRT_DensePaddingSwitch, null), !disableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, null));
2204
+ return React__default.createElement(ToolbarButtonsContainer, null, !disableGlobalFilter && React__default.createElement(MRT_ToggleSearchButton, null), !disableFilters && React__default.createElement(MRT_ToggleFiltersButton, null), !disableColumnHiding && React__default.createElement(MRT_ShowHideColumnsButton, null), !disableDensePaddingToggle && React__default.createElement(MRT_ToggleDensePaddingButton, null), !disableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, null));
2171
2205
  };
2172
2206
 
2173
2207
  var MRT_TablePagination = function MRT_TablePagination() {
@@ -2191,6 +2225,11 @@ var MRT_TablePagination = function MRT_TablePagination() {
2191
2225
  onRowsPerPageChange: handleChangeRowsPerPage,
2192
2226
  page: tableInstance.state.pageIndex,
2193
2227
  rowsPerPage: tableInstance.state.pageSize,
2228
+ SelectProps: {
2229
+ style: {
2230
+ margin: '0 1rem 0 1ch'
2231
+ }
2232
+ },
2194
2233
  showFirstButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2195
2234
  showLastButton: tableInstance.rows.length / tableInstance.state.pageSize > 2,
2196
2235
  style: {
@@ -2261,12 +2300,26 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner() {
2261
2300
  }, alertProps), selectMessage, groupedByMessage));
2262
2301
  };
2263
2302
 
2264
- var Toolbar = /*#__PURE__*/material.styled(material.Toolbar)({
2265
- display: 'grid',
2266
- padding: '0 0.5rem !important'
2303
+ var Toolbar = /*#__PURE__*/material.styled(material.Toolbar, {
2304
+ shouldForwardProp: function shouldForwardProp(prop) {
2305
+ return prop !== 'fullScreen';
2306
+ }
2307
+ })(function (_ref) {
2308
+ var fullScreen = _ref.fullScreen,
2309
+ theme = _ref.theme;
2310
+ return {
2311
+ backgroundColor: theme.palette.background["default"],
2312
+ backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2313
+ display: 'grid',
2314
+ padding: '0 0.5rem !important',
2315
+ position: fullScreen ? 'sticky' : undefined,
2316
+ top: fullScreen ? '0' : undefined,
2317
+ width: 'calc(100% - 1rem)',
2318
+ zIndex: 1
2319
+ };
2267
2320
  });
2268
2321
  var ToolbarTopRow = /*#__PURE__*/material.styled('div')({
2269
- padding: '1rem 0.5rem',
2322
+ padding: '0.5rem',
2270
2323
  display: 'flex',
2271
2324
  justifyContent: 'space-between'
2272
2325
  });
@@ -2281,41 +2334,59 @@ var MRT_ToolbarTop = function MRT_ToolbarTop() {
2281
2334
 
2282
2335
  var _useMRT = useMRT(),
2283
2336
  disableGlobalFilter = _useMRT.disableGlobalFilter,
2284
- hideToolbarActions = _useMRT.hideToolbarActions,
2337
+ hideToolbarInternalActions = _useMRT.hideToolbarInternalActions,
2285
2338
  manualPagination = _useMRT.manualPagination,
2286
2339
  muiTableToolbarTopProps = _useMRT.muiTableToolbarTopProps,
2287
2340
  positionPagination = _useMRT.positionPagination,
2288
2341
  positionToolbarActions = _useMRT.positionToolbarActions,
2342
+ fullScreen = _useMRT.fullScreen,
2289
2343
  positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2290
2344
  renderToolbarCustomActions = _useMRT.renderToolbarCustomActions,
2291
2345
  tableInstance = _useMRT.tableInstance;
2292
2346
 
2293
2347
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps(tableInstance) : muiTableToolbarTopProps;
2294
2348
  return React__default.createElement(Toolbar, Object.assign({
2349
+ fullScreen: fullScreen,
2295
2350
  variant: "dense"
2296
- }, toolbarProps), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, null), React__default.createElement(ToolbarTopRow, null, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions(tableInstance)) != null ? _renderToolbarCustomA : React__default.createElement("span", null), React__default.createElement(ToolbarActionsContainer, null, !disableGlobalFilter && React__default.createElement(MRT_SearchTextField, null), !hideToolbarActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, null))), React__default.createElement("div", null, !manualPagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null)));
2351
+ }, toolbarProps), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, null), React__default.createElement(ToolbarTopRow, null, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions(tableInstance)) != null ? _renderToolbarCustomA : React__default.createElement("span", null), React__default.createElement(ToolbarActionsContainer, null, !disableGlobalFilter && React__default.createElement(MRT_SearchTextField, null), !hideToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, null))), React__default.createElement("div", null, !manualPagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null)));
2297
2352
  };
2298
2353
 
2299
- var Toolbar$1 = /*#__PURE__*/material.styled(material.Toolbar)({
2300
- display: 'flex',
2301
- justifyContent: 'space-between',
2302
- padding: '0 0.5rem !important',
2303
- overflowY: 'hidden'
2354
+ var Toolbar$1 = /*#__PURE__*/material.styled(material.Toolbar, {
2355
+ shouldForwardProp: function shouldForwardProp(prop) {
2356
+ return prop !== 'fullScreen';
2357
+ }
2358
+ })(function (_ref) {
2359
+ var fullScreen = _ref.fullScreen,
2360
+ theme = _ref.theme;
2361
+ return {
2362
+ backgroundColor: theme.palette.background["default"],
2363
+ backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2364
+ bottom: fullScreen ? '0' : undefined,
2365
+ display: 'flex',
2366
+ justifyContent: 'space-between',
2367
+ overflowY: 'hidden',
2368
+ padding: '0 0.5rem !important',
2369
+ position: fullScreen ? 'fixed' : undefined,
2370
+ width: 'calc(100% - 1rem)',
2371
+ zIndex: 1
2372
+ };
2304
2373
  });
2305
2374
  var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
2306
2375
  var _useMRT = useMRT(),
2307
- hideToolbarActions = _useMRT.hideToolbarActions,
2376
+ hideToolbarInternalActions = _useMRT.hideToolbarInternalActions,
2308
2377
  manualPagination = _useMRT.manualPagination,
2309
2378
  muiTableToolbarBottomProps = _useMRT.muiTableToolbarBottomProps,
2310
2379
  positionPagination = _useMRT.positionPagination,
2380
+ fullScreen = _useMRT.fullScreen,
2311
2381
  positionToolbarActions = _useMRT.positionToolbarActions,
2312
2382
  positionToolbarAlertBanner = _useMRT.positionToolbarAlertBanner,
2313
2383
  tableInstance = _useMRT.tableInstance;
2314
2384
 
2315
2385
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps(tableInstance) : muiTableToolbarBottomProps;
2316
2386
  return React__default.createElement(Toolbar$1, Object.assign({
2387
+ fullScreen: fullScreen,
2317
2388
  variant: "dense"
2318
- }, toolbarProps), !hideToolbarActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, null) : React__default.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, null), !manualPagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null));
2389
+ }, toolbarProps), !hideToolbarInternalActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, null) : React__default.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, null), !manualPagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null));
2319
2390
  };
2320
2391
 
2321
2392
  var TableContainer = /*#__PURE__*/material.styled(material.TableContainer, {
@@ -2329,7 +2400,7 @@ var TableContainer = /*#__PURE__*/material.styled(material.TableContainer, {
2329
2400
  height: fullScreen ? '100%' : undefined,
2330
2401
  left: fullScreen ? '0' : undefined,
2331
2402
  margin: fullScreen ? '0' : undefined,
2332
- position: fullScreen ? 'absolute' : undefined,
2403
+ position: fullScreen ? 'fixed' : undefined,
2333
2404
  right: fullScreen ? '0' : undefined,
2334
2405
  top: fullScreen ? '0' : undefined,
2335
2406
  transition: 'all 0.2s ease-in-out',
@@ -2373,7 +2444,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
2373
2444
  var defaultLocalization = {
2374
2445
  actionsHeadColumnTitle: 'Actions',
2375
2446
  columnActionMenuButtonTitle: 'Column Actions',
2376
- columnActionMenuItemClearSort: 'Clear sorting',
2447
+ columnActionMenuItemClearSort: 'Clear sort',
2377
2448
  columnActionMenuItemGroupBy: 'Group by {column}',
2378
2449
  columnActionMenuItemHideColumn: 'Hide {column} column',
2379
2450
  columnActionMenuItemSortAsc: 'Sort by {column} ascending',
@@ -2392,8 +2463,8 @@ var defaultLocalization = {
2392
2463
  rowActionsColumnTitle: 'Actions',
2393
2464
  searchTextFieldClearButtonTitle: 'Clear search',
2394
2465
  searchTextFieldPlaceholder: 'Search',
2395
- selectAllCheckboxTitle: 'Select all',
2396
- selectCheckboxTitle: 'Select row',
2466
+ selectAllCheckboxTitle: 'Toggle select all',
2467
+ selectCheckboxTitle: 'Toggle select row',
2397
2468
  showHideColumnsButtonTitle: 'Show/Hide columns',
2398
2469
  toggleDensePaddingSwitchTitle: 'Toggle dense padding',
2399
2470
  toggleFilterButtonTitle: 'Toggle filters',