diff --git a/.changeset/every-grapes-judge.md b/.changeset/every-grapes-judge.md new file mode 100644 index 0000000000..7f64075285 --- /dev/null +++ b/.changeset/every-grapes-judge.md @@ -0,0 +1,5 @@ +--- +'@tanstack/table-core': major +--- + +fix API to calculate max expanded row depth diff --git a/packages/table-core/src/features/RowExpanding.ts b/packages/table-core/src/features/RowExpanding.ts index 15da45e0ea..21eb336bc2 100644 --- a/packages/table-core/src/features/RowExpanding.ts +++ b/packages/table-core/src/features/RowExpanding.ts @@ -311,8 +311,12 @@ export const RowExpanding: TableFeature = { } if (exists && !expanded) { - const { [row.id]: _, ...rest } = oldExpanded - return rest + return Object.keys(oldExpanded).reduce((acc, rowId) => { + if (rowId !== row.id && !rowId.startsWith(row.id + '.')) { + acc[rowId] = oldExpanded[rowId]; + } + return acc; + }, {} as ExpandedStateList); } return old