material-react-table 2.0.0-alpha.6 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/index.js +184 -109
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +1 -1
  5. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +1 -1
  6. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +2 -1
  7. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  8. package/dist/cjs/types/icons.d.ts +1 -0
  9. package/dist/cjs/types/types.d.ts +6 -1
  10. package/dist/esm/material-react-table.esm.js +181 -107
  11. package/dist/esm/material-react-table.esm.js.map +1 -1
  12. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +1 -1
  13. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +1 -1
  14. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +2 -1
  15. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  16. package/dist/esm/types/icons.d.ts +1 -0
  17. package/dist/esm/types/types.d.ts +6 -1
  18. package/dist/index.d.ts +12 -5
  19. package/locales/ar.esm.js +1 -0
  20. package/locales/ar.esm.js.map +1 -1
  21. package/locales/ar.js +1 -0
  22. package/locales/ar.js.map +1 -1
  23. package/locales/bg.esm.js +1 -0
  24. package/locales/bg.esm.js.map +1 -1
  25. package/locales/bg.js +1 -0
  26. package/locales/bg.js.map +1 -1
  27. package/locales/cs.esm.js +1 -0
  28. package/locales/cs.esm.js.map +1 -1
  29. package/locales/cs.js +1 -0
  30. package/locales/cs.js.map +1 -1
  31. package/locales/da.esm.js +1 -0
  32. package/locales/da.esm.js.map +1 -1
  33. package/locales/da.js +1 -0
  34. package/locales/da.js.map +1 -1
  35. package/locales/de.esm.js +1 -0
  36. package/locales/de.esm.js.map +1 -1
  37. package/locales/de.js +1 -0
  38. package/locales/de.js.map +1 -1
  39. package/locales/es.esm.js +1 -0
  40. package/locales/es.esm.js.map +1 -1
  41. package/locales/es.js +1 -0
  42. package/locales/es.js.map +1 -1
  43. package/locales/et.esm.js +1 -0
  44. package/locales/et.esm.js.map +1 -1
  45. package/locales/et.js +1 -0
  46. package/locales/et.js.map +1 -1
  47. package/locales/fa.esm.js +1 -0
  48. package/locales/fa.esm.js.map +1 -1
  49. package/locales/fa.js +1 -0
  50. package/locales/fa.js.map +1 -1
  51. package/locales/fi.esm.js +1 -0
  52. package/locales/fi.esm.js.map +1 -1
  53. package/locales/fi.js +1 -0
  54. package/locales/fi.js.map +1 -1
  55. package/locales/fr.esm.js +1 -0
  56. package/locales/fr.esm.js.map +1 -1
  57. package/locales/fr.js +1 -0
  58. package/locales/fr.js.map +1 -1
  59. package/locales/hu.esm.js +1 -0
  60. package/locales/hu.esm.js.map +1 -1
  61. package/locales/hu.js +1 -0
  62. package/locales/hu.js.map +1 -1
  63. package/locales/hy.esm.js +1 -0
  64. package/locales/hy.esm.js.map +1 -1
  65. package/locales/hy.js +1 -0
  66. package/locales/hy.js.map +1 -1
  67. package/locales/id.esm.js +1 -0
  68. package/locales/id.esm.js.map +1 -1
  69. package/locales/id.js +1 -0
  70. package/locales/id.js.map +1 -1
  71. package/locales/it.esm.js +1 -0
  72. package/locales/it.esm.js.map +1 -1
  73. package/locales/it.js +1 -0
  74. package/locales/it.js.map +1 -1
  75. package/locales/ja.esm.js +1 -0
  76. package/locales/ja.esm.js.map +1 -1
  77. package/locales/ja.js +1 -0
  78. package/locales/ja.js.map +1 -1
  79. package/locales/ko.esm.js +1 -0
  80. package/locales/ko.esm.js.map +1 -1
  81. package/locales/ko.js +1 -0
  82. package/locales/ko.js.map +1 -1
  83. package/locales/nl.esm.js +1 -0
  84. package/locales/nl.esm.js.map +1 -1
  85. package/locales/nl.js +1 -0
  86. package/locales/nl.js.map +1 -1
  87. package/locales/no.esm.js +1 -0
  88. package/locales/no.esm.js.map +1 -1
  89. package/locales/no.js +1 -0
  90. package/locales/no.js.map +1 -1
  91. package/locales/np.esm.js +1 -1
  92. package/locales/np.esm.js.map +1 -1
  93. package/locales/np.js +1 -1
  94. package/locales/np.js.map +1 -1
  95. package/locales/pl.esm.js +1 -0
  96. package/locales/pl.esm.js.map +1 -1
  97. package/locales/pl.js +1 -0
  98. package/locales/pl.js.map +1 -1
  99. package/locales/pt-BR.esm.js +1 -0
  100. package/locales/pt-BR.esm.js.map +1 -1
  101. package/locales/pt-BR.js +1 -0
  102. package/locales/pt-BR.js.map +1 -1
  103. package/locales/pt.esm.js +1 -0
  104. package/locales/pt.esm.js.map +1 -1
  105. package/locales/pt.js +1 -0
  106. package/locales/pt.js.map +1 -1
  107. package/locales/ro.esm.js +1 -0
  108. package/locales/ro.esm.js.map +1 -1
  109. package/locales/ro.js +1 -0
  110. package/locales/ro.js.map +1 -1
  111. package/locales/ru.esm.js +1 -0
  112. package/locales/ru.esm.js.map +1 -1
  113. package/locales/ru.js +1 -0
  114. package/locales/ru.js.map +1 -1
  115. package/locales/sk.esm.js +1 -0
  116. package/locales/sk.esm.js.map +1 -1
  117. package/locales/sk.js +1 -0
  118. package/locales/sk.js.map +1 -1
  119. package/locales/sr-Cyrl-RS.esm.js +1 -0
  120. package/locales/sr-Cyrl-RS.esm.js.map +1 -1
  121. package/locales/sr-Cyrl-RS.js +1 -0
  122. package/locales/sr-Cyrl-RS.js.map +1 -1
  123. package/locales/sr-Latn-RS.esm.js +1 -0
  124. package/locales/sr-Latn-RS.esm.js.map +1 -1
  125. package/locales/sr-Latn-RS.js +1 -0
  126. package/locales/sr-Latn-RS.js.map +1 -1
  127. package/locales/sv.esm.js +3 -2
  128. package/locales/sv.esm.js.map +1 -1
  129. package/locales/sv.js +3 -2
  130. package/locales/sv.js.map +1 -1
  131. package/locales/tr.esm.js +1 -0
  132. package/locales/tr.esm.js.map +1 -1
  133. package/locales/tr.js +1 -0
  134. package/locales/tr.js.map +1 -1
  135. package/locales/uk.esm.js +1 -0
  136. package/locales/uk.esm.js.map +1 -1
  137. package/locales/uk.js +1 -0
  138. package/locales/uk.js.map +1 -1
  139. package/locales/vi.esm.js +1 -0
  140. package/locales/vi.esm.js.map +1 -1
  141. package/locales/vi.js +1 -0
  142. package/locales/vi.js.map +1 -1
  143. package/locales/zh-Hans.esm.js +1 -0
  144. package/locales/zh-Hans.esm.js.map +1 -1
  145. package/locales/zh-Hans.js +1 -0
  146. package/locales/zh-Hans.js.map +1 -1
  147. package/locales/zh-Hant.esm.js +1 -0
  148. package/locales/zh-Hant.esm.js.map +1 -1
  149. package/locales/zh-Hant.js +1 -0
  150. package/locales/zh-Hant.js.map +1 -1
  151. package/package.json +11 -11
  152. package/src/body/MRT_TableBody.tsx +5 -0
  153. package/src/body/MRT_TableBodyCell.tsx +22 -7
  154. package/src/body/MRT_TableBodyRow.tsx +8 -6
  155. package/src/body/MRT_TableBodyRowGrabHandle.tsx +1 -0
  156. package/src/body/MRT_TableDetailPanel.tsx +1 -2
  157. package/src/body/index.ts +1 -1
  158. package/src/buttons/MRT_ExpandButton.tsx +1 -0
  159. package/src/buttons/MRT_GrabHandleButton.tsx +3 -1
  160. package/src/column.utils.ts +20 -19
  161. package/src/footer/MRT_TableFooterCell.tsx +5 -1
  162. package/src/footer/MRT_TableFooterRow.tsx +2 -2
  163. package/src/head/MRT_TableHead.tsx +5 -1
  164. package/src/head/MRT_TableHeadCell.tsx +32 -19
  165. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +2 -2
  166. package/src/head/MRT_TableHeadCellFilterLabel.tsx +4 -1
  167. package/src/head/MRT_TableHeadCellResizeHandle.tsx +8 -3
  168. package/src/head/MRT_TableHeadCellSortLabel.tsx +18 -12
  169. package/src/head/MRT_TableHeadRow.tsx +2 -2
  170. package/src/hooks/useMRT_DisplayColumns.tsx +20 -0
  171. package/src/icons.ts +3 -0
  172. package/src/inputs/MRT_EditCellTextField.tsx +10 -2
  173. package/src/locales/ar.ts +1 -1
  174. package/src/locales/bg.ts +1 -0
  175. package/src/locales/cs.ts +1 -0
  176. package/src/locales/da.ts +1 -0
  177. package/src/locales/de.ts +1 -0
  178. package/src/locales/es.ts +1 -0
  179. package/src/locales/et.ts +1 -0
  180. package/src/locales/fa.ts +1 -0
  181. package/src/locales/fi.ts +1 -0
  182. package/src/locales/fr.ts +1 -0
  183. package/src/locales/hu.ts +1 -0
  184. package/src/locales/hy.ts +1 -0
  185. package/src/locales/id.ts +1 -0
  186. package/src/locales/it.ts +1 -0
  187. package/src/locales/ja.ts +1 -0
  188. package/src/locales/ko.ts +1 -0
  189. package/src/locales/nl.ts +1 -0
  190. package/src/locales/no.ts +1 -0
  191. package/src/locales/np.ts +3 -2
  192. package/src/locales/pl.ts +1 -0
  193. package/src/locales/pt-BR.ts +1 -0
  194. package/src/locales/pt.ts +1 -0
  195. package/src/locales/ro.ts +1 -0
  196. package/src/locales/ru.ts +1 -0
  197. package/src/locales/sk.ts +1 -0
  198. package/src/locales/sr-Cyrl-RS.ts +1 -0
  199. package/src/locales/sr-Latn-RS.ts +1 -0
  200. package/src/locales/sv.ts +3 -2
  201. package/src/locales/tr.ts +1 -0
  202. package/src/locales/uk.ts +1 -0
  203. package/src/locales/vi.ts +1 -0
  204. package/src/locales/zh-Hans.ts +1 -0
  205. package/src/locales/zh-Hant.ts +1 -0
  206. package/src/table/MRT_Table.tsx +5 -1
  207. package/src/table/MRT_TableContainer.tsx +50 -1
  208. package/src/table/MRT_TablePaper.tsx +1 -1
  209. package/src/toolbar/MRT_LinearProgressBar.tsx +2 -2
  210. package/src/toolbar/MRT_TablePagination.tsx +5 -2
  211. package/src/types.ts +6 -1
@@ -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, }) => {
@@ -528,11 +530,11 @@ const MRT_EditCellTextField = ({ cell, table, }) => {
528
530
  textFieldProps.inputRef = inputRef;
529
531
  }
530
532
  }
531
- }, label: ['custom', 'modal'].includes((isCreating ? createDisplayMode : editDisplayMode))
532
- ? column.columnDef.header
533
+ }, label: !['custom', 'modal'].includes((isCreating ? createDisplayMode : editDisplayMode))
534
+ ? columnDef.header
533
535
  : undefined, margin: "none", name: column.id, placeholder: !['custom', 'modal'].includes((isCreating ? createDisplayMode : editDisplayMode))
534
536
  ? columnDef.header
535
- : undefined, select: isSelectEdit, value: value, variant: "standard" }, textFieldProps, { onBlur: handleBlur, onChange: handleChange, onClick: (e) => {
537
+ : undefined, select: isSelectEdit, value: value, variant: "standard" }, textFieldProps, { InputProps: Object.assign({ disableUnderline: editDisplayMode === 'table' }, textFieldProps.InputProps), inputProps: Object.assign({ autoComplete: 'new-password' }, textFieldProps.inputProps), onBlur: handleBlur, onChange: handleChange, onClick: (e) => {
536
538
  var _a;
537
539
  e.stopPropagation();
538
540
  (_a = textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.onClick) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, e);
@@ -560,7 +562,7 @@ const MRT_TableBodyCell = ({ cell, measureElement, numRows, rowIndex, rowRef, ta
560
562
  var _a, _b, _c, _d;
561
563
  const theme = useTheme();
562
564
  const { getState, options: { createDisplayMode, editDisplayMode, enableClickToCopy, enableColumnOrdering, enableEditing, enableGrouping, enableRowNumbers, layoutMode, muiSkeletonProps, muiTableBodyCellProps, rowNumberMode, }, refs: { editInputRefs }, setEditingCell, setHoveredColumn, } = table;
563
- const { creatingRow, density, draggingColumn, draggingRow, editingCell, editingRow, hoveredColumn, hoveredRow, isLoading, showSkeletons, } = getState();
565
+ const { columnSizingInfo, creatingRow, density, draggingColumn, draggingRow, editingCell, editingRow, hoveredColumn, hoveredRow, isLoading, showSkeletons, } = getState();
564
566
  const { column, row } = cell;
565
567
  const { columnDef } = column;
566
568
  const { columnDefType } = columnDef;
@@ -597,12 +599,17 @@ const MRT_TableBodyCell = ({ cell, measureElement, numRows, rowIndex, rowRef, ta
597
599
  const isHoveredRow = (hoveredRow === null || hoveredRow === void 0 ? void 0 : hoveredRow.id) === row.id;
598
600
  const isFirstColumn = getIsFirstColumn(column, table);
599
601
  const isLastColumn = getIsLastColumn(column, table);
600
- const isLastRow = rowIndex === numRows - 1;
602
+ const isLastRow = numRows && rowIndex === numRows - 1;
601
603
  const borderStyle = isDraggingColumn || isDraggingRow
602
604
  ? `1px dashed ${theme.palette.text.secondary} !important`
603
- : isHoveredColumn || isHoveredRow
605
+ : isHoveredColumn ||
606
+ isHoveredRow ||
607
+ columnSizingInfo.isResizingColumn === column.id
604
608
  ? `2px dashed ${theme.palette.primary.main} !important`
605
609
  : undefined;
610
+ if (columnSizingInfo.isResizingColumn === column.id) {
611
+ return { borderRight: borderStyle };
612
+ }
606
613
  return borderStyle
607
614
  ? {
608
615
  borderBottom: isDraggingRow || isHoveredRow || isLastRow
@@ -621,7 +628,14 @@ const MRT_TableBodyCell = ({ cell, measureElement, numRows, rowIndex, rowRef, ta
621
628
  borderTop: isDraggingRow || isHoveredRow ? borderStyle : undefined,
622
629
  }
623
630
  : undefined;
624
- }, [draggingColumn, draggingRow, hoveredColumn, hoveredRow, rowIndex]);
631
+ }, [
632
+ columnSizingInfo.isResizingColumn,
633
+ draggingColumn,
634
+ draggingRow,
635
+ hoveredColumn,
636
+ hoveredRow,
637
+ rowIndex,
638
+ ]);
625
639
  const isEditable = parseFromValuesOrFunc(enableEditing, row) &&
626
640
  parseFromValuesOrFunc(columnDef.enableEditing, row) !== false;
627
641
  const isEditing = isEditable &&
@@ -666,7 +680,9 @@ const MRT_TableBodyCell = ({ cell, measureElement, numRows, rowIndex, rowRef, ta
666
680
  : undefined,
667
681
  outlineOffset: '-1px',
668
682
  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'
683
+ }, 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'))
684
+ ? tableCellProps.align
685
+ : undefined, overflow: 'hidden', p: density === 'compact'
670
686
  ? columnDefType === 'display'
671
687
  ? '0 0.5rem'
672
688
  : '0.5rem'
@@ -688,7 +704,7 @@ const MRT_TableBodyCell = ({ cell, measureElement, numRows, rowIndex, rowRef, ta
688
704
  table,
689
705
  tableCellProps,
690
706
  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 &&
707
+ })), 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
708
  rowNumberMode === 'static' &&
693
709
  column.id === 'mrt-row-numbers' ? (rowIndex + 1) : column.id === 'mrt-row-drag' ? (jsx(MRT_TableBodyRowGrabHandle, { row: row, rowRef: rowRef, table: table })) : columnDefType === 'display' &&
694
710
  (column.id === 'mrt-row-select' ||
@@ -726,7 +742,7 @@ const MRT_TableDetailPanel = ({ parentRowRef, row, rowIndex, table, virtualRow,
726
742
  : undefined, width: '100%', zIndex: virtualRow ? 2 : undefined }, parseFromValuesOrFunc(tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx, theme)));
727
743
  }, children: jsx(TableCell, Object.assign({ className: "Mui-TableBodyCell-DetailPanel", colSpan: getVisibleLeafColumns().length }, tableCellProps, { sx: (theme) => (Object.assign({ backgroundColor: virtualRow
728
744
  ? lighten(theme.palette.background.default, 0.05)
729
- : undefined, borderBottom: !row.getIsExpanded() ? 'none' : undefined, display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'flex' : 'table-cell', pb: row.getIsExpanded() ? '1rem' : 0, pt: row.getIsExpanded() ? '1rem' : 0, transition: 'all 150ms ease-in-out', width: `${table.getTotalSize()}px` }, parseFromValuesOrFunc(tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx, theme))), children: renderDetailPanel && (jsx(Collapse, { in: row.getIsExpanded(), mountOnEnter: true, unmountOnExit: true, children: !isLoading && renderDetailPanel({ row, table }) })) })) })));
745
+ : undefined, borderBottom: !row.getIsExpanded() ? 'none' : undefined, display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'flex' : 'table-cell', py: row.getIsExpanded() ? '1rem' : 0, transition: 'all 150ms ease-in-out', width: `${table.getTotalSize()}px` }, parseFromValuesOrFunc(tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx, theme))), children: renderDetailPanel && (jsx(Collapse, { in: row.getIsExpanded(), mountOnEnter: true, unmountOnExit: true, children: !isLoading && renderDetailPanel({ row, table }) })) })) })));
730
746
  };
731
747
 
732
748
  const MRT_TableBodyRow = ({ columnVirtualizer, measureElement, numRows, pinnedRowIds, row, rowIndex, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, virtualRow, }) => {
@@ -820,12 +836,12 @@ const MRT_TableBodyRow = ({ columnVirtualizer, measureElement, numRows, pinnedRo
820
836
  ? cellOrVirtualCell
821
837
  : undefined,
822
838
  };
823
- return memoMode === 'cells' &&
839
+ return cell ? (memoMode === 'cells' &&
824
840
  cell.column.columnDef.columnDefType === 'data' &&
825
841
  !draggingColumn &&
826
842
  !draggingRow &&
827
843
  (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));
844
+ (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
845
  }), 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
846
  };
831
847
  const Memo_MRT_TableBodyRow = memo(MRT_TableBodyRow, (prev, next) => prev.row === next.row && prev.rowIndex === next.rowIndex);
@@ -846,8 +862,8 @@ const rankGlobalFuzzy = (rowA, rowB) => Math.max(...Object.values(rowB.columnFil
846
862
 
847
863
  const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
848
864
  var _a, _b, _c, _d, _e, _f;
849
- const { getBottomRows, getCenterRows, getIsSomeRowsPinned, getPrePaginationRowModel, getRowModel, getState, getTopRows, options: { enableGlobalFilterRankedResults, enablePagination, enableRowPinning, enableRowVirtualization, enableStickyFooter, enableStickyHeader, layoutMode, localization, manualExpanding, manualFiltering, manualGrouping, manualPagination, manualSorting, memoMode, muiTableBodyProps, renderEmptyRowsFallback, rowPinningDisplayMode, rowVirtualizerInstanceRef, rowVirtualizerOptions, }, refs: { tableContainerRef, tableFooterRef, tableHeadRef, tablePaperRef }, } = table;
850
- const { columnFilters, density, draggingRow, expanded, globalFilter, isFullScreen, pagination, rowPinning, sorting, } = getState();
865
+ const { getBottomRows, getCenterRows, getIsSomeRowsPinned, getPrePaginationRowModel, getRowModel, getState, getTopRows, options: { createDisplayMode, enableGlobalFilterRankedResults, enablePagination, enableRowPinning, enableRowVirtualization, enableStickyFooter, enableStickyHeader, layoutMode, localization, manualExpanding, manualFiltering, manualGrouping, manualPagination, manualSorting, memoMode, muiTableBodyProps, renderEmptyRowsFallback, rowPinningDisplayMode, rowVirtualizerInstanceRef, rowVirtualizerOptions, }, refs: { tableContainerRef, tableFooterRef, tableHeadRef, tablePaperRef }, } = table;
866
+ const { columnFilters, creatingRow, density, draggingRow, expanded, globalFilter, isFullScreen, pagination, rowPinning, sorting, } = getState();
851
867
  const tableBodyProps = parseFromValuesOrFunc(muiTableBodyProps, { table });
852
868
  const rowVirtualizerProps = parseFromValuesOrFunc(rowVirtualizerOptions, {
853
869
  table,
@@ -930,44 +946,44 @@ const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddin
930
946
  virtualPaddingRight,
931
947
  };
932
948
  return memoMode === 'rows' ? (jsx(Memo_MRT_TableBodyRow, Object.assign({}, props), row.id)) : (jsx(MRT_TableBodyRow, Object.assign({}, props), row.id));
933
- }) }))), jsx(TableBody, Object.assign({}, tableBodyProps, { sx: (theme) => (Object.assign({ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined, height: rowVirtualizer
949
+ }) }))), jsxs(TableBody, Object.assign({}, tableBodyProps, { sx: (theme) => (Object.assign({ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined, height: rowVirtualizer
934
950
  ? `${rowVirtualizer.getTotalSize()}px`
935
- : 'inherit', minHeight: !rows.length ? '100px' : undefined, position: 'relative' }, parseFromValuesOrFunc(tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx, theme))), children: (_c = tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.children) !== null && _c !== void 0 ? _c : (!rows.length ? (jsx("tr", { style: {
936
- display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined,
937
- }, children: jsx("td", { colSpan: table.getVisibleLeafColumns().length, style: {
938
- display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid'))
939
- ? 'grid'
940
- : 'table-cell',
941
- }, children: (_d = renderEmptyRowsFallback === null || renderEmptyRowsFallback === void 0 ? void 0 : renderEmptyRowsFallback({ table })) !== null && _d !== void 0 ? _d : (jsx(Typography, { sx: {
942
- color: 'text.secondary',
943
- fontStyle: 'italic',
944
- maxWidth: `min(100vw, ${(_f = (_e = tablePaperRef.current) === null || _e === void 0 ? void 0 : _e.clientWidth) !== null && _f !== void 0 ? _f : 360}px)`,
945
- py: '2rem',
946
- textAlign: 'center',
947
- width: '100%',
948
- }, children: globalFilter || columnFilters.length
949
- ? localization.noResultsFound
950
- : localization.noRecordsToDisplay })) }) })) : (jsx(Fragment, { children: (virtualRows !== null && virtualRows !== void 0 ? virtualRows : rows).map((rowOrVirtualRow, rowIndex) => {
951
- const row = rowVirtualizer
952
- ? rows[rowOrVirtualRow.index]
953
- : rowOrVirtualRow;
954
- const props = {
955
- columnVirtualizer,
956
- measureElement: rowVirtualizer === null || rowVirtualizer === void 0 ? void 0 : rowVirtualizer.measureElement,
957
- numRows: rows.length,
958
- pinnedRowIds,
959
- row,
960
- rowIndex: rowVirtualizer ? rowOrVirtualRow.index : rowIndex,
961
- table,
962
- virtualColumns,
963
- virtualPaddingLeft,
964
- virtualPaddingRight,
965
- virtualRow: rowVirtualizer
966
- ? rowOrVirtualRow
967
- : undefined,
968
- };
969
- return memoMode === 'rows' ? (jsx(Memo_MRT_TableBodyRow, Object.assign({}, props), row.id)) : (jsx(MRT_TableBodyRow, Object.assign({}, props), row.id));
970
- }) }))) })), !(rowPinningDisplayMode === null || rowPinningDisplayMode === void 0 ? void 0 : rowPinningDisplayMode.includes('sticky')) &&
951
+ : 'inherit', minHeight: !rows.length ? '100px' : undefined, position: 'relative' }, parseFromValuesOrFunc(tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx, theme))), children: [creatingRow && createDisplayMode === 'row' && (jsx(MRT_TableBodyRow, { row: creatingRow, rowIndex: -1, table: table })), (_c = tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.children) !== null && _c !== void 0 ? _c : (!rows.length ? (jsx("tr", { style: {
952
+ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined,
953
+ }, children: jsx("td", { colSpan: table.getVisibleLeafColumns().length, style: {
954
+ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid'))
955
+ ? 'grid'
956
+ : 'table-cell',
957
+ }, children: (_d = renderEmptyRowsFallback === null || renderEmptyRowsFallback === void 0 ? void 0 : renderEmptyRowsFallback({ table })) !== null && _d !== void 0 ? _d : (jsx(Typography, { sx: {
958
+ color: 'text.secondary',
959
+ fontStyle: 'italic',
960
+ maxWidth: `min(100vw, ${(_f = (_e = tablePaperRef.current) === null || _e === void 0 ? void 0 : _e.clientWidth) !== null && _f !== void 0 ? _f : 360}px)`,
961
+ py: '2rem',
962
+ textAlign: 'center',
963
+ width: '100%',
964
+ }, children: globalFilter || columnFilters.length
965
+ ? localization.noResultsFound
966
+ : localization.noRecordsToDisplay })) }) })) : (jsx(Fragment, { children: (virtualRows !== null && virtualRows !== void 0 ? virtualRows : rows).map((rowOrVirtualRow, rowIndex) => {
967
+ const row = rowVirtualizer
968
+ ? rows[rowOrVirtualRow.index]
969
+ : rowOrVirtualRow;
970
+ const props = {
971
+ columnVirtualizer,
972
+ measureElement: rowVirtualizer === null || rowVirtualizer === void 0 ? void 0 : rowVirtualizer.measureElement,
973
+ numRows: rows.length,
974
+ pinnedRowIds,
975
+ row,
976
+ rowIndex: rowVirtualizer ? rowOrVirtualRow.index : rowIndex,
977
+ table,
978
+ virtualColumns,
979
+ virtualPaddingLeft,
980
+ virtualPaddingRight,
981
+ virtualRow: rowVirtualizer
982
+ ? rowOrVirtualRow
983
+ : undefined,
984
+ };
985
+ return memoMode === 'rows' ? (jsx(Memo_MRT_TableBodyRow, Object.assign({}, props), row.id)) : (jsx(MRT_TableBodyRow, Object.assign({}, props), row.id));
986
+ }) })))] })), !(rowPinningDisplayMode === null || rowPinningDisplayMode === void 0 ? void 0 : rowPinningDisplayMode.includes('sticky')) &&
971
987
  getIsSomeRowsPinned('bottom') && (jsx(TableBody, Object.assign({}, tableBodyProps, { sx: (theme) => (Object.assign({ bottom: tableFooterHeight - 1, display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined, position: 'sticky', zIndex: 1 }, parseFromValuesOrFunc(tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx, theme))), children: getBottomRows().map((row, rowIndex) => {
972
988
  const props = {
973
989
  columnVirtualizer,
@@ -1007,7 +1023,11 @@ const MRT_TableFooterCell = ({ footer, table, }) => {
1007
1023
  theme,
1008
1024
  }))), children: jsx(Fragment, { children: footer.isPlaceholder
1009
1025
  ? null
1010
- : (_b = (_a = parseFromValuesOrFunc(columnDef.Footer, { column, footer, table })) !== null && _a !== void 0 ? _a : columnDef.footer) !== null && _b !== void 0 ? _b : null }) })));
1026
+ : (_b = (_a = parseFromValuesOrFunc(columnDef.Footer, {
1027
+ column,
1028
+ footer,
1029
+ table,
1030
+ })) !== null && _a !== void 0 ? _a : columnDef.footer) !== null && _b !== void 0 ? _b : null }) })));
1011
1031
  };
1012
1032
 
1013
1033
  const MRT_TableFooterRow = ({ footerGroup, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
@@ -1026,7 +1046,7 @@ const MRT_TableFooterRow = ({ footerGroup, table, virtualColumns, virtualPadding
1026
1046
  const footer = virtualColumns
1027
1047
  ? footerGroup.headers[footerOrVirtualFooter.index]
1028
1048
  : footerOrVirtualFooter;
1029
- return (jsx(MRT_TableFooterCell, { footer: footer, table: table }, footer.id));
1049
+ return footer ? (jsx(MRT_TableFooterCell, { footer: footer, table: table }, footer.id)) : null;
1030
1050
  }), virtualPaddingRight ? (jsx("th", { style: { display: 'flex', width: virtualPaddingRight } })) : null] })));
1031
1051
  };
1032
1052
 
@@ -1399,7 +1419,7 @@ const MRT_TableHeadCellColumnActionsButton = ({ header, table, }) => {
1399
1419
  }));
1400
1420
  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
1421
  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 }))] }));
1422
+ }, 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
1423
  };
1404
1424
 
1405
1425
  const MRT_FilterCheckbox = ({ column, table, }) => {
@@ -1788,11 +1808,13 @@ const MRT_TableHeadCellFilterLabel = ({ header, table, }) => {
1788
1808
  (_b = filterInputRefs.current[`${column.id}-0`]) === null || _b === void 0 ? void 0 : _b.select();
1789
1809
  });
1790
1810
  event.stopPropagation();
1791
- }, sx: {
1811
+ }, size: "small", sx: {
1792
1812
  height: '16px',
1793
- opacity: 0.8,
1813
+ ml: '4px',
1814
+ opacity: isFilterActive ? 1 : 0.3,
1794
1815
  p: '8px',
1795
1816
  transform: 'scale(0.75)',
1817
+ transition: 'all 150ms ease-in-out',
1796
1818
  width: '16px',
1797
1819
  }, children: jsx(FilterAltIcon, {}) }) }) }) }), jsx(Popover, { anchorEl: anchorEl, anchorOrigin: {
1798
1820
  horizontal: 'center',
@@ -1853,13 +1875,17 @@ const MRT_TableHeadCellResizeHandle = ({ header, table, }) => {
1853
1875
  }, sx: (theme) => ({
1854
1876
  '&:active > hr': {
1855
1877
  backgroundColor: theme.palette.info.main,
1856
- opacity: 1,
1878
+ opacity: header.subHeaders.length ? 1 : 0,
1857
1879
  },
1858
1880
  cursor: 'col-resize',
1859
- mr: density === 'compact' ? '-0.75rem' : '-1rem',
1881
+ mr: density === 'compact'
1882
+ ? '-12px'
1883
+ : density === 'comfortable'
1884
+ ? '-20px'
1885
+ : '-28px',
1860
1886
  position: 'absolute',
1861
1887
  px: '4px',
1862
- right: '4px',
1888
+ right: '0',
1863
1889
  }), children: jsx(Divider, { className: "Mui-TableHeadCell-ResizeHandle-Divider", flexItem: true, orientation: "vertical", sx: {
1864
1890
  borderRadius: '2px',
1865
1891
  borderWidth: '2px',
@@ -1873,11 +1899,12 @@ const MRT_TableHeadCellResizeHandle = ({ header, table, }) => {
1873
1899
  } }) }));
1874
1900
  };
1875
1901
 
1876
- const MRT_TableHeadCellSortLabel = ({ header, table, tableCellProps, }) => {
1877
- const { getState, options: { icons: { ArrowDownwardIcon }, localization, }, } = table;
1902
+ const MRT_TableHeadCellSortLabel = ({ header, table, }) => {
1903
+ const { getState, options: { icons: { ArrowDownwardIcon, SyncAltIcon }, localization, }, } = table;
1878
1904
  const { column } = header;
1879
1905
  const { columnDef } = column;
1880
1906
  const { sorting } = getState();
1907
+ const isSorted = !!column.getIsSorted();
1881
1908
  const sortTooltip = column.getIsSorted()
1882
1909
  ? column.getIsSorted() === 'desc'
1883
1910
  ? localization.sortedByColumnDesc.replace('{column}', columnDef.header)
@@ -1885,18 +1912,17 @@ const MRT_TableHeadCellSortLabel = ({ header, table, tableCellProps, }) => {
1885
1912
  : column.getNextSortingOrder() === 'desc'
1886
1913
  ? localization.sortByColumnDesc.replace('{column}', columnDef.header)
1887
1914
  : 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) => {
1915
+ 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
1916
+ ? (props) => (jsx(SyncAltIcon, Object.assign({}, props, { style: { transform: 'rotate(-90deg) scaleX(0.8)' } })))
1917
+ : ArrowDownwardIcon, active: true, "aria-label": sortTooltip, direction: isSorted ? column.getIsSorted() : undefined, onClick: (e) => {
1891
1918
  var _a;
1892
1919
  e.stopPropagation();
1893
1920
  (_a = header.column.getToggleSortingHandler()) === null || _a === void 0 ? void 0 : _a(e);
1894
1921
  }, sx: {
1895
1922
  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',
1923
+ opacity: isSorted ? 1 : 0.3,
1924
+ transition: 'all 150ms ease-in-out',
1925
+ width: '3ch',
1900
1926
  } }) }) }));
1901
1927
  };
1902
1928
 
@@ -1904,7 +1930,7 @@ const MRT_TableHeadCell = ({ header, table, }) => {
1904
1930
  var _a, _b, _c, _d, _f;
1905
1931
  const theme = useTheme();
1906
1932
  const { getState, options: { columnFilterDisplayMode, enableColumnActions, enableColumnDragging, enableColumnOrdering, enableGrouping, enableMultiSort, layoutMode, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
1907
- const { density, draggingColumn, grouping, hoveredColumn, showColumnFilters, } = getState();
1933
+ const { columnSizingInfo, density, draggingColumn, grouping, hoveredColumn, showColumnFilters, } = getState();
1908
1934
  const { column } = header;
1909
1935
  const { columnDef } = column;
1910
1936
  const { columnDefType } = columnDef;
@@ -1924,25 +1950,34 @@ const MRT_TableHeadCell = ({ header, table, }) => {
1924
1950
  const headerPL = useMemo(() => {
1925
1951
  let pl = 0;
1926
1952
  if (column.getCanSort())
1927
- pl++;
1953
+ pl += 1;
1928
1954
  if (showColumnActions)
1929
1955
  pl += 1.75;
1930
1956
  if (showDragHandle)
1931
- pl += 1.25;
1957
+ pl += 1.5;
1932
1958
  return pl;
1933
1959
  }, [showColumnActions, showDragHandle]);
1934
- const draggingBorder = useMemo(() => (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id) === column.id
1935
- ? `1px dashed ${theme.palette.text.secondary}`
1936
- : (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === column.id
1937
- ? `2px dashed ${theme.palette.primary.main}`
1938
- : undefined, [draggingColumn, hoveredColumn]);
1939
- const draggingBorders = draggingBorder
1940
- ? {
1941
- borderLeft: draggingBorder,
1942
- borderRight: draggingBorder,
1943
- borderTop: draggingBorder,
1960
+ const draggingBorders = useMemo(() => {
1961
+ const borderStyle = columnSizingInfo.isResizingColumn === column.id &&
1962
+ !header.subHeaders.length
1963
+ ? `2px solid ${theme.palette.primary.main} !important`
1964
+ : (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id) === column.id
1965
+ ? `1px dashed ${theme.palette.text.secondary}`
1966
+ : (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === column.id
1967
+ ? `2px dashed ${theme.palette.primary.main}`
1968
+ : undefined;
1969
+ if (columnSizingInfo.isResizingColumn === column.id) {
1970
+ return { borderRight: borderStyle };
1944
1971
  }
1945
- : undefined;
1972
+ const draggingBorders = borderStyle
1973
+ ? {
1974
+ borderLeft: borderStyle,
1975
+ borderRight: borderStyle,
1976
+ borderTop: borderStyle,
1977
+ }
1978
+ : undefined;
1979
+ return draggingBorders;
1980
+ }, [draggingColumn, hoveredColumn, columnSizingInfo.isResizingColumn]);
1946
1981
  const handleDragEnter = (_e) => {
1947
1982
  if (enableGrouping && (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === 'drop-zone') {
1948
1983
  setHoveredColumn(null);
@@ -1960,7 +1995,11 @@ const MRT_TableHeadCell = ({ header, table, }) => {
1960
1995
  if (node) {
1961
1996
  tableHeadCellRefs.current[column.id] = node;
1962
1997
  }
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'
1998
+ } }, tableCellProps, { sx: (theme) => (Object.assign(Object.assign({ '& :hover': {
1999
+ '.MuiButtonBase-root': {
2000
+ opacity: 1,
2001
+ },
2002
+ }, flexDirection: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'column' : undefined, fontWeight: 'bold', overflow: 'visible', p: density === 'compact'
1964
2003
  ? '0.5rem'
1965
2004
  : density === 'comfortable'
1966
2005
  ? columnDefType === 'display'
@@ -2012,11 +2051,11 @@ const MRT_TableHeadCell = ({ header, table, }) => {
2012
2051
  '&:hover': {
2013
2052
  textOverflow: 'clip',
2014
2053
  },
2015
- minWidth: `${Math.min((_c = (_b = columnDef.header) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, 5)}ch`,
2054
+ minWidth: `${Math.min((_c = (_b = columnDef.header) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, 4)}ch`,
2016
2055
  overflow: columnDefType === 'data' ? 'hidden' : undefined,
2017
2056
  textOverflow: 'ellipsis',
2018
2057
  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: {
2058
+ }, 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
2059
  current: tableHeadCellRefs.current[column.id],
2021
2060
  } })), 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
2061
  };
@@ -2031,18 +2070,18 @@ const MRT_TableHeadRow = ({ headerGroup, table, virtualColumns, virtualPaddingLe
2031
2070
  const header = virtualColumns
2032
2071
  ? headerGroup.headers[headerOrVirtualHeader.index]
2033
2072
  : headerOrVirtualHeader;
2034
- return (jsx(MRT_TableHeadCell, { header: header, table: table }, header.id));
2073
+ return header ? (jsx(MRT_TableHeadCell, { header: header, table: table }, header.id)) : null;
2035
2074
  }), virtualPaddingRight ? (jsx("th", { style: { display: 'flex', width: virtualPaddingRight } })) : null] })));
2036
2075
  };
2037
2076
 
2038
2077
  const MRT_LinearProgressBar = ({ isTopToolbar, table, }) => {
2039
2078
  const { getState, options: { muiLinearProgressProps }, } = table;
2040
- const { isLoading, showProgressBars } = getState();
2079
+ const { showProgressBars } = getState();
2041
2080
  const linearProgressProps = parseFromValuesOrFunc(muiLinearProgressProps, {
2042
2081
  isTopToolbar,
2043
2082
  table,
2044
2083
  });
2045
- return (jsx(Collapse, { in: isLoading || showProgressBars, mountOnEnter: true, sx: {
2084
+ return (jsx(Collapse, { in: showProgressBars, mountOnEnter: true, sx: {
2046
2085
  bottom: isTopToolbar ? 0 : undefined,
2047
2086
  position: 'absolute',
2048
2087
  top: !isTopToolbar ? 0 : undefined,
@@ -2093,8 +2132,9 @@ const MRT_TablePagination = ({ position = 'bottom', table, }) => {
2093
2132
  return (jsxs(Box, { sx: {
2094
2133
  alignItems: 'center',
2095
2134
  display: 'flex',
2135
+ flexWrap: 'wrap',
2096
2136
  gap: '8px',
2097
- justifyContent: 'space-between',
2137
+ justifyContent: { md: 'space-between', sm: 'center' },
2098
2138
  justifySelf: 'flex-end',
2099
2139
  mt: position === 'top' &&
2100
2140
  enableToolbarInternalActions &&
@@ -2105,12 +2145,12 @@ const MRT_TablePagination = ({ position = 'bottom', table, }) => {
2105
2145
  px: '4px',
2106
2146
  py: '12px',
2107
2147
  zIndex: 2,
2108
- }, children: [showRowsPerPage && (jsxs(Box, { sx: { alignItems: 'center', display: 'flex', gap: '8px' }, children: [jsx(InputLabel, { htmlFor: "mrt-rows-per-page", sx: { mb: 0 }, children: localization.rowsPerPage }), jsx(Select, { id: "mrt-rows-per-page", inputProps: { 'aria-label': localization.rowsPerPage }, label: localization.rowsPerPage, onChange: (event) => setPageSize(+event.target.value), sx: { '&::before': { border: 'none' }, mb: 0 }, value: pageSize, variant: "standard", children: rowsPerPageOptions.map((value) => (jsx(MenuItem, { sx: { m: 0 }, value: value, children: value }, value))) })] })), paginationDisplayMode === 'pages' ? (jsx(Pagination, Object.assign({ count: numberOfPages, onChange: (_e, newPageIndex) => setPageIndex(newPageIndex - 1), page: pageIndex + 1, renderItem: (item) => (jsx(PaginationItem, Object.assign({ slots: {
2148
+ }, children: [showRowsPerPage && (jsxs(Box, { sx: { alignItems: 'center', display: 'flex', gap: '8px' }, children: [jsx(InputLabel, { htmlFor: "mrt-rows-per-page", sx: { mb: 0 }, children: localization.rowsPerPage }), jsx(Select, { disableUnderline: true, id: "mrt-rows-per-page", inputProps: { 'aria-label': localization.rowsPerPage }, label: localization.rowsPerPage, onChange: (event) => setPageSize(+event.target.value), sx: { mb: 0 }, value: pageSize, variant: "standard", children: rowsPerPageOptions.map((value) => (jsx(MenuItem, { sx: { m: 0 }, value: value, children: value }, value))) })] })), paginationDisplayMode === 'pages' ? (jsx(Pagination, Object.assign({ count: numberOfPages, onChange: (_e, newPageIndex) => setPageIndex(newPageIndex - 1), page: pageIndex + 1, renderItem: (item) => (jsx(PaginationItem, Object.assign({ slots: {
2109
2149
  first: FirstPageIcon,
2110
2150
  last: LastPageIcon,
2111
2151
  next: ChevronRightIcon,
2112
2152
  previous: ChevronLeftIcon,
2113
- } }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, rest))) : paginationDisplayMode === 'default' ? (jsxs(Fragment, { children: [jsx(Typography, { sx: { mb: 0, minWidth: '10ch', mx: '4px' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxs(Box, { gap: "xs", children: [showFirstButton && (jsx(IconButton, { "aria-label": localization.goToFirstPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(0), size: "small", children: jsx(FirstPageIcon, {}) })), jsx(IconButton, { "aria-label": localization.goToPreviousPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(pageIndex - 1), size: "small", children: jsx(ChevronLeftIcon, {}) }), jsx(IconButton, { "aria-label": localization.goToNextPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(pageIndex + 1), size: "small", children: jsx(ChevronRightIcon, {}) }), showLastButton && (jsx(IconButton, { "aria-label": localization.goToLastPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(numberOfPages - 1), size: "small", children: jsx(LastPageIcon, {}) }))] })] })) : null] }));
2153
+ } }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, rest))) : paginationDisplayMode === 'default' ? (jsxs(Fragment, { children: [jsx(Typography, { align: "center", sx: { mb: 0, minWidth: '10ch', mx: '4px' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxs(Box, { gap: "xs", children: [showFirstButton && (jsx(IconButton, { "aria-label": localization.goToFirstPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(0), size: "small", children: jsx(FirstPageIcon, {}) })), jsx(IconButton, { "aria-label": localization.goToPreviousPage, disabled: pageIndex <= 0, onClick: () => setPageIndex(pageIndex - 1), size: "small", children: jsx(ChevronLeftIcon, {}) }), jsx(IconButton, { "aria-label": localization.goToNextPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(pageIndex + 1), size: "small", children: jsx(ChevronRightIcon, {}) }), showLastButton && (jsx(IconButton, { "aria-label": localization.goToLastPage, disabled: lastRowIndex >= totalRowCount, onClick: () => setPageIndex(numberOfPages - 1), size: "small", children: jsx(LastPageIcon, {}) }))] })] })) : null] }));
2114
2154
  };
2115
2155
 
2116
2156
  const MRT_GlobalFilterTextField = ({ table, }) => {
@@ -2564,7 +2604,9 @@ const MRT_TableHead = ({ table, virtualColumns, virtualPaddingLeft, virtualPaddi
2564
2604
  tableHeadProps.ref.current = ref;
2565
2605
  }
2566
2606
  }, 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: {
2607
+ (showAlertBanner || getSelectedRowModel().rows.length > 0) ? (jsx("tr", { style: {
2608
+ display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : undefined,
2609
+ }, children: jsx("th", { colSpan: table.getVisibleLeafColumns().length, style: {
2568
2610
  display: (layoutMode === null || layoutMode === void 0 ? void 0 : layoutMode.startsWith('grid')) ? 'grid' : 'table-cell',
2569
2611
  padding: 0,
2570
2612
  }, 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 +2775,14 @@ const MRT_EditRowModal = ({ open, table, }) => {
2733
2775
 
2734
2776
  const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
2735
2777
  const MRT_TableContainer = ({ table, }) => {
2736
- const { getState, options: { createDisplayMode, editDisplayMode, enableStickyHeader, muiTableContainerProps, }, refs: { bottomToolbarRef, tableContainerRef, topToolbarRef }, } = table;
2737
- const { creatingRow, editingRow, isFullScreen } = getState();
2778
+ const { getState, options: { createDisplayMode, editDisplayMode, enableStickyHeader, localization, muiCircularProgressProps, muiTableContainerProps, }, refs: { bottomToolbarRef, tableContainerRef, topToolbarRef }, } = table;
2779
+ const { creatingRow, editingRow, isFullScreen, isLoading, showLoadingOverlay, } = getState();
2780
+ const loading = (isLoading || showLoadingOverlay) && showLoadingOverlay !== false;
2738
2781
  const [totalToolbarHeight, setTotalToolbarHeight] = useState(0);
2739
2782
  const tableContainerProps = parseFromValuesOrFunc(muiTableContainerProps, {
2740
2783
  table,
2741
2784
  });
2785
+ const circularProgressProps = parseFromValuesOrFunc(muiCircularProgressProps, { table });
2742
2786
  useIsomorphicLayoutEffect(() => {
2743
2787
  var _a, _b, _c, _d;
2744
2788
  const topToolbarHeight = typeof document !== 'undefined'
@@ -2751,7 +2795,7 @@ const MRT_TableContainer = ({ table, }) => {
2751
2795
  });
2752
2796
  const createModalOpen = createDisplayMode === 'modal' && creatingRow;
2753
2797
  const editModalOpen = editDisplayMode === 'modal' && editingRow;
2754
- return (jsxs(TableContainer, Object.assign({}, tableContainerProps, { ref: (node) => {
2798
+ return (jsxs(TableContainer, Object.assign({ "aria-busy": loading, "aria-describedby": "mrt-progress" }, tableContainerProps, { ref: (node) => {
2755
2799
  if (node) {
2756
2800
  tableContainerRef.current = node;
2757
2801
  if (tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.ref) {
@@ -2763,7 +2807,20 @@ const MRT_TableContainer = ({ table, }) => {
2763
2807
  ? `calc(100vh - ${totalToolbarHeight}px)`
2764
2808
  : undefined }, tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.style), sx: (theme) => (Object.assign({ maxHeight: enableStickyHeader
2765
2809
  ? `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 }))] })));
2810
+ : undefined, maxWidth: '100%', overflow: 'auto', position: 'relative' }, parseFromValuesOrFunc(tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.sx, theme))), children: [loading ? (jsx(Box, { sx: (theme) => ({
2811
+ alignItems: 'center',
2812
+ backgroundColor: alpha(lighten(theme.palette.background.paper, 0.05), 0.5),
2813
+ bottom: 0,
2814
+ display: 'flex',
2815
+ justifyContent: 'center',
2816
+ left: 0,
2817
+ maxHeight: '100vh',
2818
+ position: 'absolute',
2819
+ right: 0,
2820
+ top: 0,
2821
+ width: '100%',
2822
+ zIndex: 2,
2823
+ }), 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
2824
  };
2768
2825
 
2769
2826
  const MRT_TablePaper = ({ table, }) => {
@@ -2790,7 +2847,7 @@ const MRT_TablePaper = ({ table, }) => {
2790
2847
  right: 0,
2791
2848
  top: 0,
2792
2849
  width: '100vw',
2793
- zIndex: 10,
2850
+ zIndex: 9999,
2794
2851
  }
2795
2852
  : {})), tablePaperProps === null || tablePaperProps === void 0 ? void 0 : tablePaperProps.style), sx: (theme) => (Object.assign({ overflow: 'hidden', transition: 'all 100ms ease-in-out' }, parseFromValuesOrFunc(tablePaperProps === null || tablePaperProps === void 0 ? void 0 : tablePaperProps.sx, theme))), children: [enableTopToolbar &&
2796
2853
  ((_a = parseFromValuesOrFunc(renderTopToolbar, { table })) !== null && _a !== void 0 ? _a : (jsx(MRT_TopToolbar, { table: table }))), jsx(MRT_TableContainer, { table: table }), enableBottomToolbar &&
@@ -2867,7 +2924,7 @@ const MRT_ExpandButton = ({ row, table, }) => {
2867
2924
  };
2868
2925
  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
2926
  ? 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: {
2927
+ : 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
2928
  transform: `rotate(${!canExpand && !renderDetailPanel ? -90 : isExpanded ? -180 : 0}deg)`,
2872
2929
  transition: 'transform 150ms',
2873
2930
  } })) })) }) }));
@@ -2917,10 +2974,18 @@ const MRT_ToggleRowActionMenuButton = ({ cell, row, table, }) => {
2917
2974
  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
2975
  };
2919
2976
 
2977
+ const blankColProps = {
2978
+ sx: {
2979
+ flex: '1 0 auto',
2980
+ minWidth: 0,
2981
+ p: 0,
2982
+ width: 0,
2983
+ },
2984
+ };
2920
2985
  const useMRT_DisplayColumns = ({ columnOrder, creatingRow, grouping, tableOptions, }) => {
2921
2986
  var _a, _b;
2922
2987
  return useMemo(() => {
2923
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
2988
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
2924
2989
  return [
2925
2990
  ((_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
2991
  ((_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 +3000,14 @@ const useMRT_DisplayColumns = ({ columnOrder, creatingRow, grouping, tableOption
2935
3000
  ? ({ table }) => jsx(MRT_SelectCheckbox, { selectAll: true, table: table })
2936
3001
  : 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
3002
  ((_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' }),
3003
+ ((_x = (_w = tableOptions.state) === null || _w === void 0 ? void 0 : _w.columnOrder) !== null && _x !== void 0 ? _x : columnOrder).includes('mrt-row-spacer') && {
3004
+ columnDefType: 'display',
3005
+ header: '',
3006
+ id: 'spacer',
3007
+ muiTableBodyCellProps: blankColProps,
3008
+ muiTableFooterCellProps: blankColProps,
3009
+ muiTableHeadCellProps: blankColProps,
3010
+ },
2938
3011
  ].filter(Boolean);
2939
3012
  }, [
2940
3013
  columnOrder,
@@ -3325,6 +3398,7 @@ const MRT_Default_Icons = {
3325
3398
  SearchIcon,
3326
3399
  SearchOffIcon,
3327
3400
  SortIcon,
3401
+ SyncAltIcon,
3328
3402
  ViewColumnIcon,
3329
3403
  VisibilityOffIcon,
3330
3404
  };