material-react-table 2.0.0-beta.1 → 2.0.0-beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (201) hide show
  1. package/dist/cjs/index.js +30 -18
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/MaterialReactTable.d.ts +4 -4
  4. package/dist/cjs/types/body/MRT_TableBody.d.ts +4 -4
  5. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +4 -4
  6. package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +3 -3
  7. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +4 -4
  8. package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +3 -3
  9. package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +3 -3
  10. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +3 -3
  11. package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +3 -3
  12. package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +3 -3
  13. package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +3 -3
  14. package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +3 -3
  15. package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +3 -3
  16. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +3 -3
  17. package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +3 -3
  18. package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +3 -3
  19. package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +3 -3
  20. package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +3 -3
  21. package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +3 -3
  22. package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +3 -3
  23. package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +3 -3
  24. package/dist/cjs/types/column.utils.d.ts +34 -33
  25. package/dist/cjs/types/filterFns.d.ts +15 -14
  26. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +3 -3
  27. package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +3 -3
  28. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +3 -3
  29. package/dist/cjs/types/head/MRT_TableHead.d.ts +3 -3
  30. package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +3 -3
  31. package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +3 -3
  32. package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +3 -3
  33. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +3 -3
  34. package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +3 -3
  35. package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +3 -3
  36. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +3 -3
  37. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +3 -3
  38. package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
  39. package/dist/cjs/types/hooks/useMRT_Effects.d.ts +2 -2
  40. package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +2 -2
  41. package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +2 -2
  42. package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +3 -3
  43. package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +3 -3
  44. package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +3 -3
  45. package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +3 -3
  46. package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +3 -3
  47. package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +3 -3
  48. package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +3 -3
  49. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +3 -3
  50. package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +3 -3
  51. package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +3 -3
  52. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +3 -3
  53. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +3 -3
  54. package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +3 -3
  55. package/dist/cjs/types/sortingFns.d.ts +3 -3
  56. package/dist/cjs/types/table/MRT_Table.d.ts +3 -3
  57. package/dist/cjs/types/table/MRT_TableContainer.d.ts +3 -3
  58. package/dist/cjs/types/table/MRT_TablePaper.d.ts +3 -3
  59. package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +3 -3
  60. package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +3 -3
  61. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +3 -3
  62. package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +3 -3
  63. package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +3 -3
  64. package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -3
  65. package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +3 -3
  66. package/dist/cjs/types/types.d.ts +50 -40
  67. package/dist/cjs/types/useMaterialReactTable.d.ts +2 -2
  68. package/dist/esm/material-react-table.esm.js +30 -19
  69. package/dist/esm/material-react-table.esm.js.map +1 -1
  70. package/dist/esm/types/MaterialReactTable.d.ts +4 -4
  71. package/dist/esm/types/body/MRT_TableBody.d.ts +4 -4
  72. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +4 -4
  73. package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +3 -3
  74. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +4 -4
  75. package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +3 -3
  76. package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +3 -3
  77. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +3 -3
  78. package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +3 -3
  79. package/dist/esm/types/buttons/MRT_CopyButton.d.ts +3 -3
  80. package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +3 -3
  81. package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +3 -3
  82. package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +3 -3
  83. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +3 -3
  84. package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +3 -3
  85. package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +3 -3
  86. package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +3 -3
  87. package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +3 -3
  88. package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +3 -3
  89. package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +3 -3
  90. package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +3 -3
  91. package/dist/esm/types/column.utils.d.ts +34 -33
  92. package/dist/esm/types/filterFns.d.ts +15 -14
  93. package/dist/esm/types/footer/MRT_TableFooter.d.ts +3 -3
  94. package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +3 -3
  95. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +3 -3
  96. package/dist/esm/types/head/MRT_TableHead.d.ts +3 -3
  97. package/dist/esm/types/head/MRT_TableHeadCell.d.ts +3 -3
  98. package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +3 -3
  99. package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +3 -3
  100. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +3 -3
  101. package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +3 -3
  102. package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +3 -3
  103. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +3 -3
  104. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +3 -3
  105. package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
  106. package/dist/esm/types/hooks/useMRT_Effects.d.ts +2 -2
  107. package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +2 -2
  108. package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +2 -2
  109. package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +3 -3
  110. package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +3 -3
  111. package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +3 -3
  112. package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +3 -3
  113. package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +3 -3
  114. package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +3 -3
  115. package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +3 -3
  116. package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +3 -3
  117. package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +3 -3
  118. package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +3 -3
  119. package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +3 -3
  120. package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +3 -3
  121. package/dist/esm/types/modals/MRT_EditRowModal.d.ts +3 -3
  122. package/dist/esm/types/sortingFns.d.ts +3 -3
  123. package/dist/esm/types/table/MRT_Table.d.ts +3 -3
  124. package/dist/esm/types/table/MRT_TableContainer.d.ts +3 -3
  125. package/dist/esm/types/table/MRT_TablePaper.d.ts +3 -3
  126. package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +3 -3
  127. package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +3 -3
  128. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +3 -3
  129. package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +3 -3
  130. package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +3 -3
  131. package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -3
  132. package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +3 -3
  133. package/dist/esm/types/types.d.ts +50 -40
  134. package/dist/esm/types/useMaterialReactTable.d.ts +2 -2
  135. package/dist/index.d.ts +217 -206
  136. package/package.json +1 -1
  137. package/src/MaterialReactTable.tsx +5 -4
  138. package/src/body/MRT_TableBody.tsx +7 -3
  139. package/src/body/MRT_TableBodyCell.tsx +10 -4
  140. package/src/body/MRT_TableBodyCellValue.tsx +7 -3
  141. package/src/body/MRT_TableBodyRow.tsx +8 -3
  142. package/src/body/MRT_TableBodyRowGrabHandle.tsx +7 -3
  143. package/src/body/MRT_TableBodyRowPinButton.tsx +7 -3
  144. package/src/body/MRT_TableDetailPanel.tsx +7 -3
  145. package/src/buttons/MRT_ColumnPinningButtons.tsx +7 -3
  146. package/src/buttons/MRT_CopyButton.tsx +7 -3
  147. package/src/buttons/MRT_EditActionButtons.tsx +7 -3
  148. package/src/buttons/MRT_ExpandAllButton.tsx +5 -6
  149. package/src/buttons/MRT_ExpandButton.tsx +9 -6
  150. package/src/buttons/MRT_GrabHandleButton.tsx +3 -3
  151. package/src/buttons/MRT_RowPinButton.tsx +7 -3
  152. package/src/buttons/MRT_ShowHideColumnsButton.tsx +3 -3
  153. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +3 -5
  154. package/src/buttons/MRT_ToggleFiltersButton.tsx +3 -3
  155. package/src/buttons/MRT_ToggleFullScreenButton.tsx +3 -3
  156. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +3 -5
  157. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +8 -5
  158. package/src/column.utils.ts +41 -17
  159. package/src/filterFns.ts +15 -14
  160. package/src/footer/MRT_TableFooter.tsx +3 -3
  161. package/src/footer/MRT_TableFooterCell.tsx +7 -3
  162. package/src/footer/MRT_TableFooterRow.tsx +3 -2
  163. package/src/head/MRT_TableHead.tsx +3 -3
  164. package/src/head/MRT_TableHeadCell.tsx +7 -3
  165. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +7 -3
  166. package/src/head/MRT_TableHeadCellFilterContainer.tsx +7 -5
  167. package/src/head/MRT_TableHeadCellFilterLabel.tsx +7 -5
  168. package/src/head/MRT_TableHeadCellGrabHandle.tsx +7 -3
  169. package/src/head/MRT_TableHeadCellResizeHandle.tsx +7 -5
  170. package/src/head/MRT_TableHeadCellSortLabel.tsx +7 -3
  171. package/src/head/MRT_TableHeadRow.tsx +3 -2
  172. package/src/hooks/useMRT_DisplayColumns.tsx +3 -2
  173. package/src/hooks/useMRT_Effects.ts +6 -2
  174. package/src/hooks/useMRT_TableInstance.ts +3 -2
  175. package/src/hooks/useMRT_TableOptions.ts +7 -3
  176. package/src/inputs/MRT_EditCellTextField.tsx +7 -3
  177. package/src/inputs/MRT_FilterCheckbox.tsx +7 -3
  178. package/src/inputs/MRT_FilterRangeFields.tsx +7 -3
  179. package/src/inputs/MRT_FilterRangeSlider.tsx +7 -3
  180. package/src/inputs/MRT_FilterTextField.tsx +9 -3
  181. package/src/inputs/MRT_GlobalFilterTextField.tsx +3 -3
  182. package/src/inputs/MRT_SelectCheckbox.tsx +7 -3
  183. package/src/menus/MRT_ColumnActionMenu.tsx +7 -3
  184. package/src/menus/MRT_FilterOptionMenu.tsx +3 -2
  185. package/src/menus/MRT_RowActionMenu.tsx +7 -3
  186. package/src/menus/MRT_ShowHideColumnsMenu.tsx +7 -3
  187. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +7 -5
  188. package/src/modals/MRT_EditRowModal.tsx +7 -3
  189. package/src/sortingFns.ts +3 -3
  190. package/src/table/MRT_Table.tsx +3 -3
  191. package/src/table/MRT_TableContainer.tsx +3 -3
  192. package/src/table/MRT_TablePaper.tsx +3 -3
  193. package/src/toolbar/MRT_BottomToolbar.tsx +3 -3
  194. package/src/toolbar/MRT_LinearProgressBar.tsx +3 -3
  195. package/src/toolbar/MRT_TablePagination.tsx +3 -3
  196. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +3 -3
  197. package/src/toolbar/MRT_ToolbarDropZone.tsx +3 -3
  198. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +3 -3
  199. package/src/toolbar/MRT_TopToolbar.tsx +3 -3
  200. package/src/types.ts +75 -45
  201. package/src/useMaterialReactTable.ts +6 -2
@@ -8,14 +8,18 @@ import MenuItem from '@mui/material/MenuItem';
8
8
  import TextField from '@mui/material/TextField';
9
9
  import { type TextFieldProps } from '@mui/material/TextField';
10
10
  import { parseFromValuesOrFunc } from '../column.utils';
11
- import { type MRT_Cell, type MRT_TableInstance } from '../types';
11
+ import {
12
+ type MRT_Cell,
13
+ type MRT_RowData,
14
+ type MRT_TableInstance,
15
+ } from '../types';
12
16
 
13
- interface Props<TData extends Record<string, any>> {
17
+ interface Props<TData extends MRT_RowData> {
14
18
  cell: MRT_Cell<TData>;
15
19
  table: MRT_TableInstance<TData>;
16
20
  }
17
21
 
18
- export const MRT_EditCellTextField = <TData extends Record<string, any>>({
22
+ export const MRT_EditCellTextField = <TData extends MRT_RowData>({
19
23
  cell,
20
24
  table,
21
25
  }: Props<TData>) => {
@@ -2,14 +2,18 @@ import Checkbox from '@mui/material/Checkbox';
2
2
  import FormControlLabel from '@mui/material/FormControlLabel';
3
3
  import Tooltip from '@mui/material/Tooltip';
4
4
  import { parseFromValuesOrFunc } from '../column.utils';
5
- import { type MRT_Column, type MRT_TableInstance } from '../types';
5
+ import {
6
+ type MRT_Column,
7
+ type MRT_RowData,
8
+ type MRT_TableInstance,
9
+ } from '../types';
6
10
 
7
- interface Props<TData extends Record<string, any>> {
11
+ interface Props<TData extends MRT_RowData> {
8
12
  column: MRT_Column<TData>;
9
13
  table: MRT_TableInstance<TData>;
10
14
  }
11
15
 
12
- export const MRT_FilterCheckbox = <TData extends Record<string, any>>({
16
+ export const MRT_FilterCheckbox = <TData extends MRT_RowData>({
13
17
  column,
14
18
  table,
15
19
  }: Props<TData>) => {
@@ -1,13 +1,17 @@
1
1
  import Box from '@mui/material/Box';
2
2
  import { MRT_FilterTextField } from './MRT_FilterTextField';
3
- import { type MRT_Header, type MRT_TableInstance } from '../types';
3
+ import {
4
+ type MRT_Header,
5
+ type MRT_RowData,
6
+ type MRT_TableInstance,
7
+ } from '../types';
4
8
 
5
- interface Props<TData extends Record<string, any>> {
9
+ interface Props<TData extends MRT_RowData> {
6
10
  header: MRT_Header<TData>;
7
11
  table: MRT_TableInstance<TData>;
8
12
  }
9
13
 
10
- export const MRT_FilterRangeFields = <TData extends Record<string, any>>({
14
+ export const MRT_FilterRangeFields = <TData extends MRT_RowData>({
11
15
  header,
12
16
  table,
13
17
  }: Props<TData>) => {
@@ -3,14 +3,18 @@ import FormHelperText from '@mui/material/FormHelperText';
3
3
  import Slider from '@mui/material/Slider';
4
4
  import Stack from '@mui/material/Stack';
5
5
  import { parseFromValuesOrFunc } from '../column.utils';
6
- import { type MRT_Header, type MRT_TableInstance } from '../types';
6
+ import {
7
+ type MRT_Header,
8
+ type MRT_RowData,
9
+ type MRT_TableInstance,
10
+ } from '../types';
7
11
 
8
- interface Props<TData extends Record<string, any>> {
12
+ interface Props<TData extends MRT_RowData> {
9
13
  header: MRT_Header<TData>;
10
14
  table: MRT_TableInstance<TData>;
11
15
  }
12
16
 
13
- export const MRT_FilterRangeSlider = <TData extends Record<string, any>>({
17
+ export const MRT_FilterRangeSlider = <TData extends MRT_RowData>({
14
18
  header,
15
19
  table,
16
20
  }: Props<TData>) => {
@@ -23,15 +23,19 @@ import {
23
23
  } from '@mui/x-date-pickers/DatePicker';
24
24
  import { parseFromValuesOrFunc } from '../column.utils';
25
25
  import { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';
26
- import { type MRT_Header, type MRT_TableInstance } from '../types';
26
+ import {
27
+ type MRT_Header,
28
+ type MRT_RowData,
29
+ type MRT_TableInstance,
30
+ } from '../types';
27
31
 
28
- interface Props<TData extends Record<string, any>> {
32
+ interface Props<TData extends MRT_RowData> {
29
33
  header: MRT_Header<TData>;
30
34
  rangeFilterIndex?: number;
31
35
  table: MRT_TableInstance<TData>;
32
36
  }
33
37
 
34
- export const MRT_FilterTextField = <TData extends Record<string, any>>({
38
+ export const MRT_FilterTextField = <TData extends MRT_RowData>({
35
39
  header,
36
40
  rangeFilterIndex,
37
41
  table,
@@ -329,6 +333,8 @@ export const MRT_FilterTextField = <TData extends Record<string, any>>({
329
333
  sx: (theme) => ({
330
334
  minWidth: isDateFilter
331
335
  ? '160px'
336
+ : enableColumnFilterModes && rangeFilterIndex === 0
337
+ ? '110px'
332
338
  : isRangeFilter
333
339
  ? '100px'
334
340
  : !filterChipLabel
@@ -14,13 +14,13 @@ import Tooltip from '@mui/material/Tooltip';
14
14
  import { debounce } from '@mui/material/utils';
15
15
  import { parseFromValuesOrFunc } from '../column.utils';
16
16
  import { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';
17
- import { type MRT_TableInstance } from '../types';
17
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
18
18
 
19
- interface Props<TData extends Record<string, any>> {
19
+ interface Props<TData extends MRT_RowData> {
20
20
  table: MRT_TableInstance<TData>;
21
21
  }
22
22
 
23
- export const MRT_GlobalFilterTextField = <TData extends Record<string, any>>({
23
+ export const MRT_GlobalFilterTextField = <TData extends MRT_RowData>({
24
24
  table,
25
25
  }: Props<TData>) => {
26
26
  const {
@@ -4,15 +4,19 @@ import Radio, { type RadioProps } from '@mui/material/Radio';
4
4
  import Tooltip from '@mui/material/Tooltip';
5
5
  import { type Theme } from '@mui/material/styles';
6
6
  import { parseFromValuesOrFunc } from '../column.utils';
7
- import { type MRT_Row, type MRT_TableInstance } from '../types';
7
+ import {
8
+ type MRT_Row,
9
+ type MRT_RowData,
10
+ type MRT_TableInstance,
11
+ } from '../types';
8
12
 
9
- interface Props<TData extends Record<string, any>> {
13
+ interface Props<TData extends MRT_RowData> {
10
14
  row?: MRT_Row<TData>;
11
15
  selectAll?: boolean;
12
16
  table: MRT_TableInstance<TData>;
13
17
  }
14
18
 
15
- export const MRT_SelectCheckbox = <TData extends Record<string, any>>({
19
+ export const MRT_SelectCheckbox = <TData extends MRT_RowData>({
16
20
  row,
17
21
  selectAll,
18
22
  table,
@@ -6,7 +6,11 @@ import ListItemIcon from '@mui/material/ListItemIcon';
6
6
  import Menu from '@mui/material/Menu';
7
7
  import MenuItem from '@mui/material/MenuItem';
8
8
  import { MRT_FilterOptionMenu } from './MRT_FilterOptionMenu';
9
- import { type MRT_Header, type MRT_TableInstance } from '../types';
9
+ import {
10
+ type MRT_Header,
11
+ type MRT_RowData,
12
+ type MRT_TableInstance,
13
+ } from '../types';
10
14
 
11
15
  export const commonMenuItemStyles = {
12
16
  alignItems: 'center',
@@ -20,14 +24,14 @@ export const commonListItemStyles = {
20
24
  display: 'flex',
21
25
  };
22
26
 
23
- interface Props<TData extends Record<string, any>> {
27
+ interface Props<TData extends MRT_RowData> {
24
28
  anchorEl: HTMLElement | null;
25
29
  header: MRT_Header<TData>;
26
30
  setAnchorEl: (anchorEl: HTMLElement | null) => void;
27
31
  table: MRT_TableInstance<TData>;
28
32
  }
29
33
 
30
- export const MRT_ColumnActionMenu = <TData extends Record<string, any>>({
34
+ export const MRT_ColumnActionMenu = <TData extends MRT_RowData>({
31
35
  anchorEl,
32
36
  header,
33
37
  setAnchorEl,
@@ -7,6 +7,7 @@ import {
7
7
  type MRT_Header,
8
8
  type MRT_InternalFilterOption,
9
9
  type MRT_Localization,
10
+ type MRT_RowData,
10
11
  type MRT_TableInstance,
11
12
  } from '../types';
12
13
 
@@ -104,7 +105,7 @@ const emptyModes = ['empty', 'notEmpty'];
104
105
  const arrModes = ['arrIncludesSome', 'arrIncludesAll', 'arrIncludes'];
105
106
  const rangeVariants = ['range-slider', 'date-range', 'range'];
106
107
 
107
- interface Props<TData extends Record<string, any>> {
108
+ interface Props<TData extends MRT_RowData> {
108
109
  anchorEl: HTMLElement | null;
109
110
  header?: MRT_Header<TData>;
110
111
  onSelect?: () => void;
@@ -113,7 +114,7 @@ interface Props<TData extends Record<string, any>> {
113
114
  table: MRT_TableInstance<TData>;
114
115
  }
115
116
 
116
- export const MRT_FilterOptionMenu = <TData extends Record<string, any>>({
117
+ export const MRT_FilterOptionMenu = <TData extends MRT_RowData>({
117
118
  anchorEl,
118
119
  header,
119
120
  onSelect,
@@ -8,9 +8,13 @@ import {
8
8
  commonMenuItemStyles,
9
9
  } from './MRT_ColumnActionMenu';
10
10
  import { parseFromValuesOrFunc } from '../column.utils';
11
- import { type MRT_Row, type MRT_TableInstance } from '../types';
11
+ import {
12
+ type MRT_Row,
13
+ type MRT_RowData,
14
+ type MRT_TableInstance,
15
+ } from '../types';
12
16
 
13
- interface Props<TData extends Record<string, any>> {
17
+ interface Props<TData extends MRT_RowData> {
14
18
  anchorEl: HTMLElement | null;
15
19
  handleEdit: (event: MouseEvent) => void;
16
20
  row: MRT_Row<TData>;
@@ -18,7 +22,7 @@ interface Props<TData extends Record<string, any>> {
18
22
  table: MRT_TableInstance<TData>;
19
23
  }
20
24
 
21
- export const MRT_RowActionMenu = <TData extends Record<string, any>>({
25
+ export const MRT_RowActionMenu = <TData extends MRT_RowData>({
22
26
  anchorEl,
23
27
  handleEdit,
24
28
  row,
@@ -5,16 +5,20 @@ import Divider from '@mui/material/Divider';
5
5
  import Menu from '@mui/material/Menu';
6
6
  import { MRT_ShowHideColumnsMenuItems } from './MRT_ShowHideColumnsMenuItems';
7
7
  import { getDefaultColumnOrderIds } from '../column.utils';
8
- import { type MRT_Column, type MRT_TableInstance } from '../types';
8
+ import {
9
+ type MRT_Column,
10
+ type MRT_RowData,
11
+ type MRT_TableInstance,
12
+ } from '../types';
9
13
 
10
- interface Props<TData extends Record<string, any>> {
14
+ interface Props<TData extends MRT_RowData> {
11
15
  anchorEl: HTMLElement | null;
12
16
  isSubMenu?: boolean;
13
17
  setAnchorEl: (anchorEl: HTMLElement | null) => void;
14
18
  table: MRT_TableInstance<TData>;
15
19
  }
16
20
 
17
- export const MRT_ShowHideColumnsMenu = <TData extends Record<string, any>>({
21
+ export const MRT_ShowHideColumnsMenu = <TData extends MRT_RowData>({
18
22
  anchorEl,
19
23
  setAnchorEl,
20
24
  table,
@@ -14,9 +14,13 @@ import Typography from '@mui/material/Typography';
14
14
  import { MRT_ColumnPinningButtons } from '../buttons/MRT_ColumnPinningButtons';
15
15
  import { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';
16
16
  import { reorderColumn } from '../column.utils';
17
- import { type MRT_Column, type MRT_TableInstance } from '../types';
17
+ import {
18
+ type MRT_Column,
19
+ type MRT_RowData,
20
+ type MRT_TableInstance,
21
+ } from '../types';
18
22
 
19
- interface Props<TData extends Record<string, any>> {
23
+ interface Props<TData extends MRT_RowData> {
20
24
  allColumns: MRT_Column<TData>[];
21
25
  column: MRT_Column<TData>;
22
26
  hoveredColumn: MRT_Column<TData> | null;
@@ -24,9 +28,7 @@ interface Props<TData extends Record<string, any>> {
24
28
  table: MRT_TableInstance<TData>;
25
29
  }
26
30
 
27
- export const MRT_ShowHideColumnsMenuItems = <
28
- TData extends Record<string, any>,
29
- >({
31
+ export const MRT_ShowHideColumnsMenuItems = <TData extends MRT_RowData>({
30
32
  allColumns,
31
33
  column,
32
34
  hoveredColumn,
@@ -6,14 +6,18 @@ import Stack from '@mui/material/Stack';
6
6
  import { MRT_EditActionButtons } from '../buttons/MRT_EditActionButtons';
7
7
  import { parseFromValuesOrFunc } from '../column.utils';
8
8
  import { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';
9
- import { type MRT_Row, type MRT_TableInstance } from '../types';
9
+ import {
10
+ type MRT_Row,
11
+ type MRT_RowData,
12
+ type MRT_TableInstance,
13
+ } from '../types';
10
14
 
11
- interface Props<TData extends Record<string, any>> {
15
+ interface Props<TData extends MRT_RowData> {
12
16
  open: boolean;
13
17
  table: MRT_TableInstance<TData>;
14
18
  }
15
19
 
16
- export const MRT_EditRowModal = <TData extends Record<string, any>>({
20
+ export const MRT_EditRowModal = <TData extends MRT_RowData>({
17
21
  open,
18
22
  table,
19
23
  }: Props<TData>) => {
package/src/sortingFns.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { type RankingInfo, compareItems } from '@tanstack/match-sorter-utils';
2
2
  import { type Row, sortingFns } from '@tanstack/react-table';
3
- import { type MRT_Row } from './types';
3
+ import { type MRT_Row, type MRT_RowData } from './types';
4
4
 
5
- const fuzzy = <TData extends Record<string, any>>(
5
+ const fuzzy = <TData extends MRT_RowData>(
6
6
  rowA: Row<TData>,
7
7
  rowB: Row<TData>,
8
8
  columnId: string,
@@ -25,7 +25,7 @@ export const MRT_SortingFns = {
25
25
  fuzzy,
26
26
  };
27
27
 
28
- export const rankGlobalFuzzy = <TData extends Record<string, any>>(
28
+ export const rankGlobalFuzzy = <TData extends MRT_RowData>(
29
29
  rowA: MRT_Row<TData>,
30
30
  rowB: MRT_Row<TData>,
31
31
  ) =>
@@ -13,13 +13,13 @@ import {
13
13
  } from '../column.utils';
14
14
  import { MRT_TableFooter } from '../footer/MRT_TableFooter';
15
15
  import { MRT_TableHead } from '../head/MRT_TableHead';
16
- import { type MRT_TableInstance } from '../types';
16
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
17
17
 
18
- interface Props<TData extends Record<string, any>> {
18
+ interface Props<TData extends MRT_RowData> {
19
19
  table: MRT_TableInstance<TData>;
20
20
  }
21
21
 
22
- export const MRT_Table = <TData extends Record<string, any>>({
22
+ export const MRT_Table = <TData extends MRT_RowData>({
23
23
  table,
24
24
  }: Props<TData>) => {
25
25
  const {
@@ -6,16 +6,16 @@ import { alpha, lighten } from '@mui/material/styles';
6
6
  import { MRT_Table } from './MRT_Table';
7
7
  import { parseFromValuesOrFunc } from '../column.utils';
8
8
  import { MRT_EditRowModal } from '../modals';
9
- import { type MRT_TableInstance } from '../types';
9
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
10
10
 
11
11
  const useIsomorphicLayoutEffect =
12
12
  typeof window !== 'undefined' ? useLayoutEffect : useEffect;
13
13
 
14
- interface Props<TData extends Record<string, any>> {
14
+ interface Props<TData extends MRT_RowData> {
15
15
  table: MRT_TableInstance<TData>;
16
16
  }
17
17
 
18
- export const MRT_TableContainer = <TData extends Record<string, any>>({
18
+ export const MRT_TableContainer = <TData extends MRT_RowData>({
19
19
  table,
20
20
  }: Props<TData>) => {
21
21
  const {
@@ -3,13 +3,13 @@ import { MRT_TableContainer } from './MRT_TableContainer';
3
3
  import { parseFromValuesOrFunc } from '../column.utils';
4
4
  import { MRT_BottomToolbar } from '../toolbar/MRT_BottomToolbar';
5
5
  import { MRT_TopToolbar } from '../toolbar/MRT_TopToolbar';
6
- import { type MRT_TableInstance } from '../types';
6
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
7
7
 
8
- interface Props<TData extends Record<string, any>> {
8
+ interface Props<TData extends MRT_RowData> {
9
9
  table: MRT_TableInstance<TData>;
10
10
  }
11
11
 
12
- export const MRT_TablePaper = <TData extends Record<string, any>>({
12
+ export const MRT_TablePaper = <TData extends MRT_RowData>({
13
13
  table,
14
14
  }: Props<TData>) => {
15
15
  const {
@@ -8,13 +8,13 @@ import { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';
8
8
  import { MRT_ToolbarDropZone } from './MRT_ToolbarDropZone';
9
9
  import { commonToolbarStyles } from './MRT_TopToolbar';
10
10
  import { parseFromValuesOrFunc } from '../column.utils';
11
- import { type MRT_TableInstance } from '../types';
11
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
12
12
 
13
- interface Props<TData extends Record<string, any>> {
13
+ interface Props<TData extends MRT_RowData> {
14
14
  table: MRT_TableInstance<TData>;
15
15
  }
16
16
 
17
- export const MRT_BottomToolbar = <TData extends Record<string, any>>({
17
+ export const MRT_BottomToolbar = <TData extends MRT_RowData>({
18
18
  table,
19
19
  }: Props<TData>) => {
20
20
  const {
@@ -1,14 +1,14 @@
1
1
  import Collapse from '@mui/material/Collapse';
2
2
  import LinearProgress from '@mui/material/LinearProgress';
3
3
  import { parseFromValuesOrFunc } from '../column.utils';
4
- import { type MRT_TableInstance } from '../types';
4
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
5
5
 
6
- interface Props<TData extends Record<string, any>> {
6
+ interface Props<TData extends MRT_RowData> {
7
7
  isTopToolbar: boolean;
8
8
  table: MRT_TableInstance<TData>;
9
9
  }
10
10
 
11
- export const MRT_LinearProgressBar = <TData extends Record<string, any>>({
11
+ export const MRT_LinearProgressBar = <TData extends MRT_RowData>({
12
12
  isTopToolbar,
13
13
  table,
14
14
  }: Props<TData>) => {
@@ -7,16 +7,16 @@ import PaginationItem from '@mui/material/PaginationItem';
7
7
  import Select from '@mui/material/Select';
8
8
  import Typography from '@mui/material/Typography';
9
9
  import { parseFromValuesOrFunc } from '../column.utils';
10
- import { type MRT_TableInstance } from '../types';
10
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
11
11
 
12
12
  const defaultRowsPerPage = [5, 10, 15, 20, 25, 30, 50, 100];
13
13
 
14
- interface Props<TData extends Record<string, any> = {}> {
14
+ interface Props<TData extends MRT_RowData> {
15
15
  position?: 'bottom' | 'top';
16
16
  table: MRT_TableInstance<TData>;
17
17
  }
18
18
 
19
- export const MRT_TablePagination = <TData extends Record<string, any> = {}>({
19
+ export const MRT_TablePagination = <TData extends MRT_RowData>({
20
20
  position = 'bottom',
21
21
  table,
22
22
  }: Props<TData>) => {
@@ -7,14 +7,14 @@ import Collapse from '@mui/material/Collapse';
7
7
  import Stack from '@mui/material/Stack';
8
8
  import { parseFromValuesOrFunc } from '../column.utils';
9
9
  import { MRT_SelectCheckbox } from '../inputs';
10
- import { type MRT_TableInstance } from '../types';
10
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
11
11
 
12
- interface Props<TData extends Record<string, any>> {
12
+ interface Props<TData extends MRT_RowData> {
13
13
  stackAlertBanner?: boolean;
14
14
  table: MRT_TableInstance<TData>;
15
15
  }
16
16
 
17
- export const MRT_ToolbarAlertBanner = <TData extends Record<string, any>>({
17
+ export const MRT_ToolbarAlertBanner = <TData extends MRT_RowData>({
18
18
  stackAlertBanner,
19
19
  table,
20
20
  }: Props<TData>) => {
@@ -3,13 +3,13 @@ import Box from '@mui/material/Box';
3
3
  import Fade from '@mui/material/Fade';
4
4
  import Typography from '@mui/material/Typography';
5
5
  import { alpha } from '@mui/material/styles';
6
- import { type MRT_TableInstance } from '../types';
6
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
7
7
 
8
- interface Props<TData extends Record<string, any>> {
8
+ interface Props<TData extends MRT_RowData> {
9
9
  table: MRT_TableInstance<TData>;
10
10
  }
11
11
 
12
- export const MRT_ToolbarDropZone = <TData extends Record<string, any>>({
12
+ export const MRT_ToolbarDropZone = <TData extends MRT_RowData>({
13
13
  table,
14
14
  }: Props<TData>) => {
15
15
  const {
@@ -4,13 +4,13 @@ import { MRT_ToggleDensePaddingButton } from '../buttons/MRT_ToggleDensePaddingB
4
4
  import { MRT_ToggleFiltersButton } from '../buttons/MRT_ToggleFiltersButton';
5
5
  import { MRT_ToggleFullScreenButton } from '../buttons/MRT_ToggleFullScreenButton';
6
6
  import { MRT_ToggleGlobalFilterButton } from '../buttons/MRT_ToggleGlobalFilterButton';
7
- import { type MRT_TableInstance } from '../types';
7
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
8
8
 
9
- interface Props<TData extends Record<string, any>> {
9
+ interface Props<TData extends MRT_RowData> {
10
10
  table: MRT_TableInstance<TData>;
11
11
  }
12
12
 
13
- export const MRT_ToolbarInternalButtons = <TData extends Record<string, any>>({
13
+ export const MRT_ToolbarInternalButtons = <TData extends MRT_RowData>({
14
14
  table,
15
15
  }: Props<TData>) => {
16
16
  const {
@@ -10,7 +10,7 @@ import { MRT_ToolbarDropZone } from './MRT_ToolbarDropZone';
10
10
  import { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';
11
11
  import { parseFromValuesOrFunc } from '../column.utils';
12
12
  import { MRT_GlobalFilterTextField } from '../inputs/MRT_GlobalFilterTextField';
13
- import { type MRT_TableInstance } from '../types';
13
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
14
14
 
15
15
  export const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({
16
16
  alignItems: 'flex-start',
@@ -25,11 +25,11 @@ export const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({
25
25
  zIndex: 1,
26
26
  });
27
27
 
28
- interface Props<TData extends Record<string, any>> {
28
+ interface Props<TData extends MRT_RowData> {
29
29
  table: MRT_TableInstance<TData>;
30
30
  }
31
31
 
32
- export const MRT_TopToolbar = <TData extends Record<string, any>>({
32
+ export const MRT_TopToolbar = <TData extends MRT_RowData>({
33
33
  table,
34
34
  }: Props<TData>) => {
35
35
  const {