diff --git a/packages/material-react-table/package.json b/packages/material-react-table/package.json index 585f1a0c8..f76a44af9 100644 --- a/packages/material-react-table/package.json +++ b/packages/material-react-table/package.json @@ -52,7 +52,7 @@ "dev": "pnpm lib:dev", "lib:build": "pnpm build-lib && pnpm build-locales", "lib:build-locales": "node build-locales.mjs", - "lib:build-lib": "rm -rf dist && rollup -c rollup.config.mjs && size-limit", + "lib:build-lib": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && rollup -c rollup.config.mjs && size-limit", "lib:dev": "rollup -c rollup.config.mjs --watch", "lint": "eslint .", "size": "size-limit", diff --git a/packages/material-react-table/src/components/head/MRT_TableHeadCell.tsx b/packages/material-react-table/src/components/head/MRT_TableHeadCell.tsx index 880826e83..2fa3959ba 100644 --- a/packages/material-react-table/src/components/head/MRT_TableHeadCell.tsx +++ b/packages/material-react-table/src/components/head/MRT_TableHeadCell.tsx @@ -326,7 +326,7 @@ export const MRT_TableHeadCell = ({ column={column} table={table} tableHeadCellRef={{ - current: tableHeadCellRefs.current?.[column.id]!, + current: tableHeadCellRefs.current?.[column.id] ?? null, }} /> )} diff --git a/packages/material-react-table/src/components/table/MRT_Table.tsx b/packages/material-react-table/src/components/table/MRT_Table.tsx index f27896ae7..390330718 100644 --- a/packages/material-react-table/src/components/table/MRT_Table.tsx +++ b/packages/material-react-table/src/components/table/MRT_Table.tsx @@ -21,6 +21,7 @@ export const MRT_Table = ({ getState, options: { columns, + enableRowVirtualization, enableStickyHeader, enableTableFooter, enableTableHead, @@ -73,7 +74,8 @@ export const MRT_Table = ({ > {!!Caption && {Caption}} {enableTableHead && } - {memoMode === 'table-body' || columnSizingInfo.isResizingColumn ? ( + {memoMode === 'table-body' || + (columnSizingInfo.isResizingColumn && !enableRowVirtualization) ? ( ) : ( diff --git a/packages/material-react-table/src/hooks/useMRT_Effects.ts b/packages/material-react-table/src/hooks/useMRT_Effects.ts index ce4ace2cf..4c2c2f5c4 100644 --- a/packages/material-react-table/src/hooks/useMRT_Effects.ts +++ b/packages/material-react-table/src/hooks/useMRT_Effects.ts @@ -97,10 +97,12 @@ export const useMRT_Effects = ( //fix pinned row top style when density changes useEffect(() => { - if (enableRowPinning && getIsSomeRowsPinned()) { - setTimeout(() => { - rerender(); - }, 150); - } + if (!enableRowPinning || !getIsSomeRowsPinned()) return undefined; + + const timeoutId = setTimeout(() => { + rerender(); + }, 150); + + return () => clearTimeout(timeoutId); }, [density]); }; diff --git a/packages/material-react-table/src/hooks/useMRT_TableOptions.ts b/packages/material-react-table/src/hooks/useMRT_TableOptions.ts index 7bee63ec6..5802a02c9 100644 --- a/packages/material-react-table/src/hooks/useMRT_TableOptions.ts +++ b/packages/material-react-table/src/hooks/useMRT_TableOptions.ts @@ -127,10 +127,10 @@ export const useMRT_TableOptions: ( mrtTheme = useMemo(() => getMRTTheme(mrtTheme, theme), [mrtTheme, theme]); aggregationFns = useMemo( () => ({ ...MRT_AggregationFns, ...aggregationFns }), - [], + [aggregationFns], ); - filterFns = useMemo(() => ({ ...MRT_FilterFns, ...filterFns }), []); - sortingFns = useMemo(() => ({ ...MRT_SortingFns, ...sortingFns }), []); + filterFns = useMemo(() => ({ ...MRT_FilterFns, ...filterFns }), [filterFns]); + sortingFns = useMemo(() => ({ ...MRT_SortingFns, ...sortingFns }), [sortingFns]); defaultColumn = useMemo( () => ({ ...MRT_DefaultColumn, ...defaultColumn }), [defaultColumn],