material-react-table 0.7.2 → 0.7.5

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.
@@ -1,15 +1,16 @@
1
1
  import { ChangeEvent, Dispatch, FC, FocusEvent, MouseEvent, ReactNode, SetStateAction } from 'react';
2
2
  import { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
3
- import { Cell, Column, ColumnDef, DefaultGenerics, FilterType, Header, HeaderGroup, Options, Overwrite, PaginationState, Row, TableInstance, TableState, VisibilityState } from '@tanstack/react-table';
3
+ import { Cell, Column, ColumnDef, DefaultGenerics, FilterFn, FilterFnOption, Header, HeaderGroup, Options, Overwrite, PaginationState, Row, TableInstance, TableState, VisibilityState } from '@tanstack/react-table';
4
4
  import { MRT_Localization } from './localization';
5
5
  import { MRT_Icons } from './icons';
6
- import { MRT_FILTER_TYPE } from './enums';
7
- export declare type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<Omit<Options<D>, 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn'>> & {
6
+ import { MRT_FILTER_OPTION } from './enums';
7
+ export declare type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<Omit<Options<D>, 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn' | 'filterFns'>> & {
8
8
  columns: MRT_ColumnDef<D>[];
9
9
  data: D[];
10
+ expandRowsFn?: (dataRow: D) => D[];
11
+ filterFns?: MRT_FILTER_OPTION | FilterFn<D> | string | number | symbol;
10
12
  initialState?: Partial<MRT_TableState<D>>;
11
13
  state?: Partial<MRT_TableState<D>>;
12
- expandRowsFn?: (dataRow: D) => D[];
13
14
  };
14
15
  export interface MRT_RowModel<D extends Record<string, any> = {}> {
15
16
  flatRows: MRT_Row<D>[];
@@ -32,32 +33,31 @@ export declare type MRT_TableInstance<D extends Record<string, any> = {}> = Omit
32
33
  options: MaterialReactTableProps<D> & {
33
34
  icons: MRT_Icons;
34
35
  idPrefix: string;
35
- filterTypes: {
36
- [key in MRT_FILTER_TYPE]: any;
37
- };
38
36
  localization: MRT_Localization;
39
37
  };
38
+ setCurrentEditingCell: Dispatch<SetStateAction<MRT_Cell<D> | null>>;
40
39
  setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row<D> | null>>;
41
- setCurrentFilterTypes: Dispatch<SetStateAction<{
42
- [key: string]: MRT_FilterType;
40
+ setCurrentFilterFns: Dispatch<SetStateAction<{
41
+ [key: string]: MRT_FilterFn<D>;
43
42
  }>>;
44
- setCurrentGlobalFilterType: Dispatch<SetStateAction<MRT_FILTER_TYPE>>;
43
+ setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterFn<D>>>;
45
44
  setIsDensePadding: Dispatch<SetStateAction<boolean>>;
46
45
  setIsFullScreen: Dispatch<SetStateAction<boolean>>;
47
46
  setShowFilters: Dispatch<SetStateAction<boolean>>;
48
47
  setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
49
48
  };
50
49
  export declare type MRT_TableState<D extends Record<string, any> = {}> = Omit<TableState, 'pagination'> & {
50
+ currentEditingCell: MRT_Cell<D> | null;
51
51
  currentEditingRow: MRT_Row<D> | null;
52
- currentFilterTypes: Record<string, string | Function>;
53
- currentGlobalFilterType: Record<string, string | Function>;
52
+ currentFilterFns: Record<string, string | Function>;
53
+ currentGlobalFilterFn: Record<string, string | Function>;
54
54
  isDensePadding: boolean;
55
55
  isFullScreen: boolean;
56
56
  showFilters: boolean;
57
57
  showGlobalFilter: boolean;
58
58
  pagination: Partial<PaginationState>;
59
59
  };
60
- export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<ColumnDef<D>, 'header' | 'footer' | 'columns'> & {
60
+ export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<ColumnDef<D>, 'header' | 'footer' | 'columns' | 'filterFn'> & {
61
61
  Edit?: ({ cell, tableInstance, }: {
62
62
  cell: MRT_Cell<D>;
63
63
  tableInstance: MRT_TableInstance<D>;
@@ -83,8 +83,8 @@ export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<Col
83
83
  enableClickToCopy?: boolean;
84
84
  enableColumnActions?: boolean;
85
85
  enableEditing?: boolean;
86
- enabledColumnFilterTypes?: (MRT_FILTER_TYPE | string)[];
87
- filter?: MRT_FilterType | string | FilterType<D>;
86
+ enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];
87
+ filterFn?: MRT_FilterFn;
88
88
  filterSelectOptions?: (string | {
89
89
  text: string;
90
90
  value: string;
@@ -129,7 +129,8 @@ export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<Col
129
129
  cell: MRT_Cell<D>;
130
130
  tableInstance: MRT_TableInstance<D>;
131
131
  }) => void;
132
- onColumnFilterValueChange?: ({ event, filterValue, }: {
132
+ onColumnFilterValueChange?: ({ column, event, filterValue, }: {
133
+ column: MRT_Column<D>;
133
134
  event: ChangeEvent<HTMLInputElement>;
134
135
  filterValue: any;
135
136
  }) => void;
@@ -156,8 +157,9 @@ export declare type MRT_Cell<D extends Record<string, any> = {}> = Omit<Cell<D>,
156
157
  column: MRT_Column<D>;
157
158
  row: MRT_Row<D>;
158
159
  };
159
- export declare type MRT_FilterType = MRT_FILTER_TYPE | Function;
160
+ export declare type MRT_FilterFn<D extends Record<string, any> = {}> = FilterFn<D> | FilterFnOption<D> | MRT_FILTER_OPTION | number | string | symbol;
160
161
  export declare type MaterialReactTableProps<D extends Record<string, any> = {}> = MRT_TableOptions<D> & {
162
+ editingMode?: 'table' | 'row' | 'cell';
161
163
  enableClickToCopy?: boolean;
162
164
  enableColumnActions?: boolean;
163
165
  enableDensePaddingToggle?: boolean;
@@ -165,6 +167,7 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
165
167
  enableExpandAll?: boolean;
166
168
  enableFullScreenToggle?: boolean;
167
169
  enablePagination?: boolean;
170
+ enablePersistentState?: boolean;
168
171
  enableRowActions?: boolean;
169
172
  enableRowNumbers?: boolean;
170
173
  enableSelectAll?: boolean;
@@ -174,10 +177,8 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
174
177
  enableToolbarBottom?: boolean;
175
178
  enableToolbarInternalActions?: boolean;
176
179
  enableToolbarTop?: boolean;
177
- enabledGlobalFilterTypes?: (MRT_FILTER_TYPE | string)[];
178
- filterTypes?: {
179
- [key in MRT_FILTER_TYPE]: any;
180
- };
180
+ enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];
181
+ enabledGlobalFilterOptions?: (MRT_FILTER_OPTION | string)[];
181
182
  icons?: Partial<MRT_Icons>;
182
183
  idPrefix?: string;
183
184
  isLoading?: boolean;
@@ -277,6 +278,21 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
277
278
  tableInstance: MRT_TableInstance<D>;
278
279
  event: MouseEvent<HTMLTableCellElement>;
279
280
  }) => void;
281
+ onCellEditBlur?: ({ cell, event, tableInstance, }: {
282
+ event: FocusEvent<HTMLInputElement>;
283
+ cell: MRT_Cell<D>;
284
+ tableInstance: MRT_TableInstance<D>;
285
+ }) => void;
286
+ onCellEditChange?: ({ cell, event, tableInstance, }: {
287
+ event: ChangeEvent<HTMLInputElement>;
288
+ cell: MRT_Cell<D>;
289
+ tableInstance: MRT_TableInstance<D>;
290
+ }) => void;
291
+ onColumnFilterValueChange?: ({ column, event, filterValue, }: {
292
+ column: MRT_Column<D>;
293
+ event: ChangeEvent<HTMLInputElement>;
294
+ filterValue: any;
295
+ }) => void;
280
296
  onDetailPanelClick?: ({ event, row, tableInstance, }: {
281
297
  event: MouseEvent<HTMLTableCellElement>;
282
298
  row: MRT_Row<D>;
@@ -336,6 +352,7 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
336
352
  showGlobalFilter: boolean;
337
353
  tableInstance: MRT_TableInstance<D>;
338
354
  }) => void;
355
+ persistentStateMode?: 'localStorage' | 'sessionStorage';
339
356
  positionActionsColumn?: 'first' | 'last';
340
357
  positionPagination?: 'bottom' | 'top' | 'both';
341
358
  positionToolbarActions?: 'bottom' | 'top';
@@ -375,5 +392,5 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
375
392
  }>;
376
393
  }) => ReactNode;
377
394
  };
378
- declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, enableColumnActions, enableColumnFilters, enableColumnResizing, enableDensePaddingToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, enableMultiRowSelection, enablePagination, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, positionActionsColumn, positionPagination, positionToolbarActions, positionToolbarAlertBanner, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
395
+ declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, autoResetSorting, columnResizeMode, editingMode, enableColumnActions, enableColumnFilters, enableColumnResizing, enableDensePaddingToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, enableMultiRowSelection, enablePagination, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, persistentStateMode, positionActionsColumn, positionPagination, positionToolbarActions, positionToolbarAlertBanner, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
379
396
  export default _default;
package/dist/enums.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare enum MRT_FILTER_TYPE {
1
+ export declare enum MRT_FILTER_OPTION {
2
2
  BEST_MATCH = "bestMatch",
3
3
  BEST_MATCH_FIRST = "bestMatchFirst",
4
4
  CONTAINS = "contains",