material-react-table 2.0.0-beta.1 → 2.0.0-beta.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 (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 {