material-react-table 2.0.0-alpha.0 → 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 (119) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/index.js +2480 -2392
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/types/MaterialReactTable.d.ts +1 -1
  5. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +3 -2
  6. package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +7 -0
  7. package/dist/cjs/types/body/index.d.ts +1 -0
  8. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +1 -1
  9. package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +9 -0
  10. package/dist/cjs/types/buttons/index.d.ts +2 -1
  11. package/dist/cjs/types/column.utils.d.ts +7 -6
  12. package/dist/cjs/types/filterFns.d.ts +14 -14
  13. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +1 -1
  14. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  15. package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
  16. package/dist/cjs/types/icons.d.ts +1 -1
  17. package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +1 -1
  18. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +4 -4
  19. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -1
  20. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +2 -2
  21. package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +1 -1
  22. package/dist/cjs/types/types.d.ts +203 -197
  23. package/dist/esm/material-react-table.esm.js +2442 -2358
  24. package/dist/esm/material-react-table.esm.js.map +1 -1
  25. package/dist/esm/types/MaterialReactTable.d.ts +1 -1
  26. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +3 -2
  27. package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +7 -0
  28. package/dist/esm/types/body/index.d.ts +1 -0
  29. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +1 -1
  30. package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +9 -0
  31. package/dist/esm/types/buttons/index.d.ts +2 -1
  32. package/dist/esm/types/column.utils.d.ts +7 -6
  33. package/dist/esm/types/filterFns.d.ts +14 -14
  34. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +1 -1
  35. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  36. package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
  37. package/dist/esm/types/icons.d.ts +1 -1
  38. package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +1 -1
  39. package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +4 -4
  40. package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -1
  41. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +2 -2
  42. package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +1 -1
  43. package/dist/esm/types/types.d.ts +203 -197
  44. package/dist/index.d.ts +293 -272
  45. package/locales/en.esm.js +1 -0
  46. package/locales/en.esm.js.map +1 -1
  47. package/locales/en.js +1 -0
  48. package/locales/en.js.map +1 -1
  49. package/locales/fr.esm.js +1 -1
  50. package/locales/fr.esm.js.map +1 -1
  51. package/locales/fr.js +1 -1
  52. package/locales/fr.js.map +1 -1
  53. package/package.json +10 -9
  54. package/src/MaterialReactTable.tsx +2 -2
  55. package/src/body/MRT_TableBody.tsx +180 -76
  56. package/src/body/MRT_TableBodyCell.tsx +45 -43
  57. package/src/body/MRT_TableBodyCellValue.tsx +5 -5
  58. package/src/body/MRT_TableBodyRow.tsx +117 -29
  59. package/src/body/MRT_TableBodyRowGrabHandle.tsx +6 -5
  60. package/src/body/MRT_TableBodyRowPinButton.tsx +46 -0
  61. package/src/body/MRT_TableDetailPanel.tsx +16 -22
  62. package/src/body/index.ts +2 -1
  63. package/src/buttons/MRT_CopyButton.tsx +14 -20
  64. package/src/buttons/MRT_EditActionButtons.tsx +4 -4
  65. package/src/buttons/MRT_ExpandAllButton.tsx +7 -9
  66. package/src/buttons/MRT_ExpandButton.tsx +6 -7
  67. package/src/buttons/MRT_GrabHandleButton.tsx +12 -13
  68. package/src/buttons/MRT_RowPinButton.tsx +74 -0
  69. package/src/buttons/MRT_ShowHideColumnsButton.tsx +1 -1
  70. package/src/buttons/MRT_ToggleFullScreenButton.tsx +2 -2
  71. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +9 -10
  72. package/src/buttons/index.ts +2 -1
  73. package/src/column.utils.ts +33 -21
  74. package/src/filterFns.ts +29 -29
  75. package/src/footer/MRT_TableFooter.tsx +14 -8
  76. package/src/footer/MRT_TableFooterCell.tsx +8 -21
  77. package/src/footer/MRT_TableFooterRow.tsx +7 -8
  78. package/src/head/MRT_TableHead.tsx +12 -8
  79. package/src/head/MRT_TableHeadCell.tsx +18 -25
  80. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +18 -23
  81. package/src/head/MRT_TableHeadCellFilterContainer.tsx +11 -4
  82. package/src/head/MRT_TableHeadCellFilterLabel.tsx +106 -61
  83. package/src/head/MRT_TableHeadCellGrabHandle.tsx +8 -15
  84. package/src/head/MRT_TableHeadCellResizeHandle.tsx +11 -11
  85. package/src/head/MRT_TableHeadCellSortLabel.tsx +8 -8
  86. package/src/head/MRT_TableHeadRow.tsx +7 -8
  87. package/src/hooks/useMRT_DisplayColumns.tsx +17 -4
  88. package/src/hooks/useMRT_Effects.ts +3 -3
  89. package/src/hooks/useMRT_TableInstance.ts +17 -10
  90. package/src/hooks/useMRT_TableOptions.ts +9 -5
  91. package/src/icons.ts +2 -2
  92. package/src/inputs/MRT_EditCellTextField.tsx +23 -31
  93. package/src/inputs/MRT_FilterCheckbox.tsx +17 -29
  94. package/src/inputs/MRT_FilterRangeFields.tsx +1 -1
  95. package/src/inputs/MRT_FilterRangeSlider.tsx +12 -29
  96. package/src/inputs/MRT_FilterTextField.tsx +83 -99
  97. package/src/inputs/MRT_GlobalFilterTextField.tsx +29 -29
  98. package/src/inputs/MRT_SelectCheckbox.tsx +35 -21
  99. package/src/locales/en.ts +1 -1
  100. package/src/locales/fr.ts +1 -1
  101. package/src/menus/MRT_ColumnActionMenu.tsx +14 -14
  102. package/src/menus/MRT_FilterOptionMenu.tsx +35 -35
  103. package/src/menus/MRT_RowActionMenu.tsx +17 -18
  104. package/src/menus/MRT_ShowHideColumnsMenu.tsx +6 -6
  105. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +5 -5
  106. package/src/modals/MRT_EditRowModal.tsx +12 -20
  107. package/src/sortingFns.ts +1 -1
  108. package/src/table/MRT_Table.tsx +14 -19
  109. package/src/table/MRT_TableContainer.tsx +14 -20
  110. package/src/table/MRT_TablePaper.tsx +16 -20
  111. package/src/toolbar/MRT_BottomToolbar.tsx +18 -24
  112. package/src/toolbar/MRT_LinearProgressBar.tsx +8 -7
  113. package/src/toolbar/MRT_TablePagination.tsx +23 -25
  114. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +11 -14
  115. package/src/toolbar/MRT_ToolbarDropZone.tsx +6 -6
  116. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +8 -5
  117. package/src/toolbar/MRT_TopToolbar.tsx +14 -20
  118. package/src/types.ts +269 -252
  119. 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, 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];
@@ -173,7 +173,6 @@ interface MRT_Localization {
173
173
  clearSearch: string;
174
174
  clearSort: string;
175
175
  clickToCopy: string;
176
- create?: string;
177
176
  collapse: string;
178
177
  collapseAll: string;
179
178
  columnActions: string;
@@ -223,6 +222,7 @@ interface MRT_Localization {
223
222
  noResultsFound: string;
224
223
  of: string;
225
224
  or: string;
225
+ pin?: string;
226
226
  pinToLeft: string;
227
227
  pinToRight: string;
228
228
  resetColumnSize: string;
@@ -261,11 +261,13 @@ interface MRT_RowModel<TData extends Record<string, any>> {
261
261
  [key: string]: MRT_Row<TData>;
262
262
  };
263
263
  }
264
- type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TData>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getHeaderGroups' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
264
+ type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TData>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getBottomRows' | 'getCenterLeafColumns' | 'getCenterRows' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getHeaderGroups' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'getTopRows' | 'options'> & {
265
265
  getAllColumns: () => MRT_Column<TData>[];
266
266
  getAllFlatColumns: () => MRT_Column<TData>[];
267
267
  getAllLeafColumns: () => MRT_Column<TData>[];
268
+ getBottomRows: () => MRT_Row<TData>[];
268
269
  getCenterLeafColumns: () => MRT_Column<TData>[];
270
+ getCenterRows: () => MRT_Row<TData>[];
269
271
  getColumn: (columnId: string) => MRT_Column<TData>;
270
272
  getExpandedRowModel: () => MRT_RowModel<TData>;
271
273
  getFlatHeaders: () => MRT_Header<TData>[];
@@ -278,6 +280,7 @@ type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TData>, '
278
280
  getRowModel: () => MRT_RowModel<TData>;
279
281
  getSelectedRowModel: () => MRT_RowModel<TData>;
280
282
  getState: () => MRT_TableState<TData>;
283
+ getTopRows: () => MRT_Row<TData>[];
281
284
  options: MRT_DefinedTableOptions<TData>;
282
285
  refs: {
283
286
  bottomToolbarRef: MutableRefObject<HTMLDivElement>;
@@ -285,24 +288,26 @@ type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TData>, '
285
288
  filterInputRefs: MutableRefObject<Record<string, HTMLInputElement>>;
286
289
  searchInputRef: MutableRefObject<HTMLInputElement>;
287
290
  tableContainerRef: MutableRefObject<HTMLDivElement>;
291
+ tableFooterRef: MutableRefObject<HTMLTableSectionElement>;
288
292
  tableHeadCellRefs: MutableRefObject<Record<string, HTMLTableCellElement>>;
293
+ tableHeadRef: MutableRefObject<HTMLTableSectionElement>;
289
294
  tablePaperRef: MutableRefObject<HTMLDivElement>;
290
295
  topToolbarRef: MutableRefObject<HTMLDivElement>;
291
296
  };
292
- setCreatingRow: Dispatch<SetStateAction<MRT_Row<TData> | null | true>>;
293
297
  setColumnFilterFns: Dispatch<SetStateAction<MRT_ColumnFilterFnsState>>;
298
+ setCreatingRow: Dispatch<SetStateAction<MRT_Row<TData> | null | true>>;
294
299
  setDensity: Dispatch<SetStateAction<MRT_DensityState>>;
295
300
  setDraggingColumn: Dispatch<SetStateAction<MRT_Column<TData> | null>>;
296
301
  setDraggingRow: Dispatch<SetStateAction<MRT_Row<TData> | null>>;
297
302
  setEditingCell: Dispatch<SetStateAction<MRT_Cell<TData> | null>>;
298
303
  setEditingRow: Dispatch<SetStateAction<MRT_Row<TData> | null>>;
299
304
  setGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterOption>>;
300
- setHoveredColumn: Dispatch<SetStateAction<MRT_Column<TData> | {
305
+ setHoveredColumn: Dispatch<SetStateAction<{
301
306
  id: string;
302
- } | null>>;
303
- setHoveredRow: Dispatch<SetStateAction<MRT_Row<TData> | {
307
+ } | MRT_Column<TData> | null>>;
308
+ setHoveredRow: Dispatch<SetStateAction<{
304
309
  id: string;
305
- } | null>>;
310
+ } | MRT_Row<TData> | null>>;
306
311
  setIsFullScreen: Dispatch<SetStateAction<boolean>>;
307
312
  setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
308
313
  setShowColumnFilters: Dispatch<SetStateAction<boolean>>;
@@ -310,8 +315,8 @@ type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TData>, '
310
315
  setShowToolbarDropZone: Dispatch<SetStateAction<boolean>>;
311
316
  };
312
317
  type MRT_DefinedTableOptions<TData extends Record<string, any>> = MRT_TableOptions<TData> & {
313
- localization: MRT_Localization;
314
318
  icons: MRT_Icons;
319
+ localization: MRT_Localization;
315
320
  };
316
321
  type MRT_TableState<TData extends Record<string, any>> = TableState & {
317
322
  columnFilterFns: MRT_ColumnFilterFnsState;
@@ -322,12 +327,12 @@ type MRT_TableState<TData extends Record<string, any>> = TableState & {
322
327
  editingCell: MRT_Cell<TData> | null;
323
328
  editingRow: MRT_Row<TData> | null;
324
329
  globalFilterFn: MRT_FilterOption;
325
- hoveredColumn: MRT_Column<TData> | {
330
+ hoveredColumn: {
326
331
  id: string;
327
- } | null;
328
- hoveredRow: MRT_Row<TData> | {
332
+ } | MRT_Column<TData> | null;
333
+ hoveredRow: {
329
334
  id: string;
330
- } | null;
335
+ } | MRT_Row<TData> | null;
331
336
  isFullScreen: boolean;
332
337
  isLoading: boolean;
333
338
  isSaving: boolean;
@@ -347,8 +352,8 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
347
352
  }) => ReactNode;
348
353
  Cell?: (props: {
349
354
  cell: MRT_Cell<TData>;
350
- renderedCellValue: number | string | ReactNode;
351
355
  column: MRT_Column<TData>;
356
+ renderedCellValue: ReactNode | number | string;
352
357
  row: MRT_Row<TData>;
353
358
  rowRef?: RefObject<HTMLTableRowElement>;
354
359
  table: MRT_TableInstance<TData>;
@@ -365,22 +370,22 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
365
370
  rangeFilterIndex?: number;
366
371
  table: MRT_TableInstance<TData>;
367
372
  }) => ReactNode;
368
- Footer?: ReactNode | ((props: {
373
+ Footer?: ((props: {
369
374
  column: MRT_Column<TData>;
370
375
  footer: MRT_Header<TData>;
371
376
  table: MRT_TableInstance<TData>;
372
- }) => ReactNode);
377
+ }) => ReactNode) | ReactNode;
373
378
  GroupedCell?: (props: {
374
379
  cell: MRT_Cell<TData>;
375
380
  column: MRT_Column<TData>;
376
381
  row: MRT_Row<TData>;
377
382
  table: MRT_TableInstance<TData>;
378
383
  }) => ReactNode;
379
- Header?: ReactNode | ((props: {
384
+ Header?: ((props: {
380
385
  column: MRT_Column<TData>;
381
386
  header: MRT_Header<TData>;
382
387
  table: MRT_TableInstance<TData>;
383
- }) => ReactNode);
388
+ }) => ReactNode) | ReactNode;
384
389
  PlaceholderCell?: (props: {
385
390
  cell: MRT_Cell<TData>;
386
391
  column: MRT_Column<TData>;
@@ -402,8 +407,8 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
402
407
  * @example accessorKey: 'username' //simple
403
408
  * @example accessorKey: 'name.firstName' //deep key dot notation
404
409
  */
405
- accessorKey?: (string & {}) | DeepKeys<TData>;
406
- aggregationFn?: MRT_AggregationFn<TData> | Array<MRT_AggregationFn<TData>>;
410
+ accessorKey?: DeepKeys<TData> | (string & {});
411
+ aggregationFn?: Array<MRT_AggregationFn<TData>> | MRT_AggregationFn<TData>;
407
412
  /**
408
413
  * Specify what type of column this is. Either `data`, `display`, or `group`. Defaults to `data`.
409
414
  * Leave this blank if you are just creating a normal data column.
@@ -415,23 +420,23 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
415
420
  columnDefType?: 'data' | 'display' | 'group';
416
421
  columnFilterModeOptions?: Array<LiteralUnion<string & MRT_FilterOption>> | null;
417
422
  columns?: MRT_ColumnDef<TData>[];
418
- editSelectOptions?: (string | {
423
+ editSelectOptions?: ({
419
424
  text: string;
420
425
  value: any;
421
- })[];
422
- editVariant?: 'text' | 'select';
426
+ } | string)[];
427
+ editVariant?: 'select' | 'text';
423
428
  enableClickToCopy?: boolean;
424
429
  enableColumnActions?: boolean;
425
430
  enableColumnDragging?: boolean;
426
431
  enableColumnFilterModes?: boolean;
427
432
  enableColumnOrdering?: boolean;
428
- enableEditing?: boolean | ((row: MRT_Row<TData>) => boolean);
433
+ enableEditing?: ((row: MRT_Row<TData>) => boolean) | boolean;
429
434
  enableFilterMatchHighlighting?: boolean;
430
435
  filterFn?: MRT_FilterFn<TData>;
431
- filterSelectOptions?: (string | {
436
+ filterSelectOptions?: ({
432
437
  text: string;
433
438
  value: any;
434
- })[];
439
+ } | string)[];
435
440
  filterVariant?: 'checkbox' | 'multi-select' | 'range' | 'range-slider' | 'select' | 'text';
436
441
  /**
437
442
  * footer must be a string. If you want custom JSX to render the footer, you can also specify a `Footer` option. (Capital F)
@@ -451,53 +456,53 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
451
456
  * @default gets set to the same value as `accessorKey` by default
452
457
  */
453
458
  id?: LiteralUnion<string & keyof TData>;
454
- muiCopyButtonProps?: ButtonProps | ((props: {
455
- cell: MRT_Cell<TData>;
459
+ muiColumnActionsButtonProps?: ((props: {
456
460
  column: MRT_Column<TData>;
457
- row: MRT_Row<TData>;
458
461
  table: MRT_TableInstance<TData>;
459
- }) => ButtonProps);
460
- 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: {
461
468
  cell: MRT_Cell<TData>;
462
469
  column: MRT_Column<TData>;
463
470
  row: MRT_Row<TData>;
464
471
  table: MRT_TableInstance<TData>;
465
- }) => TextFieldProps);
466
- muiTableBodyCellProps?: TableCellProps | ((props: {
472
+ }) => ButtonProps) | ButtonProps;
473
+ muiEditTextFieldProps?: ((props: {
467
474
  cell: MRT_Cell<TData>;
468
475
  column: MRT_Column<TData>;
469
476
  row: MRT_Row<TData>;
470
477
  table: MRT_TableInstance<TData>;
471
- }) => TableCellProps);
472
- muiTableFooterCellProps?: TableCellProps | ((props: {
473
- table: MRT_TableInstance<TData>;
478
+ }) => TextFieldProps) | TextFieldProps;
479
+ muiFilterCheckboxProps?: ((props: {
474
480
  column: MRT_Column<TData>;
475
- }) => TableCellProps);
476
- muiColumnActionsButtonProps?: IconButtonProps | ((props: {
477
481
  table: MRT_TableInstance<TData>;
482
+ }) => CheckboxProps) | CheckboxProps;
483
+ muiFilterSliderProps?: ((props: {
478
484
  column: MRT_Column<TData>;
479
- }) => IconButtonProps);
480
- muiColumnDragHandleProps?: IconButtonProps | ((props: {
481
485
  table: MRT_TableInstance<TData>;
486
+ }) => SliderProps) | SliderProps;
487
+ muiFilterTextFieldProps?: ((props: {
482
488
  column: MRT_Column<TData>;
483
- }) => IconButtonProps);
484
- muiFilterCheckboxProps?: CheckboxProps | ((props: {
485
- column: MRT_Column<TData>;
486
- table: MRT_TableInstance<TData>;
487
- }) => CheckboxProps);
488
- muiFilterTextFieldProps?: TextFieldProps | ((props: {
489
+ rangeFilterIndex?: number;
489
490
  table: MRT_TableInstance<TData>;
491
+ }) => TextFieldProps) | TextFieldProps;
492
+ muiTableBodyCellProps?: ((props: {
493
+ cell: MRT_Cell<TData>;
490
494
  column: MRT_Column<TData>;
491
- rangeFilterIndex?: number;
492
- }) => TextFieldProps);
493
- muiFilterSliderProps?: SliderProps | ((props: {
495
+ row: MRT_Row<TData>;
494
496
  table: MRT_TableInstance<TData>;
497
+ }) => TableCellProps) | TableCellProps;
498
+ muiTableFooterCellProps?: ((props: {
495
499
  column: MRT_Column<TData>;
496
- }) => TextFieldProps);
497
- muiTableHeadCellProps?: TableCellProps | ((props: {
498
500
  table: MRT_TableInstance<TData>;
501
+ }) => TableCellProps) | TableCellProps;
502
+ muiTableHeadCellProps?: ((props: {
499
503
  column: MRT_Column<TData>;
500
- }) => TableCellProps);
504
+ table: MRT_TableInstance<TData>;
505
+ }) => TableCellProps) | TableCellProps;
501
506
  renderColumnActionsMenuItems?: (props: {
502
507
  closeMenu: () => void;
503
508
  column: MRT_Column<TData>;
@@ -512,12 +517,12 @@ type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TData, un
512
517
  }) => ReactNode[];
513
518
  sortingFn?: MRT_SortingFn<TData>;
514
519
  };
515
- 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;
516
522
  defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
517
523
  id: string;
518
- _filterFn: MRT_FilterOption;
519
524
  };
520
- 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'> & {
521
526
  columnDef: MRT_DefinedColumnDef<TData>;
522
527
  columns?: MRT_Column<TData>[];
523
528
  filterFn?: MRT_FilterFn<TData>;
@@ -530,11 +535,11 @@ type MRT_Header<TData extends Record<string, any>> = Omit<Header<TData, unknown>
530
535
  type MRT_HeaderGroup<TData extends Record<string, any>> = Omit<HeaderGroup<TData>, 'headers'> & {
531
536
  headers: MRT_Header<TData>[];
532
537
  };
533
- 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>;
534
540
  getAllCells: () => MRT_Cell<TData>[];
535
541
  getVisibleCells: () => MRT_Cell<TData>[];
536
542
  subRows?: MRT_Row<TData>[];
537
- _valuesCache: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
538
543
  };
539
544
  type MRT_Cell<TData extends Record<string, any>> = Omit<Cell<TData, unknown>, 'column' | 'row'> & {
540
545
  column: MRT_Column<TData>;
@@ -543,16 +548,16 @@ type MRT_Cell<TData extends Record<string, any>> = Omit<Cell<TData, unknown>, 'c
543
548
  type MRT_AggregationOption = string & keyof typeof MRT_AggregationFns;
544
549
  type MRT_AggregationFn<TData extends Record<string, any>> = AggregationFn<TData> | MRT_AggregationOption;
545
550
  type MRT_SortingOption = LiteralUnion<string & keyof typeof MRT_SortingFns>;
546
- 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>;
547
552
  type MRT_FilterOption = LiteralUnion<string & keyof typeof MRT_FilterFns>;
548
553
  type MRT_FilterFn<TData extends Record<string, any>> = FilterFn<TData> | MRT_FilterOption;
549
554
  type MRT_InternalFilterOption = {
555
+ divider: boolean;
556
+ label: string;
550
557
  option: string;
551
558
  symbol: string;
552
- label: string;
553
- divider: boolean;
554
559
  };
555
- type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand' | 'mrt-row-numbers' | 'mrt-row-select';
560
+ type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand' | 'mrt-row-numbers' | 'mrt-row-pin' | 'mrt-row-select';
556
561
  /**
557
562
  * `columns` and `data` props are the only required props, but there are over 170 other optional props.
558
563
  *
@@ -563,7 +568,12 @@ type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand
563
568
  * @link https://www.material-react-table.com/docs/api/props
564
569
  */
565
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';
566
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>>;
567
577
  /**
568
578
  * The columns to display in the table. `accessorKey`s or `accessorFn`s must match keys in the `data` prop.
569
579
  *
@@ -575,10 +585,7 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
575
585
  * @link https://www.material-react-table.com/docs/api/column-options
576
586
  */
577
587
  columns: MRT_ColumnDef<TData>[];
578
- columnVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableCellElement> | null>;
579
- columnVirtualizerOptions?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>> | ((props: {
580
- table: MRT_TableInstance<TData>;
581
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableCellElement>>);
588
+ createDisplayMode?: 'custom' | 'modal' | 'row';
582
589
  /**
583
590
  * Pass your data as an array of objects. Objects can theoretically be any shape, but it's best to keep them consistent.
584
591
  *
@@ -597,11 +604,7 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
597
604
  displayColumnDefOptions?: Partial<{
598
605
  [key in MRT_DisplayColumnIds]: Partial<MRT_ColumnDef<TData>>;
599
606
  }>;
600
- createDisplayMode?: 'modal' | 'row' | 'custom';
601
- editDisplayMode?: 'modal' | 'row' | 'cell' | 'table' | 'custom';
602
- columnFilterDisplayMode?: 'subheader' | 'popover' | 'custom';
603
- paginationDisplayMode?: 'default' | 'pages' | 'custom';
604
- selectDisplayMode?: 'checkbox' | 'radio' | 'switch';
607
+ editDisplayMode?: 'cell' | 'custom' | 'modal' | 'row' | 'table';
605
608
  enableBottomToolbar?: boolean;
606
609
  enableClickToCopy?: boolean;
607
610
  enableColumnActions?: boolean;
@@ -610,7 +613,7 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
610
613
  enableColumnOrdering?: boolean;
611
614
  enableColumnVirtualization?: boolean;
612
615
  enableDensityToggle?: boolean;
613
- enableEditing?: boolean | ((row: MRT_Row<TData>) => boolean);
616
+ enableEditing?: ((row: MRT_Row<TData>) => boolean) | boolean;
614
617
  enableExpandAll?: boolean;
615
618
  enableFacetedValues?: boolean;
616
619
  enableFilterMatchHighlighting?: boolean;
@@ -622,7 +625,7 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
622
625
  enableRowDragging?: boolean;
623
626
  enableRowNumbers?: boolean;
624
627
  enableRowOrdering?: boolean;
625
- enableRowSelection?: boolean | ((row: MRT_Row<TData>) => boolean);
628
+ enableRowSelection?: ((row: MRT_Row<TData>) => boolean) | boolean;
626
629
  enableRowVirtualization?: boolean;
627
630
  enableSelectAll?: boolean;
628
631
  enableStickyFooter?: boolean;
@@ -640,7 +643,7 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
640
643
  /**
641
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
642
645
  */
643
- layoutMode?: 'semantic' | 'grid';
646
+ layoutMode?: 'grid' | 'semantic';
644
647
  /**
645
648
  * Pass in either a locale imported from `material-react-table/locales/*` or a custom locale object.
646
649
  *
@@ -655,143 +658,146 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
655
658
  * @link https://www.material-react-table.com/docs/guides/memoize-components
656
659
  */
657
660
  memoMode?: 'cells' | 'rows' | 'table-body';
658
- muiBottomToolbarProps?: ToolbarProps | ((props: {
661
+ muiBottomToolbarProps?: ((props: {
659
662
  table: MRT_TableInstance<TData>;
660
- }) => ToolbarProps);
661
- muiExpandAllButtonProps?: IconButtonProps | ((props: {
663
+ }) => ToolbarProps) | ToolbarProps;
664
+ muiColumnActionsButtonProps?: ((props: {
665
+ column: MRT_Column<TData>;
662
666
  table: MRT_TableInstance<TData>;
663
- }) => IconButtonProps);
664
- muiExpandButtonProps?: IconButtonProps | ((props: {
667
+ }) => IconButtonProps) | IconButtonProps;
668
+ muiColumnDragHandleProps?: ((props: {
669
+ column: MRT_Column<TData>;
665
670
  table: MRT_TableInstance<TData>;
671
+ }) => IconButtonProps) | IconButtonProps;
672
+ muiCopyButtonProps?: ((props: {
673
+ cell: MRT_Cell<TData>;
674
+ column: MRT_Column<TData>;
666
675
  row: MRT_Row<TData>;
667
- }) => IconButtonProps);
668
- muiLinearProgressProps?: LinearProgressProps | ((props: {
669
- isTopToolbar: boolean;
670
- table: MRT_TableInstance<TData>;
671
- }) => LinearProgressProps);
672
- muiSearchTextFieldProps?: TextFieldProps | ((props: {
673
676
  table: MRT_TableInstance<TData>;
674
- }) => TextFieldProps);
675
- muiSelectAllCheckboxProps?: CheckboxProps | ((props: {
677
+ }) => ButtonProps) | ButtonProps;
678
+ muiCreateRowModalProps?: ((props: {
679
+ row: MRT_Row<TData>;
676
680
  table: MRT_TableInstance<TData>;
677
- }) => CheckboxProps);
678
- muiSelectCheckboxProps?: (CheckboxProps | RadioProps) | ((props: {
681
+ }) => DialogProps) | DialogProps;
682
+ muiDetailPanelProps?: ((props: {
683
+ row: MRT_Row<TData>;
679
684
  table: MRT_TableInstance<TData>;
685
+ }) => TableCellProps) | TableCellProps;
686
+ muiEditRowModalProps?: ((props: {
680
687
  row: MRT_Row<TData>;
681
- }) => CheckboxProps | RadioProps);
682
- muiCopyButtonProps?: ButtonProps | ((props: {
688
+ table: MRT_TableInstance<TData>;
689
+ }) => DialogProps) | DialogProps;
690
+ muiEditTextFieldProps?: ((props: {
683
691
  cell: MRT_Cell<TData>;
684
692
  column: MRT_Column<TData>;
685
693
  row: MRT_Row<TData>;
686
694
  table: MRT_TableInstance<TData>;
687
- }) => ButtonProps);
688
- muiEditTextFieldProps?: TextFieldProps | ((props: {
689
- cell: MRT_Cell<TData>;
690
- column: MRT_Column<TData>;
695
+ }) => TextFieldProps) | TextFieldProps;
696
+ muiExpandAllButtonProps?: ((props: {
697
+ table: MRT_TableInstance<TData>;
698
+ }) => IconButtonProps) | IconButtonProps;
699
+ muiExpandButtonProps?: ((props: {
691
700
  row: MRT_Row<TData>;
692
701
  table: MRT_TableInstance<TData>;
693
- }) => TextFieldProps);
694
- muiTableBodyCellProps?: TableCellProps | ((props: {
695
- cell: MRT_Cell<TData>;
702
+ }) => IconButtonProps) | IconButtonProps;
703
+ muiFilterCheckboxProps?: ((props: {
696
704
  column: MRT_Column<TData>;
697
- row: MRT_Row<TData>;
698
705
  table: MRT_TableInstance<TData>;
699
- }) => TableCellProps);
700
- muiSkeletonProps?: SkeletonProps | ((props: {
701
- cell: MRT_Cell<TData>;
706
+ }) => CheckboxProps) | CheckboxProps;
707
+ muiFilterSliderProps?: ((props: {
702
708
  column: MRT_Column<TData>;
703
- row: MRT_Row<TData>;
704
709
  table: MRT_TableInstance<TData>;
705
- }) => SkeletonProps);
706
- muiTableBodyProps?: TableBodyProps | ((props: {
710
+ }) => SliderProps) | SliderProps;
711
+ muiFilterTextFieldProps?: ((props: {
712
+ column: MRT_Column<TData>;
713
+ rangeFilterIndex?: number;
707
714
  table: MRT_TableInstance<TData>;
708
- }) => TableBodyProps);
709
- muiRowDragHandleProps?: IconButtonProps | ((props: {
715
+ }) => TextFieldProps) | TextFieldProps;
716
+ muiLinearProgressProps?: ((props: {
717
+ isTopToolbar: boolean;
710
718
  table: MRT_TableInstance<TData>;
719
+ }) => LinearProgressProps) | LinearProgressProps;
720
+ muiRowDragHandleProps?: ((props: {
711
721
  row: MRT_Row<TData>;
712
- }) => IconButtonProps);
713
- muiTableBodyRowProps?: TableRowProps | ((props: {
714
- isDetailPanel?: boolean;
715
- row: MRT_Row<TData>;
716
- staticRowIndex: number;
717
722
  table: MRT_TableInstance<TData>;
718
- }) => TableRowProps);
719
- muiTableContainerProps?: TableContainerProps | ((props: {
723
+ }) => IconButtonProps) | IconButtonProps;
724
+ muiSearchTextFieldProps?: ((props: {
720
725
  table: MRT_TableInstance<TData>;
721
- }) => TableContainerProps);
722
- muiDetailPanelProps?: TableCellProps | ((props: {
726
+ }) => TextFieldProps) | TextFieldProps;
727
+ muiSelectAllCheckboxProps?: ((props: {
723
728
  table: MRT_TableInstance<TData>;
729
+ }) => CheckboxProps) | CheckboxProps;
730
+ muiSelectCheckboxProps?: ((props: {
724
731
  row: MRT_Row<TData>;
725
- }) => TableCellProps);
726
- muiTableFooterCellProps?: TableCellProps | ((props: {
727
732
  table: MRT_TableInstance<TData>;
733
+ }) => CheckboxProps | RadioProps) | (CheckboxProps | RadioProps);
734
+ muiSkeletonProps?: ((props: {
735
+ cell: MRT_Cell<TData>;
728
736
  column: MRT_Column<TData>;
729
- }) => TableCellProps);
730
- muiTableFooterProps?: TableFooterProps | ((props: {
731
- table: MRT_TableInstance<TData>;
732
- }) => TableFooterProps);
733
- muiTableFooterRowProps?: TableRowProps | ((props: {
734
- table: MRT_TableInstance<TData>;
735
- footerGroup: MRT_HeaderGroup<TData>;
736
- }) => TableRowProps);
737
- muiColumnActionsButtonProps?: IconButtonProps | ((props: {
737
+ row: MRT_Row<TData>;
738
738
  table: MRT_TableInstance<TData>;
739
+ }) => SkeletonProps) | SkeletonProps;
740
+ muiTableBodyCellProps?: ((props: {
741
+ cell: MRT_Cell<TData>;
739
742
  column: MRT_Column<TData>;
740
- }) => IconButtonProps);
741
- muiColumnDragHandleProps?: IconButtonProps | ((props: {
743
+ row: MRT_Row<TData>;
742
744
  table: MRT_TableInstance<TData>;
743
- column: MRT_Column<TData>;
744
- }) => IconButtonProps);
745
- muiFilterCheckboxProps?: CheckboxProps | ((props: {
746
- column: MRT_Column<TData>;
745
+ }) => TableCellProps) | TableCellProps;
746
+ muiTableBodyProps?: ((props: {
747
747
  table: MRT_TableInstance<TData>;
748
- }) => CheckboxProps);
749
- muiFilterTextFieldProps?: TextFieldProps | ((props: {
748
+ }) => TableBodyProps) | TableBodyProps;
749
+ muiTableBodyRowProps?: ((props: {
750
+ isDetailPanel?: boolean;
751
+ row: MRT_Row<TData>;
752
+ staticRowIndex: number;
750
753
  table: MRT_TableInstance<TData>;
751
- column: MRT_Column<TData>;
752
- rangeFilterIndex?: number;
753
- }) => TextFieldProps);
754
- muiFilterSliderProps?: SliderProps | ((props: {
754
+ }) => TableRowProps) | TableRowProps;
755
+ muiTableContainerProps?: ((props: {
755
756
  table: MRT_TableInstance<TData>;
757
+ }) => TableContainerProps) | TableContainerProps;
758
+ muiTableFooterCellProps?: ((props: {
756
759
  column: MRT_Column<TData>;
757
- }) => TextFieldProps);
758
- muiCreateRowModalProps?: DialogProps | ((props: {
759
- row: MRT_Row<TData>;
760
760
  table: MRT_TableInstance<TData>;
761
- }) => DialogProps);
762
- muiEditRowModalProps?: DialogProps | ((props: {
763
- row: MRT_Row<TData>;
761
+ }) => TableCellProps) | TableCellProps;
762
+ muiTableFooterProps?: ((props: {
764
763
  table: MRT_TableInstance<TData>;
765
- }) => DialogProps);
766
- muiTableHeadCellProps?: TableCellProps | ((props: {
764
+ }) => TableFooterProps) | TableFooterProps;
765
+ muiTableFooterRowProps?: ((props: {
766
+ footerGroup: MRT_HeaderGroup<TData>;
767
767
  table: MRT_TableInstance<TData>;
768
+ }) => TableRowProps) | TableRowProps;
769
+ muiTableHeadCellProps?: ((props: {
768
770
  column: MRT_Column<TData>;
769
- }) => TableCellProps);
770
- muiTableHeadProps?: TableHeadProps | ((props: {
771
771
  table: MRT_TableInstance<TData>;
772
- }) => TableHeadProps);
773
- muiTableHeadRowProps?: TableRowProps | ((props: {
772
+ }) => TableCellProps) | TableCellProps;
773
+ muiTableHeadProps?: ((props: {
774
774
  table: MRT_TableInstance<TData>;
775
+ }) => TableHeadProps) | TableHeadProps;
776
+ muiTableHeadRowProps?: ((props: {
775
777
  headerGroup: MRT_HeaderGroup<TData>;
776
- }) => TableRowProps);
777
- muiTablePaginationProps?: Partial<Omit<TablePaginationProps, 'rowsPerPage'>> | ((props: {
778
778
  table: MRT_TableInstance<TData>;
779
- }) => Partial<Omit<TablePaginationProps, 'rowsPerPage'>>);
780
- 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: {
781
784
  table: MRT_TableInstance<TData>;
782
- }) => PaperProps);
783
- muiTableProps?: TableProps | ((props: {
785
+ }) => PaperProps) | PaperProps;
786
+ muiTableProps?: ((props: {
784
787
  table: MRT_TableInstance<TData>;
785
- }) => TableProps);
786
- muiToolbarAlertBannerChipProps?: ChipProps | ((props: {
788
+ }) => TableProps) | TableProps;
789
+ muiToolbarAlertBannerChipProps?: ((props: {
787
790
  table: MRT_TableInstance<TData>;
788
- }) => ChipProps);
789
- muiToolbarAlertBannerProps?: AlertProps | ((props: {
791
+ }) => ChipProps) | ChipProps;
792
+ muiToolbarAlertBannerProps?: ((props: {
790
793
  table: MRT_TableInstance<TData>;
791
- }) => AlertProps);
792
- muiTopToolbarProps?: ToolbarProps | ((props: {
794
+ }) => AlertProps) | AlertProps;
795
+ muiTopToolbarProps?: ((props: {
793
796
  table: MRT_TableInstance<TData>;
794
- }) => ToolbarProps);
797
+ }) => ToolbarProps) | ToolbarProps;
798
+ onColumnFilterFnsChange?: OnChangeFn<{
799
+ [key: string]: MRT_FilterOption;
800
+ }>;
795
801
  onCreatingRowCancel?: (props: {
796
802
  row: MRT_Row<TData>;
797
803
  table: MRT_TableInstance<TData>;
@@ -803,9 +809,6 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
803
809
  table: MRT_TableInstance<TData>;
804
810
  values: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
805
811
  }) => void;
806
- onColumnFilterFnsChange?: OnChangeFn<{
807
- [key: string]: MRT_FilterOption;
808
- }>;
809
812
  onDensityChange?: OnChangeFn<MRT_DensityState>;
810
813
  onDraggingColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
811
814
  onDraggingRowChange?: OnChangeFn<MRT_Row<TData> | null>;
@@ -822,42 +825,33 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
822
825
  values: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
823
826
  }) => Promise<void> | void;
824
827
  onGlobalFilterFnChange?: OnChangeFn<MRT_FilterOption>;
825
- onHoveredColumnChange?: OnChangeFn<MRT_Column<TData> | {
828
+ onHoveredColumnChange?: OnChangeFn<{
826
829
  id: string;
827
- } | null>;
828
- onHoveredRowChange?: OnChangeFn<MRT_Row<TData> | {
830
+ } | MRT_Column<TData> | null>;
831
+ onHoveredRowChange?: OnChangeFn<{
829
832
  id: string;
830
- } | null>;
833
+ } | MRT_Row<TData> | null>;
831
834
  onIsFullScreenChange?: OnChangeFn<boolean>;
832
835
  onShowAlertBannerChange?: OnChangeFn<boolean>;
833
836
  onShowColumnFiltersChange?: OnChangeFn<boolean>;
834
837
  onShowGlobalFilterChange?: OnChangeFn<boolean>;
835
838
  onShowToolbarDropZoneChange?: OnChangeFn<boolean>;
839
+ paginationDisplayMode?: 'custom' | 'default' | 'pages';
836
840
  positionActionsColumn?: 'first' | 'last';
837
841
  positionExpandColumn?: 'first' | 'last';
838
- positionGlobalFilter?: 'left' | 'right' | 'none';
839
- positionPagination?: 'bottom' | 'top' | 'both' | 'none';
840
- positionToolbarAlertBanner?: 'bottom' | 'top' | 'none';
841
- positionToolbarDropZone?: 'bottom' | 'top' | 'none' | 'both';
842
- 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: {
843
847
  table: MRT_TableInstance<TData>;
844
- }) => ReactNode);
848
+ }) => ReactNode) | ReactNode;
845
849
  renderBottomToolbarCustomActions?: (props: {
846
850
  table: MRT_TableInstance<TData>;
847
851
  }) => ReactNode;
848
- renderCreateRowModalContent?: (props: {
849
- internalEditComponents: ReactNode[];
850
- row: MRT_Row<TData>;
851
- table: MRT_TableInstance<TData>;
852
- }) => ReactNode;
853
- renderEditRowModalContent?: (props: {
854
- internalEditComponents: ReactNode[];
855
- row: MRT_Row<TData>;
856
- table: MRT_TableInstance<TData>;
857
- }) => ReactNode;
858
852
  renderColumnActionsMenuItems?: (props: {
859
- column: MRT_Column<TData>;
860
853
  closeMenu: () => void;
854
+ column: MRT_Column<TData>;
861
855
  internalColumnMenuItems: ReactNode[];
862
856
  table: MRT_TableInstance<TData>;
863
857
  }) => ReactNode[];
@@ -867,18 +861,28 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
867
861
  onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
868
862
  table: MRT_TableInstance<TData>;
869
863
  }) => ReactNode[];
864
+ renderCreateRowModalContent?: (props: {
865
+ internalEditComponents: ReactNode[];
866
+ row: MRT_Row<TData>;
867
+ table: MRT_TableInstance<TData>;
868
+ }) => ReactNode;
870
869
  renderDetailPanel?: (props: {
871
870
  row: MRT_Row<TData>;
872
871
  table: MRT_TableInstance<TData>;
873
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;
874
881
  renderGlobalFilterModeMenuItems?: (props: {
875
882
  internalFilterOptions: MRT_InternalFilterOption[];
876
883
  onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
877
884
  table: MRT_TableInstance<TData>;
878
885
  }) => ReactNode[];
879
- renderEmptyRowsFallback?: (props: {
880
- table: MRT_TableInstance<TData>;
881
- }) => ReactNode;
882
886
  renderRowActionMenuItems?: (props: {
883
887
  closeMenu: () => void;
884
888
  row: MRT_Row<TData>;
@@ -892,19 +896,21 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
892
896
  renderToolbarInternalActions?: (props: {
893
897
  table: MRT_TableInstance<TData>;
894
898
  }) => ReactNode;
895
- renderTopToolbar?: ReactNode | ((props: {
899
+ renderTopToolbar?: ((props: {
896
900
  table: MRT_TableInstance<TData>;
897
- }) => ReactNode);
901
+ }) => ReactNode) | ReactNode;
898
902
  renderTopToolbarCustomActions?: (props: {
899
903
  table: MRT_TableInstance<TData>;
900
904
  }) => ReactNode;
901
905
  rowCount?: number;
902
906
  rowNumberMode?: 'original' | 'static';
907
+ rowPinningDisplayMode?: 'bottom' | 'select-bottom' | 'select-sticky' | 'select-top' | 'sticky' | 'top' | 'top-and-bottom';
903
908
  rowVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableRowElement> | null>;
904
- rowVirtualizerOptions?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | ((props: {
909
+ rowVirtualizerOptions?: ((props: {
905
910
  table: MRT_TableInstance<TData>;
906
- }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
911
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>) | Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>;
907
912
  selectAllMode?: 'all' | 'page';
913
+ selectDisplayMode?: 'checkbox' | 'radio' | 'switch';
908
914
  /**
909
915
  * Manage state externally any way you want, then pass it back into MRT.
910
916
  */
@@ -914,20 +920,20 @@ type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<TableOpt
914
920
  type TableInstanceProp<TData extends Record<string, any> = {}> = {
915
921
  table: MRT_TableInstance<TData>;
916
922
  };
917
- type Props$R<TData extends Record<string, any> = {}> = Xor<TableInstanceProp<TData>, MRT_TableOptions<TData>>;
918
- declare const MaterialReactTable: <TData extends Record<string, any> = {}>(props: Props$R<TData>) => react_jsx_runtime.JSX.Element;
923
+ type Props$T<TData extends Record<string, any> = {}> = Xor<TableInstanceProp<TData>, MRT_TableOptions<TData>>;
924
+ declare const MaterialReactTable: <TData extends Record<string, any> = {}>(props: Props$T<TData>) => react_jsx_runtime.JSX.Element;
919
925
 
920
- interface Props$Q<TData extends Record<string, any>> {
926
+ interface Props$S<TData extends Record<string, any>> {
921
927
  columnVirtualizer?: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
922
928
  table: MRT_TableInstance<TData>;
923
929
  virtualColumns?: VirtualItem[];
924
930
  virtualPaddingLeft?: number;
925
931
  virtualPaddingRight?: number;
926
932
  }
927
- declare const MRT_TableBody: <TData extends Record<string, any>>({ columnVirtualizer, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props$Q<TData>) => react_jsx_runtime.JSX.Element;
928
- declare const Memo_MRT_TableBody: <TData extends Record<string, any>>({ columnVirtualizer, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props$Q<TData>) => react_jsx_runtime.JSX.Element;
933
+ declare const MRT_TableBody: <TData extends Record<string, any>>({ columnVirtualizer, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props$S<TData>) => react_jsx_runtime.JSX.Element;
934
+ declare const Memo_MRT_TableBody: <TData extends Record<string, any>>({ columnVirtualizer, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }: Props$S<TData>) => react_jsx_runtime.JSX.Element;
929
935
 
930
- interface Props$P<TData extends Record<string, any>> {
936
+ interface Props$R<TData extends Record<string, any>> {
931
937
  cell: MRT_Cell<TData>;
932
938
  measureElement?: (element: HTMLTableCellElement) => void;
933
939
  numRows: number;
@@ -936,19 +942,20 @@ interface Props$P<TData extends Record<string, any>> {
936
942
  table: MRT_TableInstance<TData>;
937
943
  virtualCell?: VirtualItem;
938
944
  }
939
- declare const MRT_TableBodyCell: <TData extends Record<string, any>>({ cell, measureElement, numRows, rowIndex, rowRef, table, virtualCell, }: Props$P<TData>) => react_jsx_runtime.JSX.Element;
940
- declare const Memo_MRT_TableBodyCell: <TData extends Record<string, any>>({ cell, measureElement, numRows, rowIndex, rowRef, table, virtualCell, }: Props$P<TData>) => react_jsx_runtime.JSX.Element;
945
+ declare const MRT_TableBodyCell: <TData extends Record<string, any>>({ cell, measureElement, numRows, rowIndex, rowRef, table, virtualCell, }: Props$R<TData>) => react_jsx_runtime.JSX.Element;
946
+ declare const Memo_MRT_TableBodyCell: <TData extends Record<string, any>>({ cell, measureElement, numRows, rowIndex, rowRef, table, virtualCell, }: Props$R<TData>) => react_jsx_runtime.JSX.Element;
941
947
 
942
- interface Props$O<TData extends Record<string, any>> {
948
+ interface Props$Q<TData extends Record<string, any>> {
943
949
  cell: MRT_Cell<TData>;
944
950
  table: MRT_TableInstance<TData>;
945
951
  }
946
- declare const MRT_TableBodyCellValue: <TData extends Record<string, any>>({ cell, table, }: Props$O<TData>) => react_jsx_runtime.JSX.Element;
952
+ declare const MRT_TableBodyCellValue: <TData extends Record<string, any>>({ cell, table, }: Props$Q<TData>) => react_jsx_runtime.JSX.Element;
947
953
 
948
- interface Props$N<TData extends Record<string, any>> {
954
+ interface Props$P<TData extends Record<string, any>> {
949
955
  columnVirtualizer?: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
950
956
  measureElement?: (element: HTMLTableRowElement) => void;
951
957
  numRows: number;
958
+ pinnedRowIds?: string[];
952
959
  row: MRT_Row<TData>;
953
960
  rowIndex: number;
954
961
  table: MRT_TableInstance<TData>;
@@ -957,83 +964,96 @@ interface Props$N<TData extends Record<string, any>> {
957
964
  virtualPaddingRight?: number;
958
965
  virtualRow?: VirtualItem;
959
966
  }
960
- declare const MRT_TableBodyRow: <TData extends Record<string, any>>({ columnVirtualizer, measureElement, numRows, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props$N<TData>) => react_jsx_runtime.JSX.Element;
961
- declare const Memo_MRT_TableBodyRow: <TData extends Record<string, any>>({ columnVirtualizer, measureElement, numRows, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props$N<TData>) => react_jsx_runtime.JSX.Element;
967
+ declare const MRT_TableBodyRow: <TData extends Record<string, any>>({ columnVirtualizer, measureElement, numRows, pinnedRowIds, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props$P<TData>) => react_jsx_runtime.JSX.Element;
968
+ declare const Memo_MRT_TableBodyRow: <TData extends Record<string, any>>({ columnVirtualizer, measureElement, numRows, pinnedRowIds, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }: Props$P<TData>) => react_jsx_runtime.JSX.Element;
962
969
 
963
- interface Props$M<TData extends Record<string, any>> {
970
+ interface Props$O<TData extends Record<string, any>> {
964
971
  row: MRT_Row<TData>;
965
972
  rowRef: RefObject<HTMLTableRowElement>;
966
973
  table: MRT_TableInstance<TData>;
967
974
  }
968
- declare const MRT_TableBodyRowGrabHandle: <TData extends Record<string, any>>({ row, rowRef, table, }: Props$M<TData>) => react_jsx_runtime.JSX.Element;
975
+ declare const MRT_TableBodyRowGrabHandle: <TData extends Record<string, any>>({ row, rowRef, table, }: Props$O<TData>) => react_jsx_runtime.JSX.Element;
969
976
 
970
- interface Props$L<TData extends Record<string, any>> {
977
+ interface Props$N<TData extends Record<string, any>> {
978
+ row: MRT_Row<TData>;
979
+ table: MRT_TableInstance<TData>;
980
+ }
981
+ declare const MRT_TableBodyRowPinButton: <TData extends Record<string, any>>({ row, table, }: Props$N<TData>) => react_jsx_runtime.JSX.Element | null;
982
+
983
+ interface Props$M<TData extends Record<string, any>> {
971
984
  parentRowRef: RefObject<HTMLTableRowElement>;
972
985
  row: MRT_Row<TData>;
973
986
  rowIndex: number;
974
987
  table: MRT_TableInstance<TData>;
975
988
  virtualRow?: VirtualItem;
976
989
  }
977
- declare const MRT_TableDetailPanel: <TData extends Record<string, any>>({ parentRowRef, row, rowIndex, table, virtualRow, }: Props$L<TData>) => react_jsx_runtime.JSX.Element;
990
+ declare const MRT_TableDetailPanel: <TData extends Record<string, any>>({ parentRowRef, row, rowIndex, table, virtualRow, }: Props$M<TData>) => react_jsx_runtime.JSX.Element;
978
991
 
979
- interface Props$K<TData extends Record<string, any>> {
992
+ interface Props$L<TData extends Record<string, any>> {
980
993
  column: MRT_Column<TData>;
981
994
  table: MRT_TableInstance<TData>;
982
995
  }
983
- declare const MRT_ColumnPinningButtons: <TData extends Record<string, any>>({ column, table, }: Props$K<TData>) => react_jsx_runtime.JSX.Element;
996
+ declare const MRT_ColumnPinningButtons: <TData extends Record<string, any>>({ column, table, }: Props$L<TData>) => react_jsx_runtime.JSX.Element;
984
997
 
985
- interface Props$J<TData extends Record<string, any>> {
998
+ interface Props$K<TData extends Record<string, any>> {
986
999
  cell: MRT_Cell<TData>;
987
1000
  children: ReactNode;
988
1001
  table: MRT_TableInstance<TData>;
989
1002
  }
990
- declare const MRT_CopyButton: <TData extends Record<string, any>>({ cell, children, table, }: Props$J<TData>) => react_jsx_runtime.JSX.Element;
1003
+ declare const MRT_CopyButton: <TData extends Record<string, any>>({ cell, children, table, }: Props$K<TData>) => react_jsx_runtime.JSX.Element;
991
1004
 
992
- interface Props$I<TData extends Record<string, any>> {
1005
+ interface Props$J<TData extends Record<string, any>> {
993
1006
  row: MRT_Row<TData>;
994
1007
  table: MRT_TableInstance<TData>;
995
1008
  variant?: 'icon' | 'text';
996
1009
  }
997
- declare const MRT_EditActionButtons: <TData extends Record<string, any>>({ row, table, variant, }: Props$I<TData>) => react_jsx_runtime.JSX.Element;
1010
+ declare const MRT_EditActionButtons: <TData extends Record<string, any>>({ row, table, variant, }: Props$J<TData>) => react_jsx_runtime.JSX.Element;
1011
+
1012
+ interface Props$I<TData extends Record<string, any>> {
1013
+ table: MRT_TableInstance<TData>;
1014
+ }
1015
+ declare const MRT_ExpandAllButton: <TData extends Record<string, any>>({ table, }: Props$I<TData>) => react_jsx_runtime.JSX.Element;
998
1016
 
999
1017
  interface Props$H<TData extends Record<string, any>> {
1018
+ row: MRT_Row<TData>;
1000
1019
  table: MRT_TableInstance<TData>;
1001
1020
  }
1002
- declare const MRT_ExpandAllButton: <TData extends Record<string, any>>({ table, }: Props$H<TData>) => react_jsx_runtime.JSX.Element;
1021
+ declare const MRT_ExpandButton: <TData extends Record<string, any>>({ row, table, }: Props$H<TData>) => react_jsx_runtime.JSX.Element;
1003
1022
 
1004
1023
  interface Props$G<TData extends Record<string, any>> {
1005
- row: MRT_Row<TData>;
1024
+ iconButtonProps?: IconButtonProps;
1025
+ onDragEnd: DragEventHandler<HTMLButtonElement>;
1026
+ onDragStart: DragEventHandler<HTMLButtonElement>;
1006
1027
  table: MRT_TableInstance<TData>;
1007
1028
  }
1008
- declare const MRT_ExpandButton: <TData extends Record<string, any>>({ row, table, }: Props$G<TData>) => react_jsx_runtime.JSX.Element;
1029
+ declare const MRT_GrabHandleButton: <TData extends Record<string, any>>({ iconButtonProps, onDragEnd, onDragStart, table, }: Props$G<TData>) => react_jsx_runtime.JSX.Element;
1009
1030
 
1010
- interface Props$F<TData extends Record<string, any>> extends IconButtonProps {
1031
+ interface Props$F<TData extends Record<string, any>> {
1032
+ pinningPosition: RowPinningPosition;
1033
+ row: MRT_Row<TData>;
1011
1034
  table: MRT_TableInstance<TData>;
1012
1035
  }
1013
- declare const MRT_ToggleFullScreenButton: <TData extends Record<string, any>>({ table, ...rest }: 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;
1014
1037
 
1015
- interface Props$E<TData extends Record<string, any>> {
1016
- iconButtonProps?: IconButtonProps;
1017
- onDragStart: DragEventHandler<HTMLButtonElement>;
1018
- onDragEnd: DragEventHandler<HTMLButtonElement>;
1038
+ interface Props$E<TData extends Record<string, any>> extends IconButtonProps {
1019
1039
  table: MRT_TableInstance<TData>;
1020
1040
  }
1021
- declare const MRT_GrabHandleButton: <TData extends Record<string, any>>({ iconButtonProps, onDragEnd, onDragStart, table, }: Props$E<TData>) => react_jsx_runtime.JSX.Element;
1041
+ declare const MRT_ShowHideColumnsButton: <TData extends Record<string, any>>({ table, ...rest }: Props$E<TData>) => react_jsx_runtime.JSX.Element;
1022
1042
 
1023
1043
  interface Props$D<TData extends Record<string, any>> extends IconButtonProps {
1024
1044
  table: MRT_TableInstance<TData>;
1025
1045
  }
1026
- declare const MRT_ShowHideColumnsButton: <TData extends Record<string, any>>({ table, ...rest }: Props$D<TData>) => react_jsx_runtime.JSX.Element;
1046
+ declare const MRT_ToggleDensePaddingButton: <TData extends Record<string, any>>({ table, ...rest }: Props$D<TData>) => react_jsx_runtime.JSX.Element;
1027
1047
 
1028
1048
  interface Props$C<TData extends Record<string, any>> extends IconButtonProps {
1029
1049
  table: MRT_TableInstance<TData>;
1030
1050
  }
1031
- declare const MRT_ToggleDensePaddingButton: <TData extends Record<string, any>>({ table, ...rest }: Props$C<TData>) => react_jsx_runtime.JSX.Element;
1051
+ declare const MRT_ToggleFiltersButton: <TData extends Record<string, any>>({ table, ...rest }: Props$C<TData>) => react_jsx_runtime.JSX.Element;
1032
1052
 
1033
1053
  interface Props$B<TData extends Record<string, any>> extends IconButtonProps {
1034
1054
  table: MRT_TableInstance<TData>;
1035
1055
  }
1036
- declare const MRT_ToggleFiltersButton: <TData extends Record<string, any>>({ table, ...rest }: Props$B<TData>) => react_jsx_runtime.JSX.Element;
1056
+ declare const MRT_ToggleFullScreenButton: <TData extends Record<string, any>>({ table, ...rest }: Props$B<TData>) => react_jsx_runtime.JSX.Element;
1037
1057
 
1038
1058
  interface Props$A<TData extends Record<string, any>> extends IconButtonProps {
1039
1059
  table: MRT_TableInstance<TData>;
@@ -1163,8 +1183,8 @@ declare const getCommonCellStyles: <TData extends Record<string, any>>({ column,
1163
1183
  }) => any;
1164
1184
  declare const MRT_DefaultColumn: {
1165
1185
  readonly filterVariant: "text";
1166
- readonly minSize: 40;
1167
1186
  readonly maxSize: 1000;
1187
+ readonly minSize: 40;
1168
1188
  readonly size: 180;
1169
1189
  };
1170
1190
  declare const MRT_DefaultDisplayColumn: {
@@ -1181,8 +1201,9 @@ declare const MRT_DefaultDisplayColumn: {
1181
1201
  readonly enableResizing: false;
1182
1202
  readonly enableSorting: false;
1183
1203
  };
1204
+ declare const parseFromValuesOrFunc: <T, U>(fn: T | ((arg: U) => T) | undefined, arg: U) => T | undefined;
1184
1205
  declare const parseCSSVarId: (id: string) => string;
1185
- declare const flexRender: (Comp: Renderable<any>, props: any) => ReactNode | JSX.Element;
1206
+ declare const flexRender: (Comp: Renderable<any>, props: any) => JSX.Element | ReactNode;
1186
1207
  declare const createRow: <TData extends Record<string, any>>(table: MRT_TableInstance<TData>, originalRow?: TData | undefined) => MRT_Row<TData>;
1187
1208
 
1188
1209
  interface Props$y<TData extends Record<string, any>> {
@@ -1238,7 +1259,7 @@ interface Props$r<TData extends Record<string, any>> {
1238
1259
  header: MRT_Header<TData>;
1239
1260
  table: MRT_TableInstance<TData>;
1240
1261
  }
1241
- 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;
1242
1263
 
1243
1264
  interface Props$q<TData extends Record<string, any>> {
1244
1265
  column: MRT_Column<TData>;
@@ -1313,14 +1334,14 @@ interface Props$g<TData extends Record<string, any>> {
1313
1334
  declare const MRT_SelectCheckbox: <TData extends Record<string, any>>({ row, selectAll, table, }: Props$g<TData>) => react_jsx_runtime.JSX.Element;
1314
1335
 
1315
1336
  declare const commonMenuItemStyles: {
1316
- py: string;
1317
- my: number;
1318
- justifyContent: string;
1319
1337
  alignItems: string;
1338
+ justifyContent: string;
1339
+ my: number;
1340
+ py: string;
1320
1341
  };
1321
1342
  declare const commonListItemStyles: {
1322
- display: string;
1323
1343
  alignItems: string;
1344
+ display: string;
1324
1345
  };
1325
1346
  interface Props$f<TData extends Record<string, any>> {
1326
1347
  anchorEl: HTMLElement | null;
@@ -1365,7 +1386,7 @@ interface Props$b<TData extends Record<string, any>> {
1365
1386
  setHoveredColumn: Dispatch<SetStateAction<MRT_Column<TData> | null>>;
1366
1387
  table: MRT_TableInstance<TData>;
1367
1388
  }
1368
- 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;
1369
1390
 
1370
1391
  interface Props$a<TData extends Record<string, any>> {
1371
1392
  open: boolean;
@@ -1400,10 +1421,10 @@ interface Props$5<TData extends Record<string, any>> {
1400
1421
  declare const MRT_LinearProgressBar: <TData extends Record<string, any>>({ isTopToolbar, table, }: Props$5<TData>) => react_jsx_runtime.JSX.Element;
1401
1422
 
1402
1423
  interface Props$4<TData extends Record<string, any>> {
1403
- position?: 'top' | 'bottom';
1424
+ position?: 'bottom' | 'top';
1404
1425
  table: MRT_TableInstance<TData>;
1405
1426
  }
1406
- 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;
1407
1428
 
1408
1429
  interface Props$3<TData extends Record<string, any>> {
1409
1430
  stackAlertBanner: boolean;
@@ -1442,4 +1463,4 @@ declare const MRT_TopToolbar: <TData extends Record<string, any>>({ table, }: Pr
1442
1463
 
1443
1464
  declare const useMaterialReactTable: <TData extends Record<string, any>>(tableOptions: MRT_TableOptions<TData>) => MRT_TableInstance<TData>;
1444
1465
 
1445
- export { type LiteralUnion, type MRT_AggregationFn, MRT_AggregationFns, type MRT_AggregationOption, MRT_BottomToolbar, type MRT_Cell, type MRT_Column, MRT_ColumnActionMenu, type MRT_ColumnDef, type MRT_ColumnFilterFnsState, MRT_ColumnPinningButtons, MRT_CopyButton, MRT_DefaultColumn, MRT_DefaultDisplayColumn, type MRT_DefinedColumnDef, type MRT_DefinedTableOptions, type MRT_DensityState, type MRT_DisplayColumnIds, MRT_EditActionButtons, MRT_EditCellTextField, MRT_EditRowModal, MRT_ExpandAllButton, MRT_ExpandButton, MRT_FilterCheckbox, type MRT_FilterFn, MRT_FilterFns, type MRT_FilterOption, MRT_FilterOptionMenu, MRT_FilterRangeFields, MRT_FilterRangeSlider, MRT_FilterTextField, MRT_GlobalFilterTextField, MRT_GrabHandleButton, type MRT_Header, type MRT_HeaderGroup, type MRT_Icons, type MRT_InternalFilterOption, MRT_LinearProgressBar, type MRT_Localization, type MRT_Row, MRT_RowActionMenu, type MRT_RowModel, MRT_SelectCheckbox, MRT_ShowHideColumnsButton, MRT_ShowHideColumnsMenu, MRT_ShowHideColumnsMenuItems, type MRT_SortingFn, MRT_SortingFns, type MRT_SortingOption, MRT_Table, MRT_TableBody, MRT_TableBodyCell, MRT_TableBodyCellValue, MRT_TableBodyRow, MRT_TableBodyRowGrabHandle, MRT_TableContainer, MRT_TableDetailPanel, MRT_TableFooter, MRT_TableFooterCell, MRT_TableFooterRow, MRT_TableHead, MRT_TableHeadCell, MRT_TableHeadCellColumnActionsButton, MRT_TableHeadCellFilterContainer, MRT_TableHeadCellFilterLabel, MRT_TableHeadCellGrabHandle, MRT_TableHeadCellResizeHandle, MRT_TableHeadCellSortLabel, MRT_TableHeadRow, type MRT_TableInstance, type MRT_TableOptions, MRT_TablePagination, MRT_TablePaper, type MRT_TableState, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleFullScreenButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, MaterialReactTable, Memo_MRT_TableBody, Memo_MRT_TableBodyCell, Memo_MRT_TableBodyRow, type Prettify, type Xor, commonListItemStyles, commonMenuItemStyles, commonToolbarStyles, createRow, flexRender, getAllLeafColumnDefs, getCanRankRows, getColumnId, getCommonCellStyles, getDefaultColumnFilterFn, getDefaultColumnOrderIds, getIsFirstColumn, getIsFirstRightPinnedColumn, getIsLastColumn, getIsLastLeftPinnedColumn, getLeadingDisplayColumnIds, getTotalRight, getTrailingDisplayColumnIds, mrtFilterOptions, parseCSSVarId, prepareColumns, rankGlobalFuzzy, reorderColumn, showExpandColumn, useMaterialReactTable };
1466
+ export { type LiteralUnion, type MRT_AggregationFn, MRT_AggregationFns, type MRT_AggregationOption, MRT_BottomToolbar, type MRT_Cell, type MRT_Column, MRT_ColumnActionMenu, type MRT_ColumnDef, type MRT_ColumnFilterFnsState, MRT_ColumnPinningButtons, MRT_CopyButton, MRT_DefaultColumn, MRT_DefaultDisplayColumn, type MRT_DefinedColumnDef, type MRT_DefinedTableOptions, type MRT_DensityState, type MRT_DisplayColumnIds, MRT_EditActionButtons, MRT_EditCellTextField, MRT_EditRowModal, MRT_ExpandAllButton, MRT_ExpandButton, MRT_FilterCheckbox, type MRT_FilterFn, MRT_FilterFns, type MRT_FilterOption, MRT_FilterOptionMenu, MRT_FilterRangeFields, MRT_FilterRangeSlider, MRT_FilterTextField, MRT_GlobalFilterTextField, MRT_GrabHandleButton, type MRT_Header, type MRT_HeaderGroup, type MRT_Icons, type MRT_InternalFilterOption, MRT_LinearProgressBar, type MRT_Localization, type MRT_Row, MRT_RowActionMenu, type MRT_RowModel, MRT_RowPinButton, MRT_SelectCheckbox, MRT_ShowHideColumnsButton, MRT_ShowHideColumnsMenu, MRT_ShowHideColumnsMenuItems, type MRT_SortingFn, MRT_SortingFns, type MRT_SortingOption, MRT_Table, MRT_TableBody, MRT_TableBodyCell, MRT_TableBodyCellValue, MRT_TableBodyRow, MRT_TableBodyRowGrabHandle, MRT_TableBodyRowPinButton, MRT_TableContainer, MRT_TableDetailPanel, MRT_TableFooter, MRT_TableFooterCell, MRT_TableFooterRow, MRT_TableHead, MRT_TableHeadCell, MRT_TableHeadCellColumnActionsButton, MRT_TableHeadCellFilterContainer, MRT_TableHeadCellFilterLabel, MRT_TableHeadCellGrabHandle, MRT_TableHeadCellResizeHandle, MRT_TableHeadCellSortLabel, MRT_TableHeadRow, type MRT_TableInstance, type MRT_TableOptions, MRT_TablePagination, MRT_TablePaper, type MRT_TableState, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleFullScreenButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, MaterialReactTable, Memo_MRT_TableBody, Memo_MRT_TableBodyCell, Memo_MRT_TableBodyRow, type Prettify, type Xor, commonListItemStyles, commonMenuItemStyles, commonToolbarStyles, createRow, flexRender, getAllLeafColumnDefs, getCanRankRows, getColumnId, getCommonCellStyles, getDefaultColumnFilterFn, getDefaultColumnOrderIds, getIsFirstColumn, getIsFirstRightPinnedColumn, getIsLastColumn, getIsLastLeftPinnedColumn, getLeadingDisplayColumnIds, getTotalRight, getTrailingDisplayColumnIds, mrtFilterOptions, parseCSSVarId, parseFromValuesOrFunc, prepareColumns, rankGlobalFuzzy, reorderColumn, showExpandColumn, useMaterialReactTable };