material-react-table 0.4.6 → 0.4.9
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/README.md +3 -2
- package/dist/MaterialReactTable.d.ts +68 -23
- package/dist/body/MRT_TableBodyCell.d.ts +2 -2
- package/dist/body/MRT_TableBodyRow.d.ts +2 -2
- package/dist/body/MRT_TableDetailPanel.d.ts +2 -2
- package/dist/buttons/MRT_EditActionButtons.d.ts +2 -2
- package/dist/buttons/MRT_ExpandButton.d.ts +2 -2
- package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +2 -2
- package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -2
- package/dist/footer/MRT_TableFooterCell.d.ts +2 -2
- package/dist/footer/MRT_TableFooterRow.d.ts +2 -2
- package/dist/head/MRT_TableHeadCell.d.ts +2 -2
- package/dist/head/MRT_TableHeadRow.d.ts +2 -2
- package/dist/inputs/MRT_EditCellTextField.d.ts +2 -2
- package/dist/inputs/MRT_FilterTextField.d.ts +2 -2
- package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -2
- package/dist/material-react-table.cjs.development.js +42 -26
- 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 +43 -27
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_ColumnActionMenu.d.ts +2 -2
- package/dist/menus/MRT_RowActionMenu.d.ts +2 -2
- package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +2 -2
- package/dist/useMRT.d.ts +4 -4
- package/package.json +1 -1
- package/src/@types/react-table-config.d.ts +18 -121
- package/src/MaterialReactTable.tsx +183 -23
- package/src/body/MRT_TableBody.tsx +2 -1
- package/src/body/MRT_TableBodyCell.tsx +2 -2
- package/src/body/MRT_TableBodyRow.tsx +6 -4
- package/src/body/MRT_TableDetailPanel.tsx +9 -16
- package/src/buttons/MRT_EditActionButtons.tsx +2 -2
- package/src/buttons/MRT_ExpandButton.tsx +2 -2
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +2 -1
- package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +2 -2
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +3 -3
- package/src/footer/MRT_TableFooter.tsx +2 -1
- package/src/footer/MRT_TableFooterCell.tsx +2 -2
- package/src/footer/MRT_TableFooterRow.tsx +3 -3
- package/src/head/MRT_TableHead.tsx +2 -1
- package/src/head/MRT_TableHeadCell.tsx +2 -2
- package/src/head/MRT_TableHeadRow.tsx +3 -3
- package/src/index.tsx +2 -0
- package/src/inputs/MRT_EditCellTextField.tsx +2 -2
- package/src/inputs/MRT_FilterTextField.tsx +3 -2
- package/src/inputs/MRT_SelectCheckbox.tsx +3 -3
- package/src/menus/MRT_ColumnActionMenu.tsx +2 -2
- package/src/menus/MRT_RowActionMenu.tsx +2 -2
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +3 -2
- package/src/table/MRT_TableContainer.tsx +19 -1
- package/src/useMRT.tsx +18 -15
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ View additional storybook examples at https://www.material-react-table.dev/
|
|
|
12
12
|
|
|
13
13
|
View the source code and open issues at https://github.com/KevinVandy/material-react-table
|
|
14
14
|
|
|
15
|
-
Join the discord development discussion at https://discord.gg/
|
|
15
|
+
Join the discord development discussion at https://discord.gg/5wqyRx6fnm
|
|
16
16
|
|
|
17
17
|
<br />
|
|
18
18
|
|
|
@@ -25,6 +25,7 @@ Join the discord development discussion at https://discord.gg/Gjm62HGw
|
|
|
25
25
|
- [x] Column Hiding
|
|
26
26
|
- [x] Custom Styling
|
|
27
27
|
- [x] Dense Padding Toggle
|
|
28
|
+
- [x] Localization
|
|
28
29
|
- [x] Filtering
|
|
29
30
|
- [x] Global Search
|
|
30
31
|
- [x] HeaderGroups
|
|
@@ -40,7 +41,7 @@ Join the discord development discussion at https://discord.gg/Gjm62HGw
|
|
|
40
41
|
1. Install Peer Dependencies (material-ui v5 and react table v7)
|
|
41
42
|
|
|
42
43
|
```bash
|
|
43
|
-
npm install @mui/material @mui/icons-material @emotion/react react-table
|
|
44
|
+
npm install @mui/material @mui/icons-material @emotion/react @emotion/styled react-table
|
|
44
45
|
```
|
|
45
46
|
|
|
46
47
|
2. Install material-react-table
|
|
@@ -1,15 +1,60 @@
|
|
|
1
1
|
import { ChangeEvent, FC, MouseEvent, ReactNode } from 'react';
|
|
2
2
|
import { AlertProps, IconButtonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
|
|
3
|
-
import { Cell, Column, HeaderGroup, Row, TableInstance, TableOptions, UseExpandedOptions, UseFiltersOptions, UseGlobalFiltersOptions, UseGroupByOptions, UsePaginationOptions, UseResizeColumnsOptions, UseRowSelectOptions, UseRowStateOptions, UseSortByOptions, UseTableOptions } from 'react-table';
|
|
4
|
-
import { MRT_ColumnInterface } from './@types/react-table-config';
|
|
3
|
+
import { Cell, Column, ColumnInstance, HeaderGroup, Row, TableInstance, TableOptions, TableState, UseColumnOrderInstanceProps, UseColumnOrderState, UseExpandedInstanceProps, UseExpandedOptions, UseExpandedRowProps, UseExpandedState, UseFiltersColumnOptions, UseFiltersColumnProps, UseFiltersInstanceProps, UseFiltersOptions, UseFiltersState, UseGlobalFiltersColumnOptions, UseGlobalFiltersInstanceProps, UseGlobalFiltersOptions, UseGlobalFiltersState, UseGroupByCellProps, UseGroupByColumnOptions, UseGroupByColumnProps, UseGroupByInstanceProps, UseGroupByOptions, UseGroupByRowProps, UseGroupByState, UsePaginationInstanceProps, UsePaginationOptions, UsePaginationState, UseResizeColumnsColumnOptions, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectOptions, UseRowSelectRowProps, UseRowSelectState, UseRowStateCellProps, UseRowStateInstanceProps, UseRowStateOptions, UseRowStateRowProps, UseRowStateState, UseSortByColumnOptions, UseSortByColumnProps, UseSortByInstanceProps, UseSortByOptions, UseSortByState, UseTableHeaderGroupProps, UseTableInstanceProps, UseTableOptions } from 'react-table';
|
|
5
4
|
import { MRT_Localization } from './localization';
|
|
6
5
|
import { MRT_Icons } from './icons';
|
|
7
|
-
export declare type
|
|
6
|
+
export declare type MRT_TableOptions<D extends {} = {}> = TableOptions<D> & UseExpandedOptions<D> & UseFiltersOptions<D> & UseGlobalFiltersOptions<D> & UseGroupByOptions<D> & UsePaginationOptions<D> & UseResizeColumnsOptions<D> & UseRowSelectOptions<D> & UseRowStateOptions<D> & UseSortByOptions<D> & {
|
|
8
7
|
columns: (Column<D> & MRT_ColumnInterface)[];
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
data: D[];
|
|
9
|
+
initialState?: Partial<MRT_TableState>;
|
|
10
|
+
};
|
|
11
|
+
export declare type MRT_TableInstance<D extends {} = {}> = TableInstance<D> & UseTableInstanceProps<D> & UseColumnOrderInstanceProps<D> & UseExpandedInstanceProps<D> & UseFiltersInstanceProps<D> & UseGlobalFiltersInstanceProps<D> & UseGroupByInstanceProps<D> & UsePaginationInstanceProps<D> & UseRowSelectInstanceProps<D> & UseRowStateInstanceProps<D> & UseSortByInstanceProps<D> & {
|
|
12
|
+
columns: (Column<D> & MRT_ColumnInstance<D>)[];
|
|
13
|
+
headerGroups: MRT_HeaderGroup<D>[];
|
|
14
|
+
footerGroups: MRT_HeaderGroup<D>[];
|
|
15
|
+
state: MRT_TableState<D>;
|
|
16
|
+
rows: MRT_Row<D>[];
|
|
17
|
+
page: MRT_Row<D>[];
|
|
18
|
+
resetResizing: () => void;
|
|
19
|
+
getToggleAllRowsExpandedProps: () => void;
|
|
20
|
+
};
|
|
21
|
+
export declare type MRT_ColumnInterface<D extends {} = {}> = UseFiltersColumnOptions<D> & UseGlobalFiltersColumnOptions<D> & UseGroupByColumnOptions<D> & UseResizeColumnsColumnOptions<D> & UseSortByColumnOptions<D> & {
|
|
22
|
+
Edit?: ({ cell, onChange, }: {
|
|
23
|
+
cell: MRT_Cell<D>;
|
|
24
|
+
onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
25
|
+
}) => ReactNode;
|
|
26
|
+
Filter?: ({ column }: {
|
|
27
|
+
column: MRT_HeaderGroup<D>;
|
|
28
|
+
}) => ReactNode;
|
|
29
|
+
Footer?: string;
|
|
30
|
+
Header?: string;
|
|
31
|
+
disableFilters?: boolean;
|
|
32
|
+
editable?: boolean;
|
|
33
|
+
muiTableBodyCellEditTextFieldProps?: TextFieldProps | ((cell: MRT_Cell<D>) => TextFieldProps);
|
|
34
|
+
muiTableBodyCellProps?: TableCellProps | ((cell: MRT_Cell<D>) => TableCellProps);
|
|
35
|
+
muiTableFooterCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
|
|
36
|
+
muiTableHeadCellFilterTextFieldProps?: TextFieldProps | ((column: Column<D>) => TextFieldProps);
|
|
37
|
+
muiTableHeadCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
|
|
38
|
+
onCellEditChange?: (event: ChangeEvent<HTMLInputElement>, cell: MRT_Cell<D>) => void;
|
|
39
|
+
onFilterChange?: (event: ChangeEvent<HTMLInputElement>, filterValue: any) => void;
|
|
40
|
+
};
|
|
41
|
+
export declare type MRT_ColumnInstance<D extends {} = {}> = ColumnInstance<D> & UseFiltersColumnProps<D> & UseGroupByColumnProps<D> & UseResizeColumnsColumnProps<D> & UseSortByColumnProps<D> & {
|
|
42
|
+
columns?: MRT_ColumnInstance<D>[];
|
|
43
|
+
};
|
|
44
|
+
export declare type MRT_HeaderGroup<D extends {} = {}> = HeaderGroup<D> & MRT_ColumnInstance<D> & UseTableHeaderGroupProps<D> & {
|
|
45
|
+
headers: MRT_HeaderGroup<D>[];
|
|
46
|
+
};
|
|
47
|
+
export declare type MRT_Row<D extends {} = {}> = Row<D> & UseExpandedRowProps<D> & UseGroupByRowProps<D> & UseRowSelectRowProps<D> & UseRowStateRowProps<D> & {
|
|
48
|
+
cells: MRT_Cell<D>[];
|
|
49
|
+
};
|
|
50
|
+
export declare type MRT_Cell<D extends {} = {}, _V = any> = Cell<D> & UseGroupByCellProps<D> & UseRowStateCellProps<D> & {};
|
|
51
|
+
export declare type MRT_TableState<D extends {} = {}> = TableState<D> & UseColumnOrderState<D> & UseExpandedState<D> & UseFiltersState<D> & UseGlobalFiltersState<D> & UseGroupByState<D> & UsePaginationState<D> & UseResizeColumnsState<D> & UseRowSelectState<D> & UseRowStateState<D> & UseSortByState<D> & {
|
|
52
|
+
densePadding?: boolean;
|
|
53
|
+
fullScreen?: boolean;
|
|
54
|
+
showFilters?: boolean;
|
|
55
|
+
showSearchTextField?: boolean;
|
|
56
|
+
};
|
|
57
|
+
export declare type MaterialReactTableProps<D extends {} = {}> = UseTableOptions<D> & UseExpandedOptions<D> & UseFiltersOptions<D> & UseGlobalFiltersOptions<D> & UseGroupByOptions<D> & UsePaginationOptions<D> & UseResizeColumnsOptions<D> & UseRowSelectOptions<D> & UseRowStateOptions<D> & UseSortByOptions<D> & MRT_TableOptions<D> & {
|
|
13
58
|
disableColumnActions?: boolean;
|
|
14
59
|
disableColumnHiding?: boolean;
|
|
15
60
|
disableDensePaddingToggle?: boolean;
|
|
@@ -17,41 +62,41 @@ export declare type MaterialReactTableProps<D extends {} = {}> = TableOptions<D>
|
|
|
17
62
|
disableFullScreenToggle?: boolean;
|
|
18
63
|
disableSelectAll?: boolean;
|
|
19
64
|
disableSubRowTree?: boolean;
|
|
20
|
-
enableRowNumbers?: boolean;
|
|
21
65
|
enableColumnGrouping?: boolean;
|
|
22
66
|
enableColumnResizing?: boolean;
|
|
23
67
|
enableRowActions?: boolean;
|
|
24
68
|
enableRowEditing?: boolean;
|
|
69
|
+
enableRowNumbers?: boolean;
|
|
25
70
|
enableSelection?: boolean;
|
|
26
71
|
hideTableFooter?: boolean;
|
|
27
72
|
hideTableHead?: boolean;
|
|
28
|
-
hideToolbarInternalActions?: boolean;
|
|
29
73
|
hideToolbarBottom?: boolean;
|
|
74
|
+
hideToolbarInternalActions?: boolean;
|
|
30
75
|
hideToolbarTop?: boolean;
|
|
31
76
|
icons?: Partial<MRT_Icons>;
|
|
32
77
|
isFetching?: boolean;
|
|
33
78
|
isLoading?: boolean;
|
|
34
79
|
localization?: Partial<MRT_Localization>;
|
|
35
80
|
muiSearchTextFieldProps?: TextFieldProps;
|
|
36
|
-
muiTableBodyCellEditTextFieldProps?: TextFieldProps | ((cell?:
|
|
37
|
-
muiTableBodyCellProps?: TableCellProps | ((cell?:
|
|
81
|
+
muiTableBodyCellEditTextFieldProps?: TextFieldProps | ((cell?: MRT_Cell<D>) => TextFieldProps);
|
|
82
|
+
muiTableBodyCellProps?: TableCellProps | ((cell?: MRT_Cell<D>) => TableCellProps);
|
|
38
83
|
muiTableBodyProps?: TableBodyProps;
|
|
39
84
|
muiTableBodyRowProps?: TableRowProps | ((row: Row<D>) => TableRowProps);
|
|
40
|
-
muiTableContainerProps?: TableContainerProps | ((table:
|
|
85
|
+
muiTableContainerProps?: TableContainerProps | ((table: MRT_TableInstance<D>) => TableContainerProps);
|
|
41
86
|
muiTableDetailPanelProps?: TableCellProps | ((row: Row<D>) => TableCellProps);
|
|
42
87
|
muiTableFooterCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
|
|
43
88
|
muiTableFooterProps?: TableFooterProps;
|
|
44
|
-
muiTableFooterRowProps?: TableRowProps | ((footerGroup:
|
|
89
|
+
muiTableFooterRowProps?: TableRowProps | ((footerGroup: MRT_HeaderGroup<D>) => TableRowProps);
|
|
45
90
|
muiTableHeadCellFilterTextFieldProps?: TextFieldProps | ((column: Column<D>) => TextFieldProps);
|
|
46
91
|
muiTableHeadCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
|
|
47
92
|
muiTableHeadProps?: TableHeadProps;
|
|
48
|
-
muiTableHeadRowProps?: TableRowProps | ((row:
|
|
49
|
-
muiTablePaginationProps?: Partial<TablePaginationProps> | ((tableInstance:
|
|
93
|
+
muiTableHeadRowProps?: TableRowProps | ((row: MRT_HeaderGroup<D>) => TableRowProps);
|
|
94
|
+
muiTablePaginationProps?: Partial<TablePaginationProps> | ((tableInstance: MRT_TableInstance<D>) => Partial<TablePaginationProps>);
|
|
50
95
|
muiTableProps?: TableProps;
|
|
51
|
-
muiTableToolbarAlertBannerProps?: AlertProps | ((tableInstance:
|
|
52
|
-
muiTableToolbarBottomProps?: ToolbarProps | ((tableInstance:
|
|
53
|
-
muiTableToolbarTopProps?: ToolbarProps | ((tableInstance:
|
|
54
|
-
onCellClick?: (event: MouseEvent<HTMLTableCellElement>, cell:
|
|
96
|
+
muiTableToolbarAlertBannerProps?: AlertProps | ((tableInstance: MRT_TableInstance<D>) => AlertProps);
|
|
97
|
+
muiTableToolbarBottomProps?: ToolbarProps | ((tableInstance: MRT_TableInstance<D>) => ToolbarProps);
|
|
98
|
+
muiTableToolbarTopProps?: ToolbarProps | ((tableInstance: MRT_TableInstance<D>) => ToolbarProps);
|
|
99
|
+
onCellClick?: (event: MouseEvent<HTMLTableCellElement>, cell: MRT_Cell<D>) => void;
|
|
55
100
|
onColumnHide?: (column: Column<D>, visibleColumns: Column<D>[]) => void;
|
|
56
101
|
onDetailPanelClick?: (event: MouseEvent<HTMLTableCellElement>, row: Row<D>) => void;
|
|
57
102
|
onGlobalFilterChange?: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
@@ -65,10 +110,10 @@ export declare type MaterialReactTableProps<D extends {} = {}> = TableOptions<D>
|
|
|
65
110
|
positionToolbarActions?: 'bottom' | 'top';
|
|
66
111
|
positionToolbarAlertBanner?: 'bottom' | 'top';
|
|
67
112
|
renderDetailPanel?: (row: Row<D>) => ReactNode;
|
|
68
|
-
renderRowActionMenuItems?: (rowData: Row<D>, tableInstance:
|
|
69
|
-
renderRowActions?: (row: Row<D>, tableInstance:
|
|
70
|
-
renderToolbarCustomActions?: (tableInstance:
|
|
71
|
-
renderToolbarInternalActions?: (tableInstance:
|
|
113
|
+
renderRowActionMenuItems?: (rowData: Row<D>, tableInstance: MRT_TableInstance<D>, closeMenu: () => void) => ReactNode[];
|
|
114
|
+
renderRowActions?: (row: Row<D>, tableInstance: MRT_TableInstance<D>) => ReactNode;
|
|
115
|
+
renderToolbarCustomActions?: (tableInstance: MRT_TableInstance<D>) => ReactNode;
|
|
116
|
+
renderToolbarInternalActions?: (tableInstance: MRT_TableInstance<D>, { MRT_ToggleSearchButton, MRT_ToggleFiltersButton, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_FullScreenToggleButton, }: {
|
|
72
117
|
MRT_ToggleSearchButton: FC<IconButtonProps>;
|
|
73
118
|
MRT_ToggleFiltersButton: FC<IconButtonProps>;
|
|
74
119
|
MRT_ShowHideColumnsButton: FC<IconButtonProps>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { MRT_Cell } from '..';
|
|
3
3
|
export declare const MRT_StyledTableBodyCell: import("@emotion/styled").StyledComponent<import("@mui/material").TableCellProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
|
|
4
4
|
densePadding?: boolean | undefined;
|
|
5
5
|
}, {}, {}>;
|
|
6
6
|
interface Props {
|
|
7
|
-
cell:
|
|
7
|
+
cell: MRT_Cell;
|
|
8
8
|
}
|
|
9
9
|
export declare const MRT_TableBodyCell: FC<Props>;
|
|
10
10
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { FC } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { MRT_Row } from '..';
|
|
3
3
|
export declare const TableRow: import("@emotion/styled").StyledComponent<{
|
|
4
4
|
children?: React.ReactNode;
|
|
5
5
|
classes?: Partial<import("@mui/material").TableRowClasses> | undefined;
|
|
@@ -16,7 +16,7 @@ export declare const TableRow: import("@emotion/styled").StyledComponent<{
|
|
|
16
16
|
isSelected?: boolean | undefined;
|
|
17
17
|
}, {}, {}>;
|
|
18
18
|
interface Props {
|
|
19
|
-
row:
|
|
19
|
+
row: MRT_Row;
|
|
20
20
|
}
|
|
21
21
|
export declare const MRT_TableBodyRow: FC<Props>;
|
|
22
22
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { MRT_HeaderGroup } from '..';
|
|
3
3
|
interface Props {
|
|
4
|
-
column:
|
|
4
|
+
column: MRT_HeaderGroup;
|
|
5
5
|
}
|
|
6
6
|
export declare const MRT_ToggleColumnActionMenuButton: FC<Props>;
|
|
7
7
|
export {};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { MRT_HeaderGroup } from '..';
|
|
3
3
|
export declare const MRT_StyledTableHeadCell: import("@emotion/styled").StyledComponent<import("@mui/material").TableCellProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
|
|
4
4
|
densePadding?: boolean | undefined;
|
|
5
5
|
enableColumnResizing?: boolean | undefined;
|
|
6
6
|
}, {}, {}>;
|
|
7
7
|
interface Props {
|
|
8
|
-
column:
|
|
8
|
+
column: MRT_HeaderGroup;
|
|
9
9
|
}
|
|
10
10
|
export declare const MRT_TableHeadCell: FC<Props>;
|
|
11
11
|
export {};
|
|
@@ -105,17 +105,19 @@ var MaterialReactTableContext = /*#__PURE__*/function () {
|
|
|
105
105
|
}();
|
|
106
106
|
|
|
107
107
|
var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
108
|
-
var _props$
|
|
108
|
+
var _props$initialState$d, _props$initialState, _props$initialState$f, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4;
|
|
109
109
|
|
|
110
110
|
var hooks = [reactTable.useFilters, reactTable.useGlobalFilter, reactTable.useGroupBy, reactTable.useSortBy, reactTable.useExpanded, reactTable.usePagination, reactTable.useRowSelect];
|
|
111
111
|
if (props.enableColumnResizing) hooks.unshift(reactTable.useResizeColumns, reactTable.useFlexLayout);
|
|
112
112
|
var tableInstance = reactTable.useTable.apply(void 0, [props].concat(hooks));
|
|
113
|
-
var anyRowsCanExpand = React.useMemo(
|
|
113
|
+
var anyRowsCanExpand = React.useMemo( // @ts-ignore
|
|
114
|
+
function () {
|
|
114
115
|
return tableInstance.rows.some(function (row) {
|
|
115
116
|
return row.canExpand;
|
|
116
117
|
});
|
|
117
118
|
}, [tableInstance.rows]);
|
|
118
|
-
var anyRowsExpanded = React.useMemo(
|
|
119
|
+
var anyRowsExpanded = React.useMemo( // @ts-ignore
|
|
120
|
+
function () {
|
|
119
121
|
return tableInstance.rows.some(function (row) {
|
|
120
122
|
return row.isExpanded;
|
|
121
123
|
});
|
|
@@ -125,19 +127,19 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
125
127
|
currentEditingRow = _useState[0],
|
|
126
128
|
setCurrentEditingRow = _useState[1];
|
|
127
129
|
|
|
128
|
-
var _useState2 = React.useState((_props$
|
|
130
|
+
var _useState2 = React.useState((_props$initialState$d = (_props$initialState = props.initialState) == null ? void 0 : _props$initialState.densePadding) != null ? _props$initialState$d : false),
|
|
129
131
|
densePadding = _useState2[0],
|
|
130
132
|
setDensePadding = _useState2[1];
|
|
131
133
|
|
|
132
|
-
var _useState3 = React.useState((_props$
|
|
134
|
+
var _useState3 = React.useState((_props$initialState$f = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.fullScreen) != null ? _props$initialState$f : false),
|
|
133
135
|
fullScreen = _useState3[0],
|
|
134
136
|
setFullScreen = _useState3[1];
|
|
135
137
|
|
|
136
|
-
var _useState4 = React.useState((_props$
|
|
138
|
+
var _useState4 = React.useState((_props$initialState$s = (_props$initialState3 = props.initialState) == null ? void 0 : _props$initialState3.showFilters) != null ? _props$initialState$s : false),
|
|
137
139
|
showFilters = _useState4[0],
|
|
138
140
|
setShowFilters = _useState4[1];
|
|
139
141
|
|
|
140
|
-
var _useState5 = React.useState((_props$
|
|
142
|
+
var _useState5 = React.useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showSearchTextField) != null ? _props$initialState$s2 : false),
|
|
141
143
|
showSearch = _useState5[0],
|
|
142
144
|
setShowSearch = _useState5[1];
|
|
143
145
|
|
|
@@ -161,7 +163,7 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
161
163
|
}, props.children);
|
|
162
164
|
};
|
|
163
165
|
var useMRT = function useMRT() {
|
|
164
|
-
return (
|
|
166
|
+
return (// @ts-ignore
|
|
165
167
|
React.useContext(MaterialReactTableContext)
|
|
166
168
|
);
|
|
167
169
|
};
|
|
@@ -502,8 +504,10 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
|
|
|
502
504
|
|
|
503
505
|
var onSelectChange = function onSelectChange(event) {
|
|
504
506
|
if (selectAll) {
|
|
507
|
+
var _tableInstance$getTog;
|
|
508
|
+
|
|
509
|
+
tableInstance == null ? void 0 : tableInstance.getToggleAllRowsSelectedProps == null ? void 0 : (_tableInstance$getTog = tableInstance.getToggleAllRowsSelectedProps()) == null ? void 0 : _tableInstance$getTog.onChange == null ? void 0 : _tableInstance$getTog.onChange(event);
|
|
505
510
|
onSelectAllChange == null ? void 0 : onSelectAllChange(event, tableInstance.selectedFlatRows);
|
|
506
|
-
tableInstance.toggleAllRowsSelected(event.target.checked);
|
|
507
511
|
} else if (row) {
|
|
508
512
|
var _row$getToggleRowSele;
|
|
509
513
|
|
|
@@ -740,32 +744,25 @@ var TableCell = /*#__PURE__*/material.styled(material.TableCell, {
|
|
|
740
744
|
};
|
|
741
745
|
});
|
|
742
746
|
var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref2) {
|
|
743
|
-
var _mTableBodyRowProps$s
|
|
747
|
+
var _mTableBodyRowProps$s;
|
|
744
748
|
|
|
745
749
|
var row = _ref2.row;
|
|
746
750
|
|
|
747
751
|
var _useMRT = useMRT(),
|
|
748
|
-
tableInstance = _useMRT.tableInstance,
|
|
749
|
-
renderDetailPanel = _useMRT.renderDetailPanel,
|
|
750
|
-
muiTableDetailPanelProps = _useMRT.muiTableDetailPanelProps,
|
|
751
752
|
muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
|
|
752
|
-
|
|
753
|
+
muiTableDetailPanelProps = _useMRT.muiTableDetailPanelProps,
|
|
754
|
+
onDetailPanelClick = _useMRT.onDetailPanelClick,
|
|
755
|
+
renderDetailPanel = _useMRT.renderDetailPanel,
|
|
756
|
+
tableInstance = _useMRT.tableInstance;
|
|
753
757
|
|
|
754
758
|
var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
|
|
755
759
|
|
|
756
|
-
var tableRowProps = _extends({}, mTableBodyRowProps, row.
|
|
757
|
-
style: _extends({}, row.
|
|
758
|
-
});
|
|
759
|
-
|
|
760
|
-
var mTableDetailPanelProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
|
|
761
|
-
|
|
762
|
-
var tableCellProps = _extends({}, mTableDetailPanelProps, {
|
|
763
|
-
style: _extends({}, (_mTableDetailPanelPro = mTableDetailPanelProps == null ? void 0 : mTableDetailPanelProps.style) != null ? _mTableDetailPanelPro : {})
|
|
760
|
+
var tableRowProps = _extends({}, mTableBodyRowProps, row.getRowProps(), {
|
|
761
|
+
style: _extends({}, row.getRowProps().style, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
|
|
764
762
|
});
|
|
765
763
|
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
}, tableRowProps), React__default.createElement(TableCell, Object.assign({
|
|
764
|
+
var tableCellProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
|
|
765
|
+
return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), React__default.createElement(TableCell, Object.assign({
|
|
769
766
|
colSpan: tableInstance.visibleColumns.length + 10,
|
|
770
767
|
isExpanded: row.isExpanded,
|
|
771
768
|
onClick: function onClick(event) {
|
|
@@ -1782,7 +1779,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
|
|
|
1782
1779
|
});
|
|
1783
1780
|
}), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React__default.createElement(MRT_ToggleRowActionMenuButton, {
|
|
1784
1781
|
row: row
|
|
1785
|
-
})), renderDetailPanel && React__default.createElement(MRT_TableDetailPanel, {
|
|
1782
|
+
})), renderDetailPanel && !row.isGrouped && React__default.createElement(MRT_TableDetailPanel, {
|
|
1786
1783
|
row: row
|
|
1787
1784
|
}));
|
|
1788
1785
|
};
|
|
@@ -2431,6 +2428,25 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2431
2428
|
muiTableContainerProps = _useMRT.muiTableContainerProps,
|
|
2432
2429
|
tableInstance = _useMRT.tableInstance;
|
|
2433
2430
|
|
|
2431
|
+
var originalBodyOverflowStyle = React.useRef();
|
|
2432
|
+
React.useEffect(function () {
|
|
2433
|
+
if (typeof window !== 'undefined') {
|
|
2434
|
+
var _document, _document$body, _document$body$style;
|
|
2435
|
+
|
|
2436
|
+
originalBodyOverflowStyle.current = (_document = document) == null ? void 0 : (_document$body = _document.body) == null ? void 0 : (_document$body$style = _document$body.style) == null ? void 0 : _document$body$style.overflow;
|
|
2437
|
+
}
|
|
2438
|
+
}, []);
|
|
2439
|
+
React.useEffect(function () {
|
|
2440
|
+
if (typeof window !== 'undefined') {
|
|
2441
|
+
if (fullScreen) {
|
|
2442
|
+
document.body.style.overflow = 'hidden';
|
|
2443
|
+
} else {
|
|
2444
|
+
var _originalBodyOverflow;
|
|
2445
|
+
|
|
2446
|
+
document.body.style.overflow = (_originalBodyOverflow = originalBodyOverflowStyle.current) != null ? _originalBodyOverflow : 'auto';
|
|
2447
|
+
}
|
|
2448
|
+
}
|
|
2449
|
+
}, [fullScreen]);
|
|
2434
2450
|
var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
|
|
2435
2451
|
return React__default.createElement(TableContainer, Object.assign({
|
|
2436
2452
|
component: material.Paper,
|