material-react-table 2.0.0-alpha.5 → 2.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/cjs/index.js +141 -68
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +2 -1
  4. package/dist/cjs/types/column.utils.d.ts +2 -0
  5. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  6. package/dist/cjs/types/icons.d.ts +1 -0
  7. package/dist/cjs/types/types.d.ts +12 -19
  8. package/dist/esm/material-react-table.esm.js +139 -68
  9. package/dist/esm/material-react-table.esm.js.map +1 -1
  10. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +2 -1
  11. package/dist/esm/types/column.utils.d.ts +2 -0
  12. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  13. package/dist/esm/types/icons.d.ts +1 -0
  14. package/dist/esm/types/types.d.ts +12 -19
  15. package/dist/index.d.ts +19 -23
  16. package/locales/ar.esm.js +1 -0
  17. package/locales/ar.esm.js.map +1 -1
  18. package/locales/ar.js +1 -0
  19. package/locales/ar.js.map +1 -1
  20. package/locales/bg.esm.js +1 -0
  21. package/locales/bg.esm.js.map +1 -1
  22. package/locales/bg.js +1 -0
  23. package/locales/bg.js.map +1 -1
  24. package/locales/cs.esm.js +1 -0
  25. package/locales/cs.esm.js.map +1 -1
  26. package/locales/cs.js +1 -0
  27. package/locales/cs.js.map +1 -1
  28. package/locales/da.esm.js +1 -0
  29. package/locales/da.esm.js.map +1 -1
  30. package/locales/da.js +1 -0
  31. package/locales/da.js.map +1 -1
  32. package/locales/de.esm.js +1 -0
  33. package/locales/de.esm.js.map +1 -1
  34. package/locales/de.js +1 -0
  35. package/locales/de.js.map +1 -1
  36. package/locales/es.esm.js +1 -0
  37. package/locales/es.esm.js.map +1 -1
  38. package/locales/es.js +1 -0
  39. package/locales/es.js.map +1 -1
  40. package/locales/et.esm.js +1 -0
  41. package/locales/et.esm.js.map +1 -1
  42. package/locales/et.js +1 -0
  43. package/locales/et.js.map +1 -1
  44. package/locales/fa.esm.js +1 -0
  45. package/locales/fa.esm.js.map +1 -1
  46. package/locales/fa.js +1 -0
  47. package/locales/fa.js.map +1 -1
  48. package/locales/fi.esm.js +1 -0
  49. package/locales/fi.esm.js.map +1 -1
  50. package/locales/fi.js +1 -0
  51. package/locales/fi.js.map +1 -1
  52. package/locales/fr.esm.js +1 -0
  53. package/locales/fr.esm.js.map +1 -1
  54. package/locales/fr.js +1 -0
  55. package/locales/fr.js.map +1 -1
  56. package/locales/hu.esm.js +1 -0
  57. package/locales/hu.esm.js.map +1 -1
  58. package/locales/hu.js +1 -0
  59. package/locales/hu.js.map +1 -1
  60. package/locales/hy.esm.js +1 -0
  61. package/locales/hy.esm.js.map +1 -1
  62. package/locales/hy.js +1 -0
  63. package/locales/hy.js.map +1 -1
  64. package/locales/id.esm.js +1 -0
  65. package/locales/id.esm.js.map +1 -1
  66. package/locales/id.js +1 -0
  67. package/locales/id.js.map +1 -1
  68. package/locales/it.esm.js +1 -0
  69. package/locales/it.esm.js.map +1 -1
  70. package/locales/it.js +1 -0
  71. package/locales/it.js.map +1 -1
  72. package/locales/ja.esm.js +1 -0
  73. package/locales/ja.esm.js.map +1 -1
  74. package/locales/ja.js +1 -0
  75. package/locales/ja.js.map +1 -1
  76. package/locales/ko.esm.js +1 -0
  77. package/locales/ko.esm.js.map +1 -1
  78. package/locales/ko.js +1 -0
  79. package/locales/ko.js.map +1 -1
  80. package/locales/nl.esm.js +1 -0
  81. package/locales/nl.esm.js.map +1 -1
  82. package/locales/nl.js +1 -0
  83. package/locales/nl.js.map +1 -1
  84. package/locales/no.esm.js +1 -0
  85. package/locales/no.esm.js.map +1 -1
  86. package/locales/no.js +1 -0
  87. package/locales/no.js.map +1 -1
  88. package/locales/np.esm.js +1 -1
  89. package/locales/np.esm.js.map +1 -1
  90. package/locales/np.js +1 -1
  91. package/locales/np.js.map +1 -1
  92. package/locales/pl.esm.js +1 -0
  93. package/locales/pl.esm.js.map +1 -1
  94. package/locales/pl.js +1 -0
  95. package/locales/pl.js.map +1 -1
  96. package/locales/pt-BR.esm.js +1 -0
  97. package/locales/pt-BR.esm.js.map +1 -1
  98. package/locales/pt-BR.js +1 -0
  99. package/locales/pt-BR.js.map +1 -1
  100. package/locales/pt.esm.js +1 -0
  101. package/locales/pt.esm.js.map +1 -1
  102. package/locales/pt.js +1 -0
  103. package/locales/pt.js.map +1 -1
  104. package/locales/ro.esm.js +1 -0
  105. package/locales/ro.esm.js.map +1 -1
  106. package/locales/ro.js +1 -0
  107. package/locales/ro.js.map +1 -1
  108. package/locales/ru.esm.js +1 -0
  109. package/locales/ru.esm.js.map +1 -1
  110. package/locales/ru.js +1 -0
  111. package/locales/ru.js.map +1 -1
  112. package/locales/sk.esm.js +1 -0
  113. package/locales/sk.esm.js.map +1 -1
  114. package/locales/sk.js +1 -0
  115. package/locales/sk.js.map +1 -1
  116. package/locales/sr-Cyrl-RS.esm.js +1 -0
  117. package/locales/sr-Cyrl-RS.esm.js.map +1 -1
  118. package/locales/sr-Cyrl-RS.js +1 -0
  119. package/locales/sr-Cyrl-RS.js.map +1 -1
  120. package/locales/sr-Latn-RS.esm.js +1 -0
  121. package/locales/sr-Latn-RS.esm.js.map +1 -1
  122. package/locales/sr-Latn-RS.js +1 -0
  123. package/locales/sr-Latn-RS.js.map +1 -1
  124. package/locales/sv.esm.js +3 -2
  125. package/locales/sv.esm.js.map +1 -1
  126. package/locales/sv.js +3 -2
  127. package/locales/sv.js.map +1 -1
  128. package/locales/tr.esm.js +1 -0
  129. package/locales/tr.esm.js.map +1 -1
  130. package/locales/tr.js +1 -0
  131. package/locales/tr.js.map +1 -1
  132. package/locales/uk.esm.js +1 -0
  133. package/locales/uk.esm.js.map +1 -1
  134. package/locales/uk.js +1 -0
  135. package/locales/uk.js.map +1 -1
  136. package/locales/vi.esm.js +1 -0
  137. package/locales/vi.esm.js.map +1 -1
  138. package/locales/vi.js +1 -0
  139. package/locales/vi.js.map +1 -1
  140. package/locales/zh-Hans.esm.js +1 -0
  141. package/locales/zh-Hans.esm.js.map +1 -1
  142. package/locales/zh-Hans.js +1 -0
  143. package/locales/zh-Hans.js.map +1 -1
  144. package/locales/zh-Hant.esm.js +1 -0
  145. package/locales/zh-Hant.esm.js.map +1 -1
  146. package/locales/zh-Hant.js +1 -0
  147. package/locales/zh-Hant.js.map +1 -1
  148. package/package.json +11 -11
  149. package/src/body/MRT_TableBody.tsx +20 -4
  150. package/src/body/MRT_TableBodyCell.tsx +4 -3
  151. package/src/body/MRT_TableBodyRow.tsx +7 -5
  152. package/src/body/MRT_TableBodyRowGrabHandle.tsx +1 -0
  153. package/src/body/index.ts +1 -1
  154. package/src/buttons/MRT_ExpandButton.tsx +1 -0
  155. package/src/buttons/MRT_GrabHandleButton.tsx +3 -1
  156. package/src/column.utils.ts +22 -2
  157. package/src/filterFns.ts +3 -3
  158. package/src/footer/MRT_TableFooterCell.tsx +5 -1
  159. package/src/footer/MRT_TableFooterRow.tsx +2 -2
  160. package/src/head/MRT_TableHead.tsx +5 -1
  161. package/src/head/MRT_TableHeadCell.tsx +11 -6
  162. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +2 -2
  163. package/src/head/MRT_TableHeadCellFilterLabel.tsx +6 -1
  164. package/src/head/MRT_TableHeadCellSortLabel.tsx +18 -12
  165. package/src/head/MRT_TableHeadRow.tsx +2 -2
  166. package/src/hooks/useMRT_DisplayColumns.tsx +20 -0
  167. package/src/hooks/useMRT_TableInstance.ts +6 -6
  168. package/src/icons.ts +3 -0
  169. package/src/inputs/MRT_FilterTextField.tsx +4 -3
  170. package/src/locales/ar.ts +1 -1
  171. package/src/locales/bg.ts +1 -0
  172. package/src/locales/cs.ts +1 -0
  173. package/src/locales/da.ts +1 -0
  174. package/src/locales/de.ts +1 -0
  175. package/src/locales/es.ts +1 -0
  176. package/src/locales/et.ts +1 -0
  177. package/src/locales/fa.ts +1 -0
  178. package/src/locales/fi.ts +1 -0
  179. package/src/locales/fr.ts +1 -0
  180. package/src/locales/hu.ts +1 -0
  181. package/src/locales/hy.ts +1 -0
  182. package/src/locales/id.ts +1 -0
  183. package/src/locales/it.ts +1 -0
  184. package/src/locales/ja.ts +1 -0
  185. package/src/locales/ko.ts +1 -0
  186. package/src/locales/nl.ts +1 -0
  187. package/src/locales/no.ts +1 -0
  188. package/src/locales/np.ts +3 -2
  189. package/src/locales/pl.ts +1 -0
  190. package/src/locales/pt-BR.ts +1 -0
  191. package/src/locales/pt.ts +1 -0
  192. package/src/locales/ro.ts +1 -0
  193. package/src/locales/ru.ts +1 -0
  194. package/src/locales/sk.ts +1 -0
  195. package/src/locales/sr-Cyrl-RS.ts +1 -0
  196. package/src/locales/sr-Latn-RS.ts +1 -0
  197. package/src/locales/sv.ts +3 -2
  198. package/src/locales/tr.ts +1 -0
  199. package/src/locales/uk.ts +1 -0
  200. package/src/locales/vi.ts +1 -0
  201. package/src/locales/zh-Hans.ts +1 -0
  202. package/src/locales/zh-Hant.ts +1 -0
  203. package/src/table/MRT_Table.tsx +24 -10
  204. package/src/table/MRT_TableContainer.tsx +50 -1
  205. package/src/toolbar/MRT_LinearProgressBar.tsx +2 -2
  206. package/src/toolbar/MRT_TablePagination.tsx +3 -4
  207. package/src/types.ts +12 -11
@@ -3,9 +3,10 @@ import { type IconButtonProps } from '@mui/material/IconButton';
3
3
  import { type MRT_TableInstance } from '../types';
4
4
  interface Props<TData extends Record<string, any>> {
5
5
  iconButtonProps?: IconButtonProps;
6
+ location?: 'column' | 'row';
6
7
  onDragEnd: DragEventHandler<HTMLButtonElement>;
7
8
  onDragStart: DragEventHandler<HTMLButtonElement>;
8
9
  table: MRT_TableInstance<TData>;
9
10
  }
10
- export declare const MRT_GrabHandleButton: <TData extends Record<string, any>>({ iconButtonProps, onDragEnd, onDragStart, table, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const MRT_GrabHandleButton: <TData extends Record<string, any>>({ iconButtonProps, location, onDragEnd, onDragStart, table, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
11
12
  export {};
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type Renderable, type Row } from '@tanstack/react-table';
3
+ import { type Range } from '@tanstack/react-virtual';
3
4
  import { type TableCellProps } from '@mui/material/TableCell';
4
5
  import { type Theme } from '@mui/material/styles';
5
6
  import { type MRT_AggregationFns } from './aggregationFns';
@@ -144,3 +145,4 @@ export declare const parseFromValuesOrFunc: <T, U>(fn: T | ((arg: U) => T) | und
144
145
  export declare const parseCSSVarId: (id: string) => string;
145
146
  export declare const flexRender: (Comp: Renderable<any>, props: any) => JSX.Element | ReactNode;
146
147
  export declare const createRow: <TData extends Record<string, any>>(table: MRT_TableInstance<TData>, originalRow?: TData | undefined) => MRT_Row<TData>;
148
+ export declare const extraIndexRangeExtractor: (range: Range, draggingIndex: number) => number[];
@@ -5,5 +5,5 @@ interface Props<TData extends Record<string, any>> {
5
5
  table: MRT_TableInstance<TData>;
6
6
  tableCellProps?: TableCellProps;
7
7
  }
8
- export declare const MRT_TableHeadCellSortLabel: <TData extends Record<string, any>>({ header, table, tableCellProps, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const MRT_TableHeadCellSortLabel: <TData extends Record<string, any>>({ header, table, }: Props<TData>) => import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -29,6 +29,7 @@ export interface MRT_Icons {
29
29
  SearchIcon: any;
30
30
  SearchOffIcon: any;
31
31
  SortIcon: any;
32
+ SyncAltIcon?: any;
32
33
  ViewColumnIcon: any;
33
34
  VisibilityOffIcon: any;
34
35
  }
@@ -6,6 +6,7 @@ import { type AutocompleteProps } from '@mui/material/Autocomplete';
6
6
  import { type ButtonProps } from '@mui/material/Button';
7
7
  import { type CheckboxProps } from '@mui/material/Checkbox';
8
8
  import { type ChipProps } from '@mui/material/Chip';
9
+ import { type CircularProgressProps } from '@mui/material/CircularProgress';
9
10
  import { type DialogProps } from '@mui/material/Dialog';
10
11
  import { type IconButtonProps } from '@mui/material/IconButton';
11
12
  import { type LinearProgressProps } from '@mui/material/LinearProgress';
@@ -100,7 +101,7 @@ export interface MRT_Localization {
100
101
  noResultsFound: string;
101
102
  of: string;
102
103
  or: string;
103
- pin?: string;
104
+ pin: string;
104
105
  pinToLeft: string;
105
106
  pinToRight: string;
106
107
  resetColumnSize: string;
@@ -180,12 +181,8 @@ export type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TD
180
181
  setEditingCell: Dispatch<SetStateAction<MRT_Cell<TData> | null>>;
181
182
  setEditingRow: Dispatch<SetStateAction<MRT_Row<TData> | null>>;
182
183
  setGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterOption>>;
183
- setHoveredColumn: Dispatch<SetStateAction<{
184
- id: string;
185
- } | MRT_Column<TData> | null>>;
186
- setHoveredRow: Dispatch<SetStateAction<{
187
- id: string;
188
- } | MRT_Row<TData> | null>>;
184
+ setHoveredColumn: Dispatch<SetStateAction<Partial<MRT_Column<TData>> | null>>;
185
+ setHoveredRow: Dispatch<SetStateAction<Partial<MRT_Row<TData>> | null>>;
189
186
  setIsFullScreen: Dispatch<SetStateAction<boolean>>;
190
187
  setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
191
188
  setShowColumnFilters: Dispatch<SetStateAction<boolean>>;
@@ -205,18 +202,15 @@ export type MRT_TableState<TData extends Record<string, any>> = TableState & {
205
202
  editingCell: MRT_Cell<TData> | null;
206
203
  editingRow: MRT_Row<TData> | null;
207
204
  globalFilterFn: MRT_FilterOption;
208
- hoveredColumn: {
209
- id: string;
210
- } | MRT_Column<TData> | null;
211
- hoveredRow: {
212
- id: string;
213
- } | MRT_Row<TData> | null;
205
+ hoveredColumn: Partial<MRT_Column<TData>> | null;
206
+ hoveredRow: Partial<MRT_Row<TData>> | null;
214
207
  isFullScreen: boolean;
215
208
  isLoading: boolean;
216
209
  isSaving: boolean;
217
210
  showAlertBanner: boolean;
218
211
  showColumnFilters: boolean;
219
212
  showGlobalFilter: boolean;
213
+ showLoadingOverlay: boolean;
220
214
  showProgressBars: boolean;
221
215
  showSkeletons: boolean;
222
216
  showToolbarDropZone: boolean;
@@ -548,6 +542,9 @@ export type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<T
548
542
  muiBottomToolbarProps?: ((props: {
549
543
  table: MRT_TableInstance<TData>;
550
544
  }) => ToolbarProps) | ToolbarProps;
545
+ muiCircularProgressProps?: ((props: {
546
+ table: MRT_TableInstance<TData>;
547
+ }) => CircularProgressProps) | CircularProgressProps;
551
548
  muiColumnActionsButtonProps?: ((props: {
552
549
  column: MRT_Column<TData>;
553
550
  table: MRT_TableInstance<TData>;
@@ -727,12 +724,8 @@ export type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<T
727
724
  values: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
728
725
  }) => Promise<void> | void;
729
726
  onGlobalFilterFnChange?: OnChangeFn<MRT_FilterOption>;
730
- onHoveredColumnChange?: OnChangeFn<{
731
- id: string;
732
- } | MRT_Column<TData> | null>;
733
- onHoveredRowChange?: OnChangeFn<{
734
- id: string;
735
- } | MRT_Row<TData> | null>;
727
+ onHoveredColumnChange?: OnChangeFn<Partial<MRT_Column<TData>> | null>;
728
+ onHoveredRowChange?: OnChangeFn<Partial<MRT_Row<TData>> | null>;
736
729
  onIsFullScreenChange?: OnChangeFn<boolean>;
737
730
  onShowAlertBannerChange?: OnChangeFn<boolean>;
738
731
  onShowColumnFiltersChange?: OnChangeFn<boolean>;