material-react-table 0.40.10 → 0.41.0

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.
package/README.md CHANGED
@@ -1,9 +1,5 @@
1
1
  # Material React Table
2
2
 
3
- __Built with [Material UI <sup>V5</sup>](https://mui.com) and [TanStack Table <sup>V8</sup>](https://tanstack.com/table/v8)__
4
-
5
- _Quickly Create React Data Tables with Material Design_
6
-
7
3
  <a href="https://npmjs.com/package/material-react-table" target="_blank">
8
4
  <img alt="" src="https://badgen.net/npm/v/material-react-table?color=blue" />
9
5
  </a>
@@ -25,12 +21,9 @@ _Quickly Create React Data Tables with Material Design_
25
21
 
26
22
  ## About
27
23
 
28
- > This project is still in alpha, but is expected to enter beta by August 2022, and a stable 1.0 release shortly thereafter.
24
+ __Built with [Material UI <sup>V5</sup>](https://mui.com) and [TanStack Table <sup>V8</sup>](https://tanstack.com/table/v8)__
29
25
 
30
- - A fully featured Material UI V5 implementation of Tanstack React Table V8
31
- - Inspired by material-table and the MUI X DataGrid
32
- - Written from the ground up in TypeScript
33
- - All internal Material UI components are easily customizable
26
+ _Quickly Create React Data Tables with Material Design_
34
27
 
35
28
  Join the [Discord](https://discord.gg/5wqyRx6fnm) server to join in on the development discussion or ask questions
36
29
 
@@ -114,7 +107,7 @@ npm install material-react-table
114
107
  > Read the full usage docs [here](https://www.material-react-table.com/docs/getting-started/usage/)
115
108
 
116
109
  ```jsx
117
- import React, { useMemo, useState, useEffect } from 'react';
110
+ import React, { useMemo, useRef, useState, useEffect } from 'react';
118
111
  import MaterialReactTable from 'material-react-table';
119
112
 
120
113
  export default function App() {
@@ -129,7 +122,7 @@ export default function App() {
129
122
  accessorFn: (row) => row.age, //alternate way
130
123
  id: 'age', //id required if you use accessorFn instead of accessorKey
131
124
  header: 'Age',
132
- Header: <i style={{ color: 'red' }}>Age</i>, //optional custom markup
125
+ Header: <i>Age</i>, //optional custom markup
133
126
  },
134
127
  ],
135
128
  [],
@@ -156,15 +149,24 @@ export default function App() {
156
149
  //do something when the row selection changes
157
150
  }, [rowSelection]);
158
151
 
152
+ //Or, optionally, you can get a reference to the underlying table instance
153
+ const tableInstanceRef = useRef(null);
154
+
155
+ const someEventHandler = () => {
156
+ //read the table state during an event from the table instance ref
157
+ console.log(tableInstanceRef.current.getState().sorting);
158
+ }
159
+
159
160
  return (
160
161
  <MaterialReactTable
161
162
  columns={columns}
162
163
  data={data}
163
164
  enableColumnOrdering //enable some features
164
165
  enableRowSelection
165
- enableStickyHeader
166
+ enablePagination={false} //disable a default feature
166
167
  onRowSelectionChange={setRowSelection} //hoist internal state to your own state (optional)
167
168
  state={{ rowSelection }} //manage your own state, pass it back to the table (optional)
169
+ tableInstanceRef={tableInstanceRef} //get a reference to the underlying table instance (optional)
168
170
  />
169
171
  );
170
172
  }
@@ -178,4 +180,4 @@ _Open in [Code Sandbox](https://codesandbox.io/s/simple-material-react-table-exa
178
180
  <img src="https://contrib.rocks/image?repo=kevinvandy/material-react-table" />
179
181
  </a>
180
182
 
181
- PRs are Welcome, but please discuss in [GitHub Discussions](https://github.com/KevinVandy/material-react-table/discussions) or the [Discord Server](https://discord.gg/5wqyRx6fnm) first!
183
+ PRs are Welcome, but please discuss in [GitHub Discussions](https://github.com/KevinVandy/material-react-table/discussions) or the [Discord Server](https://discord.gg/5wqyRx6fnm) first if it is a large change!
@@ -231,7 +231,8 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
231
231
  }) => ReactNode[];
232
232
  sortingFn?: MRT_SortingFn;
233
233
  };
234
- export declare type MRT_DefinedColumnDef<TData extends Record<string, any> = {}> = Omit<MRT_ColumnDef<TData>, 'id'> & {
234
+ export declare type MRT_DefinedColumnDef<TData extends Record<string, any> = {}> = Omit<MRT_ColumnDef<TData>, 'id' | 'defaultDisplayColumn'> & {
235
+ defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
235
236
  id: string;
236
237
  _filterFn: MRT_FilterOption;
237
238
  };
@@ -283,6 +284,7 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
283
284
  columns: MRT_ColumnDef<TData>[];
284
285
  data: TData[];
285
286
  defaultColumn?: Partial<MRT_ColumnDef<TData>>;
287
+ defaultDisplayColumn?: Partial<MRT_ColumnDef<TData>>;
286
288
  displayColumnDefOptions?: Partial<{
287
289
  [key in MRT_DisplayColumnIds]: Partial<MRT_ColumnDef>;
288
290
  }>;
@@ -532,5 +534,5 @@ export declare type Virtualizer = {
532
534
  scrollToIndex: (index: number, options?: any | undefined) => void;
533
535
  measure: () => void;
534
536
  };
535
- declare const _default: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, 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, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
537
+ declare const _default: <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, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
536
538
  export default _default;
@@ -2,85 +2,90 @@ import { ColumnOrderState, GroupingState } from '@tanstack/react-table';
2
2
  import { MaterialReactTableProps, MRT_Column, MRT_ColumnDef, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterOption } from '.';
3
3
  import { MRT_FilterFns } from './filterFns';
4
4
  import { MRT_SortingFns } from './sortingFns';
5
- export declare const defaultDisplayColumnDefOptions: Partial<MRT_ColumnDef<{}>>;
6
5
  export declare const getColumnId: <TData extends Record<string, any> = {}>(columnDef: MRT_ColumnDef<TData>) => string;
7
6
  export declare const getAllLeafColumnDefs: <TData extends Record<string, any> = {}>(columns: MRT_ColumnDef<TData>[]) => MRT_ColumnDef<TData>[];
8
- export declare const prepareColumns: <TData extends Record<string, any> = {}>(columnDefs: MRT_ColumnDef<TData>[], columnFilterFns: {
9
- [key: string]: MRT_FilterOption;
10
- }, filterFns: {
11
- between: {
12
- <TData_1 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_1>, id: string, filterValues: [string | number, string | number]): boolean;
13
- autoRemove(val: any): boolean;
7
+ export declare const prepareColumns: <TData extends Record<string, any> = {}>({ columnDefs, columnFilterFns, defaultDisplayColumn, filterFns, sortingFns, }: {
8
+ columnDefs: MRT_ColumnDef<TData>[];
9
+ columnFilterFns: {
10
+ [key: string]: MRT_FilterOption;
14
11
  };
15
- betweenInclusive: {
16
- <TData_2 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_2>, id: string, filterValues: [string | number, string | number]): boolean;
17
- autoRemove(val: any): boolean;
18
- };
19
- contains: {
20
- <TData_3 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_3>, id: string, filterValue: string | number): boolean;
21
- autoRemove(val: any): boolean;
22
- };
23
- empty: {
24
- <TData_4 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_4>, id: string, _filterValue: string | number): boolean;
25
- autoRemove(val: any): boolean;
26
- };
27
- endsWith: {
28
- <TData_5 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_5>, id: string, filterValue: string | number): boolean;
29
- autoRemove(val: any): boolean;
30
- };
31
- equals: {
32
- <TData_6 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_6>, id: string, filterValue: string | number): boolean;
33
- autoRemove(val: any): boolean;
34
- };
35
- fuzzy: {
36
- <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;
37
- autoRemove(val: any): boolean;
38
- };
39
- greaterThan: {
40
- <TData_8 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_8>, id: string, filterValue: string | number): boolean;
41
- autoRemove(val: any): boolean;
42
- };
43
- greaterThanOrEqualTo: {
44
- <TData_9 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_9>, id: string, filterValue: string | number): boolean;
45
- autoRemove(val: any): boolean;
46
- };
47
- lessThan: {
48
- <TData_10 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_10>, id: string, filterValue: string | number): boolean;
49
- autoRemove(val: any): boolean;
50
- };
51
- lessThanOrEqualTo: {
52
- <TData_11 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_11>, id: string, filterValue: string | number): boolean;
53
- autoRemove(val: any): boolean;
54
- };
55
- notEmpty: {
56
- <TData_12 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_12>, id: string, _filterValue: string | number): boolean;
57
- autoRemove(val: any): boolean;
58
- };
59
- notEquals: {
60
- <TData_13 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_13>, id: string, filterValue: string | number): boolean;
61
- autoRemove(val: any): boolean;
62
- };
63
- startsWith: {
64
- <TData_14 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_14>, id: string, filterValue: string | number): boolean;
65
- autoRemove(val: any): boolean;
66
- };
67
- includesString: import("@tanstack/table-core").FilterFn<any>;
68
- includesStringSensitive: import("@tanstack/table-core").FilterFn<any>;
69
- equalsString: import("@tanstack/table-core").FilterFn<any>;
70
- arrIncludes: import("@tanstack/table-core").FilterFn<any>;
71
- arrIncludesAll: import("@tanstack/table-core").FilterFn<any>;
72
- arrIncludesSome: import("@tanstack/table-core").FilterFn<any>;
73
- weakEquals: import("@tanstack/table-core").FilterFn<any>;
74
- inNumberRange: import("@tanstack/table-core").FilterFn<any>;
75
- } & Record<string, import("@tanstack/table-core").FilterFn<any>>, sortingFns: {
76
- 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;
77
- alphanumeric: import("@tanstack/table-core").SortingFn<any>;
78
- alphanumericCaseSensitive: import("@tanstack/table-core").SortingFn<any>;
79
- text: import("@tanstack/table-core").SortingFn<any>;
80
- textCaseSensitive: import("@tanstack/table-core").SortingFn<any>;
81
- datetime: import("@tanstack/table-core").SortingFn<any>;
82
- basic: import("@tanstack/table-core").SortingFn<any>;
83
- } & Record<string, import("@tanstack/table-core").SortingFn<any>>) => MRT_DefinedColumnDef<TData>[];
12
+ defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
13
+ filterFns: {
14
+ between: {
15
+ <TData_1 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_1>, id: string, filterValues: [string | number, string | number]): boolean;
16
+ autoRemove(val: any): boolean;
17
+ };
18
+ betweenInclusive: {
19
+ <TData_2 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_2>, id: string, filterValues: [string | number, string | number]): boolean;
20
+ autoRemove(val: any): boolean;
21
+ };
22
+ contains: {
23
+ <TData_3 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_3>, id: string, filterValue: string | number): boolean;
24
+ autoRemove(val: any): boolean;
25
+ };
26
+ empty: {
27
+ <TData_4 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_4>, id: string, _filterValue: string | number): boolean;
28
+ autoRemove(val: any): boolean;
29
+ };
30
+ endsWith: {
31
+ <TData_5 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_5>, id: string, filterValue: string | number): boolean;
32
+ autoRemove(val: any): boolean;
33
+ };
34
+ equals: {
35
+ <TData_6 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_6>, id: string, filterValue: string | number): boolean;
36
+ autoRemove(val: any): boolean;
37
+ };
38
+ fuzzy: {
39
+ <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;
40
+ autoRemove(val: any): boolean;
41
+ };
42
+ greaterThan: {
43
+ <TData_8 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_8>, id: string, filterValue: string | number): boolean;
44
+ autoRemove(val: any): boolean;
45
+ };
46
+ greaterThanOrEqualTo: {
47
+ <TData_9 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_9>, id: string, filterValue: string | number): boolean;
48
+ autoRemove(val: any): boolean;
49
+ };
50
+ lessThan: {
51
+ <TData_10 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_10>, id: string, filterValue: string | number): boolean;
52
+ autoRemove(val: any): boolean;
53
+ };
54
+ lessThanOrEqualTo: {
55
+ <TData_11 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_11>, id: string, filterValue: string | number): boolean;
56
+ autoRemove(val: any): boolean;
57
+ };
58
+ notEmpty: {
59
+ <TData_12 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_12>, id: string, _filterValue: string | number): boolean;
60
+ autoRemove(val: any): boolean;
61
+ };
62
+ notEquals: {
63
+ <TData_13 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_13>, id: string, filterValue: string | number): boolean;
64
+ autoRemove(val: any): boolean;
65
+ };
66
+ startsWith: {
67
+ <TData_14 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_14>, id: string, filterValue: string | number): boolean;
68
+ autoRemove(val: any): boolean;
69
+ };
70
+ includesString: import("@tanstack/table-core").FilterFn<any>;
71
+ includesStringSensitive: import("@tanstack/table-core").FilterFn<any>;
72
+ equalsString: import("@tanstack/table-core").FilterFn<any>;
73
+ arrIncludes: import("@tanstack/table-core").FilterFn<any>;
74
+ arrIncludesAll: import("@tanstack/table-core").FilterFn<any>;
75
+ arrIncludesSome: import("@tanstack/table-core").FilterFn<any>;
76
+ weakEquals: import("@tanstack/table-core").FilterFn<any>;
77
+ inNumberRange: import("@tanstack/table-core").FilterFn<any>;
78
+ } & Record<string, import("@tanstack/table-core").FilterFn<any>>;
79
+ sortingFns: {
80
+ 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;
81
+ alphanumeric: import("@tanstack/table-core").SortingFn<any>;
82
+ alphanumericCaseSensitive: import("@tanstack/table-core").SortingFn<any>;
83
+ text: import("@tanstack/table-core").SortingFn<any>;
84
+ textCaseSensitive: import("@tanstack/table-core").SortingFn<any>;
85
+ datetime: import("@tanstack/table-core").SortingFn<any>;
86
+ basic: import("@tanstack/table-core").SortingFn<any>;
87
+ } & Record<string, import("@tanstack/table-core").SortingFn<any>>;
88
+ }) => MRT_DefinedColumnDef<TData>[];
84
89
  export declare const reorderColumn: <TData extends Record<string, any> = {}>(draggedColumn: MRT_Column<TData>, targetColumn: MRT_Column<TData>, columnOrder: ColumnOrderState) => ColumnOrderState;
85
90
  export declare const showExpandColumn: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>, grouping?: GroupingState) => boolean;
86
91
  export declare const getLeadingDisplayColumnIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => MRT_DisplayColumnIds[];
package/dist/cjs/index.js CHANGED
@@ -492,20 +492,6 @@ const MRT_GrabHandleButton = ({ iconButtonProps, onDragEnd, onDragStart, table,
492
492
  React__default["default"].createElement(DragHandleIcon, null))));
493
493
  };
494
494
 
495
- const defaultDisplayColumnDefOptions = {
496
- columnDefType: 'display',
497
- enableClickToCopy: false,
498
- enableColumnActions: false,
499
- enableColumnDragging: false,
500
- enableColumnFilter: false,
501
- enableColumnOrdering: false,
502
- enableEditing: false,
503
- enableGlobalFilter: false,
504
- enableGrouping: false,
505
- enableHiding: false,
506
- enableResizing: false,
507
- enableSorting: false,
508
- };
509
495
  const getColumnId = (columnDef) => { var _a, _b, _c, _d; return (_d = (_a = columnDef.id) !== null && _a !== void 0 ? _a : (_c = (_b = columnDef.accessorKey) === null || _b === void 0 ? void 0 : _b.toString) === null || _c === void 0 ? void 0 : _c.call(_b)) !== null && _d !== void 0 ? _d : columnDef.header; };
510
496
  const getAllLeafColumnDefs = (columns) => {
511
497
  let lowestLevelColumns = columns;
@@ -522,7 +508,7 @@ const getAllLeafColumnDefs = (columns) => {
522
508
  }
523
509
  return lowestLevelColumns.filter((col) => !col.columns);
524
510
  };
525
- const prepareColumns = (columnDefs, columnFilterFns, filterFns, sortingFns) => columnDefs.map((columnDef) => {
511
+ const prepareColumns = ({ columnDefs, columnFilterFns, defaultDisplayColumn, filterFns, sortingFns, }) => columnDefs.map((columnDef) => {
526
512
  var _a, _b;
527
513
  if (!columnDef.id)
528
514
  columnDef.id = getColumnId(columnDef);
@@ -533,7 +519,13 @@ const prepareColumns = (columnDefs, columnFilterFns, filterFns, sortingFns) => c
533
519
  columnDef.columnDefType = 'data';
534
520
  if (!!((_a = columnDef.columns) === null || _a === void 0 ? void 0 : _a.length)) {
535
521
  columnDef.columnDefType = 'group';
536
- columnDef.columns = prepareColumns(columnDef.columns, columnFilterFns, filterFns, sortingFns);
522
+ columnDef.columns = prepareColumns({
523
+ columnDefs: columnDef.columns,
524
+ columnFilterFns,
525
+ defaultDisplayColumn,
526
+ filterFns,
527
+ sortingFns,
528
+ });
537
529
  }
538
530
  else if (columnDef.columnDefType === 'data') {
539
531
  if (Object.keys(filterFns).includes(columnFilterFns[columnDef.id])) {
@@ -548,7 +540,7 @@ const prepareColumns = (columnDefs, columnFilterFns, filterFns, sortingFns) => c
548
540
  }
549
541
  }
550
542
  else if (columnDef.columnDefType === 'display') {
551
- columnDef = Object.assign(Object.assign({}, defaultDisplayColumnDefOptions), columnDef);
543
+ columnDef = Object.assign(Object.assign({}, defaultDisplayColumn), columnDef);
552
544
  }
553
545
  return columnDef;
554
546
  });
@@ -1455,6 +1447,9 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1455
1447
  const handleFilterMenuOpen = (event) => {
1456
1448
  setAnchorEl(event.currentTarget);
1457
1449
  };
1450
+ React.useEffect(() => {
1451
+ setFilterValue('');
1452
+ }, [columnDef._filterFn]);
1458
1453
  if (columnDef.Filter) {
1459
1454
  return React__default["default"].createElement(React__default["default"].Fragment, null, (_e = columnDef.Filter) === null || _e === void 0 ? void 0 : _e.call(columnDef, { column, header, table }));
1460
1455
  }
@@ -1483,7 +1478,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1483
1478
  React__default["default"].createElement("span", null,
1484
1479
  React__default["default"].createElement(material.IconButton, { "aria-label": localization.changeFilterMode, onClick: handleFilterMenuOpen, size: "small", sx: { height: '1.75rem', width: '1.75rem' } },
1485
1480
  React__default["default"].createElement(FilterListIcon, null)))),
1486
- filterChipLabel && (React__default["default"].createElement(material.Chip, { onDelete: handleClearEmptyFilterChip, label: filterChipLabel })))) : (React__default["default"].createElement(FilterListIcon, { style: { marginRight: '4px' } })),
1481
+ filterChipLabel && (React__default["default"].createElement(material.Chip, { onDelete: handleClearEmptyFilterChip, label: filterChipLabel })))) : null,
1487
1482
  endAdornment: !filterChipLabel && (React__default["default"].createElement(material.InputAdornment, { position: "end" },
1488
1483
  React__default["default"].createElement(material.Tooltip, { arrow: true, placement: "right", title: (_g = localization.clearFilter) !== null && _g !== void 0 ? _g : '' },
1489
1484
  React__default["default"].createElement("span", null,
@@ -2401,7 +2396,7 @@ const MRT_EditRowModal = ({ open, row, table, }) => {
2401
2396
  };
2402
2397
 
2403
2398
  const MRT_TableRoot = (props) => {
2404
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
2399
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9;
2405
2400
  const bottomToolbarRef = React.useRef(null);
2406
2401
  const editInputRefs = React.useRef({});
2407
2402
  const filterInputRefs = React.useRef({});
@@ -2444,12 +2439,12 @@ const MRT_TableRoot = (props) => {
2444
2439
  const displayColumns = React.useMemo(() => {
2445
2440
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
2446
2441
  return [
2447
- columnOrder.includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ header: (_a = props.localization) === null || _a === void 0 ? void 0 : _a.move, size: 60 }, defaultDisplayColumnDefOptions), (_b = props.displayColumnDefOptions) === null || _b === void 0 ? void 0 : _b['mrt-row-drag']), { id: 'mrt-row-drag' }),
2448
- columnOrder.includes('mrt-row-actions') && Object.assign(Object.assign(Object.assign({ Cell: ({ cell, row }) => (React__default["default"].createElement(MRT_ToggleRowActionMenuButton, { cell: cell, row: row, table: table })), header: (_c = props.localization) === null || _c === void 0 ? void 0 : _c.actions, size: 70 }, defaultDisplayColumnDefOptions), (_d = props.displayColumnDefOptions) === null || _d === void 0 ? void 0 : _d['mrt-row-actions']), { id: 'mrt-row-actions' }),
2442
+ columnOrder.includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ header: (_a = props.localization) === null || _a === void 0 ? void 0 : _a.move, size: 60 }, props.defaultDisplayColumn), (_b = props.displayColumnDefOptions) === null || _b === void 0 ? void 0 : _b['mrt-row-drag']), { id: 'mrt-row-drag' }),
2443
+ columnOrder.includes('mrt-row-actions') && Object.assign(Object.assign(Object.assign({ Cell: ({ cell, row }) => (React__default["default"].createElement(MRT_ToggleRowActionMenuButton, { cell: cell, row: row, table: table })), header: (_c = props.localization) === null || _c === void 0 ? void 0 : _c.actions, size: 70 }, props.defaultDisplayColumn), (_d = props.displayColumnDefOptions) === null || _d === void 0 ? void 0 : _d['mrt-row-actions']), { id: 'mrt-row-actions' }),
2449
2444
  columnOrder.includes('mrt-row-expand') &&
2450
- showExpandColumn(props, grouping) && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_ExpandButton, { row: row, table: table })), Header: () => props.enableExpandAll ? (React__default["default"].createElement(MRT_ExpandAllButton, { table: table })) : null, header: (_e = props.localization) === null || _e === void 0 ? void 0 : _e.expand, size: 60 }, defaultDisplayColumnDefOptions), (_f = props.displayColumnDefOptions) === null || _f === void 0 ? void 0 : _f['mrt-row-expand']), { id: 'mrt-row-expand' }),
2451
- columnOrder.includes('mrt-row-select') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_SelectCheckbox, { row: row, table: table })), Header: () => props.enableSelectAll ? (React__default["default"].createElement(MRT_SelectCheckbox, { selectAll: true, table: table })) : null, header: (_g = props.localization) === null || _g === void 0 ? void 0 : _g.select, size: 60 }, defaultDisplayColumnDefOptions), (_h = props.displayColumnDefOptions) === null || _h === void 0 ? void 0 : _h['mrt-row-select']), { id: 'mrt-row-select' }),
2452
- columnOrder.includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => { var _a; return (_a = props.localization) === null || _a === void 0 ? void 0 : _a.rowNumber; }, header: (_j = props.localization) === null || _j === void 0 ? void 0 : _j.rowNumbers, size: 60 }, defaultDisplayColumnDefOptions), (_k = props.displayColumnDefOptions) === null || _k === void 0 ? void 0 : _k['mrt-row-numbers']), { id: 'mrt-row-numbers' }),
2445
+ showExpandColumn(props, grouping) && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_ExpandButton, { row: row, table: table })), Header: () => props.enableExpandAll ? (React__default["default"].createElement(MRT_ExpandAllButton, { table: table })) : null, header: (_e = props.localization) === null || _e === void 0 ? void 0 : _e.expand, size: 60 }, props.defaultDisplayColumn), (_f = props.displayColumnDefOptions) === null || _f === void 0 ? void 0 : _f['mrt-row-expand']), { id: 'mrt-row-expand' }),
2446
+ columnOrder.includes('mrt-row-select') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_SelectCheckbox, { row: row, table: table })), Header: () => props.enableSelectAll ? (React__default["default"].createElement(MRT_SelectCheckbox, { selectAll: true, table: table })) : null, header: (_g = props.localization) === null || _g === void 0 ? void 0 : _g.select, size: 60 }, props.defaultDisplayColumn), (_h = props.displayColumnDefOptions) === null || _h === void 0 ? void 0 : _h['mrt-row-select']), { id: 'mrt-row-select' }),
2447
+ columnOrder.includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => { var _a; return (_a = props.localization) === null || _a === void 0 ? void 0 : _a.rowNumber; }, header: (_j = props.localization) === null || _j === void 0 ? void 0 : _j.rowNumbers, size: 60 }, props.defaultDisplayColumn), (_k = props.displayColumnDefOptions) === null || _k === void 0 ? void 0 : _k['mrt-row-numbers']), { id: 'mrt-row-numbers' }),
2453
2448
  ].filter(Boolean);
2454
2449
  }, [
2455
2450
  columnOrder,
@@ -2473,7 +2468,21 @@ const MRT_TableRoot = (props) => {
2473
2468
  props.positionActionsColumn,
2474
2469
  props.renderDetailPanel,
2475
2470
  ]);
2476
- const columnDefs = React.useMemo(() => prepareColumns([...displayColumns, ...props.columns], columnFilterFns, props.filterFns, props.sortingFns), [columnFilterFns, displayColumns, props.columns]);
2471
+ const columnDefs = React.useMemo(() => {
2472
+ var _a, _b, _c;
2473
+ return prepareColumns({
2474
+ columnDefs: [...displayColumns, ...props.columns],
2475
+ columnFilterFns: (_b = (_a = props.state) === null || _a === void 0 ? void 0 : _a.columnFilterFns) !== null && _b !== void 0 ? _b : columnFilterFns,
2476
+ defaultDisplayColumn: (_c = props.defaultDisplayColumn) !== null && _c !== void 0 ? _c : {},
2477
+ filterFns: props.filterFns,
2478
+ sortingFns: props.sortingFns,
2479
+ });
2480
+ }, [
2481
+ columnFilterFns,
2482
+ displayColumns,
2483
+ props.columns,
2484
+ (_r = props.state) === null || _r === void 0 ? void 0 : _r.columnFilterFns,
2485
+ ]);
2477
2486
  const data = React.useMemo(() => {
2478
2487
  var _a, _b, _c, _d, _e;
2479
2488
  return (((_a = props.state) === null || _a === void 0 ? void 0 : _a.isLoading) || ((_b = props.state) === null || _b === void 0 ? void 0 : _b.showSkeletons)) &&
@@ -2489,11 +2498,11 @@ const MRT_TableRoot = (props) => {
2489
2498
  });
2490
2499
  })))
2491
2500
  : props.data;
2492
- }, [props.data, (_r = props.state) === null || _r === void 0 ? void 0 : _r.isLoading, (_s = props.state) === null || _s === void 0 ? void 0 : _s.showSkeletons]);
2501
+ }, [props.data, (_s = props.state) === null || _s === void 0 ? void 0 : _s.isLoading, (_t = props.state) === null || _t === void 0 ? void 0 : _t.showSkeletons]);
2493
2502
  //@ts-ignore
2494
2503
  const table = Object.assign(Object.assign({}, reactTable.useReactTable(Object.assign(Object.assign({ getCoreRowModel: reactTable.getCoreRowModel(), getExpandedRowModel: reactTable.getExpandedRowModel(), getFacetedRowModel: reactTable.getFacetedRowModel(), getFilteredRowModel: reactTable.getFilteredRowModel(), getGroupedRowModel: reactTable.getGroupedRowModel(), getPaginationRowModel: reactTable.getPaginationRowModel(), getSortedRowModel: reactTable.getSortedRowModel(), onColumnOrderChange: setColumnOrder, onGroupingChange: setGrouping, getSubRows: (row) => row === null || row === void 0 ? void 0 : row.subRows }, props), {
2495
2504
  //@ts-ignore
2496
- columns: columnDefs, data, globalFilterFn: (_u = (_t = props.filterFns) === null || _t === void 0 ? void 0 : _t[globalFilterFn]) !== null && _u !== void 0 ? _u : (_v = props.filterFns) === null || _v === void 0 ? void 0 : _v.fuzzy, initialState, state: Object.assign({ columnFilterFns,
2505
+ columns: columnDefs, data, globalFilterFn: (_v = (_u = props.filterFns) === null || _u === void 0 ? void 0 : _u[globalFilterFn]) !== null && _v !== void 0 ? _v : (_w = props.filterFns) === null || _w === void 0 ? void 0 : _w.fuzzy, initialState, state: Object.assign({ columnFilterFns,
2497
2506
  columnOrder,
2498
2507
  density,
2499
2508
  draggingColumn,
@@ -2514,7 +2523,7 @@ const MRT_TableRoot = (props) => {
2514
2523
  searchInputRef,
2515
2524
  tableContainerRef,
2516
2525
  topToolbarRef,
2517
- }, setColumnFilterFns: (_w = props.onFilterFnsChange) !== null && _w !== void 0 ? _w : setColumnFilterFns, setDensity: (_x = props.onDensityChange) !== null && _x !== void 0 ? _x : setDensity, setDraggingColumn: (_y = props.onDraggingColumnChange) !== null && _y !== void 0 ? _y : setDraggingColumn, setDraggingRow: (_z = props.onDraggingRowChange) !== null && _z !== void 0 ? _z : setDraggingRow, setEditingCell: (_0 = props.onEditingCellChange) !== null && _0 !== void 0 ? _0 : setEditingCell, setEditingRow: (_1 = props.onEditingRowChange) !== null && _1 !== void 0 ? _1 : setEditingRow, setGlobalFilterFn: (_2 = props.onGlobalFilterFnChange) !== null && _2 !== void 0 ? _2 : setGlobalFilterFn, setHoveredColumn: (_3 = props.onHoveredColumnChange) !== null && _3 !== void 0 ? _3 : setHoveredColumn, setHoveredRow: (_4 = props.onHoveredRowChange) !== null && _4 !== void 0 ? _4 : setHoveredRow, setIsFullScreen: (_5 = props.onIsFullScreenChange) !== null && _5 !== void 0 ? _5 : setIsFullScreen, setShowAlertBanner: (_6 = props.onShowAlertBannerChange) !== null && _6 !== void 0 ? _6 : setShowAlertBanner, setShowFilters: (_7 = props.onShowFiltersChange) !== null && _7 !== void 0 ? _7 : setShowFilters, setShowGlobalFilter: (_8 = props.onShowGlobalFilterChange) !== null && _8 !== void 0 ? _8 : setShowGlobalFilter });
2526
+ }, setColumnFilterFns: (_x = props.onFilterFnsChange) !== null && _x !== void 0 ? _x : setColumnFilterFns, setDensity: (_y = props.onDensityChange) !== null && _y !== void 0 ? _y : setDensity, setDraggingColumn: (_z = props.onDraggingColumnChange) !== null && _z !== void 0 ? _z : setDraggingColumn, setDraggingRow: (_0 = props.onDraggingRowChange) !== null && _0 !== void 0 ? _0 : setDraggingRow, setEditingCell: (_1 = props.onEditingCellChange) !== null && _1 !== void 0 ? _1 : setEditingCell, setEditingRow: (_2 = props.onEditingRowChange) !== null && _2 !== void 0 ? _2 : setEditingRow, setGlobalFilterFn: (_3 = props.onGlobalFilterFnChange) !== null && _3 !== void 0 ? _3 : setGlobalFilterFn, setHoveredColumn: (_4 = props.onHoveredColumnChange) !== null && _4 !== void 0 ? _4 : setHoveredColumn, setHoveredRow: (_5 = props.onHoveredRowChange) !== null && _5 !== void 0 ? _5 : setHoveredRow, setIsFullScreen: (_6 = props.onIsFullScreenChange) !== null && _6 !== void 0 ? _6 : setIsFullScreen, setShowAlertBanner: (_7 = props.onShowAlertBannerChange) !== null && _7 !== void 0 ? _7 : setShowAlertBanner, setShowFilters: (_8 = props.onShowFiltersChange) !== null && _8 !== void 0 ? _8 : setShowFilters, setShowGlobalFilter: (_9 = props.onShowGlobalFilterChange) !== null && _9 !== void 0 ? _9 : setShowGlobalFilter });
2518
2527
  if (props.tableInstanceRef) {
2519
2528
  props.tableInstanceRef.current = table;
2520
2529
  }
@@ -2526,8 +2535,8 @@ const MRT_TableRoot = (props) => {
2526
2535
  };
2527
2536
 
2528
2537
  var MaterialReactTable = (_a) => {
2529
- var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn = { minSize: 40, maxSize: 1000, size: 180 }, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, localization, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'all', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnResizeMode", "defaultColumn", "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", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
2530
- return (React__default["default"].createElement(MRT_TableRoot, Object.assign({ aggregationFns: Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns), autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: defaultColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: Object.assign(Object.assign({}, MRT_FilterFns), filterFns), icons: Object.assign(Object.assign({}, MRT_Default_Icons), icons), localization: Object.assign(Object.assign({}, MRT_DefaultLocalization_EN), localization), positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: Object.assign(Object.assign({}, MRT_SortingFns), sortingFns) }, rest)));
2538
+ var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn = { minSize: 40, maxSize: 1000, size: 180 }, defaultDisplayColumn, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, localization, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'all', sortingFns } = _a, rest = __rest(_a, ["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", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
2539
+ return (React__default["default"].createElement(MRT_TableRoot, Object.assign({ aggregationFns: Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns), autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: defaultColumn, defaultDisplayColumn: Object.assign({ columnDefType: 'display', enableClickToCopy: false, enableColumnActions: false, enableColumnDragging: false, enableColumnFilter: false, enableColumnOrdering: false, enableEditing: false, enableGlobalFilter: false, enableGrouping: false, enableHiding: false, enableResizing: false, enableSorting: false }, defaultDisplayColumn), editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: Object.assign(Object.assign({}, MRT_FilterFns), filterFns), icons: Object.assign(Object.assign({}, MRT_Default_Icons), icons), localization: Object.assign(Object.assign({}, MRT_DefaultLocalization_EN), localization), positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: Object.assign(Object.assign({}, MRT_SortingFns), sortingFns) }, rest)));
2531
2540
  };
2532
2541
 
2533
2542
  exports.MRT_CopyButton = MRT_CopyButton;