material-react-table 0.33.0 → 0.33.3

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.
package/dist/index.d.ts CHANGED
@@ -678,7 +678,9 @@ declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = O
678
678
  selectAllMode?: 'all' | 'page';
679
679
  state?: Partial<MRT_TableState<TData>>;
680
680
  tableId?: string;
681
- virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>;
681
+ virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>> | (({ table, }: {
682
+ table: MRT_TableInstance<TData>;
683
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
682
684
  };
683
685
  declare const _default: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
684
686
 
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.33.0",
2
+ "version": "0.33.3",
3
3
  "license": "MIT",
4
4
  "name": "material-react-table",
5
5
  "description": "A fully featured Material UI V5 implementation of TanStack React Table V8, written from the ground up in TypeScript.",
@@ -812,9 +812,13 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> =
812
812
  selectAllMode?: 'all' | 'page';
813
813
  state?: Partial<MRT_TableState<TData>>;
814
814
  tableId?: string;
815
- virtualizerProps?: Partial<
816
- VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>
817
- >;
815
+ virtualizerProps?:
816
+ | Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>
817
+ | (({
818
+ table,
819
+ }: {
820
+ table: MRT_TableInstance<TData>;
821
+ }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>);
818
822
  };
819
823
 
820
824
  export default <TData extends Record<string, any> = {}>({
@@ -30,15 +30,16 @@ export const MRT_TableBody: FC<Props> = ({ table, tableContainerRef }) => {
30
30
  ? muiTableBodyProps({ table })
31
31
  : muiTableBodyProps;
32
32
 
33
- const getIsSomeColumnsSorted = () => {
34
- return Object.values(sorting).some(Boolean);
35
- };
33
+ const vProps =
34
+ virtualizerProps instanceof Function
35
+ ? virtualizerProps({ table })
36
+ : virtualizerProps;
36
37
 
37
38
  const rows = useMemo(() => {
38
39
  if (
39
40
  enableGlobalFilterRankedResults &&
40
41
  globalFilter &&
41
- !getIsSomeColumnsSorted()
42
+ !Object.values(sorting).some(Boolean)
42
43
  ) {
43
44
  const rankedRows = getPrePaginationRowModel().rows.sort((a, b) =>
44
45
  rankGlobalFuzzy(a, b),
@@ -62,11 +63,11 @@ export const MRT_TableBody: FC<Props> = ({ table, tableContainerRef }) => {
62
63
 
63
64
  const rowVirtualizer: Virtualizer = enableRowVirtualization
64
65
  ? useVirtualizer({
66
+ count: rows.length,
65
67
  estimateSize: () => (density === 'compact' ? 25 : 50),
66
- overscan: density === 'compact' ? 30 : 10,
67
68
  getScrollElement: () => tableContainerRef.current as HTMLDivElement,
68
- count: rows.length,
69
- ...virtualizerProps,
69
+ overscan: density === 'compact' ? 30 : 10,
70
+ ...vProps,
70
71
  })
71
72
  : ({} as any);
72
73
 
@@ -85,8 +85,8 @@ export const prepareColumns = <TData extends Record<string, any> = {}>(
85
85
  }
86
86
  } else if (columnDef.columnDefType === 'display') {
87
87
  columnDef = {
88
- ...columnDef,
89
88
  ...(defaultDisplayColumnDefOptions as MRT_ColumnDef<TData>),
89
+ ...columnDef,
90
90
  };
91
91
  }
92
92
  return columnDef;