material-react-table 1.7.4 → 1.8.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.
Files changed (44) hide show
  1. package/README.md +5 -13
  2. package/dist/cjs/index.js +79 -37
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/types/MaterialReactTable.d.ts +16 -8
  5. package/dist/cjs/types/body/MRT_TableBody.d.ts +3 -4
  6. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +2 -3
  7. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +4 -5
  8. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +2 -3
  9. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +2 -3
  10. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +2 -3
  11. package/dist/cjs/types/head/MRT_TableHead.d.ts +2 -3
  12. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +2 -3
  13. package/dist/cjs/types/table/MRT_TableRoot.d.ts +1 -272
  14. package/dist/esm/material-react-table.esm.js +77 -38
  15. package/dist/esm/material-react-table.esm.js.map +1 -1
  16. package/dist/esm/types/MaterialReactTable.d.ts +16 -8
  17. package/dist/esm/types/body/MRT_TableBody.d.ts +3 -4
  18. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +2 -3
  19. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +4 -5
  20. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +2 -3
  21. package/dist/esm/types/footer/MRT_TableFooter.d.ts +2 -3
  22. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +2 -3
  23. package/dist/esm/types/head/MRT_TableHead.d.ts +2 -3
  24. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +2 -3
  25. package/dist/esm/types/table/MRT_TableRoot.d.ts +1 -272
  26. package/dist/index.d.ts +16 -7
  27. package/package.json +2 -2
  28. package/src/MaterialReactTable.tsx +44 -7
  29. package/src/body/MRT_TableBody.tsx +11 -10
  30. package/src/body/MRT_TableBodyCell.tsx +8 -12
  31. package/src/body/MRT_TableBodyCellValue.tsx +1 -0
  32. package/src/body/MRT_TableBodyRow.tsx +14 -7
  33. package/src/body/MRT_TableDetailPanel.tsx +2 -3
  34. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +4 -1
  35. package/src/column.utils.ts +6 -1
  36. package/src/footer/MRT_TableFooter.tsx +2 -3
  37. package/src/footer/MRT_TableFooterRow.tsx +7 -3
  38. package/src/head/MRT_TableHead.tsx +2 -3
  39. package/src/head/MRT_TableHeadRow.tsx +7 -3
  40. package/src/inputs/MRT_EditCellTextField.tsx +38 -2
  41. package/src/menus/MRT_FilterOptionMenu.tsx +14 -5
  42. package/src/menus/MRT_RowActionMenu.tsx +12 -10
  43. package/src/table/MRT_Table.tsx +2 -3
  44. package/src/table/MRT_TableRoot.tsx +33 -19
package/README.md CHANGED
@@ -27,17 +27,9 @@ View [Documentation](https://www.material-react-table.com/)
27
27
 
28
28
  ### __Built with [Material UI <sup>V5</sup>](https://mui.com) and [TanStack Table <sup>V8</sup>](https://tanstack.com/table/v8)__
29
29
 
30
- <br />
31
- <div style="display:flex;align-items:center;">
32
- <img src="https://material-react-table.com/mrt_logo.svg" alt="MRT" height="24"/>
33
- =
34
- <img src="https://mui.com/static/logo.png" height="24">
35
- 🤝
36
- <img src="https://react-table-v7.tanstack.com/_next/static/images/logo-light-66d4dd9109004332c863391e6d1cb309.svg" height="24">
37
- </div>
38
- <br />
39
-
40
- MRT is built with Material-UI components on top of [TanStack Table's](https://tanstack.com/table/v8) comprehensive and powerful react hooks api.
30
+ <img src="https://material-react-table.com/banner.png" alt="MRT" height="50"/>
31
+
32
+ > Want to use Mantine instead of Material UI? Check out [Mantine React Table](https://www.mantine-react-table.com)
41
33
 
42
34
  ## Learn More
43
35
 
@@ -148,7 +140,7 @@ export default function App() {
148
140
  accessorKey: 'name', //simple recommended way to define a column
149
141
  header: 'Name',
150
142
  muiTableHeadCellProps: { sx: { color: 'green' } }, //optional custom props
151
- Cell: ({ cell}) => <span>{cell.getValue()}</span>, //optional custom cell render
143
+ Cell: ({ cell }) => <span>{cell.getValue()}</span>, //optional custom cell render
152
144
  },
153
145
  {
154
146
  accessorFn: (row) => row.age, //alternate way
@@ -202,4 +194,4 @@ PRs are Welcome, but please discuss in [GitHub Discussions](https://github.com/K
202
194
 
203
195
  Read the [Contributing Guide](https://github.com/KevinVandy/material-react-table/blob/main/CONTRIBUTING.md) to learn how to run this project locally.
204
196
 
205
- <!-- Use the FORCE, Luke! -->
197
+ <!-- Use the FORCE, Luke! -->
package/dist/cjs/index.js CHANGED
@@ -365,7 +365,12 @@ const MRT_DefaultDisplayColumn = {
365
365
  enableResizing: false,
366
366
  enableSorting: false,
367
367
  };
368
- const parseCSSVarId = (id) => id.replaceAll('.', '_').replaceAll(' ', '_').replaceAll('+', '_');
368
+ const parseCSSVarId = (id) => id
369
+ .replaceAll('.', '_')
370
+ .replaceAll(' ', '_')
371
+ .replaceAll('+', '_')
372
+ .replaceAll('(', '_')
373
+ .replaceAll(')', '_');
369
374
 
370
375
  const fuzzy$1 = (row, columnId, filterValue, addMeta) => {
371
376
  const itemRank = matchSorterUtils.rankItem(row.getValue(columnId), filterValue, {
@@ -635,6 +640,7 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
635
640
  const { globalFilterFn, density } = getState();
636
641
  const { column } = header !== null && header !== void 0 ? header : {};
637
642
  const { columnDef } = column !== null && column !== void 0 ? column : {};
643
+ const currentFilterValue = column === null || column === void 0 ? void 0 : column.getFilterValue();
638
644
  const allowedColumnFilterOptions = (_a = columnDef === null || columnDef === void 0 ? void 0 : columnDef.columnFilterModeOptions) !== null && _a !== void 0 ? _a : columnFilterModeOptions;
639
645
  const internalFilterOptions = React.useMemo(() => mrtFilterOptions(localization).filter((filterOption) => columnDef
640
646
  ? allowedColumnFilterOptions === undefined ||
@@ -646,12 +652,16 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
646
652
  if (header && column) {
647
653
  setColumnFilterFns((prev) => (Object.assign(Object.assign({}, prev), { [header.id]: option })));
648
654
  if (['empty', 'notEmpty'].includes(option)) {
649
- column.setFilterValue(' ');
655
+ if (currentFilterValue !== ' ') {
656
+ column.setFilterValue(' ');
657
+ }
650
658
  }
651
659
  else if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.filterVariant) === 'multi-select' ||
652
660
  ['arrIncludesSome', 'arrIncludesAll', 'arrIncludes'].includes(option)) {
653
- column.setFilterValue([]);
654
- setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue([]);
661
+ if (currentFilterValue === null || currentFilterValue === void 0 ? void 0 : currentFilterValue.length) {
662
+ column.setFilterValue([]);
663
+ setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue([]);
664
+ }
655
665
  }
656
666
  else if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.filterVariant) === 'range' ||
657
667
  ['between', 'betweenInclusive', 'inNumberRange'].includes(option)) {
@@ -659,8 +669,10 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
659
669
  setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
660
670
  }
661
671
  else {
662
- column.setFilterValue('');
663
- setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
672
+ if (!['', undefined].includes(currentFilterValue)) {
673
+ column.setFilterValue('');
674
+ setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
675
+ }
664
676
  }
665
677
  }
666
678
  else {
@@ -1039,11 +1051,13 @@ const MRT_RowActionMenu = ({ anchorEl, handleEdit, row, setAnchorEl, table, }) =
1039
1051
  return (React__default["default"].createElement(Menu__default["default"], { anchorEl: anchorEl, open: !!anchorEl, onClose: () => setAnchorEl(null), MenuListProps: {
1040
1052
  dense: density === 'compact',
1041
1053
  } },
1042
- enableEditing && (React__default["default"].createElement(MenuItem__default["default"], { onClick: handleEdit, sx: commonMenuItemStyles },
1043
- React__default["default"].createElement(Box__default["default"], { sx: commonListItemStyles },
1044
- React__default["default"].createElement(ListItemIcon__default["default"], null,
1045
- React__default["default"].createElement(EditIcon, null)),
1046
- localization.edit))), renderRowActionMenuItems === null || renderRowActionMenuItems === void 0 ? void 0 :
1054
+ enableEditing instanceof Function
1055
+ ? enableEditing(row)
1056
+ : enableEditing && (React__default["default"].createElement(MenuItem__default["default"], { onClick: handleEdit, sx: commonMenuItemStyles },
1057
+ React__default["default"].createElement(Box__default["default"], { sx: commonListItemStyles },
1058
+ React__default["default"].createElement(ListItemIcon__default["default"], null,
1059
+ React__default["default"].createElement(EditIcon, null)),
1060
+ localization.edit))), renderRowActionMenuItems === null || renderRowActionMenuItems === void 0 ? void 0 :
1047
1061
  renderRowActionMenuItems({
1048
1062
  row,
1049
1063
  table,
@@ -1110,7 +1124,10 @@ const MRT_ToggleRowActionMenuButton = ({ cell, row, table, }) => {
1110
1124
  setEditingRow(Object.assign({}, row));
1111
1125
  setAnchorEl(null);
1112
1126
  };
1113
- return (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions ? (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions({ cell, row, table }))) : row.id === (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) && editingMode === 'row' ? (React__default["default"].createElement(MRT_EditActionButtons, { row: row, table: table })) : !renderRowActionMenuItems && enableEditing ? (React__default["default"].createElement(Tooltip__default["default"], { placement: "right", arrow: true, title: localization.edit },
1127
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions ? (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions({ cell, row, table }))) : row.id === (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) && editingMode === 'row' ? (React__default["default"].createElement(MRT_EditActionButtons, { row: row, table: table })) : !renderRowActionMenuItems &&
1128
+ (enableEditing instanceof Function
1129
+ ? enableEditing(row)
1130
+ : enableEditing) ? (React__default["default"].createElement(Tooltip__default["default"], { placement: "right", arrow: true, title: localization.edit },
1114
1131
  React__default["default"].createElement(IconButton__default["default"], { "aria-label": localization.edit, sx: commonIconButtonStyles, onClick: handleStartEditMode },
1115
1132
  React__default["default"].createElement(EditIcon, null)))) : renderRowActionMenuItems ? (React__default["default"].createElement(React__default["default"].Fragment, null,
1116
1133
  React__default["default"].createElement(Tooltip__default["default"], { arrow: true, enterDelay: 1000, enterNextDelay: 1000, title: localization.rowActions },
@@ -2105,7 +2122,7 @@ const MRT_TableHead = ({ table, virtualColumns, virtualPaddingLeft, virtualPaddi
2105
2122
  };
2106
2123
 
2107
2124
  const MRT_EditCellTextField = ({ cell, showLabel, table, }) => {
2108
- var _a;
2125
+ var _a, _b;
2109
2126
  const { getState, options: { muiTableBodyCellEditTextFieldProps }, refs: { editInputRefs }, setEditingCell, setEditingRow, } = table;
2110
2127
  const { column, row } = cell;
2111
2128
  const { columnDef } = column;
@@ -2123,6 +2140,7 @@ const MRT_EditCellTextField = ({ cell, showLabel, table, }) => {
2123
2140
  })
2124
2141
  : columnDef.muiTableBodyCellEditTextFieldProps;
2125
2142
  const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
2143
+ const isSelectEdit = columnDef.editVariant === 'select';
2126
2144
  const saveRow = (newValue) => {
2127
2145
  if (editingRow) {
2128
2146
  setEditingRow(Object.assign(Object.assign({}, editingRow), { _valuesCache: Object.assign(Object.assign({}, editingRow._valuesCache), { [column.id]: newValue }) }));
@@ -2152,18 +2170,37 @@ const MRT_EditCellTextField = ({ cell, showLabel, table, }) => {
2152
2170
  if (columnDef.Edit) {
2153
2171
  return React__default["default"].createElement(React__default["default"].Fragment, null, (_a = columnDef.Edit) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, row, table }));
2154
2172
  }
2155
- return (React__default["default"].createElement(TextField__default["default"], Object.assign({ disabled: columnDef.enableEditing === false, fullWidth: true, inputRef: (inputRef) => {
2173
+ return (React__default["default"].createElement(TextField__default["default"], Object.assign({ disabled: (columnDef.enableEditing instanceof Function
2174
+ ? columnDef.enableEditing(row)
2175
+ : columnDef.enableEditing) === false, fullWidth: true, inputRef: (inputRef) => {
2156
2176
  if (inputRef) {
2157
2177
  editInputRefs.current[column.id] = inputRef;
2158
2178
  if (textFieldProps.inputRef) {
2159
2179
  textFieldProps.inputRef = inputRef;
2160
2180
  }
2161
2181
  }
2162
- }, label: showLabel ? column.columnDef.header : undefined, margin: "none", name: column.id, placeholder: columnDef.header, value: value, variant: "standard" }, textFieldProps, { onClick: (e) => {
2182
+ }, label: showLabel ? column.columnDef.header : undefined, margin: "none", name: column.id, placeholder: columnDef.header, select: isSelectEdit, value: value, variant: "standard" }, textFieldProps, { onClick: (e) => {
2163
2183
  var _a;
2164
2184
  e.stopPropagation();
2165
2185
  (_a = textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.onClick) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, e);
2166
- }, onBlur: handleBlur, onChange: handleChange, onKeyDown: handleEnterKeyDown })));
2186
+ }, onBlur: handleBlur, onChange: handleChange, onKeyDown: handleEnterKeyDown }), (_b = columnDef === null || columnDef === void 0 ? void 0 : columnDef.editSelectOptions) === null || _b === void 0 ? void 0 : _b.map((option) => {
2187
+ let value;
2188
+ let text;
2189
+ if (typeof option !== 'object') {
2190
+ value = option;
2191
+ text = option;
2192
+ }
2193
+ else {
2194
+ value = option.value;
2195
+ text = option.text;
2196
+ }
2197
+ return (React__default["default"].createElement(MenuItem__default["default"], { key: value, sx: {
2198
+ display: 'flex',
2199
+ m: 0,
2200
+ alignItems: 'center',
2201
+ gap: '0.5rem',
2202
+ }, value: value }, text));
2203
+ })));
2167
2204
  };
2168
2205
 
2169
2206
  const MRT_CopyButton = ({ cell, children, table, }) => {
@@ -2247,6 +2284,7 @@ const MRT_TableBodyCellValue = ({ cell, table }) => {
2247
2284
  renderedCellValue = cell.renderValue();
2248
2285
  }
2249
2286
  if (enableFilterMatchHighlighting &&
2287
+ columnDef.enableFilterMatchHighlighting !== false &&
2250
2288
  renderedCellValue &&
2251
2289
  allowedTypes.includes(typeof renderedCellValue) &&
2252
2290
  ((filterValue &&
@@ -2339,8 +2377,10 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
2339
2377
  }
2340
2378
  : undefined;
2341
2379
  }, [draggingColumn, draggingRow, hoveredColumn, hoveredRow, rowIndex]);
2342
- const isEditable = (enableEditing || columnDef.enableEditing) &&
2343
- columnDef.enableEditing !== false;
2380
+ const isEditable = (enableEditing instanceof Function ? enableEditing(row) : enableEditing) &&
2381
+ (columnDef.enableEditing instanceof Function
2382
+ ? columnDef.enableEditing(row)
2383
+ : columnDef.enableEditing) !== false;
2344
2384
  const isEditing = isEditable &&
2345
2385
  editingMode !== 'modal' &&
2346
2386
  (editingMode === 'table' ||
@@ -2350,9 +2390,7 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
2350
2390
  const handleDoubleClick = (event) => {
2351
2391
  var _a;
2352
2392
  (_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onDoubleClick) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
2353
- if ((enableEditing || columnDef.enableEditing) &&
2354
- columnDef.enableEditing !== false &&
2355
- editingMode === 'cell') {
2393
+ if (isEditable && editingMode === 'cell') {
2356
2394
  setEditingCell(cell);
2357
2395
  queueMicrotask(() => {
2358
2396
  var _a;
@@ -2397,8 +2435,7 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
2397
2435
  : 1.25)}rem`
2398
2436
  : undefined, textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined, whiteSpace: density === 'compact' ? 'nowrap' : 'normal', zIndex: (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id) === column.id ? 2 : column.getIsPinned() ? 1 : 0, '&:hover': {
2399
2437
  backgroundColor: enableHover &&
2400
- enableEditing &&
2401
- columnDef.enableEditing !== false &&
2438
+ isEditable &&
2402
2439
  ['table', 'cell'].includes(editingMode !== null && editingMode !== void 0 ? editingMode : '')
2403
2440
  ? theme.palette.mode === 'dark'
2404
2441
  ? `${styles.lighten(theme.palette.background.default, 0.2)} !important`
@@ -2857,7 +2894,7 @@ const MRT_EditRowModal = ({ open, row, table, }) => {
2857
2894
  };
2858
2895
 
2859
2896
  const MRT_TableRoot = (props) => {
2860
- 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, _10, _11;
2897
+ 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, _10, _11, _12, _13;
2861
2898
  const bottomToolbarRef = React.useRef(null);
2862
2899
  const editInputRefs = React.useRef({});
2863
2900
  const filterInputRefs = React.useRef({});
@@ -2898,18 +2935,18 @@ const MRT_TableRoot = (props) => {
2898
2935
  const [showGlobalFilter, setShowGlobalFilter] = React.useState((_q = initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) !== null && _q !== void 0 ? _q : false);
2899
2936
  const [showToolbarDropZone, setShowToolbarDropZone] = React.useState((_r = initialState === null || initialState === void 0 ? void 0 : initialState.showToolbarDropZone) !== null && _r !== void 0 ? _r : false);
2900
2937
  const displayColumns = React.useMemo(() => {
2901
- var _a, _b, _c, _d, _e;
2938
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
2902
2939
  return [
2903
- columnOrder.includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ header: props.localization.move, size: 60 }, props.defaultDisplayColumn), (_a = props.displayColumnDefOptions) === null || _a === void 0 ? void 0 : _a['mrt-row-drag']), { id: 'mrt-row-drag' }),
2904
- 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: props.localization.actions, size: 70 }, props.defaultDisplayColumn), (_b = props.displayColumnDefOptions) === null || _b === void 0 ? void 0 : _b['mrt-row-actions']), { id: 'mrt-row-actions' }),
2905
- columnOrder.includes('mrt-row-expand') &&
2906
- showExpandColumn(props, grouping) && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_ExpandButton, { row: row, table: table })), Header: props.enableExpandAll
2940
+ ((_b = (_a = props.state) === null || _a === void 0 ? void 0 : _a.columnOrder) !== null && _b !== void 0 ? _b : columnOrder).includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ header: props.localization.move, size: 60 }, props.defaultDisplayColumn), (_c = props.displayColumnDefOptions) === null || _c === void 0 ? void 0 : _c['mrt-row-drag']), { id: 'mrt-row-drag' }),
2941
+ ((_e = (_d = props.state) === null || _d === void 0 ? void 0 : _d.columnOrder) !== null && _e !== void 0 ? _e : 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: props.localization.actions, size: 70 }, props.defaultDisplayColumn), (_f = props.displayColumnDefOptions) === null || _f === void 0 ? void 0 : _f['mrt-row-actions']), { id: 'mrt-row-actions' }),
2942
+ ((_h = (_g = props.state) === null || _g === void 0 ? void 0 : _g.columnOrder) !== null && _h !== void 0 ? _h : columnOrder).includes('mrt-row-expand') &&
2943
+ showExpandColumn(props, (_k = (_j = props.state) === null || _j === void 0 ? void 0 : _j.grouping) !== null && _k !== void 0 ? _k : grouping) && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_ExpandButton, { row: row, table: table })), Header: props.enableExpandAll
2907
2944
  ? () => React__default["default"].createElement(MRT_ExpandAllButton, { table: table })
2908
- : null, header: props.localization.expand, size: 60 }, props.defaultDisplayColumn), (_c = props.displayColumnDefOptions) === null || _c === void 0 ? void 0 : _c['mrt-row-expand']), { id: 'mrt-row-expand' }),
2909
- 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 && props.enableMultiRowSelection
2945
+ : null, header: props.localization.expand, size: 60 }, props.defaultDisplayColumn), (_l = props.displayColumnDefOptions) === null || _l === void 0 ? void 0 : _l['mrt-row-expand']), { id: 'mrt-row-expand' }),
2946
+ ((_o = (_m = props.state) === null || _m === void 0 ? void 0 : _m.columnOrder) !== null && _o !== void 0 ? _o : 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 && props.enableMultiRowSelection
2910
2947
  ? () => React__default["default"].createElement(MRT_SelectCheckbox, { selectAll: true, table: table })
2911
- : null, header: props.localization.select, size: 60 }, props.defaultDisplayColumn), (_d = props.displayColumnDefOptions) === null || _d === void 0 ? void 0 : _d['mrt-row-select']), { id: 'mrt-row-select' }),
2912
- columnOrder.includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => props.localization.rowNumber, header: props.localization.rowNumbers, size: 60 }, props.defaultDisplayColumn), (_e = props.displayColumnDefOptions) === null || _e === void 0 ? void 0 : _e['mrt-row-numbers']), { id: 'mrt-row-numbers' }),
2948
+ : null, header: props.localization.select, size: 60 }, props.defaultDisplayColumn), (_p = props.displayColumnDefOptions) === null || _p === void 0 ? void 0 : _p['mrt-row-select']), { id: 'mrt-row-select' }),
2949
+ ((_r = (_q = props.state) === null || _q === void 0 ? void 0 : _q.columnOrder) !== null && _r !== void 0 ? _r : columnOrder).includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => props.localization.rowNumber, header: props.localization.rowNumbers, size: 60 }, props.defaultDisplayColumn), (_s = props.displayColumnDefOptions) === null || _s === void 0 ? void 0 : _s['mrt-row-numbers']), { id: 'mrt-row-numbers' }),
2913
2950
  ].filter(Boolean);
2914
2951
  }, [
2915
2952
  columnOrder,
@@ -2932,6 +2969,8 @@ const MRT_TableRoot = (props) => {
2932
2969
  props.localization,
2933
2970
  props.positionActionsColumn,
2934
2971
  props.renderDetailPanel,
2972
+ (_s = props.state) === null || _s === void 0 ? void 0 : _s.columnOrder,
2973
+ (_t = props.state) === null || _t === void 0 ? void 0 : _t.grouping,
2935
2974
  ]);
2936
2975
  const columnDefs = React.useMemo(() => {
2937
2976
  var _a, _b, _c;
@@ -2947,7 +2986,7 @@ const MRT_TableRoot = (props) => {
2947
2986
  columnFilterFns,
2948
2987
  displayColumns,
2949
2988
  props.columns,
2950
- (_s = props.state) === null || _s === void 0 ? void 0 : _s.columnFilterFns,
2989
+ (_u = props.state) === null || _u === void 0 ? void 0 : _u.columnFilterFns,
2951
2990
  ]);
2952
2991
  const data = React.useMemo(() => {
2953
2992
  var _a, _b, _c, _d, _e;
@@ -2961,11 +3000,11 @@ const MRT_TableRoot = (props) => {
2961
3000
  [getColumnId(col)]: null,
2962
3001
  }))))
2963
3002
  : props.data;
2964
- }, [props.data, (_t = props.state) === null || _t === void 0 ? void 0 : _t.isLoading, (_u = props.state) === null || _u === void 0 ? void 0 : _u.showSkeletons]);
3003
+ }, [props.data, (_v = props.state) === null || _v === void 0 ? void 0 : _v.isLoading, (_w = props.state) === null || _w === void 0 ? void 0 : _w.showSkeletons]);
2965
3004
  //@ts-ignore
2966
3005
  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), {
2967
3006
  //@ts-ignore
2968
- columns: columnDefs, data, globalFilterFn: (_w = (_v = props.filterFns) === null || _v === void 0 ? void 0 : _v[globalFilterFn]) !== null && _w !== void 0 ? _w : (_x = props.filterFns) === null || _x === void 0 ? void 0 : _x.fuzzy, initialState, state: Object.assign({ columnFilterFns,
3007
+ columns: columnDefs, data, globalFilterFn: (_y = (_x = props.filterFns) === null || _x === void 0 ? void 0 : _x[globalFilterFn]) !== null && _y !== void 0 ? _y : (_z = props.filterFns) === null || _z === void 0 ? void 0 : _z.fuzzy, initialState, state: Object.assign({ columnFilterFns,
2969
3008
  columnOrder,
2970
3009
  density,
2971
3010
  draggingColumn,
@@ -2989,7 +3028,7 @@ const MRT_TableRoot = (props) => {
2989
3028
  tableHeadCellRefs,
2990
3029
  tablePaperRef,
2991
3030
  topToolbarRef,
2992
- }, setColumnFilterFns: (_y = props.onColumnFilterFnsChange) !== null && _y !== void 0 ? _y : setColumnFilterFns, setDensity: (_z = props.onDensityChange) !== null && _z !== void 0 ? _z : setDensity, setDraggingColumn: (_0 = props.onDraggingColumnChange) !== null && _0 !== void 0 ? _0 : setDraggingColumn, setDraggingRow: (_1 = props.onDraggingRowChange) !== null && _1 !== void 0 ? _1 : setDraggingRow, setEditingCell: (_2 = props.onEditingCellChange) !== null && _2 !== void 0 ? _2 : setEditingCell, setEditingRow: (_3 = props.onEditingRowChange) !== null && _3 !== void 0 ? _3 : setEditingRow, setGlobalFilterFn: (_4 = props.onGlobalFilterFnChange) !== null && _4 !== void 0 ? _4 : setGlobalFilterFn, setHoveredColumn: (_5 = props.onHoveredColumnChange) !== null && _5 !== void 0 ? _5 : setHoveredColumn, setHoveredRow: (_6 = props.onHoveredRowChange) !== null && _6 !== void 0 ? _6 : setHoveredRow, setIsFullScreen: (_7 = props.onIsFullScreenChange) !== null && _7 !== void 0 ? _7 : setIsFullScreen, setShowAlertBanner: (_8 = props.onShowAlertBannerChange) !== null && _8 !== void 0 ? _8 : setShowAlertBanner, setShowFilters: (_9 = props.onShowFiltersChange) !== null && _9 !== void 0 ? _9 : setShowFilters, setShowGlobalFilter: (_10 = props.onShowGlobalFilterChange) !== null && _10 !== void 0 ? _10 : setShowGlobalFilter, setShowToolbarDropZone: (_11 = props.onShowToolbarDropZoneChange) !== null && _11 !== void 0 ? _11 : setShowToolbarDropZone });
3031
+ }, setColumnFilterFns: (_0 = props.onColumnFilterFnsChange) !== null && _0 !== void 0 ? _0 : setColumnFilterFns, setDensity: (_1 = props.onDensityChange) !== null && _1 !== void 0 ? _1 : setDensity, setDraggingColumn: (_2 = props.onDraggingColumnChange) !== null && _2 !== void 0 ? _2 : setDraggingColumn, setDraggingRow: (_3 = props.onDraggingRowChange) !== null && _3 !== void 0 ? _3 : setDraggingRow, setEditingCell: (_4 = props.onEditingCellChange) !== null && _4 !== void 0 ? _4 : setEditingCell, setEditingRow: (_5 = props.onEditingRowChange) !== null && _5 !== void 0 ? _5 : setEditingRow, setGlobalFilterFn: (_6 = props.onGlobalFilterFnChange) !== null && _6 !== void 0 ? _6 : setGlobalFilterFn, setHoveredColumn: (_7 = props.onHoveredColumnChange) !== null && _7 !== void 0 ? _7 : setHoveredColumn, setHoveredRow: (_8 = props.onHoveredRowChange) !== null && _8 !== void 0 ? _8 : setHoveredRow, setIsFullScreen: (_9 = props.onIsFullScreenChange) !== null && _9 !== void 0 ? _9 : setIsFullScreen, setShowAlertBanner: (_10 = props.onShowAlertBannerChange) !== null && _10 !== void 0 ? _10 : setShowAlertBanner, setShowFilters: (_11 = props.onShowFiltersChange) !== null && _11 !== void 0 ? _11 : setShowFilters, setShowGlobalFilter: (_12 = props.onShowGlobalFilterChange) !== null && _12 !== void 0 ? _12 : setShowGlobalFilter, setShowToolbarDropZone: (_13 = props.onShowToolbarDropZoneChange) !== null && _13 !== void 0 ? _13 : setShowToolbarDropZone });
2993
3032
  if (props.tableInstanceRef) {
2994
3033
  props.tableInstanceRef.current = table;
2995
3034
  }
@@ -3136,13 +3175,16 @@ const MaterialReactTable = (_a) => {
3136
3175
  return (React__default["default"].createElement(MRT_TableRoot, Object.assign({ aggregationFns: _aggregationFns, autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: _defaultColumn, defaultDisplayColumn: _defaultDisplayColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilterMatchHighlighting: enableFilterMatchHighlighting, 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: _filterFns, icons: _icons, layoutMode: layoutMode, localization: _localization, manualFiltering: manualFiltering, manualGrouping: manualGrouping, manualPagination: manualPagination, manualSorting: manualSorting, positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: _sortingFns }, rest)));
3137
3176
  };
3138
3177
 
3178
+ exports.MRT_AggregationFns = MRT_AggregationFns;
3139
3179
  exports.MRT_BottomToolbar = MRT_BottomToolbar;
3140
3180
  exports.MRT_CopyButton = MRT_CopyButton;
3141
3181
  exports.MRT_EditActionButtons = MRT_EditActionButtons;
3182
+ exports.MRT_FilterFns = MRT_FilterFns;
3142
3183
  exports.MRT_FilterOptionMenu = MRT_FilterOptionMenu;
3143
3184
  exports.MRT_FullScreenToggleButton = MRT_FullScreenToggleButton;
3144
3185
  exports.MRT_GlobalFilterTextField = MRT_GlobalFilterTextField;
3145
3186
  exports.MRT_ShowHideColumnsButton = MRT_ShowHideColumnsButton;
3187
+ exports.MRT_SortingFns = MRT_SortingFns;
3146
3188
  exports.MRT_TablePagination = MRT_TablePagination;
3147
3189
  exports.MRT_ToggleDensePaddingButton = MRT_ToggleDensePaddingButton;
3148
3190
  exports.MRT_ToggleFiltersButton = MRT_ToggleFiltersButton;