chore: sync main with upstream TanStack/table - #6
Merged
Conversation
release: v9.0.0-beta.2 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
release: v9.0.0-beta.3 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…Stack#6298) * chore: update examples to use table.store.get() instead of removed table.state * feat: refactor solid/vue native reactivity adapter * ci: apply automated fixes * ci: apply automated fixes (attempt 2/3) * fix: update all examples to call table.atoms instead of table.store * ci: apply automated fixes * fix(vue): call reactivity unmount on scope dispose * correct merge conflict resolution and regen lock file * fix sherif issue * update table state docs --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Kevin Van Cott <kevinvandy656@gmail.com>
release: v9.0.0-beta.4 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* chore: correct tfeatures usage in examples * ci: apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…ns (TanStack#6305) * chore: correct tfeatures usage in examples * ci: apply automated fixes * feat: new custom plugins support and massive typescript simplificatoins --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* release: v9.0.0-beta.5 * fix: table-core versions --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Kevin Van Cott <kevinvandy656@gmail.com>
release: v9.0.0-beta.6 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
release: v9.0.0-beta.7 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
release: v9.0.0-beta.8 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
release: v9.0.0-beta.9 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…k#6318) * feat: refactor features option to include row models and fns * ci: apply automated fixes * fix column/global filtering feature relationship in types * fix TData in custom filterFns --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
release: v9.0.0-beta.10 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
release: v9.0.0-beta.11 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
release: v9.0.0-beta.12 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix: AppTable remounting children on table state updates (TanStack#6323) App wrappers (AppTable, AppCell, AppHeader, AppFooter) were memoized on the unstable `table` reference, causing them to be recreated every render. React then remounted their entire subtrees on every state change, destroying controlled input focus. Keep wrappers stable (created once) and read the current table from a ref updated each render. Fixes children remounting while preserving latest table state access. * also apply fix to preact * modify composable table examples to make this easier to test * update other composable table examples --------- Co-authored-by: Kevin Van Cott <kevinvandy656@gmail.com>
release: v9.0.0-beta.13 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…tack#6328) * fix: enhance table option merging to preserve static properties Updated the table_mergeOptions function to ensure that static options (features, atoms, initialState) are preserved without mutation when merging new options. Added a test to verify that static options remain unchanged after invoking setOptions. * add short circuit
release: v9.0.0-beta.14 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* docs: Add shadcn examples for svelte and vue Ports the react lib-shadcn and kitchen-sink-shadcn examples to svelte (shadcn-svelte / bits-ui) and vue (shadcn-vue / reka-ui), one variant per framework: - lib-shadcn: single-file basic demos with the same features object, fully internal state, debounced global search, and the numbered walkthrough comments from the react originals - kitchen-sink-shadcn: same architecture as react - identical hooks/features.ts, createTableHook with injected table/cell/header components, the operator-based filter engine, faceted filters, grouping/aggregation, pinning, resizing, and drag reordering wired directly with @dnd-kit-svelte / dnd-kit-vue - date filters cross the calendar boundary as ISO strings since both ports use @internationalized/date rather than JS Date - registers all four under Component Library Examples in docs/config.json Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ci: apply automated fixes * fix grouped column undefined renders --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…anStack#6521) * fix(react-table): accept built-in fn names in legacy column helper * test(react-table): cover declaration-merged fn names in legacy helper --------- Co-authored-by: Kevin Van Cott <kevinvandy656@gmail.com>
…omponent in TanStack Devtools (TanStack#6516) * fix: set TableDevtoolsPanel devtoolsOpen default behavior to true * add changeset * Make resolvePanelProps private
aggregationFn_median bailed out and returned undefined for an entire group as soon as it hit a single non-numeric (e.g. null) value, unlike sum/min/max/mean which all skip non-numeric values and aggregate over whatever numeric values remain. Bring median in line with the rest of the built-in aggregation functions: filter out non-numeric values and compute the median from what's left, only returning undefined when no numeric values remain. Fixes TanStack#5008 Co-authored-by: Kevin Van Cott <kevinvandy656@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat: support infinite pagination page sizes * add devtools to all with-tanstack examples * ci: apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…anStack#6529) * fix(table-core): flatten sorted parent rows ahead of their sub-rows The sorted row model recursed into a row's sub-rows before pushing the row itself, so getSortedRowModel().flatRows came out in post-order: every descendant preceded its own parent. The core row model, the paginated row model and the depth-truncation helper in the filtered row model all flatten a parent first, and getSortedRowModel().rows is already in that order, so flatRows disagreed with its own rows. Reserve the row's slot before descending, and overwrite it when the branch is cloned so flatRows keeps the same row instance that rows holds. * fix another case --------- Co-authored-by: Kevin Van Cott <kevinvandy656@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ateSlice (TanStack#6532) * refactor(table-core): centralize no-op state update guarding in setStateSlice Route every table.setX state router through a single setStateSlice util that resolves the updater once against the slice's current value, structurally compares the result, and skips the onXChange handler entirely when nothing changed. This removes the class of render loops where auto resets fired change handlers with freshly allocated but semantically identical values (e.g. autoResetExpanded after a data reference change), and deletes the scattered ad-hoc guards that previously protected individual slices. For uncontrolled slices the default handler receives the pre-resolved value, so updaters run exactly once. User handlers and externally owned slices receive the original updater untouched to preserve functional update composition and independent base-atom fallback semantics. Supersedes TanStack#6519. Co-Authored-By: Dmitrii Kartashev <dikartashev@gmail.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix test and regen docs * add date filters to filter examples * omit row selection from new check * auto fix lint issues * ci: apply automated fixes * format * lint fix * uncomment * address stale updater bug, simplify * still skip autoResetPageIndex in controlled state scenarios * regen docs again * refactor(table-core): make stateSlicesEqual the setStateSlice default, call unguarded handlers directly setStateSlice now always guards, with isEqual as an override hook for custom feature slices. Slices that deliberately skip guarding (rowSelection, columnSizing, columnResizing, globalFilter, and the expanded/cellSelection setters) call their change handler directly instead of routing through a no-op wrapper, keeping pointer-frequency paths free of the routing overhead. rowPinning picks up the guard via the new default, matching columnPinning. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Dmitrii Kartashev <dikartashev@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…t mount window (TanStack#6534) * fix(angular): fix stale options during the effect first run * fix(angular): revisit adapter to support lazy initialization * Apply suggestion from @riccardoperra * Apply suggestion from @riccardoperra * ci: apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Fix callout formatting * docs: convert remaining blockquote callouts to GitHub alert syntax Converts all 341 remaining old-style callouts (> **Note:**, > NOTE:, > **NOTE**:, > Tip:, > **Warning:**, etc.) across the docs to the GitHub markdown alert syntax ([!NOTE], [!TIP], [!WARNING], [!IMPORTANT]) that tanstack.com renders as styled callouts. Also fixes one pre-existing alert in client-side-vs-server-side.md that had its content on the same line as the marker, and trailing whitespace on the alert marker in the svelte quick-start. Qualified callouts with custom titles (TypeScript Note, Framework note, Naming note) are intentionally left as plain blockquotes since the alert syntax does not support custom titles. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Kevin Van Cott <kevinvandy656@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…anStack#6553) Keep Vue and Angular table plugins working with current @tanstack/devtools plugin props and font injection, and bump workspace dependencies excluding Babel and TypeScript. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…cations (TanStack#6562) * perf: revisit angular adapter to improve memory usage and flexrender dirty checking * refactor: optimize input/output handling in flex render components - Replace `for...in` loops with `Object.keys()` for better performance and clarity. - Simplify the rendering logic by removing unnecessary checks and parameters. - Ensure consistent handling of injectors across component rendering.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Merges upstream/main into main so that our main branch's content matches TanStack/table's main 1:1. Our main had been stale since ~Jan 2025 and had diverged with 33 fork-only commits (old docs/release commits later superseded by upstream's continued work) while missing 668 upstream commits.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mainbranch has been stale since ~Jan 2025 and had diverged fromTanStack/table'smain: 33 fork-only commits (old docs/release/CI commits, later superseded by upstream's continued work on the same files) while missing 668 upstream commits.upstream/mainintomainso that after merging, ourmain's content is byte-identical toTanStack/table'smain(verified viagit diff— empty).-s ours+ tree reset to upstream's tree) that records both histories while taking upstream's content entirely.Test plan
git diff <this-branch> upstream/mainis empty (content matches exactly)