material-react-table 0.9.7 → 0.12.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 +176 -158
  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_ToggleColumnActionMenuButton.d.ts +1 -1
  15. package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +1 -1
  16. package/dist/buttons/MRT_ToggleFiltersButton.d.ts +1 -1
  17. package/dist/buttons/MRT_ToggleGlobalFilterButton.d.ts +1 -1
  18. package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +1 -1
  19. package/dist/filtersFNs.d.ts +2 -2
  20. package/dist/footer/MRT_TableFooter.d.ts +1 -1
  21. package/dist/footer/MRT_TableFooterCell.d.ts +1 -1
  22. package/dist/footer/MRT_TableFooterRow.d.ts +1 -1
  23. package/dist/head/MRT_DraggableTableHeadCell.d.ts +1 -1
  24. package/dist/head/MRT_TableHead.d.ts +1 -1
  25. package/dist/head/MRT_TableHeadCell.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_SearchTextField.d.ts +1 -1
  35. package/dist/inputs/MRT_SelectCheckbox.d.ts +1 -1
  36. package/dist/material-react-table.cjs.development.js +607 -577
  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 +607 -577
  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/table/MRT_Table.d.ts +1 -1
  48. package/dist/table/MRT_TableContainer.d.ts +1 -1
  49. package/dist/table/MRT_TablePaper.d.ts +1 -1
  50. package/dist/toolbar/MRT_LinearProgressBar.d.ts +1 -1
  51. package/dist/toolbar/MRT_TablePagination.d.ts +1 -1
  52. package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -1
  53. package/dist/toolbar/MRT_ToolbarBottom.d.ts +1 -1
  54. package/dist/toolbar/MRT_ToolbarInternalButtons.d.ts +1 -1
  55. package/dist/toolbar/MRT_ToolbarTop.d.ts +1 -1
  56. package/dist/utils.d.ts +2 -2
  57. package/package.json +1 -1
  58. package/src/MaterialReactTable.tsx +227 -211
  59. package/src/body/MRT_TableBody.tsx +5 -8
  60. package/src/body/MRT_TableBodyCell.tsx +15 -19
  61. package/src/body/MRT_TableBodyRow.tsx +8 -12
  62. package/src/body/MRT_TableDetailPanel.tsx +13 -11
  63. package/src/buttons/MRT_ColumnPinningButtons.tsx +3 -6
  64. package/src/buttons/MRT_CopyButton.tsx +5 -9
  65. package/src/buttons/MRT_EditActionButtons.tsx +5 -5
  66. package/src/buttons/MRT_ExpandAllButton.tsx +3 -3
  67. package/src/buttons/MRT_ExpandButton.tsx +5 -5
  68. package/src/buttons/MRT_FullScreenToggleButton.tsx +6 -6
  69. package/src/buttons/MRT_GrabHandleButton.tsx +3 -3
  70. package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -7
  71. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +6 -6
  72. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +6 -6
  73. package/src/buttons/MRT_ToggleFiltersButton.tsx +6 -9
  74. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +7 -7
  75. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +6 -9
  76. package/src/filtersFNs.ts +2 -2
  77. package/src/footer/MRT_TableFooter.tsx +5 -5
  78. package/src/footer/MRT_TableFooterCell.tsx +6 -6
  79. package/src/footer/MRT_TableFooterRow.tsx +5 -8
  80. package/src/head/MRT_DraggableTableHeadCell.tsx +4 -7
  81. package/src/head/MRT_TableHead.tsx +5 -5
  82. package/src/head/MRT_TableHeadCell.tsx +14 -22
  83. package/src/head/MRT_TableHeadCellFilterContainer.tsx +6 -7
  84. package/src/head/MRT_TableHeadCellFilterLabel.tsx +3 -3
  85. package/src/head/MRT_TableHeadCellResizeHandle.tsx +3 -3
  86. package/src/head/MRT_TableHeadCellSortLabel.tsx +3 -6
  87. package/src/head/MRT_TableHeadRow.tsx +6 -6
  88. package/src/inputs/MRT_EditCellTextField.tsx +12 -12
  89. package/src/inputs/MRT_FilterRangeFields.tsx +5 -13
  90. package/src/inputs/MRT_FilterTextField.tsx +82 -53
  91. package/src/inputs/MRT_SearchTextField.tsx +17 -13
  92. package/src/inputs/MRT_SelectCheckbox.tsx +14 -20
  93. package/src/menus/MRT_ColumnActionMenu.tsx +5 -5
  94. package/src/menus/MRT_FilterOptionMenu.tsx +43 -36
  95. package/src/menus/MRT_RowActionMenu.tsx +4 -4
  96. package/src/menus/MRT_ShowHideColumnsMenu.tsx +6 -6
  97. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +9 -12
  98. package/src/table/MRT_Table.tsx +7 -7
  99. package/src/table/MRT_TableContainer.tsx +5 -8
  100. package/src/table/MRT_TablePaper.tsx +7 -9
  101. package/src/table/MRT_TableRoot.tsx +13 -21
  102. package/src/toolbar/MRT_LinearProgressBar.tsx +4 -7
  103. package/src/toolbar/MRT_TablePagination.tsx +4 -4
  104. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +6 -8
  105. package/src/toolbar/MRT_ToolbarBottom.tsx +8 -8
  106. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +10 -12
  107. package/src/toolbar/MRT_ToolbarTop.tsx +10 -10
  108. package/src/utils.ts +2 -2
  109. package/dist/enums.d.ts +0 -13
  110. package/src/enums.ts +0 -13
@@ -47,7 +47,6 @@ import {
47
47
  import { Options as VirtualizerOptions } from 'react-virtual';
48
48
  import { MRT_Localization, MRT_DefaultLocalization_EN } from './localization';
49
49
  import { MRT_Default_Icons, MRT_Icons } from './icons';
50
- import { MRT_FILTER_OPTION } from './enums';
51
50
  import { MRT_TableRoot } from './table/MRT_TableRoot';
52
51
 
53
52
  export type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<
@@ -121,7 +120,7 @@ export type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<
121
120
  [key: string]: MRT_FilterFn;
122
121
  }>
123
122
  >;
124
- setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterFn<D>>>;
123
+ setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterFn>>;
125
124
  setIsDensePadding: Dispatch<SetStateAction<boolean>>;
126
125
  setIsFullScreen: Dispatch<SetStateAction<boolean>>;
127
126
  setShowFilters: Dispatch<SetStateAction<boolean>>;
@@ -144,54 +143,67 @@ export type MRT_TableState<D extends Record<string, any> = {}> = TableState & {
144
143
 
145
144
  export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
146
145
  ColumnDef<D>,
147
- 'accessorFN' | 'header' | 'footer' | 'columns' | 'filterFn'
146
+ | 'accessorFn'
147
+ | 'aggregatedCell'
148
+ | 'header'
149
+ | 'footer'
150
+ | 'columns'
151
+ | 'filterFn'
152
+ | 'cell'
148
153
  > & {
154
+ AggregatedCell?: ({
155
+ cell,
156
+ instance,
157
+ }: {
158
+ cell: MRT_Cell<D>;
159
+ instance: MRT_TableInstance<D>;
160
+ }) => ReactNode;
149
161
  Cell?: ({
150
162
  cell,
151
- tableInstance,
163
+ instance,
152
164
  }: {
153
165
  cell: MRT_Cell<D>;
154
- tableInstance: MRT_TableInstance<D>;
166
+ instance: MRT_TableInstance<D>;
155
167
  }) => ReactNode;
156
168
  Edit?: ({
157
169
  cell,
158
- tableInstance,
170
+ instance,
159
171
  }: {
160
172
  cell: MRT_Cell<D>;
161
- tableInstance: MRT_TableInstance<D>;
173
+ instance: MRT_TableInstance<D>;
162
174
  }) => ReactNode;
163
175
  Filter?: ({
164
176
  header,
165
- tableInstance,
177
+ instance,
166
178
  }: {
167
179
  header: MRT_Header<D>;
168
- tableInstance: MRT_TableInstance<D>;
180
+ instance: MRT_TableInstance<D>;
169
181
  }) => ReactNode;
170
182
  Footer?:
171
183
  | ReactNode
172
184
  | (({
173
185
  footer,
174
- tableInstance,
186
+ instance,
175
187
  }: {
176
188
  footer: MRT_Header<D>;
177
- tableInstance: MRT_TableInstance<D>;
189
+ instance: MRT_TableInstance<D>;
178
190
  }) => ReactNode);
179
191
  Header?:
180
192
  | ReactNode
181
193
  | (({
182
194
  header,
183
- tableInstance,
195
+ instance,
184
196
  }: {
185
197
  header: MRT_Header<D>;
186
- tableInstance: MRT_TableInstance<D>;
198
+ instance: MRT_TableInstance<D>;
187
199
  }) => ReactNode);
188
- accessorFN?: (row: D) => any;
200
+ accessorFn?: (row: D) => any;
189
201
  columns?: MRT_ColumnDef<D>[];
190
202
  enableClickToCopy?: boolean;
191
203
  enableColumnActions?: boolean;
192
204
  enableColumnOrdering?: boolean;
193
205
  enableEditing?: boolean;
194
- enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];
206
+ enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
195
207
  filterFn?: MRT_FilterFn;
196
208
  filterSelectOptions?: (string | { text: string; value: string })[];
197
209
  footer?: string;
@@ -200,85 +212,94 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
200
212
  muiTableBodyCellCopyButtonProps?:
201
213
  | ButtonProps
202
214
  | (({
203
- tableInstance,
215
+ instance,
204
216
  cell,
205
217
  }: {
206
- tableInstance: MRT_TableInstance;
218
+ instance: MRT_TableInstance;
207
219
  cell: MRT_Cell<D>;
208
220
  }) => ButtonProps);
209
221
  muiTableBodyCellEditTextFieldProps?:
210
222
  | TextFieldProps
211
223
  | (({
212
- tableInstance,
224
+ instance,
213
225
  cell,
214
226
  }: {
215
- tableInstance: MRT_TableInstance;
227
+ instance: MRT_TableInstance;
216
228
  cell: MRT_Cell<D>;
217
229
  }) => TextFieldProps);
218
230
  muiTableBodyCellProps?:
219
231
  | TableCellProps
220
232
  | (({
221
- tableInstance,
233
+ instance,
222
234
  cell,
223
235
  }: {
224
- tableInstance: MRT_TableInstance;
236
+ instance: MRT_TableInstance;
225
237
  cell: MRT_Cell<D>;
226
238
  }) => TableCellProps);
227
239
  muiTableFooterCellProps?:
228
240
  | TableCellProps
229
241
  | (({
230
- tableInstance,
242
+ instance,
231
243
  column,
232
244
  }: {
233
- tableInstance: MRT_TableInstance;
245
+ instance: MRT_TableInstance;
234
246
  column: MRT_Column<D>;
235
247
  }) => TableCellProps);
236
248
  muiTableHeadCellColumnActionsButtonProps?:
237
249
  | IconButtonProps
238
250
  | (({
239
- tableInstance,
251
+ instance,
240
252
  column,
241
253
  }: {
242
- tableInstance: MRT_TableInstance;
254
+ instance: MRT_TableInstance;
243
255
  column: MRT_Column<D>;
244
256
  }) => IconButtonProps);
245
257
  muiTableHeadCellFilterTextFieldProps?:
246
258
  | TextFieldProps
247
259
  | (({
248
- tableInstance,
260
+ instance,
249
261
  column,
250
262
  }: {
251
- tableInstance: MRT_TableInstance;
263
+ instance: MRT_TableInstance;
252
264
  column: MRT_Column<D>;
253
265
  }) => TextFieldProps);
254
266
  muiTableHeadCellProps?:
255
267
  | TableCellProps
256
268
  | (({
257
- tableInstance,
269
+ instance,
258
270
  column,
259
271
  }: {
260
- tableInstance: MRT_TableInstance;
272
+ instance: MRT_TableInstance;
261
273
  column: MRT_Column<D>;
262
274
  }) => TableCellProps);
263
- onMrtCellEditBlur?: ({
275
+ onCellEditBlur?: ({
264
276
  cell,
265
277
  event,
266
- tableInstance,
278
+ instance,
267
279
  }: {
268
280
  event: FocusEvent<HTMLInputElement>;
269
281
  cell: MRT_Cell<D>;
270
- tableInstance: MRT_TableInstance<D>;
282
+ instance: MRT_TableInstance<D>;
271
283
  }) => void;
272
- onMrtCellEditChange?: ({
284
+ onCellEditChanged?: ({
273
285
  cell,
274
286
  event,
275
- tableInstance,
287
+ instance,
276
288
  }: {
277
289
  event: ChangeEvent<HTMLInputElement>;
278
290
  cell: MRT_Cell<D>;
279
- tableInstance: MRT_TableInstance<D>;
291
+ instance: MRT_TableInstance<D>;
292
+ }) => void;
293
+ onColumnFilterValueChanged?: ({
294
+ column,
295
+ event,
296
+ filterValue,
297
+ }: {
298
+ column: MRT_Column<D>;
299
+ event: ChangeEvent<HTMLInputElement>;
300
+ filterValue: any;
280
301
  }) => void;
281
- onMrtFilterValueChange?: ({
302
+ onColumnFilterValueChangedDebounced?: ({
282
303
  column,
283
304
  event,
284
305
  filterValue,
@@ -291,7 +312,7 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
291
312
 
292
313
  export type MRT_Column<D extends Record<string, any> = {}> = Omit<
293
314
  Column<D>,
294
- 'header' | 'footer' | 'columns'
315
+ 'header' | 'footer' | 'columns' | 'columnDef'
295
316
  > & {
296
317
  columns?: MRT_Column<D>[];
297
318
  columnDef: MRT_ColumnDef<D>;
@@ -332,9 +353,24 @@ export type MRT_Cell<D extends Record<string, any> = {}> = Omit<
332
353
  row: MRT_Row<D>;
333
354
  };
334
355
 
335
- export type MRT_FilterFn<D extends Record<string, any> = {}> =
356
+ export type MRT_FILTER_OPTION =
357
+ | 'between'
358
+ | 'contains'
359
+ | 'empty'
360
+ | 'endsWith'
361
+ | 'equals'
362
+ | 'fuzzy'
363
+ | 'greaterThan'
364
+ | 'greaterThanOrEqual'
365
+ | 'lessThan'
366
+ | 'lessThanOrEqual'
367
+ | 'notEmpty'
368
+ | 'notEquals'
369
+ | 'startsWith'
370
+ | FilterFnOption<TableGenerics>;
371
+
372
+ export type MRT_FilterFn =
336
373
  | FilterFn<TableGenerics>
337
- | FilterFnOption<D>
338
374
  | MRT_FILTER_OPTION
339
375
  | number
340
376
  | string
@@ -362,263 +398,214 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
362
398
  enableToolbarBottom?: boolean;
363
399
  enableToolbarInternalActions?: boolean;
364
400
  enableToolbarTop?: boolean;
365
- enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];
366
- enabledGlobalFilterOptions?: (MRT_FILTER_OPTION | string)[];
401
+ enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
402
+ enabledGlobalFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
367
403
  icons?: Partial<MRT_Icons>;
368
404
  localization?: Partial<MRT_Localization>;
369
405
  muiLinearProgressProps?:
370
406
  | LinearProgressProps
371
407
  | (({
372
- tableInstance,
408
+ instance,
373
409
  }: {
374
- tableInstance: MRT_TableInstance;
410
+ instance: MRT_TableInstance;
375
411
  }) => LinearProgressProps);
376
412
  muiSearchTextFieldProps?:
377
413
  | TextFieldProps
378
- | (({
379
- tableInstance,
380
- }: {
381
- tableInstance: MRT_TableInstance;
382
- }) => TextFieldProps);
414
+ | (({ instance }: { instance: MRT_TableInstance }) => TextFieldProps);
383
415
  muiSelectCheckboxProps?:
384
416
  | CheckboxProps
385
417
  | (({
386
- tableInstance,
418
+ instance,
387
419
  isSelectAll,
388
420
  row,
389
421
  }: {
390
- tableInstance: MRT_TableInstance;
422
+ instance: MRT_TableInstance;
391
423
  isSelectAll: boolean;
392
424
  row?: MRT_Row<D>;
393
425
  }) => CheckboxProps);
394
426
  muiTableBodyCellCopyButtonProps?:
395
427
  | ButtonProps
396
428
  | (({
397
- tableInstance,
429
+ instance,
398
430
  cell,
399
431
  }: {
400
- tableInstance: MRT_TableInstance;
432
+ instance: MRT_TableInstance;
401
433
  cell: MRT_Cell<D>;
402
434
  }) => ButtonProps);
403
435
  muiTableBodyCellEditTextFieldProps?:
404
436
  | TextFieldProps
405
437
  | (({
406
- tableInstance,
438
+ instance,
407
439
  cell,
408
440
  }: {
409
- tableInstance: MRT_TableInstance;
441
+ instance: MRT_TableInstance;
410
442
  cell: MRT_Cell<D>;
411
443
  }) => TextFieldProps);
412
444
  muiTableBodyCellProps?:
413
445
  | TableCellProps
414
446
  | (({
415
- tableInstance,
447
+ instance,
416
448
  cell,
417
449
  }: {
418
- tableInstance: MRT_TableInstance;
450
+ instance: MRT_TableInstance;
419
451
  cell: MRT_Cell<D>;
420
452
  }) => TableCellProps);
421
453
  muiTableBodyCellSkeletonProps?:
422
454
  | SkeletonProps
423
455
  | (({
424
- tableInstance,
456
+ instance,
425
457
  cell,
426
458
  }: {
427
- tableInstance: MRT_TableInstance;
459
+ instance: MRT_TableInstance;
428
460
  cell: MRT_Cell<D>;
429
461
  }) => SkeletonProps);
430
462
  muiTableBodyProps?:
431
463
  | TableBodyProps
432
- | (({
433
- tableInstance,
434
- }: {
435
- tableInstance: MRT_TableInstance;
436
- }) => TableBodyProps);
464
+ | (({ instance }: { instance: MRT_TableInstance }) => TableBodyProps);
437
465
  muiTableBodyRowProps?:
438
466
  | TableRowProps
439
467
  | (({
440
- tableInstance,
468
+ instance,
441
469
  row,
442
470
  }: {
443
- tableInstance: MRT_TableInstance;
471
+ instance: MRT_TableInstance;
444
472
  row: MRT_Row<D>;
445
473
  }) => TableRowProps);
446
474
  muiTableContainerProps?:
447
475
  | TableContainerProps
448
476
  | (({
449
- tableInstance,
477
+ instance,
450
478
  }: {
451
- tableInstance: MRT_TableInstance;
479
+ instance: MRT_TableInstance;
452
480
  }) => TableContainerProps);
453
481
  muiTableDetailPanelProps?:
454
482
  | TableCellProps
455
483
  | (({
456
- tableInstance,
484
+ instance,
457
485
  row,
458
486
  }: {
459
- tableInstance: MRT_TableInstance;
487
+ instance: MRT_TableInstance;
460
488
  row: MRT_Row<D>;
461
489
  }) => TableCellProps);
462
490
  muiTableFooterCellProps?:
463
491
  | TableCellProps
464
492
  | (({
465
- tableInstance,
493
+ instance,
466
494
  column,
467
495
  }: {
468
- tableInstance: MRT_TableInstance;
496
+ instance: MRT_TableInstance;
469
497
  column: MRT_Column<D>;
470
498
  }) => TableCellProps);
471
499
  muiTableFooterProps?:
472
500
  | TableFooterProps
473
- | (({
474
- tableInstance,
475
- }: {
476
- tableInstance: MRT_TableInstance;
477
- }) => TableFooterProps);
501
+ | (({ instance }: { instance: MRT_TableInstance }) => TableFooterProps);
478
502
  muiTableFooterRowProps?:
479
503
  | TableRowProps
480
504
  | (({
481
- tableInstance,
505
+ instance,
482
506
  footerGroup,
483
507
  }: {
484
- tableInstance: MRT_TableInstance;
508
+ instance: MRT_TableInstance;
485
509
  footerGroup: MRT_HeaderGroup<D>;
486
510
  }) => TableRowProps);
487
511
  muiTableHeadCellColumnActionsButtonProps?:
488
512
  | IconButtonProps
489
513
  | (({
490
- tableInstance,
514
+ instance,
491
515
  column,
492
516
  }: {
493
- tableInstance: MRT_TableInstance;
517
+ instance: MRT_TableInstance;
494
518
  column: MRT_Column<D>;
495
519
  }) => IconButtonProps);
496
520
  muiTableHeadCellFilterTextFieldProps?:
497
521
  | TextFieldProps
498
522
  | (({
499
- tableInstance,
523
+ instance,
500
524
  column,
501
525
  }: {
502
- tableInstance: MRT_TableInstance;
526
+ instance: MRT_TableInstance;
503
527
  column: MRT_Column<D>;
504
528
  }) => TextFieldProps);
505
529
  muiTableHeadCellProps?:
506
530
  | TableCellProps
507
531
  | (({
508
- tableInstance,
532
+ instance,
509
533
  column,
510
534
  }: {
511
- tableInstance: MRT_TableInstance;
535
+ instance: MRT_TableInstance;
512
536
  column: MRT_Column<D>;
513
537
  }) => TableCellProps);
514
538
  muiTableHeadProps?:
515
539
  | TableHeadProps
516
- | (({
517
- tableInstance,
518
- }: {
519
- tableInstance: MRT_TableInstance;
520
- }) => TableHeadProps);
540
+ | (({ instance }: { instance: MRT_TableInstance }) => TableHeadProps);
521
541
  muiTableHeadRowProps?:
522
542
  | TableRowProps
523
543
  | (({
524
- tableInstance,
544
+ instance,
525
545
  headerGroup,
526
546
  }: {
527
- tableInstance: MRT_TableInstance;
547
+ instance: MRT_TableInstance;
528
548
  headerGroup: MRT_HeaderGroup<D>;
529
549
  }) => TableRowProps);
530
550
  muiTablePaginationProps?:
531
551
  | Partial<TablePaginationProps>
532
552
  | (({
533
- tableInstance,
553
+ instance,
534
554
  }: {
535
- tableInstance: MRT_TableInstance;
555
+ instance: MRT_TableInstance;
536
556
  }) => Partial<TablePaginationProps>);
537
557
  muiTablePaperProps?:
538
558
  | PaperProps
539
- | (({
540
- tableInstance,
541
- }: {
542
- tableInstance: MRT_TableInstance;
543
- }) => PaperProps);
559
+ | (({ instance }: { instance: MRT_TableInstance }) => PaperProps);
544
560
  muiTableProps?:
545
561
  | TableProps
546
- | (({
547
- tableInstance,
548
- }: {
549
- tableInstance: MRT_TableInstance;
550
- }) => TableProps);
562
+ | (({ instance }: { instance: MRT_TableInstance }) => TableProps);
551
563
  muiTableToolbarAlertBannerProps?:
552
564
  | AlertProps
553
- | (({
554
- tableInstance,
555
- }: {
556
- tableInstance: MRT_TableInstance;
557
- }) => AlertProps);
565
+ | (({ instance }: { instance: MRT_TableInstance }) => AlertProps);
558
566
  muiTableToolbarBottomProps?:
559
567
  | ToolbarProps
560
- | (({
561
- tableInstance,
562
- }: {
563
- tableInstance: MRT_TableInstance;
564
- }) => ToolbarProps);
568
+ | (({ instance }: { instance: MRT_TableInstance }) => ToolbarProps);
565
569
  muiTableToolbarTopProps?:
566
570
  | ToolbarProps
567
- | (({
568
- tableInstance,
569
- }: {
570
- tableInstance: MRT_TableInstance;
571
- }) => ToolbarProps);
572
- onCurrentEditingCellChange?: OnChangeFn<MRT_Cell>;
573
- onCurrentEditingRowChange?: OnChangeFn<MRT_Row>;
574
- onCurrentFilterFnsChange?: OnChangeFn<{ [key: string]: MRT_FilterFn<D> }>;
575
- onCurrentGlobalFilterFnChange?: OnChangeFn<MRT_FilterFn<D>>;
576
- onIsDensePaddingChange?: OnChangeFn<boolean>;
577
- onIsFullScreenChange?: OnChangeFn<boolean>;
578
- onMrtCellClick?: ({
571
+ | (({ instance }: { instance: MRT_TableInstance }) => ToolbarProps);
572
+ onCellClick?: ({
579
573
  cell,
580
574
  event,
581
- tableInstance,
575
+ instance,
582
576
  }: {
583
577
  cell: MRT_Cell<D>;
584
- tableInstance: MRT_TableInstance<D>;
578
+ instance: MRT_TableInstance<D>;
585
579
  event: MouseEvent<HTMLTableCellElement>;
586
580
  }) => void;
587
- onMrtCellEditBlur?: ({
581
+ onCellEditBlur?: ({
588
582
  cell,
589
583
  event,
590
- tableInstance,
584
+ instance,
591
585
  }: {
592
586
  event: FocusEvent<HTMLInputElement>;
593
587
  cell: MRT_Cell<D>;
594
- tableInstance: MRT_TableInstance<D>;
588
+ instance: MRT_TableInstance<D>;
595
589
  }) => void;
596
- onMrtCellEditChange?: ({
590
+ onCellEditChanged?: ({
597
591
  cell,
598
592
  event,
599
- tableInstance,
593
+ instance,
600
594
  }: {
601
595
  event: ChangeEvent<HTMLInputElement>;
602
596
  cell: MRT_Cell<D>;
603
- tableInstance: MRT_TableInstance<D>;
597
+ instance: MRT_TableInstance<D>;
604
598
  }) => void;
605
- onMrtDetailPanelClick?: ({
599
+ onColumnFilterValueChanged?: ({
600
+ column,
606
601
  event,
607
- row,
608
- tableInstance,
602
+ filterValue,
609
603
  }: {
610
- event: MouseEvent<HTMLTableCellElement>;
611
- row: MRT_Row<D>;
612
- tableInstance: MRT_TableInstance<D>;
604
+ column: MRT_Column<D>;
605
+ event: ChangeEvent<HTMLInputElement>;
606
+ filterValue: any;
613
607
  }) => void;
614
- onMrtEditRowSubmit?: ({
615
- row,
616
- tableInstance,
617
- }: {
618
- row: MRT_Row<D>;
619
- tableInstance: MRT_TableInstance<D>;
620
- }) => Promise<void> | void;
621
- onMrtFilterValueChange?: ({
608
+ onColumnFilterValueChangedDebounced?: ({
622
609
  column,
623
610
  event,
624
611
  filterValue,
@@ -627,154 +614,183 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
627
614
  event: ChangeEvent<HTMLInputElement>;
628
615
  filterValue: any;
629
616
  }) => void;
630
- onMrtGlobalFilterValueChange?: ({
631
- event,
632
- tableInstance,
617
+ onColumnVisibilityChanged?: ({
618
+ column,
619
+ columnVisibility,
620
+ instance,
633
621
  }: {
634
- event: ChangeEvent<HTMLInputElement>;
635
- tableInstance: MRT_TableInstance<D>;
622
+ column: MRT_Column<D>;
623
+ columnVisibility: VisibilityState;
624
+ instance: MRT_TableInstance<D>;
636
625
  }) => void;
637
- onMrtRowClick?: ({
626
+ onCurrentEditingCellChange?: OnChangeFn<MRT_Cell>;
627
+ onCurrentEditingRowChange?: OnChangeFn<MRT_Row>;
628
+ onCurrentFilterFnsChange?: OnChangeFn<{ [key: string]: MRT_FilterFn }>;
629
+ onCurrentGlobalFilterFnChange?: OnChangeFn<MRT_FilterFn>;
630
+ onDetailPanelClick?: ({
638
631
  event,
639
632
  row,
640
- tableInstance,
633
+ instance,
641
634
  }: {
642
- event: MouseEvent<HTMLTableRowElement>;
635
+ event: MouseEvent<HTMLTableCellElement>;
643
636
  row: MRT_Row<D>;
644
- tableInstance: MRT_TableInstance<D>;
637
+ instance: MRT_TableInstance<D>;
645
638
  }) => void;
646
- onMrtRowExpandChange?: ({
639
+ onEditRowSubmit?: ({
640
+ row,
641
+ instance,
642
+ }: {
643
+ row: MRT_Row<D>;
644
+ instance: MRT_TableInstance<D>;
645
+ }) => Promise<void> | void;
646
+ onExpandChanged?: ({
647
647
  event,
648
648
  row,
649
649
  }: {
650
650
  event: MouseEvent<HTMLButtonElement>;
651
651
  row: MRT_Row<D>;
652
- tableInstance: MRT_TableInstance<D>;
652
+ instance: MRT_TableInstance<D>;
653
653
  }) => void;
654
- onMrtSelectAllChange?: ({
654
+ onGlobalFilterValueChanged?: ({
655
655
  event,
656
- selectedRows,
657
- tableInstance,
656
+ instance,
658
657
  }: {
659
- event: ChangeEvent;
660
- selectedRows: MRT_Row<D>[];
661
- tableInstance: MRT_TableInstance<D>;
658
+ event: ChangeEvent<HTMLInputElement>;
659
+ instance: MRT_TableInstance<D>;
662
660
  }) => void;
663
- onMrtSelectRowChange?: ({
661
+ onGlobalFilterValueChangedDebounced?: ({
664
662
  event,
665
- row,
666
- selectedRows,
667
- tableInstance,
663
+ instance,
668
664
  }: {
669
- event: ChangeEvent;
670
- row: MRT_Row<D>;
671
- selectedRows: MRT_Row<D>[];
672
- tableInstance: MRT_TableInstance<D>;
673
- }) => void;
674
- onMrtToggleColumnVisibility?: ({
675
- column,
676
- columnVisibility,
677
- tableInstance,
678
- }: {
679
- column: MRT_Column<D>;
680
- columnVisibility: VisibilityState;
681
- tableInstance: MRT_TableInstance<D>;
665
+ event: ChangeEvent<HTMLInputElement>;
666
+ instance: MRT_TableInstance<D>;
682
667
  }) => void;
683
- onMrtToggleDensePadding?: ({
668
+ onIsDensePaddingChange?: OnChangeFn<boolean>;
669
+ onIsDensePaddingChanged?: ({
684
670
  event,
685
671
  isDensePadding,
686
- tableInstance,
672
+ instance,
687
673
  }: {
688
674
  event: MouseEvent<HTMLButtonElement>;
689
675
  isDensePadding: boolean;
690
- tableInstance: MRT_TableInstance<D>;
676
+ instance: MRT_TableInstance<D>;
691
677
  }) => void;
692
- onMrtToggleFullScreen?: ({
678
+ onIsFullScreenChange?: OnChangeFn<boolean>;
679
+ onIsFullScreenChanged?: ({
693
680
  event,
694
681
  isFullScreen,
695
- tableInstance,
682
+ instance,
696
683
  }: {
697
684
  event: MouseEvent<HTMLButtonElement>;
698
685
  isFullScreen: boolean;
699
- tableInstance: MRT_TableInstance<D>;
686
+ instance: MRT_TableInstance<D>;
700
687
  }) => void;
701
- onMrtToggleShowFilters?: ({
688
+ onRowClick?: ({
702
689
  event,
690
+ row,
691
+ instance,
692
+ }: {
693
+ event: MouseEvent<HTMLTableRowElement>;
694
+ row: MRT_Row<D>;
695
+ instance: MRT_TableInstance<D>;
696
+ }) => void;
697
+ onRowSelectAllChanged?: ({
698
+ event,
699
+ selectedRows,
700
+ instance,
701
+ }: {
702
+ event: ChangeEvent;
703
+ selectedRows: MRT_Row<D>[];
704
+ instance: MRT_TableInstance<D>;
705
+ }) => void;
706
+ onRowSelectionChanged?: ({
707
+ event,
708
+ row,
709
+ selectedRows,
710
+ instance,
711
+ }: {
712
+ event: ChangeEvent;
713
+ row: MRT_Row<D>;
714
+ selectedRows: MRT_Row<D>[];
715
+ instance: MRT_TableInstance<D>;
716
+ }) => void;
717
+ onShowFiltersChange?: OnChangeFn<boolean>;
718
+ onShowFiltersChanged?: ({
719
+ event,
720
+ instance,
703
721
  showFilters,
704
- tableInstance,
705
722
  }: {
706
723
  event: MouseEvent<HTMLButtonElement>;
724
+ instance: MRT_TableInstance<D>;
707
725
  showFilters: boolean;
708
- tableInstance: MRT_TableInstance<D>;
709
726
  }) => void;
710
- onMrtToggleShowGlobalFilter?: ({
727
+ onShowGlobalFilterChange?: OnChangeFn<boolean>;
728
+ onShowGlobalFilterChanged?: ({
711
729
  event,
730
+ instance,
712
731
  showGlobalFilter,
713
- tableInstance,
714
732
  }: {
715
733
  event: MouseEvent<HTMLButtonElement>;
734
+ instance: MRT_TableInstance<D>;
716
735
  showGlobalFilter: boolean;
717
- tableInstance: MRT_TableInstance<D>;
718
736
  }) => void;
719
- onShowFiltersChange?: OnChangeFn<boolean>;
720
- onShowGlobalFilterChange?: OnChangeFn<boolean>;
721
737
  persistentStateMode?: 'localStorage' | 'sessionStorage';
722
738
  positionActionsColumn?: 'first' | 'last';
723
- positionPagination?: 'bottom' | 'top' | 'both';
724
739
  positionGlobalFilter?: 'left' | 'right';
740
+ positionPagination?: 'bottom' | 'top' | 'both';
725
741
  positionToolbarActions?: 'bottom' | 'top';
726
742
  positionToolbarAlertBanner?: 'bottom' | 'top';
727
743
  renderDetailPanel?: ({
728
744
  row,
729
- tableInstance,
745
+ instance,
730
746
  }: {
731
747
  row: MRT_Row<D>;
732
- tableInstance: MRT_TableInstance<D>;
748
+ instance: MRT_TableInstance<D>;
733
749
  }) => ReactNode;
734
750
  renderRowActionMenuItems?: ({
735
751
  closeMenu,
736
752
  row,
737
- tableInstance,
753
+ instance,
738
754
  }: {
739
755
  closeMenu: () => void;
740
756
  row: MRT_Row<D>;
741
- tableInstance: MRT_TableInstance<D>;
757
+ instance: MRT_TableInstance<D>;
742
758
  }) => ReactNode[];
743
759
  renderRowActions?: ({
744
760
  row,
745
- tableInstance,
761
+ instance,
746
762
  }: {
747
763
  row: MRT_Row<D>;
748
- tableInstance: MRT_TableInstance<D>;
764
+ instance: MRT_TableInstance<D>;
749
765
  }) => ReactNode;
750
766
  renderToolbarCustomActions?: ({
751
- tableInstance,
767
+ instance,
752
768
  }: {
753
- tableInstance: MRT_TableInstance<D>;
769
+ instance: MRT_TableInstance<D>;
754
770
  }) => ReactNode;
755
771
  renderToolbarInternalActions?: ({
756
- tableInstance,
772
+ instance,
757
773
  MRT_ToggleGlobalFilterButton,
758
774
  MRT_ToggleFiltersButton,
759
775
  MRT_ShowHideColumnsButton,
760
776
  MRT_ToggleDensePaddingButton,
761
777
  MRT_FullScreenToggleButton,
762
778
  }: {
763
- tableInstance: MRT_TableInstance<D>;
779
+ instance: MRT_TableInstance<D>;
764
780
  MRT_ToggleGlobalFilterButton: FC<
765
- IconButtonProps & { tableInstance: MRT_TableInstance<D> }
781
+ IconButtonProps & { instance: MRT_TableInstance<D> }
766
782
  >;
767
783
  MRT_ToggleFiltersButton: FC<
768
- IconButtonProps & { tableInstance: MRT_TableInstance<D> }
784
+ IconButtonProps & { instance: MRT_TableInstance<D> }
769
785
  >;
770
786
  MRT_ShowHideColumnsButton: FC<
771
- IconButtonProps & { tableInstance: MRT_TableInstance<D> }
787
+ IconButtonProps & { instance: MRT_TableInstance<D> }
772
788
  >;
773
789
  MRT_ToggleDensePaddingButton: FC<
774
- IconButtonProps & { tableInstance: MRT_TableInstance<D> }
790
+ IconButtonProps & { instance: MRT_TableInstance<D> }
775
791
  >;
776
792
  MRT_FullScreenToggleButton: FC<
777
- IconButtonProps & { tableInstance: MRT_TableInstance<D> }
793
+ IconButtonProps & { instance: MRT_TableInstance<D> }
778
794
  >;
779
795
  }) => ReactNode;
780
796
  rowNumberMode?: 'original' | 'static';