material-react-table 0.18.1 → 0.20.0

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 (110) hide show
  1. package/dist/MaterialReactTable.d.ts +170 -135
  2. package/dist/body/MRT_TableBody.d.ts +1 -1
  3. package/dist/body/MRT_TableBodyCell.d.ts +1 -1
  4. package/dist/body/MRT_TableBodyRow.d.ts +1 -1
  5. package/dist/body/MRT_TableDetailPanel.d.ts +1 -1
  6. package/dist/buttons/MRT_ColumnPinningButtons.d.ts +1 -1
  7. package/dist/buttons/MRT_CopyButton.d.ts +1 -1
  8. package/dist/buttons/MRT_EditActionButtons.d.ts +1 -1
  9. package/dist/buttons/MRT_ExpandAllButton.d.ts +1 -1
  10. package/dist/buttons/MRT_ExpandButton.d.ts +1 -1
  11. package/dist/buttons/MRT_FullScreenToggleButton.d.ts +1 -1
  12. package/dist/buttons/MRT_GrabHandleButton.d.ts +1 -1
  13. package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +1 -1
  14. package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +1 -1
  15. package/dist/buttons/MRT_ToggleFiltersButton.d.ts +1 -1
  16. package/dist/buttons/MRT_ToggleGlobalFilterButton.d.ts +1 -1
  17. package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +1 -1
  18. package/dist/filtersFns.d.ts +31 -23
  19. package/dist/footer/MRT_TableFooter.d.ts +1 -1
  20. package/dist/footer/MRT_TableFooterCell.d.ts +1 -1
  21. package/dist/footer/MRT_TableFooterRow.d.ts +1 -1
  22. package/dist/head/MRT_DraggableTableHeadCell.d.ts +1 -1
  23. package/dist/head/MRT_TableHead.d.ts +1 -1
  24. package/dist/head/MRT_TableHeadCell.d.ts +1 -1
  25. package/dist/head/MRT_TableHeadCellColumnActionsButton.d.ts +1 -1
  26. package/dist/head/MRT_TableHeadCellFilterContainer.d.ts +1 -1
  27. package/dist/head/MRT_TableHeadCellFilterLabel.d.ts +1 -1
  28. package/dist/head/MRT_TableHeadCellResizeHandle.d.ts +1 -1
  29. package/dist/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  30. package/dist/head/MRT_TableHeadRow.d.ts +1 -1
  31. package/dist/inputs/MRT_EditCellTextField.d.ts +1 -1
  32. package/dist/inputs/MRT_FilterRangeFields.d.ts +1 -1
  33. package/dist/inputs/MRT_FilterTextField.d.ts +1 -1
  34. package/dist/inputs/MRT_GlobalFilterTextField.d.ts +1 -1
  35. package/dist/inputs/MRT_SelectCheckbox.d.ts +1 -1
  36. package/dist/material-react-table.cjs.development.js +1161 -1104
  37. package/dist/material-react-table.cjs.development.js.map +1 -1
  38. package/dist/material-react-table.cjs.production.min.js +1 -1
  39. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  40. package/dist/material-react-table.esm.js +776 -765
  41. package/dist/material-react-table.esm.js.map +1 -1
  42. package/dist/menus/MRT_ColumnActionMenu.d.ts +1 -1
  43. package/dist/menus/MRT_FilterOptionMenu.d.ts +1 -1
  44. package/dist/menus/MRT_RowActionMenu.d.ts +1 -1
  45. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
  46. package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -1
  47. package/dist/sortingFns.d.ts +10 -3
  48. package/dist/table/MRT_Table.d.ts +1 -1
  49. package/dist/table/MRT_TableContainer.d.ts +1 -1
  50. package/dist/table/MRT_TablePaper.d.ts +1 -1
  51. package/dist/toolbar/MRT_LinearProgressBar.d.ts +1 -1
  52. package/dist/toolbar/MRT_TablePagination.d.ts +1 -1
  53. package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -1
  54. package/dist/toolbar/MRT_ToolbarBottom.d.ts +1 -1
  55. package/dist/toolbar/MRT_ToolbarInternalButtons.d.ts +1 -1
  56. package/dist/toolbar/MRT_ToolbarTop.d.ts +1 -1
  57. package/dist/utils.d.ts +10 -16
  58. package/package.json +7 -7
  59. package/src/MaterialReactTable.tsx +169 -158
  60. package/src/body/MRT_TableBody.tsx +26 -19
  61. package/src/body/MRT_TableBodyCell.tsx +18 -27
  62. package/src/body/MRT_TableBodyRow.tsx +7 -7
  63. package/src/body/MRT_TableDetailPanel.tsx +7 -7
  64. package/src/buttons/MRT_ColumnPinningButtons.tsx +3 -3
  65. package/src/buttons/MRT_CopyButton.tsx +5 -7
  66. package/src/buttons/MRT_EditActionButtons.tsx +4 -5
  67. package/src/buttons/MRT_ExpandAllButton.tsx +4 -5
  68. package/src/buttons/MRT_ExpandButton.tsx +4 -5
  69. package/src/buttons/MRT_FullScreenToggleButton.tsx +3 -7
  70. package/src/buttons/MRT_GrabHandleButton.tsx +39 -41
  71. package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -4
  72. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +3 -7
  73. package/src/buttons/MRT_ToggleFiltersButton.tsx +3 -4
  74. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +4 -8
  75. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +6 -6
  76. package/src/filtersFns.ts +24 -23
  77. package/src/footer/MRT_TableFooter.tsx +5 -6
  78. package/src/footer/MRT_TableFooterCell.tsx +8 -11
  79. package/src/footer/MRT_TableFooterRow.tsx +5 -9
  80. package/src/head/MRT_DraggableTableHeadCell.tsx +4 -6
  81. package/src/head/MRT_TableHead.tsx +5 -5
  82. package/src/head/MRT_TableHeadCell.tsx +18 -29
  83. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +6 -8
  84. package/src/head/MRT_TableHeadCellFilterContainer.tsx +5 -7
  85. package/src/head/MRT_TableHeadCellFilterLabel.tsx +13 -19
  86. package/src/head/MRT_TableHeadCellResizeHandle.tsx +12 -11
  87. package/src/head/MRT_TableHeadCellSortLabel.tsx +3 -5
  88. package/src/head/MRT_TableHeadRow.tsx +6 -6
  89. package/src/inputs/MRT_EditCellTextField.tsx +12 -14
  90. package/src/inputs/MRT_FilterRangeFields.tsx +4 -4
  91. package/src/inputs/MRT_FilterTextField.tsx +27 -38
  92. package/src/inputs/MRT_GlobalFilterTextField.tsx +5 -6
  93. package/src/inputs/MRT_SelectCheckbox.tsx +9 -12
  94. package/src/menus/MRT_ColumnActionMenu.tsx +5 -9
  95. package/src/menus/MRT_FilterOptionMenu.tsx +16 -48
  96. package/src/menus/MRT_RowActionMenu.tsx +4 -5
  97. package/src/menus/MRT_ShowHideColumnsMenu.tsx +8 -9
  98. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +11 -10
  99. package/src/sortingFns.ts +11 -3
  100. package/src/table/MRT_Table.tsx +7 -11
  101. package/src/table/MRT_TableContainer.tsx +5 -6
  102. package/src/table/MRT_TablePaper.tsx +7 -8
  103. package/src/table/MRT_TableRoot.tsx +118 -132
  104. package/src/toolbar/MRT_LinearProgressBar.tsx +4 -5
  105. package/src/toolbar/MRT_TablePagination.tsx +7 -9
  106. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +6 -7
  107. package/src/toolbar/MRT_ToolbarBottom.tsx +8 -9
  108. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +10 -10
  109. package/src/toolbar/MRT_ToolbarTop.tsx +11 -11
  110. package/src/utils.ts +56 -50
@@ -1,10 +1,12 @@
1
1
  import { ChangeEvent, Dispatch, FC, FocusEvent, ReactNode, SetStateAction } from 'react';
2
2
  import { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
3
- import { Cell, Column, ColumnDef, FilterFn, FilterFnOption, Header, HeaderGroup, OnChangeFn, Overwrite, ReactTableGenerics, Row, SortingFn, SortingFnOption, TableGenerics, TableInstance, TableState, UseTableInstanceOptions } from '@tanstack/react-table';
4
- import { Options as VirtualizerOptions } from 'react-virtual';
3
+ import { Cell, Column, ColumnDef, FilterFn, Header, HeaderGroup, OnChangeFn, Row, SortingFn, Table, TableOptions, TableState } from '@tanstack/react-table';
5
4
  import { MRT_Localization } from './localization';
6
5
  import { MRT_Icons } from './icons';
7
- export declare type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<Omit<UseTableInstanceOptions<ReactTableGenerics>, 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn'>> & {
6
+ import { MRT_FilterFns } from './filtersFns';
7
+ import { MRT_SortingFns } from './sortingFns';
8
+ declare type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
9
+ export declare type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<Omit<TableOptions<D>, 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn'>> & {
8
10
  columns: MRT_ColumnDef<D>[];
9
11
  data: D[];
10
12
  expandRowsFn?: (dataRow: D) => D[];
@@ -18,9 +20,7 @@ export interface MRT_RowModel<D extends Record<string, any> = {}> {
18
20
  [key: string]: MRT_Row<D>;
19
21
  };
20
22
  }
21
- export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<TableInstance<Overwrite<Partial<TableGenerics>, {
22
- Row: D;
23
- }>>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
23
+ export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<Table<D>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
24
24
  getAllColumns: () => MRT_Column<D>[];
25
25
  getAllFlatColumns: () => MRT_Column<D>[];
26
26
  getAllLeafColumns: () => MRT_Column<D>[];
@@ -44,9 +44,9 @@ export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit
44
44
  setCurrentEditingCell: Dispatch<SetStateAction<MRT_Cell | null>>;
45
45
  setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row | null>>;
46
46
  setCurrentFilterFns: Dispatch<SetStateAction<{
47
- [key: string]: MRT_FilterFn;
47
+ [key: string]: MRT_FilterOption;
48
48
  }>>;
49
- setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterFn>>;
49
+ setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterOption>>;
50
50
  setDensity: Dispatch<SetStateAction<'comfortable' | 'compact' | 'spacious'>>;
51
51
  setIsFullScreen: Dispatch<SetStateAction<boolean>>;
52
52
  setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
@@ -56,8 +56,8 @@ export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit
56
56
  export declare type MRT_TableState<D extends Record<string, any> = {}> = TableState & {
57
57
  currentEditingCell: MRT_Cell<D> | null;
58
58
  currentEditingRow: MRT_Row<D> | null;
59
- currentFilterFns: Record<string, string | Function>;
60
- currentGlobalFilterFn: Record<string, string | Function>;
59
+ currentFilterFns: Record<string, MRT_FilterOption>;
60
+ currentGlobalFilterFn: Record<string, MRT_FilterOption>;
61
61
  density: 'comfortable' | 'compact' | 'spacious';
62
62
  isLoading: boolean;
63
63
  isFullScreen: boolean;
@@ -67,92 +67,127 @@ export declare type MRT_TableState<D extends Record<string, any> = {}> = TableSt
67
67
  showProgressBars: boolean;
68
68
  showSkeletons: boolean;
69
69
  };
70
- export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<ColumnDef<D>, 'accessorFn' | 'aggregatedCell' | 'cell' | 'columns' | 'filterFn' | 'footer' | 'header' | 'sortingFn'> & {
71
- AggregatedCell?: ({ cell, instance, }: {
70
+ export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<ColumnDef<D>, 'accessorFn' | 'accessorKey' | 'aggregatedCell' | 'cell' | 'columns' | 'filterFn' | 'footer' | 'header' | 'id' | 'sortingFn'> & {
71
+ AggregatedCell?: ({ cell, table, }: {
72
72
  cell: MRT_Cell<D>;
73
- instance: MRT_TableInstance<D>;
73
+ table: MRT_TableInstance<D>;
74
74
  }) => ReactNode;
75
- Cell?: ({ cell, instance, }: {
75
+ Cell?: ({ cell, table, }: {
76
76
  cell: MRT_Cell<D>;
77
- instance: MRT_TableInstance<D>;
77
+ table: MRT_TableInstance<D>;
78
78
  }) => ReactNode;
79
- Edit?: ({ cell, instance, }: {
79
+ Edit?: ({ cell, table, }: {
80
80
  cell: MRT_Cell<D>;
81
- instance: MRT_TableInstance<D>;
81
+ table: MRT_TableInstance<D>;
82
82
  }) => ReactNode;
83
- Filter?: ({ header, instance, }: {
83
+ Filter?: ({ header, table, }: {
84
84
  header: MRT_Header<D>;
85
- instance: MRT_TableInstance<D>;
85
+ table: MRT_TableInstance<D>;
86
86
  }) => ReactNode;
87
- Footer?: ReactNode | (({ footer, instance, }: {
87
+ Footer?: ReactNode | (({ footer, table, }: {
88
88
  footer: MRT_Header<D>;
89
- instance: MRT_TableInstance<D>;
89
+ table: MRT_TableInstance<D>;
90
90
  }) => ReactNode);
91
- Header?: ReactNode | (({ header, instance, }: {
91
+ Header?: ReactNode | (({ header, table, }: {
92
92
  header: MRT_Header<D>;
93
- instance: MRT_TableInstance<D>;
93
+ table: MRT_TableInstance<D>;
94
94
  }) => ReactNode);
95
+ /**
96
+ * Either an `accessorKey` or a combination of an `accessorFn` and `id` are required for a data column definition.
97
+ * Specify a function here to point to the correct property in the data object.
98
+ *
99
+ * @example accessorFn: (row) => row.username
100
+ */
95
101
  accessorFn?: (row: D) => any;
102
+ /**
103
+ * Either an `accessorKey` or a combination of an `accessorFn` and `id` are required for a data column definition.
104
+ * Specify which key in the row this column should use to access the correct data.
105
+ *
106
+ * @example accessorKey: 'username'
107
+ */
108
+ accessorKey?: LiteralUnion<string & keyof D>;
109
+ /**
110
+ * Specify what type of column this is. Either `data`, `display`, or `group`. Defaults to `data`.
111
+ * Leave this blank if you are just creating a normal data column.
112
+ *
113
+ * @default 'data'
114
+ *
115
+ * @example columnDefType: 'display'
116
+ */
117
+ columnDefType?: 'data' | 'display' | 'group';
96
118
  columns?: MRT_ColumnDef<D>[];
97
119
  enableClickToCopy?: boolean;
98
120
  enableColumnActions?: boolean;
99
121
  enableColumnFilterChangeMode?: boolean;
100
122
  enableColumnOrdering?: boolean;
101
123
  enableEditing?: boolean;
102
- enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
103
- filterFn?: MRT_FilterFn;
124
+ enabledColumnFilterOptions?: MRT_FilterOption[] | null;
125
+ filterFn?: MRT_FilterFn<D>;
104
126
  filterSelectOptions?: (string | {
105
127
  text: string;
106
128
  value: string;
107
129
  })[];
108
130
  footer?: string;
109
131
  header: string;
110
- id: keyof D | string;
111
- muiTableBodyCellCopyButtonProps?: ButtonProps | (({ instance, cell, }: {
112
- instance: MRT_TableInstance<D>;
132
+ /**
133
+ * Either an `accessorKey` or a combination of an `accessorFn` and `id` are required for a data column definition.
134
+ *
135
+ * If you have also specified an `accessorFn`, MRT still needs to have a valid `id` to be able to identify the column uniquely.
136
+ *
137
+ * `id` defaults to the `accessorKey` or `header` if not specified.
138
+ *
139
+ * @default gets set to the same value as `accessorKey` by default
140
+ */
141
+ id?: LiteralUnion<string & keyof D>;
142
+ muiTableBodyCellCopyButtonProps?: ButtonProps | (({ table, cell, }: {
143
+ table: MRT_TableInstance<D>;
113
144
  cell: MRT_Cell<D>;
114
145
  }) => ButtonProps);
115
- muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({ instance, cell, }: {
116
- instance: MRT_TableInstance<D>;
146
+ muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({ table, cell, }: {
147
+ table: MRT_TableInstance<D>;
117
148
  cell: MRT_Cell<D>;
118
149
  }) => TextFieldProps);
119
- muiTableBodyCellProps?: TableCellProps | (({ instance, cell, }: {
120
- instance: MRT_TableInstance<D>;
150
+ muiTableBodyCellProps?: TableCellProps | (({ table, cell, }: {
151
+ table: MRT_TableInstance<D>;
121
152
  cell: MRT_Cell<D>;
122
153
  }) => TableCellProps);
123
- muiTableFooterCellProps?: TableCellProps | (({ instance, column, }: {
124
- instance: MRT_TableInstance<D>;
154
+ muiTableFooterCellProps?: TableCellProps | (({ table, column, }: {
155
+ table: MRT_TableInstance<D>;
125
156
  column: MRT_Column<D>;
126
157
  }) => TableCellProps);
127
- muiTableHeadCellColumnActionsButtonProps?: IconButtonProps | (({ instance, column, }: {
128
- instance: MRT_TableInstance<D>;
158
+ muiTableHeadCellColumnActionsButtonProps?: IconButtonProps | (({ table, column, }: {
159
+ table: MRT_TableInstance<D>;
129
160
  column: MRT_Column<D>;
130
161
  }) => IconButtonProps);
131
- muiTableHeadCellFilterTextFieldProps?: TextFieldProps | (({ instance, column, }: {
132
- instance: MRT_TableInstance<D>;
162
+ muiTableHeadCellFilterTextFieldProps?: TextFieldProps | (({ table, column, }: {
163
+ table: MRT_TableInstance<D>;
133
164
  column: MRT_Column<D>;
134
165
  }) => TextFieldProps);
135
- muiTableHeadCellProps?: TableCellProps | (({ instance, column, }: {
136
- instance: MRT_TableInstance<D>;
166
+ muiTableHeadCellProps?: TableCellProps | (({ table, column, }: {
167
+ table: MRT_TableInstance<D>;
137
168
  column: MRT_Column<D>;
138
169
  }) => TableCellProps);
139
- onCellEditBlur?: ({ cell, event, instance, }: {
170
+ onCellEditBlur?: ({ cell, event, table, }: {
140
171
  event: FocusEvent<HTMLInputElement>;
141
172
  cell: MRT_Cell<D>;
142
- instance: MRT_TableInstance<D>;
173
+ table: MRT_TableInstance<D>;
143
174
  }) => void;
144
- onCellEditChange?: ({ cell, event, instance, }: {
175
+ onCellEditChange?: ({ cell, event, table, }: {
145
176
  event: ChangeEvent<HTMLInputElement>;
146
177
  cell: MRT_Cell<D>;
147
- instance: MRT_TableInstance<D>;
178
+ table: MRT_TableInstance<D>;
148
179
  }) => void;
149
180
  sortingFn?: MRT_SortingFn;
150
181
  };
151
- export declare type MRT_Column<D extends Record<string, any> = {}> = Omit<Column<D>, 'header' | 'footer' | 'columns' | 'columnDef'> & {
182
+ export declare type MRT_DefinedColumnDef<D extends Record<string, any> = {}> = Omit<MRT_ColumnDef<D>, 'id'> & {
183
+ id: string;
184
+ };
185
+ export declare type MRT_Column<D extends Record<string, any> = {}> = Omit<Column<D>, 'header' | 'footer' | 'columns' | 'columnDef' | 'filterFn'> & {
186
+ columnDef: MRT_DefinedColumnDef<D>;
152
187
  columns?: MRT_Column<D>[];
153
- columnDef: MRT_ColumnDef<D>;
154
- header: string;
188
+ filterFn?: MRT_FilterFn<D>;
155
189
  footer: string;
190
+ header: string;
156
191
  };
157
192
  export declare type MRT_Header<D extends Record<string, any> = {}> = Omit<Header<D>, 'column'> & {
158
193
  column: MRT_Column<D>;
@@ -171,10 +206,10 @@ export declare type MRT_Cell<D extends Record<string, any> = {}> = Omit<Cell<D>,
171
206
  column: MRT_Column<D>;
172
207
  row: MRT_Row<D>;
173
208
  };
174
- export declare type MRT_SortingOption = SortingFnOption<TableGenerics> | 'fuzzy';
175
- export declare type MRT_SortingFn = SortingFn<TableGenerics> | MRT_SortingOption;
176
- export declare type MRT_FILTER_OPTION = 'between' | 'contains' | 'empty' | 'endsWith' | 'equals' | 'fuzzy' | 'greaterThan' | 'greaterThanOrEqual' | 'lessThan' | 'lessThanOrEqual' | 'notEmpty' | 'notEquals' | 'startsWith' | FilterFnOption<TableGenerics>;
177
- export declare type MRT_FilterFn = FilterFn<TableGenerics> | MRT_FILTER_OPTION;
209
+ export declare type MRT_SortingOption = keyof typeof MRT_SortingFns;
210
+ export declare type MRT_SortingFn<D extends Record<string, any> = {}> = SortingFn<D> | MRT_SortingOption;
211
+ export declare type MRT_FilterOption = keyof typeof MRT_FilterFns;
212
+ export declare type MRT_FilterFn<D extends Record<string, any> = {}> = FilterFn<D> | MRT_FilterOption;
178
213
  export declare type MaterialReactTableProps<D extends Record<string, any> = {}> = MRT_TableOptions<D> & {
179
214
  editingMode?: 'table' | 'row' | 'cell';
180
215
  enableClickToCopy?: boolean;
@@ -198,127 +233,127 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
198
233
  enableToolbarBottom?: boolean;
199
234
  enableToolbarInternalActions?: boolean;
200
235
  enableToolbarTop?: boolean;
201
- enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
202
- enabledGlobalFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
236
+ enabledColumnFilterOptions?: (MRT_FilterOption | string)[] | null;
237
+ enabledGlobalFilterOptions?: (MRT_FilterOption | string)[] | null;
203
238
  icons?: Partial<MRT_Icons>;
204
239
  localization?: Partial<MRT_Localization>;
205
- muiExpandAllButtonProps?: IconButtonProps | (({ instance }: {
206
- instance: MRT_TableInstance<D>;
240
+ muiExpandAllButtonProps?: IconButtonProps | (({ table }: {
241
+ table: MRT_TableInstance<D>;
207
242
  }) => IconButtonProps);
208
- muiExpandButtonProps?: IconButtonProps | (({ instance, }: {
209
- instance: MRT_TableInstance<D>;
243
+ muiExpandButtonProps?: IconButtonProps | (({ table, }: {
244
+ table: MRT_TableInstance<D>;
210
245
  row: MRT_Row<D>;
211
246
  }) => IconButtonProps);
212
- muiLinearProgressProps?: LinearProgressProps | (({ instance, }: {
213
- instance: MRT_TableInstance<D>;
247
+ muiLinearProgressProps?: LinearProgressProps | (({ table }: {
248
+ table: MRT_TableInstance<D>;
214
249
  }) => LinearProgressProps);
215
- muiSearchTextFieldProps?: TextFieldProps | (({ instance }: {
216
- instance: MRT_TableInstance<D>;
250
+ muiSearchTextFieldProps?: TextFieldProps | (({ table }: {
251
+ table: MRT_TableInstance<D>;
217
252
  }) => TextFieldProps);
218
- muiSelectAllCheckboxProps?: CheckboxProps | (({ instance }: {
219
- instance: MRT_TableInstance<D>;
253
+ muiSelectAllCheckboxProps?: CheckboxProps | (({ table }: {
254
+ table: MRT_TableInstance<D>;
220
255
  }) => CheckboxProps);
221
- muiSelectCheckboxProps?: CheckboxProps | (({ instance, row, }: {
222
- instance: MRT_TableInstance<D>;
256
+ muiSelectCheckboxProps?: CheckboxProps | (({ table, row, }: {
257
+ table: MRT_TableInstance<D>;
223
258
  row: MRT_Row<D>;
224
259
  }) => CheckboxProps);
225
- muiTableBodyCellCopyButtonProps?: ButtonProps | (({ instance, cell, }: {
226
- instance: MRT_TableInstance<D>;
260
+ muiTableBodyCellCopyButtonProps?: ButtonProps | (({ table, cell, }: {
261
+ table: MRT_TableInstance<D>;
227
262
  cell: MRT_Cell<D>;
228
263
  }) => ButtonProps);
229
- muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({ instance, cell, }: {
230
- instance: MRT_TableInstance<D>;
264
+ muiTableBodyCellEditTextFieldProps?: TextFieldProps | (({ table, cell, }: {
265
+ table: MRT_TableInstance<D>;
231
266
  cell: MRT_Cell<D>;
232
267
  }) => TextFieldProps);
233
- muiTableBodyCellProps?: TableCellProps | (({ instance, cell, }: {
234
- instance: MRT_TableInstance<D>;
268
+ muiTableBodyCellProps?: TableCellProps | (({ table, cell, }: {
269
+ table: MRT_TableInstance<D>;
235
270
  cell: MRT_Cell<D>;
236
271
  }) => TableCellProps);
237
- muiTableBodyCellSkeletonProps?: SkeletonProps | (({ instance, cell, }: {
238
- instance: MRT_TableInstance<D>;
272
+ muiTableBodyCellSkeletonProps?: SkeletonProps | (({ table, cell, }: {
273
+ table: MRT_TableInstance<D>;
239
274
  cell: MRT_Cell<D>;
240
275
  }) => SkeletonProps);
241
- muiTableBodyProps?: TableBodyProps | (({ instance }: {
242
- instance: MRT_TableInstance<D>;
276
+ muiTableBodyProps?: TableBodyProps | (({ table }: {
277
+ table: MRT_TableInstance<D>;
243
278
  }) => TableBodyProps);
244
- muiTableBodyRowProps?: TableRowProps | (({ instance, row, }: {
245
- instance: MRT_TableInstance<D>;
279
+ muiTableBodyRowProps?: TableRowProps | (({ table, row, }: {
280
+ table: MRT_TableInstance<D>;
246
281
  row: MRT_Row<D>;
247
282
  }) => TableRowProps);
248
- muiTableContainerProps?: TableContainerProps | (({ instance, }: {
249
- instance: MRT_TableInstance<D>;
283
+ muiTableContainerProps?: TableContainerProps | (({ table }: {
284
+ table: MRT_TableInstance<D>;
250
285
  }) => TableContainerProps);
251
- muiTableDetailPanelProps?: TableCellProps | (({ instance, row, }: {
252
- instance: MRT_TableInstance<D>;
286
+ muiTableDetailPanelProps?: TableCellProps | (({ table, row, }: {
287
+ table: MRT_TableInstance<D>;
253
288
  row: MRT_Row<D>;
254
289
  }) => TableCellProps);
255
- muiTableFooterCellProps?: TableCellProps | (({ instance, column, }: {
256
- instance: MRT_TableInstance<D>;
290
+ muiTableFooterCellProps?: TableCellProps | (({ table, column, }: {
291
+ table: MRT_TableInstance<D>;
257
292
  column: MRT_Column<D>;
258
293
  }) => TableCellProps);
259
- muiTableFooterProps?: TableFooterProps | (({ instance, }: {
260
- instance: MRT_TableInstance<D>;
294
+ muiTableFooterProps?: TableFooterProps | (({ table }: {
295
+ table: MRT_TableInstance<D>;
261
296
  }) => TableFooterProps);
262
- muiTableFooterRowProps?: TableRowProps | (({ instance, footerGroup, }: {
263
- instance: MRT_TableInstance<D>;
297
+ muiTableFooterRowProps?: TableRowProps | (({ table, footerGroup, }: {
298
+ table: MRT_TableInstance<D>;
264
299
  footerGroup: MRT_HeaderGroup<D>;
265
300
  }) => TableRowProps);
266
- muiTableHeadCellColumnActionsButtonProps?: IconButtonProps | (({ instance, column, }: {
267
- instance: MRT_TableInstance<D>;
301
+ muiTableHeadCellColumnActionsButtonProps?: IconButtonProps | (({ table, column, }: {
302
+ table: MRT_TableInstance<D>;
268
303
  column: MRT_Column<D>;
269
304
  }) => IconButtonProps);
270
- muiTableHeadCellFilterTextFieldProps?: TextFieldProps | (({ instance, column, }: {
271
- instance: MRT_TableInstance<D>;
305
+ muiTableHeadCellFilterTextFieldProps?: TextFieldProps | (({ table, column, }: {
306
+ table: MRT_TableInstance<D>;
272
307
  column: MRT_Column<D>;
273
308
  }) => TextFieldProps);
274
- muiTableHeadCellProps?: TableCellProps | (({ instance, column, }: {
275
- instance: MRT_TableInstance<D>;
309
+ muiTableHeadCellProps?: TableCellProps | (({ table, column, }: {
310
+ table: MRT_TableInstance<D>;
276
311
  column: MRT_Column<D>;
277
312
  }) => TableCellProps);
278
- muiTableHeadProps?: TableHeadProps | (({ instance }: {
279
- instance: MRT_TableInstance<D>;
313
+ muiTableHeadProps?: TableHeadProps | (({ table }: {
314
+ table: MRT_TableInstance<D>;
280
315
  }) => TableHeadProps);
281
- muiTableHeadRowProps?: TableRowProps | (({ instance, headerGroup, }: {
282
- instance: MRT_TableInstance<D>;
316
+ muiTableHeadRowProps?: TableRowProps | (({ table, headerGroup, }: {
317
+ table: MRT_TableInstance<D>;
283
318
  headerGroup: MRT_HeaderGroup<D>;
284
319
  }) => TableRowProps);
285
- muiTablePaginationProps?: Partial<TablePaginationProps> | (({ instance, }: {
286
- instance: MRT_TableInstance<D>;
320
+ muiTablePaginationProps?: Partial<TablePaginationProps> | (({ table, }: {
321
+ table: MRT_TableInstance<D>;
287
322
  }) => Partial<TablePaginationProps>);
288
- muiTablePaperProps?: PaperProps | (({ instance }: {
289
- instance: MRT_TableInstance<D>;
323
+ muiTablePaperProps?: PaperProps | (({ table }: {
324
+ table: MRT_TableInstance<D>;
290
325
  }) => PaperProps);
291
- muiTableProps?: TableProps | (({ instance }: {
292
- instance: MRT_TableInstance<D>;
326
+ muiTableProps?: TableProps | (({ table }: {
327
+ table: MRT_TableInstance<D>;
293
328
  }) => TableProps);
294
- muiTableToolbarAlertBannerProps?: AlertProps | (({ instance }: {
295
- instance: MRT_TableInstance<D>;
329
+ muiTableToolbarAlertBannerProps?: AlertProps | (({ table }: {
330
+ table: MRT_TableInstance<D>;
296
331
  }) => AlertProps);
297
- muiTableToolbarBottomProps?: ToolbarProps | (({ instance }: {
298
- instance: MRT_TableInstance<D>;
332
+ muiTableToolbarBottomProps?: ToolbarProps | (({ table }: {
333
+ table: MRT_TableInstance<D>;
299
334
  }) => ToolbarProps);
300
- muiTableToolbarTopProps?: ToolbarProps | (({ instance }: {
301
- instance: MRT_TableInstance<D>;
335
+ muiTableToolbarTopProps?: ToolbarProps | (({ table }: {
336
+ table: MRT_TableInstance<D>;
302
337
  }) => ToolbarProps);
303
- onCellEditBlur?: ({ cell, event, instance, }: {
338
+ onCellEditBlur?: ({ cell, event, table, }: {
304
339
  event: FocusEvent<HTMLInputElement>;
305
340
  cell: MRT_Cell<D>;
306
- instance: MRT_TableInstance<D>;
341
+ table: MRT_TableInstance<D>;
307
342
  }) => void;
308
- onCellEditChange?: ({ cell, event, instance, }: {
343
+ onCellEditChange?: ({ cell, event, table, }: {
309
344
  event: ChangeEvent<HTMLInputElement>;
310
345
  cell: MRT_Cell<D>;
311
- instance: MRT_TableInstance<D>;
346
+ table: MRT_TableInstance<D>;
312
347
  }) => void;
313
348
  onCurrentEditingCellChange?: OnChangeFn<MRT_Cell>;
314
349
  onCurrentEditingRowChange?: OnChangeFn<MRT_Row>;
315
350
  onCurrentFilterFnsChange?: OnChangeFn<{
316
- [key: string]: MRT_FilterFn;
351
+ [key: string]: MRT_FilterOption;
317
352
  }>;
318
- onCurrentGlobalFilterFnChange?: OnChangeFn<MRT_FilterFn>;
319
- onEditRowSubmit?: ({ row, instance, }: {
353
+ onCurrentGlobalFilterFnChange?: OnChangeFn<MRT_FilterOption>;
354
+ onEditRowSubmit?: ({ row, table, }: {
320
355
  row: MRT_Row<D>;
321
- instance: MRT_TableInstance<D>;
356
+ table: MRT_TableInstance<D>;
322
357
  }) => Promise<void> | void;
323
358
  onDensityChange?: OnChangeFn<boolean>;
324
359
  onIsFullScreenChange?: OnChangeFn<boolean>;
@@ -329,48 +364,48 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
329
364
  positionGlobalFilter?: 'left' | 'right';
330
365
  positionPagination?: 'bottom' | 'top' | 'both';
331
366
  positionToolbarAlertBanner?: 'bottom' | 'top';
332
- renderDetailPanel?: ({ row, instance, }: {
367
+ renderDetailPanel?: ({ row, table, }: {
333
368
  row: MRT_Row<D>;
334
- instance: MRT_TableInstance<D>;
369
+ table: MRT_TableInstance<D>;
335
370
  }) => ReactNode;
336
- renderRowActionMenuItems?: ({ closeMenu, row, instance, }: {
371
+ renderRowActionMenuItems?: ({ closeMenu, row, table, }: {
337
372
  closeMenu: () => void;
338
373
  row: MRT_Row<D>;
339
- instance: MRT_TableInstance<D>;
374
+ table: MRT_TableInstance<D>;
340
375
  }) => ReactNode[];
341
- renderRowActions?: ({ row, instance, }: {
376
+ renderRowActions?: ({ row, table, }: {
342
377
  row: MRT_Row<D>;
343
- instance: MRT_TableInstance<D>;
378
+ table: MRT_TableInstance<D>;
344
379
  }) => ReactNode;
345
- renderToolbarBottomCustomActions?: ({ instance, }: {
346
- instance: MRT_TableInstance<D>;
380
+ renderToolbarBottomCustomActions?: ({ table, }: {
381
+ table: MRT_TableInstance<D>;
347
382
  }) => ReactNode;
348
- renderToolbarTopCustomActions?: ({ instance, }: {
349
- instance: MRT_TableInstance<D>;
383
+ renderToolbarTopCustomActions?: ({ table, }: {
384
+ table: MRT_TableInstance<D>;
350
385
  }) => ReactNode;
351
- renderToolbarInternalActions?: ({ instance, MRT_ToggleGlobalFilterButton, MRT_ToggleFiltersButton, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_FullScreenToggleButton, }: {
352
- instance: MRT_TableInstance<D>;
386
+ renderToolbarInternalActions?: ({ table, MRT_ToggleGlobalFilterButton, MRT_ToggleFiltersButton, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_FullScreenToggleButton, }: {
387
+ table: MRT_TableInstance<D>;
353
388
  MRT_ToggleGlobalFilterButton: FC<IconButtonProps & {
354
- instance: MRT_TableInstance<D>;
389
+ table: MRT_TableInstance<D>;
355
390
  }>;
356
391
  MRT_ToggleFiltersButton: FC<IconButtonProps & {
357
- instance: MRT_TableInstance<D>;
392
+ table: MRT_TableInstance<D>;
358
393
  }>;
359
394
  MRT_ShowHideColumnsButton: FC<IconButtonProps & {
360
- instance: MRT_TableInstance<D>;
395
+ table: MRT_TableInstance<D>;
361
396
  }>;
362
397
  MRT_ToggleDensePaddingButton: FC<IconButtonProps & {
363
- instance: MRT_TableInstance<D>;
398
+ table: MRT_TableInstance<D>;
364
399
  }>;
365
400
  MRT_FullScreenToggleButton: FC<IconButtonProps & {
366
- instance: MRT_TableInstance<D>;
401
+ table: MRT_TableInstance<D>;
367
402
  }>;
368
403
  }) => ReactNode;
369
404
  rowCount?: number;
370
405
  rowNumberMode?: 'original' | 'static';
371
406
  selectAllMode?: 'all' | 'page';
372
407
  tableId?: string;
373
- virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>>;
408
+ virtualizerProps?: any;
374
409
  };
375
410
  declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, positionActionsColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
376
411
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import { FC, RefObject } from 'react';
2
2
  import type { MRT_TableInstance } from '..';
3
3
  interface Props {
4
- instance: MRT_TableInstance;
4
+ table: MRT_TableInstance;
5
5
  tableContainerRef: RefObject<HTMLDivElement>;
6
6
  }
7
7
  export declare const MRT_TableBody: FC<Props>;
@@ -4,7 +4,7 @@ interface Props {
4
4
  cell: MRT_Cell;
5
5
  enableHover?: boolean;
6
6
  rowIndex: number;
7
- instance: MRT_TableInstance;
7
+ table: MRT_TableInstance;
8
8
  }
9
9
  export declare const MRT_TableBodyCell: FC<Props>;
10
10
  export {};
@@ -3,7 +3,7 @@ import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
5
  rowIndex: number;
6
- instance: MRT_TableInstance;
6
+ table: MRT_TableInstance;
7
7
  }
8
8
  export declare const MRT_TableBodyRow: FC<Props>;
9
9
  export {};
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
- instance: MRT_TableInstance;
5
+ table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_TableDetailPanel: FC<Props>;
8
8
  export {};
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import type { MRT_Column, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  column: MRT_Column;
5
- instance: MRT_TableInstance;
5
+ table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_ColumnPinningButtons: FC<Props>;
8
8
  export {};
@@ -3,7 +3,7 @@ import { MRT_Cell, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  cell: MRT_Cell;
5
5
  children: ReactNode;
6
- instance: MRT_TableInstance;
6
+ table: MRT_TableInstance;
7
7
  }
8
8
  export declare const MRT_CopyButton: FC<Props>;
9
9
  export {};
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
- instance: MRT_TableInstance;
5
+ table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_EditActionButtons: FC<Props>;
8
8
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { MRT_TableInstance } from '..';
3
3
  interface Props {
4
- instance: MRT_TableInstance;
4
+ table: MRT_TableInstance;
5
5
  }
6
6
  export declare const MRT_ExpandAllButton: FC<Props>;
7
7
  export {};
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import type { MRT_Row, MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  row: MRT_Row;
5
- instance: MRT_TableInstance;
5
+ table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_ExpandButton: FC<Props>;
8
8
  export {};
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
3
  import { MRT_TableInstance } from '..';
4
4
  interface Props extends IconButtonProps {
5
- instance: MRT_TableInstance;
5
+ table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_FullScreenToggleButton: FC<Props>;
8
8
  export {};
@@ -2,7 +2,7 @@ import { FC, Ref } from 'react';
2
2
  import { MRT_TableInstance } from '..';
3
3
  interface Props {
4
4
  ref: Ref<HTMLButtonElement>;
5
- instance: MRT_TableInstance;
5
+ table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_GrabHandleButton: FC<Props>;
8
8
  export {};
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
3
  import { MRT_TableInstance } from '..';
4
4
  interface Props extends IconButtonProps {
5
- instance: MRT_TableInstance;
5
+ table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_ShowHideColumnsButton: FC<Props>;
8
8
  export {};
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
3
  import { MRT_TableInstance } from '..';
4
4
  interface Props extends IconButtonProps {
5
- instance: MRT_TableInstance;
5
+ table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_ToggleDensePaddingButton: FC<Props>;
8
8
  export {};
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
3
  import { MRT_TableInstance } from '..';
4
4
  interface Props extends IconButtonProps {
5
- instance: MRT_TableInstance;
5
+ table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_ToggleFiltersButton: FC<Props>;
8
8
  export {};
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
3
  import { MRT_TableInstance } from '..';
4
4
  interface Props extends IconButtonProps {
5
- instance: MRT_TableInstance;
5
+ table: MRT_TableInstance;
6
6
  }
7
7
  export declare const MRT_ToggleGlobalFilterButton: FC<Props>;
8
8
  export {};