diff --git a/packages/table-core/src/features/row-pagination/rowPaginationFeature.utils.ts b/packages/table-core/src/features/row-pagination/rowPaginationFeature.utils.ts index 359a944620..a4552c4197 100644 --- a/packages/table-core/src/features/row-pagination/rowPaginationFeature.utils.ts +++ b/packages/table-core/src/features/row-pagination/rowPaginationFeature.utils.ts @@ -46,7 +46,7 @@ export function table_autoResetPageIndex< table.options.autoResetPageIndex ?? !table.options.manualPagination ) { - table_resetPageIndex(table) + table_resetPageIndex(table, true) } } diff --git a/packages/table-core/tests/unit/features/row-pagination/rowPaginationFeature.utils.test.ts b/packages/table-core/tests/unit/features/row-pagination/rowPaginationFeature.utils.test.ts index 0ac6ceaedf..4bfd8be874 100644 --- a/packages/table-core/tests/unit/features/row-pagination/rowPaginationFeature.utils.test.ts +++ b/packages/table-core/tests/unit/features/row-pagination/rowPaginationFeature.utils.test.ts @@ -447,6 +447,19 @@ describe('table_autoResetPageIndex', () => { expect(table.atoms.pagination.get().pageIndex).toBe(0) }) + it('should reset to the first page instead of the initial page index', () => { + const table = makeTable(25, { + initialState: { pagination: { pageIndex: 1, pageSize: 10 } }, + }) + + table.setPageIndex(2) + expect(table.atoms.pagination.get().pageIndex).toBe(2) + + table_autoResetPageIndex(table) + + expect(table.atoms.pagination.get().pageIndex).toBe(0) + }) + it('should not reset when manualPagination is set', () => { const onPaginationChange = vi.fn() const table = makeTable(25, {