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.
Files changed (53) hide show
  1. package/README.md +3 -2
  2. package/dist/MaterialReactTable.d.ts +68 -23
  3. package/dist/body/MRT_TableBodyCell.d.ts +2 -2
  4. package/dist/body/MRT_TableBodyRow.d.ts +2 -2
  5. package/dist/body/MRT_TableDetailPanel.d.ts +2 -2
  6. package/dist/buttons/MRT_EditActionButtons.d.ts +2 -2
  7. package/dist/buttons/MRT_ExpandButton.d.ts +2 -2
  8. package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +2 -2
  9. package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -2
  10. package/dist/footer/MRT_TableFooterCell.d.ts +2 -2
  11. package/dist/footer/MRT_TableFooterRow.d.ts +2 -2
  12. package/dist/head/MRT_TableHeadCell.d.ts +2 -2
  13. package/dist/head/MRT_TableHeadRow.d.ts +2 -2
  14. package/dist/inputs/MRT_EditCellTextField.d.ts +2 -2
  15. package/dist/inputs/MRT_FilterTextField.d.ts +2 -2
  16. package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -2
  17. package/dist/material-react-table.cjs.development.js +42 -26
  18. package/dist/material-react-table.cjs.development.js.map +1 -1
  19. package/dist/material-react-table.cjs.production.min.js +1 -1
  20. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  21. package/dist/material-react-table.esm.js +43 -27
  22. package/dist/material-react-table.esm.js.map +1 -1
  23. package/dist/menus/MRT_ColumnActionMenu.d.ts +2 -2
  24. package/dist/menus/MRT_RowActionMenu.d.ts +2 -2
  25. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +2 -2
  26. package/dist/useMRT.d.ts +4 -4
  27. package/package.json +1 -1
  28. package/src/@types/react-table-config.d.ts +18 -121
  29. package/src/MaterialReactTable.tsx +183 -23
  30. package/src/body/MRT_TableBody.tsx +2 -1
  31. package/src/body/MRT_TableBodyCell.tsx +2 -2
  32. package/src/body/MRT_TableBodyRow.tsx +6 -4
  33. package/src/body/MRT_TableDetailPanel.tsx +9 -16
  34. package/src/buttons/MRT_EditActionButtons.tsx +2 -2
  35. package/src/buttons/MRT_ExpandButton.tsx +2 -2
  36. package/src/buttons/MRT_ShowHideColumnsButton.tsx +2 -1
  37. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +2 -2
  38. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +3 -3
  39. package/src/footer/MRT_TableFooter.tsx +2 -1
  40. package/src/footer/MRT_TableFooterCell.tsx +2 -2
  41. package/src/footer/MRT_TableFooterRow.tsx +3 -3
  42. package/src/head/MRT_TableHead.tsx +2 -1
  43. package/src/head/MRT_TableHeadCell.tsx +2 -2
  44. package/src/head/MRT_TableHeadRow.tsx +3 -3
  45. package/src/index.tsx +2 -0
  46. package/src/inputs/MRT_EditCellTextField.tsx +2 -2
  47. package/src/inputs/MRT_FilterTextField.tsx +3 -2
  48. package/src/inputs/MRT_SelectCheckbox.tsx +3 -3
  49. package/src/menus/MRT_ColumnActionMenu.tsx +2 -2
  50. package/src/menus/MRT_RowActionMenu.tsx +2 -2
  51. package/src/menus/MRT_ShowHideColumnsMenu.tsx +3 -2
  52. package/src/table/MRT_TableContainer.tsx +19 -1
  53. 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/Gjm62HGw
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 MaterialReactTableProps<D extends {} = {}> = TableOptions<D> & UseTableOptions<D> & UseExpandedOptions<D> & UseFiltersOptions<D> & UseGlobalFiltersOptions<D> & UseGroupByOptions<D> & UsePaginationOptions<D> & UseResizeColumnsOptions<D> & UseRowSelectOptions<D> & UseRowStateOptions<D> & UseSortByOptions<D> & {
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
- defaultDensePadding?: boolean;
10
- defaultFullScreen?: boolean;
11
- defaultShowFilters?: boolean;
12
- defaultShowSearchTextField?: boolean;
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?: Cell<D>) => TextFieldProps);
37
- muiTableBodyCellProps?: TableCellProps | ((cell?: Cell<D>) => TableCellProps);
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: TableInstance<D>) => TableContainerProps);
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: HeaderGroup<D>) => TableRowProps);
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: HeaderGroup<D>) => TableRowProps);
49
- muiTablePaginationProps?: Partial<TablePaginationProps> | ((tableInstance: TableInstance<D>) => Partial<TablePaginationProps>);
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: TableInstance<D>) => AlertProps);
52
- muiTableToolbarBottomProps?: ToolbarProps | ((tableInstance: TableInstance<D>) => ToolbarProps);
53
- muiTableToolbarTopProps?: ToolbarProps | ((tableInstance: TableInstance<D>) => ToolbarProps);
54
- onCellClick?: (event: MouseEvent<HTMLTableCellElement>, cell: Cell<D>) => void;
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: TableInstance<D>, closeMenu: () => void) => ReactNode[];
69
- renderRowActions?: (row: Row<D>, tableInstance: TableInstance<D>) => ReactNode;
70
- renderToolbarCustomActions?: (tableInstance: TableInstance<D>) => ReactNode;
71
- renderToolbarInternalActions?: (tableInstance: TableInstance<D>, { MRT_ToggleSearchButton, MRT_ToggleFiltersButton, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_FullScreenToggleButton, }: {
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 { Cell } from 'react-table';
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: 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 { Row } from 'react-table';
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: 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 { Row } from 'react-table';
2
+ import { MRT_Row } from '..';
3
3
  interface Props {
4
- row: Row;
4
+ row: MRT_Row;
5
5
  }
6
6
  export declare const MRT_TableDetailPanel: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { Row } from 'react-table';
2
+ import { MRT_Row } from '..';
3
3
  interface Props {
4
- row: Row;
4
+ row: MRT_Row;
5
5
  }
6
6
  export declare const MRT_EditActionButtons: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { Row } from 'react-table';
2
+ import { MRT_Row } from '..';
3
3
  interface Props {
4
- row: Row;
4
+ row: MRT_Row;
5
5
  }
6
6
  export declare const MRT_ExpandButton: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { HeaderGroup } from 'react-table';
2
+ import { MRT_HeaderGroup } from '..';
3
3
  interface Props {
4
- column: HeaderGroup;
4
+ column: MRT_HeaderGroup;
5
5
  }
6
6
  export declare const MRT_ToggleColumnActionMenuButton: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { Row } from 'react-table';
2
+ import { MRT_Row } from '..';
3
3
  interface Props {
4
- row: Row;
4
+ row: MRT_Row;
5
5
  }
6
6
  export declare const MRT_ToggleRowActionMenuButton: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { HeaderGroup } from 'react-table';
2
+ import { MRT_HeaderGroup } from '..';
3
3
  interface Props {
4
- column: HeaderGroup;
4
+ column: MRT_HeaderGroup;
5
5
  }
6
6
  export declare const MRT_TableFooterCell: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { HeaderGroup } from 'react-table';
2
+ import { MRT_HeaderGroup } from '..';
3
3
  interface Props {
4
- footerGroup: HeaderGroup;
4
+ footerGroup: MRT_HeaderGroup;
5
5
  }
6
6
  export declare const MRT_TableFooterRow: FC<Props>;
7
7
  export {};
@@ -1,11 +1,11 @@
1
1
  import { FC } from 'react';
2
- import { HeaderGroup } from 'react-table';
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: HeaderGroup;
8
+ column: MRT_HeaderGroup;
9
9
  }
10
10
  export declare const MRT_TableHeadCell: FC<Props>;
11
11
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { HeaderGroup } from 'react-table';
2
+ import { MRT_HeaderGroup } from '..';
3
3
  interface Props {
4
- headerGroup: HeaderGroup;
4
+ headerGroup: MRT_HeaderGroup;
5
5
  }
6
6
  export declare const MRT_TableHeadRow: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { Cell } from 'react-table';
2
+ import { MRT_Cell } from '..';
3
3
  interface Props {
4
- cell: Cell;
4
+ cell: MRT_Cell;
5
5
  }
6
6
  export declare const MRT_EditCellTextField: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { HeaderGroup } from 'react-table';
2
+ import { MRT_HeaderGroup } from '..';
3
3
  interface Props {
4
- column: HeaderGroup;
4
+ column: MRT_HeaderGroup;
5
5
  }
6
6
  export declare const MRT_FilterTextField: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { Row } from 'react-table';
2
+ import { MRT_Row } from '..';
3
3
  interface Props {
4
- row?: Row;
4
+ row?: MRT_Row;
5
5
  selectAll?: boolean;
6
6
  }
7
7
  export declare const MRT_SelectCheckbox: FC<Props>;
@@ -105,17 +105,19 @@ var MaterialReactTableContext = /*#__PURE__*/function () {
105
105
  }();
106
106
 
107
107
  var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
108
- var _props$defaultDensePa, _props$defaultFullScr, _props$defaultShowFil, _props$defaultShowSea;
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(function () {
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(function () {
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$defaultDensePa = props.defaultDensePadding) != null ? _props$defaultDensePa : false),
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$defaultFullScr = props.defaultFullScreen) != null ? _props$defaultFullScr : false),
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$defaultShowFil = props.defaultShowFilters) != null ? _props$defaultShowFil : false),
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$defaultShowSea = props.defaultShowSearchTextField) != null ? _props$defaultShowSea : false),
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 (//@ts-ignore
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, _mTableDetailPanelPro;
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
- onDetailPanelClick = _useMRT.onDetailPanelClick;
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.getToggleRowExpandedProps(), {
757
- style: _extends({}, row.getToggleRowExpandedProps().style, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
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
- return React__default.createElement(material.TableRow, Object.assign({
767
- hover: true
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,