@cutting/material-react-table 4.1.0 → 5.0.0-beta.2

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 (198) hide show
  1. package/dist/index.d.ts +360 -333
  2. package/dist/index.js +919 -928
  3. package/dist/index.js.map +1 -1
  4. package/locales/ar/package.json +2 -2
  5. package/locales/az/package.json +2 -2
  6. package/locales/bg/package.json +2 -2
  7. package/locales/cs/package.json +2 -2
  8. package/locales/da/package.json +2 -2
  9. package/locales/de/package.json +2 -2
  10. package/locales/el/package.json +2 -2
  11. package/locales/en/package.json +2 -2
  12. package/locales/es/package.json +2 -2
  13. package/locales/et/package.json +2 -2
  14. package/locales/fa/package.json +2 -2
  15. package/locales/fi/package.json +2 -2
  16. package/locales/fr/package.json +2 -2
  17. package/locales/he/package.json +2 -2
  18. package/locales/hr/package.json +2 -2
  19. package/locales/hu/package.json +2 -2
  20. package/locales/hy/package.json +2 -2
  21. package/locales/id/package.json +2 -2
  22. package/locales/it/package.json +2 -2
  23. package/locales/ja/package.json +2 -2
  24. package/locales/ko/package.json +2 -2
  25. package/locales/nl/package.json +2 -2
  26. package/locales/no/package.json +2 -2
  27. package/locales/np/package.json +2 -2
  28. package/locales/pl/package.json +2 -2
  29. package/locales/pt/package.json +2 -2
  30. package/locales/pt-BR/package.json +2 -2
  31. package/locales/ro/package.json +2 -2
  32. package/locales/ru/package.json +2 -2
  33. package/locales/sk/package.json +2 -2
  34. package/locales/sr-Cyrl-RS/package.json +2 -2
  35. package/locales/sr-Latn-RS/package.json +2 -2
  36. package/locales/sv/package.json +2 -2
  37. package/locales/tr/package.json +2 -2
  38. package/locales/uk/package.json +2 -2
  39. package/locales/vi/package.json +2 -2
  40. package/locales/zh-Hans/package.json +2 -2
  41. package/locales/zh-Hant/package.json +2 -2
  42. package/package.json +46 -61
  43. package/src/components/body/MRT_TableBody.tsx +1 -2
  44. package/src/components/body/MRT_TableBodyCell.tsx +4 -5
  45. package/src/components/body/MRT_TableBodyCellValue.tsx +1 -2
  46. package/src/components/body/MRT_TableBodyRow.tsx +1 -2
  47. package/src/components/body/MRT_TableBodyRowGrabHandle.test.tsx +42 -0
  48. package/src/components/body/MRT_TableBodyRowPinButton.tsx +1 -2
  49. package/src/components/body/MRT_TableDetailPanel.test.tsx +40 -0
  50. package/src/components/body/MRT_TableDetailPanel.tsx +1 -2
  51. package/src/components/buttons/MRT_ColumnPinningButtons.test.tsx +69 -0
  52. package/src/components/buttons/MRT_ColumnPinningButtons.tsx +3 -3
  53. package/src/components/buttons/MRT_EditActionButtons.test.tsx +50 -0
  54. package/src/components/buttons/MRT_EditActionButtons.tsx +1 -3
  55. package/src/components/buttons/MRT_ExpandAllButton.tsx +1 -2
  56. package/src/components/buttons/MRT_ExpandButton.tsx +1 -2
  57. package/src/components/buttons/MRT_ToggleDensePaddingButton.test.tsx +38 -0
  58. package/src/components/buttons/MRT_ToggleDensePaddingButton.tsx +1 -2
  59. package/src/components/buttons/MRT_ToggleFiltersButton.test.tsx +38 -0
  60. package/src/components/buttons/MRT_ToggleFiltersButton.tsx +1 -2
  61. package/src/components/buttons/MRT_ToggleFullScreenButton.test.tsx +36 -0
  62. package/src/components/buttons/MRT_ToggleFullScreenButton.tsx +1 -2
  63. package/src/components/buttons/MRT_ToggleGlobalFilterButton.tsx +1 -2
  64. package/src/components/buttons/MRT_ToggleRowActionMenuButton.tsx +2 -3
  65. package/src/components/footer/MRT_TableFooter.tsx +1 -2
  66. package/src/components/footer/MRT_TableFooterCell.tsx +1 -2
  67. package/src/components/head/MRT_TableHead.tsx +1 -2
  68. package/src/components/head/MRT_TableHeadCell.tsx +9 -9
  69. package/src/components/head/MRT_TableHeadCellFilterContainer.tsx +1 -2
  70. package/src/components/head/MRT_TableHeadCellGrabHandle.test.tsx +61 -0
  71. package/src/components/head/MRT_TableHeadCellGrabHandle.tsx +4 -5
  72. package/src/components/head/MRT_TableHeadCellResizeHandle.test.tsx +45 -0
  73. package/src/components/head/MRT_TableHeadCellResizeHandle.tsx +4 -5
  74. package/src/components/head/MRT_TableHeadCellSortLabel.tsx +1 -2
  75. package/src/components/inputs/MRT_EditCellTextField.test.tsx +36 -0
  76. package/src/components/inputs/MRT_EditCellTextField.tsx +1 -3
  77. package/src/components/inputs/MRT_FilterCheckbox.tsx +1 -2
  78. package/src/components/inputs/MRT_FilterRangeSlider.tsx +2 -1
  79. package/src/components/inputs/MRT_FilterTextField.test.tsx +75 -0
  80. package/src/components/inputs/MRT_GlobalFilterTextField.tsx +1 -2
  81. package/src/components/inputs/MRT_SelectCheckbox.test.tsx +69 -0
  82. package/src/components/inputs/MRT_SelectCheckbox.tsx +1 -2
  83. package/src/components/menus/MRT_CellActionMenu.tsx +1 -2
  84. package/src/components/menus/MRT_ColumnActionMenu.tsx +12 -13
  85. package/src/components/menus/MRT_FilterOptionMenu.tsx +1 -2
  86. package/src/components/menus/MRT_RowActionMenu.tsx +1 -2
  87. package/src/components/menus/MRT_ShowHideColumnsMenu.tsx +1 -2
  88. package/src/components/menus/MRT_ShowHideColumnsMenuItems.tsx +4 -5
  89. package/src/components/modals/MRT_EditRowModal.test.tsx +54 -0
  90. package/src/components/modals/MRT_EditRowModal.tsx +1 -2
  91. package/src/components/table/MRT_Table.tsx +4 -5
  92. package/src/components/table/MRT_TableContainer.tsx +1 -2
  93. package/src/components/table/MRT_TablePaper.tsx +1 -2
  94. package/src/components/toolbar/MRT_BottomToolbar.tsx +2 -3
  95. package/src/components/toolbar/MRT_LinearProgressBar.tsx +1 -2
  96. package/src/components/toolbar/MRT_TablePagination.tsx +1 -2
  97. package/src/components/toolbar/MRT_ToolbarAlertBanner.tsx +3 -4
  98. package/src/components/toolbar/MRT_ToolbarDropZone.test.tsx +42 -0
  99. package/src/components/toolbar/MRT_ToolbarDropZone.tsx +1 -2
  100. package/src/components/toolbar/MRT_TopToolbar.tsx +1 -2
  101. package/src/fns/aggregationFns.test.tsx +57 -0
  102. package/src/fns/filterFns.test.tsx +156 -0
  103. package/src/fns/filterFns.ts +36 -22
  104. package/src/fns/sortingFns.ts +14 -5
  105. package/src/fns/tableFeatures.test.tsx +106 -0
  106. package/src/fns/tableFeatures.ts +103 -0
  107. package/src/hooks/display-columns/getMRT_RowExpandColumnDef.tsx +2 -2
  108. package/src/hooks/useMRT_ColumnVirtualizer.ts +6 -5
  109. package/src/hooks/useMRT_Effects.ts +3 -4
  110. package/src/hooks/useMRT_RowVirtualizer.ts +1 -2
  111. package/src/hooks/useMRT_Rows.ts +1 -2
  112. package/src/hooks/useMRT_TableInstance.ts +82 -63
  113. package/src/hooks/useMRT_TableOptions.ts +5 -37
  114. package/src/icons.ts +1 -1
  115. package/src/types.ts +162 -134
  116. package/src/utils/column.utils.ts +31 -24
  117. package/src/utils/row.utils.ts +7 -10
  118. package/src/utils/style.utils.ts +9 -10
  119. package/src/utils/tanstack.helpers.ts +2 -2
  120. package/dist/index.d.mts +0 -1925
  121. package/dist/index.mjs +0 -5409
  122. package/dist/index.mjs.map +0 -1
  123. package/locales/ar/index.d.ts +0 -3
  124. package/locales/ar/index.js +0 -98
  125. package/locales/az/index.d.ts +0 -3
  126. package/locales/az/index.js +0 -98
  127. package/locales/bg/index.d.ts +0 -3
  128. package/locales/bg/index.js +0 -98
  129. package/locales/cs/index.d.ts +0 -3
  130. package/locales/cs/index.js +0 -98
  131. package/locales/da/index.d.ts +0 -3
  132. package/locales/da/index.js +0 -98
  133. package/locales/de/index.d.ts +0 -3
  134. package/locales/de/index.js +0 -98
  135. package/locales/el/index.d.ts +0 -3
  136. package/locales/el/index.js +0 -98
  137. package/locales/en/index.d.ts +0 -3
  138. package/locales/en/index.js +0 -98
  139. package/locales/es/index.d.ts +0 -3
  140. package/locales/es/index.js +0 -98
  141. package/locales/et/index.d.ts +0 -3
  142. package/locales/et/index.js +0 -98
  143. package/locales/fa/index.d.ts +0 -3
  144. package/locales/fa/index.js +0 -98
  145. package/locales/fi/index.d.ts +0 -3
  146. package/locales/fi/index.js +0 -98
  147. package/locales/fr/index.d.ts +0 -3
  148. package/locales/fr/index.js +0 -98
  149. package/locales/he/index.d.ts +0 -3
  150. package/locales/he/index.js +0 -98
  151. package/locales/hr/index.d.ts +0 -3
  152. package/locales/hr/index.js +0 -98
  153. package/locales/hu/index.d.ts +0 -3
  154. package/locales/hu/index.js +0 -98
  155. package/locales/hy/index.d.ts +0 -3
  156. package/locales/hy/index.js +0 -98
  157. package/locales/id/index.d.ts +0 -3
  158. package/locales/id/index.js +0 -98
  159. package/locales/it/index.d.ts +0 -3
  160. package/locales/it/index.js +0 -98
  161. package/locales/ja/index.d.ts +0 -3
  162. package/locales/ja/index.js +0 -98
  163. package/locales/ko/index.d.ts +0 -3
  164. package/locales/ko/index.js +0 -98
  165. package/locales/nl/index.d.ts +0 -3
  166. package/locales/nl/index.js +0 -98
  167. package/locales/no/index.d.ts +0 -3
  168. package/locales/no/index.js +0 -98
  169. package/locales/np/index.d.ts +0 -3
  170. package/locales/np/index.js +0 -98
  171. package/locales/pl/index.d.ts +0 -3
  172. package/locales/pl/index.js +0 -98
  173. package/locales/pt/index.d.ts +0 -3
  174. package/locales/pt/index.js +0 -98
  175. package/locales/pt-BR/index.d.ts +0 -3
  176. package/locales/pt-BR/index.js +0 -98
  177. package/locales/ro/index.d.ts +0 -3
  178. package/locales/ro/index.js +0 -98
  179. package/locales/ru/index.d.ts +0 -3
  180. package/locales/ru/index.js +0 -98
  181. package/locales/sk/index.d.ts +0 -3
  182. package/locales/sk/index.js +0 -98
  183. package/locales/sr-Cyrl-RS/index.d.ts +0 -3
  184. package/locales/sr-Cyrl-RS/index.js +0 -98
  185. package/locales/sr-Latn-RS/index.d.ts +0 -3
  186. package/locales/sr-Latn-RS/index.js +0 -98
  187. package/locales/sv/index.d.ts +0 -3
  188. package/locales/sv/index.js +0 -98
  189. package/locales/tr/index.d.ts +0 -3
  190. package/locales/tr/index.js +0 -98
  191. package/locales/uk/index.d.ts +0 -3
  192. package/locales/uk/index.js +0 -98
  193. package/locales/vi/index.d.ts +0 -3
  194. package/locales/vi/index.js +0 -98
  195. package/locales/zh-Hans/index.d.ts +0 -3
  196. package/locales/zh-Hans/index.js +0 -98
  197. package/locales/zh-Hant/index.d.ts +0 -3
  198. package/locales/zh-Hant/index.js +0 -98
@@ -1,6 +1,10 @@
1
- import { useReactTable } from '@tanstack/react-table';
1
+ import { tableFeatures, useTable } from '@tanstack/react-table';
2
2
  import { useMemo, useRef, useState } from 'react';
3
3
 
4
+ import {
5
+ MRT_DefaultTableFeatures,
6
+ type MRT_TableFeatures,
7
+ } from '../fns/tableFeatures';
4
8
  import {
5
9
  type MRT_Cell,
6
10
  type MRT_Column,
@@ -110,9 +114,9 @@ export const useMRT_TableInstance = <TData extends MRT_RowData>(
110
114
  const [columnOrder, onColumnOrderChange] = useState<MRT_ColumnOrderState>(
111
115
  initialState.columnOrder ?? [],
112
116
  );
113
- const [columnSizingInfo, onColumnSizingInfoChange] =
117
+ const [columnResizing, onColumnResizingChange] =
114
118
  useState<MRT_ColumnSizingInfoState>(
115
- initialState.columnSizingInfo ?? ({} as MRT_ColumnSizingInfoState),
119
+ initialState.columnResizing ?? ({} as MRT_ColumnSizingInfoState),
116
120
  );
117
121
  const [density, setDensity] = useState<MRT_DensityState>(
118
122
  initialState?.density ?? 'comfortable',
@@ -163,7 +167,7 @@ export const useMRT_TableInstance = <TData extends MRT_RowData>(
163
167
  actionCell,
164
168
  columnFilterFns,
165
169
  columnOrder,
166
- columnSizingInfo,
170
+ columnResizing,
167
171
  creatingRow,
168
172
  density,
169
173
  draggingColumn,
@@ -188,9 +192,9 @@ export const useMRT_TableInstance = <TData extends MRT_RowData>(
188
192
  definedTableOptions as MRT_StatefulTableOptions<TData>;
189
193
 
190
194
  //don't recompute columnDefs while resizing column or dragging column/row
191
- const columnDefsRef = useRef<MRT_ColumnDef<TData>[]>([]);
195
+ const columnDefsRef = useRef<ReadonlyArray<MRT_ColumnDef<TData>>>([]);
192
196
  statefulTableOptions.columns =
193
- statefulTableOptions.state.columnSizingInfo.isResizingColumn ||
197
+ statefulTableOptions.state.columnResizing.isResizingColumn ||
194
198
  statefulTableOptions.state.draggingColumn ||
195
199
  statefulTableOptions.state.draggingRow
196
200
  ? columnDefsRef.current
@@ -248,69 +252,84 @@ export const useMRT_TableInstance = <TData extends MRT_RowData>(
248
252
  ],
249
253
  );
250
254
 
251
- //@ts-expect-error
252
- const table = useReactTable({
255
+ const [features] = useState<MRT_TableFeatures>(() =>
256
+ tableFeatures({
257
+ ...MRT_DefaultTableFeatures,
258
+ aggregationFns: {
259
+ ...MRT_DefaultTableFeatures.aggregationFns,
260
+ ...statefulTableOptions.aggregationFns,
261
+ },
262
+ filterFns: {
263
+ ...MRT_DefaultTableFeatures.filterFns,
264
+ ...statefulTableOptions.filterFns,
265
+ },
266
+ sortFns: {
267
+ ...MRT_DefaultTableFeatures.sortFns,
268
+ ...statefulTableOptions.sortFns,
269
+ },
270
+ }),
271
+ );
272
+
273
+ const tableOptions = {
253
274
  onColumnOrderChange,
254
- onColumnSizingInfoChange,
275
+ onColumnResizingChange,
255
276
  onGroupingChange,
256
277
  onPaginationChange,
257
278
  ...statefulTableOptions,
258
- globalFilterFn: statefulTableOptions.filterFns?.[globalFilterFn ?? 'fuzzy'],
259
- }) as MRT_TableInstance<TData>;
260
-
261
- table.refs = {
262
- actionCellRef,
263
- bottomToolbarRef,
264
- editInputRefs,
265
- filterInputRefs,
266
- lastSelectedRowId,
267
- searchInputRef,
268
- tableContainerRef,
269
- tableFooterRef,
270
- tableHeadCellRefs,
271
- tableHeadRef,
272
- tablePaperRef,
273
- topToolbarRef,
279
+ features,
280
+ globalFilterFn: globalFilterFn ?? 'fuzzy',
274
281
  };
275
282
 
276
- table.setActionCell =
277
- statefulTableOptions.onActionCellChange ?? setActionCell;
278
- table.setCreatingRow = (row: MRT_Updater<MRT_Row<TData> | null | true>) => {
279
- let _row = row;
280
- if (row === true) {
281
- _row = createRow(table);
282
- }
283
- statefulTableOptions?.onCreatingRowChange?.(
284
- _row as MRT_Row<TData> | null,
285
- ) ?? _setCreatingRow(_row as MRT_Row<TData> | null);
286
- };
287
- table.setColumnFilterFns =
288
- statefulTableOptions.onColumnFilterFnsChange ?? setColumnFilterFns;
289
- table.setDensity = statefulTableOptions.onDensityChange ?? setDensity;
290
- table.setDraggingColumn =
291
- statefulTableOptions.onDraggingColumnChange ?? setDraggingColumn;
292
- table.setDraggingRow =
293
- statefulTableOptions.onDraggingRowChange ?? setDraggingRow;
294
- table.setEditingCell =
295
- statefulTableOptions.onEditingCellChange ?? setEditingCell;
296
- table.setEditingRow =
297
- statefulTableOptions.onEditingRowChange ?? setEditingRow;
298
- table.setGlobalFilterFn =
299
- statefulTableOptions.onGlobalFilterFnChange ?? setGlobalFilterFn;
300
- table.setHoveredColumn =
301
- statefulTableOptions.onHoveredColumnChange ?? setHoveredColumn;
302
- table.setHoveredRow =
303
- statefulTableOptions.onHoveredRowChange ?? setHoveredRow;
304
- table.setIsFullScreen =
305
- statefulTableOptions.onIsFullScreenChange ?? setIsFullScreen;
306
- table.setShowAlertBanner =
307
- statefulTableOptions.onShowAlertBannerChange ?? setShowAlertBanner;
308
- table.setShowColumnFilters =
309
- statefulTableOptions.onShowColumnFiltersChange ?? setShowColumnFilters;
310
- table.setShowGlobalFilter =
311
- statefulTableOptions.onShowGlobalFilterChange ?? setShowGlobalFilter;
312
- table.setShowToolbarDropZone =
313
- statefulTableOptions.onShowToolbarDropZoneChange ?? setShowToolbarDropZone;
283
+ const reactTable = useTable(tableOptions);
284
+
285
+ const table = Object.assign(reactTable, {
286
+ getLeftLeafColumns: () => reactTable.getStartLeafColumns(),
287
+ getPaginationRowModel: () => reactTable.getPaginatedRowModel(),
288
+ getRightLeafColumns: () => reactTable.getEndLeafColumns(),
289
+ refs: {
290
+ actionCellRef,
291
+ bottomToolbarRef,
292
+ editInputRefs,
293
+ filterInputRefs,
294
+ lastSelectedRowId,
295
+ searchInputRef,
296
+ tableContainerRef,
297
+ tableFooterRef,
298
+ tableHeadCellRefs,
299
+ tableHeadRef,
300
+ tablePaperRef,
301
+ topToolbarRef,
302
+ },
303
+ setActionCell: statefulTableOptions.onActionCellChange ?? setActionCell,
304
+ setColumnFilterFns:
305
+ statefulTableOptions.onColumnFilterFnsChange ?? setColumnFilterFns,
306
+ setCreatingRow: (row: MRT_Updater<MRT_Row<TData> | null | true>) => {
307
+ const nextRow = row === true ? createRow(table) : row;
308
+ statefulTableOptions?.onCreatingRowChange?.(
309
+ nextRow as MRT_Row<TData> | null,
310
+ ) ?? _setCreatingRow(nextRow as MRT_Row<TData> | null);
311
+ },
312
+ setDensity: statefulTableOptions.onDensityChange ?? setDensity,
313
+ setDraggingColumn:
314
+ statefulTableOptions.onDraggingColumnChange ?? setDraggingColumn,
315
+ setDraggingRow: statefulTableOptions.onDraggingRowChange ?? setDraggingRow,
316
+ setEditingCell: statefulTableOptions.onEditingCellChange ?? setEditingCell,
317
+ setEditingRow: statefulTableOptions.onEditingRowChange ?? setEditingRow,
318
+ setGlobalFilterFn:
319
+ statefulTableOptions.onGlobalFilterFnChange ?? setGlobalFilterFn,
320
+ setHoveredColumn:
321
+ statefulTableOptions.onHoveredColumnChange ?? setHoveredColumn,
322
+ setHoveredRow: statefulTableOptions.onHoveredRowChange ?? setHoveredRow,
323
+ setIsFullScreen: statefulTableOptions.onIsFullScreenChange ?? setIsFullScreen,
324
+ setShowAlertBanner:
325
+ statefulTableOptions.onShowAlertBannerChange ?? setShowAlertBanner,
326
+ setShowColumnFilters:
327
+ statefulTableOptions.onShowColumnFiltersChange ?? setShowColumnFilters,
328
+ setShowGlobalFilter:
329
+ statefulTableOptions.onShowGlobalFilterChange ?? setShowGlobalFilter,
330
+ setShowToolbarDropZone:
331
+ statefulTableOptions.onShowToolbarDropZoneChange ?? setShowToolbarDropZone,
332
+ });
314
333
 
315
334
  useMRT_Effects(table);
316
335
 
@@ -1,15 +1,4 @@
1
1
  import { useTheme } from '@mui/material/styles';
2
- import {
3
- getCoreRowModel,
4
- getExpandedRowModel,
5
- getFacetedMinMaxValues,
6
- getFacetedRowModel,
7
- getFacetedUniqueValues,
8
- getFilteredRowModel,
9
- getGroupedRowModel,
10
- getPaginationRowModel,
11
- getSortedRowModel,
12
- } from '@tanstack/react-table';
13
2
  import { useId, useMemo } from 'react';
14
3
 
15
4
  import { MRT_AggregationFns } from '../fns/aggregationFns';
@@ -112,7 +101,7 @@ export const useMRT_TableOptions: <TData extends MRT_RowData>(
112
101
  rowNumberDisplayMode = 'static',
113
102
  rowPinningDisplayMode = 'sticky',
114
103
  selectAllMode = 'page',
115
- sortingFns,
104
+ sortFns,
116
105
  ...rest
117
106
  }: MRT_TableOptions<TData>) => {
118
107
  const theme = useTheme();
@@ -131,7 +120,7 @@ export const useMRT_TableOptions: <TData extends MRT_RowData>(
131
120
  [],
132
121
  );
133
122
  filterFns = useMemo(() => ({ ...MRT_FilterFns, ...filterFns }), []);
134
- sortingFns = useMemo(() => ({ ...MRT_SortingFns, ...sortingFns }), []);
123
+ sortFns = useMemo(() => ({ ...MRT_SortingFns, ...sortFns }), []);
135
124
  defaultColumn = useMemo(
136
125
  () => ({ ...MRT_DefaultColumn, ...defaultColumn }),
137
126
  [defaultColumn],
@@ -221,29 +210,8 @@ export const useMRT_TableOptions: <TData extends MRT_RowData>(
221
210
  enableToolbarInternalActions,
222
211
  enableTopToolbar,
223
212
  filterFns,
224
- getCoreRowModel: getCoreRowModel(),
225
- getExpandedRowModel:
226
- enableExpanding || enableGrouping ? getExpandedRowModel() : undefined,
227
- getFacetedMinMaxValues: enableFacetedValues
228
- ? getFacetedMinMaxValues()
229
- : undefined,
230
- getFacetedRowModel: enableFacetedValues ? getFacetedRowModel() : undefined,
231
- getFacetedUniqueValues: enableFacetedValues
232
- ? getFacetedUniqueValues()
233
- : undefined,
234
- getFilteredRowModel:
235
- (enableColumnFilters || enableGlobalFilter || enableFilters) &&
236
- !manualFiltering
237
- ? getFilteredRowModel()
238
- : undefined,
239
- getGroupedRowModel:
240
- enableGrouping && !manualGrouping ? getGroupedRowModel() : undefined,
241
- getPaginationRowModel:
242
- enablePagination && !manualPagination
243
- ? getPaginationRowModel()
244
- : undefined,
245
- getSortedRowModel:
246
- enableSorting && !manualSorting ? getSortedRowModel() : undefined,
213
+ getRowCanExpand:
214
+ rest.getRowCanExpand ?? (rest.renderDetailPanel ? () => true : undefined),
247
215
  getSubRows: (row) => row?.subRows,
248
216
  icons,
249
217
  id,
@@ -265,7 +233,7 @@ export const useMRT_TableOptions: <TData extends MRT_RowData>(
265
233
  rowNumberDisplayMode,
266
234
  rowPinningDisplayMode,
267
235
  selectAllMode,
268
- sortingFns,
236
+ sortFns,
269
237
  ...rest,
270
238
  } as MRT_DefinedTableOptions<TData>;
271
239
  };
package/src/icons.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ArrowDownward as ArrowDownwardIcon, ArrowRight as ArrowRightIcon, Cancel as CancelIcon, ChevronLeft as ChevronLeftIcon, ChevronRight as ChevronRightIcon, ClearAll as ClearAllIcon, Close as CloseIcon, ContentCopy, DensityLarge as DensityLargeIcon, DensityMedium as DensityMediumIcon, DensitySmall as DensitySmallIcon, DragHandle as DragHandleIcon, DynamicFeed as DynamicFeedIcon, Edit as EditIcon, ExpandMore as ExpandMoreIcon, FilterAlt as FilterAltIcon, FilterList as FilterListIcon, FilterListOff as FilterListOffIcon, FirstPage as FirstPageIcon, Fullscreen as FullscreenIcon, FullscreenExit as FullscreenExitIcon, KeyboardDoubleArrowDown as KeyboardDoubleArrowDownIcon, LastPage as LastPageIcon, MoreHoriz as MoreHorizIcon, MoreVert as MoreVertIcon, PushPin as PushPinIcon, RestartAlt as RestartAltIcon, Save as SaveIcon, Search as SearchIcon, SearchOff as SearchOffIcon, Sort as SortIcon, SyncAlt as SyncAltIcon, ViewColumn as ViewColumnIcon, VisibilityOff as VisibilityOffIcon } from '@mui/icons-material';
1
+ import { ArrowDownward as ArrowDownwardIcon, ArrowRight as ArrowRightIcon, Cancel as CancelIcon, ChevronLeft as ChevronLeftIcon, ChevronRight as ChevronRightIcon, ClearAll as ClearAllIcon, Close as CloseIcon, ContentCopy, DensityLarge as DensityLargeIcon, DensityMedium as DensityMediumIcon, DensitySmall as DensitySmallIcon, DragHandle as DragHandleIcon, DynamicFeed as DynamicFeedIcon, Edit as EditIcon, ExpandMore as ExpandMoreIcon, FilterAlt as FilterAltIcon, FilterList as FilterListIcon, FilterListOff as FilterListOffIcon, FirstPage as FirstPageIcon, FullscreenExit as FullscreenExitIcon, Fullscreen as FullscreenIcon, KeyboardDoubleArrowDown as KeyboardDoubleArrowDownIcon, LastPage as LastPageIcon, MoreHoriz as MoreHorizIcon, MoreVert as MoreVertIcon, PushPin as PushPinIcon, RestartAlt as RestartAltIcon, Save as SaveIcon, Search as SearchIcon, SearchOff as SearchOffIcon, Sort as SortIcon, SyncAlt as SyncAltIcon, ViewColumn as ViewColumnIcon, VisibilityOff as VisibilityOffIcon } from '@mui/icons-material';
2
2
  export const MRT_Default_Icons = {
3
3
  ArrowDownwardIcon,
4
4
  ArrowRightIcon,