material-react-table 2.0.0-beta.0 → 2.0.0-beta.10

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 (510) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +281 -263
  3. package/dist/{esm/material-react-table.esm.js → index.esm.js} +1018 -968
  4. package/dist/index.esm.js.map +1 -0
  5. package/dist/{cjs/index.js → index.js} +1098 -1135
  6. package/dist/index.js.map +1 -0
  7. package/locales/ar.d.ts +1 -0
  8. package/locales/ar.js +0 -3
  9. package/locales/{ar.esm.js → ar.mjs} +0 -1
  10. package/locales/az.d.ts +3 -0
  11. package/locales/az.js +95 -0
  12. package/locales/az.mjs +93 -0
  13. package/locales/bg.d.ts +1 -0
  14. package/locales/bg.js +0 -3
  15. package/locales/{bg.esm.js → bg.mjs} +0 -1
  16. package/locales/cs.d.ts +1 -0
  17. package/locales/cs.js +0 -3
  18. package/locales/{cs.esm.js → cs.mjs} +0 -1
  19. package/locales/da.d.ts +1 -0
  20. package/locales/da.js +0 -3
  21. package/locales/{da.esm.js → da.mjs} +0 -1
  22. package/locales/de.d.ts +1 -0
  23. package/locales/de.js +0 -3
  24. package/locales/{de.esm.js → de.mjs} +0 -1
  25. package/locales/en.d.ts +1 -0
  26. package/locales/en.js +0 -3
  27. package/locales/{en.esm.js → en.mjs} +0 -1
  28. package/locales/es.d.ts +1 -0
  29. package/locales/es.js +0 -3
  30. package/locales/{es.esm.js → es.mjs} +0 -1
  31. package/locales/et.d.ts +1 -0
  32. package/locales/et.js +0 -3
  33. package/locales/{et.esm.js → et.mjs} +0 -1
  34. package/locales/fa.d.ts +1 -0
  35. package/locales/fa.js +0 -3
  36. package/locales/{fa.esm.js → fa.mjs} +0 -1
  37. package/locales/fi.d.ts +1 -0
  38. package/locales/fi.js +0 -3
  39. package/locales/{fi.esm.js → fi.mjs} +0 -1
  40. package/locales/fr.d.ts +1 -0
  41. package/locales/fr.js +0 -3
  42. package/locales/{fr.esm.js → fr.mjs} +0 -1
  43. package/locales/hu.d.ts +1 -0
  44. package/locales/hu.js +0 -3
  45. package/locales/{hu.esm.js → hu.mjs} +0 -1
  46. package/locales/hy.d.ts +1 -0
  47. package/locales/hy.js +0 -3
  48. package/locales/{hy.esm.js → hy.mjs} +0 -1
  49. package/locales/id.d.ts +1 -0
  50. package/locales/id.js +0 -3
  51. package/locales/{id.esm.js → id.mjs} +0 -1
  52. package/locales/it.d.ts +1 -0
  53. package/locales/it.js +0 -3
  54. package/locales/{it.esm.js → it.mjs} +0 -1
  55. package/locales/ja.d.ts +1 -0
  56. package/locales/ja.js +0 -3
  57. package/locales/{ja.esm.js → ja.mjs} +0 -1
  58. package/locales/ko.d.ts +1 -0
  59. package/locales/ko.js +0 -3
  60. package/locales/{ko.esm.js → ko.mjs} +0 -1
  61. package/locales/nl.d.ts +1 -0
  62. package/locales/nl.js +0 -3
  63. package/locales/{nl.esm.js → nl.mjs} +0 -1
  64. package/locales/no.d.ts +2 -1
  65. package/locales/no.js +0 -3
  66. package/locales/{no.esm.js → no.mjs} +0 -1
  67. package/locales/np.d.ts +1 -0
  68. package/locales/np.js +0 -3
  69. package/locales/{np.esm.js → np.mjs} +0 -1
  70. package/locales/pl.d.ts +1 -0
  71. package/locales/pl.js +0 -3
  72. package/locales/{pl.esm.js → pl.mjs} +0 -1
  73. package/locales/pt-BR.d.ts +1 -0
  74. package/locales/pt-BR.js +0 -3
  75. package/locales/{pt-BR.esm.js → pt-BR.mjs} +0 -1
  76. package/locales/pt.d.ts +1 -0
  77. package/locales/pt.js +0 -3
  78. package/locales/{pt.esm.js → pt.mjs} +0 -1
  79. package/locales/ro.d.ts +1 -0
  80. package/locales/ro.js +0 -3
  81. package/locales/{ro.esm.js → ro.mjs} +0 -1
  82. package/locales/ru.d.ts +1 -0
  83. package/locales/ru.js +0 -3
  84. package/locales/{ru.esm.js → ru.mjs} +0 -1
  85. package/locales/sk.d.ts +1 -0
  86. package/locales/sk.js +0 -3
  87. package/locales/{sk.esm.js → sk.mjs} +0 -1
  88. package/locales/sr-Cyrl-RS.d.ts +1 -0
  89. package/locales/sr-Cyrl-RS.js +0 -3
  90. package/locales/{sr-Cyrl-RS.esm.js → sr-Cyrl-RS.mjs} +0 -1
  91. package/locales/sr-Latn-RS.d.ts +1 -0
  92. package/locales/sr-Latn-RS.js +0 -3
  93. package/locales/{sr-Latn-RS.esm.js → sr-Latn-RS.mjs} +0 -1
  94. package/locales/sv.d.ts +1 -0
  95. package/locales/sv.js +0 -3
  96. package/locales/{sv.esm.js → sv.mjs} +0 -1
  97. package/locales/tr.d.ts +1 -0
  98. package/locales/tr.js +0 -3
  99. package/locales/{tr.esm.js → tr.mjs} +0 -1
  100. package/locales/uk.d.ts +1 -0
  101. package/locales/uk.js +0 -3
  102. package/locales/{uk.esm.js → uk.mjs} +0 -1
  103. package/locales/vi.d.ts +1 -0
  104. package/locales/vi.js +0 -3
  105. package/locales/{vi.esm.js → vi.mjs} +0 -1
  106. package/locales/zh-Hans.d.ts +1 -0
  107. package/locales/zh-Hans.js +17 -20
  108. package/locales/{zh-Hans.esm.js → zh-Hans.mjs} +17 -18
  109. package/locales/zh-Hant.d.ts +1 -0
  110. package/locales/zh-Hant.js +0 -3
  111. package/locales/{zh-Hant.esm.js → zh-Hant.mjs} +0 -1
  112. package/package.json +215 -32
  113. package/src/MaterialReactTable.tsx +5 -4
  114. package/src/body/MRT_TableBody.tsx +19 -8
  115. package/src/body/MRT_TableBodyCell.tsx +95 -74
  116. package/src/body/MRT_TableBodyCellValue.tsx +13 -9
  117. package/src/body/MRT_TableBodyRow.tsx +27 -16
  118. package/src/body/MRT_TableBodyRowGrabHandle.tsx +16 -7
  119. package/src/body/MRT_TableBodyRowPinButton.tsx +18 -7
  120. package/src/body/MRT_TableDetailPanel.tsx +20 -13
  121. package/src/buttons/MRT_ColumnPinningButtons.tsx +21 -8
  122. package/src/buttons/MRT_CopyButton.tsx +12 -11
  123. package/src/buttons/MRT_EditActionButtons.tsx +17 -7
  124. package/src/buttons/MRT_ExpandAllButton.tsx +13 -11
  125. package/src/buttons/MRT_ExpandButton.tsx +10 -8
  126. package/src/buttons/MRT_GrabHandleButton.tsx +10 -8
  127. package/src/buttons/MRT_RowPinButton.tsx +14 -7
  128. package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -4
  129. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +4 -6
  130. package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -4
  131. package/src/buttons/MRT_ToggleFullScreenButton.tsx +3 -4
  132. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +4 -6
  133. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +15 -9
  134. package/src/column.utils.ts +46 -141
  135. package/src/filterFns.ts +15 -14
  136. package/src/footer/MRT_TableFooter.tsx +11 -7
  137. package/src/footer/MRT_TableFooterCell.tsx +21 -16
  138. package/src/footer/MRT_TableFooterRow.tsx +14 -9
  139. package/src/head/MRT_TableHead.tsx +10 -6
  140. package/src/head/MRT_TableHeadCell.tsx +122 -103
  141. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +13 -12
  142. package/src/head/MRT_TableHeadCellFilterContainer.tsx +10 -6
  143. package/src/head/MRT_TableHeadCellFilterLabel.tsx +15 -9
  144. package/src/head/MRT_TableHeadCellGrabHandle.tsx +10 -3
  145. package/src/head/MRT_TableHeadCellResizeHandle.tsx +21 -11
  146. package/src/head/MRT_TableHeadCellSortLabel.tsx +38 -18
  147. package/src/head/MRT_TableHeadRow.tsx +15 -9
  148. package/src/hooks/useMRT_DisplayColumns.tsx +14 -10
  149. package/src/hooks/useMRT_Effects.ts +6 -2
  150. package/src/hooks/useMRT_TableInstance.ts +3 -2
  151. package/src/hooks/useMRT_TableOptions.ts +29 -4
  152. package/src/index.ts +1 -0
  153. package/src/inputs/MRT_EditCellTextField.tsx +26 -4
  154. package/src/inputs/MRT_FilterCheckbox.tsx +10 -5
  155. package/src/inputs/MRT_FilterRangeFields.tsx +19 -5
  156. package/src/inputs/MRT_FilterRangeSlider.tsx +10 -4
  157. package/src/inputs/MRT_FilterTextField.tsx +13 -5
  158. package/src/inputs/MRT_GlobalFilterTextField.tsx +27 -10
  159. package/src/inputs/MRT_SelectCheckbox.tsx +14 -7
  160. package/src/locales/az.ts +94 -0
  161. package/src/locales/no.ts +1 -1
  162. package/src/locales/zh-Hans.ts +17 -17
  163. package/src/menus/MRT_ColumnActionMenu.tsx +10 -4
  164. package/src/menus/MRT_FilterOptionMenu.tsx +6 -3
  165. package/src/menus/MRT_RowActionMenu.tsx +10 -4
  166. package/src/menus/MRT_ShowHideColumnsMenu.tsx +10 -4
  167. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +17 -10
  168. package/src/modals/MRT_EditRowModal.tsx +17 -11
  169. package/src/sortingFns.ts +3 -3
  170. package/src/style.utils.ts +149 -0
  171. package/src/table/MRT_Table.tsx +28 -34
  172. package/src/table/MRT_TableContainer.tsx +17 -46
  173. package/src/table/MRT_TableLoadingOverlay.tsx +54 -0
  174. package/src/table/MRT_TablePaper.tsx +13 -6
  175. package/src/table/index.ts +1 -0
  176. package/src/toolbar/MRT_BottomToolbar.tsx +16 -14
  177. package/src/toolbar/MRT_LinearProgressBar.tsx +16 -10
  178. package/src/toolbar/MRT_TablePagination.tsx +25 -12
  179. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +11 -7
  180. package/src/toolbar/MRT_ToolbarDropZone.tsx +8 -4
  181. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +10 -6
  182. package/src/toolbar/MRT_TopToolbar.tsx +11 -24
  183. package/src/types.ts +98 -56
  184. package/src/useMaterialReactTable.ts +8 -7
  185. package/dist/cjs/index.js.map +0 -1
  186. package/dist/cjs/types/MaterialReactTable.d.ts +0 -7
  187. package/dist/cjs/types/aggregationFns.d.ts +0 -11
  188. package/dist/cjs/types/body/MRT_TableBody.d.ts +0 -12
  189. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +0 -15
  190. package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +0 -7
  191. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +0 -18
  192. package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
  193. package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
  194. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +0 -12
  195. package/dist/cjs/types/body/index.d.ts +0 -7
  196. package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
  197. package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +0 -9
  198. package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +0 -8
  199. package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
  200. package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +0 -7
  201. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
  202. package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +0 -9
  203. package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  204. package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  205. package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  206. package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  207. package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  208. package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
  209. package/dist/cjs/types/buttons/index.d.ts +0 -13
  210. package/dist/cjs/types/column.utils.d.ts +0 -148
  211. package/dist/cjs/types/filterFns.d.ts +0 -68
  212. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +0 -10
  213. package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +0 -7
  214. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +0 -11
  215. package/dist/cjs/types/footer/index.d.ts +0 -3
  216. package/dist/cjs/types/head/MRT_TableHead.d.ts +0 -10
  217. package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +0 -7
  218. package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
  219. package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
  220. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
  221. package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
  222. package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
  223. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
  224. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +0 -11
  225. package/dist/cjs/types/head/index.d.ts +0 -9
  226. package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  227. package/dist/cjs/types/hooks/useMRT_Effects.d.ts +0 -2
  228. package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +0 -2
  229. package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +0 -2
  230. package/dist/cjs/types/icons.d.ts +0 -36
  231. package/dist/cjs/types/index.d.ts +0 -16
  232. package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +0 -7
  233. package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
  234. package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
  235. package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
  236. package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +0 -8
  237. package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
  238. package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
  239. package/dist/cjs/types/inputs/index.d.ts +0 -7
  240. package/dist/cjs/types/locales/ar.d.ts +0 -2
  241. package/dist/cjs/types/locales/bg.d.ts +0 -2
  242. package/dist/cjs/types/locales/cs.d.ts +0 -2
  243. package/dist/cjs/types/locales/da.d.ts +0 -2
  244. package/dist/cjs/types/locales/de.d.ts +0 -2
  245. package/dist/cjs/types/locales/en.d.ts +0 -2
  246. package/dist/cjs/types/locales/es.d.ts +0 -2
  247. package/dist/cjs/types/locales/et.d.ts +0 -2
  248. package/dist/cjs/types/locales/fa.d.ts +0 -2
  249. package/dist/cjs/types/locales/fi.d.ts +0 -2
  250. package/dist/cjs/types/locales/fr.d.ts +0 -2
  251. package/dist/cjs/types/locales/hu.d.ts +0 -2
  252. package/dist/cjs/types/locales/hy.d.ts +0 -2
  253. package/dist/cjs/types/locales/id.d.ts +0 -2
  254. package/dist/cjs/types/locales/it.d.ts +0 -2
  255. package/dist/cjs/types/locales/ja.d.ts +0 -2
  256. package/dist/cjs/types/locales/ko.d.ts +0 -2
  257. package/dist/cjs/types/locales/nl.d.ts +0 -2
  258. package/dist/cjs/types/locales/no.d.ts +0 -2
  259. package/dist/cjs/types/locales/np.d.ts +0 -2
  260. package/dist/cjs/types/locales/pl.d.ts +0 -2
  261. package/dist/cjs/types/locales/pt-BR.d.ts +0 -2
  262. package/dist/cjs/types/locales/pt.d.ts +0 -2
  263. package/dist/cjs/types/locales/ro.d.ts +0 -2
  264. package/dist/cjs/types/locales/ru.d.ts +0 -2
  265. package/dist/cjs/types/locales/sk.d.ts +0 -2
  266. package/dist/cjs/types/locales/sr-Cyrl-RS.d.ts +0 -2
  267. package/dist/cjs/types/locales/sr-Latn-RS.d.ts +0 -2
  268. package/dist/cjs/types/locales/sv.d.ts +0 -2
  269. package/dist/cjs/types/locales/tr.d.ts +0 -2
  270. package/dist/cjs/types/locales/uk.d.ts +0 -2
  271. package/dist/cjs/types/locales/vi.d.ts +0 -2
  272. package/dist/cjs/types/locales/zh-Hans.d.ts +0 -2
  273. package/dist/cjs/types/locales/zh-Hant.d.ts +0 -2
  274. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
  275. package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
  276. package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +0 -11
  277. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
  278. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
  279. package/dist/cjs/types/menus/index.d.ts +0 -5
  280. package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +0 -7
  281. package/dist/cjs/types/modals/index.d.ts +0 -1
  282. package/dist/cjs/types/sortingFns.d.ts +0 -12
  283. package/dist/cjs/types/table/MRT_Table.d.ts +0 -6
  284. package/dist/cjs/types/table/MRT_TableContainer.d.ts +0 -6
  285. package/dist/cjs/types/table/MRT_TablePaper.d.ts +0 -6
  286. package/dist/cjs/types/table/index.d.ts +0 -4
  287. package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
  288. package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
  289. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +0 -7
  290. package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
  291. package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
  292. package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
  293. package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +0 -21
  294. package/dist/cjs/types/toolbar/index.d.ts +0 -7
  295. package/dist/cjs/types/types.d.ts +0 -818
  296. package/dist/cjs/types/useMaterialReactTable.d.ts +0 -2
  297. package/dist/esm/material-react-table.esm.js.map +0 -1
  298. package/dist/esm/types/MaterialReactTable.d.ts +0 -7
  299. package/dist/esm/types/aggregationFns.d.ts +0 -11
  300. package/dist/esm/types/body/MRT_TableBody.d.ts +0 -12
  301. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +0 -15
  302. package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +0 -7
  303. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +0 -18
  304. package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
  305. package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
  306. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +0 -12
  307. package/dist/esm/types/body/index.d.ts +0 -7
  308. package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
  309. package/dist/esm/types/buttons/MRT_CopyButton.d.ts +0 -9
  310. package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +0 -8
  311. package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
  312. package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +0 -7
  313. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
  314. package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +0 -9
  315. package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  316. package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  317. package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  318. package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  319. package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  320. package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
  321. package/dist/esm/types/buttons/index.d.ts +0 -13
  322. package/dist/esm/types/column.utils.d.ts +0 -148
  323. package/dist/esm/types/filterFns.d.ts +0 -68
  324. package/dist/esm/types/footer/MRT_TableFooter.d.ts +0 -10
  325. package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +0 -7
  326. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +0 -11
  327. package/dist/esm/types/footer/index.d.ts +0 -3
  328. package/dist/esm/types/head/MRT_TableHead.d.ts +0 -10
  329. package/dist/esm/types/head/MRT_TableHeadCell.d.ts +0 -7
  330. package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
  331. package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
  332. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
  333. package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
  334. package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
  335. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
  336. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +0 -11
  337. package/dist/esm/types/head/index.d.ts +0 -9
  338. package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  339. package/dist/esm/types/hooks/useMRT_Effects.d.ts +0 -2
  340. package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +0 -2
  341. package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +0 -2
  342. package/dist/esm/types/icons.d.ts +0 -36
  343. package/dist/esm/types/index.d.ts +0 -16
  344. package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +0 -7
  345. package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
  346. package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
  347. package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
  348. package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +0 -8
  349. package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
  350. package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
  351. package/dist/esm/types/inputs/index.d.ts +0 -7
  352. package/dist/esm/types/locales/ar.d.ts +0 -2
  353. package/dist/esm/types/locales/bg.d.ts +0 -2
  354. package/dist/esm/types/locales/cs.d.ts +0 -2
  355. package/dist/esm/types/locales/da.d.ts +0 -2
  356. package/dist/esm/types/locales/de.d.ts +0 -2
  357. package/dist/esm/types/locales/en.d.ts +0 -2
  358. package/dist/esm/types/locales/es.d.ts +0 -2
  359. package/dist/esm/types/locales/et.d.ts +0 -2
  360. package/dist/esm/types/locales/fa.d.ts +0 -2
  361. package/dist/esm/types/locales/fi.d.ts +0 -2
  362. package/dist/esm/types/locales/fr.d.ts +0 -2
  363. package/dist/esm/types/locales/hu.d.ts +0 -2
  364. package/dist/esm/types/locales/hy.d.ts +0 -2
  365. package/dist/esm/types/locales/id.d.ts +0 -2
  366. package/dist/esm/types/locales/it.d.ts +0 -2
  367. package/dist/esm/types/locales/ja.d.ts +0 -2
  368. package/dist/esm/types/locales/ko.d.ts +0 -2
  369. package/dist/esm/types/locales/nl.d.ts +0 -2
  370. package/dist/esm/types/locales/no.d.ts +0 -2
  371. package/dist/esm/types/locales/np.d.ts +0 -2
  372. package/dist/esm/types/locales/pl.d.ts +0 -2
  373. package/dist/esm/types/locales/pt-BR.d.ts +0 -2
  374. package/dist/esm/types/locales/pt.d.ts +0 -2
  375. package/dist/esm/types/locales/ro.d.ts +0 -2
  376. package/dist/esm/types/locales/ru.d.ts +0 -2
  377. package/dist/esm/types/locales/sk.d.ts +0 -2
  378. package/dist/esm/types/locales/sr-Cyrl-RS.d.ts +0 -2
  379. package/dist/esm/types/locales/sr-Latn-RS.d.ts +0 -2
  380. package/dist/esm/types/locales/sv.d.ts +0 -2
  381. package/dist/esm/types/locales/tr.d.ts +0 -2
  382. package/dist/esm/types/locales/uk.d.ts +0 -2
  383. package/dist/esm/types/locales/vi.d.ts +0 -2
  384. package/dist/esm/types/locales/zh-Hans.d.ts +0 -2
  385. package/dist/esm/types/locales/zh-Hant.d.ts +0 -2
  386. package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
  387. package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
  388. package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +0 -11
  389. package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
  390. package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
  391. package/dist/esm/types/menus/index.d.ts +0 -5
  392. package/dist/esm/types/modals/MRT_EditRowModal.d.ts +0 -7
  393. package/dist/esm/types/modals/index.d.ts +0 -1
  394. package/dist/esm/types/sortingFns.d.ts +0 -12
  395. package/dist/esm/types/table/MRT_Table.d.ts +0 -6
  396. package/dist/esm/types/table/MRT_TableContainer.d.ts +0 -6
  397. package/dist/esm/types/table/MRT_TablePaper.d.ts +0 -6
  398. package/dist/esm/types/table/index.d.ts +0 -4
  399. package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
  400. package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
  401. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +0 -7
  402. package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
  403. package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
  404. package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
  405. package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +0 -21
  406. package/dist/esm/types/toolbar/index.d.ts +0 -7
  407. package/dist/esm/types/types.d.ts +0 -818
  408. package/dist/esm/types/useMaterialReactTable.d.ts +0 -2
  409. package/locales/ar.esm.d.ts +0 -2
  410. package/locales/ar.esm.js.map +0 -1
  411. package/locales/ar.js.map +0 -1
  412. package/locales/bg.esm.d.ts +0 -2
  413. package/locales/bg.esm.js.map +0 -1
  414. package/locales/bg.js.map +0 -1
  415. package/locales/cs.esm.d.ts +0 -2
  416. package/locales/cs.esm.js.map +0 -1
  417. package/locales/cs.js.map +0 -1
  418. package/locales/da.esm.d.ts +0 -2
  419. package/locales/da.esm.js.map +0 -1
  420. package/locales/da.js.map +0 -1
  421. package/locales/de.esm.d.ts +0 -2
  422. package/locales/de.esm.js.map +0 -1
  423. package/locales/de.js.map +0 -1
  424. package/locales/en.esm.d.ts +0 -2
  425. package/locales/en.esm.js.map +0 -1
  426. package/locales/en.js.map +0 -1
  427. package/locales/es.esm.d.ts +0 -2
  428. package/locales/es.esm.js.map +0 -1
  429. package/locales/es.js.map +0 -1
  430. package/locales/et.esm.d.ts +0 -2
  431. package/locales/et.esm.js.map +0 -1
  432. package/locales/et.js.map +0 -1
  433. package/locales/fa.esm.d.ts +0 -2
  434. package/locales/fa.esm.js.map +0 -1
  435. package/locales/fa.js.map +0 -1
  436. package/locales/fi.esm.d.ts +0 -2
  437. package/locales/fi.esm.js.map +0 -1
  438. package/locales/fi.js.map +0 -1
  439. package/locales/fr.esm.d.ts +0 -2
  440. package/locales/fr.esm.js.map +0 -1
  441. package/locales/fr.js.map +0 -1
  442. package/locales/hu.esm.d.ts +0 -2
  443. package/locales/hu.esm.js.map +0 -1
  444. package/locales/hu.js.map +0 -1
  445. package/locales/hy.esm.d.ts +0 -2
  446. package/locales/hy.esm.js.map +0 -1
  447. package/locales/hy.js.map +0 -1
  448. package/locales/id.esm.d.ts +0 -2
  449. package/locales/id.esm.js.map +0 -1
  450. package/locales/id.js.map +0 -1
  451. package/locales/it.esm.d.ts +0 -2
  452. package/locales/it.esm.js.map +0 -1
  453. package/locales/it.js.map +0 -1
  454. package/locales/ja.esm.d.ts +0 -2
  455. package/locales/ja.esm.js.map +0 -1
  456. package/locales/ja.js.map +0 -1
  457. package/locales/ko.esm.d.ts +0 -2
  458. package/locales/ko.esm.js.map +0 -1
  459. package/locales/ko.js.map +0 -1
  460. package/locales/nl.esm.d.ts +0 -2
  461. package/locales/nl.esm.js.map +0 -1
  462. package/locales/nl.js.map +0 -1
  463. package/locales/no.esm.d.ts +0 -2
  464. package/locales/no.esm.js.map +0 -1
  465. package/locales/no.js.map +0 -1
  466. package/locales/np.esm.d.ts +0 -2
  467. package/locales/np.esm.js.map +0 -1
  468. package/locales/np.js.map +0 -1
  469. package/locales/pl.esm.d.ts +0 -2
  470. package/locales/pl.esm.js.map +0 -1
  471. package/locales/pl.js.map +0 -1
  472. package/locales/pt-BR.esm.d.ts +0 -2
  473. package/locales/pt-BR.esm.js.map +0 -1
  474. package/locales/pt-BR.js.map +0 -1
  475. package/locales/pt.esm.d.ts +0 -2
  476. package/locales/pt.esm.js.map +0 -1
  477. package/locales/pt.js.map +0 -1
  478. package/locales/ro.esm.d.ts +0 -2
  479. package/locales/ro.esm.js.map +0 -1
  480. package/locales/ro.js.map +0 -1
  481. package/locales/ru.esm.d.ts +0 -2
  482. package/locales/ru.esm.js.map +0 -1
  483. package/locales/ru.js.map +0 -1
  484. package/locales/sk.esm.d.ts +0 -2
  485. package/locales/sk.esm.js.map +0 -1
  486. package/locales/sk.js.map +0 -1
  487. package/locales/sr-Cyrl-RS.esm.d.ts +0 -2
  488. package/locales/sr-Cyrl-RS.esm.js.map +0 -1
  489. package/locales/sr-Cyrl-RS.js.map +0 -1
  490. package/locales/sr-Latn-RS.esm.d.ts +0 -2
  491. package/locales/sr-Latn-RS.esm.js.map +0 -1
  492. package/locales/sr-Latn-RS.js.map +0 -1
  493. package/locales/sv.esm.d.ts +0 -2
  494. package/locales/sv.esm.js.map +0 -1
  495. package/locales/sv.js.map +0 -1
  496. package/locales/tr.esm.d.ts +0 -2
  497. package/locales/tr.esm.js.map +0 -1
  498. package/locales/tr.js.map +0 -1
  499. package/locales/uk.esm.d.ts +0 -2
  500. package/locales/uk.esm.js.map +0 -1
  501. package/locales/uk.js.map +0 -1
  502. package/locales/vi.esm.d.ts +0 -2
  503. package/locales/vi.esm.js.map +0 -1
  504. package/locales/vi.js.map +0 -1
  505. package/locales/zh-Hans.esm.d.ts +0 -2
  506. package/locales/zh-Hans.esm.js.map +0 -1
  507. package/locales/zh-Hans.js.map +0 -1
  508. package/locales/zh-Hant.esm.d.ts +0 -2
  509. package/locales/zh-Hant.esm.js.map +0 -1
  510. package/locales/zh-Hant.js.map +0 -1
@@ -1,18 +1,24 @@
1
1
  import Badge from '@mui/material/Badge';
2
- import { type TableCellProps } from '@mui/material/TableCell';
3
- import TableSortLabel from '@mui/material/TableSortLabel';
2
+ import TableSortLabel, {
3
+ type TableSortLabelProps,
4
+ } from '@mui/material/TableSortLabel';
4
5
  import Tooltip from '@mui/material/Tooltip';
5
- import { type MRT_Header, type MRT_TableInstance } from '../types';
6
+ import { parseFromValuesOrFunc } from '../column.utils';
7
+ import {
8
+ type MRT_Header,
9
+ type MRT_RowData,
10
+ type MRT_TableInstance,
11
+ } from '../types';
6
12
 
7
- interface Props<TData extends Record<string, any>> {
13
+ interface Props<TData extends MRT_RowData> extends TableSortLabelProps {
8
14
  header: MRT_Header<TData>;
9
15
  table: MRT_TableInstance<TData>;
10
- tableCellProps?: TableCellProps;
11
16
  }
12
17
 
13
- export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
18
+ export const MRT_TableHeadCellSortLabel = <TData extends MRT_RowData>({
14
19
  header,
15
20
  table,
21
+ ...rest
16
22
  }: Props<TData>) => {
17
23
  const {
18
24
  getState,
@@ -23,20 +29,23 @@ export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
23
29
  } = table;
24
30
  const { column } = header;
25
31
  const { columnDef } = column;
26
- const { sorting } = getState();
32
+ const { isLoading, showSkeletons, sorting } = getState();
27
33
 
28
34
  const isSorted = !!column.getIsSorted();
29
35
 
30
- const sortTooltip = column.getIsSorted()
31
- ? column.getIsSorted() === 'desc'
32
- ? localization.sortedByColumnDesc.replace('{column}', columnDef.header)
33
- : localization.sortedByColumnAsc.replace('{column}', columnDef.header)
34
- : column.getNextSortingOrder() === 'desc'
35
- ? localization.sortByColumnDesc.replace('{column}', columnDef.header)
36
- : localization.sortByColumnAsc.replace('{column}', columnDef.header);
36
+ const sortTooltip =
37
+ isLoading || showSkeletons
38
+ ? ''
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);
37
46
 
38
47
  return (
39
- <Tooltip arrow placement="top" title={sortTooltip}>
48
+ <Tooltip placement="top" title={sortTooltip}>
40
49
  <Badge
41
50
  badgeContent={sorting.length > 1 ? column.getSortIndex() + 1 : 0}
42
51
  overlap="circular"
@@ -47,7 +56,9 @@ export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
47
56
  ? (props) => (
48
57
  <SyncAltIcon
49
58
  {...props}
50
- style={{ transform: 'rotate(-90deg) scaleX(0.8)' }}
59
+ style={{
60
+ transform: 'rotate(-90deg) scaleX(0.9) translateX(-1px)',
61
+ }}
51
62
  />
52
63
  )
53
64
  : ArrowDownwardIcon
@@ -61,12 +72,21 @@ export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
61
72
  e.stopPropagation();
62
73
  header.column.getToggleSortingHandler()?.(e);
63
74
  }}
64
- sx={{
75
+ {...rest}
76
+ sx={(theme) => ({
77
+ '.MuiTableSortLabel-icon': {
78
+ color: `${
79
+ theme.palette.mode === 'dark'
80
+ ? theme.palette.text.primary
81
+ : theme.palette.text.secondary
82
+ } !important`,
83
+ },
65
84
  flex: '0 0',
66
85
  opacity: isSorted ? 1 : 0.3,
67
86
  transition: 'all 150ms ease-in-out',
68
87
  width: '3ch',
69
- }}
88
+ ...(parseFromValuesOrFunc(rest?.sx, theme) as any),
89
+ })}
70
90
  />
71
91
  </Badge>
72
92
  </Tooltip>
@@ -1,15 +1,17 @@
1
1
  import { type VirtualItem } from '@tanstack/react-virtual';
2
- import TableRow from '@mui/material/TableRow';
3
- import { alpha, lighten } from '@mui/material/styles';
2
+ import { alpha } from '@mui/material';
3
+ import TableRow, { type TableRowProps } from '@mui/material/TableRow';
4
4
  import { MRT_TableHeadCell } from './MRT_TableHeadCell';
5
5
  import { parseFromValuesOrFunc } from '../column.utils';
6
+ import { getMRTTheme } from '../style.utils';
6
7
  import {
7
8
  type MRT_Header,
8
9
  type MRT_HeaderGroup,
10
+ type MRT_RowData,
9
11
  type MRT_TableInstance,
10
12
  } from '../types';
11
13
 
12
- interface Props<TData extends Record<string, any>> {
14
+ interface Props<TData extends MRT_RowData> extends TableRowProps {
13
15
  headerGroup: MRT_HeaderGroup<TData>;
14
16
  table: MRT_TableInstance<TData>;
15
17
  virtualColumns?: VirtualItem[];
@@ -17,27 +19,31 @@ interface Props<TData extends Record<string, any>> {
17
19
  virtualPaddingRight?: number;
18
20
  }
19
21
 
20
- export const MRT_TableHeadRow = <TData extends Record<string, any>>({
22
+ export const MRT_TableHeadRow = <TData extends MRT_RowData>({
21
23
  headerGroup,
22
24
  table,
23
25
  virtualColumns,
24
26
  virtualPaddingLeft,
25
27
  virtualPaddingRight,
28
+ ...rest
26
29
  }: Props<TData>) => {
27
30
  const {
28
31
  options: { layoutMode, muiTableHeadRowProps },
29
32
  } = table;
30
33
 
31
- const tableRowProps = parseFromValuesOrFunc(muiTableHeadRowProps, {
32
- headerGroup,
33
- table,
34
- });
34
+ const tableRowProps = {
35
+ ...parseFromValuesOrFunc(muiTableHeadRowProps, {
36
+ headerGroup,
37
+ table,
38
+ }),
39
+ rest,
40
+ };
35
41
 
36
42
  return (
37
43
  <TableRow
38
44
  {...tableRowProps}
39
45
  sx={(theme) => ({
40
- backgroundColor: lighten(theme.palette.background.default, 0.05),
46
+ backgroundColor: getMRTTheme(table, theme).baseBackgroundColor,
41
47
  boxShadow: `4px 0 8px ${alpha(theme.palette.common.black, 0.1)}`,
42
48
  display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
43
49
  top: 0,
@@ -12,9 +12,12 @@ import {
12
12
  type MRT_DefinedTableOptions,
13
13
  type MRT_GroupingState,
14
14
  type MRT_Row,
15
+ type MRT_RowData,
15
16
  } from '../types';
17
+ import { MRT_DefaultDisplayColumn } from './useMRT_TableOptions';
16
18
 
17
19
  const blankColProps = {
20
+ children: null,
18
21
  sx: {
19
22
  flex: '1 0 auto',
20
23
  minWidth: 0,
@@ -23,14 +26,14 @@ const blankColProps = {
23
26
  },
24
27
  };
25
28
 
26
- interface Params<TData extends Record<string, any>> {
29
+ interface Params<TData extends MRT_RowData> {
27
30
  columnOrder: MRT_ColumnOrderState;
28
31
  creatingRow: MRT_Row<TData> | null;
29
32
  grouping: MRT_GroupingState;
30
33
  tableOptions: MRT_DefinedTableOptions<TData>;
31
34
  }
32
35
 
33
- export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
36
+ export const useMRT_DisplayColumns = <TData extends MRT_RowData>({
34
37
  columnOrder,
35
38
  creatingRow,
36
39
  grouping,
@@ -48,8 +51,8 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
48
51
  ),
49
52
  header: tableOptions.localization.pin,
50
53
  size: 60,
51
- ...tableOptions.defaultDisplayColumn,
52
54
  ...tableOptions.displayColumnDefOptions?.['mrt-row-pin'],
55
+ columnDefType: 'display',
53
56
  id: 'mrt-row-pin',
54
57
  },
55
58
  (tableOptions.state?.columnOrder ?? columnOrder).includes(
@@ -64,8 +67,8 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
64
67
  ),
65
68
  header: tableOptions.localization.move,
66
69
  size: 60,
67
- ...tableOptions.defaultDisplayColumn,
68
70
  ...tableOptions.displayColumnDefOptions?.['mrt-row-drag'],
71
+ columnDefType: 'display',
69
72
  id: 'mrt-row-drag',
70
73
  },
71
74
  ((tableOptions.state?.columnOrder ?? columnOrder).includes(
@@ -81,8 +84,8 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
81
84
  ),
82
85
  header: tableOptions.localization.actions,
83
86
  size: 70,
84
- ...tableOptions.defaultDisplayColumn,
85
87
  ...tableOptions.displayColumnDefOptions?.['mrt-row-actions'],
88
+ columnDefType: 'display',
86
89
  id: 'mrt-row-actions',
87
90
  },
88
91
  (tableOptions.state?.columnOrder ?? columnOrder).includes(
@@ -100,8 +103,8 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
100
103
  : null,
101
104
  header: tableOptions.localization.expand,
102
105
  size: 60,
103
- ...tableOptions.defaultDisplayColumn,
104
106
  ...tableOptions.displayColumnDefOptions?.['mrt-row-expand'],
107
+ columnDefType: 'display',
105
108
  id: 'mrt-row-expand',
106
109
  },
107
110
  (tableOptions.state?.columnOrder ?? columnOrder).includes(
@@ -117,8 +120,8 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
117
120
  : null,
118
121
  header: tableOptions.localization.select,
119
122
  size: 60,
120
- ...tableOptions.defaultDisplayColumn,
121
123
  ...tableOptions.displayColumnDefOptions?.['mrt-row-select'],
124
+ columnDefType: 'display',
122
125
  id: 'mrt-row-select',
123
126
  },
124
127
  (tableOptions.state?.columnOrder ?? columnOrder).includes(
@@ -128,17 +131,18 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
128
131
  Header: () => tableOptions.localization.rowNumber,
129
132
  header: tableOptions.localization.rowNumbers,
130
133
  size: 60,
131
- ...tableOptions.defaultDisplayColumn,
132
134
  ...tableOptions.displayColumnDefOptions?.['mrt-row-numbers'],
135
+ columnDefType: 'display',
133
136
  id: 'mrt-row-numbers',
134
137
  },
135
-
136
138
  (tableOptions.state?.columnOrder ?? columnOrder).includes(
137
139
  'mrt-row-spacer',
138
140
  ) && {
141
+ ...tableOptions.displayColumnDefOptions?.['mrt-row-spacer'],
142
+ ...MRT_DefaultDisplayColumn,
139
143
  columnDefType: 'display',
140
144
  header: '',
141
- id: 'spacer',
145
+ id: 'mrt-row-spacer',
142
146
  muiTableBodyCellProps: blankColProps,
143
147
  muiTableFooterCellProps: blankColProps,
144
148
  muiTableHeadCellProps: blankColProps,
@@ -1,8 +1,12 @@
1
1
  import { useEffect, useReducer, useRef } from 'react';
2
2
  import { getCanRankRows } from '../column.utils';
3
- import { type MRT_SortingState, type MRT_TableInstance } from '../types';
3
+ import {
4
+ type MRT_RowData,
5
+ type MRT_SortingState,
6
+ type MRT_TableInstance,
7
+ } from '../types';
4
8
 
5
- export const useMRT_Effects = <TData extends Record<string, any> = {}>(
9
+ export const useMRT_Effects = <TData extends MRT_RowData>(
6
10
  table: MRT_TableInstance<TData>,
7
11
  ) => {
8
12
  const {
@@ -30,6 +30,7 @@ import {
30
30
  type MRT_FilterOption,
31
31
  type MRT_GroupingState,
32
32
  type MRT_Row,
33
+ type MRT_RowData,
33
34
  type MRT_TableInstance,
34
35
  type MRT_TableState,
35
36
  type MRT_Updater,
@@ -37,9 +38,9 @@ import {
37
38
  import { useMRT_DisplayColumns } from './useMRT_DisplayColumns';
38
39
  import { useMRT_Effects } from './useMRT_Effects';
39
40
 
40
- export const useMRT_TableInstance: <TData extends Record<string, any>>(
41
+ export const useMRT_TableInstance: <TData extends MRT_RowData>(
41
42
  tableOptions: MRT_DefinedTableOptions<TData>,
42
- ) => MRT_TableInstance<TData> = <TData extends Record<string, any>>(
43
+ ) => MRT_TableInstance<TData> = <TData extends MRT_RowData>(
43
44
  tableOptions: MRT_DefinedTableOptions<TData>,
44
45
  ) => {
45
46
  const bottomToolbarRef = useRef<HTMLDivElement>(null);
@@ -1,15 +1,40 @@
1
1
  import { useMemo } from 'react';
2
2
  import { MRT_AggregationFns } from '../aggregationFns';
3
- import { MRT_DefaultColumn, MRT_DefaultDisplayColumn } from '../column.utils';
4
3
  import { MRT_FilterFns } from '../filterFns';
5
4
  import { MRT_Default_Icons } from '../icons';
6
5
  import { MRT_Localization_EN } from '../locales/en';
7
6
  import { MRT_SortingFns } from '../sortingFns';
8
- import { type MRT_DefinedTableOptions, type MRT_TableOptions } from '../types';
7
+ import {
8
+ type MRT_DefinedTableOptions,
9
+ type MRT_RowData,
10
+ type MRT_TableOptions,
11
+ } from '../types';
9
12
 
10
- export const useMRT_TableOptions: <TData extends Record<string, any>>(
13
+ export const MRT_DefaultColumn = {
14
+ filterVariant: 'text',
15
+ maxSize: 1000,
16
+ minSize: 40,
17
+ size: 180,
18
+ } as const;
19
+
20
+ export const MRT_DefaultDisplayColumn = {
21
+ columnDefType: 'display',
22
+ enableClickToCopy: false,
23
+ enableColumnActions: false,
24
+ enableColumnDragging: false,
25
+ enableColumnFilter: false,
26
+ enableColumnOrdering: false,
27
+ enableEditing: false,
28
+ enableGlobalFilter: false,
29
+ enableGrouping: false,
30
+ enableHiding: false,
31
+ enableResizing: false,
32
+ enableSorting: false,
33
+ } as const;
34
+
35
+ export const useMRT_TableOptions: <TData extends MRT_RowData>(
11
36
  tableOptions: MRT_TableOptions<TData>,
12
- ) => MRT_DefinedTableOptions<TData> = <TData extends Record<string, any>>({
37
+ ) => MRT_DefinedTableOptions<TData> = <TData extends MRT_RowData>({
13
38
  aggregationFns,
14
39
  autoResetExpanded = false,
15
40
  columnFilterDisplayMode = 'subheader',
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ export * from './inputs';
10
10
  export * from './menus';
11
11
  export * from './modals';
12
12
  export * from './sortingFns';
13
+ export * from './style.utils';
13
14
  export * from './table';
14
15
  export * from './toolbar';
15
16
  export * from './types';
@@ -8,16 +8,21 @@ import MenuItem from '@mui/material/MenuItem';
8
8
  import TextField from '@mui/material/TextField';
9
9
  import { type TextFieldProps } from '@mui/material/TextField';
10
10
  import { parseFromValuesOrFunc } from '../column.utils';
11
- import { type MRT_Cell, type MRT_TableInstance } from '../types';
11
+ import {
12
+ type MRT_Cell,
13
+ type MRT_RowData,
14
+ type MRT_TableInstance,
15
+ } from '../types';
12
16
 
13
- interface Props<TData extends Record<string, any>> {
17
+ interface Props<TData extends MRT_RowData> extends TextFieldProps<'standard'> {
14
18
  cell: MRT_Cell<TData>;
15
19
  table: MRT_TableInstance<TData>;
16
20
  }
17
21
 
18
- export const MRT_EditCellTextField = <TData extends Record<string, any>>({
22
+ export const MRT_EditCellTextField = <TData extends MRT_RowData>({
19
23
  cell,
20
24
  table,
25
+ ...rest
21
26
  }: Props<TData>) => {
22
27
  const {
23
28
  getState,
@@ -50,6 +55,7 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
50
55
  row,
51
56
  table,
52
57
  }),
58
+ ...rest,
53
59
  };
54
60
 
55
61
  const saveInputValueToRowCache = (newValue: string) => {
@@ -103,7 +109,7 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
103
109
  ['custom', 'modal'].includes(
104
110
  (isCreating ? createDisplayMode : editDisplayMode) as string,
105
111
  )
106
- ? column.columnDef.header
112
+ ? columnDef.header
107
113
  : undefined
108
114
  }
109
115
  margin="none"
@@ -116,9 +122,25 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
116
122
  : undefined
117
123
  }
118
124
  select={isSelectEdit}
125
+ size="small"
119
126
  value={value}
120
127
  variant="standard"
121
128
  {...textFieldProps}
129
+ InputProps={{
130
+ disableUnderline: editDisplayMode === 'table',
131
+ ...textFieldProps.InputProps,
132
+ sx: (theme) => ({
133
+ mb: 0,
134
+ ...(parseFromValuesOrFunc(
135
+ textFieldProps?.InputProps?.sx,
136
+ theme,
137
+ ) as any),
138
+ }),
139
+ }}
140
+ inputProps={{
141
+ autoComplete: 'new-password', // disable autocomplete and autofill
142
+ ...textFieldProps.inputProps,
143
+ }}
122
144
  onBlur={handleBlur}
123
145
  onChange={handleChange}
124
146
  onClick={(e) => {
@@ -1,17 +1,22 @@
1
- import Checkbox from '@mui/material/Checkbox';
1
+ import Checkbox, { type CheckboxProps } from '@mui/material/Checkbox';
2
2
  import FormControlLabel from '@mui/material/FormControlLabel';
3
3
  import Tooltip from '@mui/material/Tooltip';
4
4
  import { parseFromValuesOrFunc } from '../column.utils';
5
- import { type MRT_Column, type MRT_TableInstance } from '../types';
5
+ import {
6
+ type MRT_Column,
7
+ type MRT_RowData,
8
+ type MRT_TableInstance,
9
+ } from '../types';
6
10
 
7
- interface Props<TData extends Record<string, any>> {
11
+ interface Props<TData extends MRT_RowData> extends CheckboxProps {
8
12
  column: MRT_Column<TData>;
9
13
  table: MRT_TableInstance<TData>;
10
14
  }
11
15
 
12
- export const MRT_FilterCheckbox = <TData extends Record<string, any>>({
16
+ export const MRT_FilterCheckbox = <TData extends MRT_RowData>({
13
17
  column,
14
18
  table,
19
+ ...rest
15
20
  }: Props<TData>) => {
16
21
  const {
17
22
  getState,
@@ -29,6 +34,7 @@ export const MRT_FilterCheckbox = <TData extends Record<string, any>>({
29
34
  column,
30
35
  table,
31
36
  }),
37
+ ...rest,
32
38
  };
33
39
 
34
40
  const filterLabel = localization.filterByColumn?.replace(
@@ -38,7 +44,6 @@ export const MRT_FilterCheckbox = <TData extends Record<string, any>>({
38
44
 
39
45
  return (
40
46
  <Tooltip
41
- arrow
42
47
  enterDelay={1000}
43
48
  enterNextDelay={1000}
44
49
  title={checkboxProps?.title ?? filterLabel}
@@ -1,18 +1,32 @@
1
- import Box from '@mui/material/Box';
1
+ import Box, { type BoxProps } from '@mui/material/Box';
2
2
  import { MRT_FilterTextField } from './MRT_FilterTextField';
3
- import { type MRT_Header, type MRT_TableInstance } from '../types';
3
+ import { parseFromValuesOrFunc } from '../column.utils';
4
+ import {
5
+ type MRT_Header,
6
+ type MRT_RowData,
7
+ type MRT_TableInstance,
8
+ } from '../types';
4
9
 
5
- interface Props<TData extends Record<string, any>> {
10
+ interface Props<TData extends MRT_RowData> extends BoxProps {
6
11
  header: MRT_Header<TData>;
7
12
  table: MRT_TableInstance<TData>;
8
13
  }
9
14
 
10
- export const MRT_FilterRangeFields = <TData extends Record<string, any>>({
15
+ export const MRT_FilterRangeFields = <TData extends MRT_RowData>({
11
16
  header,
12
17
  table,
18
+ ...rest
13
19
  }: Props<TData>) => {
14
20
  return (
15
- <Box sx={{ display: 'grid', gap: '1rem', gridTemplateColumns: '1fr 1fr' }}>
21
+ <Box
22
+ {...rest}
23
+ sx={(theme) => ({
24
+ display: 'grid',
25
+ gap: '1rem',
26
+ gridTemplateColumns: '1fr 1fr',
27
+ ...(parseFromValuesOrFunc(rest?.sx, theme) as any),
28
+ })}
29
+ >
16
30
  <MRT_FilterTextField header={header} rangeFilterIndex={0} table={table} />
17
31
  <MRT_FilterTextField header={header} rangeFilterIndex={1} table={table} />
18
32
  </Box>
@@ -1,18 +1,23 @@
1
1
  import { useEffect, useRef, useState } from 'react';
2
2
  import FormHelperText from '@mui/material/FormHelperText';
3
- import Slider from '@mui/material/Slider';
3
+ import Slider, { type SliderProps } from '@mui/material/Slider';
4
4
  import Stack from '@mui/material/Stack';
5
5
  import { parseFromValuesOrFunc } from '../column.utils';
6
- import { type MRT_Header, type MRT_TableInstance } from '../types';
6
+ import {
7
+ type MRT_Header,
8
+ type MRT_RowData,
9
+ type MRT_TableInstance,
10
+ } from '../types';
7
11
 
8
- interface Props<TData extends Record<string, any>> {
12
+ interface Props<TData extends MRT_RowData> extends SliderProps {
9
13
  header: MRT_Header<TData>;
10
14
  table: MRT_TableInstance<TData>;
11
15
  }
12
16
 
13
- export const MRT_FilterRangeSlider = <TData extends Record<string, any>>({
17
+ export const MRT_FilterRangeSlider = <TData extends MRT_RowData>({
14
18
  header,
15
19
  table,
20
+ ...rest
16
21
  }: Props<TData>) => {
17
22
  const {
18
23
  options: { enableColumnFilterModes, localization, muiFilterSliderProps },
@@ -29,6 +34,7 @@ export const MRT_FilterRangeSlider = <TData extends Record<string, any>>({
29
34
  const sliderProps = {
30
35
  ...parseFromValuesOrFunc(muiFilterSliderProps, { column, table }),
31
36
  ...parseFromValuesOrFunc(columnDef.muiFilterSliderProps, { column, table }),
37
+ ...rest,
32
38
  };
33
39
 
34
40
  let [min, max] =
@@ -23,18 +23,23 @@ import {
23
23
  } from '@mui/x-date-pickers/DatePicker';
24
24
  import { parseFromValuesOrFunc } from '../column.utils';
25
25
  import { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';
26
- import { type MRT_Header, type MRT_TableInstance } from '../types';
26
+ import {
27
+ type MRT_Header,
28
+ type MRT_RowData,
29
+ type MRT_TableInstance,
30
+ } from '../types';
27
31
 
28
- interface Props<TData extends Record<string, any>> {
32
+ interface Props<TData extends MRT_RowData> extends TextFieldProps<'standard'> {
29
33
  header: MRT_Header<TData>;
30
34
  rangeFilterIndex?: number;
31
35
  table: MRT_TableInstance<TData>;
32
36
  }
33
37
 
34
- export const MRT_FilterTextField = <TData extends Record<string, any>>({
38
+ export const MRT_FilterTextField = <TData extends MRT_RowData>({
35
39
  header,
36
40
  rangeFilterIndex,
37
41
  table,
42
+ ...rest
38
43
  }: Props<TData>) => {
39
44
  const {
40
45
  options: {
@@ -60,6 +65,7 @@ export const MRT_FilterTextField = <TData extends Record<string, any>>({
60
65
  column,
61
66
  table,
62
67
  }),
68
+ ...rest,
63
69
  };
64
70
 
65
71
  const autocompleteProps = {
@@ -236,7 +242,7 @@ export const MRT_FilterTextField = <TData extends Record<string, any>>({
236
242
  position="end"
237
243
  sx={{ mr: isSelectFilter || isMultiSelectFilter ? '20px' : undefined }}
238
244
  >
239
- <Tooltip arrow placement="right" title={localization.clearFilter ?? ''}>
245
+ <Tooltip placement="right" title={localization.clearFilter ?? ''}>
240
246
  <span>
241
247
  <IconButton
242
248
  aria-label={localization.clearFilter}
@@ -258,7 +264,7 @@ export const MRT_FilterTextField = <TData extends Record<string, any>>({
258
264
 
259
265
  const startAdornment = showChangeModeButton ? (
260
266
  <InputAdornment position="start">
261
- <Tooltip arrow title={localization.changeFilterMode}>
267
+ <Tooltip title={localization.changeFilterMode}>
262
268
  <span>
263
269
  <IconButton
264
270
  aria-label={localization.changeFilterMode}
@@ -329,6 +335,8 @@ export const MRT_FilterTextField = <TData extends Record<string, any>>({
329
335
  sx: (theme) => ({
330
336
  minWidth: isDateFilter
331
337
  ? '160px'
338
+ : enableColumnFilterModes && rangeFilterIndex === 0
339
+ ? '110px'
332
340
  : isRangeFilter
333
341
  ? '100px'
334
342
  : !filterChipLabel