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
@@ -57,6 +57,7 @@ const MRT_Localization_ZH_HANT = {
57
57
  noResultsFound: '未找到結果',
58
58
  of: '/',
59
59
  or: '或',
60
+ pin: '固定',
60
61
  pinToLeft: '固定至左邊',
61
62
  pinToRight: '固定至右邊',
62
63
  resetColumnSize: '重置欄位大小',
@@ -1 +1 @@
1
- {"version":3,"file":"zh-Hant.esm.js","sources":["../src/locales/zh-Hant.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zh-Hant.esm.js","sources":["../src/locales/zh-Hant.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEa,MAAA,wBAAwB,GAAqB;AACxD,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,GAAG,EAAE,GAAG;AACR,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,gBAAgB,EAAE,QAAQ;AAC1B,IAAA,gBAAgB,EAAE,QAAQ;AAC1B,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,aAAa,EAAE,MAAM;AACrB,IAAA,iBAAiB,EAAE,SAAS;AAC5B,IAAA,aAAa,EAAE,kBAAkB;AACjC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,oBAAoB,EAAE,MAAM;AAC5B,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,aAAa,EAAE,MAAM;AACrB,IAAA,sBAAsB,EAAE,QAAQ;AAChC,IAAA,cAAc,EAAE,eAAe;AAC/B,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,0BAA0B,EAAE,MAAM;AAClC,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,6BAA6B,EAAE,IAAI;AACnC,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,uBAAuB,EAAE,MAAM;AAC/B,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,cAAc,EAAE,MAAM;AACtB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,iBAAiB,EAAE,2CAA2C;AAC9D,IAAA,aAAa,EAAE,MAAM;AACrB,IAAA,YAAY,EAAE,OAAO;AACrB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,UAAU,EAAE,gBAAgB;AAC5B,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,kBAAkB,EAAE,QAAQ;AAC5B,IAAA,cAAc,EAAE,OAAO;AACvB,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,UAAU,EAAE,OAAO;AACnB,IAAA,eAAe,EAAE,QAAQ;AACzB,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,mCAAmC,EAAE,kCAAkC;AACvE,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,eAAe,EAAE,UAAU;AAC3B,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,cAAc,EAAE,YAAY;AAC5B,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,gBAAgB,EAAE,iBAAiB;AACnC,IAAA,iBAAiB,EAAE,kBAAkB;AACrC,IAAA,kBAAkB,EAAE,kBAAkB;AACtC,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,aAAa,EAAE,MAAM;AACrB,IAAA,gBAAgB,EAAE,OAAO;AACzB,IAAA,eAAe,EAAE,QAAQ;AACzB,IAAA,eAAe,EAAE,QAAQ;AACzB,IAAA,gBAAgB,EAAE,OAAO;AACzB,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,QAAQ,EAAE,QAAQ;;;;;"}
@@ -61,6 +61,7 @@ const MRT_Localization_ZH_HANT = {
61
61
  noResultsFound: '未找到結果',
62
62
  of: '/',
63
63
  or: '或',
64
+ pin: '固定',
64
65
  pinToLeft: '固定至左邊',
65
66
  pinToRight: '固定至右邊',
66
67
  resetColumnSize: '重置欄位大小',
@@ -1 +1 @@
1
- {"version":3,"file":"zh-Hant.js","sources":["../src/locales/zh-Hant.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zh-Hant.js","sources":["../src/locales/zh-Hant.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.0-alpha.6",
2
+ "version": "2.0.0-beta.0",
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.",
@@ -60,16 +60,16 @@
60
60
  "storybook:dev": "storybook dev -p 6006"
61
61
  },
62
62
  "devDependencies": {
63
- "@babel/core": "^7.23.0",
63
+ "@babel/core": "^7.23.2",
64
64
  "@babel/preset-react": "^7.22.15",
65
65
  "@emotion/react": "^11.11.1",
66
66
  "@emotion/styled": "^11.11.0",
67
67
  "@faker-js/faker": "^8.1.0",
68
- "@mui/icons-material": "^5.14.12",
69
- "@mui/material": "^5.14.12",
70
- "@mui/x-date-pickers": "^6.16.1",
68
+ "@mui/icons-material": "^5.14.13",
69
+ "@mui/material": "^5.14.13",
70
+ "@mui/x-date-pickers": "^6.16.2",
71
71
  "@rollup/plugin-babel": "^6.0.4",
72
- "@rollup/plugin-node-resolve": "^15.2.2",
72
+ "@rollup/plugin-node-resolve": "^15.2.3",
73
73
  "@rollup/plugin-typescript": "^11.1.5",
74
74
  "@size-limit/preset-small-lib": "^9.0.0",
75
75
  "@storybook/addon-a11y": "^7.4.6",
@@ -81,11 +81,11 @@
81
81
  "@storybook/react": "^7.4.6",
82
82
  "@storybook/react-vite": "^7.4.6",
83
83
  "@storybook/testing-library": "^0.2.2",
84
- "@types/node": "^20.8.3",
85
- "@types/react": "^18.2.25",
86
- "@types/react-dom": "^18.2.11",
87
- "@typescript-eslint/eslint-plugin": "^6.7.4",
88
- "@typescript-eslint/parser": "^6.7.4",
84
+ "@types/node": "^20.8.5",
85
+ "@types/react": "^18.2.28",
86
+ "@types/react-dom": "^18.2.13",
87
+ "@typescript-eslint/eslint-plugin": "^6.7.5",
88
+ "@typescript-eslint/parser": "^6.7.5",
89
89
  "@vitejs/plugin-react": "^4.1.0",
90
90
  "eslint": "^8.51.0",
91
91
  "eslint-plugin-mui-path-imports": "^0.0.15",
@@ -213,8 +213,9 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
213
213
  alignItems: layoutMode?.startsWith('grid') ? 'center' : undefined,
214
214
  cursor:
215
215
  isEditable && editDisplayMode === 'cell' ? 'pointer' : 'inherit',
216
- justifyContent:
217
- layoutMode?.startsWith('grid') ? tableCellProps.align : undefined,
216
+ justifyContent: layoutMode?.startsWith('grid')
217
+ ? tableCellProps.align
218
+ : undefined,
218
219
  overflow: 'hidden',
219
220
  p:
220
221
  density === 'compact'
@@ -256,7 +257,7 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
256
257
  <>
257
258
  {cell.getIsPlaceholder() ? (
258
259
  columnDef.PlaceholderCell?.({ cell, column, row, table }) ?? null
259
- ) : (isLoading || showSkeletons) && cell.getValue() === null ? (
260
+ ) : isLoading || showSkeletons ? (
260
261
  <Skeleton
261
262
  animation="wave"
262
263
  height={20}
@@ -208,16 +208,18 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
208
208
  ? (cellOrVirtualCell as VirtualItem)
209
209
  : undefined,
210
210
  };
211
- return memoMode === 'cells' &&
211
+ return cell ? (
212
+ memoMode === 'cells' &&
212
213
  cell.column.columnDef.columnDefType === 'data' &&
213
214
  !draggingColumn &&
214
215
  !draggingRow &&
215
216
  editingCell?.id !== cell.id &&
216
217
  editingRow?.id !== row.id ? (
217
- <Memo_MRT_TableBodyCell key={cell.id} {...props} />
218
- ) : (
219
- <MRT_TableBodyCell key={cell.id} {...props} />
220
- );
218
+ <Memo_MRT_TableBodyCell key={cell.id} {...props} />
219
+ ) : (
220
+ <MRT_TableBodyCell key={cell.id} {...props} />
221
+ )
222
+ ) : null;
221
223
  })}
222
224
  {virtualPaddingRight ? (
223
225
  <td style={{ display: 'flex', width: virtualPaddingRight }} />
@@ -38,6 +38,7 @@ export const MRT_TableBodyRowGrabHandle = <TData extends Record<string, any>>({
38
38
  return (
39
39
  <MRT_GrabHandleButton
40
40
  iconButtonProps={iconButtonProps}
41
+ location="row"
41
42
  onDragEnd={handleDragEnd}
42
43
  onDragStart={handleDragStart}
43
44
  table={table}
package/src/body/index.ts CHANGED
@@ -4,4 +4,4 @@ export * from './MRT_TableBodyCellValue';
4
4
  export * from './MRT_TableBodyRow';
5
5
  export * from './MRT_TableBodyRowGrabHandle';
6
6
  export * from './MRT_TableBodyRowPinButton';
7
- export * from './MRT_TableDetailPanel';
7
+ export * from './MRT_TableDetailPanel';
@@ -58,6 +58,7 @@ export const MRT_ExpandButton = <TData extends Record<string, any>>({
58
58
  onClick={handleToggleExpand}
59
59
  sx={(theme) => ({
60
60
  height: density === 'compact' ? '1.75rem' : '2.25rem',
61
+ opacity: !canExpand && !renderDetailPanel ? 0.3 : 1,
61
62
  width: density === 'compact' ? '1.75rem' : '2.25rem',
62
63
  ...(parseFromValuesOrFunc(iconButtonProps?.sx, theme) as any),
63
64
  })}
@@ -6,6 +6,7 @@ import { type MRT_TableInstance } from '../types';
6
6
 
7
7
  interface Props<TData extends Record<string, any>> {
8
8
  iconButtonProps?: IconButtonProps;
9
+ location?: 'column' | 'row';
9
10
  onDragEnd: DragEventHandler<HTMLButtonElement>;
10
11
  onDragStart: DragEventHandler<HTMLButtonElement>;
11
12
  table: MRT_TableInstance<TData>;
@@ -13,6 +14,7 @@ interface Props<TData extends Record<string, any>> {
13
14
 
14
15
  export const MRT_GrabHandleButton = <TData extends Record<string, any>>({
15
16
  iconButtonProps,
17
+ location,
16
18
  onDragEnd,
17
19
  onDragStart,
18
20
  table,
@@ -53,7 +55,7 @@ export const MRT_GrabHandleButton = <TData extends Record<string, any>>({
53
55
  },
54
56
  cursor: 'grab',
55
57
  m: '0 -0.1rem',
56
- opacity: 0.5,
58
+ opacity: location === 'row' ? 1 : 0.3,
57
59
  p: '2px',
58
60
  transition: 'all 150ms ease-in-out',
59
61
  ...(parseFromValuesOrFunc(iconButtonProps?.sx, theme) as any),
@@ -167,6 +167,7 @@ export const getLeadingDisplayColumnIds = <TData extends Record<string, any>>(
167
167
  'mrt-row-expand',
168
168
  props.enableRowSelection && 'mrt-row-select',
169
169
  props.enableRowNumbers && 'mrt-row-numbers',
170
+ props.layoutMode === 'grid-no-grow' && 'mrt-row-spacer',
170
171
  ].filter(Boolean) as MRT_DisplayColumnIds[];
171
172
 
172
173
  export const getTrailingDisplayColumnIds = <TData extends Record<string, any>>(
@@ -367,9 +368,10 @@ export const getCommonCellStyles = <TData extends Record<string, any>>({
367
368
  transition: table.options.enableColumnVirtualization
368
369
  ? 'none'
369
370
  : `padding 150ms ease-in-out`,
370
- ...(!table.options.enableColumnResizing && widthStyles), //let devs pass in width styles if column resizing is disabled
371
+ ...widthStyles,
372
+ // ...(!table.options.enableColumnResizing && widthStyles), //let devs pass in width styles if column resizing is disabled
371
373
  ...(parseFromValuesOrFunc(tableCellProps?.sx, theme) as any),
372
- ...(table.options.enableColumnResizing && widthStyles), //don't let devs pass in width styles if column resizing is enabled
374
+ // ...(table.options.enableColumnResizing && widthStyles), //don't let devs pass in width styles if column resizing is enabled
373
375
  };
374
376
  };
375
377
 
@@ -425,20 +427,19 @@ export const createRow = <TData extends Record<string, any>>(
425
427
  0,
426
428
  ) as MRT_Row<TData>;
427
429
 
428
- export const extraIndexRangeExtractor = (
429
- range: Range,
430
- draggingIndex: number,
431
- ) => {
432
- const newIndexs = defaultRangeExtractor(range);
433
- if (
434
- draggingIndex >= 0 &&
435
- draggingIndex < Math.max(range.startIndex - range.overscan, 0)
436
- ) {
437
- newIndexs.unshift(draggingIndex);
438
- }
439
- if (draggingIndex >= 0 && draggingIndex > range.endIndex + range.overscan) {
440
- newIndexs.push(draggingIndex);
441
- }
442
- return newIndexs;
443
- };
444
-
430
+ export const extraIndexRangeExtractor = (
431
+ range: Range,
432
+ draggingIndex: number,
433
+ ) => {
434
+ const newIndexs = defaultRangeExtractor(range);
435
+ if (
436
+ draggingIndex >= 0 &&
437
+ draggingIndex < Math.max(range.startIndex - range.overscan, 0)
438
+ ) {
439
+ newIndexs.unshift(draggingIndex);
440
+ }
441
+ if (draggingIndex >= 0 && draggingIndex > range.endIndex + range.overscan) {
442
+ newIndexs.push(draggingIndex);
443
+ }
444
+ return newIndexs;
445
+ };
@@ -57,7 +57,11 @@ export const MRT_TableFooterCell = <TData extends Record<string, any>>({
57
57
  <>
58
58
  {footer.isPlaceholder
59
59
  ? null
60
- : parseFromValuesOrFunc(columnDef.Footer, { column, footer, table }) ??
60
+ : parseFromValuesOrFunc(columnDef.Footer, {
61
+ column,
62
+ footer,
63
+ table,
64
+ }) ??
61
65
  columnDef.footer ??
62
66
  null}
63
67
  </>
@@ -62,9 +62,9 @@ export const MRT_TableFooterRow = <TData extends Record<string, any>>({
62
62
  ? footerGroup.headers[footerOrVirtualFooter.index]
63
63
  : (footerOrVirtualFooter as MRT_Header<TData>);
64
64
 
65
- return (
65
+ return footer ? (
66
66
  <MRT_TableFooterCell footer={footer} key={footer.id} table={table} />
67
- );
67
+ ) : null;
68
68
  })}
69
69
  {virtualPaddingRight ? (
70
70
  <th style={{ display: 'flex', width: virtualPaddingRight }} />
@@ -57,7 +57,11 @@ export const MRT_TableHead = <TData extends Record<string, any>>({
57
57
  >
58
58
  {positionToolbarAlertBanner === 'head-overlay' &&
59
59
  (showAlertBanner || getSelectedRowModel().rows.length > 0) ? (
60
- <tr style={{ display: layoutMode?.startsWith('grid') ? 'grid' : undefined }}>
60
+ <tr
61
+ style={{
62
+ display: layoutMode?.startsWith('grid') ? 'grid' : undefined,
63
+ }}
64
+ >
61
65
  <th
62
66
  colSpan={table.getVisibleLeafColumns().length}
63
67
  style={{
@@ -72,9 +72,9 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
72
72
 
73
73
  const headerPL = useMemo(() => {
74
74
  let pl = 0;
75
- if (column.getCanSort()) pl++;
75
+ if (column.getCanSort()) pl += 1;
76
76
  if (showColumnActions) pl += 1.75;
77
- if (showDragHandle) pl += 1.25;
77
+ if (showDragHandle) pl += 1.5;
78
78
  return pl;
79
79
  }, [showColumnActions, showDragHandle]);
80
80
 
@@ -126,6 +126,11 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
126
126
  }}
127
127
  {...tableCellProps}
128
128
  sx={(theme: Theme) => ({
129
+ '& :hover': {
130
+ '.MuiButtonBase-root': {
131
+ opacity: 1,
132
+ },
133
+ },
129
134
  flexDirection: layoutMode?.startsWith('grid') ? 'column' : undefined,
130
135
  fontWeight: 'bold',
131
136
  overflow: 'visible',
@@ -212,7 +217,7 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
212
217
  '&:hover': {
213
218
  textOverflow: 'clip',
214
219
  },
215
- minWidth: `${Math.min(columnDef.header?.length ?? 0, 5)}ch`,
220
+ minWidth: `${Math.min(columnDef.header?.length ?? 0, 4)}ch`,
216
221
  overflow: columnDefType === 'data' ? 'hidden' : undefined,
217
222
  textOverflow: 'ellipsis',
218
223
  whiteSpace:
@@ -222,6 +227,9 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
222
227
  >
223
228
  {headerElement}
224
229
  </Box>
230
+ {column.getCanFilter() && (
231
+ <MRT_TableHeadCellFilterLabel header={header} table={table} />
232
+ )}
225
233
  {column.getCanSort() && (
226
234
  <MRT_TableHeadCellSortLabel
227
235
  header={header}
@@ -229,9 +237,6 @@ export const MRT_TableHeadCell = <TData extends Record<string, any>>({
229
237
  tableCellProps={tableCellProps}
230
238
  />
231
239
  )}
232
- {column.getCanFilter() && (
233
- <MRT_TableHeadCellFilterLabel header={header} table={table} />
234
- )}
235
240
  </Box>
236
241
  {columnDefType !== 'group' && (
237
242
  <Box
@@ -65,8 +65,8 @@ export const MRT_TableHeadCellColumnActionsButton = <
65
65
  opacity: 1,
66
66
  },
67
67
  height: '2rem',
68
- m: '-8px -4px',
69
- opacity: 0.5,
68
+ m: '-4px',
69
+ opacity: 0.3,
70
70
  transform: `scale(0.85) ${
71
71
  columnFilterDisplayMode !== 'popover' ? 'translateX(-4px)' : ''
72
72
  }`,
@@ -103,11 +103,14 @@ export const MRT_TableHeadCellFilterLabel = <
103
103
  });
104
104
  event.stopPropagation();
105
105
  }}
106
+ size="small"
106
107
  sx={{
107
108
  height: '16px',
108
- opacity: 0.8,
109
+ ml: '4px',
110
+ opacity: isFilterActive ? 1 : 0.3,
109
111
  p: '8px',
110
112
  transform: 'scale(0.75)',
113
+ transition: 'all 150ms ease-in-out',
111
114
  width: '16px',
112
115
  }}
113
116
  >
@@ -13,12 +13,11 @@ interface Props<TData extends Record<string, any>> {
13
13
  export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
14
14
  header,
15
15
  table,
16
- tableCellProps,
17
16
  }: Props<TData>) => {
18
17
  const {
19
18
  getState,
20
19
  options: {
21
- icons: { ArrowDownwardIcon },
20
+ icons: { ArrowDownwardIcon, SyncAltIcon },
22
21
  localization,
23
22
  },
24
23
  } = table;
@@ -26,6 +25,8 @@ export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
26
25
  const { columnDef } = column;
27
26
  const { sorting } = getState();
28
27
 
28
+ const isSorted = !!column.getIsSorted();
29
+
29
30
  const sortTooltip = column.getIsSorted()
30
31
  ? column.getIsSorted() === 'desc'
31
32
  ? localization.sortedByColumnDesc.replace('{column}', columnDef.header)
@@ -41,13 +42,20 @@ export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
41
42
  overlap="circular"
42
43
  >
43
44
  <TableSortLabel
44
- IconComponent={ArrowDownwardIcon}
45
- active={!!column.getIsSorted()}
45
+ IconComponent={
46
+ !isSorted
47
+ ? (props) => (
48
+ <SyncAltIcon
49
+ {...props}
50
+ style={{ transform: 'rotate(-90deg) scaleX(0.8)' }}
51
+ />
52
+ )
53
+ : ArrowDownwardIcon
54
+ }
55
+ active
46
56
  aria-label={sortTooltip}
47
57
  direction={
48
- column.getIsSorted()
49
- ? (column.getIsSorted() as 'asc' | 'desc')
50
- : undefined
58
+ isSorted ? (column.getIsSorted() as 'asc' | 'desc') : undefined
51
59
  }
52
60
  onClick={(e) => {
53
61
  e.stopPropagation();
@@ -55,11 +63,9 @@ export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
55
63
  }}
56
64
  sx={{
57
65
  flex: '0 0',
58
- transform:
59
- tableCellProps?.align !== 'right'
60
- ? 'translateX(-0.5ch)'
61
- : undefined,
62
- width: '2.4ch',
66
+ opacity: isSorted ? 1 : 0.3,
67
+ transition: 'all 150ms ease-in-out',
68
+ width: '3ch',
63
69
  }}
64
70
  />
65
71
  </Badge>
@@ -52,9 +52,9 @@ export const MRT_TableHeadRow = <TData extends Record<string, any>>({
52
52
  ? headerGroup.headers[headerOrVirtualHeader.index]
53
53
  : (headerOrVirtualHeader as MRT_Header<TData>);
54
54
 
55
- return (
55
+ return header ? (
56
56
  <MRT_TableHeadCell header={header} key={header.id} table={table} />
57
- );
57
+ ) : null;
58
58
  })}
59
59
  {virtualPaddingRight ? (
60
60
  <th style={{ display: 'flex', width: virtualPaddingRight }} />
@@ -14,6 +14,15 @@ import {
14
14
  type MRT_Row,
15
15
  } from '../types';
16
16
 
17
+ const blankColProps = {
18
+ sx: {
19
+ flex: '1 0 auto',
20
+ minWidth: 0,
21
+ p: 0,
22
+ width: 0,
23
+ },
24
+ };
25
+
17
26
  interface Params<TData extends Record<string, any>> {
18
27
  columnOrder: MRT_ColumnOrderState;
19
28
  creatingRow: MRT_Row<TData> | null;
@@ -123,6 +132,17 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
123
132
  ...tableOptions.displayColumnDefOptions?.['mrt-row-numbers'],
124
133
  id: 'mrt-row-numbers',
125
134
  },
135
+
136
+ (tableOptions.state?.columnOrder ?? columnOrder).includes(
137
+ 'mrt-row-spacer',
138
+ ) && {
139
+ columnDefType: 'display',
140
+ header: '',
141
+ id: 'spacer',
142
+ muiTableBodyCellProps: blankColProps,
143
+ muiTableFooterCellProps: blankColProps,
144
+ muiTableHeadCellProps: blankColProps,
145
+ },
126
146
  ] as MRT_ColumnDef<TData>[]
127
147
  ).filter(Boolean),
128
148
  [
package/src/icons.ts CHANGED
@@ -28,6 +28,7 @@ import SaveIcon from '@mui/icons-material/Save';
28
28
  import SearchIcon from '@mui/icons-material/Search';
29
29
  import SearchOffIcon from '@mui/icons-material/SearchOff';
30
30
  import SortIcon from '@mui/icons-material/Sort';
31
+ import SyncAltIcon from '@mui/icons-material/SyncAlt';
31
32
  import ViewColumnIcon from '@mui/icons-material/ViewColumn';
32
33
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
33
34
 
@@ -62,6 +63,7 @@ export interface MRT_Icons {
62
63
  SearchIcon: any;
63
64
  SearchOffIcon: any;
64
65
  SortIcon: any;
66
+ SyncAltIcon?: any;
65
67
  ViewColumnIcon: any;
66
68
  VisibilityOffIcon: any;
67
69
  }
@@ -97,6 +99,7 @@ export const MRT_Default_Icons: MRT_Icons = {
97
99
  SearchIcon,
98
100
  SearchOffIcon,
99
101
  SortIcon,
102
+ SyncAltIcon,
100
103
  ViewColumnIcon,
101
104
  VisibilityOffIcon,
102
105
  };
package/src/locales/ar.ts CHANGED
@@ -14,7 +14,6 @@ export const MRT_Localization_AR: MRT_Localization = {
14
14
  collapseAll: 'إخفاء الكل',
15
15
  columnActions: 'إجراءات العمود',
16
16
  copiedToClipboard: 'نسخ إلى الحافظة',
17
-
18
17
  dropToGroupBy: 'أفلت للمجموعة حسب {column}',
19
18
  edit: 'تعديل',
20
19
  expand: 'إظهار',
@@ -60,6 +59,7 @@ export const MRT_Localization_AR: MRT_Localization = {
60
59
  noResultsFound: 'لم يتم العثور على نتائج',
61
60
  of: 'ل',
62
61
  or: 'أو',
62
+ pin: 'تثبيت',
63
63
  pinToLeft: 'تثبيت جهة اليسار',
64
64
  pinToRight: 'تثبيت على اليمين',
65
65
  resetColumnSize: 'Reset column size',
package/src/locales/bg.ts CHANGED
@@ -59,6 +59,7 @@ export const MRT_Localization_BG: MRT_Localization = {
59
59
  noResultsFound: 'Няма намерени резултати',
60
60
  of: 'от',
61
61
  or: 'или',
62
+ pin: 'Закачи',
62
63
  pinToLeft: 'Закачи отляво',
63
64
  pinToRight: 'Закачи отдясно',
64
65
  resetColumnSize: 'Нулиране на размера на колоната',
package/src/locales/cs.ts CHANGED
@@ -60,6 +60,7 @@ export const MRT_Localization_CS: MRT_Localization = {
60
60
  noResultsFound: 'Nenalezeny žádné výsledky',
61
61
  of: 'z',
62
62
  or: 'nebo',
63
+ pin: 'Připnout',
63
64
  pinToLeft: 'Připnout doleva',
64
65
  pinToRight: 'Připnout doprava',
65
66
  resetColumnSize: 'Resetovat šířku sloupců',
package/src/locales/da.ts CHANGED
@@ -59,6 +59,7 @@ export const MRT_Localization_DA: MRT_Localization = {
59
59
  noResultsFound: 'Ingen resultater fundet',
60
60
  of: 'af',
61
61
  or: 'eller',
62
+ pin: 'Fastgør',
62
63
  pinToLeft: 'Fastgør til venstre',
63
64
  pinToRight: 'Fastgør til højre',
64
65
  resetColumnSize: 'Nulstil kolonnebredde',
package/src/locales/de.ts CHANGED
@@ -59,6 +59,7 @@ export const MRT_Localization_DE: MRT_Localization = {
59
59
  noResultsFound: 'Keine Ergebnisse gefunden',
60
60
  of: 'von',
61
61
  or: 'oder',
62
+ pin: 'Anheften',
62
63
  pinToLeft: 'Links anheften',
63
64
  pinToRight: 'Rechts anheften',
64
65
  resetColumnSize: 'Spaltengröße zurücksetzen',
package/src/locales/es.ts CHANGED
@@ -59,6 +59,7 @@ export const MRT_Localization_ES: MRT_Localization = {
59
59
  noResultsFound: 'No se encontraron resultados',
60
60
  of: 'de',
61
61
  or: 'o',
62
+ pin: 'Anclar',
62
63
  pinToLeft: 'Anclar a la izquierda',
63
64
  pinToRight: 'Anclar a la derecha',
64
65
  resetColumnSize: 'Resetear tamaño de columna',
package/src/locales/et.ts CHANGED
@@ -60,6 +60,7 @@ export const MRT_Localization_ET: MRT_Localization = {
60
60
  noResultsFound: 'Tulemusi ei leitud',
61
61
  of: '/',
62
62
  or: 'või',
63
+ pin: 'Kinnita',
63
64
  pinToLeft: 'Kinnita vasakule',
64
65
  pinToRight: 'Kinnita paremale',
65
66
  resetColumnSize: 'Lähtesta veeru suurus',
package/src/locales/fa.ts CHANGED
@@ -59,6 +59,7 @@ export const MRT_Localization_FA: MRT_Localization = {
59
59
  noResultsFound: 'موردی یافت نشد.',
60
60
  of: 'از',
61
61
  or: 'یا',
62
+ pin: 'پین',
62
63
  pinToLeft: 'پین به چپ',
63
64
  pinToRight: 'پین به راست',
64
65
  resetColumnSize: 'تنظیم مجدد اندازه ستون',
package/src/locales/fi.ts CHANGED
@@ -60,6 +60,7 @@ export const MRT_Localization_FI: MRT_Localization = {
60
60
  noResultsFound: 'Ei tuloksia',
61
61
  of: '/',
62
62
  or: 'tai',
63
+ pin: 'Kiinnitä',
63
64
  pinToLeft: 'Kiinnitä vasemmalle',
64
65
  pinToRight: 'Kiinnitä oikealle',
65
66
  resetColumnSize: 'Nollaa sarakkeen koko',
package/src/locales/fr.ts CHANGED
@@ -59,6 +59,7 @@ export const MRT_Localization_FR: MRT_Localization = {
59
59
  noResultsFound: 'Aucun résultat trouvé',
60
60
  of: 'de',
61
61
  or: 'ou',
62
+ pin: 'Attacher',
62
63
  pinToLeft: 'Épingler à gauche',
63
64
  pinToRight: 'Épingler à droite',
64
65
  resetColumnSize: 'Réinitialiser la taille de la colonne',
package/src/locales/hu.ts CHANGED
@@ -59,6 +59,7 @@ export const MRT_Localization_HU: MRT_Localization = {
59
59
  noResultsFound: 'Nincs találat',
60
60
  of: 'összesen',
61
61
  or: 'vagy',
62
+ pin: 'Rögzítés',
62
63
  pinToLeft: 'Rögzítés balra',
63
64
  pinToRight: 'Rögzítés jobbra',
64
65
  resetColumnSize: 'Oszlop méretének alaphelyzetbe állítása',
package/src/locales/hy.ts CHANGED
@@ -59,6 +59,7 @@ export const MRT_Localization_HY: MRT_Localization = {
59
59
  noResultsFound: 'Արդյունքներ չեն գտնվել',
60
60
  of: '-ից',
61
61
  or: 'կամ',
62
+ pin: 'Կցել',
62
63
  pinToLeft: 'Կցել ձախից',
63
64
  pinToRight: 'Կցել աջից',
64
65
  resetColumnSize: 'Չեղարկել սյունակի չափը',
package/src/locales/id.ts CHANGED
@@ -60,6 +60,7 @@ export const MRT_Localization_ID: MRT_Localization = {
60
60
  noResultsFound: 'Tidak ada hasil yang ditemukan',
61
61
  of: 'dari',
62
62
  or: 'atau',
63
+ pin: 'Sematkan',
63
64
  pinToLeft: 'Sematkan ke kiri',
64
65
  pinToRight: 'Sematkan ke kanan',
65
66
  resetColumnSize: 'Reset ukuran kolom',
package/src/locales/it.ts CHANGED
@@ -59,6 +59,7 @@ export const MRT_Localization_IT: MRT_Localization = {
59
59
  noResultsFound: 'Nessun risultato trovato',
60
60
  of: 'di',
61
61
  or: 'o',
62
+ pin: 'Blocca',
62
63
  pinToLeft: 'Blocca a sinistra',
63
64
  pinToRight: 'Blocca a destra',
64
65
  resetColumnSize: 'Resetta dimensione colonna',