material-react-table 1.5.6 → 1.5.8

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.
@@ -16,4 +16,6 @@ import { MRT_ToolbarAlertBanner } from './toolbar/MRT_ToolbarAlertBanner';
16
16
  import { MRT_ToolbarDropZone } from './toolbar/MRT_ToolbarDropZone';
17
17
  import { MRT_ToolbarInternalButtons } from './toolbar/MRT_ToolbarInternalButtons';
18
18
  import { MRT_ToggleRowActionMenuButton } from './buttons/MRT_ToggleRowActionMenuButton';
19
- export { MRT_CopyButton, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_ToggleRowActionMenuButton, };
19
+ import { MRT_TopToolbar } from './toolbar/MRT_TopToolbar';
20
+ import { MRT_BottomToolbar } from './toolbar/MRT_BottomToolbar';
21
+ export { MRT_CopyButton, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_ToggleRowActionMenuButton, MRT_TopToolbar, MRT_BottomToolbar, };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_FilterOption, MRT_Row, MRT_TableInstance, MRT_TableState, MaterialReactTableProps, MRT_Localization } from '..';
2
+ import type { MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_FilterOption, MRT_Localization, MRT_Row, MRT_TableInstance, MRT_TableState, MaterialReactTableProps } from '..';
3
3
  export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(props: Omit<Partial<import("@tanstack/react-table").TableOptions<TData>>, "state" | "data" | "onStateChange" | "initialState" | "getRowId" | "columns" | "defaultColumn" | "globalFilterFn" | "enableRowSelection" | "expandRowsFn"> & {
4
4
  columnFilterModeOptions?: (string & MRT_FilterOption)[] | null | undefined;
5
5
  columns: MRT_ColumnDef<TData>[];
@@ -1,7 +1,7 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_TableInstance } from '..';
3
- interface Props {
4
- table: MRT_TableInstance;
3
+ interface Props<TData extends Record<string, any> = {}> {
4
+ table: MRT_TableInstance<TData>;
5
5
  }
6
- export declare const MRT_BottomToolbar: FC<Props>;
6
+ export declare const MRT_BottomToolbar: <TData extends Record<string, any> = {}>({ table, }: Props<TData>) => JSX.Element;
7
7
  export {};
@@ -1,8 +1,8 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_TableInstance } from '..';
3
- interface Props {
3
+ interface Props<TData extends Record<string, any> = {}> {
4
4
  isTopToolbar: boolean;
5
- table: MRT_TableInstance;
5
+ table: MRT_TableInstance<TData>;
6
6
  }
7
- export declare const MRT_LinearProgressBar: FC<Props>;
7
+ export declare const MRT_LinearProgressBar: <TData extends Record<string, any> = {}>({ isTopToolbar, table, }: Props<TData>) => JSX.Element;
8
8
  export {};
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import type { MRT_TableInstance } from '..';
3
3
  import type { Theme } from '@mui/material/styles';
4
4
  export declare const commonToolbarStyles: ({ theme }: {
@@ -15,8 +15,8 @@ export declare const commonToolbarStyles: ({ theme }: {
15
15
  transition: string;
16
16
  zIndex: number;
17
17
  };
18
- interface Props {
19
- table: MRT_TableInstance;
18
+ interface Props<TData extends Record<string, any> = {}> {
19
+ table: MRT_TableInstance<TData>;
20
20
  }
21
- export declare const MRT_TopToolbar: FC<Props>;
21
+ export declare const MRT_TopToolbar: <TData extends Record<string, any> = {}>({ table, }: Props<TData>) => JSX.Element;
22
22
  export {};
package/dist/index.d.ts CHANGED
@@ -835,14 +835,14 @@ type MaterialReactTableProps<TData extends Record<string, any> = {}> = Omit<Part
835
835
  };
836
836
  declare const MaterialReactTable: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, defaultDisplayColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, layoutMode, localization, manualFiltering, manualGrouping, manualPagination, manualSorting, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
837
837
 
838
- interface Props$c<TData extends Record<string, any> = {}> {
838
+ interface Props$e<TData extends Record<string, any> = {}> {
839
839
  cell: MRT_Cell<TData>;
840
840
  children: ReactNode;
841
841
  table: MRT_TableInstance<TData>;
842
842
  }
843
- declare const MRT_CopyButton: <TData extends Record<string, any> = {}>({ cell, children, table, }: Props$c<TData>) => JSX.Element;
843
+ declare const MRT_CopyButton: <TData extends Record<string, any> = {}>({ cell, children, table, }: Props$e<TData>) => JSX.Element;
844
844
 
845
- interface Props$b<TData extends Record<string, any> = {}> {
845
+ interface Props$d<TData extends Record<string, any> = {}> {
846
846
  anchorEl: HTMLElement | null;
847
847
  header?: MRT_Header<TData>;
848
848
  onSelect?: () => void;
@@ -850,65 +850,75 @@ interface Props$b<TData extends Record<string, any> = {}> {
850
850
  setFilterValue?: (filterValue: any) => void;
851
851
  table: MRT_TableInstance<TData>;
852
852
  }
853
- declare const MRT_FilterOptionMenu: <TData extends Record<string, any> = {}>({ anchorEl, header, onSelect, setAnchorEl, setFilterValue, table, }: Props$b<TData>) => JSX.Element;
853
+ declare const MRT_FilterOptionMenu: <TData extends Record<string, any> = {}>({ anchorEl, header, onSelect, setAnchorEl, setFilterValue, table, }: Props$d<TData>) => JSX.Element;
854
+
855
+ interface Props$c<TData extends Record<string, any> = {}> extends IconButtonProps {
856
+ table: MRT_TableInstance<TData>;
857
+ }
858
+ declare const MRT_FullScreenToggleButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$c<TData>) => JSX.Element;
859
+
860
+ interface Props$b<TData extends Record<string, any> = {}> {
861
+ table: MRT_TableInstance<TData>;
862
+ }
863
+ declare const MRT_GlobalFilterTextField: <TData extends Record<string, any> = {}>({ table, }: Props$b<TData>) => JSX.Element;
854
864
 
855
865
  interface Props$a<TData extends Record<string, any> = {}> extends IconButtonProps {
856
866
  table: MRT_TableInstance<TData>;
857
867
  }
858
- declare const MRT_FullScreenToggleButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$a<TData>) => JSX.Element;
868
+ declare const MRT_ShowHideColumnsButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$a<TData>) => JSX.Element;
859
869
 
860
870
  interface Props$9<TData extends Record<string, any> = {}> {
871
+ position?: 'top' | 'bottom';
861
872
  table: MRT_TableInstance<TData>;
862
873
  }
863
- declare const MRT_GlobalFilterTextField: <TData extends Record<string, any> = {}>({ table, }: Props$9<TData>) => JSX.Element;
874
+ declare const MRT_TablePagination: <TData extends Record<string, any> = {}>({ table, position, }: Props$9<TData>) => JSX.Element;
864
875
 
865
876
  interface Props$8<TData extends Record<string, any> = {}> extends IconButtonProps {
866
877
  table: MRT_TableInstance<TData>;
867
878
  }
868
- declare const MRT_ShowHideColumnsButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$8<TData>) => JSX.Element;
879
+ declare const MRT_ToggleDensePaddingButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$8<TData>) => JSX.Element;
869
880
 
870
- interface Props$7<TData extends Record<string, any> = {}> {
871
- position?: 'top' | 'bottom';
881
+ interface Props$7<TData extends Record<string, any> = {}> extends IconButtonProps {
872
882
  table: MRT_TableInstance<TData>;
873
883
  }
874
- declare const MRT_TablePagination: <TData extends Record<string, any> = {}>({ table, position, }: Props$7<TData>) => JSX.Element;
884
+ declare const MRT_ToggleFiltersButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$7<TData>) => JSX.Element;
875
885
 
876
886
  interface Props$6<TData extends Record<string, any> = {}> extends IconButtonProps {
877
887
  table: MRT_TableInstance<TData>;
878
888
  }
879
- declare const MRT_ToggleDensePaddingButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$6<TData>) => JSX.Element;
889
+ declare const MRT_ToggleGlobalFilterButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$6<TData>) => JSX.Element;
880
890
 
881
- interface Props$5<TData extends Record<string, any> = {}> extends IconButtonProps {
891
+ interface Props$5<TData extends Record<string, any> = {}> {
892
+ stackAlertBanner: boolean;
882
893
  table: MRT_TableInstance<TData>;
883
894
  }
884
- declare const MRT_ToggleFiltersButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$5<TData>) => JSX.Element;
895
+ declare const MRT_ToolbarAlertBanner: <TData extends Record<string, any> = {}>({ stackAlertBanner, table, }: Props$5<TData>) => JSX.Element;
885
896
 
886
- interface Props$4<TData extends Record<string, any> = {}> extends IconButtonProps {
897
+ interface Props$4<TData extends Record<string, any> = {}> {
887
898
  table: MRT_TableInstance<TData>;
888
899
  }
889
- declare const MRT_ToggleGlobalFilterButton: <TData extends Record<string, any> = {}>({ table, ...rest }: Props$4<TData>) => JSX.Element;
900
+ declare const MRT_ToolbarDropZone: <TData extends Record<string, any> = {}>({ table, }: Props$4<TData>) => JSX.Element;
890
901
 
891
902
  interface Props$3<TData extends Record<string, any> = {}> {
892
- stackAlertBanner: boolean;
893
903
  table: MRT_TableInstance<TData>;
894
904
  }
895
- declare const MRT_ToolbarAlertBanner: <TData extends Record<string, any> = {}>({ stackAlertBanner, table, }: Props$3<TData>) => JSX.Element;
905
+ declare const MRT_ToolbarInternalButtons: <TData extends Record<string, any> = {}>({ table, }: Props$3<TData>) => JSX.Element;
896
906
 
897
907
  interface Props$2<TData extends Record<string, any> = {}> {
908
+ cell: MRT_Cell<TData>;
909
+ row: MRT_Row<TData>;
898
910
  table: MRT_TableInstance<TData>;
899
911
  }
900
- declare const MRT_ToolbarDropZone: <TData extends Record<string, any> = {}>({ table, }: Props$2<TData>) => JSX.Element;
912
+ declare const MRT_ToggleRowActionMenuButton: <TData extends Record<string, any> = {}>({ cell, row, table, }: Props$2<TData>) => JSX.Element;
901
913
 
902
914
  interface Props$1<TData extends Record<string, any> = {}> {
903
915
  table: MRT_TableInstance<TData>;
904
916
  }
905
- declare const MRT_ToolbarInternalButtons: <TData extends Record<string, any> = {}>({ table, }: Props$1<TData>) => JSX.Element;
917
+ declare const MRT_TopToolbar: <TData extends Record<string, any> = {}>({ table, }: Props$1<TData>) => JSX.Element;
906
918
 
907
919
  interface Props<TData extends Record<string, any> = {}> {
908
- cell: MRT_Cell<TData>;
909
- row: MRT_Row<TData>;
910
920
  table: MRT_TableInstance<TData>;
911
921
  }
912
- declare const MRT_ToggleRowActionMenuButton: <TData extends Record<string, any> = {}>({ cell, row, table, }: Props<TData>) => JSX.Element;
922
+ declare const MRT_BottomToolbar: <TData extends Record<string, any> = {}>({ table, }: Props<TData>) => JSX.Element;
913
923
 
914
- export { DensityState, MRT_AggregationFn, MRT_AggregationOption, MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_CopyButton, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterFn, MRT_FilterOption, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_Header, MRT_HeaderGroup, MRT_Icons, MRT_InternalFilterOption, MRT_Localization, MRT_Row, MRT_RowModel, MRT_ShowHideColumnsButton, MRT_SortingFn, MRT_SortingOption, MRT_TableInstance, MRT_TablePagination, MRT_TableState, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MaterialReactTableProps, MaterialReactTable as default };
924
+ export { DensityState, MRT_AggregationFn, MRT_AggregationOption, MRT_BottomToolbar, MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_CopyButton, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterFn, MRT_FilterOption, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_Header, MRT_HeaderGroup, MRT_Icons, MRT_InternalFilterOption, MRT_Localization, MRT_Row, MRT_RowModel, MRT_ShowHideColumnsButton, MRT_SortingFn, MRT_SortingOption, MRT_TableInstance, MRT_TablePagination, MRT_TableState, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, MaterialReactTableProps, MaterialReactTable as default };
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.5.6",
2
+ "version": "1.5.8",
3
3
  "license": "MIT",
4
4
  "name": "material-react-table",
5
5
  "description": "A fully featured Material UI V5 implementation of TanStack React Table V8, written from the ground up in TypeScript.",
@@ -165,5 +165,5 @@ export const MRT_TableBodyRow: FC<Props> = ({
165
165
 
166
166
  export const Memo_MRT_TableBodyRow = memo(
167
167
  MRT_TableBodyRow,
168
- (prev, next) => prev.row === next.row,
168
+ (prev, next) => (prev.row === next.row && prev.rowIndex === next.rowIndex),
169
169
  );
package/src/index.tsx CHANGED
@@ -18,6 +18,8 @@ import { MRT_ToolbarAlertBanner } from './toolbar/MRT_ToolbarAlertBanner';
18
18
  import { MRT_ToolbarDropZone } from './toolbar/MRT_ToolbarDropZone';
19
19
  import { MRT_ToolbarInternalButtons } from './toolbar/MRT_ToolbarInternalButtons';
20
20
  import { MRT_ToggleRowActionMenuButton } from './buttons/MRT_ToggleRowActionMenuButton';
21
+ import { MRT_TopToolbar } from './toolbar/MRT_TopToolbar';
22
+ import { MRT_BottomToolbar } from './toolbar/MRT_BottomToolbar';
21
23
 
22
24
  export {
23
25
  MRT_CopyButton,
@@ -33,4 +35,6 @@ export {
33
35
  MRT_ToolbarDropZone,
34
36
  MRT_ToolbarInternalButtons,
35
37
  MRT_ToggleRowActionMenuButton,
38
+ MRT_TopToolbar,
39
+ MRT_BottomToolbar,
36
40
  };
@@ -32,11 +32,11 @@ import type {
32
32
  MRT_Column,
33
33
  MRT_ColumnDef,
34
34
  MRT_FilterOption,
35
+ MRT_Localization,
35
36
  MRT_Row,
36
37
  MRT_TableInstance,
37
38
  MRT_TableState,
38
39
  MaterialReactTableProps,
39
- MRT_Localization,
40
40
  } from '..';
41
41
 
42
42
  export const MRT_TableRoot = <TData extends Record<string, any> = {}>(
@@ -1,4 +1,4 @@
1
- import React, { FC } from 'react';
1
+ import React from 'react';
2
2
  import Box from '@mui/material/Box';
3
3
  import Toolbar from '@mui/material/Toolbar';
4
4
  import useMediaQuery from '@mui/material/useMediaQuery';
@@ -10,11 +10,15 @@ import { MRT_LinearProgressBar } from './MRT_LinearProgressBar';
10
10
  import { commonToolbarStyles } from './MRT_TopToolbar';
11
11
  import type { MRT_TableInstance } from '..';
12
12
 
13
- interface Props {
14
- table: MRT_TableInstance;
13
+ interface Props<TData extends Record<string, any> = {}> {
14
+ table: MRT_TableInstance<TData>;
15
15
  }
16
16
 
17
- export const MRT_BottomToolbar: FC<Props> = ({ table }) => {
17
+ export const MRT_BottomToolbar = <
18
+ TData extends Record<string, any> = {},
19
+ >({
20
+ table,
21
+ }: Props<TData>) => {
18
22
  const {
19
23
  getState,
20
24
  options: {
@@ -42,11 +46,13 @@ export const MRT_BottomToolbar: FC<Props> = ({ table }) => {
42
46
  <Toolbar
43
47
  variant="dense"
44
48
  {...toolbarProps}
45
- ref={(ref: HTMLDivElement) => {
46
- bottomToolbarRef.current = ref;
47
- if (toolbarProps?.ref) {
48
- // @ts-ignore
49
- toolbarProps.ref.current = ref;
49
+ ref={(node: HTMLDivElement) => {
50
+ if (node) {
51
+ bottomToolbarRef.current = node;
52
+ if (toolbarProps?.ref) {
53
+ // @ts-ignore
54
+ toolbarProps.ref.current = node;
55
+ }
50
56
  }
51
57
  }}
52
58
  sx={(theme) =>
@@ -1,14 +1,19 @@
1
- import React, { FC } from 'react';
1
+ import React from 'react';
2
2
  import Collapse from '@mui/material/Collapse';
3
3
  import LinearProgress from '@mui/material/LinearProgress';
4
4
  import type { MRT_TableInstance } from '..';
5
5
 
6
- interface Props {
6
+ interface Props<TData extends Record<string, any> = {}> {
7
7
  isTopToolbar: boolean;
8
- table: MRT_TableInstance;
8
+ table: MRT_TableInstance<TData>;
9
9
  }
10
10
 
11
- export const MRT_LinearProgressBar: FC<Props> = ({ isTopToolbar, table }) => {
11
+ export const MRT_LinearProgressBar = <
12
+ TData extends Record<string, any> = {},
13
+ >({
14
+ isTopToolbar,
15
+ table,
16
+ }: Props<TData>) => {
12
17
  const {
13
18
  options: { muiLinearProgressProps },
14
19
  getState,
@@ -1,4 +1,4 @@
1
- import React, { FC } from 'react';
1
+ import React from 'react';
2
2
  import Box from '@mui/material/Box';
3
3
  import Toolbar from '@mui/material/Toolbar';
4
4
  import useMediaQuery from '@mui/material/useMediaQuery';
@@ -25,11 +25,15 @@ export const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({
25
25
  zIndex: 1,
26
26
  });
27
27
 
28
- interface Props {
29
- table: MRT_TableInstance;
28
+ interface Props<TData extends Record<string, any> = {}> {
29
+ table: MRT_TableInstance<TData>;
30
30
  }
31
31
 
32
- export const MRT_TopToolbar: FC<Props> = ({ table }) => {
32
+ export const MRT_TopToolbar = <
33
+ TData extends Record<string, any> = {},
34
+ >({
35
+ table,
36
+ }: Props<TData>) => {
33
37
  const {
34
38
  getState,
35
39
  options: {