material-react-table 0.32.2 → 0.33.2

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 (31) hide show
  1. package/dist/cjs/MaterialReactTable.d.ts +21 -20
  2. package/dist/cjs/aggregationFns.d.ts +11 -0
  3. package/dist/cjs/column.utils.d.ts +77 -2
  4. package/dist/cjs/{filtersFns.d.ts → filterFns.d.ts} +0 -0
  5. package/dist/cjs/index.min.js +4 -5
  6. package/dist/cjs/index.min.js.map +1 -1
  7. package/dist/{esm/toolbar/MRT_ToolbarBottom.d.ts → cjs/toolbar/MRT_BottomToolbar.d.ts} +1 -1
  8. package/dist/{esm/toolbar/MRT_ToolbarTop.d.ts → cjs/toolbar/MRT_TopToolbar.d.ts} +1 -1
  9. package/dist/esm/MaterialReactTable.d.ts +21 -20
  10. package/dist/esm/aggregationFns.d.ts +11 -0
  11. package/dist/esm/column.utils.d.ts +77 -2
  12. package/dist/esm/{filtersFns.d.ts → filterFns.d.ts} +0 -0
  13. package/dist/esm/material-react-table.esm.min.js +4 -5
  14. package/dist/esm/material-react-table.esm.min.js.map +1 -1
  15. package/dist/{cjs/toolbar/MRT_ToolbarBottom.d.ts → esm/toolbar/MRT_BottomToolbar.d.ts} +1 -1
  16. package/dist/{cjs/toolbar/MRT_ToolbarTop.d.ts → esm/toolbar/MRT_TopToolbar.d.ts} +1 -1
  17. package/dist/index.d.ts +102 -101
  18. package/package.json +10 -10
  19. package/src/MaterialReactTable.tsx +43 -28
  20. package/src/aggregationFns.ts +3 -0
  21. package/src/body/MRT_TableBody.tsx +9 -8
  22. package/src/column.utils.ts +16 -8
  23. package/src/{filtersFns.ts → filterFns.ts} +0 -0
  24. package/src/head/MRT_TableHeadCellFilterContainer.tsx +2 -2
  25. package/src/head/MRT_TableHeadCellFilterLabel.tsx +2 -2
  26. package/src/inputs/MRT_FilterTextField.tsx +4 -4
  27. package/src/menus/MRT_FilterOptionMenu.tsx +6 -8
  28. package/src/table/MRT_TablePaper.tsx +5 -5
  29. package/src/table/MRT_TableRoot.tsx +20 -21
  30. package/src/toolbar/{MRT_ToolbarBottom.tsx → MRT_BottomToolbar.tsx} +10 -10
  31. package/src/toolbar/{MRT_ToolbarTop.tsx → MRT_TopToolbar.tsx} +8 -8
@@ -2,9 +2,9 @@ import { ChangeEvent, Dispatch, DragEvent, FC, FocusEvent, ReactNode, SetStateAc
2
2
  import type { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
3
3
  import type { Cell, Column, ColumnDef, DeepKeys, FilterFn, Header, HeaderGroup, OnChangeFn, Row, SortingFn, Table, TableOptions, TableState } from '@tanstack/react-table';
4
4
  import type { VirtualizerOptions } from '@tanstack/react-virtual';
5
- import { MRT_Localization } from './localization';
6
5
  import { MRT_Icons } from './icons';
7
- import { MRT_FilterFns } from './filtersFns';
6
+ import { MRT_FilterFns } from './filterFns';
7
+ import { MRT_Localization } from './localization';
8
8
  import { MRT_SortingFns } from './sortingFns';
9
9
  declare type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
10
10
  export interface MRT_RowModel<TData extends Record<string, any> = {}> {
@@ -39,10 +39,10 @@ export declare type MRT_TableInstance<TData extends Record<string, any> = {}> =
39
39
  setCurrentDraggingRow: Dispatch<SetStateAction<MRT_Row<TData> | null>>;
40
40
  setCurrentEditingCell: Dispatch<SetStateAction<MRT_Cell | null>>;
41
41
  setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row | null>>;
42
- setCurrentFilterFns: Dispatch<SetStateAction<{
42
+ setColumnFilterFns: Dispatch<SetStateAction<{
43
43
  [key: string]: MRT_FilterOption;
44
44
  }>>;
45
- setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterOption>>;
45
+ setGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterOption>>;
46
46
  setCurrentHoveredColumn: Dispatch<SetStateAction<MRT_Column<TData> | {
47
47
  id: string;
48
48
  } | null>>;
@@ -60,8 +60,8 @@ export declare type MRT_TableState<TData extends Record<string, any> = {}> = Tab
60
60
  currentDraggingRow: MRT_Row<TData> | null;
61
61
  currentEditingCell: MRT_Cell<TData> | null;
62
62
  currentEditingRow: MRT_Row<TData> | null;
63
- currentFilterFns: Record<string, MRT_FilterOption>;
64
- currentGlobalFilterFn: Record<string, MRT_FilterOption>;
63
+ columnFilterFns: Record<string, MRT_FilterOption>;
64
+ globalFilterFn: Record<string, MRT_FilterOption>;
65
65
  currentHoveredColumn: MRT_Column<TData> | {
66
66
  id: string;
67
67
  } | null;
@@ -251,7 +251,7 @@ export declare type MRT_DisplayColumnIds = 'mrt-row-drag' | 'mrt-row-actions' |
251
251
  * See the full props list on the official docs site:
252
252
  * @link https://www.material-react-table.com/docs/api/props
253
253
  */
254
- export declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn'> & {
254
+ export declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'expandRowsFn' | 'initialState' | 'onStateChange' | 'state'> & {
255
255
  displayColumnDefOptions?: Partial<{
256
256
  [key in MRT_DisplayColumnIds]: Partial<MRT_ColumnDef>;
257
257
  }>;
@@ -259,6 +259,7 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
259
259
  columns: MRT_ColumnDef<TData>[];
260
260
  data: TData[];
261
261
  editingMode?: 'table' | 'row' | 'cell';
262
+ enableBottomToolbar?: boolean;
262
263
  enableClickToCopy?: boolean;
263
264
  enableColumnActions?: boolean;
264
265
  enableColumnDragging?: boolean;
@@ -280,9 +281,8 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
280
281
  enableStickyHeader?: boolean;
281
282
  enableTableFooter?: boolean;
282
283
  enableTableHead?: boolean;
283
- enableToolbarBottom?: boolean;
284
284
  enableToolbarInternalActions?: boolean;
285
- enableToolbarTop?: boolean;
285
+ enableTopToolbar?: boolean;
286
286
  enabledGlobalFilterOptions?: (MRT_FilterOption | string)[] | null;
287
287
  expandRowsFn?: (dataRow: TData) => TData[];
288
288
  icons?: Partial<MRT_Icons>;
@@ -336,6 +336,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
336
336
  table: MRT_TableInstance<TData>;
337
337
  row: MRT_Row<TData>;
338
338
  }) => TableRowProps);
339
+ muiTableBottomToolbarProps?: ToolbarProps | (({ table }: {
340
+ table: MRT_TableInstance<TData>;
341
+ }) => ToolbarProps);
339
342
  muiTableContainerProps?: TableContainerProps | (({ table, }: {
340
343
  table: MRT_TableInstance<TData>;
341
344
  }) => TableContainerProps);
@@ -390,10 +393,7 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
390
393
  muiTableToolbarAlertBannerProps?: AlertProps | (({ table }: {
391
394
  table: MRT_TableInstance<TData>;
392
395
  }) => AlertProps);
393
- muiTableToolbarBottomProps?: ToolbarProps | (({ table }: {
394
- table: MRT_TableInstance<TData>;
395
- }) => ToolbarProps);
396
- muiTableToolbarTopProps?: ToolbarProps | (({ table }: {
396
+ muiTableTopToolbarProps?: ToolbarProps | (({ table }: {
397
397
  table: MRT_TableInstance<TData>;
398
398
  }) => ToolbarProps);
399
399
  onCellEditBlur?: ({ cell, event, table, }: {
@@ -439,13 +439,15 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
439
439
  onShowAlertBannerChange?: OnChangeFn<boolean>;
440
440
  onShowFiltersChange?: OnChangeFn<boolean>;
441
441
  onShowGlobalFilterChange?: OnChangeFn<boolean>;
442
- onTableInstanceChange?: (table: MRT_TableInstance<TData>) => void;
443
442
  positionActionsColumn?: 'first' | 'last';
444
443
  positionExpandColumn?: 'first' | 'last';
445
444
  positionGlobalFilter?: 'left' | 'right';
446
445
  positionPagination?: 'bottom' | 'top' | 'both';
447
446
  positionToolbarAlertBanner?: 'bottom' | 'top' | 'none';
448
447
  positionToolbarDropZone?: 'bottom' | 'top' | 'none' | 'both';
448
+ renderBottomToolbarCustomActions?: ({ table, }: {
449
+ table: MRT_TableInstance<TData>;
450
+ }) => ReactNode;
449
451
  renderDetailPanel?: ({ row, table, }: {
450
452
  row: MRT_Row<TData>;
451
453
  table: MRT_TableInstance<TData>;
@@ -459,9 +461,6 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
459
461
  row: MRT_Row<TData>;
460
462
  table: MRT_TableInstance<TData>;
461
463
  }) => ReactNode;
462
- renderToolbarBottomCustomActions?: ({ table, }: {
463
- table: MRT_TableInstance<TData>;
464
- }) => ReactNode;
465
464
  renderToolbarInternalActions?: ({ table, MRT_ToggleGlobalFilterButton, MRT_ToggleFiltersButton, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_FullScreenToggleButton, }: {
466
465
  table: MRT_TableInstance<TData>;
467
466
  MRT_ToggleGlobalFilterButton: FC<IconButtonProps & {
@@ -480,7 +479,7 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
480
479
  table: MRT_TableInstance<TData>;
481
480
  }>;
482
481
  }) => ReactNode;
483
- renderToolbarTopCustomActions?: ({ table, }: {
482
+ renderTopToolbarCustomActions?: ({ table, }: {
484
483
  table: MRT_TableInstance<TData>;
485
484
  }) => ReactNode;
486
485
  rowCount?: number;
@@ -488,7 +487,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
488
487
  selectAllMode?: 'all' | 'page';
489
488
  state?: Partial<MRT_TableState<TData>>;
490
489
  tableId?: string;
491
- virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>;
490
+ virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | (({ table, }: {
491
+ table: MRT_TableInstance<TData>;
492
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
492
493
  };
493
- declare const _default: <TData extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
494
+ declare const _default: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
494
495
  export default _default;
@@ -0,0 +1,11 @@
1
+ export declare const MRT_AggregationFns: {
2
+ sum: import("@tanstack/table-core").AggregationFn<any>;
3
+ min: import("@tanstack/table-core").AggregationFn<any>;
4
+ max: import("@tanstack/table-core").AggregationFn<any>;
5
+ extent: import("@tanstack/table-core").AggregationFn<any>;
6
+ mean: import("@tanstack/table-core").AggregationFn<any>;
7
+ median: import("@tanstack/table-core").AggregationFn<any>;
8
+ unique: import("@tanstack/table-core").AggregationFn<any>;
9
+ uniqueCount: import("@tanstack/table-core").AggregationFn<any>;
10
+ count: import("@tanstack/table-core").AggregationFn<any>;
11
+ };
@@ -1,10 +1,85 @@
1
1
  import { ColumnOrderState } from '@tanstack/react-table';
2
2
  import { MaterialReactTableProps, MRT_Column, MRT_ColumnDef, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterOption } from '.';
3
+ import { MRT_FilterFns } from './filterFns';
4
+ import { MRT_SortingFns } from './sortingFns';
3
5
  export declare const defaultDisplayColumnDefOptions: Partial<MRT_ColumnDef<{}>>;
4
6
  export declare const getAllLeafColumnDefs: <TData extends Record<string, any> = {}>(columns: MRT_ColumnDef<TData>[]) => MRT_ColumnDef<TData>[];
5
- export declare const prepareColumns: <TData extends Record<string, any> = {}>(columnDefs: MRT_ColumnDef<TData>[], currentFilterFns: {
7
+ export declare const prepareColumns: <TData extends Record<string, any> = {}>(columnDefs: MRT_ColumnDef<TData>[], columnFilterFns: {
6
8
  [key: string]: MRT_FilterOption;
7
- }) => MRT_DefinedColumnDef<TData>[];
9
+ }, filterFns: {
10
+ between: {
11
+ <TData_1 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_1>, id: string, filterValues: [string | number, string | number]): boolean;
12
+ autoRemove(val: any): boolean;
13
+ };
14
+ betweenInclusive: {
15
+ <TData_2 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_2>, id: string, filterValues: [string | number, string | number]): boolean;
16
+ autoRemove(val: any): boolean;
17
+ };
18
+ contains: {
19
+ <TData_3 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_3>, id: string, filterValue: string | number): boolean;
20
+ autoRemove(val: any): boolean;
21
+ };
22
+ empty: {
23
+ <TData_4 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_4>, id: string, _filterValue: string | number): boolean;
24
+ autoRemove(val: any): boolean;
25
+ };
26
+ endsWith: {
27
+ <TData_5 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_5>, id: string, filterValue: string | number): boolean;
28
+ autoRemove(val: any): boolean;
29
+ };
30
+ equals: {
31
+ <TData_6 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_6>, id: string, filterValue: string | number): boolean;
32
+ autoRemove(val: any): boolean;
33
+ };
34
+ fuzzy: {
35
+ <TData_7 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_7>, columnId: string, filterValue: string | number, addMeta: (item: import("@tanstack/match-sorter-utils").RankingInfo) => void): boolean;
36
+ autoRemove(val: any): boolean;
37
+ };
38
+ greaterThan: {
39
+ <TData_8 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_8>, id: string, filterValue: string | number): boolean;
40
+ autoRemove(val: any): boolean;
41
+ };
42
+ greaterThanOrEqualTo: {
43
+ <TData_9 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_9>, id: string, filterValue: string | number): boolean;
44
+ autoRemove(val: any): boolean;
45
+ };
46
+ lessThan: {
47
+ <TData_10 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_10>, id: string, filterValue: string | number): boolean;
48
+ autoRemove(val: any): boolean;
49
+ };
50
+ lessThanOrEqualTo: {
51
+ <TData_11 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_11>, id: string, filterValue: string | number): boolean;
52
+ autoRemove(val: any): boolean;
53
+ };
54
+ notEmpty: {
55
+ <TData_12 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_12>, id: string, _filterValue: string | number): boolean;
56
+ autoRemove(val: any): boolean;
57
+ };
58
+ notEquals: {
59
+ <TData_13 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_13>, id: string, filterValue: string | number): boolean;
60
+ autoRemove(val: any): boolean;
61
+ };
62
+ startsWith: {
63
+ <TData_14 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_14>, id: string, filterValue: string | number): boolean;
64
+ autoRemove(val: any): boolean;
65
+ };
66
+ includesString: import("@tanstack/table-core").FilterFn<any>;
67
+ includesStringSensitive: import("@tanstack/table-core").FilterFn<any>;
68
+ equalsString: import("@tanstack/table-core").FilterFn<any>;
69
+ arrIncludes: import("@tanstack/table-core").FilterFn<any>;
70
+ arrIncludesAll: import("@tanstack/table-core").FilterFn<any>;
71
+ arrIncludesSome: import("@tanstack/table-core").FilterFn<any>;
72
+ weakEquals: import("@tanstack/table-core").FilterFn<any>;
73
+ inNumberRange: import("@tanstack/table-core").FilterFn<any>;
74
+ } & Record<string, import("@tanstack/table-core").FilterFn<any>>, sortingFns: {
75
+ fuzzy: <TData_15 extends Record<string, any> = {}>(rowA: import("@tanstack/table-core").Row<TData_15>, rowB: import("@tanstack/table-core").Row<TData_15>, columnId: string) => number;
76
+ alphanumeric: import("@tanstack/table-core").SortingFn<any>;
77
+ alphanumericCaseSensitive: import("@tanstack/table-core").SortingFn<any>;
78
+ text: import("@tanstack/table-core").SortingFn<any>;
79
+ textCaseSensitive: import("@tanstack/table-core").SortingFn<any>;
80
+ datetime: import("@tanstack/table-core").SortingFn<any>;
81
+ basic: import("@tanstack/table-core").SortingFn<any>;
82
+ } & Record<string, import("@tanstack/table-core").SortingFn<any>>) => MRT_DefinedColumnDef<TData>[];
8
83
  export declare const reorderColumn: <TData extends Record<string, any> = {}>(draggedColumn: MRT_Column<TData>, targetColumn: MRT_Column<TData>, columnOrder: ColumnOrderState) => ColumnOrderState;
9
84
  export declare const getLeadingDisplayColumnIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => MRT_DisplayColumnIds[];
10
85
  export declare const getTrailingDisplayColumnIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => (string | false | undefined)[];
File without changes