material-react-table 2.0.0-beta.1 → 2.0.0-beta.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/index.js +33 -21
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +4 -4
- package/dist/cjs/types/body/MRT_TableBody.d.ts +4 -4
- package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +4 -4
- package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +3 -3
- package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +4 -4
- package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +3 -3
- package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +3 -3
- package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +3 -3
- package/dist/cjs/types/column.utils.d.ts +34 -33
- package/dist/cjs/types/filterFns.d.ts +15 -14
- package/dist/cjs/types/footer/MRT_TableFooter.d.ts +3 -3
- package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +3 -3
- package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHead.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +3 -3
- package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
- package/dist/cjs/types/hooks/useMRT_Effects.d.ts +2 -2
- package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +2 -2
- package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +2 -2
- package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +3 -3
- package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +3 -3
- package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +3 -3
- package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +3 -3
- package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +3 -3
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +3 -3
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +3 -3
- package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +3 -3
- package/dist/cjs/types/sortingFns.d.ts +3 -3
- package/dist/cjs/types/table/MRT_Table.d.ts +3 -3
- package/dist/cjs/types/table/MRT_TableContainer.d.ts +3 -3
- package/dist/cjs/types/table/MRT_TablePaper.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -3
- package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +3 -3
- package/dist/cjs/types/types.d.ts +50 -40
- package/dist/cjs/types/useMaterialReactTable.d.ts +2 -2
- package/dist/esm/material-react-table.esm.js +33 -22
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/MaterialReactTable.d.ts +4 -4
- package/dist/esm/types/body/MRT_TableBody.d.ts +4 -4
- package/dist/esm/types/body/MRT_TableBodyCell.d.ts +4 -4
- package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +3 -3
- package/dist/esm/types/body/MRT_TableBodyRow.d.ts +4 -4
- package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +3 -3
- package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +3 -3
- package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_CopyButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +3 -3
- package/dist/esm/types/column.utils.d.ts +34 -33
- package/dist/esm/types/filterFns.d.ts +15 -14
- package/dist/esm/types/footer/MRT_TableFooter.d.ts +3 -3
- package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +3 -3
- package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHead.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCell.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadRow.d.ts +3 -3
- package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
- package/dist/esm/types/hooks/useMRT_Effects.d.ts +2 -2
- package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +2 -2
- package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +2 -2
- package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +3 -3
- package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +3 -3
- package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +3 -3
- package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +3 -3
- package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +3 -3
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +3 -3
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +3 -3
- package/dist/esm/types/modals/MRT_EditRowModal.d.ts +3 -3
- package/dist/esm/types/sortingFns.d.ts +3 -3
- package/dist/esm/types/table/MRT_Table.d.ts +3 -3
- package/dist/esm/types/table/MRT_TableContainer.d.ts +3 -3
- package/dist/esm/types/table/MRT_TablePaper.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -3
- package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +3 -3
- package/dist/esm/types/types.d.ts +50 -40
- package/dist/esm/types/useMaterialReactTable.d.ts +2 -2
- package/dist/index.d.ts +217 -206
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +5 -4
- package/src/body/MRT_TableBody.tsx +7 -3
- package/src/body/MRT_TableBodyCell.tsx +10 -4
- package/src/body/MRT_TableBodyCellValue.tsx +7 -3
- package/src/body/MRT_TableBodyRow.tsx +8 -3
- package/src/body/MRT_TableBodyRowGrabHandle.tsx +7 -3
- package/src/body/MRT_TableBodyRowPinButton.tsx +7 -3
- package/src/body/MRT_TableDetailPanel.tsx +7 -3
- package/src/buttons/MRT_ColumnPinningButtons.tsx +7 -3
- package/src/buttons/MRT_CopyButton.tsx +7 -3
- package/src/buttons/MRT_EditActionButtons.tsx +7 -3
- package/src/buttons/MRT_ExpandAllButton.tsx +5 -6
- package/src/buttons/MRT_ExpandButton.tsx +9 -6
- package/src/buttons/MRT_GrabHandleButton.tsx +3 -3
- package/src/buttons/MRT_RowPinButton.tsx +7 -3
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +3 -3
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +3 -5
- package/src/buttons/MRT_ToggleFiltersButton.tsx +3 -3
- package/src/buttons/MRT_ToggleFullScreenButton.tsx +3 -3
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +3 -5
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +8 -5
- package/src/column.utils.ts +41 -17
- package/src/filterFns.ts +15 -14
- package/src/footer/MRT_TableFooter.tsx +3 -3
- package/src/footer/MRT_TableFooterCell.tsx +7 -3
- package/src/footer/MRT_TableFooterRow.tsx +3 -2
- package/src/head/MRT_TableHead.tsx +3 -3
- package/src/head/MRT_TableHeadCell.tsx +8 -4
- package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +7 -3
- package/src/head/MRT_TableHeadCellFilterContainer.tsx +7 -5
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +7 -5
- package/src/head/MRT_TableHeadCellGrabHandle.tsx +7 -3
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +7 -5
- package/src/head/MRT_TableHeadCellSortLabel.tsx +7 -3
- package/src/head/MRT_TableHeadRow.tsx +3 -2
- package/src/hooks/useMRT_DisplayColumns.tsx +4 -3
- package/src/hooks/useMRT_Effects.ts +6 -2
- package/src/hooks/useMRT_TableInstance.ts +3 -2
- package/src/hooks/useMRT_TableOptions.ts +7 -3
- package/src/inputs/MRT_EditCellTextField.tsx +8 -4
- package/src/inputs/MRT_FilterCheckbox.tsx +7 -3
- package/src/inputs/MRT_FilterRangeFields.tsx +7 -3
- package/src/inputs/MRT_FilterRangeSlider.tsx +7 -3
- package/src/inputs/MRT_FilterTextField.tsx +9 -3
- package/src/inputs/MRT_GlobalFilterTextField.tsx +3 -3
- package/src/inputs/MRT_SelectCheckbox.tsx +7 -3
- package/src/menus/MRT_ColumnActionMenu.tsx +7 -3
- package/src/menus/MRT_FilterOptionMenu.tsx +3 -2
- package/src/menus/MRT_RowActionMenu.tsx +7 -3
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +7 -3
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +7 -5
- package/src/modals/MRT_EditRowModal.tsx +7 -3
- package/src/sortingFns.ts +3 -3
- package/src/table/MRT_Table.tsx +3 -3
- package/src/table/MRT_TableContainer.tsx +3 -3
- package/src/table/MRT_TablePaper.tsx +3 -3
- package/src/toolbar/MRT_BottomToolbar.tsx +3 -3
- package/src/toolbar/MRT_LinearProgressBar.tsx +3 -3
- package/src/toolbar/MRT_TablePagination.tsx +3 -3
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +3 -3
- package/src/toolbar/MRT_ToolbarDropZone.tsx +3 -3
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +3 -3
- package/src/toolbar/MRT_TopToolbar.tsx +3 -3
- package/src/types.ts +75 -45
- package/src/useMaterialReactTable.ts +6 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
import { type Dispatch, type MutableRefObject, type ReactNode, type RefObject, type SetStateAction } from 'react';
|
2
|
-
import { type AggregationFn, type Cell, type Column, type ColumnDef, type ColumnFiltersState, type ColumnOrderState, type ColumnPinningState, type ColumnSizingInfoState, type ColumnSizingState, type DeepKeys, type ExpandedState, type FilterFn, type GroupingState, type Header, type HeaderGroup, type OnChangeFn, type PaginationState, type Row, type RowSelectionState, type SortingFn, type SortingState, type Table, type TableOptions, type TableState, type Updater, type VisibilityState } from '@tanstack/react-table';
|
2
|
+
import { type AccessorFn, type AggregationFn, type Cell, type Column, type ColumnDef, type ColumnFiltersState, type ColumnOrderState, type ColumnPinningState, type ColumnSizingInfoState, type ColumnSizingState, type DeepKeys, type DeepValue, type ExpandedState, type FilterFn, type GroupingState, type Header, type HeaderGroup, type OnChangeFn, type PaginationState, type Row, type RowSelectionState, type SortingFn, type SortingState, type Table, type TableOptions, type TableState, type Updater, type VisibilityState } from '@tanstack/react-table';
|
3
3
|
import { type VirtualItem, type Virtualizer, type VirtualizerOptions } from '@tanstack/react-virtual';
|
4
4
|
import { type AlertProps } from '@mui/material/Alert';
|
5
5
|
import { type AutocompleteProps } from '@mui/material/Autocomplete';
|
@@ -41,7 +41,13 @@ export type Xor<A, B> = Prettify<A & {
|
|
41
41
|
}>;
|
42
42
|
export type MRT_DensityState = 'comfortable' | 'compact' | 'spacious';
|
43
43
|
export type MRT_ColumnFilterFnsState = Record<string, MRT_FilterOption>;
|
44
|
+
export type MRT_RowData = Record<string, any>;
|
44
45
|
export type { ColumnFiltersState as MRT_ColumnFiltersState, ColumnOrderState as MRT_ColumnOrderState, ColumnPinningState as MRT_ColumnPinningState, ColumnSizingInfoState as MRT_ColumnSizingInfoState, ColumnSizingState as MRT_ColumnSizingState, ExpandedState as MRT_ExpandedState, GroupingState as MRT_GroupingState, PaginationState as MRT_PaginationState, RowSelectionState as MRT_RowSelectionState, SortingState as MRT_SortingState, Updater as MRT_Updater, VirtualItem as MRT_VirtualItem, Virtualizer as MRT_Virtualizer, VirtualizerOptions as MRT_VirtualizerOptions, VisibilityState as MRT_VisibilityState, };
|
46
|
+
export type MRT_ColumnHelper<TData extends MRT_RowData> = {
|
47
|
+
accessor: <TAccessor extends AccessorFn<TData> | DeepKeys<TData>, TValue extends TAccessor extends AccessorFn<TData, infer TReturn> ? TReturn : TAccessor extends DeepKeys<TData> ? DeepValue<TData, TAccessor> : never>(accessor: TAccessor, column: MRT_DisplayColumnDef<TData, TValue>) => MRT_ColumnDef<TData, TValue>;
|
48
|
+
display: (column: MRT_DisplayColumnDef<TData>) => MRT_ColumnDef<TData>;
|
49
|
+
group: (column: MRT_GroupColumnDef<TData>) => MRT_ColumnDef<TData>;
|
50
|
+
};
|
45
51
|
export interface MRT_Localization {
|
46
52
|
actions: string;
|
47
53
|
and: string;
|
@@ -133,14 +139,14 @@ export interface MRT_Localization {
|
|
133
139
|
unpin: string;
|
134
140
|
unpinAll: string;
|
135
141
|
}
|
136
|
-
export interface MRT_RowModel<TData extends
|
142
|
+
export interface MRT_RowModel<TData extends MRT_RowData> {
|
137
143
|
flatRows: MRT_Row<TData>[];
|
138
144
|
rows: MRT_Row<TData>[];
|
139
145
|
rowsById: {
|
140
146
|
[key: string]: MRT_Row<TData>;
|
141
147
|
};
|
142
148
|
}
|
143
|
-
export type MRT_TableInstance<TData extends
|
149
|
+
export type MRT_TableInstance<TData extends MRT_RowData> = Omit<Table<TData>, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getBottomRows' | 'getCenterLeafColumns' | 'getCenterRows' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getHeaderGroups' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'getTopRows' | 'options'> & {
|
144
150
|
getAllColumns: () => MRT_Column<TData>[];
|
145
151
|
getAllFlatColumns: () => MRT_Column<TData>[];
|
146
152
|
getAllLeafColumns: () => MRT_Column<TData>[];
|
@@ -189,11 +195,11 @@ export type MRT_TableInstance<TData extends Record<string, any>> = Omit<Table<TD
|
|
189
195
|
setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
|
190
196
|
setShowToolbarDropZone: Dispatch<SetStateAction<boolean>>;
|
191
197
|
};
|
192
|
-
export type MRT_DefinedTableOptions<TData extends
|
198
|
+
export type MRT_DefinedTableOptions<TData extends MRT_RowData> = MRT_TableOptions<TData> & {
|
193
199
|
icons: MRT_Icons;
|
194
200
|
localization: MRT_Localization;
|
195
201
|
};
|
196
|
-
export type MRT_TableState<TData extends
|
202
|
+
export type MRT_TableState<TData extends MRT_RowData> = TableState & {
|
197
203
|
columnFilterFns: MRT_ColumnFilterFnsState;
|
198
204
|
creatingRow: MRT_Row<TData> | null;
|
199
205
|
density: MRT_DensityState;
|
@@ -215,52 +221,52 @@ export type MRT_TableState<TData extends Record<string, any>> = TableState & {
|
|
215
221
|
showSkeletons: boolean;
|
216
222
|
showToolbarDropZone: boolean;
|
217
223
|
};
|
218
|
-
export type MRT_ColumnDef<TData extends
|
224
|
+
export type MRT_ColumnDef<TData extends MRT_RowData, TValue = unknown> = Omit<ColumnDef<TData, TValue>, 'accessorKey' | 'aggregatedCell' | 'aggregationFn' | 'cell' | 'columns' | 'filterFn' | 'footer' | 'header' | 'id' | 'sortingFn'> & {
|
219
225
|
AggregatedCell?: (props: {
|
220
|
-
cell: MRT_Cell<TData>;
|
221
|
-
column: MRT_Column<TData>;
|
226
|
+
cell: MRT_Cell<TData, TValue>;
|
227
|
+
column: MRT_Column<TData, TValue>;
|
222
228
|
row: MRT_Row<TData>;
|
223
229
|
table: MRT_TableInstance<TData>;
|
224
230
|
}) => ReactNode;
|
225
231
|
Cell?: (props: {
|
226
|
-
cell: MRT_Cell<TData>;
|
227
|
-
column: MRT_Column<TData>;
|
228
|
-
renderedCellValue: ReactNode
|
232
|
+
cell: MRT_Cell<TData, TValue>;
|
233
|
+
column: MRT_Column<TData, TValue>;
|
234
|
+
renderedCellValue: ReactNode;
|
229
235
|
row: MRT_Row<TData>;
|
230
236
|
rowRef?: RefObject<HTMLTableRowElement>;
|
231
237
|
table: MRT_TableInstance<TData>;
|
232
238
|
}) => ReactNode;
|
233
239
|
Edit?: (props: {
|
234
|
-
cell: MRT_Cell<TData>;
|
235
|
-
column: MRT_Column<TData>;
|
240
|
+
cell: MRT_Cell<TData, TValue>;
|
241
|
+
column: MRT_Column<TData, TValue>;
|
236
242
|
row: MRT_Row<TData>;
|
237
243
|
table: MRT_TableInstance<TData>;
|
238
244
|
}) => ReactNode;
|
239
245
|
Filter?: (props: {
|
240
|
-
column: MRT_Column<TData>;
|
246
|
+
column: MRT_Column<TData, TValue>;
|
241
247
|
header: MRT_Header<TData>;
|
242
248
|
rangeFilterIndex?: number;
|
243
249
|
table: MRT_TableInstance<TData>;
|
244
250
|
}) => ReactNode;
|
245
251
|
Footer?: ((props: {
|
246
|
-
column: MRT_Column<TData>;
|
252
|
+
column: MRT_Column<TData, TValue>;
|
247
253
|
footer: MRT_Header<TData>;
|
248
254
|
table: MRT_TableInstance<TData>;
|
249
255
|
}) => ReactNode) | ReactNode;
|
250
256
|
GroupedCell?: (props: {
|
251
|
-
cell: MRT_Cell<TData>;
|
252
|
-
column: MRT_Column<TData>;
|
257
|
+
cell: MRT_Cell<TData, TValue>;
|
258
|
+
column: MRT_Column<TData, TValue>;
|
253
259
|
row: MRT_Row<TData>;
|
254
260
|
table: MRT_TableInstance<TData>;
|
255
261
|
}) => ReactNode;
|
256
262
|
Header?: ((props: {
|
257
|
-
column: MRT_Column<TData>;
|
263
|
+
column: MRT_Column<TData, TValue>;
|
258
264
|
header: MRT_Header<TData>;
|
259
265
|
table: MRT_TableInstance<TData>;
|
260
266
|
}) => ReactNode) | ReactNode;
|
261
267
|
PlaceholderCell?: (props: {
|
262
|
-
cell: MRT_Cell<TData>;
|
263
|
-
column: MRT_Column<TData>;
|
268
|
+
cell: MRT_Cell<TData, TValue>;
|
269
|
+
column: MRT_Column<TData, TValue>;
|
264
270
|
row: MRT_Row<TData>;
|
265
271
|
table: MRT_TableInstance<TData>;
|
266
272
|
}) => ReactNode;
|
@@ -270,7 +276,7 @@ export type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TD
|
|
270
276
|
*
|
271
277
|
* @example accessorFn: (row) => row.username
|
272
278
|
*/
|
273
|
-
accessorFn?: (originalRow: TData) =>
|
279
|
+
accessorFn?: (originalRow: TData) => TValue;
|
274
280
|
/**
|
275
281
|
* Either an `accessorKey` or a combination of an `accessorFn` and `id` are required for a data column definition.
|
276
282
|
* Specify which key in the row this column should use to access the correct data.
|
@@ -291,7 +297,7 @@ export type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TD
|
|
291
297
|
*/
|
292
298
|
columnDefType?: 'data' | 'display' | 'group';
|
293
299
|
columnFilterModeOptions?: Array<LiteralUnion<string & MRT_FilterOption>> | null;
|
294
|
-
columns?: MRT_ColumnDef<TData>[];
|
300
|
+
columns?: MRT_ColumnDef<TData, TValue>[];
|
295
301
|
editSelectOptions?: ({
|
296
302
|
text: string;
|
297
303
|
value: any;
|
@@ -337,13 +343,13 @@ export type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TD
|
|
337
343
|
table: MRT_TableInstance<TData>;
|
338
344
|
}) => IconButtonProps) | IconButtonProps;
|
339
345
|
muiCopyButtonProps?: ((props: {
|
340
|
-
cell: MRT_Cell<TData>;
|
346
|
+
cell: MRT_Cell<TData, TValue>;
|
341
347
|
column: MRT_Column<TData>;
|
342
348
|
row: MRT_Row<TData>;
|
343
349
|
table: MRT_TableInstance<TData>;
|
344
350
|
}) => ButtonProps) | ButtonProps;
|
345
351
|
muiEditTextFieldProps?: ((props: {
|
346
|
-
cell: MRT_Cell<TData>;
|
352
|
+
cell: MRT_Cell<TData, TValue>;
|
347
353
|
column: MRT_Column<TData>;
|
348
354
|
row: MRT_Row<TData>;
|
349
355
|
table: MRT_TableInstance<TData>;
|
@@ -371,7 +377,7 @@ export type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TD
|
|
371
377
|
table: MRT_TableInstance<TData>;
|
372
378
|
}) => TextFieldProps) | TextFieldProps;
|
373
379
|
muiTableBodyCellProps?: ((props: {
|
374
|
-
cell: MRT_Cell<TData>;
|
380
|
+
cell: MRT_Cell<TData, TValue>;
|
375
381
|
column: MRT_Column<TData>;
|
376
382
|
row: MRT_Row<TData>;
|
377
383
|
table: MRT_TableInstance<TData>;
|
@@ -398,40 +404,44 @@ export type MRT_ColumnDef<TData extends Record<string, any>> = Omit<ColumnDef<TD
|
|
398
404
|
}) => ReactNode[];
|
399
405
|
sortingFn?: MRT_SortingFn<TData>;
|
400
406
|
};
|
401
|
-
export type
|
407
|
+
export type MRT_DisplayColumnDef<TData extends MRT_RowData, TValue = unknown> = Omit<MRT_ColumnDef<TData, TValue>, 'accessorFn' | 'accessorKey'>;
|
408
|
+
export type MRT_GroupColumnDef<TData extends MRT_RowData> = MRT_DisplayColumnDef<TData, any> & {
|
409
|
+
columns: MRT_ColumnDef<TData>[];
|
410
|
+
};
|
411
|
+
export type MRT_DefinedColumnDef<TData extends MRT_RowData, TValue = unknown> = Omit<MRT_ColumnDef<TData, TValue>, 'defaultDisplayColumn' | 'id'> & {
|
402
412
|
_filterFn: MRT_FilterOption;
|
403
|
-
defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
|
413
|
+
defaultDisplayColumn: Partial<MRT_ColumnDef<TData, TValue>>;
|
404
414
|
id: string;
|
405
415
|
};
|
406
|
-
export type MRT_Column<TData extends
|
407
|
-
columnDef: MRT_DefinedColumnDef<TData>;
|
408
|
-
columns?: MRT_Column<TData>[];
|
416
|
+
export type MRT_Column<TData extends MRT_RowData, TValue = unknown> = Omit<Column<TData, TValue>, 'columnDef' | 'columns' | 'filterFn' | 'footer' | 'header'> & {
|
417
|
+
columnDef: MRT_DefinedColumnDef<TData, TValue>;
|
418
|
+
columns?: MRT_Column<TData, TValue>[];
|
409
419
|
filterFn?: MRT_FilterFn<TData>;
|
410
420
|
footer: string;
|
411
421
|
header: string;
|
412
422
|
};
|
413
|
-
export type MRT_Header<TData extends
|
423
|
+
export type MRT_Header<TData extends MRT_RowData> = Omit<Header<TData, unknown>, 'column'> & {
|
414
424
|
column: MRT_Column<TData>;
|
415
425
|
};
|
416
|
-
export type MRT_HeaderGroup<TData extends
|
426
|
+
export type MRT_HeaderGroup<TData extends MRT_RowData> = Omit<HeaderGroup<TData>, 'headers'> & {
|
417
427
|
headers: MRT_Header<TData>[];
|
418
428
|
};
|
419
|
-
export type MRT_Row<TData extends
|
429
|
+
export type MRT_Row<TData extends MRT_RowData> = Omit<Row<TData>, '_valuesCache' | 'getAllCells' | 'getVisibleCells' | 'subRows'> & {
|
420
430
|
_valuesCache: Record<LiteralUnion<string & DeepKeys<TData>>, any>;
|
421
431
|
getAllCells: () => MRT_Cell<TData>[];
|
422
432
|
getVisibleCells: () => MRT_Cell<TData>[];
|
423
433
|
subRows?: MRT_Row<TData>[];
|
424
434
|
};
|
425
|
-
export type MRT_Cell<TData extends
|
426
|
-
column: MRT_Column<TData>;
|
435
|
+
export type MRT_Cell<TData extends MRT_RowData, TValue = unknown> = Omit<Cell<TData, TValue>, 'column' | 'row'> & {
|
436
|
+
column: MRT_Column<TData, TValue>;
|
427
437
|
row: MRT_Row<TData>;
|
428
438
|
};
|
429
439
|
export type MRT_AggregationOption = string & keyof typeof MRT_AggregationFns;
|
430
|
-
export type MRT_AggregationFn<TData extends
|
440
|
+
export type MRT_AggregationFn<TData extends MRT_RowData> = AggregationFn<TData> | MRT_AggregationOption;
|
431
441
|
export type MRT_SortingOption = LiteralUnion<string & keyof typeof MRT_SortingFns>;
|
432
|
-
export type MRT_SortingFn<TData extends
|
442
|
+
export type MRT_SortingFn<TData extends MRT_RowData> = MRT_SortingOption | SortingFn<TData>;
|
433
443
|
export type MRT_FilterOption = LiteralUnion<string & keyof typeof MRT_FilterFns>;
|
434
|
-
export type MRT_FilterFn<TData extends
|
444
|
+
export type MRT_FilterFn<TData extends MRT_RowData> = FilterFn<TData> | MRT_FilterOption;
|
435
445
|
export type MRT_InternalFilterOption = {
|
436
446
|
divider: boolean;
|
437
447
|
label: string;
|
@@ -448,7 +458,7 @@ export type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row
|
|
448
458
|
* See the full props list on the official docs site:
|
449
459
|
* @link https://www.material-react-table.com/docs/api/props
|
450
460
|
*/
|
451
|
-
export type MRT_TableOptions<TData extends
|
461
|
+
export type MRT_TableOptions<TData extends MRT_RowData> = Omit<Partial<TableOptions<TData>>, 'columns' | 'data' | 'defaultColumn' | 'enableRowSelection' | 'expandRowsFn' | 'getRowId' | 'globalFilterFn' | 'initialState' | 'onStateChange' | 'state'> & {
|
452
462
|
columnFilterDisplayMode?: 'custom' | 'popover' | 'subheader';
|
453
463
|
columnFilterModeOptions?: Array<LiteralUnion<string & MRT_FilterOption>> | null;
|
454
464
|
columnVirtualizerInstanceRef?: MutableRefObject<Virtualizer<HTMLDivElement, HTMLTableCellElement> | null>;
|
@@ -465,7 +475,7 @@ export type MRT_TableOptions<TData extends Record<string, any>> = Omit<Partial<T
|
|
465
475
|
* See all Columns Options on the official docs site:
|
466
476
|
* @link https://www.material-react-table.com/docs/api/column-options
|
467
477
|
*/
|
468
|
-
columns: MRT_ColumnDef<TData>[];
|
478
|
+
columns: MRT_ColumnDef<TData, any>[];
|
469
479
|
createDisplayMode?: 'custom' | 'modal' | 'row';
|
470
480
|
/**
|
471
481
|
* Pass your data as an array of objects. Objects can theoretically be any shape, but it's best to keep them consistent.
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { type MRT_TableInstance, type MRT_TableOptions } from './types';
|
2
|
-
export declare const useMaterialReactTable: <TData extends
|
1
|
+
import { type MRT_RowData, type MRT_TableInstance, type MRT_TableOptions } from './types';
|
2
|
+
export declare const useMaterialReactTable: <TData extends MRT_RowData>(tableOptions: MRT_TableOptions<TData>) => MRT_TableInstance<TData>;
|