material-react-table 1.0.0-beta.9 → 1.0.0-rc.0

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 (90) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/MaterialReactTable.d.ts +110 -11
  3. package/dist/cjs/_locales/en.d.ts +2 -0
  4. package/dist/cjs/_locales/pt-BR.d.ts +2 -0
  5. package/dist/cjs/column.utils.d.ts +6 -0
  6. package/dist/cjs/head/MRT_TableHeadCellSortLabel.d.ts +2 -0
  7. package/dist/cjs/index.d.ts +4 -3
  8. package/dist/cjs/index.js +188 -63
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/inputs/MRT_FilterCheckbox.d.ts +8 -0
  11. package/dist/cjs/menus/MRT_FilterOptionMenu.d.ts +1 -2
  12. package/dist/cjs/table/MRT_TableRoot.d.ts +254 -2
  13. package/dist/cjs/toolbar/MRT_TablePagination.d.ts +3 -4
  14. package/dist/cjs/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -4
  15. package/dist/cjs/toolbar/MRT_TopToolbar.d.ts +1 -0
  16. package/dist/esm/MaterialReactTable.d.ts +110 -11
  17. package/dist/esm/_locales/en.d.ts +2 -0
  18. package/dist/esm/_locales/pt-BR.d.ts +2 -0
  19. package/dist/esm/column.utils.d.ts +6 -0
  20. package/dist/esm/head/MRT_TableHeadCellSortLabel.d.ts +2 -0
  21. package/dist/esm/index.d.ts +4 -3
  22. package/dist/esm/inputs/MRT_FilterCheckbox.d.ts +8 -0
  23. package/dist/esm/material-react-table.esm.js +188 -65
  24. package/dist/esm/material-react-table.esm.js.map +1 -1
  25. package/dist/esm/menus/MRT_FilterOptionMenu.d.ts +1 -2
  26. package/dist/esm/table/MRT_TableRoot.d.ts +254 -2
  27. package/dist/esm/toolbar/MRT_TablePagination.d.ts +3 -4
  28. package/dist/esm/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -4
  29. package/dist/esm/toolbar/MRT_TopToolbar.d.ts +1 -0
  30. package/dist/index.d.ts +59 -32
  31. package/locales/en.d.ts +2 -0
  32. package/locales/en.esm.d.ts +2 -0
  33. package/locales/en.esm.js +92 -0
  34. package/locales/en.esm.js.map +1 -0
  35. package/locales/en.js +96 -0
  36. package/locales/en.js.map +1 -0
  37. package/locales/pt-BR.d.ts +2 -0
  38. package/locales/pt-BR.esm.d.ts +2 -0
  39. package/locales/pt-BR.esm.js +92 -0
  40. package/locales/pt-BR.esm.js.map +1 -0
  41. package/locales/pt-BR.js +96 -0
  42. package/locales/pt-BR.js.map +1 -0
  43. package/package.json +13 -11
  44. package/src/MaterialReactTable.tsx +205 -77
  45. package/src/_locales/de.ts +1 -0
  46. package/src/{localization.ts → _locales/en.ts} +8 -84
  47. package/src/_locales/es.ts +1 -0
  48. package/src/_locales/fr.ts +1 -0
  49. package/src/_locales/hi.ts +1 -0
  50. package/src/_locales/id.ts +1 -0
  51. package/src/_locales/ja.ts +1 -0
  52. package/src/_locales/nl.ts +1 -0
  53. package/src/_locales/pt-BR.ts +92 -0
  54. package/src/_locales/pt.ts +1 -0
  55. package/src/_locales/ru.ts +1 -0
  56. package/src/_locales/uk.ts +1 -0
  57. package/src/_locales/vi.ts +1 -0
  58. package/src/_locales/zh.ts +1 -0
  59. package/src/body/MRT_EditRowModal.tsx +3 -2
  60. package/src/body/MRT_TableBodyCell.tsx +1 -1
  61. package/src/body/MRT_TableBodyRow.tsx +1 -1
  62. package/src/body/MRT_TableDetailPanel.tsx +1 -1
  63. package/src/buttons/MRT_ExpandAllButton.tsx +1 -1
  64. package/src/buttons/MRT_ExpandButton.tsx +1 -1
  65. package/src/buttons/MRT_GrabHandleButton.tsx +1 -1
  66. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +1 -1
  67. package/src/column.utils.ts +28 -3
  68. package/src/footer/MRT_TableFooter.tsx +1 -1
  69. package/src/head/MRT_TableHead.tsx +10 -2
  70. package/src/head/MRT_TableHeadCell.tsx +10 -2
  71. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +1 -1
  72. package/src/head/MRT_TableHeadCellFilterContainer.tsx +7 -3
  73. package/src/head/MRT_TableHeadCellGrabHandle.tsx +5 -1
  74. package/src/head/MRT_TableHeadCellResizeHandle.tsx +1 -1
  75. package/src/head/MRT_TableHeadCellSortLabel.tsx +11 -3
  76. package/src/index.tsx +6 -3
  77. package/src/inputs/MRT_FilterCheckbox.tsx +96 -0
  78. package/src/inputs/MRT_FilterTextField.tsx +21 -11
  79. package/src/inputs/MRT_GlobalFilterTextField.tsx +17 -5
  80. package/src/inputs/MRT_SelectCheckbox.tsx +16 -7
  81. package/src/menus/MRT_FilterOptionMenu.tsx +1 -1
  82. package/src/table/MRT_TablePaper.tsx +9 -7
  83. package/src/table/MRT_TableRoot.tsx +8 -7
  84. package/src/toolbar/MRT_BottomToolbar.tsx +4 -1
  85. package/src/toolbar/MRT_TablePagination.tsx +45 -8
  86. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +2 -1
  87. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +8 -4
  88. package/src/toolbar/MRT_TopToolbar.tsx +2 -1
  89. package/dist/cjs/localization.d.ts +0 -84
  90. package/dist/esm/localization.d.ts +0 -84
@@ -1,13 +1,16 @@
1
- import React, { ChangeEvent, FC } from 'react';
1
+ import React, { ChangeEvent } from 'react';
2
2
  import { TablePagination } from '@mui/material';
3
3
  import { MRT_TableInstance } from '..';
4
4
 
5
- interface Props {
6
- table: MRT_TableInstance;
5
+ interface Props<TData extends Record<string, any> = {}> {
7
6
  position: 'top' | 'bottom';
7
+ table: MRT_TableInstance<TData>;
8
8
  }
9
9
 
10
- export const MRT_TablePagination: FC<Props> = ({ table, position }) => {
10
+ export const MRT_TablePagination = <TData extends Record<string, any> = {}>({
11
+ table,
12
+ position,
13
+ }: Props<TData>) => {
11
14
  const {
12
15
  getPrePaginationRowModel,
13
16
  getState,
@@ -16,6 +19,7 @@ export const MRT_TablePagination: FC<Props> = ({ table, position }) => {
16
19
  options: {
17
20
  muiTablePaginationProps,
18
21
  enableToolbarInternalActions,
22
+ localization,
19
23
  rowCount,
20
24
  },
21
25
  } = table;
@@ -38,12 +42,21 @@ export const MRT_TablePagination: FC<Props> = ({ table, position }) => {
38
42
 
39
43
  return (
40
44
  <TablePagination
41
- SelectProps={{
42
- sx: { m: '0 1rem 0 1ch' },
43
- MenuProps: { MenuListProps: { disablePadding: true } },
44
- }}
45
45
  component="div"
46
46
  count={totalRowCount}
47
+ getItemAriaLabel={(type) =>
48
+ type === 'first'
49
+ ? localization.goToFirstPage
50
+ : type === 'last'
51
+ ? localization.goToLastPage
52
+ : type === 'next'
53
+ ? localization.goToNextPage
54
+ : localization.goToPreviousPage
55
+ }
56
+ labelDisplayedRows={({ from, to, count }) =>
57
+ `${from}-${to} ${localization.of} ${count}`
58
+ }
59
+ labelRowsPerPage={localization.rowsPerPage}
47
60
  onPageChange={(_: any, newPage: number) => setPageIndex(newPage)}
48
61
  onRowsPerPageChange={handleChangeRowsPerPage}
49
62
  page={pageIndex}
@@ -52,7 +65,31 @@ export const MRT_TablePagination: FC<Props> = ({ table, position }) => {
52
65
  showFirstButton={showFirstLastPageButtons}
53
66
  showLastButton={showFirstLastPageButtons}
54
67
  {...tablePaginationProps}
68
+ SelectProps={{
69
+ sx: { m: '0 1rem 0 1ch' },
70
+ MenuProps: { MenuListProps: { disablePadding: true }, sx: { m: 0 } },
71
+ ...tablePaginationProps?.SelectProps,
72
+ }}
55
73
  sx={(theme) => ({
74
+ '& .MuiTablePagination-toolbar': {
75
+ display: 'flex',
76
+ alignItems: 'center',
77
+ },
78
+ '& .MuiTablePagination-selectLabel': {
79
+ m: '0 -1px',
80
+ },
81
+ '&. MuiInputBase-root': {
82
+ m: '0 1px',
83
+ },
84
+ '& . MuiTablePagination-select': {
85
+ m: '0 1px',
86
+ },
87
+ '& .MuiTablePagination-displayedRows': {
88
+ m: '0 1px',
89
+ },
90
+ '& .MuiTablePagination-actions': {
91
+ m: '0 1px',
92
+ },
56
93
  mt:
57
94
  position === 'top' &&
58
95
  enableToolbarInternalActions &&
@@ -20,6 +20,7 @@ export const MRT_ToolbarAlertBanner: FC<Props> = ({
20
20
  muiToolbarAlertBannerProps,
21
21
  muiToolbarAlertBannerChipProps,
22
22
  positionToolbarAlertBanner,
23
+ rowCount,
23
24
  },
24
25
  } = table;
25
26
  const { grouping, showAlertBanner } = getState();
@@ -43,7 +44,7 @@ export const MRT_ToolbarAlertBanner: FC<Props> = ({
43
44
  )
44
45
  ?.replace(
45
46
  '{rowCount}',
46
- getPrePaginationRowModel().rows.length.toString(),
47
+ (rowCount ?? getPrePaginationRowModel().rows.length).toString(),
47
48
  )
48
49
  : null;
49
50
 
@@ -1,4 +1,4 @@
1
- import React, { FC } from 'react';
1
+ import React from 'react';
2
2
  import { Box } from '@mui/material';
3
3
  import { MRT_FullScreenToggleButton } from '../buttons/MRT_FullScreenToggleButton';
4
4
  import { MRT_ShowHideColumnsButton } from '../buttons/MRT_ShowHideColumnsButton';
@@ -7,11 +7,15 @@ import { MRT_ToggleFiltersButton } from '../buttons/MRT_ToggleFiltersButton';
7
7
  import { MRT_ToggleGlobalFilterButton } from '../buttons/MRT_ToggleGlobalFilterButton';
8
8
  import type { MRT_TableInstance } from '..';
9
9
 
10
- interface Props {
11
- table: MRT_TableInstance;
10
+ interface Props<TData extends Record<string, any> = {}> {
11
+ table: MRT_TableInstance<TData>;
12
12
  }
13
13
 
14
- export const MRT_ToolbarInternalButtons: FC<Props> = ({ table }) => {
14
+ export const MRT_ToolbarInternalButtons = <
15
+ TData extends Record<string, any> = {},
16
+ >({
17
+ table,
18
+ }: Props<TData>) => {
15
19
  const {
16
20
  options: {
17
21
  enableColumnFilters,
@@ -13,10 +13,11 @@ export const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({
13
13
  backgroundColor: lighten(theme.palette.background.default, 0.04),
14
14
  backgroundImage: 'none',
15
15
  display: 'grid',
16
+ flexWrap: 'wrap-reverse',
16
17
  minHeight: '3.5rem',
17
18
  overflow: 'hidden',
18
19
  p: '0 !important',
19
- transition: 'all 0.2s ease-in-out',
20
+ transition: 'all 0.1s ease-in-out',
20
21
  zIndex: 1,
21
22
  });
22
23
 
@@ -1,84 +0,0 @@
1
- export interface MRT_Localization {
2
- actions: string;
3
- and: string;
4
- cancel: string;
5
- changeFilterMode: string;
6
- changeSearchMode: string;
7
- clearFilter: string;
8
- clearSearch: string;
9
- clearSort: string;
10
- clickToCopy: string;
11
- columnActions: string;
12
- copiedToClipboard: string;
13
- dropToGroupBy: string;
14
- edit: string;
15
- expand: string;
16
- expandAll: string;
17
- filterArrIncludes: string;
18
- filterArrIncludesAll: string;
19
- filterArrIncludesSome: string;
20
- filterBetween: string;
21
- filterBetweenInclusive: string;
22
- filterByColumn: string;
23
- filterContains: string;
24
- filterEmpty: string;
25
- filterEndsWith: string;
26
- filterEquals: string;
27
- filterEqualsString: string;
28
- filterFuzzy: string;
29
- filterGreaterThan: string;
30
- filterGreaterThanOrEqualTo: string;
31
- filterInNumberRange: string;
32
- filterIncludesString: string;
33
- filterIncludesStringSensitive: string;
34
- filterLessThan: string;
35
- filterLessThanOrEqualTo: string;
36
- filterMode: string;
37
- filterNotEmpty: string;
38
- filterNotEquals: string;
39
- filterStartsWith: string;
40
- filterWeakEquals: string;
41
- filteringByColumn: string;
42
- grab: string;
43
- groupByColumn: string;
44
- groupedBy: string;
45
- hideAll: string;
46
- hideColumn: string;
47
- max: string;
48
- min: string;
49
- move: string;
50
- noRecordsToDisplay: string;
51
- noResultsFound: string;
52
- or: string;
53
- pinToLeft: string;
54
- pinToRight: string;
55
- resetColumnSize: string;
56
- resetOrder: string;
57
- rowActions: string;
58
- rowNumber: string;
59
- rowNumbers: string;
60
- save: string;
61
- search: string;
62
- select: string;
63
- selectedCountOfRowCountRowsSelected: string;
64
- showAll: string;
65
- showAllColumns: string;
66
- showHideColumns: string;
67
- showHideFilters: string;
68
- showHideSearch: string;
69
- sortByColumnAsc: string;
70
- sortByColumnDesc: string;
71
- sortedByColumnAsc: string;
72
- sortedByColumnDesc: string;
73
- thenBy: string;
74
- toggleDensity: string;
75
- toggleFullScreen: string;
76
- toggleSelectAll: string;
77
- toggleSelectRow: string;
78
- toggleVisibility: string;
79
- ungroupByColumn: string;
80
- unpin: string;
81
- unpinAll: string;
82
- unsorted: string;
83
- }
84
- export declare const MRT_DefaultLocalization_EN: MRT_Localization;
@@ -1,84 +0,0 @@
1
- export interface MRT_Localization {
2
- actions: string;
3
- and: string;
4
- cancel: string;
5
- changeFilterMode: string;
6
- changeSearchMode: string;
7
- clearFilter: string;
8
- clearSearch: string;
9
- clearSort: string;
10
- clickToCopy: string;
11
- columnActions: string;
12
- copiedToClipboard: string;
13
- dropToGroupBy: string;
14
- edit: string;
15
- expand: string;
16
- expandAll: string;
17
- filterArrIncludes: string;
18
- filterArrIncludesAll: string;
19
- filterArrIncludesSome: string;
20
- filterBetween: string;
21
- filterBetweenInclusive: string;
22
- filterByColumn: string;
23
- filterContains: string;
24
- filterEmpty: string;
25
- filterEndsWith: string;
26
- filterEquals: string;
27
- filterEqualsString: string;
28
- filterFuzzy: string;
29
- filterGreaterThan: string;
30
- filterGreaterThanOrEqualTo: string;
31
- filterInNumberRange: string;
32
- filterIncludesString: string;
33
- filterIncludesStringSensitive: string;
34
- filterLessThan: string;
35
- filterLessThanOrEqualTo: string;
36
- filterMode: string;
37
- filterNotEmpty: string;
38
- filterNotEquals: string;
39
- filterStartsWith: string;
40
- filterWeakEquals: string;
41
- filteringByColumn: string;
42
- grab: string;
43
- groupByColumn: string;
44
- groupedBy: string;
45
- hideAll: string;
46
- hideColumn: string;
47
- max: string;
48
- min: string;
49
- move: string;
50
- noRecordsToDisplay: string;
51
- noResultsFound: string;
52
- or: string;
53
- pinToLeft: string;
54
- pinToRight: string;
55
- resetColumnSize: string;
56
- resetOrder: string;
57
- rowActions: string;
58
- rowNumber: string;
59
- rowNumbers: string;
60
- save: string;
61
- search: string;
62
- select: string;
63
- selectedCountOfRowCountRowsSelected: string;
64
- showAll: string;
65
- showAllColumns: string;
66
- showHideColumns: string;
67
- showHideFilters: string;
68
- showHideSearch: string;
69
- sortByColumnAsc: string;
70
- sortByColumnDesc: string;
71
- sortedByColumnAsc: string;
72
- sortedByColumnDesc: string;
73
- thenBy: string;
74
- toggleDensity: string;
75
- toggleFullScreen: string;
76
- toggleSelectAll: string;
77
- toggleSelectRow: string;
78
- toggleVisibility: string;
79
- ungroupByColumn: string;
80
- unpin: string;
81
- unpinAll: string;
82
- unsorted: string;
83
- }
84
- export declare const MRT_DefaultLocalization_EN: MRT_Localization;