material-react-table 1.5.7 → 1.5.9

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,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.7",
2
+ "version": "1.5.9",
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.",
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
  };
@@ -242,7 +242,7 @@ export const MRT_FilterTextField: FC<Props> = ({
242
242
  onChange={handleChange}
243
243
  onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}
244
244
  select={isSelectFilter || isMultiSelectFilter}
245
- value={filterValue}
245
+ value={filterValue ?? ''}
246
246
  variant="standard"
247
247
  InputProps={{
248
248
  startAdornment: showChangeModeButton ? (
@@ -127,6 +127,7 @@ export const MRT_Table: FC<Props> = ({ table }) => {
127
127
  stickyHeader={enableStickyHeader || isFullScreen}
128
128
  {...tableProps}
129
129
  sx={(theme) => ({
130
+ borderCollapse: 'separate',
130
131
  display: layoutMode === 'grid' ? 'grid' : 'table',
131
132
  tableLayout:
132
133
  layoutMode !== 'grid' && enableColumnResizing ? 'fixed' : undefined,
@@ -314,7 +314,8 @@ export const MRT_TableRoot = <TData extends Record<string, any> = {}>(
314
314
  setShowAlertBanner: props.onShowAlertBannerChange ?? setShowAlertBanner,
315
315
  setShowFilters: props.onShowFiltersChange ?? setShowFilters,
316
316
  setShowGlobalFilter: props.onShowGlobalFilterChange ?? setShowGlobalFilter,
317
- setShowToolbarDropZone: props.onShowToolbarDropZoneChange ?? setShowToolbarDropZone,
317
+ setShowToolbarDropZone:
318
+ props.onShowToolbarDropZoneChange ?? setShowToolbarDropZone,
318
319
  } as MRT_TableInstance<TData>;
319
320
 
320
321
  if (props.tableInstanceRef) {
@@ -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: {
@@ -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: {