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
package/dist/cjs/index.js CHANGED
@@ -5,16 +5,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var Paper = require('@mui/material/Paper');
7
7
  var react = require('react');
8
+ var Box = require('@mui/material/Box');
9
+ var CircularProgress = require('@mui/material/CircularProgress');
8
10
  var TableContainer = require('@mui/material/TableContainer');
11
+ var styles = require('@mui/material/styles');
9
12
  var reactVirtual = require('@tanstack/react-virtual');
10
13
  var Table = require('@mui/material/Table');
11
14
  var TableBody = require('@mui/material/TableBody');
12
15
  var Typography = require('@mui/material/Typography');
13
16
  var TableRow = require('@mui/material/TableRow');
14
- var styles = require('@mui/material/styles');
15
17
  var Skeleton = require('@mui/material/Skeleton');
16
18
  var TableCell = require('@mui/material/TableCell');
17
- var Box = require('@mui/material/Box');
18
19
  var highlightWords = require('highlight-words');
19
20
  var IconButton = require('@mui/material/IconButton');
20
21
  var Tooltip = require('@mui/material/Tooltip');
@@ -59,7 +60,6 @@ var Dialog = require('@mui/material/Dialog');
59
60
  var DialogActions = require('@mui/material/DialogActions');
60
61
  var DialogContent = require('@mui/material/DialogContent');
61
62
  var DialogTitle = require('@mui/material/DialogTitle');
62
- var CircularProgress = require('@mui/material/CircularProgress');
63
63
  var ArrowDownwardIcon = require('@mui/icons-material/ArrowDownward');
64
64
  var ArrowRightIcon = require('@mui/icons-material/ArrowRight');
65
65
  var CancelIcon = require('@mui/icons-material/Cancel');
@@ -90,12 +90,15 @@ var SaveIcon = require('@mui/icons-material/Save');
90
90
  var SearchIcon = require('@mui/icons-material/Search');
91
91
  var SearchOffIcon = require('@mui/icons-material/SearchOff');
92
92
  var SortIcon = require('@mui/icons-material/Sort');
93
+ var SyncAltIcon = require('@mui/icons-material/SyncAlt');
93
94
  var ViewColumnIcon = require('@mui/icons-material/ViewColumn');
94
95
  var VisibilityOffIcon = require('@mui/icons-material/VisibilityOff');
95
96
 
96
97
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
97
98
 
98
99
  var Paper__default = /*#__PURE__*/_interopDefaultLegacy(Paper);
100
+ var Box__default = /*#__PURE__*/_interopDefaultLegacy(Box);
101
+ var CircularProgress__default = /*#__PURE__*/_interopDefaultLegacy(CircularProgress);
99
102
  var TableContainer__default = /*#__PURE__*/_interopDefaultLegacy(TableContainer);
100
103
  var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
101
104
  var TableBody__default = /*#__PURE__*/_interopDefaultLegacy(TableBody);
@@ -103,7 +106,6 @@ var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
103
106
  var TableRow__default = /*#__PURE__*/_interopDefaultLegacy(TableRow);
104
107
  var Skeleton__default = /*#__PURE__*/_interopDefaultLegacy(Skeleton);
105
108
  var TableCell__default = /*#__PURE__*/_interopDefaultLegacy(TableCell);
106
- var Box__default = /*#__PURE__*/_interopDefaultLegacy(Box);
107
109
  var highlightWords__default = /*#__PURE__*/_interopDefaultLegacy(highlightWords);
108
110
  var IconButton__default = /*#__PURE__*/_interopDefaultLegacy(IconButton);
109
111
  var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
@@ -144,7 +146,6 @@ var Dialog__default = /*#__PURE__*/_interopDefaultLegacy(Dialog);
144
146
  var DialogActions__default = /*#__PURE__*/_interopDefaultLegacy(DialogActions);
145
147
  var DialogContent__default = /*#__PURE__*/_interopDefaultLegacy(DialogContent);
146
148
  var DialogTitle__default = /*#__PURE__*/_interopDefaultLegacy(DialogTitle);
147
- var CircularProgress__default = /*#__PURE__*/_interopDefaultLegacy(CircularProgress);
148
149
  var ArrowDownwardIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowDownwardIcon);
149
150
  var ArrowRightIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowRightIcon);
150
151
  var CancelIcon__default = /*#__PURE__*/_interopDefaultLegacy(CancelIcon);
@@ -175,6 +176,7 @@ var SaveIcon__default = /*#__PURE__*/_interopDefaultLegacy(SaveIcon);
175
176
  var SearchIcon__default = /*#__PURE__*/_interopDefaultLegacy(SearchIcon);
176
177
  var SearchOffIcon__default = /*#__PURE__*/_interopDefaultLegacy(SearchOffIcon);
177
178
  var SortIcon__default = /*#__PURE__*/_interopDefaultLegacy(SortIcon);
179
+ var SyncAltIcon__default = /*#__PURE__*/_interopDefaultLegacy(SyncAltIcon);
178
180
  var ViewColumnIcon__default = /*#__PURE__*/_interopDefaultLegacy(ViewColumnIcon);
179
181
  var VisibilityOffIcon__default = /*#__PURE__*/_interopDefaultLegacy(VisibilityOffIcon);
180
182
 
@@ -338,6 +340,7 @@ const getLeadingDisplayColumnIds = (props) => {
338
340
  'mrt-row-expand',
339
341
  props.enableRowSelection && 'mrt-row-select',
340
342
  props.enableRowNumbers && 'mrt-row-numbers',
343
+ props.layoutMode === 'grid-no-grow' && 'mrt-row-spacer',
341
344
  ].filter(Boolean);
342
345
  };
343
346
  const getTrailingDisplayColumnIds = (props) => {
@@ -425,7 +428,7 @@ const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, })
425
428
  else if (layoutMode === 'grid-no-grow') {
426
429
  widthStyles.flex = '0 0 auto';
427
430
  }
428
- return Object.assign(Object.assign(Object.assign({ backgroundColor: column.getIsPinned() && column.columnDef.columnDefType !== 'group'
431
+ return Object.assign(Object.assign({ backgroundColor: column.getIsPinned() && column.columnDef.columnDefType !== 'group'
429
432
  ? styles.alpha(styles.lighten(theme.palette.background.default, 0.04), 0.97)
430
433
  : 'inherit', backgroundImage: 'inherit', boxShadow: getIsLastLeftPinnedColumn(table, column)
431
434
  ? `-4px 0 8px -6px ${styles.alpha(theme.palette.common.black, 0.2)} inset`
@@ -453,7 +456,7 @@ const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, })
453
456
  ? `${getTotalRight(table, column)}px`
454
457
  : undefined, transition: table.options.enableColumnVirtualization
455
458
  ? 'none'
456
- : `padding 150ms ease-in-out` }, (!table.options.enableColumnResizing && widthStyles)), parseFromValuesOrFunc(tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx, theme)), (table.options.enableColumnResizing && widthStyles));
459
+ : `padding 150ms ease-in-out` }, widthStyles), parseFromValuesOrFunc(tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx, theme));
457
460
  };
458
461
  const MRT_DefaultColumn = {
459
462
  filterVariant: 'text',
@@ -493,7 +496,7 @@ const extraIndexRangeExtractor = (range, draggingIndex) => {
493
496
  return newIndexs;
494
497
  };
495
498
 
496
- const MRT_GrabHandleButton = ({ iconButtonProps, onDragEnd, onDragStart, table, }) => {
499
+ const MRT_GrabHandleButton = ({ iconButtonProps, location, onDragEnd, onDragStart, table, }) => {
497
500
  var _a;
498
501
  const { options: { icons: { DragHandleIcon }, localization, }, } = table;
499
502
  return (jsxRuntime.jsx(Tooltip__default["default"], { 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: jsxRuntime.jsx(IconButton__default["default"], Object.assign({ disableRipple: true, draggable: "true", size: "small" }, iconButtonProps, { onClick: (e) => {
@@ -505,7 +508,7 @@ const MRT_GrabHandleButton = ({ iconButtonProps, onDragEnd, onDragStart, table,
505
508
  }, '&:hover': {
506
509
  backgroundColor: 'transparent',
507
510
  opacity: 1,
508
- }, 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: jsxRuntime.jsx(DragHandleIcon, {}) })) }));
511
+ }, 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: jsxRuntime.jsx(DragHandleIcon, {}) })) }));
509
512
  };
510
513
 
511
514
  const MRT_TableBodyRowGrabHandle = ({ row, rowRef, table, }) => {
@@ -526,7 +529,7 @@ const MRT_TableBodyRowGrabHandle = ({ row, rowRef, table, }) => {
526
529
  table.setDraggingRow(null);
527
530
  table.setHoveredRow(null);
528
531
  };
529
- return (jsxRuntime.jsx(MRT_GrabHandleButton, { iconButtonProps: iconButtonProps, onDragEnd: handleDragEnd, onDragStart: handleDragStart, table: table }));
532
+ return (jsxRuntime.jsx(MRT_GrabHandleButton, { iconButtonProps: iconButtonProps, location: "row", onDragEnd: handleDragEnd, onDragStart: handleDragStart, table: table }));
530
533
  };
531
534
 
532
535
  const MRT_CopyButton = ({ cell, children, table, }) => {
@@ -755,7 +758,9 @@ const MRT_TableBodyCell = ({ cell, measureElement, numRows, rowIndex, rowRef, ta
755
758
  : undefined,
756
759
  outlineOffset: '-1px',
757
760
  textOverflow: 'clip',
758
- }, 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'
761
+ }, 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'))
762
+ ? tableCellProps.align
763
+ : undefined, overflow: 'hidden', p: density === 'compact'
759
764
  ? columnDefType === 'display'
760
765
  ? '0 0.5rem'
761
766
  : '0.5rem'
@@ -777,7 +782,7 @@ const MRT_TableBodyCell = ({ cell, measureElement, numRows, rowIndex, rowRef, ta
777
782
  table,
778
783
  tableCellProps,
779
784
  theme,
780
- })), draggingBorders)), children: jsxRuntime.jsxs(jsxRuntime.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 ? (jsxRuntime.jsx(Skeleton__default["default"], Object.assign({ animation: "wave", height: 20, width: skeletonWidth }, skeletonProps))) : enableRowNumbers &&
785
+ })), draggingBorders)), children: jsxRuntime.jsxs(jsxRuntime.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 ? (jsxRuntime.jsx(Skeleton__default["default"], Object.assign({ animation: "wave", height: 20, width: skeletonWidth }, skeletonProps))) : enableRowNumbers &&
781
786
  rowNumberMode === 'static' &&
782
787
  column.id === 'mrt-row-numbers' ? (rowIndex + 1) : column.id === 'mrt-row-drag' ? (jsxRuntime.jsx(MRT_TableBodyRowGrabHandle, { row: row, rowRef: rowRef, table: table })) : columnDefType === 'display' &&
783
788
  (column.id === 'mrt-row-select' ||
@@ -909,12 +914,12 @@ const MRT_TableBodyRow = ({ columnVirtualizer, measureElement, numRows, pinnedRo
909
914
  ? cellOrVirtualCell
910
915
  : undefined,
911
916
  };
912
- return memoMode === 'cells' &&
917
+ return cell ? (memoMode === 'cells' &&
913
918
  cell.column.columnDef.columnDefType === 'data' &&
914
919
  !draggingColumn &&
915
920
  !draggingRow &&
916
921
  (editingCell === null || editingCell === void 0 ? void 0 : editingCell.id) !== cell.id &&
917
- (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) !== row.id ? (jsxRuntime.jsx(Memo_MRT_TableBodyCell, Object.assign({}, props), cell.id)) : (jsxRuntime.jsx(MRT_TableBodyCell, Object.assign({}, props), cell.id));
922
+ (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) !== row.id ? (jsxRuntime.jsx(Memo_MRT_TableBodyCell, Object.assign({}, props), cell.id)) : (jsxRuntime.jsx(MRT_TableBodyCell, Object.assign({}, props), cell.id))) : null;
918
923
  }), virtualPaddingRight ? (jsxRuntime.jsx("td", { style: { display: 'flex', width: virtualPaddingRight } })) : null] })), renderDetailPanel && !row.getIsGrouped() && (jsxRuntime.jsx(MRT_TableDetailPanel, { parentRowRef: rowRef, row: row, rowIndex: rowIndex, table: table, virtualRow: virtualRow }))] }));
919
924
  };
920
925
  const Memo_MRT_TableBodyRow = react.memo(MRT_TableBodyRow, (prev, next) => prev.row === next.row && prev.rowIndex === next.rowIndex);
@@ -1096,7 +1101,11 @@ const MRT_TableFooterCell = ({ footer, table, }) => {
1096
1101
  theme,
1097
1102
  }))), children: jsxRuntime.jsx(jsxRuntime.Fragment, { children: footer.isPlaceholder
1098
1103
  ? null
1099
- : (_b = (_a = parseFromValuesOrFunc(columnDef.Footer, { column, footer, table })) !== null && _a !== void 0 ? _a : columnDef.footer) !== null && _b !== void 0 ? _b : null }) })));
1104
+ : (_b = (_a = parseFromValuesOrFunc(columnDef.Footer, {
1105
+ column,
1106
+ footer,
1107
+ table,
1108
+ })) !== null && _a !== void 0 ? _a : columnDef.footer) !== null && _b !== void 0 ? _b : null }) })));
1100
1109
  };
1101
1110
 
1102
1111
  const MRT_TableFooterRow = ({ footerGroup, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
@@ -1115,7 +1124,7 @@ const MRT_TableFooterRow = ({ footerGroup, table, virtualColumns, virtualPadding
1115
1124
  const footer = virtualColumns
1116
1125
  ? footerGroup.headers[footerOrVirtualFooter.index]
1117
1126
  : footerOrVirtualFooter;
1118
- return (jsxRuntime.jsx(MRT_TableFooterCell, { footer: footer, table: table }, footer.id));
1127
+ return footer ? (jsxRuntime.jsx(MRT_TableFooterCell, { footer: footer, table: table }, footer.id)) : null;
1119
1128
  }), virtualPaddingRight ? (jsxRuntime.jsx("th", { style: { display: 'flex', width: virtualPaddingRight } })) : null] })));
1120
1129
  };
1121
1130
 
@@ -1488,7 +1497,7 @@ const MRT_TableHeadCellColumnActionsButton = ({ header, table, }) => {
1488
1497
  }));
1489
1498
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Tooltip__default["default"], { 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: jsxRuntime.jsx(IconButton__default["default"], Object.assign({ "aria-label": localization.columnActions, onClick: handleClick, size: "small" }, iconButtonProps, { sx: (theme) => (Object.assign({ '&:hover': {
1490
1499
  opacity: 1,
1491
- }, 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: jsxRuntime.jsx(MoreVertIcon, {}) })) }), anchorEl && (jsxRuntime.jsx(MRT_ColumnActionMenu, { anchorEl: anchorEl, header: header, setAnchorEl: setAnchorEl, table: table }))] }));
1500
+ }, 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: jsxRuntime.jsx(MoreVertIcon, {}) })) }), anchorEl && (jsxRuntime.jsx(MRT_ColumnActionMenu, { anchorEl: anchorEl, header: header, setAnchorEl: setAnchorEl, table: table }))] }));
1492
1501
  };
1493
1502
 
1494
1503
  const MRT_FilterCheckbox = ({ column, table, }) => {
@@ -1877,11 +1886,13 @@ const MRT_TableHeadCellFilterLabel = ({ header, table, }) => {
1877
1886
  (_b = filterInputRefs.current[`${column.id}-0`]) === null || _b === void 0 ? void 0 : _b.select();
1878
1887
  });
1879
1888
  event.stopPropagation();
1880
- }, sx: {
1889
+ }, size: "small", sx: {
1881
1890
  height: '16px',
1882
- opacity: 0.8,
1891
+ ml: '4px',
1892
+ opacity: isFilterActive ? 1 : 0.3,
1883
1893
  p: '8px',
1884
1894
  transform: 'scale(0.75)',
1895
+ transition: 'all 150ms ease-in-out',
1885
1896
  width: '16px',
1886
1897
  }, children: jsxRuntime.jsx(FilterAltIcon, {}) }) }) }) }), jsxRuntime.jsx(Popover__default["default"], { anchorEl: anchorEl, anchorOrigin: {
1887
1898
  horizontal: 'center',
@@ -1962,11 +1973,12 @@ const MRT_TableHeadCellResizeHandle = ({ header, table, }) => {
1962
1973
  } }) }));
1963
1974
  };
1964
1975
 
1965
- const MRT_TableHeadCellSortLabel = ({ header, table, tableCellProps, }) => {
1966
- const { getState, options: { icons: { ArrowDownwardIcon }, localization, }, } = table;
1976
+ const MRT_TableHeadCellSortLabel = ({ header, table, }) => {
1977
+ const { getState, options: { icons: { ArrowDownwardIcon, SyncAltIcon }, localization, }, } = table;
1967
1978
  const { column } = header;
1968
1979
  const { columnDef } = column;
1969
1980
  const { sorting } = getState();
1981
+ const isSorted = !!column.getIsSorted();
1970
1982
  const sortTooltip = column.getIsSorted()
1971
1983
  ? column.getIsSorted() === 'desc'
1972
1984
  ? localization.sortedByColumnDesc.replace('{column}', columnDef.header)
@@ -1974,18 +1986,17 @@ const MRT_TableHeadCellSortLabel = ({ header, table, tableCellProps, }) => {
1974
1986
  : column.getNextSortingOrder() === 'desc'
1975
1987
  ? localization.sortByColumnDesc.replace('{column}', columnDef.header)
1976
1988
  : localization.sortByColumnAsc.replace('{column}', columnDef.header);
1977
- return (jsxRuntime.jsx(Tooltip__default["default"], { arrow: true, placement: "top", title: sortTooltip, children: jsxRuntime.jsx(Badge__default["default"], { badgeContent: sorting.length > 1 ? column.getSortIndex() + 1 : 0, overlap: "circular", children: jsxRuntime.jsx(TableSortLabel__default["default"], { IconComponent: ArrowDownwardIcon, active: !!column.getIsSorted(), "aria-label": sortTooltip, direction: column.getIsSorted()
1978
- ? column.getIsSorted()
1979
- : undefined, onClick: (e) => {
1989
+ return (jsxRuntime.jsx(Tooltip__default["default"], { arrow: true, placement: "top", title: sortTooltip, children: jsxRuntime.jsx(Badge__default["default"], { badgeContent: sorting.length > 1 ? column.getSortIndex() + 1 : 0, overlap: "circular", children: jsxRuntime.jsx(TableSortLabel__default["default"], { IconComponent: !isSorted
1990
+ ? (props) => (jsxRuntime.jsx(SyncAltIcon, Object.assign({}, props, { style: { transform: 'rotate(-90deg) scaleX(0.8)' } })))
1991
+ : ArrowDownwardIcon, active: true, "aria-label": sortTooltip, direction: isSorted ? column.getIsSorted() : undefined, onClick: (e) => {
1980
1992
  var _a;
1981
1993
  e.stopPropagation();
1982
1994
  (_a = header.column.getToggleSortingHandler()) === null || _a === void 0 ? void 0 : _a(e);
1983
1995
  }, sx: {
1984
1996
  flex: '0 0',
1985
- transform: (tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.align) !== 'right'
1986
- ? 'translateX(-0.5ch)'
1987
- : undefined,
1988
- width: '2.4ch',
1997
+ opacity: isSorted ? 1 : 0.3,
1998
+ transition: 'all 150ms ease-in-out',
1999
+ width: '3ch',
1989
2000
  } }) }) }));
1990
2001
  };
1991
2002
 
@@ -2013,11 +2024,11 @@ const MRT_TableHeadCell = ({ header, table, }) => {
2013
2024
  const headerPL = react.useMemo(() => {
2014
2025
  let pl = 0;
2015
2026
  if (column.getCanSort())
2016
- pl++;
2027
+ pl += 1;
2017
2028
  if (showColumnActions)
2018
2029
  pl += 1.75;
2019
2030
  if (showDragHandle)
2020
- pl += 1.25;
2031
+ pl += 1.5;
2021
2032
  return pl;
2022
2033
  }, [showColumnActions, showDragHandle]);
2023
2034
  const draggingBorder = react.useMemo(() => (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id) === column.id
@@ -2049,7 +2060,11 @@ const MRT_TableHeadCell = ({ header, table, }) => {
2049
2060
  if (node) {
2050
2061
  tableHeadCellRefs.current[column.id] = node;
2051
2062
  }
2052
- } }, 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'
2063
+ } }, tableCellProps, { sx: (theme) => (Object.assign(Object.assign({ '& :hover': {
2064
+ '.MuiButtonBase-root': {
2065
+ opacity: 1,
2066
+ },
2067
+ }, flexDirection: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'column' : undefined, fontWeight: 'bold', overflow: 'visible', p: density === 'compact'
2053
2068
  ? '0.5rem'
2054
2069
  : density === 'comfortable'
2055
2070
  ? columnDefType === 'display'
@@ -2101,11 +2116,11 @@ const MRT_TableHeadCell = ({ header, table, }) => {
2101
2116
  '&:hover': {
2102
2117
  textOverflow: 'clip',
2103
2118
  },
2104
- minWidth: `${Math.min((_c = (_b = columnDef.header) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, 5)}ch`,
2119
+ minWidth: `${Math.min((_c = (_b = columnDef.header) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, 4)}ch`,
2105
2120
  overflow: columnDefType === 'data' ? 'hidden' : undefined,
2106
2121
  textOverflow: 'ellipsis',
2107
2122
  whiteSpace: ((_f = (_d = columnDef.header) === null || _d === void 0 ? void 0 : _d.length) !== null && _f !== void 0 ? _f : 0) < 20 ? 'nowrap' : 'normal',
2108
- }, title: columnDefType === 'data' ? columnDef.header : undefined, children: headerElement }), column.getCanSort() && (jsxRuntime.jsx(MRT_TableHeadCellSortLabel, { header: header, table: table, tableCellProps: tableCellProps })), column.getCanFilter() && (jsxRuntime.jsx(MRT_TableHeadCellFilterLabel, { header: header, table: table }))] }), columnDefType !== 'group' && (jsxRuntime.jsxs(Box__default["default"], { className: "Mui-TableHeadCell-Content-Actions", sx: { whiteSpace: 'nowrap' }, children: [showDragHandle && (jsxRuntime.jsx(MRT_TableHeadCellGrabHandle, { column: column, table: table, tableHeadCellRef: {
2123
+ }, title: columnDefType === 'data' ? columnDef.header : undefined, children: headerElement }), column.getCanFilter() && (jsxRuntime.jsx(MRT_TableHeadCellFilterLabel, { header: header, table: table })), column.getCanSort() && (jsxRuntime.jsx(MRT_TableHeadCellSortLabel, { header: header, table: table, tableCellProps: tableCellProps }))] }), columnDefType !== 'group' && (jsxRuntime.jsxs(Box__default["default"], { className: "Mui-TableHeadCell-Content-Actions", sx: { whiteSpace: 'nowrap' }, children: [showDragHandle && (jsxRuntime.jsx(MRT_TableHeadCellGrabHandle, { column: column, table: table, tableHeadCellRef: {
2109
2124
  current: tableHeadCellRefs.current[column.id],
2110
2125
  } })), showColumnActions && (jsxRuntime.jsx(MRT_TableHeadCellColumnActionsButton, { header: header, table: table }))] })), column.getCanResize() && (jsxRuntime.jsx(MRT_TableHeadCellResizeHandle, { header: header, table: table }))] })), columnFilterDisplayMode === 'subheader' && column.getCanFilter() && (jsxRuntime.jsx(MRT_TableHeadCellFilterContainer, { header: header, table: table }))] })));
2111
2126
  };
@@ -2120,18 +2135,18 @@ const MRT_TableHeadRow = ({ headerGroup, table, virtualColumns, virtualPaddingLe
2120
2135
  const header = virtualColumns
2121
2136
  ? headerGroup.headers[headerOrVirtualHeader.index]
2122
2137
  : headerOrVirtualHeader;
2123
- return (jsxRuntime.jsx(MRT_TableHeadCell, { header: header, table: table }, header.id));
2138
+ return header ? (jsxRuntime.jsx(MRT_TableHeadCell, { header: header, table: table }, header.id)) : null;
2124
2139
  }), virtualPaddingRight ? (jsxRuntime.jsx("th", { style: { display: 'flex', width: virtualPaddingRight } })) : null] })));
2125
2140
  };
2126
2141
 
2127
2142
  const MRT_LinearProgressBar = ({ isTopToolbar, table, }) => {
2128
2143
  const { getState, options: { muiLinearProgressProps }, } = table;
2129
- const { isLoading, showProgressBars } = getState();
2144
+ const { showProgressBars } = getState();
2130
2145
  const linearProgressProps = parseFromValuesOrFunc(muiLinearProgressProps, {
2131
2146
  isTopToolbar,
2132
2147
  table,
2133
2148
  });
2134
- return (jsxRuntime.jsx(Collapse__default["default"], { in: isLoading || showProgressBars, mountOnEnter: true, sx: {
2149
+ return (jsxRuntime.jsx(Collapse__default["default"], { in: showProgressBars, mountOnEnter: true, sx: {
2135
2150
  bottom: isTopToolbar ? 0 : undefined,
2136
2151
  position: 'absolute',
2137
2152
  top: !isTopToolbar ? 0 : undefined,
@@ -2653,7 +2668,9 @@ const MRT_TableHead = ({ table, virtualColumns, virtualPaddingLeft, virtualPaddi
2653
2668
  tableHeadProps.ref.current = ref;
2654
2669
  }
2655
2670
  }, 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' &&
2656
- (showAlertBanner || getSelectedRowModel().rows.length > 0) ? (jsxRuntime.jsx("tr", { style: { display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined }, children: jsxRuntime.jsx("th", { colSpan: table.getVisibleLeafColumns().length, style: {
2671
+ (showAlertBanner || getSelectedRowModel().rows.length > 0) ? (jsxRuntime.jsx("tr", { style: {
2672
+ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined,
2673
+ }, children: jsxRuntime.jsx("th", { colSpan: table.getVisibleLeafColumns().length, style: {
2657
2674
  display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : 'table-cell',
2658
2675
  padding: 0,
2659
2676
  }, children: jsxRuntime.jsx(MRT_ToolbarAlertBanner, { table: table }) }) })) : (getHeaderGroups().map((headerGroup) => (jsxRuntime.jsx(MRT_TableHeadRow, { headerGroup: headerGroup, table: table, virtualColumns: virtualColumns, virtualPaddingLeft: virtualPaddingLeft, virtualPaddingRight: virtualPaddingRight }, headerGroup.id)))) })));
@@ -2822,12 +2839,14 @@ const MRT_EditRowModal = ({ open, table, }) => {
2822
2839
 
2823
2840
  const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? react.useLayoutEffect : react.useEffect;
2824
2841
  const MRT_TableContainer = ({ table, }) => {
2825
- const { getState, options: { createDisplayMode, editDisplayMode, enableStickyHeader, muiTableContainerProps, }, refs: { bottomToolbarRef, tableContainerRef, topToolbarRef }, } = table;
2826
- const { creatingRow, editingRow, isFullScreen } = getState();
2842
+ const { getState, options: { createDisplayMode, editDisplayMode, enableStickyHeader, localization, muiCircularProgressProps, muiTableContainerProps, }, refs: { bottomToolbarRef, tableContainerRef, topToolbarRef }, } = table;
2843
+ const { creatingRow, editingRow, isFullScreen, isLoading, showLoadingOverlay, } = getState();
2844
+ const loading = (isLoading || showLoadingOverlay) && showLoadingOverlay !== false;
2827
2845
  const [totalToolbarHeight, setTotalToolbarHeight] = react.useState(0);
2828
2846
  const tableContainerProps = parseFromValuesOrFunc(muiTableContainerProps, {
2829
2847
  table,
2830
2848
  });
2849
+ const circularProgressProps = parseFromValuesOrFunc(muiCircularProgressProps, { table });
2831
2850
  useIsomorphicLayoutEffect(() => {
2832
2851
  var _a, _b, _c, _d;
2833
2852
  const topToolbarHeight = typeof document !== 'undefined'
@@ -2840,7 +2859,7 @@ const MRT_TableContainer = ({ table, }) => {
2840
2859
  });
2841
2860
  const createModalOpen = createDisplayMode === 'modal' && creatingRow;
2842
2861
  const editModalOpen = editDisplayMode === 'modal' && editingRow;
2843
- return (jsxRuntime.jsxs(TableContainer__default["default"], Object.assign({}, tableContainerProps, { ref: (node) => {
2862
+ return (jsxRuntime.jsxs(TableContainer__default["default"], Object.assign({ "aria-busy": loading, "aria-describedby": "mrt-progress" }, tableContainerProps, { ref: (node) => {
2844
2863
  if (node) {
2845
2864
  tableContainerRef.current = node;
2846
2865
  if (tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.ref) {
@@ -2852,7 +2871,20 @@ const MRT_TableContainer = ({ table, }) => {
2852
2871
  ? `calc(100vh - ${totalToolbarHeight}px)`
2853
2872
  : undefined }, tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.style), sx: (theme) => (Object.assign({ maxHeight: enableStickyHeader
2854
2873
  ? `clamp(350px, calc(100vh - ${totalToolbarHeight}px), 9999px)`
2855
- : undefined, maxWidth: '100%', overflow: 'auto' }, parseFromValuesOrFunc(tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.sx, theme))), children: [jsxRuntime.jsx(MRT_Table, { table: table }), (createModalOpen || editModalOpen) && (jsxRuntime.jsx(MRT_EditRowModal, { open: true, table: table }))] })));
2874
+ : undefined, maxWidth: '100%', overflow: 'auto', position: 'relative' }, parseFromValuesOrFunc(tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.sx, theme))), children: [loading ? (jsxRuntime.jsx(Box__default["default"], { sx: (theme) => ({
2875
+ alignItems: 'center',
2876
+ backgroundColor: styles.alpha(styles.lighten(theme.palette.background.paper, 0.05), 0.5),
2877
+ bottom: 0,
2878
+ display: 'flex',
2879
+ justifyContent: 'center',
2880
+ left: 0,
2881
+ maxHeight: '100vh',
2882
+ position: 'absolute',
2883
+ right: 0,
2884
+ top: 0,
2885
+ width: '100%',
2886
+ zIndex: 2,
2887
+ }), children: jsxRuntime.jsx(CircularProgress__default["default"], Object.assign({ "aria-label": localization.noRecordsToDisplay, id: "mrt-progress" }, circularProgressProps)) })) : null, jsxRuntime.jsx(MRT_Table, { table: table }), (createModalOpen || editModalOpen) && (jsxRuntime.jsx(MRT_EditRowModal, { open: true, table: table }))] })));
2856
2888
  };
2857
2889
 
2858
2890
  const MRT_TablePaper = ({ table, }) => {
@@ -2956,7 +2988,7 @@ const MRT_ExpandButton = ({ row, table, }) => {
2956
2988
  };
2957
2989
  return (jsxRuntime.jsx(Tooltip__default["default"], { 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)
2958
2990
  ? localization.collapse
2959
- : localization.expand, children: jsxRuntime.jsx("span", { children: jsxRuntime.jsx(IconButton__default["default"], 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 : (jsxRuntime.jsx(ExpandMoreIcon, { style: {
2991
+ : localization.expand, children: jsxRuntime.jsx("span", { children: jsxRuntime.jsx(IconButton__default["default"], 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 : (jsxRuntime.jsx(ExpandMoreIcon, { style: {
2960
2992
  transform: `rotate(${!canExpand && !renderDetailPanel ? -90 : isExpanded ? -180 : 0}deg)`,
2961
2993
  transition: 'transform 150ms',
2962
2994
  } })) })) }) }));
@@ -3006,10 +3038,18 @@ const MRT_ToggleRowActionMenuButton = ({ cell, row, table, }) => {
3006
3038
  parseFromValuesOrFunc(enableEditing, row) ? (jsxRuntime.jsx(Tooltip__default["default"], { arrow: true, placement: "right", title: localization.edit, children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.edit, onClick: handleStartEditMode, sx: commonIconButtonStyles, children: jsxRuntime.jsx(EditIcon, {}) }) })) : renderRowActionMenuItems ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Tooltip__default["default"], { arrow: true, enterDelay: 1000, enterNextDelay: 1000, title: localization.rowActions, children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.rowActions, onClick: handleOpenRowActionMenu, size: "small", sx: commonIconButtonStyles, children: jsxRuntime.jsx(MoreHorizIcon, {}) }) }), jsxRuntime.jsx(MRT_RowActionMenu, { anchorEl: anchorEl, handleEdit: handleStartEditMode, row: row, setAnchorEl: setAnchorEl, table: table })] })) : null }));
3007
3039
  };
3008
3040
 
3041
+ const blankColProps = {
3042
+ sx: {
3043
+ flex: '1 0 auto',
3044
+ minWidth: 0,
3045
+ p: 0,
3046
+ width: 0,
3047
+ },
3048
+ };
3009
3049
  const useMRT_DisplayColumns = ({ columnOrder, creatingRow, grouping, tableOptions, }) => {
3010
3050
  var _a, _b;
3011
3051
  return react.useMemo(() => {
3012
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
3052
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
3013
3053
  return [
3014
3054
  ((_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 }) => (jsxRuntime.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' }),
3015
3055
  ((_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 }) => (jsxRuntime.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' }),
@@ -3024,6 +3064,14 @@ const useMRT_DisplayColumns = ({ columnOrder, creatingRow, grouping, tableOption
3024
3064
  ? ({ table }) => jsxRuntime.jsx(MRT_SelectCheckbox, { selectAll: true, table: table })
3025
3065
  : 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' }),
3026
3066
  ((_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' }),
3067
+ ((_x = (_w = tableOptions.state) === null || _w === void 0 ? void 0 : _w.columnOrder) !== null && _x !== void 0 ? _x : columnOrder).includes('mrt-row-spacer') && {
3068
+ columnDefType: 'display',
3069
+ header: '',
3070
+ id: 'spacer',
3071
+ muiTableBodyCellProps: blankColProps,
3072
+ muiTableFooterCellProps: blankColProps,
3073
+ muiTableHeadCellProps: blankColProps,
3074
+ },
3027
3075
  ].filter(Boolean);
3028
3076
  }, [
3029
3077
  columnOrder,
@@ -3414,6 +3462,7 @@ const MRT_Default_Icons = {
3414
3462
  SearchIcon: SearchIcon__default["default"],
3415
3463
  SearchOffIcon: SearchOffIcon__default["default"],
3416
3464
  SortIcon: SortIcon__default["default"],
3465
+ SyncAltIcon: SyncAltIcon__default["default"],
3417
3466
  ViewColumnIcon: ViewColumnIcon__default["default"],
3418
3467
  VisibilityOffIcon: VisibilityOffIcon__default["default"],
3419
3468
  };