material-react-table 0.6.9 → 0.7.0-alpha.2

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 (107) hide show
  1. package/dist/MaterialReactTable.d.ts +308 -107
  2. package/dist/body/MRT_TableBody.d.ts +3 -0
  3. package/dist/body/MRT_TableBodyCell.d.ts +2 -11
  4. package/dist/body/MRT_TableBodyRow.d.ts +3 -1
  5. package/dist/body/MRT_TableDetailPanel.d.ts +2 -1
  6. package/dist/buttons/MRT_CopyButton.d.ts +4 -2
  7. package/dist/buttons/MRT_EditActionButtons.d.ts +2 -1
  8. package/dist/buttons/MRT_ExpandAllButton.d.ts +2 -0
  9. package/dist/buttons/MRT_ExpandButton.d.ts +2 -1
  10. package/dist/buttons/MRT_FullScreenToggleButton.d.ts +2 -0
  11. package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +2 -0
  12. package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +3 -2
  13. package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -0
  14. package/dist/buttons/MRT_ToggleFiltersButton.d.ts +2 -0
  15. package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -1
  16. package/dist/buttons/MRT_ToggleSearchButton.d.ts +2 -0
  17. package/dist/enums.d.ts +2 -1
  18. package/dist/filtersFNs.d.ts +13 -5
  19. package/dist/footer/MRT_TableFooter.d.ts +3 -0
  20. package/dist/footer/MRT_TableFooterCell.d.ts +3 -2
  21. package/dist/footer/MRT_TableFooterRow.d.ts +2 -1
  22. package/dist/head/MRT_TableHead.d.ts +3 -0
  23. package/dist/head/MRT_TableHeadCell.d.ts +4 -18
  24. package/dist/head/MRT_TableHeadRow.d.ts +2 -1
  25. package/dist/icons.d.ts +1 -1
  26. package/dist/inputs/MRT_EditCellTextField.d.ts +2 -1
  27. package/dist/inputs/MRT_FilterTextField.d.ts +3 -2
  28. package/dist/inputs/MRT_SearchTextField.d.ts +2 -0
  29. package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -1
  30. package/dist/localization.d.ts +9 -2
  31. package/dist/material-react-table.cjs.development.js +2258 -2470
  32. package/dist/material-react-table.cjs.development.js.map +1 -1
  33. package/dist/material-react-table.cjs.production.min.js +1 -1
  34. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  35. package/dist/material-react-table.esm.js +2260 -2472
  36. package/dist/material-react-table.esm.js.map +1 -1
  37. package/dist/menus/MRT_ColumnActionMenu.d.ts +3 -2
  38. package/dist/menus/MRT_FilterTypeMenu.d.ts +4 -3
  39. package/dist/menus/MRT_RowActionMenu.d.ts +3 -2
  40. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +2 -0
  41. package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -1
  42. package/dist/table/MRT_Table.d.ts +3 -0
  43. package/dist/table/MRT_TableContainer.d.ts +2 -0
  44. package/dist/table/MRT_TablePaper.d.ts +7 -0
  45. package/dist/table/MRT_TableRoot.d.ts +3 -0
  46. package/dist/toolbar/MRT_LinearProgressBar.d.ts +2 -0
  47. package/dist/toolbar/MRT_TablePagination.d.ts +2 -0
  48. package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +2 -0
  49. package/dist/toolbar/MRT_ToolbarBottom.d.ts +2 -0
  50. package/dist/toolbar/MRT_ToolbarInternalButtons.d.ts +2 -0
  51. package/dist/toolbar/MRT_ToolbarTop.d.ts +4 -2
  52. package/dist/utils.d.ts +12 -2
  53. package/package.json +27 -28
  54. package/src/MaterialReactTable.tsx +598 -295
  55. package/src/body/MRT_TableBody.tsx +26 -22
  56. package/src/body/MRT_TableBodyCell.tsx +76 -55
  57. package/src/body/MRT_TableBodyRow.tsx +37 -67
  58. package/src/body/MRT_TableDetailPanel.tsx +21 -17
  59. package/src/buttons/MRT_CopyButton.tsx +36 -11
  60. package/src/buttons/MRT_EditActionButtons.tsx +16 -13
  61. package/src/buttons/MRT_ExpandAllButton.tsx +36 -28
  62. package/src/buttons/MRT_ExpandButton.tsx +35 -41
  63. package/src/buttons/MRT_FullScreenToggleButton.tsx +18 -11
  64. package/src/buttons/MRT_ShowHideColumnsButton.tsx +18 -7
  65. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +22 -11
  66. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +18 -11
  67. package/src/buttons/MRT_ToggleFiltersButton.tsx +16 -9
  68. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +27 -22
  69. package/src/buttons/MRT_ToggleSearchButton.tsx +24 -12
  70. package/src/enums.ts +2 -1
  71. package/src/filtersFNs.ts +17 -3
  72. package/src/footer/MRT_TableFooter.tsx +24 -8
  73. package/src/footer/MRT_TableFooterCell.tsx +34 -26
  74. package/src/footer/MRT_TableFooterRow.tsx +21 -39
  75. package/src/head/MRT_TableHead.tsx +24 -8
  76. package/src/head/MRT_TableHeadCell.tsx +185 -142
  77. package/src/head/MRT_TableHeadRow.tsx +16 -93
  78. package/src/icons.ts +3 -3
  79. package/src/inputs/MRT_EditCellTextField.tsx +23 -24
  80. package/src/inputs/MRT_FilterTextField.tsx +53 -39
  81. package/src/inputs/MRT_SearchTextField.tsx +71 -25
  82. package/src/inputs/MRT_SelectCheckbox.tsx +42 -30
  83. package/src/localization.ts +19 -4
  84. package/src/menus/MRT_ColumnActionMenu.tsx +129 -69
  85. package/src/menus/MRT_FilterTypeMenu.tsx +55 -23
  86. package/src/menus/MRT_RowActionMenu.tsx +21 -14
  87. package/src/menus/MRT_ShowHideColumnsMenu.tsx +52 -20
  88. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +27 -17
  89. package/src/table/MRT_Table.tsx +25 -15
  90. package/src/table/MRT_TableContainer.tsx +106 -45
  91. package/src/table/MRT_TablePaper.tsx +65 -0
  92. package/src/table/MRT_TableRoot.tsx +236 -0
  93. package/src/toolbar/MRT_LinearProgressBar.tsx +10 -7
  94. package/src/toolbar/MRT_TablePagination.tsx +30 -19
  95. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +33 -20
  96. package/src/toolbar/MRT_ToolbarBottom.tsx +32 -21
  97. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +34 -20
  98. package/src/toolbar/MRT_ToolbarTop.tsx +36 -29
  99. package/src/utils.ts +37 -8
  100. package/dist/head/MRT_TableHeadCellActions.d.ts +0 -5
  101. package/dist/table/MRT_TableSpacerCell.d.ts +0 -6
  102. package/dist/useMRT.d.ts +0 -27
  103. package/src/@types/faker.d.ts +0 -4
  104. package/src/@types/react-table-config.d.ts +0 -53
  105. package/src/head/MRT_TableHeadCellActions.tsx +0 -29
  106. package/src/table/MRT_TableSpacerCell.tsx +0 -20
  107. package/src/useMRT.tsx +0 -215
@@ -1,94 +1,171 @@
1
- import { ChangeEvent, FC, MouseEvent, ReactNode } from 'react';
2
- import { AlertProps, CheckboxProps, IconButtonProps, LinearProgressProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
3
- import { Cell, Column, ColumnInstance, FilterType, ColumnInterface, 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';
1
+ import { ChangeEvent, Dispatch, FC, MouseEvent, ReactNode, SetStateAction } from 'react';
2
+ import { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
3
+ import { Cell, Column, ColumnDef, DefaultGenerics, FilterType, Header, HeaderGroup, Options, Overwrite, PaginationState, Row, TableInstance, TableState, VisibilityState } from '@tanstack/react-table';
4
4
  import { MRT_Localization } from './localization';
5
5
  import { MRT_Icons } from './icons';
6
6
  import { MRT_FILTER_TYPE } from './enums';
7
- 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
- columns: MRT_ColumnInterface[];
7
+ export declare type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<Omit<Options<D>, 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn'>> & {
8
+ columns: MRT_ColumnInterface<D>[];
9
9
  data: D[];
10
- initialState?: Partial<MRT_TableState>;
10
+ initialState?: Partial<MRT_TableState<D>>;
11
+ state?: Partial<MRT_TableState<D>>;
12
+ expandRowsFn?: (dataRow: D) => D[];
11
13
  };
12
- 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> & {
13
- columns: (Column<D> & MRT_ColumnInstance<D>)[];
14
- footerGroups: MRT_HeaderGroup<D>[];
15
- getToggleAllRowsExpandedProps: () => void;
16
- headerGroups: MRT_HeaderGroup<D>[];
17
- page: MRT_Row<D>[];
18
- resetResizing: () => void;
14
+ export interface MRT_RowModel<D extends Record<string, any> = {}> {
15
+ flatRows: MRT_Row<D>[];
19
16
  rows: MRT_Row<D>[];
20
- state: MRT_TableState<D>;
17
+ rowsById: {
18
+ [key: string]: MRT_Row<D>;
19
+ };
20
+ }
21
+ export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<TableInstance<Overwrite<Partial<DefaultGenerics>, {
22
+ Row: D;
23
+ }>>, 'getAllColumns' | 'getAllLeafColumns' | 'getExpandedRowModel' | 'getPaginationRowModel' | 'getPrePaginationRowModel' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
24
+ getAllColumns: () => MRT_ColumnInstance<D>[];
25
+ getAllLeafColumns: () => MRT_ColumnInstance<D>[];
26
+ getExpandedRowModel: () => MRT_RowModel<D>;
27
+ getPaginationRowModel: () => MRT_RowModel<D>;
28
+ getPrePaginationRowModel: () => MRT_RowModel<D>;
29
+ getRowModel: () => MRT_RowModel<D>;
30
+ getSelectedRowModel: () => MRT_RowModel<D>;
31
+ getState: () => MRT_TableState<D>;
32
+ options: MaterialReactTableProps<D> & {
33
+ icons: MRT_Icons;
34
+ idPrefix: string;
35
+ filterTypes: {
36
+ [key in MRT_FILTER_TYPE]: any;
37
+ };
38
+ localization: MRT_Localization;
39
+ setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row<D> | null>>;
40
+ setCurrentFilterTypes: Dispatch<SetStateAction<{
41
+ [key: string]: MRT_FilterType;
42
+ }>>;
43
+ setCurrentGlobalFilterType: Dispatch<SetStateAction<MRT_FILTER_TYPE>>;
44
+ setIsDensePadding: Dispatch<SetStateAction<boolean>>;
45
+ setIsFullScreen: Dispatch<SetStateAction<boolean>>;
46
+ setShowFilters: Dispatch<SetStateAction<boolean>>;
47
+ setShowSearch: Dispatch<SetStateAction<boolean>>;
48
+ };
49
+ };
50
+ export declare type MRT_TableState<D extends Record<string, any> = {}> = Omit<TableState, 'pagination'> & {
51
+ currentEditingRow: MRT_Row<D> | null;
52
+ currentFilterTypes: Record<string, string | Function>;
53
+ currentGlobalFilterType: Record<string, string | Function>;
54
+ isDensePadding: boolean;
55
+ isFullScreen: boolean;
56
+ showFilters: boolean;
57
+ showSearch: boolean;
58
+ pagination: Partial<PaginationState>;
21
59
  };
22
- export declare type MRT_ColumnInterface<D extends {} = {}> = ColumnInterface<D> & UseFiltersColumnOptions<D> & UseGlobalFiltersColumnOptions<D> & UseGroupByColumnOptions<D> & UseResizeColumnsColumnOptions<D> & UseSortByColumnOptions<D> & {
23
- Edit?: ({ cell, onChange, }: {
60
+ export declare type MRT_ColumnInterface<D extends Record<string, any> = {}> = Omit<ColumnDef<D>, 'header' | 'footer' | 'columns'> & {
61
+ Edit?: ({ cell, tableInstance, }: {
24
62
  cell: MRT_Cell<D>;
25
- onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
63
+ tableInstance: MRT_TableInstance<D>;
64
+ }) => ReactNode;
65
+ Filter?: ({ header, tableInstance, }: {
66
+ header: MRT_Header<D>;
67
+ tableInstance: MRT_TableInstance<D>;
68
+ }) => ReactNode;
69
+ Footer?: ({ footer, tableInstance, }: {
70
+ footer: MRT_Header<D>;
71
+ tableInstance: MRT_TableInstance<D>;
26
72
  }) => ReactNode;
27
- Filter?: ({ column }: {
28
- column: MRT_HeaderGroup<D>;
73
+ Header?: ({ header, tableInstance, }: {
74
+ header: MRT_Header<D>;
75
+ tableInstance: MRT_TableInstance<D>;
29
76
  }) => ReactNode;
30
- Footer?: string;
31
- Header?: string;
32
- accessor?: string;
77
+ Cell?: ({ cell, tableInstance, }: {
78
+ cell: MRT_Cell<D>;
79
+ tableInstance: MRT_TableInstance<D>;
80
+ }) => ReactNode;
81
+ id: keyof D | string;
33
82
  columns?: MRT_ColumnInterface<D>[];
34
- disableClickToCopy?: boolean;
35
- disableColumnActions?: boolean;
36
- disableColumnHiding?: boolean;
37
- disableEditing?: boolean;
38
- disableFilters?: boolean;
83
+ enableClickToCopy?: boolean;
84
+ enableColumnActions?: boolean;
85
+ enableEditing?: boolean;
86
+ enabledFilterTypes?: (MRT_FILTER_TYPE | string)[];
39
87
  filter?: MRT_FilterType | string | FilterType<D>;
40
88
  filterSelectOptions?: (string | {
41
89
  text: string;
42
90
  value: string;
43
91
  })[];
44
- filterTypes?: (MRT_FILTER_TYPE | string)[];
45
- muiTableBodyCellEditTextFieldProps?: TextFieldProps | ((cell: MRT_Cell<D>) => TextFieldProps);
46
- muiTableBodyCellProps?: TableCellProps | ((cell: MRT_Cell<D>) => TableCellProps);
47
- muiTableFooterCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
48
- muiTableHeadCellFilterTextFieldProps?: TextFieldProps | ((column: Column<D>) => TextFieldProps);
49
- muiTableHeadCellColumnActionsButtonProps?: IconButtonProps | ((column: Column<D>) => IconButtonProps);
50
- muiTableHeadCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
51
- onCellEditChange?: (event: ChangeEvent<HTMLInputElement>, cell: MRT_Cell<D>) => void;
52
- onFilterChange?: (event: ChangeEvent<HTMLInputElement>, filterValue: any) => void;
92
+ footer?: string;
93
+ header: string;
94
+ muiTableBodyCellCopyButtonProps?: ButtonProps | (({ tableInstance, cell, }: {
95
+ tableInstance: MRT_TableInstance;
96
+ cell: MRT_Cell<D>;
97
+ }) => ButtonProps);
98
+ muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({ tableInstance, cell, }: {
99
+ tableInstance: MRT_TableInstance;
100
+ cell: MRT_Cell<D>;
101
+ }) => TextFieldProps);
102
+ muiTableBodyCellProps?: TableCellProps | (({ tableInstance, cell, }: {
103
+ tableInstance: MRT_TableInstance;
104
+ cell: MRT_Cell<D>;
105
+ }) => TableCellProps);
106
+ muiTableFooterCellProps?: TableCellProps | (({ tableInstance, column, }: {
107
+ tableInstance: MRT_TableInstance;
108
+ column: MRT_ColumnInstance<D>;
109
+ }) => TableCellProps);
110
+ muiTableHeadCellColumnActionsButtonProps?: IconButtonProps | (({ tableInstance, column, }: {
111
+ tableInstance: MRT_TableInstance;
112
+ column: MRT_ColumnInstance<D>;
113
+ }) => IconButtonProps);
114
+ muiTableHeadCellFilterTextFieldProps?: TextFieldProps | (({ tableInstance, column, }: {
115
+ tableInstance: MRT_TableInstance;
116
+ column: MRT_ColumnInstance<D>;
117
+ }) => TextFieldProps);
118
+ muiTableHeadCellProps?: TableCellProps | (({ tableInstance, column, }: {
119
+ tableInstance: MRT_TableInstance;
120
+ column: MRT_ColumnInstance<D>;
121
+ }) => TableCellProps);
122
+ onCellEditChange?: ({ cell, event, tableInstance, }: {
123
+ event: ChangeEvent<HTMLInputElement>;
124
+ cell: MRT_Cell<D>;
125
+ tableInstance: MRT_TableInstance<D>;
126
+ }) => void;
127
+ onColumnFilterValueChange?: ({ event, filterValue, }: {
128
+ event: ChangeEvent<HTMLInputElement>;
129
+ filterValue: any;
130
+ }) => void;
53
131
  };
54
- export declare type MRT_ColumnInstance<D extends {} = {}> = ColumnInstance<D> & UseFiltersColumnProps<D> & UseGroupByColumnProps<D> & UseResizeColumnsColumnProps<D> & UseSortByColumnProps<D> & MRT_ColumnInterface<D> & {
132
+ export declare type MRT_ColumnInstance<D extends Record<string, any> = {}> = Omit<Column<D>, 'header' | 'footer' | 'columns'> & MRT_ColumnInterface<D> & {
55
133
  columns?: MRT_ColumnInstance<D>[];
56
134
  };
57
- export declare type MRT_HeaderGroup<D extends {} = {}> = HeaderGroup<D> & MRT_ColumnInstance<D> & UseTableHeaderGroupProps<D> & {
58
- headers: MRT_HeaderGroup<D>[];
135
+ export declare type MRT_Header<D extends Record<string, any> = {}> = Omit<Header<D>, 'column'> & {
136
+ column: MRT_ColumnInstance<D>;
137
+ };
138
+ export declare type MRT_HeaderGroup<D extends Record<string, any> = {}> = Omit<HeaderGroup<D>, 'headers'> & {
139
+ headers: MRT_Header<D>[];
59
140
  };
60
- export declare type MRT_Row<D extends {} = {}> = Row<D> & UseExpandedRowProps<D> & UseGroupByRowProps<D> & UseRowSelectRowProps<D> & UseRowStateRowProps<D> & {
61
- cells: MRT_Cell<D>[];
141
+ export declare type MRT_Row<D extends Record<string, any> = {}> = Omit<Row<D>, 'getVisibleCells' | 'getAllCells' | 'subRows' | 'original' | 'getLeftVisibleCells' | 'getRightVisibleCells' | 'getCenterVisibleCells'> & {
142
+ getAllCells: () => MRT_Cell<D>[];
143
+ getCenterVisibleCells: () => MRT_Cell<D>[];
144
+ getLeftVisibleCells: () => MRT_Cell<D>[];
145
+ getRightVisibleCells: () => MRT_Cell<D>[];
146
+ getVisibleCells: () => MRT_Cell<D>[];
147
+ subRows?: MRT_Row<D>[];
148
+ original: D;
62
149
  };
63
- export declare type MRT_Cell<D extends {} = {}, _V = any> = Cell<D> & UseGroupByCellProps<D> & UseRowStateCellProps<D> & {
150
+ export declare type MRT_Cell<D extends Record<string, any> = {}> = Omit<Cell<D>, 'column' | 'row'> & {
64
151
  column: MRT_ColumnInstance<D>;
152
+ row: MRT_Row<D>;
65
153
  };
66
154
  export declare type MRT_FilterType = MRT_FILTER_TYPE | Function;
67
- 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> & {
68
- currentEditingRow: MRT_Row<D> | null;
69
- currentFilterTypes: {
70
- [key: string]: MRT_FilterType;
71
- };
72
- densePadding: boolean;
73
- fullScreen: boolean;
74
- showFilters: boolean;
75
- showSearch: boolean;
76
- };
77
- 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> & {
78
- disableColumnActions?: boolean;
79
- disableColumnHiding?: boolean;
80
- disableDensePaddingToggle?: boolean;
81
- disableExpandAll?: boolean;
82
- disableFullScreenToggle?: boolean;
83
- disableSelectAll?: boolean;
84
- disableSubRowTree?: boolean;
155
+ export declare type MaterialReactTableProps<D extends Record<string, any> = {}> = MRT_TableOptions<D> & {
85
156
  enableClickToCopy?: boolean;
86
- enableColumnGrouping?: boolean;
87
- enableColumnResizing?: boolean;
157
+ enableColumnActions?: boolean;
158
+ enableColumnPinning?: boolean;
159
+ enableDensePaddingToggle?: boolean;
160
+ enableExpandAll?: boolean;
161
+ enableFullScreenToggle?: boolean;
162
+ enablePagination?: boolean;
88
163
  enableRowActions?: boolean;
164
+ enableStickyHeader?: boolean;
89
165
  enableRowEditing?: boolean;
90
166
  enableRowNumbers?: boolean;
91
- enableSelection?: boolean;
167
+ enableSelectAll?: boolean;
168
+ enabledGlobalFilterTypes?: (MRT_FILTER_TYPE | string)[];
92
169
  filterTypes?: {
93
170
  [key in MRT_FILTER_TYPE]: any;
94
171
  };
@@ -99,56 +176,180 @@ export declare type MaterialReactTableProps<D extends {} = {}> = UseTableOptions
99
176
  hideToolbarTop?: boolean;
100
177
  icons?: Partial<MRT_Icons>;
101
178
  idPrefix?: string;
102
- isFetching?: boolean;
179
+ isReloading?: boolean;
103
180
  isLoading?: boolean;
104
181
  localization?: Partial<MRT_Localization>;
105
- muiLinearProgressProps?: LinearProgressProps | ((tableInstance: MRT_TableInstance) => LinearProgressProps);
106
- muiSearchTextFieldProps?: TextFieldProps;
107
- muiSelectCheckboxProps?: CheckboxProps | ((isSelectAll?: boolean, row?: MRT_Row<D>, tableInstance?: MRT_TableInstance<D>) => CheckboxProps);
108
- muiTableBodyCellEditTextFieldProps?: TextFieldProps | ((cell?: MRT_Cell<D>) => TextFieldProps);
109
- muiTableBodyCellProps?: TableCellProps | ((cell?: MRT_Cell<D>) => TableCellProps);
110
- muiTableBodyCellSkeletonProps?: SkeletonProps | ((cell?: MRT_Cell<D>) => SkeletonProps);
111
- muiTableBodyProps?: TableBodyProps | ((tableInstance: MRT_TableInstance<D>) => TableBodyProps);
112
- muiTableBodyRowProps?: TableRowProps | ((row: Row<D>) => TableRowProps);
113
- muiTableContainerProps?: TableContainerProps | ((tableInstance: MRT_TableInstance<D>) => TableContainerProps);
114
- muiTableDetailPanelProps?: TableCellProps | ((row: Row<D>) => TableCellProps);
115
- muiTableFooterCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
116
- muiTableFooterProps?: TableFooterProps | ((tableInstance: MRT_TableInstance<D>) => TableFooterProps);
117
- muiTableFooterRowProps?: TableRowProps | ((footerGroup: MRT_HeaderGroup<D>) => TableRowProps);
118
- muiTableHeadCellColumnActionsButtonProps?: IconButtonProps | ((column: Column<D>) => IconButtonProps);
119
- muiTableHeadCellFilterTextFieldProps?: TextFieldProps | ((column: Column<D>) => TextFieldProps);
120
- muiTableHeadCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
121
- muiTableHeadProps?: TableHeadProps | ((tableInstance: MRT_TableInstance<D>) => TableHeadProps);
122
- muiTableHeadRowProps?: TableRowProps | ((row: MRT_HeaderGroup<D>) => TableRowProps);
123
- muiTablePaginationProps?: Partial<TablePaginationProps> | ((tableInstance: MRT_TableInstance<D>) => Partial<TablePaginationProps>);
124
- muiTableProps?: TableProps | ((tableInstance: MRT_TableInstance<D>) => TableProps);
125
- muiTableToolbarAlertBannerProps?: AlertProps | ((tableInstance: MRT_TableInstance<D>) => AlertProps);
126
- muiTableToolbarBottomProps?: ToolbarProps | ((tableInstance: MRT_TableInstance<D>) => ToolbarProps);
127
- muiTableToolbarTopProps?: ToolbarProps | ((tableInstance: MRT_TableInstance<D>) => ToolbarProps);
128
- onCellClick?: (event: MouseEvent<HTMLTableCellElement>, cell: MRT_Cell<D>) => void;
129
- onColumnHide?: (column: Column<D>, hiddenColumns?: string[]) => void;
130
- onDetailPanelClick?: (event: MouseEvent<HTMLTableCellElement>, row: Row<D>) => void;
131
- onGlobalFilterChange?: (event: ChangeEvent<HTMLInputElement>) => void;
132
- onRowClick?: (event: MouseEvent<HTMLTableRowElement>, row: Row<D>) => void;
133
- onRowEditSubmit?: (row: Row<D>) => Promise<void> | void;
134
- onRowExpandChange?: (event: MouseEvent<HTMLButtonElement>, row: Row<D>) => void;
135
- onSelectChange?: (event: ChangeEvent, row: Row<D>, selectedRows: Row<D>[]) => void;
136
- onSelectAllChange?: (event: ChangeEvent, selectedRows: Row<D>[]) => void;
182
+ muiLinearProgressProps?: LinearProgressProps | (({ tableInstance, }: {
183
+ tableInstance: MRT_TableInstance;
184
+ }) => LinearProgressProps);
185
+ muiSearchTextFieldProps?: TextFieldProps | (({ tableInstance, }: {
186
+ tableInstance: MRT_TableInstance;
187
+ }) => TextFieldProps);
188
+ muiSelectCheckboxProps?: CheckboxProps | (({ tableInstance, isSelectAll, row, }: {
189
+ tableInstance: MRT_TableInstance;
190
+ isSelectAll: boolean;
191
+ row?: MRT_Row<D>;
192
+ }) => CheckboxProps);
193
+ muiTableBodyCellCopyButtonProps?: ButtonProps | (({ tableInstance, cell, }: {
194
+ tableInstance: MRT_TableInstance;
195
+ cell: MRT_Cell<D>;
196
+ }) => ButtonProps);
197
+ muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({ tableInstance, cell, }: {
198
+ tableInstance: MRT_TableInstance;
199
+ cell: MRT_Cell<D>;
200
+ }) => TextFieldProps);
201
+ muiTableBodyCellProps?: TableCellProps | (({ tableInstance, cell, }: {
202
+ tableInstance: MRT_TableInstance;
203
+ cell: MRT_Cell<D>;
204
+ }) => TableCellProps);
205
+ muiTableBodyCellSkeletonProps?: SkeletonProps | (({ tableInstance, cell, }: {
206
+ tableInstance: MRT_TableInstance;
207
+ cell: MRT_Cell<D>;
208
+ }) => SkeletonProps);
209
+ muiTableBodyProps?: TableBodyProps | (({ tableInstance, }: {
210
+ tableInstance: MRT_TableInstance;
211
+ }) => TableBodyProps);
212
+ muiTableBodyRowProps?: TableRowProps | (({ tableInstance, row, }: {
213
+ tableInstance: MRT_TableInstance;
214
+ row: MRT_Row<D>;
215
+ }) => TableRowProps);
216
+ muiTableContainerProps?: TableContainerProps | (({ tableInstance, }: {
217
+ tableInstance: MRT_TableInstance;
218
+ }) => TableContainerProps);
219
+ muiTableDetailPanelProps?: TableCellProps | (({ tableInstance, row, }: {
220
+ tableInstance: MRT_TableInstance;
221
+ row: MRT_Row<D>;
222
+ }) => TableCellProps);
223
+ muiTableFooterCellProps?: TableCellProps | (({ tableInstance, column, }: {
224
+ tableInstance: MRT_TableInstance;
225
+ column: MRT_ColumnInstance<D>;
226
+ }) => TableCellProps);
227
+ muiTableFooterProps?: TableFooterProps | (({ tableInstance, }: {
228
+ tableInstance: MRT_TableInstance;
229
+ }) => TableFooterProps);
230
+ muiTableFooterRowProps?: TableRowProps | (({ tableInstance, footerGroup, }: {
231
+ tableInstance: MRT_TableInstance;
232
+ footerGroup: MRT_HeaderGroup<D>;
233
+ }) => TableRowProps);
234
+ muiTableHeadCellColumnActionsButtonProps?: IconButtonProps | (({ tableInstance, column, }: {
235
+ tableInstance: MRT_TableInstance;
236
+ column: MRT_ColumnInstance<D>;
237
+ }) => IconButtonProps);
238
+ muiTableHeadCellFilterTextFieldProps?: TextFieldProps | (({ tableInstance, column, }: {
239
+ tableInstance: MRT_TableInstance;
240
+ column: MRT_ColumnInstance<D>;
241
+ }) => TextFieldProps);
242
+ muiTableHeadCellProps?: TableCellProps | (({ tableInstance, column, }: {
243
+ tableInstance: MRT_TableInstance;
244
+ column: MRT_ColumnInstance<D>;
245
+ }) => TableCellProps);
246
+ muiTableHeadProps?: TableHeadProps | (({ tableInstance, }: {
247
+ tableInstance: MRT_TableInstance;
248
+ }) => TableHeadProps);
249
+ muiTableHeadRowProps?: TableRowProps | (({ tableInstance, headerGroup, }: {
250
+ tableInstance: MRT_TableInstance;
251
+ headerGroup: MRT_HeaderGroup<D>;
252
+ }) => TableRowProps);
253
+ muiTablePaperProps?: PaperProps | (({ tableInstance, }: {
254
+ tableInstance: MRT_TableInstance;
255
+ }) => PaperProps);
256
+ muiTablePaginationProps?: Partial<TablePaginationProps> | (({ tableInstance, }: {
257
+ tableInstance: MRT_TableInstance;
258
+ }) => Partial<TablePaginationProps>);
259
+ muiTableProps?: TableProps | (({ tableInstance, }: {
260
+ tableInstance: MRT_TableInstance;
261
+ }) => TableProps);
262
+ muiTableToolbarAlertBannerProps?: AlertProps | (({ tableInstance, }: {
263
+ tableInstance: MRT_TableInstance;
264
+ }) => AlertProps);
265
+ muiTableToolbarBottomProps?: ToolbarProps | (({ tableInstance, }: {
266
+ tableInstance: MRT_TableInstance;
267
+ }) => ToolbarProps);
268
+ muiTableToolbarTopProps?: ToolbarProps | (({ tableInstance, }: {
269
+ tableInstance: MRT_TableInstance;
270
+ }) => ToolbarProps);
271
+ onCellClick?: ({ cell, event, tableInstance, }: {
272
+ cell: MRT_Cell<D>;
273
+ tableInstance: MRT_TableInstance<D>;
274
+ event: MouseEvent<HTMLTableCellElement>;
275
+ }) => void;
276
+ onColumnHide?: ({ column, columnVisibility, tableInstance, }: {
277
+ column: MRT_ColumnInstance<D>;
278
+ columnVisibility: VisibilityState;
279
+ tableInstance: MRT_TableInstance<D>;
280
+ }) => void;
281
+ onDetailPanelClick?: ({ event, row, tableInstance, }: {
282
+ event: MouseEvent<HTMLTableCellElement>;
283
+ row: MRT_Row<D>;
284
+ tableInstance: MRT_TableInstance<D>;
285
+ }) => void;
286
+ onGlobalFilterChange?: ({ event, tableInstance, }: {
287
+ event: ChangeEvent<HTMLInputElement>;
288
+ tableInstance: MRT_TableInstance<D>;
289
+ }) => void;
290
+ onRowClick?: ({ event, row, tableInstance, }: {
291
+ event: MouseEvent<HTMLTableRowElement>;
292
+ row: MRT_Row<D>;
293
+ tableInstance: MRT_TableInstance<D>;
294
+ }) => void;
295
+ onRowEditSubmit?: ({ row, tableInstance, }: {
296
+ row: MRT_Row<D>;
297
+ tableInstance: MRT_TableInstance<D>;
298
+ }) => Promise<void> | void;
299
+ onRowExpandChange?: ({ event, row, }: {
300
+ event: MouseEvent<HTMLButtonElement>;
301
+ row: MRT_Row<D>;
302
+ tableInstance: MRT_TableInstance<D>;
303
+ }) => void;
304
+ onSelectAllChange?: ({ event, selectedRows, tableInstance, }: {
305
+ event: ChangeEvent;
306
+ selectedRows: MRT_Row<D>[];
307
+ tableInstance: MRT_TableInstance<D>;
308
+ }) => void;
309
+ onSelectChange?: ({ event, row, selectedRows, tableInstance, }: {
310
+ event: ChangeEvent;
311
+ row: MRT_Row<D>;
312
+ selectedRows: MRT_Row<D>[];
313
+ tableInstance: MRT_TableInstance<D>;
314
+ }) => void;
137
315
  positionActionsColumn?: 'first' | 'last';
138
316
  positionPagination?: 'bottom' | 'top' | 'both';
139
317
  positionToolbarActions?: 'bottom' | 'top';
140
318
  positionToolbarAlertBanner?: 'bottom' | 'top';
141
- renderDetailPanel?: (row: Row<D>) => ReactNode;
142
- renderRowActionMenuItems?: (rowData: Row<D>, tableInstance: MRT_TableInstance<D>, closeMenu: () => void) => ReactNode[];
143
- renderRowActions?: (row: Row<D>, tableInstance: MRT_TableInstance<D>) => ReactNode;
144
- renderToolbarCustomActions?: (tableInstance: MRT_TableInstance<D>) => ReactNode;
145
- renderToolbarInternalActions?: (tableInstance: MRT_TableInstance<D>, { MRT_ToggleSearchButton, MRT_ToggleFiltersButton, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_FullScreenToggleButton, }: {
146
- MRT_ToggleSearchButton: FC<IconButtonProps>;
147
- MRT_ToggleFiltersButton: FC<IconButtonProps>;
148
- MRT_ShowHideColumnsButton: FC<IconButtonProps>;
149
- MRT_ToggleDensePaddingButton: FC<IconButtonProps>;
150
- MRT_FullScreenToggleButton: FC<IconButtonProps>;
319
+ renderDetailPanel?: ({ row, tableInstance, }: {
320
+ row: MRT_Row<D>;
321
+ tableInstance: MRT_TableInstance<D>;
322
+ }) => ReactNode;
323
+ renderRowActionMenuItems?: ({ closeMenu, row, tableInstance, }: {
324
+ closeMenu: () => void;
325
+ row: MRT_Row<D>;
326
+ tableInstance: MRT_TableInstance<D>;
327
+ }) => ReactNode[];
328
+ renderRowActions?: ({ row, tableInstance, }: {
329
+ row: MRT_Row<D>;
330
+ tableInstance: MRT_TableInstance<D>;
331
+ }) => ReactNode;
332
+ renderToolbarCustomActions?: ({ tableInstance, }: {
333
+ tableInstance: MRT_TableInstance<D>;
334
+ }) => ReactNode;
335
+ renderToolbarInternalActions?: ({ tableInstance, MRT_ToggleSearchButton, MRT_ToggleFiltersButton, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_FullScreenToggleButton, }: {
336
+ tableInstance: MRT_TableInstance<D>;
337
+ MRT_ToggleSearchButton: FC<IconButtonProps & {
338
+ tableInstance: MRT_TableInstance<D>;
339
+ }>;
340
+ MRT_ToggleFiltersButton: FC<IconButtonProps & {
341
+ tableInstance: MRT_TableInstance<D>;
342
+ }>;
343
+ MRT_ShowHideColumnsButton: FC<IconButtonProps & {
344
+ tableInstance: MRT_TableInstance<D>;
345
+ }>;
346
+ MRT_ToggleDensePaddingButton: FC<IconButtonProps & {
347
+ tableInstance: MRT_TableInstance<D>;
348
+ }>;
349
+ MRT_FullScreenToggleButton: FC<IconButtonProps & {
350
+ tableInstance: MRT_TableInstance<D>;
351
+ }>;
151
352
  }) => ReactNode;
152
353
  };
153
- declare const _default: <D extends {} = {}>({ defaultColumn, filterTypes, globalFilter, icons, localization, positionActionsColumn, positionPagination, positionToolbarActions, positionToolbarAlertBanner, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
354
+ declare const _default: <D extends Record<string, any> = {}>({ enableColumnActions, enableColumnFilters, enableDensePaddingToggle, enableExpandAll, enableFullScreenToggle, enableGlobalFilter, enableHiding, enablePagination, enableSelectAll, enableSorting, enableStickyHeader, filterTypes, icons, localization, positionActionsColumn, positionPagination, positionToolbarActions, positionToolbarAlertBanner, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
154
355
  export default _default;
@@ -1,5 +1,8 @@
1
1
  import { FC } from 'react';
2
+ import { MRT_TableInstance } from '..';
2
3
  interface Props {
4
+ pinned: 'left' | 'center' | 'right' | 'none';
5
+ tableInstance: MRT_TableInstance;
3
6
  }
4
7
  export declare const MRT_TableBody: FC<Props>;
5
8
  export {};
@@ -1,17 +1,8 @@
1
1
  import { FC } from 'react';
2
- import type { MRT_Cell } from '..';
3
- export declare const commonTableBodyCellStyles: (densePadding: boolean) => {
4
- p: string;
5
- transition: string;
6
- whiteSpace: string;
7
- };
8
- export declare const commonTableBodyButtonCellStyles: (densePadding: boolean) => {
9
- p: string;
10
- textAlign: string;
11
- transition: string;
12
- };
2
+ import type { MRT_Cell, MRT_TableInstance } from '..';
13
3
  interface Props {
14
4
  cell: MRT_Cell;
5
+ tableInstance: MRT_TableInstance;
15
6
  }
16
7
  export declare const MRT_TableBodyCell: FC<Props>;
17
8
  export {};
@@ -1,7 +1,9 @@
1
1
  import { FC } from 'react';
2
- import type { MRT_Row } from '..';
2
+ import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
+ pinned: 'left' | 'center' | 'right' | 'none';
4
5
  row: MRT_Row;
6
+ tableInstance: MRT_TableInstance;
5
7
  }
6
8
  export declare const MRT_TableBodyRow: FC<Props>;
7
9
  export {};
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
- import type { MRT_Row } from '..';
2
+ import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
+ tableInstance: MRT_TableInstance;
5
6
  }
6
7
  export declare const MRT_TableDetailPanel: FC<Props>;
7
8
  export {};
@@ -1,7 +1,9 @@
1
- import { FC } from 'react';
2
- import { MRT_Cell } from '..';
1
+ import { FC, ReactNode } from 'react';
2
+ import { MRT_Cell, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  cell: MRT_Cell;
5
+ children: ReactNode;
6
+ tableInstance: MRT_TableInstance;
5
7
  }
6
8
  export declare const MRT_CopyButton: FC<Props>;
7
9
  export {};
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
- import type { MRT_Row } from '..';
2
+ import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
+ tableInstance: MRT_TableInstance;
5
6
  }
6
7
  export declare const MRT_EditActionButtons: FC<Props>;
7
8
  export {};
@@ -1,5 +1,7 @@
1
1
  import { FC } from 'react';
2
+ import { MRT_TableInstance } from '..';
2
3
  interface Props {
4
+ tableInstance: MRT_TableInstance;
3
5
  }
4
6
  export declare const MRT_ExpandAllButton: FC<Props>;
5
7
  export {};
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
- import type { MRT_Row } from '..';
2
+ import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
+ tableInstance: MRT_TableInstance;
5
6
  }
6
7
  export declare const MRT_ExpandButton: FC<Props>;
7
8
  export {};
@@ -1,6 +1,8 @@
1
1
  import { FC } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
+ import { MRT_TableInstance } from '..';
3
4
  interface Props extends IconButtonProps {
5
+ tableInstance: MRT_TableInstance;
4
6
  }
5
7
  export declare const MRT_FullScreenToggleButton: FC<Props>;
6
8
  export {};
@@ -1,6 +1,8 @@
1
1
  import { FC } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
+ import { MRT_TableInstance } from '..';
3
4
  interface Props extends IconButtonProps {
5
+ tableInstance: MRT_TableInstance;
4
6
  }
5
7
  export declare const MRT_ShowHideColumnsButton: FC<Props>;
6
8
  export {};
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
- import type { MRT_HeaderGroup } from '..';
2
+ import type { MRT_Header, MRT_TableInstance } from '..';
3
3
  interface Props {
4
- column: MRT_HeaderGroup;
4
+ header: MRT_Header;
5
+ tableInstance: MRT_TableInstance;
5
6
  }
6
7
  export declare const MRT_ToggleColumnActionMenuButton: FC<Props>;
7
8
  export {};
@@ -1,6 +1,8 @@
1
1
  import { FC } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
+ import { MRT_TableInstance } from '..';
3
4
  interface Props extends IconButtonProps {
5
+ tableInstance: MRT_TableInstance;
4
6
  }
5
7
  export declare const MRT_ToggleDensePaddingButton: FC<Props>;
6
8
  export {};
@@ -1,6 +1,8 @@
1
1
  import { FC } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
+ import { MRT_TableInstance } from '..';
3
4
  interface Props extends IconButtonProps {
5
+ tableInstance: MRT_TableInstance;
4
6
  }
5
7
  export declare const MRT_ToggleFiltersButton: FC<Props>;
6
8
  export {};
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
- import type { MRT_Row } from '..';
2
+ import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
+ tableInstance: MRT_TableInstance;
5
6
  }
6
7
  export declare const MRT_ToggleRowActionMenuButton: FC<Props>;
7
8
  export {};
@@ -1,6 +1,8 @@
1
1
  import { FC } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
+ import { MRT_TableInstance } from '..';
3
4
  interface Props extends IconButtonProps {
5
+ tableInstance: MRT_TableInstance;
4
6
  }
5
7
  export declare const MRT_ToggleSearchButton: FC<Props>;
6
8
  export {};