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