material-react-table 2.0.0-beta.1 → 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 (509) hide show
  1. package/dist/index.d.ts +279 -261
  2. package/dist/{esm/material-react-table.esm.js → index.esm.js} +945 -921
  3. package/dist/index.esm.js.map +1 -0
  4. package/dist/{cjs/index.js → index.js} +1027 -1090
  5. package/dist/index.js.map +1 -0
  6. package/locales/ar.d.ts +1 -0
  7. package/locales/ar.js +0 -3
  8. package/locales/{ar.esm.js → ar.mjs} +0 -1
  9. package/locales/az.d.ts +3 -0
  10. package/locales/az.js +95 -0
  11. package/locales/az.mjs +93 -0
  12. package/locales/bg.d.ts +1 -0
  13. package/locales/bg.js +0 -3
  14. package/locales/{bg.esm.js → bg.mjs} +0 -1
  15. package/locales/cs.d.ts +1 -0
  16. package/locales/cs.js +0 -3
  17. package/locales/{cs.esm.js → cs.mjs} +0 -1
  18. package/locales/da.d.ts +1 -0
  19. package/locales/da.js +0 -3
  20. package/locales/{da.esm.js → da.mjs} +0 -1
  21. package/locales/de.d.ts +1 -0
  22. package/locales/de.js +0 -3
  23. package/locales/{de.esm.js → de.mjs} +0 -1
  24. package/locales/en.d.ts +1 -0
  25. package/locales/en.js +0 -3
  26. package/locales/{en.esm.js → en.mjs} +0 -1
  27. package/locales/es.d.ts +1 -0
  28. package/locales/es.js +0 -3
  29. package/locales/{es.esm.js → es.mjs} +0 -1
  30. package/locales/et.d.ts +1 -0
  31. package/locales/et.js +0 -3
  32. package/locales/{et.esm.js → et.mjs} +0 -1
  33. package/locales/fa.d.ts +1 -0
  34. package/locales/fa.js +0 -3
  35. package/locales/{fa.esm.js → fa.mjs} +0 -1
  36. package/locales/fi.d.ts +1 -0
  37. package/locales/fi.js +0 -3
  38. package/locales/{fi.esm.js → fi.mjs} +0 -1
  39. package/locales/fr.d.ts +1 -0
  40. package/locales/fr.js +0 -3
  41. package/locales/{fr.esm.js → fr.mjs} +0 -1
  42. package/locales/hu.d.ts +1 -0
  43. package/locales/hu.js +0 -3
  44. package/locales/{hu.esm.js → hu.mjs} +0 -1
  45. package/locales/hy.d.ts +1 -0
  46. package/locales/hy.js +0 -3
  47. package/locales/{hy.esm.js → hy.mjs} +0 -1
  48. package/locales/id.d.ts +1 -0
  49. package/locales/id.js +0 -3
  50. package/locales/{id.esm.js → id.mjs} +0 -1
  51. package/locales/it.d.ts +1 -0
  52. package/locales/it.js +0 -3
  53. package/locales/{it.esm.js → it.mjs} +0 -1
  54. package/locales/ja.d.ts +1 -0
  55. package/locales/ja.js +0 -3
  56. package/locales/{ja.esm.js → ja.mjs} +0 -1
  57. package/locales/ko.d.ts +1 -0
  58. package/locales/ko.js +0 -3
  59. package/locales/{ko.esm.js → ko.mjs} +0 -1
  60. package/locales/nl.d.ts +1 -0
  61. package/locales/nl.js +0 -3
  62. package/locales/{nl.esm.js → nl.mjs} +0 -1
  63. package/locales/no.d.ts +2 -1
  64. package/locales/no.js +0 -3
  65. package/locales/{no.esm.js → no.mjs} +0 -1
  66. package/locales/np.d.ts +1 -0
  67. package/locales/np.js +0 -3
  68. package/locales/{np.esm.js → np.mjs} +0 -1
  69. package/locales/pl.d.ts +1 -0
  70. package/locales/pl.js +0 -3
  71. package/locales/{pl.esm.js → pl.mjs} +0 -1
  72. package/locales/pt-BR.d.ts +1 -0
  73. package/locales/pt-BR.js +0 -3
  74. package/locales/{pt-BR.esm.js → pt-BR.mjs} +0 -1
  75. package/locales/pt.d.ts +1 -0
  76. package/locales/pt.js +0 -3
  77. package/locales/{pt.esm.js → pt.mjs} +0 -1
  78. package/locales/ro.d.ts +1 -0
  79. package/locales/ro.js +0 -3
  80. package/locales/{ro.esm.js → ro.mjs} +0 -1
  81. package/locales/ru.d.ts +1 -0
  82. package/locales/ru.js +0 -3
  83. package/locales/{ru.esm.js → ru.mjs} +0 -1
  84. package/locales/sk.d.ts +1 -0
  85. package/locales/sk.js +0 -3
  86. package/locales/{sk.esm.js → sk.mjs} +0 -1
  87. package/locales/sr-Cyrl-RS.d.ts +1 -0
  88. package/locales/sr-Cyrl-RS.js +0 -3
  89. package/locales/{sr-Cyrl-RS.esm.js → sr-Cyrl-RS.mjs} +0 -1
  90. package/locales/sr-Latn-RS.d.ts +1 -0
  91. package/locales/sr-Latn-RS.js +0 -3
  92. package/locales/{sr-Latn-RS.esm.js → sr-Latn-RS.mjs} +0 -1
  93. package/locales/sv.d.ts +1 -0
  94. package/locales/sv.js +0 -3
  95. package/locales/{sv.esm.js → sv.mjs} +0 -1
  96. package/locales/tr.d.ts +1 -0
  97. package/locales/tr.js +0 -3
  98. package/locales/{tr.esm.js → tr.mjs} +0 -1
  99. package/locales/uk.d.ts +1 -0
  100. package/locales/uk.js +0 -3
  101. package/locales/{uk.esm.js → uk.mjs} +0 -1
  102. package/locales/vi.d.ts +1 -0
  103. package/locales/vi.js +0 -3
  104. package/locales/{vi.esm.js → vi.mjs} +0 -1
  105. package/locales/zh-Hans.d.ts +1 -0
  106. package/locales/zh-Hans.js +17 -20
  107. package/locales/{zh-Hans.esm.js → zh-Hans.mjs} +17 -18
  108. package/locales/zh-Hant.d.ts +1 -0
  109. package/locales/zh-Hant.js +0 -3
  110. package/locales/{zh-Hant.esm.js → zh-Hant.mjs} +0 -1
  111. package/package.json +215 -32
  112. package/src/MaterialReactTable.tsx +5 -4
  113. package/src/body/MRT_TableBody.tsx +14 -8
  114. package/src/body/MRT_TableBodyCell.tsx +77 -70
  115. package/src/body/MRT_TableBodyCellValue.tsx +13 -9
  116. package/src/body/MRT_TableBodyRow.tsx +26 -15
  117. package/src/body/MRT_TableBodyRowGrabHandle.tsx +16 -7
  118. package/src/body/MRT_TableBodyRowPinButton.tsx +18 -7
  119. package/src/body/MRT_TableDetailPanel.tsx +19 -11
  120. package/src/buttons/MRT_ColumnPinningButtons.tsx +21 -8
  121. package/src/buttons/MRT_CopyButton.tsx +12 -11
  122. package/src/buttons/MRT_EditActionButtons.tsx +17 -7
  123. package/src/buttons/MRT_ExpandAllButton.tsx +13 -11
  124. package/src/buttons/MRT_ExpandButton.tsx +10 -8
  125. package/src/buttons/MRT_GrabHandleButton.tsx +10 -8
  126. package/src/buttons/MRT_RowPinButton.tsx +14 -7
  127. package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -4
  128. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +4 -6
  129. package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -4
  130. package/src/buttons/MRT_ToggleFullScreenButton.tsx +3 -4
  131. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +4 -6
  132. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +15 -9
  133. package/src/column.utils.ts +46 -141
  134. package/src/filterFns.ts +15 -14
  135. package/src/footer/MRT_TableFooter.tsx +11 -7
  136. package/src/footer/MRT_TableFooterCell.tsx +21 -16
  137. package/src/footer/MRT_TableFooterRow.tsx +14 -9
  138. package/src/head/MRT_TableHead.tsx +10 -6
  139. package/src/head/MRT_TableHeadCell.tsx +102 -91
  140. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +13 -12
  141. package/src/head/MRT_TableHeadCellFilterContainer.tsx +10 -6
  142. package/src/head/MRT_TableHeadCellFilterLabel.tsx +15 -9
  143. package/src/head/MRT_TableHeadCellGrabHandle.tsx +10 -3
  144. package/src/head/MRT_TableHeadCellResizeHandle.tsx +14 -9
  145. package/src/head/MRT_TableHeadCellSortLabel.tsx +38 -18
  146. package/src/head/MRT_TableHeadRow.tsx +15 -9
  147. package/src/hooks/useMRT_DisplayColumns.tsx +14 -10
  148. package/src/hooks/useMRT_Effects.ts +6 -2
  149. package/src/hooks/useMRT_TableInstance.ts +3 -2
  150. package/src/hooks/useMRT_TableOptions.ts +29 -4
  151. package/src/index.ts +1 -0
  152. package/src/inputs/MRT_EditCellTextField.tsx +18 -4
  153. package/src/inputs/MRT_FilterCheckbox.tsx +10 -5
  154. package/src/inputs/MRT_FilterRangeFields.tsx +19 -5
  155. package/src/inputs/MRT_FilterRangeSlider.tsx +10 -4
  156. package/src/inputs/MRT_FilterTextField.tsx +13 -5
  157. package/src/inputs/MRT_GlobalFilterTextField.tsx +27 -10
  158. package/src/inputs/MRT_SelectCheckbox.tsx +14 -7
  159. package/src/locales/az.ts +94 -0
  160. package/src/locales/no.ts +1 -1
  161. package/src/locales/zh-Hans.ts +17 -17
  162. package/src/menus/MRT_ColumnActionMenu.tsx +10 -4
  163. package/src/menus/MRT_FilterOptionMenu.tsx +6 -3
  164. package/src/menus/MRT_RowActionMenu.tsx +10 -4
  165. package/src/menus/MRT_ShowHideColumnsMenu.tsx +10 -4
  166. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +17 -10
  167. package/src/modals/MRT_EditRowModal.tsx +17 -11
  168. package/src/sortingFns.ts +3 -3
  169. package/src/style.utils.ts +149 -0
  170. package/src/table/MRT_Table.tsx +28 -34
  171. package/src/table/MRT_TableContainer.tsx +17 -46
  172. package/src/table/MRT_TableLoadingOverlay.tsx +54 -0
  173. package/src/table/MRT_TablePaper.tsx +13 -6
  174. package/src/table/index.ts +1 -0
  175. package/src/toolbar/MRT_BottomToolbar.tsx +16 -14
  176. package/src/toolbar/MRT_LinearProgressBar.tsx +16 -10
  177. package/src/toolbar/MRT_TablePagination.tsx +20 -10
  178. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +11 -7
  179. package/src/toolbar/MRT_ToolbarDropZone.tsx +8 -4
  180. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +10 -6
  181. package/src/toolbar/MRT_TopToolbar.tsx +11 -24
  182. package/src/types.ts +98 -56
  183. package/src/useMaterialReactTable.ts +8 -7
  184. package/dist/cjs/index.js.map +0 -1
  185. package/dist/cjs/types/MaterialReactTable.d.ts +0 -7
  186. package/dist/cjs/types/aggregationFns.d.ts +0 -11
  187. package/dist/cjs/types/body/MRT_TableBody.d.ts +0 -12
  188. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +0 -15
  189. package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +0 -7
  190. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +0 -18
  191. package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
  192. package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
  193. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +0 -12
  194. package/dist/cjs/types/body/index.d.ts +0 -7
  195. package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
  196. package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +0 -9
  197. package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +0 -8
  198. package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
  199. package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +0 -7
  200. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
  201. package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +0 -9
  202. package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  203. package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  204. package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  205. package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  206. package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  207. package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
  208. package/dist/cjs/types/buttons/index.d.ts +0 -13
  209. package/dist/cjs/types/column.utils.d.ts +0 -148
  210. package/dist/cjs/types/filterFns.d.ts +0 -68
  211. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +0 -10
  212. package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +0 -7
  213. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +0 -11
  214. package/dist/cjs/types/footer/index.d.ts +0 -3
  215. package/dist/cjs/types/head/MRT_TableHead.d.ts +0 -10
  216. package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +0 -7
  217. package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
  218. package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
  219. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
  220. package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
  221. package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
  222. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
  223. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +0 -11
  224. package/dist/cjs/types/head/index.d.ts +0 -9
  225. package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  226. package/dist/cjs/types/hooks/useMRT_Effects.d.ts +0 -2
  227. package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +0 -2
  228. package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +0 -2
  229. package/dist/cjs/types/icons.d.ts +0 -36
  230. package/dist/cjs/types/index.d.ts +0 -16
  231. package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +0 -7
  232. package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
  233. package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
  234. package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
  235. package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +0 -8
  236. package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
  237. package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
  238. package/dist/cjs/types/inputs/index.d.ts +0 -7
  239. package/dist/cjs/types/locales/ar.d.ts +0 -2
  240. package/dist/cjs/types/locales/bg.d.ts +0 -2
  241. package/dist/cjs/types/locales/cs.d.ts +0 -2
  242. package/dist/cjs/types/locales/da.d.ts +0 -2
  243. package/dist/cjs/types/locales/de.d.ts +0 -2
  244. package/dist/cjs/types/locales/en.d.ts +0 -2
  245. package/dist/cjs/types/locales/es.d.ts +0 -2
  246. package/dist/cjs/types/locales/et.d.ts +0 -2
  247. package/dist/cjs/types/locales/fa.d.ts +0 -2
  248. package/dist/cjs/types/locales/fi.d.ts +0 -2
  249. package/dist/cjs/types/locales/fr.d.ts +0 -2
  250. package/dist/cjs/types/locales/hu.d.ts +0 -2
  251. package/dist/cjs/types/locales/hy.d.ts +0 -2
  252. package/dist/cjs/types/locales/id.d.ts +0 -2
  253. package/dist/cjs/types/locales/it.d.ts +0 -2
  254. package/dist/cjs/types/locales/ja.d.ts +0 -2
  255. package/dist/cjs/types/locales/ko.d.ts +0 -2
  256. package/dist/cjs/types/locales/nl.d.ts +0 -2
  257. package/dist/cjs/types/locales/no.d.ts +0 -2
  258. package/dist/cjs/types/locales/np.d.ts +0 -2
  259. package/dist/cjs/types/locales/pl.d.ts +0 -2
  260. package/dist/cjs/types/locales/pt-BR.d.ts +0 -2
  261. package/dist/cjs/types/locales/pt.d.ts +0 -2
  262. package/dist/cjs/types/locales/ro.d.ts +0 -2
  263. package/dist/cjs/types/locales/ru.d.ts +0 -2
  264. package/dist/cjs/types/locales/sk.d.ts +0 -2
  265. package/dist/cjs/types/locales/sr-Cyrl-RS.d.ts +0 -2
  266. package/dist/cjs/types/locales/sr-Latn-RS.d.ts +0 -2
  267. package/dist/cjs/types/locales/sv.d.ts +0 -2
  268. package/dist/cjs/types/locales/tr.d.ts +0 -2
  269. package/dist/cjs/types/locales/uk.d.ts +0 -2
  270. package/dist/cjs/types/locales/vi.d.ts +0 -2
  271. package/dist/cjs/types/locales/zh-Hans.d.ts +0 -2
  272. package/dist/cjs/types/locales/zh-Hant.d.ts +0 -2
  273. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
  274. package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
  275. package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +0 -11
  276. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
  277. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
  278. package/dist/cjs/types/menus/index.d.ts +0 -5
  279. package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +0 -7
  280. package/dist/cjs/types/modals/index.d.ts +0 -1
  281. package/dist/cjs/types/sortingFns.d.ts +0 -12
  282. package/dist/cjs/types/table/MRT_Table.d.ts +0 -6
  283. package/dist/cjs/types/table/MRT_TableContainer.d.ts +0 -6
  284. package/dist/cjs/types/table/MRT_TablePaper.d.ts +0 -6
  285. package/dist/cjs/types/table/index.d.ts +0 -4
  286. package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
  287. package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
  288. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +0 -7
  289. package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
  290. package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
  291. package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
  292. package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +0 -21
  293. package/dist/cjs/types/toolbar/index.d.ts +0 -7
  294. package/dist/cjs/types/types.d.ts +0 -818
  295. package/dist/cjs/types/useMaterialReactTable.d.ts +0 -2
  296. package/dist/esm/material-react-table.esm.js.map +0 -1
  297. package/dist/esm/types/MaterialReactTable.d.ts +0 -7
  298. package/dist/esm/types/aggregationFns.d.ts +0 -11
  299. package/dist/esm/types/body/MRT_TableBody.d.ts +0 -12
  300. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +0 -15
  301. package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +0 -7
  302. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +0 -18
  303. package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
  304. package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
  305. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +0 -12
  306. package/dist/esm/types/body/index.d.ts +0 -7
  307. package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
  308. package/dist/esm/types/buttons/MRT_CopyButton.d.ts +0 -9
  309. package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +0 -8
  310. package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
  311. package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +0 -7
  312. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
  313. package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +0 -9
  314. package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
  315. package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
  316. package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
  317. package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
  318. package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
  319. package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
  320. package/dist/esm/types/buttons/index.d.ts +0 -13
  321. package/dist/esm/types/column.utils.d.ts +0 -148
  322. package/dist/esm/types/filterFns.d.ts +0 -68
  323. package/dist/esm/types/footer/MRT_TableFooter.d.ts +0 -10
  324. package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +0 -7
  325. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +0 -11
  326. package/dist/esm/types/footer/index.d.ts +0 -3
  327. package/dist/esm/types/head/MRT_TableHead.d.ts +0 -10
  328. package/dist/esm/types/head/MRT_TableHeadCell.d.ts +0 -7
  329. package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
  330. package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
  331. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
  332. package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
  333. package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
  334. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
  335. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +0 -11
  336. package/dist/esm/types/head/index.d.ts +0 -9
  337. package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
  338. package/dist/esm/types/hooks/useMRT_Effects.d.ts +0 -2
  339. package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +0 -2
  340. package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +0 -2
  341. package/dist/esm/types/icons.d.ts +0 -36
  342. package/dist/esm/types/index.d.ts +0 -16
  343. package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +0 -7
  344. package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
  345. package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
  346. package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
  347. package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +0 -8
  348. package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
  349. package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
  350. package/dist/esm/types/inputs/index.d.ts +0 -7
  351. package/dist/esm/types/locales/ar.d.ts +0 -2
  352. package/dist/esm/types/locales/bg.d.ts +0 -2
  353. package/dist/esm/types/locales/cs.d.ts +0 -2
  354. package/dist/esm/types/locales/da.d.ts +0 -2
  355. package/dist/esm/types/locales/de.d.ts +0 -2
  356. package/dist/esm/types/locales/en.d.ts +0 -2
  357. package/dist/esm/types/locales/es.d.ts +0 -2
  358. package/dist/esm/types/locales/et.d.ts +0 -2
  359. package/dist/esm/types/locales/fa.d.ts +0 -2
  360. package/dist/esm/types/locales/fi.d.ts +0 -2
  361. package/dist/esm/types/locales/fr.d.ts +0 -2
  362. package/dist/esm/types/locales/hu.d.ts +0 -2
  363. package/dist/esm/types/locales/hy.d.ts +0 -2
  364. package/dist/esm/types/locales/id.d.ts +0 -2
  365. package/dist/esm/types/locales/it.d.ts +0 -2
  366. package/dist/esm/types/locales/ja.d.ts +0 -2
  367. package/dist/esm/types/locales/ko.d.ts +0 -2
  368. package/dist/esm/types/locales/nl.d.ts +0 -2
  369. package/dist/esm/types/locales/no.d.ts +0 -2
  370. package/dist/esm/types/locales/np.d.ts +0 -2
  371. package/dist/esm/types/locales/pl.d.ts +0 -2
  372. package/dist/esm/types/locales/pt-BR.d.ts +0 -2
  373. package/dist/esm/types/locales/pt.d.ts +0 -2
  374. package/dist/esm/types/locales/ro.d.ts +0 -2
  375. package/dist/esm/types/locales/ru.d.ts +0 -2
  376. package/dist/esm/types/locales/sk.d.ts +0 -2
  377. package/dist/esm/types/locales/sr-Cyrl-RS.d.ts +0 -2
  378. package/dist/esm/types/locales/sr-Latn-RS.d.ts +0 -2
  379. package/dist/esm/types/locales/sv.d.ts +0 -2
  380. package/dist/esm/types/locales/tr.d.ts +0 -2
  381. package/dist/esm/types/locales/uk.d.ts +0 -2
  382. package/dist/esm/types/locales/vi.d.ts +0 -2
  383. package/dist/esm/types/locales/zh-Hans.d.ts +0 -2
  384. package/dist/esm/types/locales/zh-Hant.d.ts +0 -2
  385. package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
  386. package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
  387. package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +0 -11
  388. package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
  389. package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
  390. package/dist/esm/types/menus/index.d.ts +0 -5
  391. package/dist/esm/types/modals/MRT_EditRowModal.d.ts +0 -7
  392. package/dist/esm/types/modals/index.d.ts +0 -1
  393. package/dist/esm/types/sortingFns.d.ts +0 -12
  394. package/dist/esm/types/table/MRT_Table.d.ts +0 -6
  395. package/dist/esm/types/table/MRT_TableContainer.d.ts +0 -6
  396. package/dist/esm/types/table/MRT_TablePaper.d.ts +0 -6
  397. package/dist/esm/types/table/index.d.ts +0 -4
  398. package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
  399. package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
  400. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +0 -7
  401. package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
  402. package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
  403. package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
  404. package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +0 -21
  405. package/dist/esm/types/toolbar/index.d.ts +0 -7
  406. package/dist/esm/types/types.d.ts +0 -818
  407. package/dist/esm/types/useMaterialReactTable.d.ts +0 -2
  408. package/locales/ar.esm.d.ts +0 -2
  409. package/locales/ar.esm.js.map +0 -1
  410. package/locales/ar.js.map +0 -1
  411. package/locales/bg.esm.d.ts +0 -2
  412. package/locales/bg.esm.js.map +0 -1
  413. package/locales/bg.js.map +0 -1
  414. package/locales/cs.esm.d.ts +0 -2
  415. package/locales/cs.esm.js.map +0 -1
  416. package/locales/cs.js.map +0 -1
  417. package/locales/da.esm.d.ts +0 -2
  418. package/locales/da.esm.js.map +0 -1
  419. package/locales/da.js.map +0 -1
  420. package/locales/de.esm.d.ts +0 -2
  421. package/locales/de.esm.js.map +0 -1
  422. package/locales/de.js.map +0 -1
  423. package/locales/en.esm.d.ts +0 -2
  424. package/locales/en.esm.js.map +0 -1
  425. package/locales/en.js.map +0 -1
  426. package/locales/es.esm.d.ts +0 -2
  427. package/locales/es.esm.js.map +0 -1
  428. package/locales/es.js.map +0 -1
  429. package/locales/et.esm.d.ts +0 -2
  430. package/locales/et.esm.js.map +0 -1
  431. package/locales/et.js.map +0 -1
  432. package/locales/fa.esm.d.ts +0 -2
  433. package/locales/fa.esm.js.map +0 -1
  434. package/locales/fa.js.map +0 -1
  435. package/locales/fi.esm.d.ts +0 -2
  436. package/locales/fi.esm.js.map +0 -1
  437. package/locales/fi.js.map +0 -1
  438. package/locales/fr.esm.d.ts +0 -2
  439. package/locales/fr.esm.js.map +0 -1
  440. package/locales/fr.js.map +0 -1
  441. package/locales/hu.esm.d.ts +0 -2
  442. package/locales/hu.esm.js.map +0 -1
  443. package/locales/hu.js.map +0 -1
  444. package/locales/hy.esm.d.ts +0 -2
  445. package/locales/hy.esm.js.map +0 -1
  446. package/locales/hy.js.map +0 -1
  447. package/locales/id.esm.d.ts +0 -2
  448. package/locales/id.esm.js.map +0 -1
  449. package/locales/id.js.map +0 -1
  450. package/locales/it.esm.d.ts +0 -2
  451. package/locales/it.esm.js.map +0 -1
  452. package/locales/it.js.map +0 -1
  453. package/locales/ja.esm.d.ts +0 -2
  454. package/locales/ja.esm.js.map +0 -1
  455. package/locales/ja.js.map +0 -1
  456. package/locales/ko.esm.d.ts +0 -2
  457. package/locales/ko.esm.js.map +0 -1
  458. package/locales/ko.js.map +0 -1
  459. package/locales/nl.esm.d.ts +0 -2
  460. package/locales/nl.esm.js.map +0 -1
  461. package/locales/nl.js.map +0 -1
  462. package/locales/no.esm.d.ts +0 -2
  463. package/locales/no.esm.js.map +0 -1
  464. package/locales/no.js.map +0 -1
  465. package/locales/np.esm.d.ts +0 -2
  466. package/locales/np.esm.js.map +0 -1
  467. package/locales/np.js.map +0 -1
  468. package/locales/pl.esm.d.ts +0 -2
  469. package/locales/pl.esm.js.map +0 -1
  470. package/locales/pl.js.map +0 -1
  471. package/locales/pt-BR.esm.d.ts +0 -2
  472. package/locales/pt-BR.esm.js.map +0 -1
  473. package/locales/pt-BR.js.map +0 -1
  474. package/locales/pt.esm.d.ts +0 -2
  475. package/locales/pt.esm.js.map +0 -1
  476. package/locales/pt.js.map +0 -1
  477. package/locales/ro.esm.d.ts +0 -2
  478. package/locales/ro.esm.js.map +0 -1
  479. package/locales/ro.js.map +0 -1
  480. package/locales/ru.esm.d.ts +0 -2
  481. package/locales/ru.esm.js.map +0 -1
  482. package/locales/ru.js.map +0 -1
  483. package/locales/sk.esm.d.ts +0 -2
  484. package/locales/sk.esm.js.map +0 -1
  485. package/locales/sk.js.map +0 -1
  486. package/locales/sr-Cyrl-RS.esm.d.ts +0 -2
  487. package/locales/sr-Cyrl-RS.esm.js.map +0 -1
  488. package/locales/sr-Cyrl-RS.js.map +0 -1
  489. package/locales/sr-Latn-RS.esm.d.ts +0 -2
  490. package/locales/sr-Latn-RS.esm.js.map +0 -1
  491. package/locales/sr-Latn-RS.js.map +0 -1
  492. package/locales/sv.esm.d.ts +0 -2
  493. package/locales/sv.esm.js.map +0 -1
  494. package/locales/sv.js.map +0 -1
  495. package/locales/tr.esm.d.ts +0 -2
  496. package/locales/tr.esm.js.map +0 -1
  497. package/locales/tr.js.map +0 -1
  498. package/locales/uk.esm.d.ts +0 -2
  499. package/locales/uk.esm.js.map +0 -1
  500. package/locales/uk.js.map +0 -1
  501. package/locales/vi.esm.d.ts +0 -2
  502. package/locales/vi.esm.js.map +0 -1
  503. package/locales/vi.js.map +0 -1
  504. package/locales/zh-Hans.esm.d.ts +0 -2
  505. package/locales/zh-Hans.esm.js.map +0 -1
  506. package/locales/zh-Hans.js.map +0 -1
  507. package/locales/zh-Hant.esm.d.ts +0 -2
  508. package/locales/zh-Hant.esm.js.map +0 -1
  509. package/locales/zh-Hant.js.map +0 -1
@@ -1,19 +1,25 @@
1
1
  import { type MouseEvent, useState } from 'react';
2
2
  import { type RowPinningPosition } from '@tanstack/react-table';
3
- import IconButton from '@mui/material/IconButton';
3
+ import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
4
4
  import Tooltip from '@mui/material/Tooltip';
5
- import { type MRT_Row, type MRT_TableInstance } from '../types';
5
+ import { parseFromValuesOrFunc } from '../column.utils';
6
+ import {
7
+ type MRT_Row,
8
+ type MRT_RowData,
9
+ type MRT_TableInstance,
10
+ } from '../types';
6
11
 
7
- interface Props<TData extends Record<string, any>> {
12
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
8
13
  pinningPosition: RowPinningPosition;
9
14
  row: MRT_Row<TData>;
10
15
  table: MRT_TableInstance<TData>;
11
16
  }
12
17
 
13
- export const MRT_RowPinButton = <TData extends Record<string, any>>({
18
+ export const MRT_RowPinButton = <TData extends MRT_RowData>({
14
19
  pinningPosition,
15
20
  row,
16
21
  table,
22
+ ...rest
17
23
  }: Props<TData>) => {
18
24
  const {
19
25
  options: {
@@ -35,7 +41,6 @@ export const MRT_RowPinButton = <TData extends Record<string, any>>({
35
41
 
36
42
  return (
37
43
  <Tooltip
38
- arrow
39
44
  enterDelay={1000}
40
45
  enterNextDelay={1000}
41
46
  open={tooltipOpened}
@@ -47,10 +52,12 @@ export const MRT_RowPinButton = <TData extends Record<string, any>>({
47
52
  onMouseEnter={() => setTooltipOpened(true)}
48
53
  onMouseLeave={() => setTooltipOpened(false)}
49
54
  size="small"
50
- sx={{
55
+ {...rest}
56
+ sx={(theme) => ({
51
57
  height: '24px',
52
58
  width: '24px',
53
- }}
59
+ ...(parseFromValuesOrFunc(rest?.sx, theme) as any),
60
+ })}
54
61
  >
55
62
  {isPinned ? (
56
63
  <CloseIcon />
@@ -2,13 +2,13 @@ import { type MouseEvent, useState } from 'react';
2
2
  import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
3
3
  import Tooltip from '@mui/material/Tooltip';
4
4
  import { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';
5
- import { type MRT_TableInstance } from '../types';
5
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
6
6
 
7
- interface Props<TData extends Record<string, any>> extends IconButtonProps {
7
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
8
8
  table: MRT_TableInstance<TData>;
9
9
  }
10
10
 
11
- export const MRT_ShowHideColumnsButton = <TData extends Record<string, any>>({
11
+ export const MRT_ShowHideColumnsButton = <TData extends MRT_RowData>({
12
12
  table,
13
13
  ...rest
14
14
  }: Props<TData>) => {
@@ -27,7 +27,7 @@ export const MRT_ShowHideColumnsButton = <TData extends Record<string, any>>({
27
27
 
28
28
  return (
29
29
  <>
30
- <Tooltip arrow title={rest?.title ?? localization.showHideColumns}>
30
+ <Tooltip title={rest?.title ?? localization.showHideColumns}>
31
31
  <IconButton
32
32
  aria-label={localization.showHideColumns}
33
33
  onClick={handleClick}
@@ -1,14 +1,12 @@
1
1
  import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
2
2
  import Tooltip from '@mui/material/Tooltip';
3
- import { type MRT_TableInstance } from '../types';
3
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
4
4
 
5
- interface Props<TData extends Record<string, any>> extends IconButtonProps {
5
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
6
6
  table: MRT_TableInstance<TData>;
7
7
  }
8
8
 
9
- export const MRT_ToggleDensePaddingButton = <
10
- TData extends Record<string, any>,
11
- >({
9
+ export const MRT_ToggleDensePaddingButton = <TData extends MRT_RowData>({
12
10
  table,
13
11
  ...rest
14
12
  }: Props<TData>) => {
@@ -33,7 +31,7 @@ export const MRT_ToggleDensePaddingButton = <
33
31
  };
34
32
 
35
33
  return (
36
- <Tooltip arrow title={rest?.title ?? localization.toggleDensity}>
34
+ <Tooltip title={rest?.title ?? localization.toggleDensity}>
37
35
  <IconButton
38
36
  aria-label={localization.toggleDensity}
39
37
  onClick={handleToggleDensePadding}
@@ -1,12 +1,12 @@
1
1
  import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
2
2
  import Tooltip from '@mui/material/Tooltip';
3
- import { type MRT_TableInstance } from '../types';
3
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
4
4
 
5
- interface Props<TData extends Record<string, any>> extends IconButtonProps {
5
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
6
6
  table: MRT_TableInstance<TData>;
7
7
  }
8
8
 
9
- export const MRT_ToggleFiltersButton = <TData extends Record<string, any>>({
9
+ export const MRT_ToggleFiltersButton = <TData extends MRT_RowData>({
10
10
  table,
11
11
  ...rest
12
12
  }: Props<TData>) => {
@@ -25,7 +25,7 @@ export const MRT_ToggleFiltersButton = <TData extends Record<string, any>>({
25
25
  };
26
26
 
27
27
  return (
28
- <Tooltip arrow title={rest?.title ?? localization.showHideFilters}>
28
+ <Tooltip title={rest?.title ?? localization.showHideFilters}>
29
29
  <IconButton
30
30
  aria-label={localization.showHideFilters}
31
31
  onClick={handleToggleShowFilters}
@@ -1,13 +1,13 @@
1
1
  import { useState } from 'react';
2
2
  import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
3
3
  import Tooltip from '@mui/material/Tooltip';
4
- import { type MRT_TableInstance } from '../types';
4
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
5
5
 
6
- interface Props<TData extends Record<string, any>> extends IconButtonProps {
6
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
7
7
  table: MRT_TableInstance<TData>;
8
8
  }
9
9
 
10
- export const MRT_ToggleFullScreenButton = <TData extends Record<string, any>>({
10
+ export const MRT_ToggleFullScreenButton = <TData extends MRT_RowData>({
11
11
  table,
12
12
  ...rest
13
13
  }: Props<TData>) => {
@@ -30,7 +30,6 @@ export const MRT_ToggleFullScreenButton = <TData extends Record<string, any>>({
30
30
 
31
31
  return (
32
32
  <Tooltip
33
- arrow
34
33
  open={tooltipOpened}
35
34
  title={rest?.title ?? localization.toggleFullScreen}
36
35
  >
@@ -1,14 +1,12 @@
1
1
  import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
2
2
  import Tooltip from '@mui/material/Tooltip';
3
- import { type MRT_TableInstance } from '../types';
3
+ import { type MRT_RowData, type MRT_TableInstance } from '../types';
4
4
 
5
- interface Props<TData extends Record<string, any>> extends IconButtonProps {
5
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
6
6
  table: MRT_TableInstance<TData>;
7
7
  }
8
8
 
9
- export const MRT_ToggleGlobalFilterButton = <
10
- TData extends Record<string, any>,
11
- >({
9
+ export const MRT_ToggleGlobalFilterButton = <TData extends MRT_RowData>({
12
10
  table,
13
11
  ...rest
14
12
  }: Props<TData>) => {
@@ -30,7 +28,7 @@ export const MRT_ToggleGlobalFilterButton = <
30
28
  };
31
29
 
32
30
  return (
33
- <Tooltip arrow title={rest?.title ?? localization.showHideSearch}>
31
+ <Tooltip title={rest?.title ?? localization.showHideSearch}>
34
32
  <IconButton
35
33
  aria-label={rest?.title ?? localization.showHideSearch}
36
34
  disabled={!!globalFilter}
@@ -1,10 +1,15 @@
1
1
  import { type MouseEvent, useState } from 'react';
2
- import IconButton from '@mui/material/IconButton';
2
+ import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
3
3
  import Tooltip from '@mui/material/Tooltip';
4
4
  import { MRT_EditActionButtons } from './MRT_EditActionButtons';
5
5
  import { parseFromValuesOrFunc } from '../column.utils';
6
6
  import { MRT_RowActionMenu } from '../menus/MRT_RowActionMenu';
7
- import { type MRT_Cell, type MRT_Row, type MRT_TableInstance } from '../types';
7
+ import {
8
+ type MRT_Cell,
9
+ type MRT_Row,
10
+ type MRT_RowData,
11
+ type MRT_TableInstance,
12
+ } from '../types';
8
13
 
9
14
  const commonIconButtonStyles = {
10
15
  '&:hover': {
@@ -17,18 +22,17 @@ const commonIconButtonStyles = {
17
22
  width: '2rem',
18
23
  };
19
24
 
20
- interface Props<TData extends Record<string, any>> {
25
+ interface Props<TData extends MRT_RowData> extends IconButtonProps {
21
26
  cell: MRT_Cell<TData>;
22
27
  row: MRT_Row<TData>;
23
28
  table: MRT_TableInstance<TData>;
24
29
  }
25
30
 
26
- export const MRT_ToggleRowActionMenuButton = <
27
- TData extends Record<string, any>,
28
- >({
31
+ export const MRT_ToggleRowActionMenuButton = <TData extends MRT_RowData>({
29
32
  cell,
30
33
  row,
31
34
  table,
35
+ ...rest
32
36
  }: Props<TData>) => {
33
37
  const {
34
38
  getState,
@@ -74,12 +78,14 @@ export const MRT_ToggleRowActionMenuButton = <
74
78
  ) : showEditActionButtons ? (
75
79
  <MRT_EditActionButtons row={row} table={table} />
76
80
  ) : !renderRowActionMenuItems &&
77
- parseFromValuesOrFunc(enableEditing, row) ? (
78
- <Tooltip arrow placement="right" title={localization.edit}>
81
+ parseFromValuesOrFunc(enableEditing, row) &&
82
+ ['modal', 'row'].includes(editDisplayMode!) ? (
83
+ <Tooltip placement="right" title={localization.edit}>
79
84
  <IconButton
80
85
  aria-label={localization.edit}
81
86
  onClick={handleStartEditMode}
82
87
  sx={commonIconButtonStyles}
88
+ {...rest}
83
89
  >
84
90
  <EditIcon />
85
91
  </IconButton>
@@ -87,7 +93,6 @@ export const MRT_ToggleRowActionMenuButton = <
87
93
  ) : renderRowActionMenuItems ? (
88
94
  <>
89
95
  <Tooltip
90
- arrow
91
96
  enterDelay={1000}
92
97
  enterNextDelay={1000}
93
98
  title={localization.rowActions}
@@ -97,6 +102,7 @@ export const MRT_ToggleRowActionMenuButton = <
97
102
  onClick={handleOpenRowActionMenu}
98
103
  size="small"
99
104
  sx={commonIconButtonStyles}
105
+ {...rest}
100
106
  >
101
107
  <MoreHorizIcon />
102
108
  </IconButton>
@@ -1,4 +1,4 @@
1
- import { type CSSProperties, type ReactNode } from 'react';
1
+ import { type ReactNode } from 'react';
2
2
  import {
3
3
  createRow as _createRow,
4
4
  flexRender as _flexRender,
@@ -6,32 +6,32 @@ import {
6
6
  type Row,
7
7
  } from '@tanstack/react-table';
8
8
  import { type Range, defaultRangeExtractor } from '@tanstack/react-virtual';
9
- import { type TableCellProps } from '@mui/material/TableCell';
10
- import { alpha, lighten } from '@mui/material/styles';
11
- import { type Theme } from '@mui/material/styles';
12
9
  import { type MRT_AggregationFns } from './aggregationFns';
13
10
  import { type MRT_FilterFns } from './filterFns';
14
11
  import { type MRT_SortingFns } from './sortingFns';
15
12
  import {
16
13
  type MRT_Column,
17
14
  type MRT_ColumnDef,
15
+ type MRT_ColumnHelper,
18
16
  type MRT_ColumnOrderState,
19
17
  type MRT_DefinedColumnDef,
18
+ type MRT_DisplayColumnDef,
20
19
  type MRT_DisplayColumnIds,
21
20
  type MRT_FilterOption,
21
+ type MRT_GroupColumnDef,
22
22
  type MRT_GroupingState,
23
- type MRT_Header,
24
23
  type MRT_Row,
24
+ type MRT_RowData,
25
25
  type MRT_TableInstance,
26
26
  type MRT_TableOptions,
27
27
  } from './types';
28
28
 
29
- export const getColumnId = <TData extends Record<string, any>>(
29
+ export const getColumnId = <TData extends MRT_RowData>(
30
30
  columnDef: MRT_ColumnDef<TData>,
31
31
  ): string =>
32
32
  columnDef.id ?? columnDef.accessorKey?.toString?.() ?? columnDef.header;
33
33
 
34
- export const getAllLeafColumnDefs = <TData extends Record<string, any>>(
34
+ export const getAllLeafColumnDefs = <TData extends MRT_RowData>(
35
35
  columns: MRT_ColumnDef<TData>[],
36
36
  ): MRT_ColumnDef<TData>[] => {
37
37
  const allLeafColumnDefs: MRT_ColumnDef<TData>[] = [];
@@ -48,7 +48,7 @@ export const getAllLeafColumnDefs = <TData extends Record<string, any>>(
48
48
  return allLeafColumnDefs;
49
49
  };
50
50
 
51
- export const prepareColumns = <TData extends Record<string, any>>({
51
+ export const prepareColumns = <TData extends MRT_RowData>({
52
52
  aggregationFns,
53
53
  columnDefs,
54
54
  columnFilterFns,
@@ -122,7 +122,7 @@ export const prepareColumns = <TData extends Record<string, any>>({
122
122
  return columnDef;
123
123
  }) as MRT_DefinedColumnDef<TData>[];
124
124
 
125
- export const reorderColumn = <TData extends Record<string, any>>(
125
+ export const reorderColumn = <TData extends MRT_RowData>(
126
126
  draggedColumn: MRT_Column<TData>,
127
127
  targetColumn: MRT_Column<TData>,
128
128
  columnOrder: MRT_ColumnOrderState,
@@ -139,7 +139,7 @@ export const reorderColumn = <TData extends Record<string, any>>(
139
139
  return newColumnOrder;
140
140
  };
141
141
 
142
- export const showExpandColumn = <TData extends Record<string, any>>(
142
+ export const showExpandColumn = <TData extends MRT_RowData>(
143
143
  props: MRT_TableOptions<TData>,
144
144
  grouping?: MRT_GroupingState,
145
145
  ) =>
@@ -149,7 +149,7 @@ export const showExpandColumn = <TData extends Record<string, any>>(
149
149
  props.renderDetailPanel
150
150
  );
151
151
 
152
- export const getLeadingDisplayColumnIds = <TData extends Record<string, any>>(
152
+ export const getLeadingDisplayColumnIds = <TData extends MRT_RowData>(
153
153
  props: MRT_TableOptions<TData>,
154
154
  ) =>
155
155
  [
@@ -167,10 +167,9 @@ 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',
171
170
  ].filter(Boolean) as MRT_DisplayColumnIds[];
172
171
 
173
- export const getTrailingDisplayColumnIds = <TData extends Record<string, any>>(
172
+ export const getTrailingDisplayColumnIds = <TData extends MRT_RowData>(
174
173
  props: MRT_TableOptions<TData>,
175
174
  ) =>
176
175
  [
@@ -182,9 +181,10 @@ export const getTrailingDisplayColumnIds = <TData extends Record<string, any>>(
182
181
  props.positionExpandColumn === 'last' &&
183
182
  showExpandColumn(props) &&
184
183
  'mrt-row-expand',
184
+ props.layoutMode === 'grid-no-grow' && 'mrt-row-spacer',
185
185
  ].filter(Boolean) as MRT_DisplayColumnIds[];
186
186
 
187
- export const getDefaultColumnOrderIds = <TData extends Record<string, any>>(
187
+ export const getDefaultColumnOrderIds = <TData extends MRT_RowData>(
188
188
  props: MRT_TableOptions<TData>,
189
189
  ) => {
190
190
  const leadingDisplayCols: string[] = getLeadingDisplayColumnIds(props);
@@ -199,7 +199,7 @@ export const getDefaultColumnOrderIds = <TData extends Record<string, any>>(
199
199
  return [...leadingDisplayCols, ...allLeafColumnDefs, ...trailingDisplayCols];
200
200
  };
201
201
 
202
- export const getDefaultColumnFilterFn = <TData extends Record<string, any>>(
202
+ export const getDefaultColumnFilterFn = <TData extends MRT_RowData>(
203
203
  columnDef: MRT_ColumnDef<TData>,
204
204
  ): MRT_FilterOption => {
205
205
  if (columnDef.filterVariant === 'multi-select') return 'arrIncludesSome';
@@ -212,7 +212,7 @@ export const getDefaultColumnFilterFn = <TData extends Record<string, any>>(
212
212
  return 'fuzzy';
213
213
  };
214
214
 
215
- export const getIsFirstColumn = <TData extends Record<string, any>>(
215
+ export const getIsFirstColumn = <TData extends MRT_RowData>(
216
216
  column: MRT_Column<TData>,
217
217
  table: MRT_TableInstance<TData>,
218
218
  ) => {
@@ -222,7 +222,7 @@ export const getIsFirstColumn = <TData extends Record<string, any>>(
222
222
  : table.getVisibleLeafColumns()[0].id === column.id;
223
223
  };
224
224
 
225
- export const getIsLastColumn = <TData extends Record<string, any>>(
225
+ export const getIsLastColumn = <TData extends MRT_RowData>(
226
226
  column: MRT_Column<TData>,
227
227
  table: MRT_TableInstance<TData>,
228
228
  ) => {
@@ -233,7 +233,7 @@ export const getIsLastColumn = <TData extends Record<string, any>>(
233
233
  : columns[columns.length - 1].id === column.id;
234
234
  };
235
235
 
236
- export const getIsLastLeftPinnedColumn = <TData extends Record<string, any>>(
236
+ export const getIsLastLeftPinnedColumn = <TData extends MRT_RowData>(
237
237
  table: MRT_TableInstance<TData>,
238
238
  column: MRT_Column<TData>,
239
239
  ) => {
@@ -243,13 +243,13 @@ export const getIsLastLeftPinnedColumn = <TData extends Record<string, any>>(
243
243
  );
244
244
  };
245
245
 
246
- export const getIsFirstRightPinnedColumn = <TData extends Record<string, any>>(
246
+ export const getIsFirstRightPinnedColumn = <TData extends MRT_RowData>(
247
247
  column: MRT_Column<TData>,
248
248
  ) => {
249
249
  return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
250
250
  };
251
251
 
252
- export const getTotalRight = <TData extends Record<string, any>>(
252
+ export const getTotalRight = <TData extends MRT_RowData>(
253
253
  table: MRT_TableInstance<TData>,
254
254
  column: MRT_Column<TData>,
255
255
  ) => {
@@ -259,7 +259,7 @@ export const getTotalRight = <TData extends Record<string, any>>(
259
259
  .reduce((acc, col) => acc + col.getSize(), 0);
260
260
  };
261
261
 
262
- export const getCanRankRows = <TData extends Record<string, any>>(
262
+ export const getCanRankRows = <TData extends MRT_RowData>(
263
263
  table: MRT_TableInstance<TData>,
264
264
  ) => {
265
265
  const { getState, options } = table;
@@ -284,132 +284,17 @@ export const getCanRankRows = <TData extends Record<string, any>>(
284
284
  );
285
285
  };
286
286
 
287
- export const getCommonCellStyles = <TData extends Record<string, any>>({
288
- column,
289
- header,
290
- table,
291
- tableCellProps,
292
- theme,
293
- }: {
294
- column: MRT_Column<TData>;
295
- header?: MRT_Header<TData>;
296
- table: MRT_TableInstance<TData>;
297
- tableCellProps: TableCellProps;
298
- theme: Theme;
299
- }) => {
300
- const {
301
- options: { layoutMode },
302
- } = table;
303
- const widthStyles: CSSProperties = {
304
- minWidth: `max(calc(var(--${header ? 'header' : 'col'}-${parseCSSVarId(
305
- header?.id ?? column.id,
306
- )}-size) * 1px), ${column.columnDef.minSize ?? 30}px)`,
307
- width: `calc(var(--${header ? 'header' : 'col'}-${parseCSSVarId(
308
- header?.id ?? column.id,
309
- )}-size) * 1px)`,
310
- };
311
-
312
- if (layoutMode === 'grid') {
313
- widthStyles.flex = `var(--${header ? 'header' : 'col'}-${parseCSSVarId(
314
- header?.id ?? column.id,
315
- )}-size) 0 auto`;
316
- } else if (layoutMode === 'grid-no-grow') {
317
- widthStyles.flex = '0 0 auto';
318
- }
319
-
320
- return {
321
- backgroundColor:
322
- column.getIsPinned() && column.columnDef.columnDefType !== 'group'
323
- ? alpha(lighten(theme.palette.background.default, 0.04), 0.97)
324
- : 'inherit',
325
- backgroundImage: 'inherit',
326
- boxShadow: getIsLastLeftPinnedColumn(table, column)
327
- ? `-4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
328
- : getIsFirstRightPinnedColumn(column)
329
- ? `4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
330
- : undefined,
331
- display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
332
- left:
333
- column.getIsPinned() === 'left'
334
- ? `${column.getStart('left')}px`
335
- : undefined,
336
- ml:
337
- table.options.enableColumnVirtualization &&
338
- column.getIsPinned() === 'left' &&
339
- column.getPinnedIndex() === 0
340
- ? `-${
341
- column.getSize() *
342
- (table.getState().columnPinning.left?.length ?? 1)
343
- }px`
344
- : undefined,
345
- mr:
346
- table.options.enableColumnVirtualization &&
347
- column.getIsPinned() === 'right' &&
348
- column.getPinnedIndex() === table.getVisibleLeafColumns().length - 1
349
- ? `-${
350
- column.getSize() *
351
- (table.getState().columnPinning.right?.length ?? 1) *
352
- 1.2
353
- }px`
354
- : undefined,
355
- opacity:
356
- table.getState().draggingColumn?.id === column.id ||
357
- table.getState().hoveredColumn?.id === column.id
358
- ? 0.5
359
- : 1,
360
- position:
361
- column.getIsPinned() && column.columnDef.columnDefType !== 'group'
362
- ? 'sticky'
363
- : undefined,
364
- right:
365
- column.getIsPinned() === 'right'
366
- ? `${getTotalRight(table, column)}px`
367
- : undefined,
368
- transition: table.options.enableColumnVirtualization
369
- ? 'none'
370
- : `padding 150ms ease-in-out`,
371
- ...widthStyles,
372
- // ...(!table.options.enableColumnResizing && widthStyles), //let devs pass in width styles if column resizing is disabled
373
- ...(parseFromValuesOrFunc(tableCellProps?.sx, theme) as any),
374
- // ...(table.options.enableColumnResizing && widthStyles), //don't let devs pass in width styles if column resizing is enabled
375
- };
376
- };
377
-
378
- export const MRT_DefaultColumn = {
379
- filterVariant: 'text',
380
- maxSize: 1000,
381
- minSize: 40,
382
- size: 180,
383
- } as const;
384
-
385
- export const MRT_DefaultDisplayColumn = {
386
- columnDefType: 'display',
387
- enableClickToCopy: false,
388
- enableColumnActions: false,
389
- enableColumnDragging: false,
390
- enableColumnFilter: false,
391
- enableColumnOrdering: false,
392
- enableEditing: false,
393
- enableGlobalFilter: false,
394
- enableGrouping: false,
395
- enableHiding: false,
396
- enableResizing: false,
397
- enableSorting: false,
398
- } as const;
399
-
400
287
  export const parseFromValuesOrFunc = <T, U>(
401
288
  fn: ((arg: U) => T) | T | undefined,
402
289
  arg: U,
403
290
  ): T | undefined => (fn instanceof Function ? fn(arg) : fn);
404
291
 
405
- export const parseCSSVarId = (id: string) => id.replace(/[^a-zA-Z0-9]/g, '_');
406
-
407
292
  export const flexRender = _flexRender as (
408
293
  Comp: Renderable<any>,
409
294
  props: any,
410
295
  ) => JSX.Element | ReactNode;
411
296
 
412
- export const createRow = <TData extends Record<string, any>>(
297
+ export const createRow = <TData extends MRT_RowData>(
413
298
  table: MRT_TableInstance<TData>,
414
299
  originalRow?: TData,
415
300
  ): MRT_Row<TData> =>
@@ -431,15 +316,35 @@ export const extraIndexRangeExtractor = (
431
316
  range: Range,
432
317
  draggingIndex: number,
433
318
  ) => {
434
- const newIndexs = defaultRangeExtractor(range);
319
+ const newIndexes = defaultRangeExtractor(range);
435
320
  if (
436
321
  draggingIndex >= 0 &&
437
322
  draggingIndex < Math.max(range.startIndex - range.overscan, 0)
438
323
  ) {
439
- newIndexs.unshift(draggingIndex);
324
+ newIndexes.unshift(draggingIndex);
440
325
  }
441
326
  if (draggingIndex >= 0 && draggingIndex > range.endIndex + range.overscan) {
442
- newIndexs.push(draggingIndex);
327
+ newIndexes.push(draggingIndex);
443
328
  }
444
- return newIndexs;
329
+ return newIndexes;
445
330
  };
331
+
332
+ export function createMRTColumnHelper<
333
+ TData extends MRT_RowData,
334
+ >(): MRT_ColumnHelper<TData> {
335
+ return {
336
+ accessor: (accessor, column) => {
337
+ return typeof accessor === 'function'
338
+ ? ({
339
+ ...column,
340
+ accessorFn: accessor,
341
+ } as any)
342
+ : {
343
+ ...column,
344
+ accessorKey: accessor,
345
+ };
346
+ },
347
+ display: (column) => column as MRT_DisplayColumnDef<TData>,
348
+ group: (column) => column as MRT_GroupColumnDef<TData>,
349
+ };
350
+ }