material-react-table 0.7.0-alpha.1 → 0.7.0-alpha.10

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 (46) hide show
  1. package/README.md +29 -19
  2. package/dist/MaterialReactTable.d.ts +203 -61
  3. package/dist/buttons/MRT_CopyButton.d.ts +1 -2
  4. package/dist/localization.d.ts +1 -0
  5. package/dist/material-react-table.cjs.development.js +303 -956
  6. package/dist/material-react-table.cjs.development.js.map +1 -1
  7. package/dist/material-react-table.cjs.production.min.js +1 -1
  8. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  9. package/dist/material-react-table.esm.js +303 -956
  10. package/dist/material-react-table.esm.js.map +1 -1
  11. package/dist/utils.d.ts +1 -1
  12. package/package.json +4 -4
  13. package/src/MaterialReactTable.tsx +380 -128
  14. package/src/body/MRT_TableBody.tsx +1 -1
  15. package/src/body/MRT_TableBodyCell.tsx +9 -6
  16. package/src/body/MRT_TableBodyRow.tsx +2 -2
  17. package/src/body/MRT_TableDetailPanel.tsx +6 -4
  18. package/src/buttons/MRT_CopyButton.tsx +3 -4
  19. package/src/buttons/MRT_EditActionButtons.tsx +5 -3
  20. package/src/buttons/MRT_ExpandButton.tsx +1 -1
  21. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +5 -2
  22. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +6 -6
  23. package/src/buttons/MRT_ToggleSearchButton.tsx +6 -1
  24. package/src/footer/MRT_TableFooter.tsx +1 -1
  25. package/src/footer/MRT_TableFooterCell.tsx +2 -2
  26. package/src/footer/MRT_TableFooterRow.tsx +1 -1
  27. package/src/head/MRT_TableHead.tsx +1 -1
  28. package/src/head/MRT_TableHeadCell.tsx +22 -29
  29. package/src/head/MRT_TableHeadRow.tsx +1 -1
  30. package/src/inputs/MRT_EditCellTextField.tsx +30 -14
  31. package/src/inputs/MRT_FilterTextField.tsx +2 -2
  32. package/src/inputs/MRT_SearchTextField.tsx +8 -3
  33. package/src/inputs/MRT_SelectCheckbox.tsx +9 -7
  34. package/src/localization.ts +2 -1
  35. package/src/menus/MRT_RowActionMenu.tsx +7 -5
  36. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +4 -5
  37. package/src/table/MRT_Table.tsx +1 -1
  38. package/src/table/MRT_TableContainer.tsx +16 -20
  39. package/src/table/MRT_TablePaper.tsx +9 -5
  40. package/src/table/MRT_TableRoot.tsx +11 -8
  41. package/src/toolbar/MRT_LinearProgressBar.tsx +1 -1
  42. package/src/toolbar/MRT_TablePagination.tsx +6 -2
  43. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +2 -1
  44. package/src/toolbar/MRT_ToolbarBottom.tsx +1 -1
  45. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +5 -4
  46. package/src/toolbar/MRT_ToolbarTop.tsx +2 -2
package/dist/utils.d.ts CHANGED
@@ -7,6 +7,6 @@ export declare const createGroup: <D extends Record<string, any> = {}>(table: Ta
7
7
  export declare const createDataColumn: <D extends Record<string, any> = {}>(table: Table<D>, column: MRT_ColumnInterface<D>, currentFilterTypes: {
8
8
  [key: string]: MRT_FilterType;
9
9
  }) => ColumnDef<D>;
10
- export declare const createDisplayColumn: <D extends Record<string, any> = {}>(table: Table<D>, column: Pick<MRT_ColumnInterface<D>, "footer" | "columns" | "id" | "accessorKey" | "accessorFn" | "cell" | "meta" | "enableHiding" | "defaultCanHide" | "defaultIsVisible" | "enablePinning" | "defaultCanPin" | "filterType" | "enableAllFilters" | "enableColumnFilter" | "enableGlobalFilter" | "defaultCanFilter" | "defaultCanColumnFilter" | "defaultCanGlobalFilter" | "sortType" | "sortDescFirst" | "enableSorting" | "enableMultiSort" | "defaultCanSort" | "invertSorting" | "sortUndefined" | "aggregationType" | "aggregateValue" | "aggregatedCell" | "enableGrouping" | "defaultCanGroup" | "enableResizing" | "defaultCanResize" | "width" | "minWidth" | "maxWidth" | "Edit" | "Filter" | "Footer" | "Header" | "Cell" | "enableClickToCopy" | "enableColumnActions" | "enableEditing" | "enableColumnFilters" | "enabledFilterTypes" | "filter" | "filterSelectOptions" | "muiTableBodyCellCopyButtonProps" | "muiTableBodyCellEditTextFieldProps" | "muiTableBodyCellProps" | "muiTableFooterCellProps" | "muiTableHeadCellColumnActionsButtonProps" | "muiTableHeadCellFilterTextFieldProps" | "muiTableHeadCellProps" | "onCellEditChange" | "onFilterChange"> & {
10
+ export declare const createDisplayColumn: <D extends Record<string, any> = {}>(table: Table<D>, column: Pick<MRT_ColumnInterface<D>, "footer" | "columns" | "id" | "accessorKey" | "accessorFn" | "cell" | "meta" | "enableHiding" | "defaultCanHide" | "defaultIsVisible" | "enablePinning" | "defaultCanPin" | "filterType" | "enableAllFilters" | "enableColumnFilter" | "enableGlobalFilter" | "defaultCanFilter" | "defaultCanColumnFilter" | "defaultCanGlobalFilter" | "sortType" | "sortDescFirst" | "enableSorting" | "enableMultiSort" | "defaultCanSort" | "invertSorting" | "sortUndefined" | "aggregationType" | "aggregateValue" | "aggregatedCell" | "enableGrouping" | "defaultCanGroup" | "enableResizing" | "defaultCanResize" | "width" | "minWidth" | "maxWidth" | "Edit" | "Filter" | "Footer" | "Header" | "Cell" | "enableClickToCopy" | "enableColumnActions" | "enableEditing" | "enabledFilterTypes" | "filter" | "filterSelectOptions" | "muiTableBodyCellCopyButtonProps" | "muiTableBodyCellEditTextFieldProps" | "muiTableBodyCellProps" | "muiTableFooterCellProps" | "muiTableHeadCellColumnActionsButtonProps" | "muiTableHeadCellFilterTextFieldProps" | "muiTableHeadCellProps" | "onCellEditChange" | "onColumnFilterValueChange"> & {
11
11
  header?: string | undefined;
12
12
  }) => ColumnDef<D>;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "version": "0.7.0-alpha.1",
2
+ "version": "0.7.0-alpha.10",
3
3
  "license": "MIT",
4
4
  "name": "material-react-table",
5
- "description": "A fully featured Material-UI implementation of react-table, inspired by material-table and the mui DataGrid, written from the ground up in TypeScript.",
5
+ "description": "A fully featured Material UI implementation of react-table, inspired by material-table and the MUI X DataGrid, written from the ground up in TypeScript.",
6
6
  "author": "Kevin Vandy",
7
7
  "keywords": [
8
8
  "react-table",
@@ -24,7 +24,7 @@
24
24
  "src"
25
25
  ],
26
26
  "engines": {
27
- "node": ">=12"
27
+ "node": ">=14"
28
28
  },
29
29
  "scripts": {
30
30
  "analyze": "size-limit --why",
@@ -97,7 +97,7 @@
97
97
  "react": ">=16.8"
98
98
  },
99
99
  "dependencies": {
100
- "@tanstack/react-table": "^8.0.0-alpha.26",
100
+ "@tanstack/react-table": "^8.0.0-alpha.28",
101
101
  "match-sorter": "^6.3.1"
102
102
  }
103
103
  }
@@ -2,6 +2,7 @@ import React, {
2
2
  ChangeEvent,
3
3
  Dispatch,
4
4
  FC,
5
+ FocusEvent,
5
6
  MouseEvent,
6
7
  ReactNode,
7
8
  SetStateAction,
@@ -39,12 +40,18 @@ import {
39
40
  Row,
40
41
  TableInstance,
41
42
  TableState,
43
+ VisibilityState,
42
44
  } from '@tanstack/react-table';
43
45
  import { MRT_Localization, MRT_DefaultLocalization_EN } from './localization';
44
46
  import { MRT_Default_Icons, MRT_Icons } from './icons';
45
47
  import { MRT_FILTER_TYPE } from './enums';
46
48
  import { MRT_TableRoot } from './table/MRT_TableRoot';
47
49
 
50
+ //@ts-ignore
51
+ global.performance = global.performance || {
52
+ now: () => new Date().getTime(),
53
+ };
54
+
48
55
  export type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<
49
56
  Omit<
50
57
  Options<D>,
@@ -85,11 +92,11 @@ export type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<
85
92
  > & {
86
93
  getAllColumns: () => MRT_ColumnInstance<D>[];
87
94
  getAllLeafColumns: () => MRT_ColumnInstance<D>[];
88
- getExpandedRowModel: () => MRT_RowModel;
89
- getPaginationRowModel: () => MRT_RowModel;
90
- getPrePaginationRowModel: () => MRT_RowModel;
91
- getRowModel: () => MRT_RowModel;
92
- getSelectedRowModel: () => MRT_RowModel;
95
+ getExpandedRowModel: () => MRT_RowModel<D>;
96
+ getPaginationRowModel: () => MRT_RowModel<D>;
97
+ getPrePaginationRowModel: () => MRT_RowModel<D>;
98
+ getRowModel: () => MRT_RowModel<D>;
99
+ getSelectedRowModel: () => MRT_RowModel<D>;
93
100
  getState: () => MRT_TableState<D>;
94
101
  options: MaterialReactTableProps<D> & {
95
102
  icons: MRT_Icons;
@@ -131,16 +138,18 @@ export type MRT_ColumnInterface<D extends Record<string, any> = {}> = Omit<
131
138
  Edit?: ({
132
139
  cell,
133
140
  tableInstance,
134
- onChange,
135
- }: {
141
+ }: // onChange,
142
+ {
136
143
  cell: MRT_Cell<D>;
137
144
  tableInstance: MRT_TableInstance<D>;
138
- onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
145
+ // onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
139
146
  }) => ReactNode;
140
147
  Filter?: ({
148
+ // onChange,
141
149
  header,
142
150
  tableInstance,
143
151
  }: {
152
+ // onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
144
153
  header: MRT_Header<D>;
145
154
  tableInstance: MRT_TableInstance<D>;
146
155
  }) => ReactNode;
@@ -170,8 +179,6 @@ export type MRT_ColumnInterface<D extends Record<string, any> = {}> = Omit<
170
179
  enableClickToCopy?: boolean;
171
180
  enableColumnActions?: boolean;
172
181
  enableEditing?: boolean;
173
- enableColumnFilters?: boolean;
174
- enableHiding?: boolean;
175
182
  enabledFilterTypes?: (MRT_FILTER_TYPE | string)[];
176
183
  filter?: MRT_FilterType | string | FilterType<D>;
177
184
  filterSelectOptions?: (string | { text: string; value: string })[];
@@ -179,33 +186,92 @@ export type MRT_ColumnInterface<D extends Record<string, any> = {}> = Omit<
179
186
  header: string;
180
187
  muiTableBodyCellCopyButtonProps?:
181
188
  | ButtonProps
182
- | ((cell?: MRT_Cell<D>) => ButtonProps);
189
+ | (({
190
+ tableInstance,
191
+ cell,
192
+ }: {
193
+ tableInstance: MRT_TableInstance;
194
+ cell: MRT_Cell<D>;
195
+ }) => ButtonProps);
183
196
  muiTableBodyCellEditTextFieldProps?:
184
197
  | TextFieldProps
185
- | ((cell: MRT_Cell<D>) => TextFieldProps);
198
+ | (({
199
+ tableInstance,
200
+ cell,
201
+ }: {
202
+ tableInstance: MRT_TableInstance;
203
+ cell: MRT_Cell<D>;
204
+ }) => TextFieldProps);
186
205
  muiTableBodyCellProps?:
187
206
  | TableCellProps
188
- | ((cell: MRT_Cell<D>) => TableCellProps);
207
+ | (({
208
+ tableInstance,
209
+ cell,
210
+ }: {
211
+ tableInstance: MRT_TableInstance;
212
+ cell: MRT_Cell<D>;
213
+ }) => TableCellProps);
189
214
  muiTableFooterCellProps?:
190
215
  | TableCellProps
191
- | ((column: MRT_ColumnInstance<D>) => TableCellProps);
216
+ | (({
217
+ tableInstance,
218
+ column,
219
+ }: {
220
+ tableInstance: MRT_TableInstance;
221
+ column: MRT_ColumnInstance<D>;
222
+ }) => TableCellProps);
192
223
  muiTableHeadCellColumnActionsButtonProps?:
193
224
  | IconButtonProps
194
- | ((column: MRT_ColumnInstance<D>) => IconButtonProps);
225
+ | (({
226
+ tableInstance,
227
+ column,
228
+ }: {
229
+ tableInstance: MRT_TableInstance;
230
+ column: MRT_ColumnInstance<D>;
231
+ }) => IconButtonProps);
195
232
  muiTableHeadCellFilterTextFieldProps?:
196
233
  | TextFieldProps
197
- | ((column: MRT_ColumnInstance<D>) => TextFieldProps);
234
+ | (({
235
+ tableInstance,
236
+ column,
237
+ }: {
238
+ tableInstance: MRT_TableInstance;
239
+ column: MRT_ColumnInstance<D>;
240
+ }) => TextFieldProps);
198
241
  muiTableHeadCellProps?:
199
242
  | TableCellProps
200
- | ((column: MRT_ColumnInstance<D>) => TableCellProps);
201
- onCellEditChange?: (
202
- event: ChangeEvent<HTMLInputElement>,
203
- cell: MRT_Cell<D>,
204
- ) => void;
205
- onFilterChange?: (
206
- event: ChangeEvent<HTMLInputElement>,
207
- filterValue: any,
208
- ) => void;
243
+ | (({
244
+ tableInstance,
245
+ column,
246
+ }: {
247
+ tableInstance: MRT_TableInstance;
248
+ column: MRT_ColumnInstance<D>;
249
+ }) => TableCellProps);
250
+ onCellEditBlur?: ({
251
+ cell,
252
+ event,
253
+ tableInstance,
254
+ }: {
255
+ event: FocusEvent<HTMLInputElement>;
256
+ cell: MRT_Cell<D>;
257
+ tableInstance: MRT_TableInstance<D>;
258
+ }) => void;
259
+ onCellEditChange?: ({
260
+ cell,
261
+ event,
262
+ tableInstance,
263
+ }: {
264
+ event: ChangeEvent<HTMLInputElement>;
265
+ cell: MRT_Cell<D>;
266
+ tableInstance: MRT_TableInstance<D>;
267
+ }) => void;
268
+ onColumnFilterValueChange?: ({
269
+ event,
270
+ filterValue,
271
+ }: {
272
+ event: ChangeEvent<HTMLInputElement>;
273
+ filterValue: any;
274
+ }) => void;
209
275
  };
210
276
 
211
277
  export type MRT_ColumnInstance<D extends Record<string, any> = {}> = Omit<
@@ -270,7 +336,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
270
336
  enablePagination?: boolean;
271
337
  enableRowActions?: boolean;
272
338
  enableStickyHeader?: boolean;
273
- enableRowEditing?: boolean;
339
+ enableEditing?: boolean;
274
340
  enableRowNumbers?: boolean;
275
341
  enableSelectAll?: boolean;
276
342
  enabledGlobalFilterTypes?: (MRT_FILTER_TYPE | string)[];
@@ -287,155 +353,342 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
287
353
  localization?: Partial<MRT_Localization>;
288
354
  muiLinearProgressProps?:
289
355
  | LinearProgressProps
290
- | ((tableInstance: MRT_TableInstance) => LinearProgressProps);
291
- muiSearchTextFieldProps?: TextFieldProps;
356
+ | (({
357
+ tableInstance,
358
+ }: {
359
+ tableInstance: MRT_TableInstance;
360
+ }) => LinearProgressProps);
361
+ muiSearchTextFieldProps?:
362
+ | TextFieldProps
363
+ | (({
364
+ tableInstance,
365
+ }: {
366
+ tableInstance: MRT_TableInstance;
367
+ }) => TextFieldProps);
292
368
  muiSelectCheckboxProps?:
293
369
  | CheckboxProps
294
- | ((
295
- isSelectAll?: boolean,
296
- row?: MRT_Row<D>,
297
- tableInstance?: MRT_TableInstance<D>,
298
- ) => CheckboxProps);
370
+ | (({
371
+ tableInstance,
372
+ isSelectAll,
373
+ row,
374
+ }: {
375
+ tableInstance: MRT_TableInstance;
376
+ isSelectAll: boolean;
377
+ row?: MRT_Row<D>;
378
+ }) => CheckboxProps);
299
379
  muiTableBodyCellCopyButtonProps?:
300
380
  | ButtonProps
301
- | ((cell?: MRT_Cell<D>) => ButtonProps);
381
+ | (({
382
+ tableInstance,
383
+ cell,
384
+ }: {
385
+ tableInstance: MRT_TableInstance;
386
+ cell: MRT_Cell<D>;
387
+ }) => ButtonProps);
302
388
  muiTableBodyCellEditTextFieldProps?:
303
389
  | TextFieldProps
304
- | ((cell?: MRT_Cell<D>) => TextFieldProps);
390
+ | (({
391
+ tableInstance,
392
+ cell,
393
+ }: {
394
+ tableInstance: MRT_TableInstance;
395
+ cell: MRT_Cell<D>;
396
+ }) => TextFieldProps);
305
397
  muiTableBodyCellProps?:
306
398
  | TableCellProps
307
- | ((cell?: MRT_Cell<D>) => TableCellProps);
399
+ | (({
400
+ tableInstance,
401
+ cell,
402
+ }: {
403
+ tableInstance: MRT_TableInstance;
404
+ cell: MRT_Cell<D>;
405
+ }) => TableCellProps);
308
406
  muiTableBodyCellSkeletonProps?:
309
407
  | SkeletonProps
310
- | ((cell?: MRT_Cell<D>) => SkeletonProps);
408
+ | (({
409
+ tableInstance,
410
+ cell,
411
+ }: {
412
+ tableInstance: MRT_TableInstance;
413
+ cell: MRT_Cell<D>;
414
+ }) => SkeletonProps);
311
415
  muiTableBodyProps?:
312
416
  | TableBodyProps
313
- | ((tableInstance: MRT_TableInstance<D>) => TableBodyProps);
314
- muiTableBodyRowProps?: TableRowProps | ((row: MRT_Row<D>) => TableRowProps);
417
+ | (({
418
+ tableInstance,
419
+ }: {
420
+ tableInstance: MRT_TableInstance;
421
+ }) => TableBodyProps);
422
+ muiTableBodyRowProps?:
423
+ | TableRowProps
424
+ | (({
425
+ tableInstance,
426
+ row,
427
+ }: {
428
+ tableInstance: MRT_TableInstance;
429
+ row: MRT_Row<D>;
430
+ }) => TableRowProps);
315
431
  muiTableContainerProps?:
316
432
  | TableContainerProps
317
- | ((tableInstance: MRT_TableInstance<D>) => TableContainerProps);
433
+ | (({
434
+ tableInstance,
435
+ }: {
436
+ tableInstance: MRT_TableInstance;
437
+ }) => TableContainerProps);
318
438
  muiTableDetailPanelProps?:
319
439
  | TableCellProps
320
- | ((row: MRT_Row<D>) => TableCellProps);
440
+ | (({
441
+ tableInstance,
442
+ row,
443
+ }: {
444
+ tableInstance: MRT_TableInstance;
445
+ row: MRT_Row<D>;
446
+ }) => TableCellProps);
321
447
  muiTableFooterCellProps?:
322
448
  | TableCellProps
323
- | ((column: MRT_ColumnInstance<D>) => TableCellProps);
449
+ | (({
450
+ tableInstance,
451
+ column,
452
+ }: {
453
+ tableInstance: MRT_TableInstance;
454
+ column: MRT_ColumnInstance<D>;
455
+ }) => TableCellProps);
324
456
  muiTableFooterProps?:
325
457
  | TableFooterProps
326
- | ((tableInstance: MRT_TableInstance<D>) => TableFooterProps);
458
+ | (({
459
+ tableInstance,
460
+ }: {
461
+ tableInstance: MRT_TableInstance;
462
+ }) => TableFooterProps);
327
463
  muiTableFooterRowProps?:
328
464
  | TableRowProps
329
- | ((footerGroup: MRT_HeaderGroup<D>) => TableRowProps);
465
+ | (({
466
+ tableInstance,
467
+ footerGroup,
468
+ }: {
469
+ tableInstance: MRT_TableInstance;
470
+ footerGroup: MRT_HeaderGroup<D>;
471
+ }) => TableRowProps);
330
472
  muiTableHeadCellColumnActionsButtonProps?:
331
473
  | IconButtonProps
332
- | ((column: MRT_ColumnInstance<D>) => IconButtonProps);
474
+ | (({
475
+ tableInstance,
476
+ column,
477
+ }: {
478
+ tableInstance: MRT_TableInstance;
479
+ column: MRT_ColumnInstance<D>;
480
+ }) => IconButtonProps);
333
481
  muiTableHeadCellFilterTextFieldProps?:
334
482
  | TextFieldProps
335
- | ((column: MRT_ColumnInstance<D>) => TextFieldProps);
483
+ | (({
484
+ tableInstance,
485
+ column,
486
+ }: {
487
+ tableInstance: MRT_TableInstance;
488
+ column: MRT_ColumnInstance<D>;
489
+ }) => TextFieldProps);
336
490
  muiTableHeadCellProps?:
337
491
  | TableCellProps
338
- | ((column: MRT_ColumnInstance<D>) => TableCellProps);
492
+ | (({
493
+ tableInstance,
494
+ column,
495
+ }: {
496
+ tableInstance: MRT_TableInstance;
497
+ column: MRT_ColumnInstance<D>;
498
+ }) => TableCellProps);
339
499
  muiTableHeadProps?:
340
500
  | TableHeadProps
341
- | ((tableInstance: MRT_TableInstance<D>) => TableHeadProps);
501
+ | (({
502
+ tableInstance,
503
+ }: {
504
+ tableInstance: MRT_TableInstance;
505
+ }) => TableHeadProps);
342
506
  muiTableHeadRowProps?:
343
507
  | TableRowProps
344
- | ((headerGroup: MRT_HeaderGroup<D>) => TableRowProps);
508
+ | (({
509
+ tableInstance,
510
+ headerGroup,
511
+ }: {
512
+ tableInstance: MRT_TableInstance;
513
+ headerGroup: MRT_HeaderGroup<D>;
514
+ }) => TableRowProps);
345
515
  muiTablePaperProps?:
346
516
  | PaperProps
347
- | ((tableInstance: MRT_TableInstance<D>) => PaperProps);
517
+ | (({
518
+ tableInstance,
519
+ }: {
520
+ tableInstance: MRT_TableInstance;
521
+ }) => PaperProps);
348
522
  muiTablePaginationProps?:
349
523
  | Partial<TablePaginationProps>
350
- | ((
351
- tableInstance: MRT_TableInstance<D>,
352
- ) => Partial<TablePaginationProps>);
524
+ | (({
525
+ tableInstance,
526
+ }: {
527
+ tableInstance: MRT_TableInstance;
528
+ }) => Partial<TablePaginationProps>);
353
529
  muiTableProps?:
354
530
  | TableProps
355
- | ((tableInstance: MRT_TableInstance<D>) => TableProps);
531
+ | (({
532
+ tableInstance,
533
+ }: {
534
+ tableInstance: MRT_TableInstance;
535
+ }) => TableProps);
356
536
  muiTableToolbarAlertBannerProps?:
357
537
  | AlertProps
358
- | ((tableInstance: MRT_TableInstance<D>) => AlertProps);
538
+ | (({
539
+ tableInstance,
540
+ }: {
541
+ tableInstance: MRT_TableInstance;
542
+ }) => AlertProps);
359
543
  muiTableToolbarBottomProps?:
360
544
  | ToolbarProps
361
- | ((tableInstance: MRT_TableInstance<D>) => ToolbarProps);
545
+ | (({
546
+ tableInstance,
547
+ }: {
548
+ tableInstance: MRT_TableInstance;
549
+ }) => ToolbarProps);
362
550
  muiTableToolbarTopProps?:
363
551
  | ToolbarProps
364
- | ((tableInstance: MRT_TableInstance<D>) => ToolbarProps);
365
- onCellClick?: (
366
- event: MouseEvent<HTMLTableCellElement>,
367
- cell: MRT_Cell<D>,
368
- ) => void;
369
- onColumnHide?: (
370
- column: MRT_ColumnInstance<D>,
371
- hiddenColumns?: string[],
372
- ) => void;
373
- onDetailPanelClick?: (
374
- event: MouseEvent<HTMLTableCellElement>,
375
- row: MRT_Row<D>,
376
- ) => void;
377
- onGlobalFilterChange?: (event: ChangeEvent<HTMLInputElement>) => void;
378
- onRowClick?: (
379
- event: MouseEvent<HTMLTableRowElement>,
380
- row: MRT_Row<D>,
381
- ) => void;
382
- onRowEditSubmit?: (row: MRT_Row<D>) => Promise<void> | void;
383
- onRowExpandChange?: (
384
- event: MouseEvent<HTMLButtonElement>,
385
- row: MRT_Row<D>,
386
- ) => void;
387
- onSelectAllChange?: (
388
- event: ChangeEvent,
389
- selectedRows: MRT_Row<D>[],
390
- ) => void;
391
- onSelectChange?: (
392
- event: ChangeEvent,
393
- row: MRT_Row<D>,
394
- selectedRows: MRT_Row<D>[],
395
- ) => void;
552
+ | (({
553
+ tableInstance,
554
+ }: {
555
+ tableInstance: MRT_TableInstance;
556
+ }) => ToolbarProps);
557
+ onCellClick?: ({
558
+ cell,
559
+ event,
560
+ tableInstance,
561
+ }: {
562
+ cell: MRT_Cell<D>;
563
+ tableInstance: MRT_TableInstance<D>;
564
+ event: MouseEvent<HTMLTableCellElement>;
565
+ }) => void;
566
+ onColumnHide?: ({
567
+ column,
568
+ columnVisibility,
569
+ tableInstance,
570
+ }: {
571
+ column: MRT_ColumnInstance<D>;
572
+ columnVisibility: VisibilityState;
573
+ tableInstance: MRT_TableInstance<D>;
574
+ }) => void;
575
+ onDetailPanelClick?: ({
576
+ event,
577
+ row,
578
+ tableInstance,
579
+ }: {
580
+ event: MouseEvent<HTMLTableCellElement>;
581
+ row: MRT_Row<D>;
582
+ tableInstance: MRT_TableInstance<D>;
583
+ }) => void;
584
+ onGlobalFilterChange?: ({
585
+ event,
586
+ tableInstance,
587
+ }: {
588
+ event: ChangeEvent<HTMLInputElement>;
589
+ tableInstance: MRT_TableInstance<D>;
590
+ }) => void;
591
+ onRowClick?: ({
592
+ event,
593
+ row,
594
+ tableInstance,
595
+ }: {
596
+ event: MouseEvent<HTMLTableRowElement>;
597
+ row: MRT_Row<D>;
598
+ tableInstance: MRT_TableInstance<D>;
599
+ }) => void;
600
+ onEditSubmit?: ({
601
+ row,
602
+ tableInstance,
603
+ }: {
604
+ row: MRT_Row<D>;
605
+ tableInstance: MRT_TableInstance<D>;
606
+ }) => Promise<void> | void;
607
+ onRowExpandChange?: ({
608
+ event,
609
+ row,
610
+ }: {
611
+ event: MouseEvent<HTMLButtonElement>;
612
+ row: MRT_Row<D>;
613
+ tableInstance: MRT_TableInstance<D>;
614
+ }) => void;
615
+ onSelectAllChange?: ({
616
+ event,
617
+ selectedRows,
618
+ tableInstance,
619
+ }: {
620
+ event: ChangeEvent;
621
+ selectedRows: MRT_Row<D>[];
622
+ tableInstance: MRT_TableInstance<D>;
623
+ }) => void;
624
+ onSelectChange?: ({
625
+ event,
626
+ row,
627
+ selectedRows,
628
+ tableInstance,
629
+ }: {
630
+ event: ChangeEvent;
631
+ row: MRT_Row<D>;
632
+ selectedRows: MRT_Row<D>[];
633
+ tableInstance: MRT_TableInstance<D>;
634
+ }) => void;
396
635
  positionActionsColumn?: 'first' | 'last';
397
636
  positionPagination?: 'bottom' | 'top' | 'both';
398
637
  positionToolbarActions?: 'bottom' | 'top';
399
638
  positionToolbarAlertBanner?: 'bottom' | 'top';
400
- renderDetailPanel?: (row: MRT_Row<D>) => ReactNode;
401
- renderRowActionMenuItems?: (
402
- rowData: MRT_Row<D>,
403
- tableInstance: MRT_TableInstance<D>,
404
- closeMenu: () => void,
405
- ) => ReactNode[];
406
- renderRowActions?: (
407
- row: MRT_Row<D>,
408
- tableInstance: MRT_TableInstance<D>,
409
- ) => ReactNode;
410
- renderToolbarCustomActions?: (
411
- tableInstance: MRT_TableInstance<D>,
412
- ) => ReactNode;
413
- renderToolbarInternalActions?: (
414
- tableInstance: MRT_TableInstance<D>,
415
- {
416
- MRT_ToggleSearchButton,
417
- MRT_ToggleFiltersButton,
418
- MRT_ShowHideColumnsButton,
419
- MRT_ToggleDensePaddingButton,
420
- MRT_FullScreenToggleButton,
421
- }: {
422
- MRT_ToggleSearchButton: FC<
423
- IconButtonProps & { tableInstance: MRT_TableInstance<D> }
424
- >;
425
- MRT_ToggleFiltersButton: FC<
426
- IconButtonProps & { tableInstance: MRT_TableInstance<D> }
427
- >;
428
- MRT_ShowHideColumnsButton: FC<
429
- IconButtonProps & { tableInstance: MRT_TableInstance<D> }
430
- >;
431
- MRT_ToggleDensePaddingButton: FC<
432
- IconButtonProps & { tableInstance: MRT_TableInstance<D> }
433
- >;
434
- MRT_FullScreenToggleButton: FC<
435
- IconButtonProps & { tableInstance: MRT_TableInstance<D> }
436
- >;
437
- },
438
- ) => ReactNode;
639
+ renderDetailPanel?: ({
640
+ row,
641
+ tableInstance,
642
+ }: {
643
+ row: MRT_Row<D>;
644
+ tableInstance: MRT_TableInstance<D>;
645
+ }) => ReactNode;
646
+ renderRowActionMenuItems?: ({
647
+ closeMenu,
648
+ row,
649
+ tableInstance,
650
+ }: {
651
+ closeMenu: () => void;
652
+ row: MRT_Row<D>;
653
+ tableInstance: MRT_TableInstance<D>;
654
+ }) => ReactNode[];
655
+ renderRowActions?: ({
656
+ row,
657
+ tableInstance,
658
+ }: {
659
+ row: MRT_Row<D>;
660
+ tableInstance: MRT_TableInstance<D>;
661
+ }) => ReactNode;
662
+ renderToolbarCustomActions?: ({
663
+ tableInstance,
664
+ }: {
665
+ tableInstance: MRT_TableInstance<D>;
666
+ }) => ReactNode;
667
+ renderToolbarInternalActions?: ({
668
+ tableInstance,
669
+ MRT_ToggleSearchButton,
670
+ MRT_ToggleFiltersButton,
671
+ MRT_ShowHideColumnsButton,
672
+ MRT_ToggleDensePaddingButton,
673
+ MRT_FullScreenToggleButton,
674
+ }: {
675
+ tableInstance: MRT_TableInstance<D>;
676
+ MRT_ToggleSearchButton: FC<
677
+ IconButtonProps & { tableInstance: MRT_TableInstance<D> }
678
+ >;
679
+ MRT_ToggleFiltersButton: FC<
680
+ IconButtonProps & { tableInstance: MRT_TableInstance<D> }
681
+ >;
682
+ MRT_ShowHideColumnsButton: FC<
683
+ IconButtonProps & { tableInstance: MRT_TableInstance<D> }
684
+ >;
685
+ MRT_ToggleDensePaddingButton: FC<
686
+ IconButtonProps & { tableInstance: MRT_TableInstance<D> }
687
+ >;
688
+ MRT_FullScreenToggleButton: FC<
689
+ IconButtonProps & { tableInstance: MRT_TableInstance<D> }
690
+ >;
691
+ }) => ReactNode;
439
692
  };
440
693
 
441
694
  export default <D extends Record<string, any> = {}>({
@@ -450,7 +703,6 @@ export default <D extends Record<string, any> = {}>({
450
703
  enableSelectAll = true,
451
704
  enableSorting = true,
452
705
  enableStickyHeader = true,
453
- filterTypes,
454
706
  icons,
455
707
  localization,
456
708
  positionActionsColumn = 'first',