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.
- package/dist/MaterialReactTable.d.ts +11 -3
- package/dist/buttons/MRT_FullScreenToggleButton.d.ts +3 -1
- package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +2 -1
- package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +6 -0
- package/dist/buttons/MRT_ToggleFiltersButton.d.ts +3 -1
- package/dist/buttons/MRT_ToggleSearchButton.d.ts +3 -1
- package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -1
- package/dist/material-react-table.cjs.development.js +174 -103
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +174 -103
- package/dist/material-react-table.esm.js.map +1 -1
- package/package.json +7 -8
- package/src/MaterialReactTable.tsx +20 -2
- package/src/body/MRT_TableBodyRow.tsx +3 -2
- package/src/buttons/MRT_FullScreenToggleButton.tsx +4 -3
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -2
- package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +14 -8
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +24 -0
- package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -3
- package/src/buttons/MRT_ToggleSearchButton.tsx +4 -4
- package/src/footer/MRT_TableFooterRow.tsx +9 -10
- package/src/head/MRT_TableHeadCell.tsx +21 -12
- package/src/head/MRT_TableHeadRow.tsx +6 -5
- package/src/inputs/MRT_EditCellTextField.tsx +1 -2
- package/src/inputs/MRT_SelectCheckbox.tsx +44 -15
- package/src/table/MRT_TableContainer.tsx +2 -2
- package/src/toolbar/MRT_TablePagination.tsx +1 -0
- package/src/toolbar/MRT_ToolbarBottom.tsx +19 -7
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +18 -2
- package/src/toolbar/MRT_ToolbarTop.tsx +19 -7
- package/src/utils/localization.ts +3 -3
- package/dist/inputs/MRT_DensePaddingSwitch.d.ts +0 -5
- package/dist/inputs/MRT_SelectAllCheckbox.d.ts +0 -2
- package/src/inputs/MRT_DensePaddingSwitch.tsx +0 -23
- package/src/inputs/MRT_SelectAllCheckbox.tsx +0 -22
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
import React, { FC } from 'react';
|
|
2
|
-
import { styled, Toolbar as MuiToolbar } from '@mui/material';
|
|
2
|
+
import { alpha, styled, Toolbar as MuiToolbar } from '@mui/material';
|
|
3
3
|
import { MRT_SearchTextField } from '../inputs/MRT_SearchTextField';
|
|
4
4
|
import { useMRT } from '../useMRT';
|
|
5
5
|
import { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';
|
|
6
6
|
import { MRT_TablePagination } from './MRT_TablePagination';
|
|
7
7
|
import { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';
|
|
8
8
|
|
|
9
|
-
const Toolbar = styled(MuiToolbar
|
|
9
|
+
const Toolbar = styled(MuiToolbar, {
|
|
10
|
+
shouldForwardProp: (prop) => prop !== 'fullScreen',
|
|
11
|
+
})<{ fullScreen?: boolean }>(({ fullScreen, theme }) => ({
|
|
12
|
+
backgroundColor: theme.palette.background.default,
|
|
13
|
+
backgroundImage: `linear-gradient(${alpha(
|
|
14
|
+
theme.palette.common.white,
|
|
15
|
+
0.05,
|
|
16
|
+
)},${alpha(theme.palette.common.white, 0.05)})`,
|
|
10
17
|
display: 'grid',
|
|
11
18
|
padding: '0 0.5rem !important',
|
|
12
|
-
|
|
19
|
+
position: fullScreen ? 'sticky' : undefined,
|
|
20
|
+
top: fullScreen ? '0' : undefined,
|
|
21
|
+
width: 'calc(100% - 1rem)',
|
|
22
|
+
zIndex: 1,
|
|
23
|
+
}));
|
|
13
24
|
|
|
14
25
|
const ToolbarTopRow = styled('div')({
|
|
15
|
-
padding: '
|
|
26
|
+
padding: '0.5rem',
|
|
16
27
|
display: 'flex',
|
|
17
28
|
justifyContent: 'space-between',
|
|
18
29
|
});
|
|
@@ -29,11 +40,12 @@ interface Props {}
|
|
|
29
40
|
export const MRT_ToolbarTop: FC<Props> = () => {
|
|
30
41
|
const {
|
|
31
42
|
disableGlobalFilter,
|
|
32
|
-
|
|
43
|
+
hideToolbarInternalActions,
|
|
33
44
|
manualPagination,
|
|
34
45
|
muiTableToolbarTopProps,
|
|
35
46
|
positionPagination,
|
|
36
47
|
positionToolbarActions,
|
|
48
|
+
fullScreen,
|
|
37
49
|
positionToolbarAlertBanner,
|
|
38
50
|
renderToolbarCustomActions,
|
|
39
51
|
tableInstance,
|
|
@@ -45,13 +57,13 @@ export const MRT_ToolbarTop: FC<Props> = () => {
|
|
|
45
57
|
: muiTableToolbarTopProps;
|
|
46
58
|
|
|
47
59
|
return (
|
|
48
|
-
<Toolbar variant="dense" {...toolbarProps}>
|
|
60
|
+
<Toolbar fullScreen={fullScreen} variant="dense" {...toolbarProps}>
|
|
49
61
|
{positionToolbarAlertBanner === 'top' && <MRT_ToolbarAlertBanner />}
|
|
50
62
|
<ToolbarTopRow>
|
|
51
63
|
{renderToolbarCustomActions?.(tableInstance) ?? <span />}
|
|
52
64
|
<ToolbarActionsContainer>
|
|
53
65
|
{!disableGlobalFilter && <MRT_SearchTextField />}
|
|
54
|
-
{!
|
|
66
|
+
{!hideToolbarInternalActions && positionToolbarActions === 'top' && (
|
|
55
67
|
<MRT_ToolbarInternalButtons />
|
|
56
68
|
)}
|
|
57
69
|
</ToolbarActionsContainer>
|
|
@@ -35,7 +35,7 @@ export interface MRT_Localization {
|
|
|
35
35
|
export const defaultLocalization: MRT_Localization = {
|
|
36
36
|
actionsHeadColumnTitle: 'Actions',
|
|
37
37
|
columnActionMenuButtonTitle: 'Column Actions',
|
|
38
|
-
columnActionMenuItemClearSort: 'Clear
|
|
38
|
+
columnActionMenuItemClearSort: 'Clear sort',
|
|
39
39
|
columnActionMenuItemGroupBy: 'Group by {column}',
|
|
40
40
|
columnActionMenuItemHideColumn: 'Hide {column} column',
|
|
41
41
|
columnActionMenuItemSortAsc: 'Sort by {column} ascending',
|
|
@@ -54,8 +54,8 @@ export const defaultLocalization: MRT_Localization = {
|
|
|
54
54
|
rowActionsColumnTitle: 'Actions',
|
|
55
55
|
searchTextFieldClearButtonTitle: 'Clear search',
|
|
56
56
|
searchTextFieldPlaceholder: 'Search',
|
|
57
|
-
selectAllCheckboxTitle: '
|
|
58
|
-
selectCheckboxTitle: '
|
|
57
|
+
selectAllCheckboxTitle: 'Toggle select all',
|
|
58
|
+
selectCheckboxTitle: 'Toggle select row',
|
|
59
59
|
showHideColumnsButtonTitle: 'Show/Hide columns',
|
|
60
60
|
toggleDensePaddingSwitchTitle: 'Toggle dense padding',
|
|
61
61
|
toggleFilterButtonTitle: 'Toggle filters',
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React, { FC } from 'react';
|
|
2
|
-
import { Switch, Tooltip } from '@mui/material';
|
|
3
|
-
import { useMRT } from '../useMRT';
|
|
4
|
-
|
|
5
|
-
interface Props {}
|
|
6
|
-
|
|
7
|
-
export const MRT_DensePaddingSwitch: FC<Props> = () => {
|
|
8
|
-
const { densePadding, setDensePadding, localization } = useMRT();
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<Tooltip arrow title={localization?.toggleDensePaddingSwitchTitle ?? ''}>
|
|
12
|
-
<Switch
|
|
13
|
-
inputProps={{
|
|
14
|
-
'aria-label': localization?.toggleDensePaddingSwitchTitle ?? '',
|
|
15
|
-
}}
|
|
16
|
-
color="default"
|
|
17
|
-
checked={densePadding}
|
|
18
|
-
size="small"
|
|
19
|
-
onChange={() => setDensePadding(!densePadding)}
|
|
20
|
-
/>
|
|
21
|
-
</Tooltip>
|
|
22
|
-
);
|
|
23
|
-
};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Checkbox } from '@mui/material';
|
|
3
|
-
import { useMRT } from '../useMRT';
|
|
4
|
-
import { MRT_TableButtonCell } from '../table/MRT_TableButtonCell';
|
|
5
|
-
|
|
6
|
-
export const MRT_SelectAllCheckbox = () => {
|
|
7
|
-
const { tableInstance, disableSelectAll, densePadding, localization } =
|
|
8
|
-
useMRT();
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<MRT_TableButtonCell densePadding={densePadding} variant="head">
|
|
12
|
-
{!disableSelectAll ? (
|
|
13
|
-
<Checkbox
|
|
14
|
-
inputProps={{
|
|
15
|
-
'aria-label': localization?.selectAllCheckboxTitle ?? '',
|
|
16
|
-
}}
|
|
17
|
-
{...tableInstance.getToggleAllPageRowsSelectedProps()}
|
|
18
|
-
/>
|
|
19
|
-
) : null}
|
|
20
|
-
</MRT_TableButtonCell>
|
|
21
|
-
);
|
|
22
|
-
};
|