material-react-table 2.0.4 → 2.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. package/dist/index.d.ts +4 -2
  2. package/dist/index.esm.js +572 -533
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.js +571 -532
  5. package/dist/index.js.map +1 -1
  6. package/dist/types/MaterialReactTable.d.ts +7 -0
  7. package/dist/types/aggregationFns.d.ts +11 -0
  8. package/dist/types/body/MRT_TableBody.d.ts +13 -0
  9. package/dist/types/body/MRT_TableBodyCell.d.ts +15 -0
  10. package/dist/types/body/MRT_TableBodyCellValue.d.ts +8 -0
  11. package/dist/types/body/MRT_TableBodyRow.d.ts +18 -0
  12. package/dist/types/body/MRT_TableBodyRowGrabHandle.d.ts +10 -0
  13. package/dist/types/body/MRT_TableBodyRowPinButton.d.ts +8 -0
  14. package/dist/types/body/MRT_TableDetailPanel.d.ts +13 -0
  15. package/dist/types/body/index.d.ts +7 -0
  16. package/dist/types/buttons/MRT_ColumnPinningButtons.d.ts +8 -0
  17. package/dist/types/buttons/MRT_CopyButton.d.ts +8 -0
  18. package/dist/types/buttons/MRT_EditActionButtons.d.ts +9 -0
  19. package/dist/types/buttons/MRT_ExpandAllButton.d.ts +7 -0
  20. package/dist/types/buttons/MRT_ExpandButton.d.ts +8 -0
  21. package/dist/types/buttons/MRT_GrabHandleButton.d.ts +12 -0
  22. package/dist/types/buttons/MRT_RowPinButton.d.ts +10 -0
  23. package/dist/types/buttons/MRT_ShowHideColumnsButton.d.ts +7 -0
  24. package/dist/types/buttons/MRT_ToggleDensePaddingButton.d.ts +7 -0
  25. package/dist/types/buttons/MRT_ToggleFiltersButton.d.ts +7 -0
  26. package/dist/types/buttons/MRT_ToggleFullScreenButton.d.ts +7 -0
  27. package/dist/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +7 -0
  28. package/dist/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +9 -0
  29. package/dist/types/buttons/index.d.ts +13 -0
  30. package/dist/types/column.utils.d.ts +127 -0
  31. package/dist/types/filterFns.d.ts +69 -0
  32. package/dist/types/footer/MRT_TableFooter.d.ts +11 -0
  33. package/dist/types/footer/MRT_TableFooterCell.d.ts +8 -0
  34. package/dist/types/footer/MRT_TableFooterRow.d.ts +12 -0
  35. package/dist/types/footer/index.d.ts +3 -0
  36. package/dist/types/head/MRT_TableHead.d.ts +11 -0
  37. package/dist/types/head/MRT_TableHeadCell.d.ts +8 -0
  38. package/dist/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +8 -0
  39. package/dist/types/head/MRT_TableHeadCellFilterContainer.d.ts +8 -0
  40. package/dist/types/head/MRT_TableHeadCellFilterLabel.d.ts +8 -0
  41. package/dist/types/head/MRT_TableHeadCellGrabHandle.d.ts +10 -0
  42. package/dist/types/head/MRT_TableHeadCellResizeHandle.d.ts +8 -0
  43. package/dist/types/head/MRT_TableHeadCellSortLabel.d.ts +8 -0
  44. package/dist/types/head/MRT_TableHeadRow.d.ts +12 -0
  45. package/dist/types/head/index.d.ts +9 -0
  46. package/dist/types/hooks/index.d.ts +4 -0
  47. package/dist/types/hooks/useMRT_DisplayColumns.d.ts +9 -0
  48. package/dist/types/hooks/useMRT_Effects.d.ts +2 -0
  49. package/dist/types/hooks/useMRT_TableInstance.d.ts +2 -0
  50. package/dist/types/hooks/useMRT_TableOptions.d.ts +22 -0
  51. package/dist/types/icons.d.ts +36 -0
  52. package/dist/types/index.d.ts +18 -0
  53. package/dist/types/inputs/MRT_EditCellTextField.d.ts +8 -0
  54. package/dist/types/inputs/MRT_FilterCheckbox.d.ts +8 -0
  55. package/dist/types/inputs/MRT_FilterRangeFields.d.ts +8 -0
  56. package/dist/types/inputs/MRT_FilterRangeSlider.d.ts +8 -0
  57. package/dist/types/inputs/MRT_FilterTextField.d.ts +9 -0
  58. package/dist/types/inputs/MRT_GlobalFilterTextField.d.ts +7 -0
  59. package/dist/types/inputs/MRT_SelectCheckbox.d.ts +9 -0
  60. package/dist/types/inputs/index.d.ts +7 -0
  61. package/dist/types/locales/am.d.ts +2 -0
  62. package/dist/types/locales/ar.d.ts +2 -0
  63. package/dist/types/locales/az.d.ts +2 -0
  64. package/dist/types/locales/bg.d.ts +2 -0
  65. package/dist/types/locales/cs.d.ts +2 -0
  66. package/dist/types/locales/da.d.ts +2 -0
  67. package/dist/types/locales/de.d.ts +2 -0
  68. package/dist/types/locales/en.d.ts +2 -0
  69. package/dist/types/locales/es.d.ts +2 -0
  70. package/dist/types/locales/et.d.ts +2 -0
  71. package/dist/types/locales/fa.d.ts +2 -0
  72. package/dist/types/locales/fi.d.ts +2 -0
  73. package/dist/types/locales/fr.d.ts +2 -0
  74. package/dist/types/locales/he.d.ts +2 -0
  75. package/dist/types/locales/hu.d.ts +2 -0
  76. package/dist/types/locales/hy.d.ts +2 -0
  77. package/dist/types/locales/id.d.ts +2 -0
  78. package/dist/types/locales/it.d.ts +2 -0
  79. package/dist/types/locales/ja.d.ts +2 -0
  80. package/dist/types/locales/ko.d.ts +2 -0
  81. package/dist/types/locales/nl.d.ts +2 -0
  82. package/dist/types/locales/no.d.ts +2 -0
  83. package/dist/types/locales/np.d.ts +2 -0
  84. package/dist/types/locales/pl.d.ts +2 -0
  85. package/dist/types/locales/pt-BR.d.ts +2 -0
  86. package/dist/types/locales/pt.d.ts +2 -0
  87. package/dist/types/locales/ro.d.ts +2 -0
  88. package/dist/types/locales/ru.d.ts +2 -0
  89. package/dist/types/locales/sk.d.ts +2 -0
  90. package/dist/types/locales/sr-Cyrl-RS.d.ts +2 -0
  91. package/dist/types/locales/sr-Latn-RS.d.ts +2 -0
  92. package/dist/types/locales/sv.d.ts +2 -0
  93. package/dist/types/locales/tr.d.ts +2 -0
  94. package/dist/types/locales/uk.d.ts +2 -0
  95. package/dist/types/locales/vi.d.ts +2 -0
  96. package/dist/types/locales/zh-Hans.d.ts +2 -0
  97. package/dist/types/locales/zh-Hant.d.ts +2 -0
  98. package/dist/types/menus/MRT_ColumnActionMenu.d.ts +20 -0
  99. package/dist/types/menus/MRT_FilterOptionMenu.d.ts +13 -0
  100. package/dist/types/menus/MRT_RowActionMenu.d.ts +12 -0
  101. package/dist/types/menus/MRT_ShowHideColumnsMenu.d.ts +10 -0
  102. package/dist/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +12 -0
  103. package/dist/types/menus/index.d.ts +5 -0
  104. package/dist/types/modals/MRT_EditRowModal.d.ts +8 -0
  105. package/dist/types/modals/index.d.ts +1 -0
  106. package/dist/types/sortingFns.d.ts +12 -0
  107. package/dist/types/style.utils.d.ts +32 -0
  108. package/dist/types/table/MRT_Table.d.ts +7 -0
  109. package/dist/types/table/MRT_TableContainer.d.ts +7 -0
  110. package/dist/types/table/MRT_TableLoadingOverlay.d.ts +7 -0
  111. package/dist/types/table/MRT_TablePaper.d.ts +7 -0
  112. package/dist/types/table/index.d.ts +5 -0
  113. package/dist/types/toolbar/MRT_BottomToolbar.d.ts +7 -0
  114. package/dist/types/toolbar/MRT_LinearProgressBar.d.ts +8 -0
  115. package/dist/types/toolbar/MRT_TablePagination.d.ts +15 -0
  116. package/dist/types/toolbar/MRT_ToolbarAlertBanner.d.ts +8 -0
  117. package/dist/types/toolbar/MRT_ToolbarDropZone.d.ts +7 -0
  118. package/dist/types/toolbar/MRT_ToolbarInternalButtons.d.ts +7 -0
  119. package/dist/types/toolbar/MRT_TopToolbar.d.ts +6 -0
  120. package/dist/types/toolbar/index.d.ts +7 -0
  121. package/dist/types/types.d.ts +854 -0
  122. package/dist/types/useMaterialReactTable.d.ts +2 -0
  123. package/package.json +22 -22
  124. package/src/body/MRT_TableBody.tsx +18 -23
  125. package/src/body/MRT_TableBodyCell.tsx +17 -15
  126. package/src/body/MRT_TableBodyCellValue.tsx +10 -10
  127. package/src/body/MRT_TableBodyRow.tsx +13 -13
  128. package/src/buttons/MRT_RowPinButton.tsx +2 -2
  129. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +2 -2
  130. package/src/footer/MRT_TableFooterCell.tsx +2 -2
  131. package/src/head/MRT_TableHeadCell.tsx +21 -19
  132. package/src/head/MRT_TableHeadCellResizeHandle.tsx +4 -3
  133. package/src/head/MRT_TableHeadCellSortLabel.tsx +15 -9
  134. package/src/hooks/useMRT_DisplayColumns.tsx +172 -125
  135. package/src/inputs/MRT_FilterCheckbox.tsx +2 -2
  136. package/src/inputs/MRT_FilterTextField.tsx +16 -16
  137. package/src/inputs/MRT_GlobalFilterTextField.tsx +10 -10
  138. package/src/inputs/MRT_SelectCheckbox.tsx +2 -2
  139. package/src/locales/he.ts +94 -0
  140. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +2 -2
  141. package/src/style.utils.ts +2 -2
  142. package/src/toolbar/MRT_TablePagination.tsx +9 -4
  143. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +6 -6
  144. package/src/types.ts +4 -2
@@ -0,0 +1,2 @@
1
+ import { type MRT_RowData, type MRT_TableInstance, type MRT_TableOptions } from './types';
2
+ export declare const useMaterialReactTable: <TData extends MRT_RowData>(tableOptions: MRT_TableOptions<TData>) => MRT_TableInstance<TData>;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.4",
2
+ "version": "2.0.6",
3
3
  "license": "MIT",
4
4
  "name": "material-react-table",
5
5
  "description": "A fully featured Material UI V5 implementation of TanStack React Table V8, written from the ground up in TypeScript.",
@@ -35,11 +35,11 @@
35
35
  "size-limit": [
36
36
  {
37
37
  "path": "dist/index.js",
38
- "limit": "59 KB"
38
+ "limit": "53 KB"
39
39
  },
40
40
  {
41
41
  "path": "dist/index.esm.js",
42
- "limit": "55 KB"
42
+ "limit": "50 KB"
43
43
  }
44
44
  ],
45
45
  "engines": {
@@ -61,16 +61,16 @@
61
61
  "storybook:dev": "storybook dev -p 6006"
62
62
  },
63
63
  "devDependencies": {
64
- "@babel/core": "^7.23.2",
65
- "@babel/preset-react": "^7.22.15",
64
+ "@babel/core": "^7.23.6",
65
+ "@babel/preset-react": "^7.23.3",
66
66
  "@emotion/react": "^11.11.1",
67
67
  "@emotion/styled": "^11.11.0",
68
- "@faker-js/faker": "^8.2.0",
69
- "@mui/icons-material": "^5.14.16",
70
- "@mui/material": "^5.14.17",
71
- "@mui/x-date-pickers": "^6.18.0",
68
+ "@faker-js/faker": "^8.3.1",
69
+ "@mui/icons-material": "^5.15.0",
70
+ "@mui/material": "^5.15.0",
71
+ "@mui/x-date-pickers": "^6.18.4",
72
72
  "@rollup/plugin-typescript": "^11.1.5",
73
- "@size-limit/preset-small-lib": "^10.0.2",
73
+ "@size-limit/preset-small-lib": "^11.0.1",
74
74
  "@storybook/addon-a11y": "^7.5.3",
75
75
  "@storybook/addon-essentials": "^7.5.3",
76
76
  "@storybook/addon-interactions": "^7.5.3",
@@ -80,15 +80,15 @@
80
80
  "@storybook/react": "^7.5.3",
81
81
  "@storybook/react-vite": "^7.5.3",
82
82
  "@storybook/testing-library": "^0.2.2",
83
- "@types/node": "^20.8.10",
84
- "@types/react": "^18.2.36",
85
- "@types/react-dom": "^18.2.14",
86
- "@typescript-eslint/eslint-plugin": "^6.10.0",
87
- "@typescript-eslint/parser": "^6.10.0",
88
- "@vitejs/plugin-react": "^4.1.1",
89
- "eslint": "^8.53.0",
83
+ "@types/node": "^20.10.4",
84
+ "@types/react": "^18.2.45",
85
+ "@types/react-dom": "^18.2.17",
86
+ "@typescript-eslint/eslint-plugin": "^6.14.0",
87
+ "@typescript-eslint/parser": "^6.14.0",
88
+ "@vitejs/plugin-react": "^4.2.1",
89
+ "eslint": "^8.55.0",
90
90
  "eslint-plugin-mui-path-imports": "^0.0.15",
91
- "eslint-plugin-perfectionist": "^2.2.0",
91
+ "eslint-plugin-perfectionist": "^2.5.0",
92
92
  "prop-types": "^15.8.1",
93
93
  "react": "^18.2.0",
94
94
  "react-dom": "^18.2.0",
@@ -96,12 +96,12 @@
96
96
  "rollup": "^2.79.1",
97
97
  "rollup-plugin-dts": "^6.1.0",
98
98
  "rollup-plugin-peer-deps-external": "^2.2.4",
99
- "size-limit": "^10.0.2",
99
+ "size-limit": "^11.0.1",
100
100
  "storybook": "^7.5.3",
101
101
  "storybook-dark-mode": "^3.0.1",
102
102
  "tslib": "^2.6.2",
103
- "typescript": "^5.2.2",
104
- "vite": "^4.5.0"
103
+ "typescript": "^5.3.3",
104
+ "vite": "^5.0.8"
105
105
  },
106
106
  "peerDependencies": {
107
107
  "@emotion/react": ">=11.11",
@@ -115,7 +115,7 @@
115
115
  "dependencies": {
116
116
  "@tanstack/match-sorter-utils": "8.8.4",
117
117
  "@tanstack/react-table": "8.10.7",
118
- "@tanstack/react-virtual": "3.0.0-beta.68",
118
+ "@tanstack/react-virtual": "3.0.1",
119
119
  "highlight-words": "1.2.2"
120
120
  }
121
121
  }
@@ -186,6 +186,15 @@ export const MRT_TableBody = <TData extends MRT_RowData>({
186
186
  ? rowVirtualizer.getVirtualItems()
187
187
  : undefined;
188
188
 
189
+ const commonRowProps = {
190
+ columnVirtualizer,
191
+ numRows: rows.length,
192
+ table,
193
+ virtualColumns,
194
+ virtualPaddingLeft,
195
+ virtualPaddingRight,
196
+ };
197
+
189
198
  return (
190
199
  <>
191
200
  {!rowPinningDisplayMode?.includes('sticky') &&
@@ -202,15 +211,9 @@ export const MRT_TableBody = <TData extends MRT_RowData>({
202
211
  >
203
212
  {getTopRows().map((row, rowIndex) => {
204
213
  const props = {
205
- columnVirtualizer,
206
- measureElement: rowVirtualizer?.measureElement,
207
- numRows: rows.length,
214
+ ...commonRowProps,
208
215
  row,
209
216
  rowIndex,
210
- table,
211
- virtualColumns,
212
- virtualPaddingLeft,
213
- virtualPaddingRight,
214
217
  };
215
218
  return memoMode === 'rows' ? (
216
219
  <Memo_MRT_TableBodyRow key={row.id} {...props} />
@@ -275,24 +278,22 @@ export const MRT_TableBody = <TData extends MRT_RowData>({
275
278
  ? rows[rowOrVirtualRow.index]
276
279
  : (rowOrVirtualRow as MRT_Row<TData>);
277
280
  const props = {
278
- columnVirtualizer,
281
+ ...commonRowProps,
279
282
  measureElement: rowVirtualizer?.measureElement,
280
- numRows: rows.length,
281
283
  pinnedRowIds,
282
284
  row,
283
285
  rowIndex: rowVirtualizer ? rowOrVirtualRow.index : rowIndex,
284
- table,
285
- virtualColumns,
286
- virtualPaddingLeft,
287
- virtualPaddingRight,
288
286
  virtualRow: rowVirtualizer
289
287
  ? (rowOrVirtualRow as VirtualItem)
290
288
  : undefined,
291
289
  };
292
290
  return memoMode === 'rows' ? (
293
- <Memo_MRT_TableBodyRow key={row.id} {...props} />
291
+ <Memo_MRT_TableBodyRow
292
+ key={`${row.id}${row.index}`}
293
+ {...props}
294
+ />
294
295
  ) : (
295
- <MRT_TableBodyRow key={row.id} {...props} />
296
+ <MRT_TableBodyRow key={`${row.id}${row.index}`} {...props} />
296
297
  );
297
298
  })}
298
299
  </>
@@ -312,18 +313,12 @@ export const MRT_TableBody = <TData extends MRT_RowData>({
312
313
  >
313
314
  {getBottomRows().map((row, rowIndex) => {
314
315
  const props = {
315
- columnVirtualizer,
316
- measureElement: rowVirtualizer?.measureElement,
317
- numRows: rows.length,
316
+ ...commonRowProps,
318
317
  row,
319
318
  rowIndex,
320
- table,
321
- virtualColumns,
322
- virtualPaddingLeft,
323
- virtualPaddingRight,
324
319
  };
325
320
  return memoMode === 'rows' ? (
326
- <Memo_MRT_TableBodyRow key={row.id} {...props} />
321
+ <Memo_MRT_TableBodyRow key={`${row.id}`} {...props} />
327
322
  ) : (
328
323
  <MRT_TableBodyRow key={row.id} {...props} />
329
324
  );
@@ -126,12 +126,12 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
126
126
  const borderStyle = showResizeBorder
127
127
  ? `2px solid ${draggingBorderColor} !important`
128
128
  : isDraggingColumn || isDraggingRow
129
- ? `1px dashed ${theme.palette.grey[500]} !important`
130
- : isHoveredColumn ||
131
- isHoveredRow ||
132
- columnSizingInfo.isResizingColumn === column.id
133
- ? `2px dashed ${draggingBorderColor} !important`
134
- : undefined;
129
+ ? `1px dashed ${theme.palette.grey[500]} !important`
130
+ : isHoveredColumn ||
131
+ isHoveredRow ||
132
+ columnSizingInfo.isResizingColumn === column.id
133
+ ? `2px dashed ${draggingBorderColor} !important`
134
+ : undefined;
135
135
 
136
136
  if (showResizeBorder) {
137
137
  return { borderRight: borderStyle };
@@ -168,6 +168,7 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
168
168
  ]);
169
169
 
170
170
  const isEditable =
171
+ !cell.getIsPlaceholder() &&
171
172
  parseFromValuesOrFunc(enableEditing, row) &&
172
173
  parseFromValuesOrFunc(columnDef.enableEditing, row) !== false;
173
174
 
@@ -222,7 +223,8 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
222
223
  sx={(theme) => ({
223
224
  '&:hover': {
224
225
  outline:
225
- ['cell', 'table'].includes(editDisplayMode ?? '') && isEditable
226
+ (editDisplayMode === 'cell' && isEditable) ||
227
+ (editDisplayMode === 'table' && (isCreating || isEditing))
226
228
  ? `1px solid ${theme.palette.grey[500]}`
227
229
  : undefined,
228
230
  outlineOffset: '-1px',
@@ -241,12 +243,12 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
241
243
  ? '0 0.5rem'
242
244
  : '0.5rem'
243
245
  : density === 'comfortable'
244
- ? columnDefType === 'display'
245
- ? '0.5rem 0.75rem'
246
- : '1rem'
247
- : columnDefType === 'display'
248
- ? '1rem 1.25rem'
249
- : '1.5rem',
246
+ ? columnDefType === 'display'
247
+ ? '0.5rem 0.75rem'
248
+ : '1rem'
249
+ : columnDefType === 'display'
250
+ ? '1rem 1.25rem'
251
+ : '1.5rem',
250
252
  textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,
251
253
  [theme.direction === 'rtl' ? 'pr' : 'pl']:
252
254
  column.id === 'mrt-row-expand'
@@ -255,8 +257,8 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
255
257
  (density === 'compact'
256
258
  ? 0.5
257
259
  : density === 'comfortable'
258
- ? 0.75
259
- : 1.25)
260
+ ? 0.75
261
+ : 1.25)
260
262
  }rem`
261
263
  : undefined,
262
264
  whiteSpace:
@@ -37,15 +37,15 @@ export const MRT_TableBodyCellValue = <TData extends MRT_RowData>({
37
37
  table,
38
38
  })
39
39
  : row.getIsGrouped() && !cell.getIsGrouped()
40
- ? null
41
- : cell.getIsGrouped() && columnDef.GroupedCell
42
- ? columnDef.GroupedCell({
43
- cell,
44
- column,
45
- row,
46
- table,
47
- })
48
- : undefined;
40
+ ? null
41
+ : cell.getIsGrouped() && columnDef.GroupedCell
42
+ ? columnDef.GroupedCell({
43
+ cell,
44
+ column,
45
+ row,
46
+ table,
47
+ })
48
+ : undefined;
49
49
 
50
50
  const isGroupedValue = renderedCellValue !== undefined;
51
51
 
@@ -60,7 +60,7 @@ export const MRT_TableBodyCellValue = <TData extends MRT_RowData>({
60
60
  allowedTypes.includes(typeof renderedCellValue) &&
61
61
  ((filterValue &&
62
62
  allowedTypes.includes(typeof filterValue) &&
63
- columnDef.filterVariant === 'text') ||
63
+ ['autocomplete', 'text'].includes(columnDef.filterVariant!)) ||
64
64
  (globalFilter &&
65
65
  allowedTypes.includes(typeof globalFilter) &&
66
66
  column.getCanGlobalFilter()))
@@ -153,8 +153,8 @@ export const MRT_TableBodyRow = <TData extends MRT_RowData>({
153
153
  ? row.getIsSelected()
154
154
  ? `${alpha(selectedRowBackgroundColor, 0.3)}`
155
155
  : theme.palette.mode === 'dark'
156
- ? `${lighten(baseBackgroundColor, 0.05)}`
157
- : `${darken(baseBackgroundColor, 0.05)}`
156
+ ? `${lighten(baseBackgroundColor, 0.05)}`
157
+ : `${darken(baseBackgroundColor, 0.05)}`
158
158
  : undefined,
159
159
  },
160
160
  backgroundColor: `${baseBackgroundColor} !important`,
@@ -170,28 +170,28 @@ export const MRT_TableBodyRow = <TData extends MRT_RowData>({
170
170
  opacity: isPinned
171
171
  ? 0.97
172
172
  : draggingRow?.id === row.id || hoveredRow?.id === row.id
173
- ? 0.5
174
- : 1,
173
+ ? 0.5
174
+ : 1,
175
175
  position: virtualRow
176
176
  ? 'absolute'
177
177
  : rowPinningDisplayMode?.includes('sticky') && isPinned
178
- ? 'sticky'
179
- : undefined,
178
+ ? 'sticky'
179
+ : undefined,
180
180
  td: {
181
181
  backgroundColor: row.getIsSelected()
182
182
  ? selectedRowBackgroundColor
183
183
  : isPinned
184
- ? pinnedRowBackgroundColor
185
- : undefined,
184
+ ? pinnedRowBackgroundColor
185
+ : undefined,
186
186
  },
187
187
  top: virtualRow
188
188
  ? 0
189
189
  : topPinnedIndex !== undefined && isPinned
190
- ? `${
191
- topPinnedIndex * rowHeight +
192
- (enableStickyHeader || isFullScreen ? tableHeadHeight - 1 : 0)
193
- }px`
194
- : undefined,
190
+ ? `${
191
+ topPinnedIndex * rowHeight +
192
+ (enableStickyHeader || isFullScreen ? tableHeadHeight - 1 : 0)
193
+ }px`
194
+ : undefined,
195
195
  transition: virtualRow ? 'none' : 'all 150ms ease-in-out',
196
196
  width: '100%',
197
197
  zIndex:
@@ -69,8 +69,8 @@ export const MRT_RowPinButton = <TData extends MRT_RowData>({
69
69
  rowPinningDisplayMode === 'sticky'
70
70
  ? 135
71
71
  : pinningPosition === 'top'
72
- ? 180
73
- : 0
72
+ ? 180
73
+ : 0
74
74
  }deg)`,
75
75
  }}
76
76
  />
@@ -25,8 +25,8 @@ export const MRT_ToggleDensePaddingButton = <TData extends MRT_RowData>({
25
25
  density === 'comfortable'
26
26
  ? 'compact'
27
27
  : density === 'compact'
28
- ? 'spacious'
29
- : 'comfortable';
28
+ ? 'spacious'
29
+ : 'comfortable';
30
30
  setDensity(nextDensity);
31
31
  };
32
32
 
@@ -47,8 +47,8 @@ export const MRT_TableFooterCell = <TData extends MRT_RowData>({
47
47
  density === 'compact'
48
48
  ? '0.5rem'
49
49
  : density === 'comfortable'
50
- ? '1rem'
51
- : '1.5rem',
50
+ ? '1rem'
51
+ : '1.5rem',
52
52
  verticalAlign: 'top',
53
53
  zIndex: column.getIsPinned() && columnDefType !== 'group' ? 2 : 1,
54
54
  ...getCommonMRTCellStyles({
@@ -97,10 +97,10 @@ export const MRT_TableHeadCell = <TData extends MRT_RowData>({
97
97
  const borderStyle = showResizeBorder
98
98
  ? `2px solid ${draggingBorderColor} !important`
99
99
  : draggingColumn?.id === column.id
100
- ? `1px dashed ${theme.palette.grey[500]}`
101
- : hoveredColumn?.id === column.id
102
- ? `2px dashed ${draggingBorderColor}`
103
- : undefined;
100
+ ? `1px dashed ${theme.palette.grey[500]}`
101
+ : hoveredColumn?.id === column.id
102
+ ? `2px dashed ${draggingBorderColor}`
103
+ : undefined;
104
104
 
105
105
  if (showResizeBorder) {
106
106
  return { borderRight: borderStyle };
@@ -158,32 +158,32 @@ export const MRT_TableHeadCell = <TData extends MRT_RowData>({
158
158
  density === 'compact'
159
159
  ? '0.5rem'
160
160
  : density === 'comfortable'
161
- ? columnDefType === 'display'
162
- ? '0.75rem'
163
- : '1rem'
164
- : columnDefType === 'display'
165
- ? '1rem 1.25rem'
166
- : '1.5rem',
161
+ ? columnDefType === 'display'
162
+ ? '0.75rem'
163
+ : '1rem'
164
+ : columnDefType === 'display'
165
+ ? '1rem 1.25rem'
166
+ : '1.5rem',
167
167
  pb:
168
168
  columnDefType === 'display'
169
169
  ? 0
170
170
  : showColumnFilters || density === 'compact'
171
- ? '0.4rem'
172
- : '0.6rem',
171
+ ? '0.4rem'
172
+ : '0.6rem',
173
173
  pt:
174
174
  columnDefType === 'group' || density === 'compact'
175
175
  ? '0.25rem'
176
176
  : density === 'comfortable'
177
- ? '.75rem'
178
- : '1.25rem',
177
+ ? '.75rem'
178
+ : '1.25rem',
179
179
  userSelect: enableMultiSort && column.getCanSort() ? 'none' : undefined,
180
180
  verticalAlign: 'top',
181
181
  zIndex:
182
182
  column.getIsResizing() || draggingColumn?.id === column.id
183
183
  ? 3
184
184
  : column.getIsPinned() && columnDefType !== 'group'
185
- ? 2
186
- : 1,
185
+ ? 2
186
+ : 1,
187
187
  ...getCommonMRTCellStyles({
188
188
  column,
189
189
  header,
@@ -209,8 +209,8 @@ export const MRT_TableHeadCell = <TData extends MRT_RowData>({
209
209
  tableCellProps?.align === 'center'
210
210
  ? 'center'
211
211
  : column.getCanResize()
212
- ? 'space-between'
213
- : 'flex-start',
212
+ ? 'space-between'
213
+ : 'flex-start',
214
214
  position: 'relative',
215
215
  width: '100%',
216
216
  }}
@@ -264,7 +264,9 @@ export const MRT_TableHeadCell = <TData extends MRT_RowData>({
264
264
  {columnDefType !== 'group' && (
265
265
  <Box
266
266
  className="Mui-TableHeadCell-Content-Actions"
267
- sx={{ whiteSpace: 'nowrap' }}
267
+ sx={{
268
+ whiteSpace: 'nowrap',
269
+ }}
268
270
  >
269
271
  {showDragHandle && (
270
272
  <MRT_TableHeadCellGrabHandle
@@ -52,10 +52,10 @@ export const MRT_TableHeadCellResizeHandle = <TData extends MRT_RowData>({
52
52
  cursor: 'col-resize',
53
53
  mr:
54
54
  density === 'compact'
55
- ? '-12px'
55
+ ? '-8px'
56
56
  : density === 'comfortable'
57
- ? '-20px'
58
- : '-28px',
57
+ ? '-16px'
58
+ : '-24px',
59
59
  position: 'absolute',
60
60
  px: '4px',
61
61
  right: column.columnDef.columnDefType === 'display' ? '4px' : '0',
@@ -70,6 +70,7 @@ export const MRT_TableHeadCellResizeHandle = <TData extends MRT_RowData>({
70
70
  borderWidth: '2px',
71
71
  height: '24px',
72
72
  touchAction: 'none',
73
+ transform: 'translateX(4px)',
73
74
  transition: column.getIsResizing()
74
75
  ? undefined
75
76
  : 'all 150ms ease-in-out',
@@ -37,12 +37,19 @@ export const MRT_TableHeadCellSortLabel = <TData extends MRT_RowData>({
37
37
  isLoading || showSkeletons
38
38
  ? ''
39
39
  : column.getIsSorted()
40
- ? column.getIsSorted() === 'desc'
41
- ? localization.sortedByColumnDesc.replace('{column}', columnDef.header)
42
- : localization.sortedByColumnAsc.replace('{column}', columnDef.header)
43
- : column.getNextSortingOrder() === 'desc'
44
- ? localization.sortByColumnDesc.replace('{column}', columnDef.header)
45
- : localization.sortByColumnAsc.replace('{column}', columnDef.header);
40
+ ? column.getIsSorted() === 'desc'
41
+ ? localization.sortedByColumnDesc.replace(
42
+ '{column}',
43
+ columnDef.header,
44
+ )
45
+ : localization.sortedByColumnAsc.replace('{column}', columnDef.header)
46
+ : column.getNextSortingOrder() === 'desc'
47
+ ? localization.sortByColumnDesc.replace('{column}', columnDef.header)
48
+ : localization.sortByColumnAsc.replace('{column}', columnDef.header);
49
+
50
+ const direction = isSorted
51
+ ? (column.getIsSorted() as 'asc' | 'desc')
52
+ : undefined;
46
53
 
47
54
  return (
48
55
  <Tooltip placement="top" title={sortTooltip}>
@@ -56,6 +63,7 @@ export const MRT_TableHeadCellSortLabel = <TData extends MRT_RowData>({
56
63
  ? (props) => (
57
64
  <SyncAltIcon
58
65
  {...props}
66
+ direction={direction}
59
67
  style={{
60
68
  transform: 'rotate(-90deg) scaleX(0.9) translateX(-1px)',
61
69
  }}
@@ -65,9 +73,7 @@ export const MRT_TableHeadCellSortLabel = <TData extends MRT_RowData>({
65
73
  }
66
74
  active
67
75
  aria-label={sortTooltip}
68
- direction={
69
- isSorted ? (column.getIsSorted() as 'asc' | 'desc') : undefined
70
- }
76
+ direction={direction}
71
77
  onClick={(e) => {
72
78
  e.stopPropagation();
73
79
  header.column.getToggleSortingHandler()?.(e);