material-react-table 0.32.1 → 0.33.1

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 +24 -23
  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 +24 -23
  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 +105 -104
  18. package/package.json +17 -17
  19. package/src/MaterialReactTable.tsx +46 -31
  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
@@ -1,10 +1,10 @@
1
1
  import { ChangeEvent, Dispatch, DragEvent, FC, FocusEvent, ReactNode, SetStateAction } from 'react';
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
- import type { Cell, Column, ColumnDef, CoreColumnDefAccessorKey, FilterFn, Header, HeaderGroup, OnChangeFn, Row, SortingFn, Table, TableOptions, TableState } from '@tanstack/react-table';
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;
@@ -123,7 +123,7 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
123
123
  * @example accessorKey: 'username' //simple
124
124
  * @example accessorKey: 'name.firstName' //deep key dot notation
125
125
  */
126
- accessorKey?: CoreColumnDefAccessorKey<TData, unknown>['accessorKey'];
126
+ accessorKey?: DeepKeys<TData>;
127
127
  /**
128
128
  * Specify what type of column this is. Either `data`, `display`, or `group`. Defaults to `data`.
129
129
  * Leave this blank if you are just creating a normal data column.
@@ -246,12 +246,12 @@ export declare type MRT_DisplayColumnIds = 'mrt-row-drag' | 'mrt-row-actions' |
246
246
  * `columns` and `data` props are the only required props, but there are over 150 other optional props.
247
247
  *
248
248
  * See more info on creating columns and data on the official docs site:
249
- * @link https://www.material-react-table.com/docs/usage
249
+ * @link https://www.material-react-table.com/docs/getting-started/usage
250
250
  *
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?: ({ table, }: {
491
+ table: MRT_TableInstance<TData>;
492
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | 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