material-react-table 0.8.15 → 0.9.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 (36) hide show
  1. package/README.md +1 -1
  2. package/dist/MaterialReactTable.d.ts +37 -36
  3. package/dist/material-react-table.cjs.development.js +97 -75
  4. package/dist/material-react-table.cjs.development.js.map +1 -1
  5. package/dist/material-react-table.cjs.production.min.js +1 -1
  6. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  7. package/dist/material-react-table.esm.js +97 -75
  8. package/dist/material-react-table.esm.js.map +1 -1
  9. package/dist/toolbar/MRT_LinearProgressBar.d.ts +1 -0
  10. package/dist/utils.d.ts +1 -1
  11. package/package.json +1 -1
  12. package/src/MaterialReactTable.tsx +50 -47
  13. package/src/body/MRT_TableBodyCell.tsx +4 -4
  14. package/src/body/MRT_TableBodyRow.tsx +2 -2
  15. package/src/body/MRT_TableDetailPanel.tsx +2 -2
  16. package/src/buttons/MRT_EditActionButtons.tsx +2 -2
  17. package/src/buttons/MRT_ExpandButton.tsx +2 -2
  18. package/src/buttons/MRT_FullScreenToggleButton.tsx +2 -2
  19. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +2 -2
  20. package/src/buttons/MRT_ToggleFiltersButton.tsx +2 -2
  21. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +4 -4
  22. package/src/head/MRT_TableHeadCellFilterLabel.tsx +1 -0
  23. package/src/inputs/MRT_EditCellTextField.tsx +8 -8
  24. package/src/inputs/MRT_FilterTextField.tsx +2 -2
  25. package/src/inputs/MRT_SearchTextField.tsx +4 -4
  26. package/src/inputs/MRT_SelectCheckbox.tsx +4 -4
  27. package/src/menus/MRT_ColumnActionMenu.tsx +2 -2
  28. package/src/menus/MRT_ShowHideColumnsMenu.tsx +1 -1
  29. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +2 -2
  30. package/src/table/MRT_TableContainer.tsx +3 -3
  31. package/src/table/MRT_TableRoot.tsx +11 -11
  32. package/src/toolbar/MRT_LinearProgressBar.tsx +17 -2
  33. package/src/toolbar/MRT_ToolbarBottom.tsx +4 -4
  34. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +2 -1
  35. package/src/toolbar/MRT_ToolbarTop.tsx +13 -6
  36. package/src/utils.ts +1 -1
@@ -1,6 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { MRT_TableInstance } from '..';
3
3
  interface Props {
4
+ alignTo: 'bottom' | 'top';
4
5
  tableInstance: MRT_TableInstance;
5
6
  }
6
7
  export declare const MRT_LinearProgressBar: FC<Props>;
package/dist/utils.d.ts CHANGED
@@ -7,7 +7,7 @@ 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_ColumnDef<D>, currentFilterFns: {
8
8
  [key: string]: MRT_FilterFn<{}>;
9
9
  }) => ColumnDef<D>;
10
- export declare const createDisplayColumn: <D extends Record<string, any> = {}>(table: Table<D>, column: Pick<MRT_ColumnDef<D>, "accessorFN" | "footer" | "columns" | "filterFn" | "id" | "accessorKey" | "accessorFn" | "cell" | "meta" | "enableHiding" | "enablePinning" | "enableColumnFilter" | "enableGlobalFilter" | "sortingFn" | "sortDescFirst" | "enableSorting" | "enableMultiSort" | "invertSorting" | "sortUndefined" | "aggregationFn" | "aggregatedCell" | "enableGrouping" | "enableResizing" | "size" | "minSize" | "maxSize" | "Edit" | "Filter" | "Footer" | "Header" | "Cell" | "enableClickToCopy" | "enableColumnActions" | "enableColumnOrdering" | "enableEditing" | "enabledColumnFilterOptions" | "filterSelectOptions" | "muiTableBodyCellCopyButtonProps" | "muiTableBodyCellEditTextFieldProps" | "muiTableBodyCellProps" | "muiTableFooterCellProps" | "muiTableHeadCellColumnActionsButtonProps" | "muiTableHeadCellFilterTextFieldProps" | "muiTableHeadCellProps" | "onCellEditBlur" | "onCellEditChange" | "onColumnFilterValueChange"> & {
10
+ export declare const createDisplayColumn: <D extends Record<string, any> = {}>(table: Table<D>, column: Pick<MRT_ColumnDef<D>, "accessorFN" | "footer" | "columns" | "filterFn" | "id" | "accessorKey" | "accessorFn" | "cell" | "meta" | "enableHiding" | "enablePinning" | "enableColumnFilter" | "enableGlobalFilter" | "sortingFn" | "sortDescFirst" | "enableSorting" | "enableMultiSort" | "invertSorting" | "sortUndefined" | "aggregationFn" | "aggregatedCell" | "enableGrouping" | "enableResizing" | "size" | "minSize" | "maxSize" | "Cell" | "Edit" | "Filter" | "Footer" | "Header" | "enableClickToCopy" | "enableColumnActions" | "enableColumnOrdering" | "enableEditing" | "enabledColumnFilterOptions" | "filterSelectOptions" | "muiTableBodyCellCopyButtonProps" | "muiTableBodyCellEditTextFieldProps" | "muiTableBodyCellProps" | "muiTableFooterCellProps" | "muiTableHeadCellColumnActionsButtonProps" | "muiTableHeadCellFilterTextFieldProps" | "muiTableHeadCellProps" | "onMrtCellEditBlur" | "onMrtCellEditChange" | "onMrtFilterValueChange"> & {
11
11
  header?: string | undefined;
12
12
  }) => ColumnDef<D>;
13
13
  export declare const reorderColumn: (movingColumn: MRT_Column, receivingColumn: MRT_Column, columnOrder: ColumnOrderState, setColumnOrder: (updater: Updater<ColumnOrderState>) => void) => void;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.8.15",
2
+ "version": "0.9.0",
3
3
  "license": "MIT",
4
4
  "name": "material-react-table",
5
5
  "description": "A fully featured Material UI implementation of TanStack React Table, inspired by material-table and the MUI X DataGrid, written from the ground up in TypeScript.",
@@ -109,7 +109,7 @@ export type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<
109
109
  getState: () => MRT_TableState<D>;
110
110
  options: MaterialReactTableProps<D> & {
111
111
  icons: MRT_Icons;
112
- idPrefix: string;
112
+ tableId: string;
113
113
  localization: MRT_Localization;
114
114
  };
115
115
  setCurrentEditingCell: Dispatch<SetStateAction<MRT_Cell | null>>;
@@ -144,6 +144,13 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
144
144
  ColumnDef<D>,
145
145
  'accessorFN' | 'header' | 'footer' | 'columns' | 'filterFn'
146
146
  > & {
147
+ Cell?: ({
148
+ cell,
149
+ tableInstance,
150
+ }: {
151
+ cell: MRT_Cell<D>;
152
+ tableInstance: MRT_TableInstance<D>;
153
+ }) => ReactNode;
147
154
  Edit?: ({
148
155
  cell,
149
156
  tableInstance,
@@ -176,13 +183,6 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
176
183
  header: MRT_Header<D>;
177
184
  tableInstance: MRT_TableInstance<D>;
178
185
  }) => ReactNode);
179
- Cell?: ({
180
- cell,
181
- tableInstance,
182
- }: {
183
- cell: MRT_Cell<D>;
184
- tableInstance: MRT_TableInstance<D>;
185
- }) => ReactNode;
186
186
  accessorFN?: (row: D) => any;
187
187
  columns?: MRT_ColumnDef<D>[];
188
188
  enableClickToCopy?: boolean;
@@ -258,7 +258,7 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
258
258
  tableInstance: MRT_TableInstance;
259
259
  column: MRT_Column<D>;
260
260
  }) => TableCellProps);
261
- onCellEditBlur?: ({
261
+ onMrtCellEditBlur?: ({
262
262
  cell,
263
263
  event,
264
264
  tableInstance,
@@ -267,7 +267,7 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
267
267
  cell: MRT_Cell<D>;
268
268
  tableInstance: MRT_TableInstance<D>;
269
269
  }) => void;
270
- onCellEditChange?: ({
270
+ onMrtCellEditChange?: ({
271
271
  cell,
272
272
  event,
273
273
  tableInstance,
@@ -276,7 +276,7 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
276
276
  cell: MRT_Cell<D>;
277
277
  tableInstance: MRT_TableInstance<D>;
278
278
  }) => void;
279
- onColumnFilterValueChange?: ({
279
+ onMrtFilterValueChange?: ({
280
280
  column,
281
281
  event,
282
282
  filterValue,
@@ -362,7 +362,6 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
362
362
  enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];
363
363
  enabledGlobalFilterOptions?: (MRT_FILTER_OPTION | string)[];
364
364
  icons?: Partial<MRT_Icons>;
365
- idPrefix?: string;
366
365
  localization?: Partial<MRT_Localization>;
367
366
  muiLinearProgressProps?:
368
367
  | LinearProgressProps
@@ -525,20 +524,20 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
525
524
  tableInstance: MRT_TableInstance;
526
525
  headerGroup: MRT_HeaderGroup<D>;
527
526
  }) => TableRowProps);
528
- muiTablePaperProps?:
529
- | PaperProps
527
+ muiTablePaginationProps?:
528
+ | Partial<TablePaginationProps>
530
529
  | (({
531
530
  tableInstance,
532
531
  }: {
533
532
  tableInstance: MRT_TableInstance;
534
- }) => PaperProps);
535
- muiTablePaginationProps?:
536
- | Partial<TablePaginationProps>
533
+ }) => Partial<TablePaginationProps>);
534
+ muiTablePaperProps?:
535
+ | PaperProps
537
536
  | (({
538
537
  tableInstance,
539
538
  }: {
540
539
  tableInstance: MRT_TableInstance;
541
- }) => Partial<TablePaginationProps>);
540
+ }) => PaperProps);
542
541
  muiTableProps?:
543
542
  | TableProps
544
543
  | (({
@@ -567,7 +566,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
567
566
  }: {
568
567
  tableInstance: MRT_TableInstance;
569
568
  }) => ToolbarProps);
570
- onCellClick?: ({
569
+ onMrtCellClick?: ({
571
570
  cell,
572
571
  event,
573
572
  tableInstance,
@@ -576,7 +575,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
576
575
  tableInstance: MRT_TableInstance<D>;
577
576
  event: MouseEvent<HTMLTableCellElement>;
578
577
  }) => void;
579
- onCellEditBlur?: ({
578
+ onMrtCellEditBlur?: ({
580
579
  cell,
581
580
  event,
582
581
  tableInstance,
@@ -585,7 +584,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
585
584
  cell: MRT_Cell<D>;
586
585
  tableInstance: MRT_TableInstance<D>;
587
586
  }) => void;
588
- onCellEditChange?: ({
587
+ onMrtCellEditChange?: ({
589
588
  cell,
590
589
  event,
591
590
  tableInstance,
@@ -594,32 +593,39 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
594
593
  cell: MRT_Cell<D>;
595
594
  tableInstance: MRT_TableInstance<D>;
596
595
  }) => void;
597
- onColumnFilterValueChange?: ({
598
- column,
596
+ onMrtDetailPanelClick?: ({
599
597
  event,
600
- filterValue,
598
+ row,
599
+ tableInstance,
601
600
  }: {
602
- column: MRT_Column<D>;
603
- event: ChangeEvent<HTMLInputElement>;
604
- filterValue: any;
601
+ event: MouseEvent<HTMLTableCellElement>;
602
+ row: MRT_Row<D>;
603
+ tableInstance: MRT_TableInstance<D>;
605
604
  }) => void;
606
- onDetailPanelClick?: ({
607
- event,
605
+ onMrtEditRowSubmit?: ({
608
606
  row,
609
607
  tableInstance,
610
608
  }: {
611
- event: MouseEvent<HTMLTableCellElement>;
612
609
  row: MRT_Row<D>;
613
610
  tableInstance: MRT_TableInstance<D>;
611
+ }) => Promise<void> | void;
612
+ onMrtFilterValueChange?: ({
613
+ column,
614
+ event,
615
+ filterValue,
616
+ }: {
617
+ column: MRT_Column<D>;
618
+ event: ChangeEvent<HTMLInputElement>;
619
+ filterValue: any;
614
620
  }) => void;
615
- onGlobalSearchFilterChange?: ({
621
+ onMrtGlobalFilterValueChange?: ({
616
622
  event,
617
623
  tableInstance,
618
624
  }: {
619
625
  event: ChangeEvent<HTMLInputElement>;
620
626
  tableInstance: MRT_TableInstance<D>;
621
627
  }) => void;
622
- onRowClick?: ({
628
+ onMrtRowClick?: ({
623
629
  event,
624
630
  row,
625
631
  tableInstance,
@@ -628,14 +634,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
628
634
  row: MRT_Row<D>;
629
635
  tableInstance: MRT_TableInstance<D>;
630
636
  }) => void;
631
- onEditSubmit?: ({
632
- row,
633
- tableInstance,
634
- }: {
635
- row: MRT_Row<D>;
636
- tableInstance: MRT_TableInstance<D>;
637
- }) => Promise<void> | void;
638
- onRowExpandChange?: ({
637
+ onMrtRowExpandChange?: ({
639
638
  event,
640
639
  row,
641
640
  }: {
@@ -643,7 +642,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
643
642
  row: MRT_Row<D>;
644
643
  tableInstance: MRT_TableInstance<D>;
645
644
  }) => void;
646
- onSelectAllChange?: ({
645
+ onMrtSelectAllChange?: ({
647
646
  event,
648
647
  selectedRows,
649
648
  tableInstance,
@@ -652,7 +651,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
652
651
  selectedRows: MRT_Row<D>[];
653
652
  tableInstance: MRT_TableInstance<D>;
654
653
  }) => void;
655
- onSelectChange?: ({
654
+ onMrtSelectRowChange?: ({
656
655
  event,
657
656
  row,
658
657
  selectedRows,
@@ -663,7 +662,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
663
662
  selectedRows: MRT_Row<D>[];
664
663
  tableInstance: MRT_TableInstance<D>;
665
664
  }) => void;
666
- onToggleColumnVisibility?: ({
665
+ onMrtToggleColumnVisibility?: ({
667
666
  column,
668
667
  columnVisibility,
669
668
  tableInstance,
@@ -672,7 +671,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
672
671
  columnVisibility: VisibilityState;
673
672
  tableInstance: MRT_TableInstance<D>;
674
673
  }) => void;
675
- onToggleDensePadding?: ({
674
+ onMrtToggleDensePadding?: ({
676
675
  event,
677
676
  isDensePadding,
678
677
  tableInstance,
@@ -681,7 +680,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
681
680
  isDensePadding: boolean;
682
681
  tableInstance: MRT_TableInstance<D>;
683
682
  }) => void;
684
- onToggleFullScreen?: ({
683
+ onMrtToggleFullScreen?: ({
685
684
  event,
686
685
  isFullScreen,
687
686
  tableInstance,
@@ -690,7 +689,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
690
689
  isFullScreen: boolean;
691
690
  tableInstance: MRT_TableInstance<D>;
692
691
  }) => void;
693
- onToggleShowFilters?: ({
692
+ onMrtToggleShowFilters?: ({
694
693
  event,
695
694
  showFilters,
696
695
  tableInstance,
@@ -699,7 +698,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
699
698
  showFilters: boolean;
700
699
  tableInstance: MRT_TableInstance<D>;
701
700
  }) => void;
702
- onToggleShowGlobalFilter?: ({
701
+ onMrtToggleShowGlobalFilter?: ({
703
702
  event,
704
703
  showGlobalFilter,
705
704
  tableInstance,
@@ -711,6 +710,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
711
710
  persistentStateMode?: 'localStorage' | 'sessionStorage';
712
711
  positionActionsColumn?: 'first' | 'last';
713
712
  positionPagination?: 'bottom' | 'top' | 'both';
713
+ positionGlobalFilter?: 'left' | 'right';
714
714
  positionToolbarActions?: 'bottom' | 'top';
715
715
  positionToolbarAlertBanner?: 'bottom' | 'top';
716
716
  renderDetailPanel?: ({
@@ -767,6 +767,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
767
767
  >;
768
768
  }) => ReactNode;
769
769
  selectAllMode?: 'all' | 'page';
770
+ tableId?: string;
770
771
  };
771
772
 
772
773
  export default <D extends Record<string, any> = {}>({
@@ -801,6 +802,7 @@ export default <D extends Record<string, any> = {}>({
801
802
  persistentStateMode = 'sessionStorage',
802
803
  positionActionsColumn = 'first',
803
804
  positionPagination = 'bottom',
805
+ positionGlobalFilter = 'right',
804
806
  positionToolbarActions = 'top',
805
807
  positionToolbarAlertBanner = 'top',
806
808
  selectAllMode = 'all',
@@ -837,6 +839,7 @@ export default <D extends Record<string, any> = {}>({
837
839
  localization={{ ...MRT_DefaultLocalization_EN, ...localization }}
838
840
  persistentStateMode={persistentStateMode}
839
841
  positionActionsColumn={positionActionsColumn}
842
+ positionGlobalFilter={positionGlobalFilter}
840
843
  positionPagination={positionPagination}
841
844
  positionToolbarActions={positionToolbarActions}
842
845
  positionToolbarAlertBanner={positionToolbarAlertBanner}
@@ -24,10 +24,10 @@ export const MRT_TableBodyCell: FC<Props> = ({
24
24
  enableClickToCopy,
25
25
  enableColumnOrdering,
26
26
  enableEditing,
27
- idPrefix,
27
+ tableId,
28
28
  muiTableBodyCellProps,
29
29
  muiTableBodyCellSkeletonProps,
30
- onCellClick,
30
+ onMrtCellClick,
31
31
  },
32
32
  setColumnOrder,
33
33
  setCurrentEditingCell,
@@ -95,7 +95,7 @@ export const MRT_TableBodyCell: FC<Props> = ({
95
95
  setCurrentEditingCell(cell);
96
96
  setTimeout(() => {
97
97
  const textField = document.getElementById(
98
- `mrt-${idPrefix}-edit-cell-text-field-${cell.id}`,
98
+ `mrt-${tableId}-edit-cell-text-field-${cell.id}`,
99
99
  ) as HTMLInputElement;
100
100
  if (textField) {
101
101
  textField.focus();
@@ -128,7 +128,7 @@ export const MRT_TableBodyCell: FC<Props> = ({
128
128
  return (
129
129
  <TableCell
130
130
  onClick={(event: MouseEvent<HTMLTableCellElement>) =>
131
- onCellClick?.({ event, cell, tableInstance })
131
+ onMrtCellClick?.({ event, cell, tableInstance })
132
132
  }
133
133
  onDoubleClick={handleDoubleClick}
134
134
  {...tableCellProps}
@@ -11,7 +11,7 @@ interface Props {
11
11
 
12
12
  export const MRT_TableBodyRow: FC<Props> = ({ row, tableInstance }) => {
13
13
  const {
14
- options: { muiTableBodyRowProps, onRowClick, renderDetailPanel },
14
+ options: { muiTableBodyRowProps, onMrtRowClick, renderDetailPanel },
15
15
  } = tableInstance;
16
16
 
17
17
  const tableRowProps =
@@ -24,7 +24,7 @@ export const MRT_TableBodyRow: FC<Props> = ({ row, tableInstance }) => {
24
24
  <TableRow
25
25
  hover
26
26
  onClick={(event: MouseEvent<HTMLTableRowElement>) =>
27
- onRowClick?.({ event, row, tableInstance })
27
+ onMrtRowClick?.({ event, row, tableInstance })
28
28
  }
29
29
  selected={row.getIsSelected()}
30
30
  {...tableRowProps}
@@ -13,7 +13,7 @@ export const MRT_TableDetailPanel: FC<Props> = ({ row, tableInstance }) => {
13
13
  options: {
14
14
  muiTableBodyRowProps,
15
15
  muiTableDetailPanelProps,
16
- onDetailPanelClick,
16
+ onMrtDetailPanelClick,
17
17
  renderDetailPanel,
18
18
  },
19
19
  } = tableInstance;
@@ -33,7 +33,7 @@ export const MRT_TableDetailPanel: FC<Props> = ({ row, tableInstance }) => {
33
33
  <TableCell
34
34
  colSpan={getVisibleFlatColumns().length + 10}
35
35
  onClick={(event: MouseEvent<HTMLTableCellElement>) =>
36
- onDetailPanelClick?.({ event, row, tableInstance })
36
+ onMrtDetailPanelClick?.({ event, row, tableInstance })
37
37
  }
38
38
  {...tableCellProps}
39
39
  sx={{
@@ -13,7 +13,7 @@ export const MRT_EditActionButtons: FC<Props> = ({ row, tableInstance }) => {
13
13
  options: {
14
14
  icons: { CancelIcon, SaveIcon },
15
15
  localization,
16
- onEditSubmit,
16
+ onMrtEditRowSubmit,
17
17
  },
18
18
  setCurrentEditingRow,
19
19
  } = tableInstance;
@@ -26,7 +26,7 @@ export const MRT_EditActionButtons: FC<Props> = ({ row, tableInstance }) => {
26
26
  };
27
27
 
28
28
  const handleSave = () => {
29
- onEditSubmit?.({ row: currentEditingRow ?? row, tableInstance });
29
+ onMrtEditRowSubmit?.({ row: currentEditingRow ?? row, tableInstance });
30
30
  setCurrentEditingRow(null);
31
31
  };
32
32
 
@@ -13,7 +13,7 @@ export const MRT_ExpandButton: FC<Props> = ({ row, tableInstance }) => {
13
13
  options: {
14
14
  icons: { ExpandMoreIcon },
15
15
  localization,
16
- onRowExpandChange,
16
+ onMrtRowExpandChange,
17
17
  renderDetailPanel,
18
18
  },
19
19
  } = tableInstance;
@@ -22,7 +22,7 @@ export const MRT_ExpandButton: FC<Props> = ({ row, tableInstance }) => {
22
22
 
23
23
  const handleToggleExpand = (event: MouseEvent<HTMLButtonElement>) => {
24
24
  row.toggleExpanded();
25
- onRowExpandChange?.({ event, row, tableInstance });
25
+ onMrtRowExpandChange?.({ event, row, tableInstance });
26
26
  };
27
27
 
28
28
  return (
@@ -15,7 +15,7 @@ export const MRT_FullScreenToggleButton: FC<Props> = ({
15
15
  options: {
16
16
  icons: { FullscreenExitIcon, FullscreenIcon },
17
17
  localization,
18
- onToggleFullScreen,
18
+ onMrtToggleFullScreen,
19
19
  },
20
20
  setIsFullScreen,
21
21
  } = tableInstance;
@@ -23,7 +23,7 @@ export const MRT_FullScreenToggleButton: FC<Props> = ({
23
23
  const { isFullScreen } = getState();
24
24
 
25
25
  const handleToggleFullScreen = (event: MouseEvent<HTMLButtonElement>) => {
26
- onToggleFullScreen?.({
26
+ onMrtToggleFullScreen?.({
27
27
  event,
28
28
  isFullScreen: !isFullScreen,
29
29
  tableInstance,
@@ -15,7 +15,7 @@ export const MRT_ToggleDensePaddingButton: FC<Props> = ({
15
15
  options: {
16
16
  icons: { DensityMediumIcon, DensitySmallIcon },
17
17
  localization,
18
- onToggleDensePadding,
18
+ onMrtToggleDensePadding,
19
19
  },
20
20
  setIsDensePadding,
21
21
  } = tableInstance;
@@ -23,7 +23,7 @@ export const MRT_ToggleDensePaddingButton: FC<Props> = ({
23
23
  const { isDensePadding } = getState();
24
24
 
25
25
  const handleToggleDensePadding = (event: MouseEvent<HTMLButtonElement>) => {
26
- onToggleDensePadding?.({
26
+ onMrtToggleDensePadding?.({
27
27
  event,
28
28
  isDensePadding: !isDensePadding,
29
29
  tableInstance,
@@ -15,7 +15,7 @@ export const MRT_ToggleFiltersButton: FC<Props> = ({
15
15
  options: {
16
16
  icons: { FilterListIcon, FilterListOffIcon },
17
17
  localization,
18
- onToggleShowFilters,
18
+ onMrtToggleShowFilters,
19
19
  },
20
20
  setShowFilters,
21
21
  } = tableInstance;
@@ -23,7 +23,7 @@ export const MRT_ToggleFiltersButton: FC<Props> = ({
23
23
  const { showFilters } = getState();
24
24
 
25
25
  const handleToggleShowFilters = (event: MouseEvent<HTMLButtonElement>) => {
26
- onToggleShowFilters?.({
26
+ onMrtToggleShowFilters?.({
27
27
  event,
28
28
  showFilters: !showFilters,
29
29
  tableInstance,
@@ -14,10 +14,10 @@ export const MRT_ToggleGlobalFilterButton: FC<Props> = ({
14
14
  getState,
15
15
  options: {
16
16
  icons: { SearchIcon, SearchOffIcon },
17
- idPrefix,
17
+ tableId,
18
18
  localization,
19
19
  muiSearchTextFieldProps,
20
- onToggleShowGlobalFilter,
20
+ onMrtToggleShowGlobalFilter,
21
21
  },
22
22
  setShowGlobalFilter,
23
23
  } = tableInstance;
@@ -30,7 +30,7 @@ export const MRT_ToggleGlobalFilterButton: FC<Props> = ({
30
30
  : muiSearchTextFieldProps;
31
31
 
32
32
  const handleToggleSearch = (event: MouseEvent<HTMLButtonElement>) => {
33
- onToggleShowGlobalFilter?.({
33
+ onMrtToggleShowGlobalFilter?.({
34
34
  event,
35
35
  showGlobalFilter: !showGlobalFilter,
36
36
  tableInstance,
@@ -40,7 +40,7 @@ export const MRT_ToggleGlobalFilterButton: FC<Props> = ({
40
40
  () =>
41
41
  document
42
42
  .getElementById(
43
- textFieldProps?.id ?? `mrt-${idPrefix}-search-text-field`,
43
+ textFieldProps?.id ?? `mrt-${tableId}-search-text-field`,
44
44
  )
45
45
  ?.focus(),
46
46
  200,
@@ -67,6 +67,7 @@ export const MRT_TableHeadCellFilterLabel: FC<Props> = ({
67
67
  opacity: !!column.getFilterValue() || showFilters ? 0.8 : 0,
68
68
  p: '2px',
69
69
  transition: 'all 0.2s ease-in-out',
70
+ transform: 'scale(0.66)',
70
71
  '&:hover': {
71
72
  backgroundColor: 'transparent',
72
73
  opacity: 0.8,
@@ -17,11 +17,11 @@ export const MRT_EditCellTextField: FC<Props> = ({ cell, tableInstance }) => {
17
17
  const {
18
18
  getState,
19
19
  options: {
20
- idPrefix,
20
+ tableId,
21
21
  enableEditing,
22
22
  muiTableBodyCellEditTextFieldProps,
23
- onCellEditBlur,
24
- onCellEditChange,
23
+ onMrtCellEditBlur,
24
+ onMrtCellEditChange,
25
25
  },
26
26
  setCurrentEditingCell,
27
27
  setCurrentEditingRow,
@@ -35,8 +35,8 @@ export const MRT_EditCellTextField: FC<Props> = ({ cell, tableInstance }) => {
35
35
 
36
36
  const handleChange = (event: ChangeEvent<HTMLInputElement>) => {
37
37
  setValue(event.target.value);
38
- columnDef.onCellEditChange?.({ event, cell, tableInstance });
39
- onCellEditChange?.({ event, cell, tableInstance });
38
+ columnDef.onMrtCellEditChange?.({ event, cell, tableInstance });
39
+ onMrtCellEditChange?.({ event, cell, tableInstance });
40
40
  };
41
41
 
42
42
  const handleBlur = (event: FocusEvent<HTMLInputElement>) => {
@@ -46,8 +46,8 @@ export const MRT_EditCellTextField: FC<Props> = ({ cell, tableInstance }) => {
46
46
  setCurrentEditingRow({ ...getState().currentEditingRow } as MRT_Row);
47
47
  }
48
48
  setCurrentEditingCell(null);
49
- columnDef.onCellEditBlur?.({ event, cell, tableInstance });
50
- onCellEditBlur?.({ event, cell, tableInstance });
49
+ columnDef.onMrtCellEditBlur?.({ event, cell, tableInstance });
50
+ onMrtCellEditBlur?.({ event, cell, tableInstance });
51
51
  };
52
52
 
53
53
  const mTableBodyCellEditTextFieldProps =
@@ -74,7 +74,7 @@ export const MRT_EditCellTextField: FC<Props> = ({ cell, tableInstance }) => {
74
74
 
75
75
  return (
76
76
  <TextField
77
- id={`mrt-${idPrefix}-edit-cell-text-field-${cell.id}`}
77
+ id={`mrt-${tableId}-edit-cell-text-field-${cell.id}`}
78
78
  margin="dense"
79
79
  onBlur={handleBlur}
80
80
  onChange={handleChange}
@@ -34,7 +34,7 @@ export const MRT_FilterTextField: FC<Props> = ({
34
34
  getState,
35
35
  options: {
36
36
  icons: { FilterListIcon, CloseIcon },
37
- idPrefix,
37
+ tableId,
38
38
  localization,
39
39
  muiTableHeadCellFilterTextFieldProps,
40
40
  },
@@ -118,7 +118,7 @@ export const MRT_FilterTextField: FC<Props> = ({
118
118
  return <>{columnDef.Filter?.({ header, tableInstance })}</>;
119
119
  }
120
120
 
121
- const filterId = `mrt-${idPrefix}-${header.id}-filter-text-field${
121
+ const filterId = `mrt-${tableId}-${header.id}-filter-text-field${
122
122
  inputIndex ?? ''
123
123
  }`;
124
124
  const filterFn = currentFilterFns?.[header.id];
@@ -26,10 +26,10 @@ export const MRT_SearchTextField: FC<Props> = ({ tableInstance }) => {
26
26
  setGlobalFilter,
27
27
  options: {
28
28
  icons: { SearchIcon, CloseIcon },
29
- idPrefix,
29
+ tableId,
30
30
  localization,
31
31
  muiSearchTextFieldProps,
32
- onGlobalSearchFilterChange,
32
+ onMrtGlobalFilterValueChange,
33
33
  },
34
34
  } = tableInstance;
35
35
 
@@ -41,7 +41,7 @@ export const MRT_SearchTextField: FC<Props> = ({ tableInstance }) => {
41
41
  const handleChange = useCallback(
42
42
  debounce((event: ChangeEvent<HTMLInputElement>) => {
43
43
  setGlobalFilter(event.target.value ?? undefined);
44
- onGlobalSearchFilterChange?.({ event, tableInstance });
44
+ onMrtGlobalFilterValueChange?.({ event, tableInstance });
45
45
  }, 200),
46
46
  [],
47
47
  );
@@ -63,7 +63,7 @@ export const MRT_SearchTextField: FC<Props> = ({ tableInstance }) => {
63
63
  return (
64
64
  <Collapse in={showGlobalFilter} orientation="horizontal">
65
65
  <TextField
66
- id={`mrt-${idPrefix}-search-text-field`}
66
+ id={`mrt-${tableId}-search-text-field`}
67
67
  placeholder={localization.search}
68
68
  onChange={(event: ChangeEvent<HTMLInputElement>) => {
69
69
  setSearchValue(event.target.value);
@@ -20,8 +20,8 @@ export const MRT_SelectCheckbox: FC<Props> = ({
20
20
  options: {
21
21
  localization,
22
22
  muiSelectCheckboxProps,
23
- onSelectChange,
24
- onSelectAllChange,
23
+ onMrtSelectRowChange,
24
+ onMrtSelectAllChange,
25
25
  selectAllMode,
26
26
  },
27
27
  } = tableInstance;
@@ -35,14 +35,14 @@ export const MRT_SelectCheckbox: FC<Props> = ({
35
35
  } else if (selectAllMode === 'page') {
36
36
  tableInstance.getToggleAllPageRowsSelectedHandler()(event as any);
37
37
  }
38
- onSelectAllChange?.({
38
+ onMrtSelectAllChange?.({
39
39
  event,
40
40
  selectedRows: event.target.checked ? getRowModel().flatRows : [],
41
41
  tableInstance,
42
42
  });
43
43
  } else if (row) {
44
44
  row?.getToggleSelectedHandler()(event as any);
45
- onSelectChange?.({
45
+ onMrtSelectRowChange?.({
46
46
  event,
47
47
  row,
48
48
  selectedRows: event.target.checked
@@ -52,7 +52,7 @@ export const MRT_ColumnActionMenu: FC<Props> = ({
52
52
  RestartAltIcon,
53
53
  VisibilityOffIcon,
54
54
  },
55
- idPrefix,
55
+ tableId,
56
56
  localization,
57
57
  },
58
58
  setShowFilters,
@@ -119,7 +119,7 @@ export const MRT_ColumnActionMenu: FC<Props> = ({
119
119
  .getElementById(
120
120
  // @ts-ignore
121
121
  header.muiTableHeadCellFilterTextFieldProps?.id ??
122
- `mrt-${idPrefix}-${header.id}-filter-text-field`,
122
+ `mrt-${tableId}-${header.id}-filter-text-field`,
123
123
  )
124
124
  ?.focus(),
125
125
  200,
@@ -46,7 +46,7 @@ export const MRT_ShowHideColumnsMenu: FC<Props> = ({
46
46
  ) {
47
47
  return [
48
48
  ...getLeftLeafColumns(),
49
- ...[...new Set(columnOrder)].map((colId) =>
49
+ ...Array.from(new Set(columnOrder)).map((colId) =>
50
50
  getCenterLeafColumns().find((col) => col?.id === colId),
51
51
  ),
52
52
  ...getRightLeafColumns(),