material-react-table 2.0.0-alpha.1 → 2.0.0-alpha.3

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 (143) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/index.js +2408 -2334
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/types/MaterialReactTable.d.ts +1 -1
  5. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +1 -1
  6. package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +2 -2
  7. package/dist/cjs/types/column.utils.d.ts +6 -6
  8. package/dist/cjs/types/filterFns.d.ts +14 -14
  9. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +1 -1
  10. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  11. package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
  12. package/dist/cjs/types/icons.d.ts +1 -1
  13. package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +1 -1
  14. package/dist/cjs/types/locales/np.d.ts +2 -0
  15. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +4 -4
  16. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -1
  17. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +2 -2
  18. package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +1 -1
  19. package/dist/cjs/types/types.d.ts +217 -197
  20. package/dist/esm/material-react-table.esm.js +2311 -2239
  21. package/dist/esm/material-react-table.esm.js.map +1 -1
  22. package/dist/esm/types/MaterialReactTable.d.ts +1 -1
  23. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +1 -1
  24. package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +2 -2
  25. package/dist/esm/types/column.utils.d.ts +6 -6
  26. package/dist/esm/types/filterFns.d.ts +14 -14
  27. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +1 -1
  28. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  29. package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
  30. package/dist/esm/types/icons.d.ts +1 -1
  31. package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +1 -1
  32. package/dist/esm/types/locales/np.d.ts +2 -0
  33. package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +4 -4
  34. package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -1
  35. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +2 -2
  36. package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +1 -1
  37. package/dist/esm/types/types.d.ts +217 -197
  38. package/dist/index.d.ts +258 -238
  39. package/locales/fr.esm.js +1 -1
  40. package/locales/fr.esm.js.map +1 -1
  41. package/locales/fr.js +1 -1
  42. package/locales/fr.js.map +1 -1
  43. package/locales/np.d.ts +2 -0
  44. package/locales/np.esm.d.ts +2 -0
  45. package/locales/np.esm.js +94 -0
  46. package/locales/np.esm.js.map +1 -0
  47. package/locales/np.js +98 -0
  48. package/locales/np.js.map +1 -0
  49. package/locales/tr.d.ts +2 -0
  50. package/locales/tr.esm.d.ts +2 -0
  51. package/locales/tr.esm.js +93 -0
  52. package/locales/tr.esm.js.map +1 -0
  53. package/locales/tr.js +97 -0
  54. package/locales/tr.js.map +1 -0
  55. package/locales/uk.d.ts +2 -0
  56. package/locales/uk.esm.d.ts +2 -0
  57. package/locales/uk.esm.js +93 -0
  58. package/locales/uk.esm.js.map +1 -0
  59. package/locales/uk.js +97 -0
  60. package/locales/uk.js.map +1 -0
  61. package/locales/vi.d.ts +2 -0
  62. package/locales/vi.esm.d.ts +2 -0
  63. package/locales/vi.esm.js +93 -0
  64. package/locales/vi.esm.js.map +1 -0
  65. package/locales/vi.js +97 -0
  66. package/locales/vi.js.map +1 -0
  67. package/locales/zh-Hans.d.ts +2 -0
  68. package/locales/zh-Hans.esm.d.ts +2 -0
  69. package/locales/zh-Hans.esm.js +93 -0
  70. package/locales/zh-Hans.esm.js.map +1 -0
  71. package/locales/zh-Hans.js +97 -0
  72. package/locales/zh-Hans.js.map +1 -0
  73. package/locales/zh-Hant.d.ts +2 -0
  74. package/locales/zh-Hant.esm.d.ts +2 -0
  75. package/locales/zh-Hant.esm.js +93 -0
  76. package/locales/zh-Hant.esm.js.map +1 -0
  77. package/locales/zh-Hant.js +97 -0
  78. package/locales/zh-Hant.js.map +1 -0
  79. package/package.json +27 -26
  80. package/src/MaterialReactTable.tsx +2 -2
  81. package/src/body/MRT_TableBody.tsx +9 -9
  82. package/src/body/MRT_TableBodyCell.tsx +22 -22
  83. package/src/body/MRT_TableBodyCellValue.tsx +5 -5
  84. package/src/body/MRT_TableBodyRow.tsx +32 -32
  85. package/src/body/MRT_TableBodyRowGrabHandle.tsx +2 -2
  86. package/src/body/MRT_TableBodyRowPinButton.tsx +3 -3
  87. package/src/body/MRT_TableDetailPanel.tsx +3 -3
  88. package/src/buttons/MRT_CopyButton.tsx +1 -1
  89. package/src/buttons/MRT_EditActionButtons.tsx +4 -4
  90. package/src/buttons/MRT_ExpandAllButton.tsx +3 -3
  91. package/src/buttons/MRT_ExpandButton.tsx +1 -1
  92. package/src/buttons/MRT_GrabHandleButton.tsx +10 -10
  93. package/src/buttons/MRT_RowPinButton.tsx +5 -5
  94. package/src/buttons/MRT_ShowHideColumnsButton.tsx +1 -1
  95. package/src/buttons/MRT_ToggleFullScreenButton.tsx +2 -2
  96. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +8 -8
  97. package/src/column.utils.ts +24 -22
  98. package/src/filterFns.ts +29 -29
  99. package/src/footer/MRT_TableFooter.tsx +9 -9
  100. package/src/footer/MRT_TableFooterCell.tsx +1 -1
  101. package/src/footer/MRT_TableFooterRow.tsx +2 -2
  102. package/src/head/MRT_TableHead.tsx +9 -9
  103. package/src/head/MRT_TableHeadCell.tsx +10 -6
  104. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +9 -6
  105. package/src/head/MRT_TableHeadCellFilterContainer.tsx +12 -5
  106. package/src/head/MRT_TableHeadCellFilterLabel.tsx +106 -61
  107. package/src/head/MRT_TableHeadCellGrabHandle.tsx +2 -2
  108. package/src/head/MRT_TableHeadCellResizeHandle.tsx +11 -11
  109. package/src/head/MRT_TableHeadCellSortLabel.tsx +8 -8
  110. package/src/head/MRT_TableHeadRow.tsx +2 -2
  111. package/src/hooks/useMRT_DisplayColumns.tsx +5 -5
  112. package/src/hooks/useMRT_Effects.ts +3 -3
  113. package/src/hooks/useMRT_TableInstance.ts +15 -14
  114. package/src/hooks/useMRT_TableOptions.ts +3 -3
  115. package/src/icons.ts +2 -2
  116. package/src/inputs/MRT_EditCellTextField.tsx +9 -9
  117. package/src/inputs/MRT_FilterCheckbox.tsx +7 -7
  118. package/src/inputs/MRT_FilterRangeFields.tsx +1 -1
  119. package/src/inputs/MRT_FilterRangeSlider.tsx +6 -6
  120. package/src/inputs/MRT_FilterTextField.tsx +309 -230
  121. package/src/inputs/MRT_GlobalFilterTextField.tsx +26 -26
  122. package/src/inputs/MRT_SelectCheckbox.tsx +7 -7
  123. package/src/locales/fr.ts +1 -1
  124. package/src/locales/np.ts +94 -0
  125. package/src/menus/MRT_ColumnActionMenu.tsx +48 -45
  126. package/src/menus/MRT_FilterOptionMenu.tsx +36 -36
  127. package/src/menus/MRT_RowActionMenu.tsx +7 -7
  128. package/src/menus/MRT_ShowHideColumnsMenu.tsx +6 -6
  129. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +5 -5
  130. package/src/modals/MRT_EditRowModal.tsx +8 -8
  131. package/src/sortingFns.ts +1 -1
  132. package/src/table/MRT_Table.tsx +7 -7
  133. package/src/table/MRT_TableContainer.tsx +10 -10
  134. package/src/table/MRT_TablePaper.tsx +9 -9
  135. package/src/toolbar/MRT_BottomToolbar.tsx +5 -5
  136. package/src/toolbar/MRT_LinearProgressBar.tsx +4 -4
  137. package/src/toolbar/MRT_TablePagination.tsx +19 -19
  138. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +4 -4
  139. package/src/toolbar/MRT_ToolbarDropZone.tsx +6 -6
  140. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +8 -5
  141. package/src/toolbar/MRT_TopToolbar.tsx +7 -7
  142. package/src/types.ts +288 -257
  143. package/src/useMaterialReactTable.ts +1 -1
package/dist/index.d.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { MutableRefObject, Dispatch, SetStateAction, ReactNode, RefObject, DragEventHandler, MouseEvent } from 'react';
3
+ import * as _tanstack_react_table from '@tanstack/react-table';
4
+ import { Row, Table, TableState, ColumnDef, DeepKeys, Column, Header, HeaderGroup, Cell, AggregationFn, SortingFn, FilterFn, TableOptions, OnChangeFn, RowPinningPosition, ColumnOrderState, GroupingState, Renderable } from '@tanstack/react-table';
5
+ export { ColumnFiltersState as MRT_ColumnFiltersState, ColumnOrderState as MRT_ColumnOrderState, ColumnPinningState as MRT_ColumnPinningState, ColumnSizingInfoState as MRT_ColumnSizingInfoState, ColumnSizingState as MRT_ColumnSizingState, ExpandedState as MRT_ExpandedState, GroupingState as MRT_GroupingState, PaginationState as MRT_PaginationState, RowSelectionState as MRT_RowSelectionState, SortingState as MRT_SortingState, Updater as MRT_Updater, VisibilityState as MRT_VisibilityState } from '@tanstack/react-table';
6
+ import { Virtualizer, VirtualizerOptions, VirtualItem } from '@tanstack/react-virtual';
7
+ export { VirtualItem as MRT_VirtualItem, Virtualizer as MRT_Virtualizer, VirtualizerOptions as MRT_VirtualizerOptions } from '@tanstack/react-virtual';
8
+ import { AutocompleteProps } from '@mui/material';
3
9
  import { AlertProps } from '@mui/material/Alert';
4
10
  import { ButtonProps } from '@mui/material/Button';
5
11
  import { CheckboxProps } from '@mui/material/Checkbox';
@@ -11,21 +17,17 @@ import { PaperProps } from '@mui/material/Paper';
11
17
  import { RadioProps } from '@mui/material/Radio';
12
18
  import { SkeletonProps } from '@mui/material/Skeleton';
13
19
  import { SliderProps } from '@mui/material/Slider';
20
+ import { TableProps } from '@mui/material/Table';
14
21
  import { TableBodyProps } from '@mui/material/TableBody';
15
22
  import { TableCellProps } from '@mui/material/TableCell';
16
23
  import { TableContainerProps } from '@mui/material/TableContainer';
17
24
  import { TableFooterProps } from '@mui/material/TableFooter';
18
25
  import { TableHeadProps } from '@mui/material/TableHead';
19
26
  import { TablePaginationProps } from '@mui/material/TablePagination';
20
- import { TableProps } from '@mui/material/Table';
21
27
  import { TableRowProps } from '@mui/material/TableRow';
22
28
  import { TextFieldProps } from '@mui/material/TextField';
23
29
  import { ToolbarProps } from '@mui/material/Toolbar';
24
- import * as _tanstack_react_table from '@tanstack/react-table';
25
- import { Row, Table, TableState, ColumnDef, DeepKeys, Column, Header, HeaderGroup, Cell, AggregationFn, SortingFn, FilterFn, TableOptions, OnChangeFn, RowPinningPosition, ColumnOrderState, GroupingState, Renderable } from '@tanstack/react-table';
26
- export { ColumnFiltersState as MRT_ColumnFiltersState, ColumnOrderState as MRT_ColumnOrderState, ColumnPinningState as MRT_ColumnPinningState, ColumnSizingInfoState as MRT_ColumnSizingInfoState, ColumnSizingState as MRT_ColumnSizingState, ExpandedState as MRT_ExpandedState, GroupingState as MRT_GroupingState, PaginationState as MRT_PaginationState, RowSelectionState as MRT_RowSelectionState, SortingState as MRT_SortingState, Updater as MRT_Updater, VisibilityState as MRT_VisibilityState } from '@tanstack/react-table';
27
- import { Virtualizer, VirtualizerOptions, VirtualItem } from '@tanstack/react-virtual';
28
- export { VirtualItem as MRT_VirtualItem, Virtualizer as MRT_Virtualizer, VirtualizerOptions as MRT_VirtualizerOptions } from '@tanstack/react-virtual';
30
+ import { DatePickerProps } from '@mui/x-date-pickers';
29
31
  import * as _tanstack_match_sorter_utils from '@tanstack/match-sorter-utils';
30
32
  import { RankingInfo } from '@tanstack/match-sorter-utils';
31
33
  import { Theme } from '@mui/material/styles';
@@ -44,59 +46,59 @@ declare const MRT_AggregationFns: {
44
46
 
45
47
  declare const MRT_FilterFns: {
46
48
  between: {
47
- <TData extends Record<string, any>>(row: Row<TData>, id: string, filterValues: [string | number, string | number]): boolean;
49
+ <TData extends Record<string, any>>(row: Row<TData>, id: string, filterValues: [number | string, number | string]): boolean;
48
50
  autoRemove(val: any): boolean;
49
51
  };
50
52
  betweenInclusive: {
51
- <TData_1 extends Record<string, any>>(row: Row<TData_1>, id: string, filterValues: [string | number, string | number]): boolean;
53
+ <TData_1 extends Record<string, any>>(row: Row<TData_1>, id: string, filterValues: [number | string, number | string]): boolean;
52
54
  autoRemove(val: any): boolean;
53
55
  };
54
56
  contains: {
55
- <TData_2 extends Record<string, any>>(row: Row<TData_2>, id: string, filterValue: string | number): boolean;
57
+ <TData_2 extends Record<string, any>>(row: Row<TData_2>, id: string, filterValue: number | string): boolean;
56
58
  autoRemove(val: any): boolean;
57
59
  };
58
60
  empty: {
59
- <TData_3 extends Record<string, any>>(row: Row<TData_3>, id: string, _filterValue: string | number): boolean;
61
+ <TData_3 extends Record<string, any>>(row: Row<TData_3>, id: string, _filterValue: number | string): boolean;
60
62
  autoRemove(val: any): boolean;
61
63
  };
62
64
  endsWith: {
63
- <TData_4 extends Record<string, any>>(row: Row<TData_4>, id: string, filterValue: string | number): boolean;
65
+ <TData_4 extends Record<string, any>>(row: Row<TData_4>, id: string, filterValue: number | string): boolean;
64
66
  autoRemove(val: any): boolean;
65
67
  };
66
68
  equals: {
67
- <TData_5 extends Record<string, any>>(row: Row<TData_5>, id: string, filterValue: string | number): boolean;
69
+ <TData_5 extends Record<string, any>>(row: Row<TData_5>, id: string, filterValue: number | string): boolean;
68
70
  autoRemove(val: any): boolean;
69
71
  };
70
72
  fuzzy: {
71
- <TData_6 extends Record<string, any>>(row: Row<TData_6>, columnId: string, filterValue: string | number, addMeta: (item: RankingInfo) => void): boolean;
73
+ <TData_6 extends Record<string, any>>(row: Row<TData_6>, columnId: string, filterValue: number | string, addMeta: (item: RankingInfo) => void): boolean;
72
74
  autoRemove(val: any): boolean;
73
75
  };
74
76
  greaterThan: {
75
- <TData_7 extends Record<string, any>>(row: Row<TData_7>, id: string, filterValue: string | number): boolean;
77
+ <TData_7 extends Record<string, any>>(row: Row<TData_7>, id: string, filterValue: number | string): boolean;
76
78
  autoRemove(val: any): boolean;
77
79
  };
78
80
  greaterThanOrEqualTo: {
79
- <TData_8 extends Record<string, any>>(row: Row<TData_8>, id: string, filterValue: string | number): boolean;
81
+ <TData_8 extends Record<string, any>>(row: Row<TData_8>, id: string, filterValue: number | string): boolean;
80
82
  autoRemove(val: any): boolean;
81
83
  };
82
84
  lessThan: {
83
- <TData_9 extends Record<string, any>>(row: Row<TData_9>, id: string, filterValue: string | number): boolean;
85
+ <TData_9 extends Record<string, any>>(row: Row<TData_9>, id: string, filterValue: number | string): boolean;
84
86
  autoRemove(val: any): boolean;
85
87
  };
86
88
  lessThanOrEqualTo: {
87
- <TData_10 extends Record<string, any>>(row: Row<TData_10>, id: string, filterValue: string | number): boolean;
89
+ <TData_10 extends Record<string, any>>(row: Row<TData_10>, id: string, filterValue: number | string): boolean;
88
90
  autoRemove(val: any): boolean;
89
91
  };
90
92
  notEmpty: {
91
- <TData_11 extends Record<string, any>>(row: Row<TData_11>, id: string, _filterValue: string | number): boolean;
93
+ <TData_11 extends Record<string, any>>(row: Row<TData_11>, id: string, _filterValue: number | string): boolean;
92
94
  autoRemove(val: any): boolean;
93
95
  };
94
96
  notEquals: {
95
- <TData_12 extends Record<string, any>>(row: Row<TData_12>, id: string, filterValue: string | number): boolean;
97
+ <TData_12 extends Record<string, any>>(row: Row<TData_12>, id: string, filterValue: number | string): boolean;
96
98
  autoRemove(val: any): boolean;
97
99
  };
98
100
  startsWith: {
99
- <TData_13 extends Record<string, any>>(row: Row<TData_13>, id: string, filterValue: string | number): boolean;
101
+ <TData_13 extends Record<string, any>>(row: Row<TData_13>, id: string, filterValue: number | string): boolean;
100
102
  autoRemove(val: any): boolean;
101
103
  };
102
104
  includesString: _tanstack_react_table.FilterFn<any>;
@@ -109,17 +111,6 @@ declare const MRT_FilterFns: {
109
111
  inNumberRange: _tanstack_react_table.FilterFn<any>;
110
112
  };
111
113
 
112
- declare const MRT_SortingFns: {
113
- fuzzy: <TData extends Record<string, any>>(rowA: Row<TData>, rowB: Row<TData>, columnId: string) => number;
114
- alphanumeric: _tanstack_react_table.SortingFn<any>;
115
- alphanumericCaseSensitive: _tanstack_react_table.SortingFn<any>;
116
- text: _tanstack_react_table.SortingFn<any>;
117
- textCaseSensitive: _tanstack_react_table.SortingFn<any>;
118
- datetime: _tanstack_react_table.SortingFn<any>;
119
- basic: _tanstack_react_table.SortingFn<any>;
120
- };
121
- declare const rankGlobalFuzzy: <TData extends Record<string, any>>(rowA: MRT_Row<TData>, rowB: MRT_Row<TData>) => number;
122
-
123
114
  interface MRT_Icons {
124
115
  ArrowDownwardIcon: any;
125
116
  ArrowRightIcon: any;
@@ -129,7 +120,6 @@ interface MRT_Icons {
129
120
  DensityLargeIcon: any;
130
121
  DensityMediumIcon: any;
131
122
  DensitySmallIcon: any;
132
- KeyboardDoubleArrowDownIcon: any;
133
123
  DragHandleIcon: any;
134
124
  DynamicFeedIcon: any;
135
125
  EditIcon: any;
@@ -139,6 +129,7 @@ interface MRT_Icons {
139
129
  FilterListOffIcon: any;
140
130
  FullscreenExitIcon: any;
141
131
  FullscreenIcon: any;
132
+ KeyboardDoubleArrowDownIcon: any;
142
133
  MoreHorizIcon: any;
143
134
  MoreVertIcon: any;
144
135
  PushPinIcon: any;
@@ -151,6 +142,17 @@ interface MRT_Icons {
151
142
  VisibilityOffIcon: any;
152
143
  }
153
144
 
145
+ declare const MRT_SortingFns: {
146
+ fuzzy: <TData extends Record<string, any>>(rowA: Row<TData>, rowB: Row<TData>, columnId: string) => number;
147
+ alphanumeric: _tanstack_react_table.SortingFn<any>;
148
+ alphanumericCaseSensitive: _tanstack_react_table.SortingFn<any>;
149
+ text: _tanstack_react_table.SortingFn<any>;
150
+ textCaseSensitive: _tanstack_react_table.SortingFn<any>;
151
+ datetime: _tanstack_react_table.SortingFn<any>;
152
+ basic: _tanstack_react_table.SortingFn<any>;
153
+ };
154
+ declare const rankGlobalFuzzy: <TData extends Record<string, any>>(rowA: MRT_Row<TData>, rowB: MRT_Row<TData>) => number;
155
+
154
156
  type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
155
157
  type Prettify<T> = {
156
158
  [K in keyof T]: T[K];
@@ -195,10 +197,9 @@ interface MRT_Localization {
195
197
  filterFuzzy: string;
196
198
  filterGreaterThan: string;
197
199
  filterGreaterThanOrEqualTo: string;
200
+ filterInNumberRange: string;
198
201
  filterIncludesString: string;
199
202
  filterIncludesStringSensitive: string;
200
- filteringByColumn: string;
201
- filterInNumberRange: string;
202
203
  filterLessThan: string;
203
204
  filterLessThanOrEqualTo: string;
204
205
  filterMode: string;
@@ -206,6 +207,7 @@ interface MRT_Localization {
206
207
  filterNotEquals: string;
207
208
  filterStartsWith: string;
208
209
  filterWeakEquals: string;
210
+ filteringByColumn: string;
209
211
  goToFirstPage: string;
210
212
  goToLastPage: string;
211
213
  goToNextPage: string;
@@ -288,26 +290,26 @@ type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TData>, '
288
290
  filterInputRefs: MutableRefObject<Record<string, HTMLInputElement>>;
289
291
  searchInputRef: MutableRefObject<HTMLInputElement>;
290
292
  tableContainerRef: MutableRefObject<HTMLDivElement>;
293
+ tableFooterRef: MutableRefObject<HTMLTableSectionElement>;
291
294
  tableHeadCellRefs: MutableRefObject<Record<string, HTMLTableCellElement>>;
295
+ tableHeadRef: MutableRefObject<HTMLTableSectionElement>;
292
296
  tablePaperRef: MutableRefObject<HTMLDivElement>;
293
297
  topToolbarRef: MutableRefObject<HTMLDivElement>;
294
- tableHeadRef: MutableRefObject<HTMLTableSectionElement>;
295
- tableFooterRef: MutableRefObject<HTMLTableSectionElement>;
296
298
  };
297
- setCreatingRow: Dispatch<SetStateAction<MRT_Row<TData> | null | true>>;
298
299
  setColumnFilterFns: Dispatch<SetStateAction<MRT_ColumnFilterFnsState>>;
300
+ setCreatingRow: Dispatch<SetStateAction<MRT_Row<TData> | null | true>>;
299
301
  setDensity: Dispatch<SetStateAction<MRT_DensityState>>;
300
302
  setDraggingColumn: Dispatch<SetStateAction<MRT_Column<TData> | null>>;
301
303
  setDraggingRow: Dispatch<SetStateAction<MRT_Row<TData> | null>>;
302
304
  setEditingCell: Dispatch<SetStateAction<MRT_Cell<TData> | null>>;
303
305
  setEditingRow: Dispatch<SetStateAction<MRT_Row<TData> | null>>;
304
306
  setGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterOption>>;
305
- setHoveredColumn: Dispatch<SetStateAction<MRT_Column<TData> | {
307
+ setHoveredColumn: Dispatch<SetStateAction<{
306
308
  id: string;
307
- } | null>>;
308
- setHoveredRow: Dispatch<SetStateAction<MRT_Row<TData> | {
309
+ } | MRT_Column<TData> | null>>;
310
+ setHoveredRow: Dispatch<SetStateAction<{
309
311
  id: string;
310
- } | null>>;
312
+ } | MRT_Row<TData> | null>>;
311
313
  setIsFullScreen: Dispatch<SetStateAction<boolean>>;
312
314
  setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
313
315
  setShowColumnFilters: Dispatch<SetStateAction<boolean>>;
@@ -315,8 +317,8 @@ type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TData>, '
315
317
  setShowToolbarDropZone: Dispatch<SetStateAction<boolean>>;
316
318
  };
317
319
  type MRT_DefinedTableOptions<TData extends Record<string, any>> = MRT_TableOptions<TData> & {
318
- localization: MRT_Localization;
319
320
  icons: MRT_Icons;
321
+ localization: MRT_Localization;
320
322
  };
321
323
  type MRT_TableState<TData extends Record<string, any>> = TableState & {
322
324
  columnFilterFns: MRT_ColumnFilterFnsState;
@@ -327,12 +329,12 @@ type MRT_TableState<TData extends Record<string, any>> = TableState & {
327
329
  editingCell: MRT_Cell<TData> | null;
328
330
  editingRow: MRT_Row<TData> | null;
329
331
  globalFilterFn: MRT_FilterOption;
330
- hoveredColumn: MRT_Column<TData> | {
332
+ hoveredColumn: {
331
333
  id: string;
332
- } | null;
333
- hoveredRow: MRT_Row<TData> | {
334
+ } | MRT_Column<TData> | null;
335
+ hoveredRow: {
334
336
  id: string;
335
- } | null;
337
+ } | MRT_Row<TData> | null;
336
338
  isFullScreen: boolean;
337
339
  isLoading: boolean;
338
340
  isSaving: boolean;
@@ -352,8 +354,8 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
352
354
  }) => ReactNode;
353
355
  Cell?: (props: {
354
356
  cell: MRT_Cell<TData>;
355
- renderedCellValue: number | string | ReactNode;
356
357
  column: MRT_Column<TData>;
358
+ renderedCellValue: ReactNode | number | string;
357
359
  row: MRT_Row<TData>;
358
360
  rowRef?: RefObject<HTMLTableRowElement>;
359
361
  table: MRT_TableInstance<TData>;
@@ -370,22 +372,22 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
370
372
  rangeFilterIndex?: number;
371
373
  table: MRT_TableInstance<TData>;
372
374
  }) => ReactNode;
373
- Footer?: ReactNode | ((props: {
375
+ Footer?: ((props: {
374
376
  column: MRT_Column<TData>;
375
377
  footer: MRT_Header<TData>;
376
378
  table: MRT_TableInstance<TData>;
377
- }) => ReactNode);
379
+ }) => ReactNode) | ReactNode;
378
380
  GroupedCell?: (props: {
379
381
  cell: MRT_Cell<TData>;
380
382
  column: MRT_Column<TData>;
381
383
  row: MRT_Row<TData>;
382
384
  table: MRT_TableInstance<TData>;
383
385
  }) => ReactNode;
384
- Header?: ReactNode | ((props: {
386
+ Header?: ((props: {
385
387
  column: MRT_Column<TData>;
386
388
  header: MRT_Header<TData>;
387
389
  table: MRT_TableInstance<TData>;
388
- }) => ReactNode);
390
+ }) => ReactNode) | ReactNode;
389
391
  PlaceholderCell?: (props: {
390
392
  cell: MRT_Cell<TData>;
391
393
  column: MRT_Column<TData>;
@@ -407,8 +409,8 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
407
409
  * @example accessorKey: 'username' //simple
408
410
  * @example accessorKey: 'name.firstName' //deep key dot notation
409
411
  */
410
- accessorKey?: (string & {}) | DeepKeys<TData>;
411
- aggregationFn?: MRT_AggregationFn<TData> | Array<MRT_AggregationFn<TData>>;
412
+ accessorKey?: DeepKeys<TData> | (string & {});
413
+ aggregationFn?: Array<MRT_AggregationFn<TData>> | MRT_AggregationFn<TData>;
412
414
  /**
413
415
  * Specify what type of column this is. Either `data`, `display`, or `group`. Defaults to `data`.
414
416
  * Leave this blank if you are just creating a normal data column.
@@ -420,24 +422,24 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
420
422
  columnDefType?: 'data' | 'display' | 'group';
421
423
  columnFilterModeOptions?: Array<LiteralUnion<string & MRT_FilterOption>> | null;
422
424
  columns?: MRT_ColumnDef<TData>[];
423
- editSelectOptions?: (string | {
425
+ editSelectOptions?: ({
424
426
  text: string;
425
427
  value: any;
426
- })[];
427
- editVariant?: 'text' | 'select';
428
+ } | string)[];
429
+ editVariant?: 'select' | 'text';
428
430
  enableClickToCopy?: boolean;
429
431
  enableColumnActions?: boolean;
430
432
  enableColumnDragging?: boolean;
431
433
  enableColumnFilterModes?: boolean;
432
434
  enableColumnOrdering?: boolean;
433
- enableEditing?: boolean | ((row: MRT_Row<TData>) => boolean);
435
+ enableEditing?: ((row: MRT_Row<TData>) => boolean) | boolean;
434
436
  enableFilterMatchHighlighting?: boolean;
435
437
  filterFn?: MRT_FilterFn<TData>;
436
- filterSelectOptions?: (string | {
438
+ filterSelectOptions?: ({
437
439
  text: string;
438
440
  value: any;
439
- })[];
440
- filterVariant?: 'checkbox' | 'multi-select' | 'range' | 'range-slider' | 'select' | 'text';
441
+ } | string)[];
442
+ filterVariant?: 'autocomplete' | 'checkbox' | 'date' | 'date-range' | 'multi-select' | 'range' | 'range-slider' | 'select' | 'text';
441
443
  /**
442
444
  * footer must be a string. If you want custom JSX to render the footer, you can also specify a `Footer` option. (Capital F)
443
445
  */
@@ -456,53 +458,62 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
456
458
  * @default gets set to the same value as `accessorKey` by default
457
459
  */
458
460
  id?: LiteralUnion<string & keyof TData>;
459
- muiCopyButtonProps?: ButtonProps | ((props: {
460
- cell: MRT_Cell<TData>;
461
+ muiColumnActionsButtonProps?: ((props: {
462
+ column: MRT_Column<TData>;
463
+ table: MRT_TableInstance<TData>;
464
+ }) => IconButtonProps) | IconButtonProps;
465
+ muiColumnDragHandleProps?: ((props: {
461
466
  column: MRT_Column<TData>;
462
- row: MRT_Row<TData>;
463
467
  table: MRT_TableInstance<TData>;
464
- }) => ButtonProps);
465
- muiEditTextFieldProps?: TextFieldProps | ((props: {
468
+ }) => IconButtonProps) | IconButtonProps;
469
+ muiCopyButtonProps?: ((props: {
466
470
  cell: MRT_Cell<TData>;
467
471
  column: MRT_Column<TData>;
468
472
  row: MRT_Row<TData>;
469
473
  table: MRT_TableInstance<TData>;
470
- }) => TextFieldProps);
471
- muiTableBodyCellProps?: TableCellProps | ((props: {
474
+ }) => ButtonProps) | ButtonProps;
475
+ muiEditTextFieldProps?: ((props: {
472
476
  cell: MRT_Cell<TData>;
473
477
  column: MRT_Column<TData>;
474
478
  row: MRT_Row<TData>;
475
479
  table: MRT_TableInstance<TData>;
476
- }) => TableCellProps);
477
- muiTableFooterCellProps?: TableCellProps | ((props: {
478
- table: MRT_TableInstance<TData>;
480
+ }) => TextFieldProps) | TextFieldProps;
481
+ muiFilterAutocompleteProps?: ((props: {
479
482
  column: MRT_Column<TData>;
480
- }) => TableCellProps);
481
- muiColumnActionsButtonProps?: IconButtonProps | ((props: {
482
483
  table: MRT_TableInstance<TData>;
484
+ }) => AutocompleteProps<any, any, any, any>) | AutocompleteProps<any, any, any, any>;
485
+ muiFilterCheckboxProps?: ((props: {
483
486
  column: MRT_Column<TData>;
484
- }) => IconButtonProps);
485
- muiColumnDragHandleProps?: IconButtonProps | ((props: {
486
487
  table: MRT_TableInstance<TData>;
488
+ }) => CheckboxProps) | CheckboxProps;
489
+ muiFilterDatePickerProps?: ((props: {
487
490
  column: MRT_Column<TData>;
488
- }) => IconButtonProps);
489
- muiFilterCheckboxProps?: CheckboxProps | ((props: {
490
- column: MRT_Column<TData>;
491
+ rangeFilterIndex?: number;
491
492
  table: MRT_TableInstance<TData>;
492
- }) => CheckboxProps);
493
- muiFilterTextFieldProps?: TextFieldProps | ((props: {
493
+ }) => DatePickerProps<any>) | DatePickerProps<any>;
494
+ muiFilterSliderProps?: ((props: {
495
+ column: MRT_Column<TData>;
494
496
  table: MRT_TableInstance<TData>;
497
+ }) => SliderProps) | SliderProps;
498
+ muiFilterTextFieldProps?: ((props: {
495
499
  column: MRT_Column<TData>;
496
500
  rangeFilterIndex?: number;
497
- }) => TextFieldProps);
498
- muiFilterSliderProps?: SliderProps | ((props: {
499
501
  table: MRT_TableInstance<TData>;
502
+ }) => TextFieldProps) | TextFieldProps;
503
+ muiTableBodyCellProps?: ((props: {
504
+ cell: MRT_Cell<TData>;
505
+ column: MRT_Column<TData>;
506
+ row: MRT_Row<TData>;
507
+ table: MRT_TableInstance<TData>;
508
+ }) => TableCellProps) | TableCellProps;
509
+ muiTableFooterCellProps?: ((props: {
500
510
  column: MRT_Column<TData>;
501
- }) => SliderProps);
502
- muiTableHeadCellProps?: TableCellProps | ((props: {
503
511
  table: MRT_TableInstance<TData>;
512
+ }) => TableCellProps) | TableCellProps;
513
+ muiTableHeadCellProps?: ((props: {
504
514
  column: MRT_Column<TData>;
505
- }) => TableCellProps);
515
+ table: MRT_TableInstance<TData>;
516
+ }) => TableCellProps) | TableCellProps;
506
517
  renderColumnActionsMenuItems?: (props: {
507
518
  closeMenu: () => void;
508
519
  column: MRT_Column<TData>;
@@ -517,12 +528,12 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
517
528
  }) => ReactNode[];
518
529
  sortingFn?: MRT_SortingFn<TData>;
519
530
  };
520
- type MRT_DefinedColumnDef<TData extends Record<string, any>> = Omit<MRT_ColumnDef<TData>, 'id' | 'defaultDisplayColumn'> & {
531
+ type MRT_DefinedColumnDef<TData extends Record<string, any>> = Omit<MRT_ColumnDef<TData>, 'defaultDisplayColumn' | 'id'> & {
532
+ _filterFn: MRT_FilterOption;
521
533
  defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
522
534
  id: string;
523
- _filterFn: MRT_FilterOption;
524
535
  };
525
- type MRT_Column<TData extends Record<string, any>> = Omit<Column<TData, unknown>, 'header' | 'footer' | 'columns' | 'columnDef' | 'filterFn'> & {
536
+ type MRT_Column<TData extends Record<string, any>> = Omit<Column<TData, unknown>, 'columnDef' | 'columns' | 'filterFn' | 'footer' | 'header'> & {
526
537
  columnDef: MRT_DefinedColumnDef<TData>;
527
538
  columns?: MRT_Column<TData>[];
528
539
  filterFn?: MRT_FilterFn<TData>;
@@ -535,11 +546,11 @@ type MRT_Header<TData extends Record<string, any>> = Omit<Header<TData, unknown>
535
546
  type MRT_HeaderGroup<TData extends Record<string, any>> = Omit<HeaderGroup<TData>, 'headers'> & {
536
547
  headers: MRT_Header<TData>[];
537
548
  };
538
- type MRT_Row<TData extends Record<string, any>> = Omit<Row<TData>, 'getVisibleCells' | 'getAllCells' | 'subRows' | '_valuesCache'> & {
549
+ type MRT_Row<TData extends Record<string, any>> = Omit<Row<TData>, '_valuesCache' | 'getAllCells' | 'getVisibleCells' | 'subRows'> & {
550
+ _valuesCache: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
539
551
  getAllCells: () => MRT_Cell<TData>[];
540
552
  getVisibleCells: () => MRT_Cell<TData>[];
541
553
  subRows?: MRT_Row<TData>[];
542
- _valuesCache: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
543
554
  };
544
555
  type MRT_Cell<TData extends Record<string, any>> = Omit<Cell<TData, unknown>, 'column' | 'row'> & {
545
556
  column: MRT_Column<TData>;
@@ -548,7 +559,7 @@ type MRT_Cell<TData extends Record<string, any>> = Omit<Cell<TData, unknown>, 'c
548
559
  type MRT_AggregationOption = string & keyof typeof MRT_AggregationFns;
549
560
  type MRT_AggregationFn<TData extends Record<string, any>> = AggregationFn<TData> | MRT_AggregationOption;
550
561
  type MRT_SortingOption = LiteralUnion<string & keyof typeof MRT_SortingFns>;
551
- type MRT_SortingFn<TData extends Record<string, any>> = SortingFn<TData> | MRT_SortingOption;
562
+ type MRT_SortingFn<TData extends Record<string, any>> = MRT_SortingOption | SortingFn<TData>;
552
563
  type MRT_FilterOption = LiteralUnion<string & keyof typeof MRT_FilterFns>;
553
564
  type MRT_FilterFn<TData extends Record<string, any>> = FilterFn<TData> | MRT_FilterOption;
554
565
  type MRT_InternalFilterOption = {
@@ -557,7 +568,7 @@ type MRT_InternalFilterOption = {
557
568
  option: string;
558
569
  symbol: string;
559
570
  };
560
- type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand' | 'mrt-row-numbers' | 'mrt-row-select' | 'mrt-row-pin';
571
+ type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand' | 'mrt-row-numbers' | 'mrt-row-pin' | 'mrt-row-select';
561
572
  /**
562
573
  * `columns` and `data` props are the only required props, but there are over 170 other optional props.
563
574
  *
@@ -568,7 +579,12 @@ type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand
568
579
  * @link https://www.material-react-table.com/docs/api/props
569
580
  */
570
581
  type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'defaultColumn' | 'enableRowSelection' | 'expandRowsFn' | 'getRowId' | 'globalFilterFn' | 'initialState' | 'onStateChange' | 'state'> & {
582
+ columnFilterDisplayMode?: 'custom' | 'popover' | 'subheader';
571
583
  columnFilterModeOptions?: Array<LiteralUnion<string & MRT_FilterOption>> | null;
584
+ columnVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableCellElement> | null>;
585
+ columnVirtualizerOptions?: ((props: {
586
+ table: MRT_TableInstance<TData>;
587
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>) | Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>;
572
588
  /**
573
589
  * The columns to display in the table. `accessorKey`s or `accessorFn`s must match keys in the `data` prop.
574
590
  *
@@ -580,10 +596,7 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
580
596
  * @link https://www.material-react-table.com/docs/api/column-options
581
597
  */
582
598
  columns: MRT_ColumnDef<TData>[];
583
- columnVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableCellElement> | null>;
584
- columnVirtualizerOptions?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>> | ((props: {
585
- table: MRT_TableInstance<TData>;
586
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>);
599
+ createDisplayMode?: 'custom' | 'modal' | 'row';
587
600
  /**
588
601
  * Pass your data as an array of objects. Objects can theoretically be any shape, but it's best to keep them consistent.
589
602
  *
@@ -602,12 +615,7 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
602
615
  displayColumnDefOptions?: Partial<{
603
616
  [key in MRT_DisplayColumnIds]: Partial<MRT_ColumnDef<TData>>;
604
617
  }>;
605
- createDisplayMode?: 'modal' | 'row' | 'custom';
606
- editDisplayMode?: 'modal' | 'row' | 'cell' | 'table' | 'custom';
607
- columnFilterDisplayMode?: 'subheader' | 'popover' | 'custom';
608
- paginationDisplayMode?: 'default' | 'pages' | 'custom';
609
- selectDisplayMode?: 'checkbox' | 'radio' | 'switch';
610
- rowPinningDisplayMode?: 'sticky' | 'top' | 'bottom' | 'top-and-bottom' | 'select-sticky' | 'select-top' | 'select-bottom';
618
+ editDisplayMode?: 'cell' | 'custom' | 'modal' | 'row' | 'table';
611
619
  enableBottomToolbar?: boolean;
612
620
  enableClickToCopy?: boolean;
613
621
  enableColumnActions?: boolean;
@@ -616,7 +624,7 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
616
624
  enableColumnOrdering?: boolean;
617
625
  enableColumnVirtualization?: boolean;
618
626
  enableDensityToggle?: boolean;
619
- enableEditing?: boolean | ((row: MRT_Row<TData>) => boolean);
627
+ enableEditing?: ((row: MRT_Row<TData>) => boolean) | boolean;
620
628
  enableExpandAll?: boolean;
621
629
  enableFacetedValues?: boolean;
622
630
  enableFilterMatchHighlighting?: boolean;
@@ -628,7 +636,7 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
628
636
  enableRowDragging?: boolean;
629
637
  enableRowNumbers?: boolean;
630
638
  enableRowOrdering?: boolean;
631
- enableRowSelection?: boolean | ((row: MRT_Row<TData>) => boolean);
639
+ enableRowSelection?: ((row: MRT_Row<TData>) => boolean) | boolean;
632
640
  enableRowVirtualization?: boolean;
633
641
  enableSelectAll?: boolean;
634
642
  enableStickyFooter?: boolean;
@@ -646,7 +654,7 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
646
654
  /**
647
655
  * Changes which kind of CSS layout is used to render the table. `semantic` uses default semantic HTML elements, while `grid` adds CSS grid and flexbox styles
648
656
  */
649
- layoutMode?: 'semantic' | 'grid';
657
+ layoutMode?: 'grid' | 'semantic';
650
658
  /**
651
659
  * Pass in either a locale imported from `material-react-table/locales/*` or a custom locale object.
652
660
  *
@@ -661,143 +669,155 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
661
669
  * @link https://www.material-react-table.com/docs/guides/memoize-components
662
670
  */
663
671
  memoMode?: 'cells' | 'rows' | 'table-body';
664
- muiBottomToolbarProps?: ToolbarProps | ((props: {
672
+ muiBottomToolbarProps?: ((props: {
665
673
  table: MRT_TableInstance<TData>;
666
- }) => ToolbarProps);
667
- muiExpandAllButtonProps?: IconButtonProps | ((props: {
674
+ }) => ToolbarProps) | ToolbarProps;
675
+ muiColumnActionsButtonProps?: ((props: {
676
+ column: MRT_Column<TData>;
668
677
  table: MRT_TableInstance<TData>;
669
- }) => IconButtonProps);
670
- muiExpandButtonProps?: IconButtonProps | ((props: {
678
+ }) => IconButtonProps) | IconButtonProps;
679
+ muiColumnDragHandleProps?: ((props: {
680
+ column: MRT_Column<TData>;
671
681
  table: MRT_TableInstance<TData>;
682
+ }) => IconButtonProps) | IconButtonProps;
683
+ muiCopyButtonProps?: ((props: {
684
+ cell: MRT_Cell<TData>;
685
+ column: MRT_Column<TData>;
672
686
  row: MRT_Row<TData>;
673
- }) => IconButtonProps);
674
- muiLinearProgressProps?: LinearProgressProps | ((props: {
675
- isTopToolbar: boolean;
676
- table: MRT_TableInstance<TData>;
677
- }) => LinearProgressProps);
678
- muiSearchTextFieldProps?: TextFieldProps | ((props: {
679
- table: MRT_TableInstance<TData>;
680
- }) => TextFieldProps);
681
- muiSelectAllCheckboxProps?: CheckboxProps | ((props: {
682
687
  table: MRT_TableInstance<TData>;
683
- }) => CheckboxProps);
684
- muiSelectCheckboxProps?: (CheckboxProps | RadioProps) | ((props: {
688
+ }) => ButtonProps) | ButtonProps;
689
+ muiCreateRowModalProps?: ((props: {
690
+ row: MRT_Row<TData>;
685
691
  table: MRT_TableInstance<TData>;
692
+ }) => DialogProps) | DialogProps;
693
+ muiDetailPanelProps?: ((props: {
686
694
  row: MRT_Row<TData>;
687
- }) => CheckboxProps | RadioProps);
688
- muiCopyButtonProps?: ButtonProps | ((props: {
689
- cell: MRT_Cell<TData>;
690
- column: MRT_Column<TData>;
695
+ table: MRT_TableInstance<TData>;
696
+ }) => TableCellProps) | TableCellProps;
697
+ muiEditRowModalProps?: ((props: {
691
698
  row: MRT_Row<TData>;
692
699
  table: MRT_TableInstance<TData>;
693
- }) => ButtonProps);
694
- muiEditTextFieldProps?: TextFieldProps | ((props: {
700
+ }) => DialogProps) | DialogProps;
701
+ muiEditTextFieldProps?: ((props: {
695
702
  cell: MRT_Cell<TData>;
696
703
  column: MRT_Column<TData>;
697
704
  row: MRT_Row<TData>;
698
705
  table: MRT_TableInstance<TData>;
699
- }) => TextFieldProps);
700
- muiTableBodyCellProps?: TableCellProps | ((props: {
701
- cell: MRT_Cell<TData>;
702
- column: MRT_Column<TData>;
706
+ }) => TextFieldProps) | TextFieldProps;
707
+ muiExpandAllButtonProps?: ((props: {
708
+ table: MRT_TableInstance<TData>;
709
+ }) => IconButtonProps) | IconButtonProps;
710
+ muiExpandButtonProps?: ((props: {
703
711
  row: MRT_Row<TData>;
704
712
  table: MRT_TableInstance<TData>;
705
- }) => TableCellProps);
706
- muiSkeletonProps?: SkeletonProps | ((props: {
707
- cell: MRT_Cell<TData>;
713
+ }) => IconButtonProps) | IconButtonProps;
714
+ muiFilterAutocompleteProps?: ((props: {
708
715
  column: MRT_Column<TData>;
709
- row: MRT_Row<TData>;
710
716
  table: MRT_TableInstance<TData>;
711
- }) => SkeletonProps);
712
- muiTableBodyProps?: TableBodyProps | ((props: {
717
+ }) => AutocompleteProps<any, any, any, any>) | AutocompleteProps<any, any, any, any>;
718
+ muiFilterCheckboxProps?: ((props: {
719
+ column: MRT_Column<TData>;
713
720
  table: MRT_TableInstance<TData>;
714
- }) => TableBodyProps);
715
- muiRowDragHandleProps?: IconButtonProps | ((props: {
721
+ }) => CheckboxProps) | CheckboxProps;
722
+ muiFilterDatePickerProps?: ((props: {
723
+ column: MRT_Column<TData>;
724
+ rangeFilterIndex?: number;
716
725
  table: MRT_TableInstance<TData>;
717
- row: MRT_Row<TData>;
718
- }) => IconButtonProps);
719
- muiTableBodyRowProps?: TableRowProps | ((props: {
720
- isDetailPanel?: boolean;
721
- row: MRT_Row<TData>;
722
- staticRowIndex: number;
726
+ }) => DatePickerProps<any>) | DatePickerProps<any>;
727
+ muiFilterSliderProps?: ((props: {
728
+ column: MRT_Column<TData>;
723
729
  table: MRT_TableInstance<TData>;
724
- }) => TableRowProps);
725
- muiTableContainerProps?: TableContainerProps | ((props: {
730
+ }) => SliderProps) | SliderProps;
731
+ muiFilterTextFieldProps?: ((props: {
732
+ column: MRT_Column<TData>;
733
+ rangeFilterIndex?: number;
726
734
  table: MRT_TableInstance<TData>;
727
- }) => TableContainerProps);
728
- muiDetailPanelProps?: TableCellProps | ((props: {
735
+ }) => TextFieldProps) | TextFieldProps;
736
+ muiLinearProgressProps?: ((props: {
737
+ isTopToolbar: boolean;
729
738
  table: MRT_TableInstance<TData>;
739
+ }) => LinearProgressProps) | LinearProgressProps;
740
+ muiRowDragHandleProps?: ((props: {
730
741
  row: MRT_Row<TData>;
731
- }) => TableCellProps);
732
- muiTableFooterCellProps?: TableCellProps | ((props: {
733
742
  table: MRT_TableInstance<TData>;
734
- column: MRT_Column<TData>;
735
- }) => TableCellProps);
736
- muiTableFooterProps?: TableFooterProps | ((props: {
743
+ }) => IconButtonProps) | IconButtonProps;
744
+ muiSearchTextFieldProps?: ((props: {
737
745
  table: MRT_TableInstance<TData>;
738
- }) => TableFooterProps);
739
- muiTableFooterRowProps?: TableRowProps | ((props: {
746
+ }) => TextFieldProps) | TextFieldProps;
747
+ muiSelectAllCheckboxProps?: ((props: {
740
748
  table: MRT_TableInstance<TData>;
741
- footerGroup: MRT_HeaderGroup<TData>;
742
- }) => TableRowProps);
743
- muiColumnActionsButtonProps?: IconButtonProps | ((props: {
749
+ }) => CheckboxProps) | CheckboxProps;
750
+ muiSelectCheckboxProps?: ((props: {
751
+ row: MRT_Row<TData>;
744
752
  table: MRT_TableInstance<TData>;
753
+ }) => CheckboxProps | RadioProps) | (CheckboxProps | RadioProps);
754
+ muiSkeletonProps?: ((props: {
755
+ cell: MRT_Cell<TData>;
745
756
  column: MRT_Column<TData>;
746
- }) => IconButtonProps);
747
- muiColumnDragHandleProps?: IconButtonProps | ((props: {
757
+ row: MRT_Row<TData>;
748
758
  table: MRT_TableInstance<TData>;
759
+ }) => SkeletonProps) | SkeletonProps;
760
+ muiTableBodyCellProps?: ((props: {
761
+ cell: MRT_Cell<TData>;
749
762
  column: MRT_Column<TData>;
750
- }) => IconButtonProps);
751
- muiFilterCheckboxProps?: CheckboxProps | ((props: {
752
- column: MRT_Column<TData>;
763
+ row: MRT_Row<TData>;
753
764
  table: MRT_TableInstance<TData>;
754
- }) => CheckboxProps);
755
- muiFilterTextFieldProps?: TextFieldProps | ((props: {
765
+ }) => TableCellProps) | TableCellProps;
766
+ muiTableBodyProps?: ((props: {
756
767
  table: MRT_TableInstance<TData>;
757
- column: MRT_Column<TData>;
758
- rangeFilterIndex?: number;
759
- }) => TextFieldProps);
760
- muiFilterSliderProps?: SliderProps | ((props: {
768
+ }) => TableBodyProps) | TableBodyProps;
769
+ muiTableBodyRowProps?: ((props: {
770
+ isDetailPanel?: boolean;
771
+ row: MRT_Row<TData>;
772
+ staticRowIndex: number;
773
+ table: MRT_TableInstance<TData>;
774
+ }) => TableRowProps) | TableRowProps;
775
+ muiTableContainerProps?: ((props: {
761
776
  table: MRT_TableInstance<TData>;
777
+ }) => TableContainerProps) | TableContainerProps;
778
+ muiTableFooterCellProps?: ((props: {
762
779
  column: MRT_Column<TData>;
763
- }) => SliderProps);
764
- muiCreateRowModalProps?: DialogProps | ((props: {
765
- row: MRT_Row<TData>;
766
780
  table: MRT_TableInstance<TData>;
767
- }) => DialogProps);
768
- muiEditRowModalProps?: DialogProps | ((props: {
769
- row: MRT_Row<TData>;
781
+ }) => TableCellProps) | TableCellProps;
782
+ muiTableFooterProps?: ((props: {
770
783
  table: MRT_TableInstance<TData>;
771
- }) => DialogProps);
772
- muiTableHeadCellProps?: TableCellProps | ((props: {
784
+ }) => TableFooterProps) | TableFooterProps;
785
+ muiTableFooterRowProps?: ((props: {
786
+ footerGroup: MRT_HeaderGroup<TData>;
773
787
  table: MRT_TableInstance<TData>;
788
+ }) => TableRowProps) | TableRowProps;
789
+ muiTableHeadCellProps?: ((props: {
774
790
  column: MRT_Column<TData>;
775
- }) => TableCellProps);
776
- muiTableHeadProps?: TableHeadProps | ((props: {
777
791
  table: MRT_TableInstance<TData>;
778
- }) => TableHeadProps);
779
- muiTableHeadRowProps?: TableRowProps | ((props: {
792
+ }) => TableCellProps) | TableCellProps;
793
+ muiTableHeadProps?: ((props: {
780
794
  table: MRT_TableInstance<TData>;
795
+ }) => TableHeadProps) | TableHeadProps;
796
+ muiTableHeadRowProps?: ((props: {
781
797
  headerGroup: MRT_HeaderGroup<TData>;
782
- }) => TableRowProps);
783
- muiTablePaginationProps?: Partial<Omit<TablePaginationProps, 'rowsPerPage'>> | ((props: {
784
798
  table: MRT_TableInstance<TData>;
785
- }) => Partial<Omit<TablePaginationProps, 'rowsPerPage'>>);
786
- muiTablePaperProps?: PaperProps | ((props: {
799
+ }) => TableRowProps) | TableRowProps;
800
+ muiTablePaginationProps?: ((props: {
801
+ table: MRT_TableInstance<TData>;
802
+ }) => Partial<Omit<TablePaginationProps, 'rowsPerPage'>>) | Partial<Omit<TablePaginationProps, 'rowsPerPage'>>;
803
+ muiTablePaperProps?: ((props: {
787
804
  table: MRT_TableInstance<TData>;
788
- }) => PaperProps);
789
- muiTableProps?: TableProps | ((props: {
805
+ }) => PaperProps) | PaperProps;
806
+ muiTableProps?: ((props: {
790
807
  table: MRT_TableInstance<TData>;
791
- }) => TableProps);
792
- muiToolbarAlertBannerChipProps?: ChipProps | ((props: {
808
+ }) => TableProps) | TableProps;
809
+ muiToolbarAlertBannerChipProps?: ((props: {
793
810
  table: MRT_TableInstance<TData>;
794
- }) => ChipProps);
795
- muiToolbarAlertBannerProps?: AlertProps | ((props: {
811
+ }) => ChipProps) | ChipProps;
812
+ muiToolbarAlertBannerProps?: ((props: {
796
813
  table: MRT_TableInstance<TData>;
797
- }) => AlertProps);
798
- muiTopToolbarProps?: ToolbarProps | ((props: {
814
+ }) => AlertProps) | AlertProps;
815
+ muiTopToolbarProps?: ((props: {
799
816
  table: MRT_TableInstance<TData>;
800
- }) => ToolbarProps);
817
+ }) => ToolbarProps) | ToolbarProps;
818
+ onColumnFilterFnsChange?: OnChangeFn<{
819
+ [key: string]: MRT_FilterOption;
820
+ }>;
801
821
  onCreatingRowCancel?: (props: {
802
822
  row: MRT_Row<TData>;
803
823
  table: MRT_TableInstance<TData>;
@@ -809,9 +829,6 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
809
829
  table: MRT_TableInstance<TData>;
810
830
  values: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
811
831
  }) => void;
812
- onColumnFilterFnsChange?: OnChangeFn<{
813
- [key: string]: MRT_FilterOption;
814
- }>;
815
832
  onDensityChange?: OnChangeFn<MRT_DensityState>;
816
833
  onDraggingColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
817
834
  onDraggingRowChange?: OnChangeFn<MRT_Row<TData> | null>;
@@ -828,42 +845,33 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
828
845
  values: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
829
846
  }) => Promise<void> | void;
830
847
  onGlobalFilterFnChange?: OnChangeFn<MRT_FilterOption>;
831
- onHoveredColumnChange?: OnChangeFn<MRT_Column<TData> | {
848
+ onHoveredColumnChange?: OnChangeFn<{
832
849
  id: string;
833
- } | null>;
834
- onHoveredRowChange?: OnChangeFn<MRT_Row<TData> | {
850
+ } | MRT_Column<TData> | null>;
851
+ onHoveredRowChange?: OnChangeFn<{
835
852
  id: string;
836
- } | null>;
853
+ } | MRT_Row<TData> | null>;
837
854
  onIsFullScreenChange?: OnChangeFn<boolean>;
838
855
  onShowAlertBannerChange?: OnChangeFn<boolean>;
839
856
  onShowColumnFiltersChange?: OnChangeFn<boolean>;
840
857
  onShowGlobalFilterChange?: OnChangeFn<boolean>;
841
858
  onShowToolbarDropZoneChange?: OnChangeFn<boolean>;
859
+ paginationDisplayMode?: 'custom' | 'default' | 'pages';
842
860
  positionActionsColumn?: 'first' | 'last';
843
861
  positionExpandColumn?: 'first' | 'last';
844
- positionGlobalFilter?: 'left' | 'right' | 'none';
845
- positionPagination?: 'bottom' | 'top' | 'both' | 'none';
846
- positionToolbarAlertBanner?: 'bottom' | 'top' | 'none';
847
- positionToolbarDropZone?: 'bottom' | 'top' | 'none' | 'both';
848
- renderBottomToolbar?: ReactNode | ((props: {
862
+ positionGlobalFilter?: 'left' | 'none' | 'right';
863
+ positionPagination?: 'both' | 'bottom' | 'none' | 'top';
864
+ positionToolbarAlertBanner?: 'bottom' | 'none' | 'top';
865
+ positionToolbarDropZone?: 'both' | 'bottom' | 'none' | 'top';
866
+ renderBottomToolbar?: ((props: {
849
867
  table: MRT_TableInstance<TData>;
850
- }) => ReactNode);
868
+ }) => ReactNode) | ReactNode;
851
869
  renderBottomToolbarCustomActions?: (props: {
852
870
  table: MRT_TableInstance<TData>;
853
871
  }) => ReactNode;
854
- renderCreateRowModalContent?: (props: {
855
- internalEditComponents: ReactNode[];
856
- row: MRT_Row<TData>;
857
- table: MRT_TableInstance<TData>;
858
- }) => ReactNode;
859
- renderEditRowModalContent?: (props: {
860
- internalEditComponents: ReactNode[];
861
- row: MRT_Row<TData>;
862
- table: MRT_TableInstance<TData>;
863
- }) => ReactNode;
864
872
  renderColumnActionsMenuItems?: (props: {
865
- column: MRT_Column<TData>;
866
873
  closeMenu: () => void;
874
+ column: MRT_Column<TData>;
867
875
  internalColumnMenuItems: ReactNode[];
868
876
  table: MRT_TableInstance<TData>;
869
877
  }) => ReactNode[];
@@ -873,18 +881,28 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
873
881
  onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
874
882
  table: MRT_TableInstance<TData>;
875
883
  }) => ReactNode[];
884
+ renderCreateRowModalContent?: (props: {
885
+ internalEditComponents: ReactNode[];
886
+ row: MRT_Row<TData>;
887
+ table: MRT_TableInstance<TData>;
888
+ }) => ReactNode;
876
889
  renderDetailPanel?: (props: {
877
890
  row: MRT_Row<TData>;
878
891
  table: MRT_TableInstance<TData>;
879
892
  }) => ReactNode;
893
+ renderEditRowModalContent?: (props: {
894
+ internalEditComponents: ReactNode[];
895
+ row: MRT_Row<TData>;
896
+ table: MRT_TableInstance<TData>;
897
+ }) => ReactNode;
898
+ renderEmptyRowsFallback?: (props: {
899
+ table: MRT_TableInstance<TData>;
900
+ }) => ReactNode;
880
901
  renderGlobalFilterModeMenuItems?: (props: {
881
902
  internalFilterOptions: MRT_InternalFilterOption[];
882
903
  onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
883
904
  table: MRT_TableInstance<TData>;
884
905
  }) => ReactNode[];
885
- renderEmptyRowsFallback?: (props: {
886
- table: MRT_TableInstance<TData>;
887
- }) => ReactNode;
888
906
  renderRowActionMenuItems?: (props: {
889
907
  closeMenu: () => void;
890
908
  row: MRT_Row<TData>;
@@ -898,19 +916,21 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
898
916
  renderToolbarInternalActions?: (props: {
899
917
  table: MRT_TableInstance<TData>;
900
918
  }) => ReactNode;
901
- renderTopToolbar?: ReactNode | ((props: {
919
+ renderTopToolbar?: ((props: {
902
920
  table: MRT_TableInstance<TData>;
903
- }) => ReactNode);
921
+ }) => ReactNode) | ReactNode;
904
922
  renderTopToolbarCustomActions?: (props: {
905
923
  table: MRT_TableInstance<TData>;
906
924
  }) => ReactNode;
907
925
  rowCount?: number;
908
926
  rowNumberMode?: 'original' | 'static';
927
+ rowPinningDisplayMode?: 'bottom' | 'select-bottom' | 'select-sticky' | 'select-top' | 'sticky' | 'top' | 'top-and-bottom';
909
928
  rowVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableRowElement> | null>;
910
- rowVirtualizerOptions?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | ((props: {
929
+ rowVirtualizerOptions?: ((props: {
911
930
  table: MRT_TableInstance<TData>;
912
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
931
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>) | Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>;
913
932
  selectAllMode?: 'all' | 'page';
933
+ selectDisplayMode?: 'checkbox' | 'radio' | 'switch';
914
934
  /**
915
935
  * Manage state externally any way you want, then pass it back into MRT.
916
936
  */
@@ -1022,18 +1042,18 @@ declare const MRT_ExpandButton: <TData extends Record<string, any>>({ row, table
1022
1042
 
1023
1043
  interface Props$G<TData extends Record<string, any>> {
1024
1044
  iconButtonProps?: IconButtonProps;
1025
- onDragStart: DragEventHandler<HTMLButtonElement>;
1026
1045
  onDragEnd: DragEventHandler<HTMLButtonElement>;
1046
+ onDragStart: DragEventHandler<HTMLButtonElement>;
1027
1047
  table: MRT_TableInstance<TData>;
1028
1048
  }
1029
1049
  declare const MRT_GrabHandleButton: <TData extends Record<string, any>>({ iconButtonProps, onDragEnd, onDragStart, table, }: Props$G<TData>) => react_jsx_runtime.JSX.Element;
1030
1050
 
1031
1051
  interface Props$F<TData extends Record<string, any>> {
1052
+ pinningPosition: RowPinningPosition;
1032
1053
  row: MRT_Row<TData>;
1033
1054
  table: MRT_TableInstance<TData>;
1034
- pinningPosition: RowPinningPosition;
1035
1055
  }
1036
- declare const MRT_RowPinButton: <TData extends Record<string, any>>({ row, table, pinningPosition, }: Props$F<TData>) => react_jsx_runtime.JSX.Element;
1056
+ declare const MRT_RowPinButton: <TData extends Record<string, any>>({ pinningPosition, row, table, }: Props$F<TData>) => react_jsx_runtime.JSX.Element;
1037
1057
 
1038
1058
  interface Props$E<TData extends Record<string, any>> extends IconButtonProps {
1039
1059
  table: MRT_TableInstance<TData>;
@@ -1183,8 +1203,8 @@ declare const getCommonCellStyles: <TData extends Record<string, any>>({ column,
1183
1203
  }) => any;
1184
1204
  declare const MRT_DefaultColumn: {
1185
1205
  readonly filterVariant: "text";
1186
- readonly minSize: 40;
1187
1206
  readonly maxSize: 1000;
1207
+ readonly minSize: 40;
1188
1208
  readonly size: 180;
1189
1209
  };
1190
1210
  declare const MRT_DefaultDisplayColumn: {
@@ -1203,7 +1223,7 @@ declare const MRT_DefaultDisplayColumn: {
1203
1223
  };
1204
1224
  declare const parseFromValuesOrFunc: <T, U>(fn: T | ((arg: U) => T) | undefined, arg: U) => T | undefined;
1205
1225
  declare const parseCSSVarId: (id: string) => string;
1206
- declare const flexRender: (Comp: Renderable<any>, props: any) => ReactNode | JSX.Element;
1226
+ declare const flexRender: (Comp: Renderable<any>, props: any) => JSX.Element | ReactNode;
1207
1227
  declare const createRow: <TData extends Record<string, any>>(table: MRT_TableInstance<TData>, originalRow?: TData | undefined) => MRT_Row<TData>;
1208
1228
 
1209
1229
  interface Props$y<TData extends Record<string, any>> {
@@ -1259,7 +1279,7 @@ interface Props$r<TData extends Record<string, any>> {
1259
1279
  header: MRT_Header<TData>;
1260
1280
  table: MRT_TableInstance<TData>;
1261
1281
  }
1262
- declare const MRT_TableHeadCellFilterLabel: <TData extends Record<string, any>>({ header, table, }: Props$r<TData>) => react_jsx_runtime.JSX.Element;
1282
+ declare const MRT_TableHeadCellFilterLabel: <TData extends Record<string, any> = {}>({ header, table, }: Props$r<TData>) => react_jsx_runtime.JSX.Element;
1263
1283
 
1264
1284
  interface Props$q<TData extends Record<string, any>> {
1265
1285
  column: MRT_Column<TData>;
@@ -1334,14 +1354,14 @@ interface Props$g<TData extends Record<string, any>> {
1334
1354
  declare const MRT_SelectCheckbox: <TData extends Record<string, any>>({ row, selectAll, table, }: Props$g<TData>) => react_jsx_runtime.JSX.Element;
1335
1355
 
1336
1356
  declare const commonMenuItemStyles: {
1337
- py: string;
1338
- my: number;
1339
- justifyContent: string;
1340
1357
  alignItems: string;
1358
+ justifyContent: string;
1359
+ my: number;
1360
+ py: string;
1341
1361
  };
1342
1362
  declare const commonListItemStyles: {
1343
- display: string;
1344
1363
  alignItems: string;
1364
+ display: string;
1345
1365
  };
1346
1366
  interface Props$f<TData extends Record<string, any>> {
1347
1367
  anchorEl: HTMLElement | null;
@@ -1386,7 +1406,7 @@ interface Props$b<TData extends Record<string, any>> {
1386
1406
  setHoveredColumn: Dispatch<SetStateAction<MRT_Column<TData> | null>>;
1387
1407
  table: MRT_TableInstance<TData>;
1388
1408
  }
1389
- declare const MRT_ShowHideColumnsMenuItems: <TData extends Record<string, any>>({ allColumns, hoveredColumn, setHoveredColumn, column, table, }: Props$b<TData>) => react_jsx_runtime.JSX.Element;
1409
+ declare const MRT_ShowHideColumnsMenuItems: <TData extends Record<string, any>>({ allColumns, column, hoveredColumn, setHoveredColumn, table, }: Props$b<TData>) => react_jsx_runtime.JSX.Element;
1390
1410
 
1391
1411
  interface Props$a<TData extends Record<string, any>> {
1392
1412
  open: boolean;
@@ -1421,10 +1441,10 @@ interface Props$5<TData extends Record<string, any>> {
1421
1441
  declare const MRT_LinearProgressBar: <TData extends Record<string, any>>({ isTopToolbar, table, }: Props$5<TData>) => react_jsx_runtime.JSX.Element;
1422
1442
 
1423
1443
  interface Props$4<TData extends Record<string, any>> {
1424
- position?: 'top' | 'bottom';
1444
+ position?: 'bottom' | 'top';
1425
1445
  table: MRT_TableInstance<TData>;
1426
1446
  }
1427
- declare const MRT_TablePagination: <TData extends Record<string, any>>({ table, position, }: Props$4<TData>) => react_jsx_runtime.JSX.Element;
1447
+ declare const MRT_TablePagination: <TData extends Record<string, any>>({ position, table, }: Props$4<TData>) => react_jsx_runtime.JSX.Element;
1428
1448
 
1429
1449
  interface Props$3<TData extends Record<string, any>> {
1430
1450
  stackAlertBanner: boolean;