material-react-table 2.0.0-alpha.6 → 2.0.0-beta.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 (200) hide show
  1. package/dist/cjs/index.js +92 -43
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +2 -1
  4. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  5. package/dist/cjs/types/icons.d.ts +1 -0
  6. package/dist/cjs/types/types.d.ts +6 -1
  7. package/dist/esm/material-react-table.esm.js +89 -41
  8. package/dist/esm/material-react-table.esm.js.map +1 -1
  9. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +2 -1
  10. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  11. package/dist/esm/types/icons.d.ts +1 -0
  12. package/dist/esm/types/types.d.ts +6 -1
  13. package/dist/index.d.ts +10 -3
  14. package/locales/ar.esm.js +1 -0
  15. package/locales/ar.esm.js.map +1 -1
  16. package/locales/ar.js +1 -0
  17. package/locales/ar.js.map +1 -1
  18. package/locales/bg.esm.js +1 -0
  19. package/locales/bg.esm.js.map +1 -1
  20. package/locales/bg.js +1 -0
  21. package/locales/bg.js.map +1 -1
  22. package/locales/cs.esm.js +1 -0
  23. package/locales/cs.esm.js.map +1 -1
  24. package/locales/cs.js +1 -0
  25. package/locales/cs.js.map +1 -1
  26. package/locales/da.esm.js +1 -0
  27. package/locales/da.esm.js.map +1 -1
  28. package/locales/da.js +1 -0
  29. package/locales/da.js.map +1 -1
  30. package/locales/de.esm.js +1 -0
  31. package/locales/de.esm.js.map +1 -1
  32. package/locales/de.js +1 -0
  33. package/locales/de.js.map +1 -1
  34. package/locales/es.esm.js +1 -0
  35. package/locales/es.esm.js.map +1 -1
  36. package/locales/es.js +1 -0
  37. package/locales/es.js.map +1 -1
  38. package/locales/et.esm.js +1 -0
  39. package/locales/et.esm.js.map +1 -1
  40. package/locales/et.js +1 -0
  41. package/locales/et.js.map +1 -1
  42. package/locales/fa.esm.js +1 -0
  43. package/locales/fa.esm.js.map +1 -1
  44. package/locales/fa.js +1 -0
  45. package/locales/fa.js.map +1 -1
  46. package/locales/fi.esm.js +1 -0
  47. package/locales/fi.esm.js.map +1 -1
  48. package/locales/fi.js +1 -0
  49. package/locales/fi.js.map +1 -1
  50. package/locales/fr.esm.js +1 -0
  51. package/locales/fr.esm.js.map +1 -1
  52. package/locales/fr.js +1 -0
  53. package/locales/fr.js.map +1 -1
  54. package/locales/hu.esm.js +1 -0
  55. package/locales/hu.esm.js.map +1 -1
  56. package/locales/hu.js +1 -0
  57. package/locales/hu.js.map +1 -1
  58. package/locales/hy.esm.js +1 -0
  59. package/locales/hy.esm.js.map +1 -1
  60. package/locales/hy.js +1 -0
  61. package/locales/hy.js.map +1 -1
  62. package/locales/id.esm.js +1 -0
  63. package/locales/id.esm.js.map +1 -1
  64. package/locales/id.js +1 -0
  65. package/locales/id.js.map +1 -1
  66. package/locales/it.esm.js +1 -0
  67. package/locales/it.esm.js.map +1 -1
  68. package/locales/it.js +1 -0
  69. package/locales/it.js.map +1 -1
  70. package/locales/ja.esm.js +1 -0
  71. package/locales/ja.esm.js.map +1 -1
  72. package/locales/ja.js +1 -0
  73. package/locales/ja.js.map +1 -1
  74. package/locales/ko.esm.js +1 -0
  75. package/locales/ko.esm.js.map +1 -1
  76. package/locales/ko.js +1 -0
  77. package/locales/ko.js.map +1 -1
  78. package/locales/nl.esm.js +1 -0
  79. package/locales/nl.esm.js.map +1 -1
  80. package/locales/nl.js +1 -0
  81. package/locales/nl.js.map +1 -1
  82. package/locales/no.esm.js +1 -0
  83. package/locales/no.esm.js.map +1 -1
  84. package/locales/no.js +1 -0
  85. package/locales/no.js.map +1 -1
  86. package/locales/np.esm.js +1 -1
  87. package/locales/np.esm.js.map +1 -1
  88. package/locales/np.js +1 -1
  89. package/locales/np.js.map +1 -1
  90. package/locales/pl.esm.js +1 -0
  91. package/locales/pl.esm.js.map +1 -1
  92. package/locales/pl.js +1 -0
  93. package/locales/pl.js.map +1 -1
  94. package/locales/pt-BR.esm.js +1 -0
  95. package/locales/pt-BR.esm.js.map +1 -1
  96. package/locales/pt-BR.js +1 -0
  97. package/locales/pt-BR.js.map +1 -1
  98. package/locales/pt.esm.js +1 -0
  99. package/locales/pt.esm.js.map +1 -1
  100. package/locales/pt.js +1 -0
  101. package/locales/pt.js.map +1 -1
  102. package/locales/ro.esm.js +1 -0
  103. package/locales/ro.esm.js.map +1 -1
  104. package/locales/ro.js +1 -0
  105. package/locales/ro.js.map +1 -1
  106. package/locales/ru.esm.js +1 -0
  107. package/locales/ru.esm.js.map +1 -1
  108. package/locales/ru.js +1 -0
  109. package/locales/ru.js.map +1 -1
  110. package/locales/sk.esm.js +1 -0
  111. package/locales/sk.esm.js.map +1 -1
  112. package/locales/sk.js +1 -0
  113. package/locales/sk.js.map +1 -1
  114. package/locales/sr-Cyrl-RS.esm.js +1 -0
  115. package/locales/sr-Cyrl-RS.esm.js.map +1 -1
  116. package/locales/sr-Cyrl-RS.js +1 -0
  117. package/locales/sr-Cyrl-RS.js.map +1 -1
  118. package/locales/sr-Latn-RS.esm.js +1 -0
  119. package/locales/sr-Latn-RS.esm.js.map +1 -1
  120. package/locales/sr-Latn-RS.js +1 -0
  121. package/locales/sr-Latn-RS.js.map +1 -1
  122. package/locales/sv.esm.js +3 -2
  123. package/locales/sv.esm.js.map +1 -1
  124. package/locales/sv.js +3 -2
  125. package/locales/sv.js.map +1 -1
  126. package/locales/tr.esm.js +1 -0
  127. package/locales/tr.esm.js.map +1 -1
  128. package/locales/tr.js +1 -0
  129. package/locales/tr.js.map +1 -1
  130. package/locales/uk.esm.js +1 -0
  131. package/locales/uk.esm.js.map +1 -1
  132. package/locales/uk.js +1 -0
  133. package/locales/uk.js.map +1 -1
  134. package/locales/vi.esm.js +1 -0
  135. package/locales/vi.esm.js.map +1 -1
  136. package/locales/vi.js +1 -0
  137. package/locales/vi.js.map +1 -1
  138. package/locales/zh-Hans.esm.js +1 -0
  139. package/locales/zh-Hans.esm.js.map +1 -1
  140. package/locales/zh-Hans.js +1 -0
  141. package/locales/zh-Hans.js.map +1 -1
  142. package/locales/zh-Hant.esm.js +1 -0
  143. package/locales/zh-Hant.esm.js.map +1 -1
  144. package/locales/zh-Hant.js +1 -0
  145. package/locales/zh-Hant.js.map +1 -1
  146. package/package.json +11 -11
  147. package/src/body/MRT_TableBodyCell.tsx +4 -3
  148. package/src/body/MRT_TableBodyRow.tsx +7 -5
  149. package/src/body/MRT_TableBodyRowGrabHandle.tsx +1 -0
  150. package/src/body/index.ts +1 -1
  151. package/src/buttons/MRT_ExpandButton.tsx +1 -0
  152. package/src/buttons/MRT_GrabHandleButton.tsx +3 -1
  153. package/src/column.utils.ts +20 -19
  154. package/src/footer/MRT_TableFooterCell.tsx +5 -1
  155. package/src/footer/MRT_TableFooterRow.tsx +2 -2
  156. package/src/head/MRT_TableHead.tsx +5 -1
  157. package/src/head/MRT_TableHeadCell.tsx +11 -6
  158. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +2 -2
  159. package/src/head/MRT_TableHeadCellFilterLabel.tsx +4 -1
  160. package/src/head/MRT_TableHeadCellSortLabel.tsx +18 -12
  161. package/src/head/MRT_TableHeadRow.tsx +2 -2
  162. package/src/hooks/useMRT_DisplayColumns.tsx +20 -0
  163. package/src/icons.ts +3 -0
  164. package/src/locales/ar.ts +1 -1
  165. package/src/locales/bg.ts +1 -0
  166. package/src/locales/cs.ts +1 -0
  167. package/src/locales/da.ts +1 -0
  168. package/src/locales/de.ts +1 -0
  169. package/src/locales/es.ts +1 -0
  170. package/src/locales/et.ts +1 -0
  171. package/src/locales/fa.ts +1 -0
  172. package/src/locales/fi.ts +1 -0
  173. package/src/locales/fr.ts +1 -0
  174. package/src/locales/hu.ts +1 -0
  175. package/src/locales/hy.ts +1 -0
  176. package/src/locales/id.ts +1 -0
  177. package/src/locales/it.ts +1 -0
  178. package/src/locales/ja.ts +1 -0
  179. package/src/locales/ko.ts +1 -0
  180. package/src/locales/nl.ts +1 -0
  181. package/src/locales/no.ts +1 -0
  182. package/src/locales/np.ts +3 -2
  183. package/src/locales/pl.ts +1 -0
  184. package/src/locales/pt-BR.ts +1 -0
  185. package/src/locales/pt.ts +1 -0
  186. package/src/locales/ro.ts +1 -0
  187. package/src/locales/ru.ts +1 -0
  188. package/src/locales/sk.ts +1 -0
  189. package/src/locales/sr-Cyrl-RS.ts +1 -0
  190. package/src/locales/sr-Latn-RS.ts +1 -0
  191. package/src/locales/sv.ts +3 -2
  192. package/src/locales/tr.ts +1 -0
  193. package/src/locales/uk.ts +1 -0
  194. package/src/locales/vi.ts +1 -0
  195. package/src/locales/zh-Hans.ts +1 -0
  196. package/src/locales/zh-Hant.ts +1 -0
  197. package/src/table/MRT_Table.tsx +5 -1
  198. package/src/table/MRT_TableContainer.tsx +50 -1
  199. package/src/toolbar/MRT_LinearProgressBar.tsx +2 -2
  200. package/src/types.ts +6 -1
@@ -3,9 +3,10 @@ import { type IconButtonProps } from '@mui/material/IconButton';
3
3
  import { type MRT_TableInstance } from '../types';
4
4
  interface Props<TData extends Record<string, any>> {
5
5
  iconButtonProps?: IconButtonProps;
6
+ location?: 'column' | 'row';
6
7
  onDragEnd: DragEventHandler<HTMLButtonElement>;
7
8
  onDragStart: DragEventHandler<HTMLButtonElement>;
8
9
  table: MRT_TableInstance<TData>;
9
10
  }
10
- export declare const MRT_GrabHandleButton: <TData extends Record<string, any>>({ iconButtonProps, onDragEnd, onDragStart, table, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const MRT_GrabHandleButton: <TData extends Record<string, any>>({ iconButtonProps, location, onDragEnd, onDragStart, table, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
11
12
  export {};
@@ -5,5 +5,5 @@ interface Props<TData extends Record<string, any>> {
5
5
  table: MRT_TableInstance<TData>;
6
6
  tableCellProps?: TableCellProps;
7
7
  }
8
- export declare const MRT_TableHeadCellSortLabel: <TData extends Record<string, any>>({ header, table, tableCellProps, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const MRT_TableHeadCellSortLabel: <TData extends Record<string, any>>({ header, table, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -29,6 +29,7 @@ export interface MRT_Icons {
29
29
  SearchIcon: any;
30
30
  SearchOffIcon: any;
31
31
  SortIcon: any;
32
+ SyncAltIcon?: any;
32
33
  ViewColumnIcon: any;
33
34
  VisibilityOffIcon: any;
34
35
  }
@@ -6,6 +6,7 @@ import { type AutocompleteProps } from '@mui/material/Autocomplete';
6
6
  import { type ButtonProps } from '@mui/material/Button';
7
7
  import { type CheckboxProps } from '@mui/material/Checkbox';
8
8
  import { type ChipProps } from '@mui/material/Chip';
9
+ import { type CircularProgressProps } from '@mui/material/CircularProgress';
9
10
  import { type DialogProps } from '@mui/material/Dialog';
10
11
  import { type IconButtonProps } from '@mui/material/IconButton';
11
12
  import { type LinearProgressProps } from '@mui/material/LinearProgress';
@@ -100,7 +101,7 @@ export interface MRT_Localization {
100
101
  noResultsFound: string;
101
102
  of: string;
102
103
  or: string;
103
- pin?: string;
104
+ pin: string;
104
105
  pinToLeft: string;
105
106
  pinToRight: string;
106
107
  resetColumnSize: string;
@@ -209,6 +210,7 @@ export type MRT_TableState<TData extends Record<string, any>> = TableState & {
209
210
  showAlertBanner: boolean;
210
211
  showColumnFilters: boolean;
211
212
  showGlobalFilter: boolean;
213
+ showLoadingOverlay: boolean;
212
214
  showProgressBars: boolean;
213
215
  showSkeletons: boolean;
214
216
  showToolbarDropZone: boolean;
@@ -540,6 +542,9 @@ export type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<T
540
542
  muiBottomToolbarProps?: ((props: {
541
543
  table: MRT_TableInstance<TData>;
542
544
  }) => ToolbarProps) | ToolbarProps;
545
+ muiCircularProgressProps?: ((props: {
546
+ table: MRT_TableInstance<TData>;
547
+ }) => CircularProgressProps) | CircularProgressProps;
543
548
  muiColumnActionsButtonProps?: ((props: {
544
549
  column: MRT_Column<TData>;
545
550
  table: MRT_TableInstance<TData>;
@@ -1,16 +1,17 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import Paper from '@mui/material/Paper';
3
3
  import { useState, memo, useEffect, useMemo, useRef, useCallback, Fragment as Fragment$1, useLayoutEffect, useReducer } from 'react';
4
+ import Box from '@mui/material/Box';
5
+ import CircularProgress from '@mui/material/CircularProgress';
4
6
  import TableContainer from '@mui/material/TableContainer';
7
+ import { darken, lighten, alpha, useTheme } from '@mui/material/styles';
5
8
  import { defaultRangeExtractor, useVirtualizer } from '@tanstack/react-virtual';
6
9
  import Table from '@mui/material/Table';
7
10
  import TableBody from '@mui/material/TableBody';
8
11
  import Typography from '@mui/material/Typography';
9
12
  import TableRow from '@mui/material/TableRow';
10
- import { darken, lighten, alpha, useTheme } from '@mui/material/styles';
11
13
  import Skeleton from '@mui/material/Skeleton';
12
14
  import TableCell from '@mui/material/TableCell';
13
- import Box from '@mui/material/Box';
14
15
  import highlightWords from 'highlight-words';
15
16
  import IconButton from '@mui/material/IconButton';
16
17
  import Tooltip from '@mui/material/Tooltip';
@@ -55,7 +56,6 @@ import Dialog from '@mui/material/Dialog';
55
56
  import DialogActions from '@mui/material/DialogActions';
56
57
  import DialogContent from '@mui/material/DialogContent';
57
58
  import DialogTitle from '@mui/material/DialogTitle';
58
- import CircularProgress from '@mui/material/CircularProgress';
59
59
  import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward';
60
60
  import ArrowRightIcon from '@mui/icons-material/ArrowRight';
61
61
  import CancelIcon from '@mui/icons-material/Cancel';
@@ -86,6 +86,7 @@ import SaveIcon from '@mui/icons-material/Save';
86
86
  import SearchIcon from '@mui/icons-material/Search';
87
87
  import SearchOffIcon from '@mui/icons-material/SearchOff';
88
88
  import SortIcon from '@mui/icons-material/Sort';
89
+ import SyncAltIcon from '@mui/icons-material/SyncAlt';
89
90
  import ViewColumnIcon from '@mui/icons-material/ViewColumn';
90
91
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
91
92
 
@@ -249,6 +250,7 @@ const getLeadingDisplayColumnIds = (props) => {
249
250
  'mrt-row-expand',
250
251
  props.enableRowSelection && 'mrt-row-select',
251
252
  props.enableRowNumbers && 'mrt-row-numbers',
253
+ props.layoutMode === 'grid-no-grow' && 'mrt-row-spacer',
252
254
  ].filter(Boolean);
253
255
  };
254
256
  const getTrailingDisplayColumnIds = (props) => {
@@ -336,7 +338,7 @@ const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, })
336
338
  else if (layoutMode === 'grid-no-grow') {
337
339
  widthStyles.flex = '0 0 auto';
338
340
  }
339
- return Object.assign(Object.assign(Object.assign({ backgroundColor: column.getIsPinned() && column.columnDef.columnDefType !== 'group'
341
+ return Object.assign(Object.assign({ backgroundColor: column.getIsPinned() && column.columnDef.columnDefType !== 'group'
340
342
  ? alpha(lighten(theme.palette.background.default, 0.04), 0.97)
341
343
  : 'inherit', backgroundImage: 'inherit', boxShadow: getIsLastLeftPinnedColumn(table, column)
342
344
  ? `-4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
@@ -364,7 +366,7 @@ const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, })
364
366
  ? `${getTotalRight(table, column)}px`
365
367
  : undefined, transition: table.options.enableColumnVirtualization
366
368
  ? 'none'
367
- : `padding 150ms ease-in-out` }, (!table.options.enableColumnResizing && widthStyles)), parseFromValuesOrFunc(tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx, theme)), (table.options.enableColumnResizing && widthStyles));
369
+ : `padding 150ms ease-in-out` }, widthStyles), parseFromValuesOrFunc(tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx, theme));
368
370
  };
369
371
  const MRT_DefaultColumn = {
370
372
  filterVariant: 'text',
@@ -404,7 +406,7 @@ const extraIndexRangeExtractor = (range, draggingIndex) => {
404
406
  return newIndexs;
405
407
  };
406
408
 
407
- const MRT_GrabHandleButton = ({ iconButtonProps, onDragEnd, onDragStart, table, }) => {
409
+ const MRT_GrabHandleButton = ({ iconButtonProps, location, onDragEnd, onDragStart, table, }) => {
408
410
  var _a;
409
411
  const { options: { icons: { DragHandleIcon }, localization, }, } = table;
410
412
  return (jsx(Tooltip, { arrow: true, enterDelay: 1000, enterNextDelay: 1000, placement: "top", title: (_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.title) !== null && _a !== void 0 ? _a : localization.move, children: jsx(IconButton, Object.assign({ disableRipple: true, draggable: "true", size: "small" }, iconButtonProps, { onClick: (e) => {
@@ -416,7 +418,7 @@ const MRT_GrabHandleButton = ({ iconButtonProps, onDragEnd, onDragStart, table,
416
418
  }, '&:hover': {
417
419
  backgroundColor: 'transparent',
418
420
  opacity: 1,
419
- }, cursor: 'grab', m: '0 -0.1rem', opacity: 0.5, p: '2px', transition: 'all 150ms ease-in-out' }, parseFromValuesOrFunc(iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx, theme))), title: undefined, children: jsx(DragHandleIcon, {}) })) }));
421
+ }, cursor: 'grab', m: '0 -0.1rem', opacity: location === 'row' ? 1 : 0.3, p: '2px', transition: 'all 150ms ease-in-out' }, parseFromValuesOrFunc(iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx, theme))), title: undefined, children: jsx(DragHandleIcon, {}) })) }));
420
422
  };
421
423
 
422
424
  const MRT_TableBodyRowGrabHandle = ({ row, rowRef, table, }) => {
@@ -437,7 +439,7 @@ const MRT_TableBodyRowGrabHandle = ({ row, rowRef, table, }) => {
437
439
  table.setDraggingRow(null);
438
440
  table.setHoveredRow(null);
439
441
  };
440
- return (jsx(MRT_GrabHandleButton, { iconButtonProps: iconButtonProps, onDragEnd: handleDragEnd, onDragStart: handleDragStart, table: table }));
442
+ return (jsx(MRT_GrabHandleButton, { iconButtonProps: iconButtonProps, location: "row", onDragEnd: handleDragEnd, onDragStart: handleDragStart, table: table }));
441
443
  };
442
444
 
443
445
  const MRT_CopyButton = ({ cell, children, table, }) => {
@@ -666,7 +668,9 @@ const MRT_TableBodyCell = ({ cell, measureElement, numRows, rowIndex, rowRef, ta
666
668
  : undefined,
667
669
  outlineOffset: '-1px',
668
670
  textOverflow: 'clip',
669
- }, alignItems: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'center' : undefined, cursor: isEditable && editDisplayMode === 'cell' ? 'pointer' : 'inherit', justifyContent: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? tableCellProps.align : undefined, overflow: 'hidden', p: density === 'compact'
671
+ }, alignItems: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'center' : undefined, cursor: isEditable && editDisplayMode === 'cell' ? 'pointer' : 'inherit', justifyContent: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid'))
672
+ ? tableCellProps.align
673
+ : undefined, overflow: 'hidden', p: density === 'compact'
670
674
  ? columnDefType === 'display'
671
675
  ? '0 0.5rem'
672
676
  : '0.5rem'
@@ -688,7 +692,7 @@ const MRT_TableBodyCell = ({ cell, measureElement, numRows, rowIndex, rowRef, ta
688
692
  table,
689
693
  tableCellProps,
690
694
  theme,
691
- })), draggingBorders)), children: jsxs(Fragment, { children: [cell.getIsPlaceholder() ? ((_b = (_a = columnDef.PlaceholderCell) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, row, table })) !== null && _b !== void 0 ? _b : null) : (isLoading || showSkeletons) && cell.getValue() === null ? (jsx(Skeleton, Object.assign({ animation: "wave", height: 20, width: skeletonWidth }, skeletonProps))) : enableRowNumbers &&
695
+ })), draggingBorders)), children: jsxs(Fragment, { children: [cell.getIsPlaceholder() ? ((_b = (_a = columnDef.PlaceholderCell) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, row, table })) !== null && _b !== void 0 ? _b : null) : isLoading || showSkeletons ? (jsx(Skeleton, Object.assign({ animation: "wave", height: 20, width: skeletonWidth }, skeletonProps))) : enableRowNumbers &&
692
696
  rowNumberMode === 'static' &&
693
697
  column.id === 'mrt-row-numbers' ? (rowIndex + 1) : column.id === 'mrt-row-drag' ? (jsx(MRT_TableBodyRowGrabHandle, { row: row, rowRef: rowRef, table: table })) : columnDefType === 'display' &&
694
698
  (column.id === 'mrt-row-select' ||
@@ -820,12 +824,12 @@ const MRT_TableBodyRow = ({ columnVirtualizer, measureElement, numRows, pinnedRo
820
824
  ? cellOrVirtualCell
821
825
  : undefined,
822
826
  };
823
- return memoMode === 'cells' &&
827
+ return cell ? (memoMode === 'cells' &&
824
828
  cell.column.columnDef.columnDefType === 'data' &&
825
829
  !draggingColumn &&
826
830
  !draggingRow &&
827
831
  (editingCell === null || editingCell === void 0 ? void 0 : editingCell.id) !== cell.id &&
828
- (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) !== row.id ? (jsx(Memo_MRT_TableBodyCell, Object.assign({}, props), cell.id)) : (jsx(MRT_TableBodyCell, Object.assign({}, props), cell.id));
832
+ (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) !== row.id ? (jsx(Memo_MRT_TableBodyCell, Object.assign({}, props), cell.id)) : (jsx(MRT_TableBodyCell, Object.assign({}, props), cell.id))) : null;
829
833
  }), virtualPaddingRight ? (jsx("td", { style: { display: 'flex', width: virtualPaddingRight } })) : null] })), renderDetailPanel && !row.getIsGrouped() && (jsx(MRT_TableDetailPanel, { parentRowRef: rowRef, row: row, rowIndex: rowIndex, table: table, virtualRow: virtualRow }))] }));
830
834
  };
831
835
  const Memo_MRT_TableBodyRow = memo(MRT_TableBodyRow, (prev, next) => prev.row === next.row && prev.rowIndex === next.rowIndex);
@@ -1007,7 +1011,11 @@ const MRT_TableFooterCell = ({ footer, table, }) => {
1007
1011
  theme,
1008
1012
  }))), children: jsx(Fragment, { children: footer.isPlaceholder
1009
1013
  ? null
1010
- : (_b = (_a = parseFromValuesOrFunc(columnDef.Footer, { column, footer, table })) !== null && _a !== void 0 ? _a : columnDef.footer) !== null && _b !== void 0 ? _b : null }) })));
1014
+ : (_b = (_a = parseFromValuesOrFunc(columnDef.Footer, {
1015
+ column,
1016
+ footer,
1017
+ table,
1018
+ })) !== null && _a !== void 0 ? _a : columnDef.footer) !== null && _b !== void 0 ? _b : null }) })));
1011
1019
  };
1012
1020
 
1013
1021
  const MRT_TableFooterRow = ({ footerGroup, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
@@ -1026,7 +1034,7 @@ const MRT_TableFooterRow = ({ footerGroup, table, virtualColumns, virtualPadding
1026
1034
  const footer = virtualColumns
1027
1035
  ? footerGroup.headers[footerOrVirtualFooter.index]
1028
1036
  : footerOrVirtualFooter;
1029
- return (jsx(MRT_TableFooterCell, { footer: footer, table: table }, footer.id));
1037
+ return footer ? (jsx(MRT_TableFooterCell, { footer: footer, table: table }, footer.id)) : null;
1030
1038
  }), virtualPaddingRight ? (jsx("th", { style: { display: 'flex', width: virtualPaddingRight } })) : null] })));
1031
1039
  };
1032
1040
 
@@ -1399,7 +1407,7 @@ const MRT_TableHeadCellColumnActionsButton = ({ header, table, }) => {
1399
1407
  }));
1400
1408
  return (jsxs(Fragment, { children: [jsx(Tooltip, { arrow: true, enterDelay: 1000, enterNextDelay: 1000, placement: "top", title: (_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.title) !== null && _a !== void 0 ? _a : localization.columnActions, children: jsx(IconButton, Object.assign({ "aria-label": localization.columnActions, onClick: handleClick, size: "small" }, iconButtonProps, { sx: (theme) => (Object.assign({ '&:hover': {
1401
1409
  opacity: 1,
1402
- }, height: '2rem', m: '-8px -4px', opacity: 0.5, transform: `scale(0.85) ${columnFilterDisplayMode !== 'popover' ? 'translateX(-4px)' : ''}`, transition: 'opacity 150ms', width: '2rem' }, parseFromValuesOrFunc(iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx, theme))), title: undefined, children: jsx(MoreVertIcon, {}) })) }), anchorEl && (jsx(MRT_ColumnActionMenu, { anchorEl: anchorEl, header: header, setAnchorEl: setAnchorEl, table: table }))] }));
1410
+ }, height: '2rem', m: '-4px', opacity: 0.3, transform: `scale(0.85) ${columnFilterDisplayMode !== 'popover' ? 'translateX(-4px)' : ''}`, transition: 'opacity 150ms', width: '2rem' }, parseFromValuesOrFunc(iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx, theme))), title: undefined, children: jsx(MoreVertIcon, {}) })) }), anchorEl && (jsx(MRT_ColumnActionMenu, { anchorEl: anchorEl, header: header, setAnchorEl: setAnchorEl, table: table }))] }));
1403
1411
  };
1404
1412
 
1405
1413
  const MRT_FilterCheckbox = ({ column, table, }) => {
@@ -1788,11 +1796,13 @@ const MRT_TableHeadCellFilterLabel = ({ header, table, }) => {
1788
1796
  (_b = filterInputRefs.current[`${column.id}-0`]) === null || _b === void 0 ? void 0 : _b.select();
1789
1797
  });
1790
1798
  event.stopPropagation();
1791
- }, sx: {
1799
+ }, size: "small", sx: {
1792
1800
  height: '16px',
1793
- opacity: 0.8,
1801
+ ml: '4px',
1802
+ opacity: isFilterActive ? 1 : 0.3,
1794
1803
  p: '8px',
1795
1804
  transform: 'scale(0.75)',
1805
+ transition: 'all 150ms ease-in-out',
1796
1806
  width: '16px',
1797
1807
  }, children: jsx(FilterAltIcon, {}) }) }) }) }), jsx(Popover, { anchorEl: anchorEl, anchorOrigin: {
1798
1808
  horizontal: 'center',
@@ -1873,11 +1883,12 @@ const MRT_TableHeadCellResizeHandle = ({ header, table, }) => {
1873
1883
  } }) }));
1874
1884
  };
1875
1885
 
1876
- const MRT_TableHeadCellSortLabel = ({ header, table, tableCellProps, }) => {
1877
- const { getState, options: { icons: { ArrowDownwardIcon }, localization, }, } = table;
1886
+ const MRT_TableHeadCellSortLabel = ({ header, table, }) => {
1887
+ const { getState, options: { icons: { ArrowDownwardIcon, SyncAltIcon }, localization, }, } = table;
1878
1888
  const { column } = header;
1879
1889
  const { columnDef } = column;
1880
1890
  const { sorting } = getState();
1891
+ const isSorted = !!column.getIsSorted();
1881
1892
  const sortTooltip = column.getIsSorted()
1882
1893
  ? column.getIsSorted() === 'desc'
1883
1894
  ? localization.sortedByColumnDesc.replace('{column}', columnDef.header)
@@ -1885,18 +1896,17 @@ const MRT_TableHeadCellSortLabel = ({ header, table, tableCellProps, }) => {
1885
1896
  : column.getNextSortingOrder() === 'desc'
1886
1897
  ? localization.sortByColumnDesc.replace('{column}', columnDef.header)
1887
1898
  : localization.sortByColumnAsc.replace('{column}', columnDef.header);
1888
- return (jsx(Tooltip, { arrow: true, placement: "top", title: sortTooltip, children: jsx(Badge, { badgeContent: sorting.length > 1 ? column.getSortIndex() + 1 : 0, overlap: "circular", children: jsx(TableSortLabel, { IconComponent: ArrowDownwardIcon, active: !!column.getIsSorted(), "aria-label": sortTooltip, direction: column.getIsSorted()
1889
- ? column.getIsSorted()
1890
- : undefined, onClick: (e) => {
1899
+ return (jsx(Tooltip, { arrow: true, placement: "top", title: sortTooltip, children: jsx(Badge, { badgeContent: sorting.length > 1 ? column.getSortIndex() + 1 : 0, overlap: "circular", children: jsx(TableSortLabel, { IconComponent: !isSorted
1900
+ ? (props) => (jsx(SyncAltIcon, Object.assign({}, props, { style: { transform: 'rotate(-90deg) scaleX(0.8)' } })))
1901
+ : ArrowDownwardIcon, active: true, "aria-label": sortTooltip, direction: isSorted ? column.getIsSorted() : undefined, onClick: (e) => {
1891
1902
  var _a;
1892
1903
  e.stopPropagation();
1893
1904
  (_a = header.column.getToggleSortingHandler()) === null || _a === void 0 ? void 0 : _a(e);
1894
1905
  }, sx: {
1895
1906
  flex: '0 0',
1896
- transform: (tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.align) !== 'right'
1897
- ? 'translateX(-0.5ch)'
1898
- : undefined,
1899
- width: '2.4ch',
1907
+ opacity: isSorted ? 1 : 0.3,
1908
+ transition: 'all 150ms ease-in-out',
1909
+ width: '3ch',
1900
1910
  } }) }) }));
1901
1911
  };
1902
1912
 
@@ -1924,11 +1934,11 @@ const MRT_TableHeadCell = ({ header, table, }) => {
1924
1934
  const headerPL = useMemo(() => {
1925
1935
  let pl = 0;
1926
1936
  if (column.getCanSort())
1927
- pl++;
1937
+ pl += 1;
1928
1938
  if (showColumnActions)
1929
1939
  pl += 1.75;
1930
1940
  if (showDragHandle)
1931
- pl += 1.25;
1941
+ pl += 1.5;
1932
1942
  return pl;
1933
1943
  }, [showColumnActions, showDragHandle]);
1934
1944
  const draggingBorder = useMemo(() => (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id) === column.id
@@ -1960,7 +1970,11 @@ const MRT_TableHeadCell = ({ header, table, }) => {
1960
1970
  if (node) {
1961
1971
  tableHeadCellRefs.current[column.id] = node;
1962
1972
  }
1963
- } }, tableCellProps, { sx: (theme) => (Object.assign(Object.assign({ flexDirection: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'column' : undefined, fontWeight: 'bold', overflow: 'visible', p: density === 'compact'
1973
+ } }, tableCellProps, { sx: (theme) => (Object.assign(Object.assign({ '& :hover': {
1974
+ '.MuiButtonBase-root': {
1975
+ opacity: 1,
1976
+ },
1977
+ }, flexDirection: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'column' : undefined, fontWeight: 'bold', overflow: 'visible', p: density === 'compact'
1964
1978
  ? '0.5rem'
1965
1979
  : density === 'comfortable'
1966
1980
  ? columnDefType === 'display'
@@ -2012,11 +2026,11 @@ const MRT_TableHeadCell = ({ header, table, }) => {
2012
2026
  '&:hover': {
2013
2027
  textOverflow: 'clip',
2014
2028
  },
2015
- minWidth: `${Math.min((_c = (_b = columnDef.header) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, 5)}ch`,
2029
+ minWidth: `${Math.min((_c = (_b = columnDef.header) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, 4)}ch`,
2016
2030
  overflow: columnDefType === 'data' ? 'hidden' : undefined,
2017
2031
  textOverflow: 'ellipsis',
2018
2032
  whiteSpace: ((_f = (_d = columnDef.header) === null || _d === void 0 ? void 0 : _d.length) !== null && _f !== void 0 ? _f : 0) < 20 ? 'nowrap' : 'normal',
2019
- }, title: columnDefType === 'data' ? columnDef.header : undefined, children: headerElement }), column.getCanSort() && (jsx(MRT_TableHeadCellSortLabel, { header: header, table: table, tableCellProps: tableCellProps })), column.getCanFilter() && (jsx(MRT_TableHeadCellFilterLabel, { header: header, table: table }))] }), columnDefType !== 'group' && (jsxs(Box, { className: "Mui-TableHeadCell-Content-Actions", sx: { whiteSpace: 'nowrap' }, children: [showDragHandle && (jsx(MRT_TableHeadCellGrabHandle, { column: column, table: table, tableHeadCellRef: {
2033
+ }, title: columnDefType === 'data' ? columnDef.header : undefined, children: headerElement }), column.getCanFilter() && (jsx(MRT_TableHeadCellFilterLabel, { header: header, table: table })), column.getCanSort() && (jsx(MRT_TableHeadCellSortLabel, { header: header, table: table, tableCellProps: tableCellProps }))] }), columnDefType !== 'group' && (jsxs(Box, { className: "Mui-TableHeadCell-Content-Actions", sx: { whiteSpace: 'nowrap' }, children: [showDragHandle && (jsx(MRT_TableHeadCellGrabHandle, { column: column, table: table, tableHeadCellRef: {
2020
2034
  current: tableHeadCellRefs.current[column.id],
2021
2035
  } })), showColumnActions && (jsx(MRT_TableHeadCellColumnActionsButton, { header: header, table: table }))] })), column.getCanResize() && (jsx(MRT_TableHeadCellResizeHandle, { header: header, table: table }))] })), columnFilterDisplayMode === 'subheader' && column.getCanFilter() && (jsx(MRT_TableHeadCellFilterContainer, { header: header, table: table }))] })));
2022
2036
  };
@@ -2031,18 +2045,18 @@ const MRT_TableHeadRow = ({ headerGroup, table, virtualColumns, virtualPaddingLe
2031
2045
  const header = virtualColumns
2032
2046
  ? headerGroup.headers[headerOrVirtualHeader.index]
2033
2047
  : headerOrVirtualHeader;
2034
- return (jsx(MRT_TableHeadCell, { header: header, table: table }, header.id));
2048
+ return header ? (jsx(MRT_TableHeadCell, { header: header, table: table }, header.id)) : null;
2035
2049
  }), virtualPaddingRight ? (jsx("th", { style: { display: 'flex', width: virtualPaddingRight } })) : null] })));
2036
2050
  };
2037
2051
 
2038
2052
  const MRT_LinearProgressBar = ({ isTopToolbar, table, }) => {
2039
2053
  const { getState, options: { muiLinearProgressProps }, } = table;
2040
- const { isLoading, showProgressBars } = getState();
2054
+ const { showProgressBars } = getState();
2041
2055
  const linearProgressProps = parseFromValuesOrFunc(muiLinearProgressProps, {
2042
2056
  isTopToolbar,
2043
2057
  table,
2044
2058
  });
2045
- return (jsx(Collapse, { in: isLoading || showProgressBars, mountOnEnter: true, sx: {
2059
+ return (jsx(Collapse, { in: showProgressBars, mountOnEnter: true, sx: {
2046
2060
  bottom: isTopToolbar ? 0 : undefined,
2047
2061
  position: 'absolute',
2048
2062
  top: !isTopToolbar ? 0 : undefined,
@@ -2564,7 +2578,9 @@ const MRT_TableHead = ({ table, virtualColumns, virtualPaddingLeft, virtualPaddi
2564
2578
  tableHeadProps.ref.current = ref;
2565
2579
  }
2566
2580
  }, sx: (theme) => (Object.assign({ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined, opacity: 0.97, position: stickyHeader ? 'sticky' : 'relative', top: stickyHeader && (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 0 : undefined, zIndex: stickyHeader ? 2 : undefined }, parseFromValuesOrFunc(tableHeadProps === null || tableHeadProps === void 0 ? void 0 : tableHeadProps.sx, theme))), children: positionToolbarAlertBanner === 'head-overlay' &&
2567
- (showAlertBanner || getSelectedRowModel().rows.length > 0) ? (jsx("tr", { style: { display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined }, children: jsx("th", { colSpan: table.getVisibleLeafColumns().length, style: {
2581
+ (showAlertBanner || getSelectedRowModel().rows.length > 0) ? (jsx("tr", { style: {
2582
+ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined,
2583
+ }, children: jsx("th", { colSpan: table.getVisibleLeafColumns().length, style: {
2568
2584
  display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : 'table-cell',
2569
2585
  padding: 0,
2570
2586
  }, children: jsx(MRT_ToolbarAlertBanner, { table: table }) }) })) : (getHeaderGroups().map((headerGroup) => (jsx(MRT_TableHeadRow, { headerGroup: headerGroup, table: table, virtualColumns: virtualColumns, virtualPaddingLeft: virtualPaddingLeft, virtualPaddingRight: virtualPaddingRight }, headerGroup.id)))) })));
@@ -2733,12 +2749,14 @@ const MRT_EditRowModal = ({ open, table, }) => {
2733
2749
 
2734
2750
  const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
2735
2751
  const MRT_TableContainer = ({ table, }) => {
2736
- const { getState, options: { createDisplayMode, editDisplayMode, enableStickyHeader, muiTableContainerProps, }, refs: { bottomToolbarRef, tableContainerRef, topToolbarRef }, } = table;
2737
- const { creatingRow, editingRow, isFullScreen } = getState();
2752
+ const { getState, options: { createDisplayMode, editDisplayMode, enableStickyHeader, localization, muiCircularProgressProps, muiTableContainerProps, }, refs: { bottomToolbarRef, tableContainerRef, topToolbarRef }, } = table;
2753
+ const { creatingRow, editingRow, isFullScreen, isLoading, showLoadingOverlay, } = getState();
2754
+ const loading = (isLoading || showLoadingOverlay) && showLoadingOverlay !== false;
2738
2755
  const [totalToolbarHeight, setTotalToolbarHeight] = useState(0);
2739
2756
  const tableContainerProps = parseFromValuesOrFunc(muiTableContainerProps, {
2740
2757
  table,
2741
2758
  });
2759
+ const circularProgressProps = parseFromValuesOrFunc(muiCircularProgressProps, { table });
2742
2760
  useIsomorphicLayoutEffect(() => {
2743
2761
  var _a, _b, _c, _d;
2744
2762
  const topToolbarHeight = typeof document !== 'undefined'
@@ -2751,7 +2769,7 @@ const MRT_TableContainer = ({ table, }) => {
2751
2769
  });
2752
2770
  const createModalOpen = createDisplayMode === 'modal' && creatingRow;
2753
2771
  const editModalOpen = editDisplayMode === 'modal' && editingRow;
2754
- return (jsxs(TableContainer, Object.assign({}, tableContainerProps, { ref: (node) => {
2772
+ return (jsxs(TableContainer, Object.assign({ "aria-busy": loading, "aria-describedby": "mrt-progress" }, tableContainerProps, { ref: (node) => {
2755
2773
  if (node) {
2756
2774
  tableContainerRef.current = node;
2757
2775
  if (tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.ref) {
@@ -2763,7 +2781,20 @@ const MRT_TableContainer = ({ table, }) => {
2763
2781
  ? `calc(100vh - ${totalToolbarHeight}px)`
2764
2782
  : undefined }, tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.style), sx: (theme) => (Object.assign({ maxHeight: enableStickyHeader
2765
2783
  ? `clamp(350px, calc(100vh - ${totalToolbarHeight}px), 9999px)`
2766
- : undefined, maxWidth: '100%', overflow: 'auto' }, parseFromValuesOrFunc(tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.sx, theme))), children: [jsx(MRT_Table, { table: table }), (createModalOpen || editModalOpen) && (jsx(MRT_EditRowModal, { open: true, table: table }))] })));
2784
+ : undefined, maxWidth: '100%', overflow: 'auto', position: 'relative' }, parseFromValuesOrFunc(tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.sx, theme))), children: [loading ? (jsx(Box, { sx: (theme) => ({
2785
+ alignItems: 'center',
2786
+ backgroundColor: alpha(lighten(theme.palette.background.paper, 0.05), 0.5),
2787
+ bottom: 0,
2788
+ display: 'flex',
2789
+ justifyContent: 'center',
2790
+ left: 0,
2791
+ maxHeight: '100vh',
2792
+ position: 'absolute',
2793
+ right: 0,
2794
+ top: 0,
2795
+ width: '100%',
2796
+ zIndex: 2,
2797
+ }), children: jsx(CircularProgress, Object.assign({ "aria-label": localization.noRecordsToDisplay, id: "mrt-progress" }, circularProgressProps)) })) : null, jsx(MRT_Table, { table: table }), (createModalOpen || editModalOpen) && (jsx(MRT_EditRowModal, { open: true, table: table }))] })));
2767
2798
  };
2768
2799
 
2769
2800
  const MRT_TablePaper = ({ table, }) => {
@@ -2867,7 +2898,7 @@ const MRT_ExpandButton = ({ row, table, }) => {
2867
2898
  };
2868
2899
  return (jsx(Tooltip, { arrow: true, disableHoverListener: !canExpand && !renderDetailPanel, enterDelay: 1000, enterNextDelay: 1000, title: ((_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.title) !== null && _a !== void 0 ? _a : isExpanded)
2869
2900
  ? localization.collapse
2870
- : localization.expand, children: jsx("span", { children: jsx(IconButton, Object.assign({ "aria-label": localization.expand, disabled: !canExpand && !renderDetailPanel }, iconButtonProps, { onClick: handleToggleExpand, sx: (theme) => (Object.assign({ height: density === 'compact' ? '1.75rem' : '2.25rem', width: density === 'compact' ? '1.75rem' : '2.25rem' }, parseFromValuesOrFunc(iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx, theme))), title: undefined, children: (_b = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.children) !== null && _b !== void 0 ? _b : (jsx(ExpandMoreIcon, { style: {
2901
+ : localization.expand, children: jsx("span", { children: jsx(IconButton, Object.assign({ "aria-label": localization.expand, disabled: !canExpand && !renderDetailPanel }, iconButtonProps, { onClick: handleToggleExpand, sx: (theme) => (Object.assign({ height: density === 'compact' ? '1.75rem' : '2.25rem', opacity: !canExpand && !renderDetailPanel ? 0.3 : 1, width: density === 'compact' ? '1.75rem' : '2.25rem' }, parseFromValuesOrFunc(iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx, theme))), title: undefined, children: (_b = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.children) !== null && _b !== void 0 ? _b : (jsx(ExpandMoreIcon, { style: {
2871
2902
  transform: `rotate(${!canExpand && !renderDetailPanel ? -90 : isExpanded ? -180 : 0}deg)`,
2872
2903
  transition: 'transform 150ms',
2873
2904
  } })) })) }) }));
@@ -2917,10 +2948,18 @@ const MRT_ToggleRowActionMenuButton = ({ cell, row, table, }) => {
2917
2948
  parseFromValuesOrFunc(enableEditing, row) ? (jsx(Tooltip, { arrow: true, placement: "right", title: localization.edit, children: jsx(IconButton, { "aria-label": localization.edit, onClick: handleStartEditMode, sx: commonIconButtonStyles, children: jsx(EditIcon, {}) }) })) : renderRowActionMenuItems ? (jsxs(Fragment, { children: [jsx(Tooltip, { arrow: true, enterDelay: 1000, enterNextDelay: 1000, title: localization.rowActions, children: jsx(IconButton, { "aria-label": localization.rowActions, onClick: handleOpenRowActionMenu, size: "small", sx: commonIconButtonStyles, children: jsx(MoreHorizIcon, {}) }) }), jsx(MRT_RowActionMenu, { anchorEl: anchorEl, handleEdit: handleStartEditMode, row: row, setAnchorEl: setAnchorEl, table: table })] })) : null }));
2918
2949
  };
2919
2950
 
2951
+ const blankColProps = {
2952
+ sx: {
2953
+ flex: '1 0 auto',
2954
+ minWidth: 0,
2955
+ p: 0,
2956
+ width: 0,
2957
+ },
2958
+ };
2920
2959
  const useMRT_DisplayColumns = ({ columnOrder, creatingRow, grouping, tableOptions, }) => {
2921
2960
  var _a, _b;
2922
2961
  return useMemo(() => {
2923
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
2962
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
2924
2963
  return [
2925
2964
  ((_b = (_a = tableOptions.state) === null || _a === void 0 ? void 0 : _a.columnOrder) !== null && _b !== void 0 ? _b : columnOrder).includes('mrt-row-pin') && Object.assign(Object.assign(Object.assign({ Cell: ({ row, table }) => (jsx(MRT_TableBodyRowPinButton, { row: row, table: table })), header: tableOptions.localization.pin, size: 60 }, tableOptions.defaultDisplayColumn), (_c = tableOptions.displayColumnDefOptions) === null || _c === void 0 ? void 0 : _c['mrt-row-pin']), { id: 'mrt-row-pin' }),
2926
2965
  ((_e = (_d = tableOptions.state) === null || _d === void 0 ? void 0 : _d.columnOrder) !== null && _e !== void 0 ? _e : columnOrder).includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ Cell: ({ row, rowRef, table }) => (jsx(MRT_TableBodyRowGrabHandle, { row: row, rowRef: rowRef, table: table })), header: tableOptions.localization.move, size: 60 }, tableOptions.defaultDisplayColumn), (_f = tableOptions.displayColumnDefOptions) === null || _f === void 0 ? void 0 : _f['mrt-row-drag']), { id: 'mrt-row-drag' }),
@@ -2935,6 +2974,14 @@ const useMRT_DisplayColumns = ({ columnOrder, creatingRow, grouping, tableOption
2935
2974
  ? ({ table }) => jsx(MRT_SelectCheckbox, { selectAll: true, table: table })
2936
2975
  : null, header: tableOptions.localization.select, size: 60 }, tableOptions.defaultDisplayColumn), (_s = tableOptions.displayColumnDefOptions) === null || _s === void 0 ? void 0 : _s['mrt-row-select']), { id: 'mrt-row-select' }),
2937
2976
  ((_u = (_t = tableOptions.state) === null || _t === void 0 ? void 0 : _t.columnOrder) !== null && _u !== void 0 ? _u : columnOrder).includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => tableOptions.localization.rowNumber, header: tableOptions.localization.rowNumbers, size: 60 }, tableOptions.defaultDisplayColumn), (_v = tableOptions.displayColumnDefOptions) === null || _v === void 0 ? void 0 : _v['mrt-row-numbers']), { id: 'mrt-row-numbers' }),
2977
+ ((_x = (_w = tableOptions.state) === null || _w === void 0 ? void 0 : _w.columnOrder) !== null && _x !== void 0 ? _x : columnOrder).includes('mrt-row-spacer') && {
2978
+ columnDefType: 'display',
2979
+ header: '',
2980
+ id: 'spacer',
2981
+ muiTableBodyCellProps: blankColProps,
2982
+ muiTableFooterCellProps: blankColProps,
2983
+ muiTableHeadCellProps: blankColProps,
2984
+ },
2938
2985
  ].filter(Boolean);
2939
2986
  }, [
2940
2987
  columnOrder,
@@ -3325,6 +3372,7 @@ const MRT_Default_Icons = {
3325
3372
  SearchIcon,
3326
3373
  SearchOffIcon,
3327
3374
  SortIcon,
3375
+ SyncAltIcon,
3328
3376
  ViewColumnIcon,
3329
3377
  VisibilityOffIcon,
3330
3378
  };