[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tanstack-client-vs-server":3,"mdc-9n1hvg-key":53,"related-repo-tanstack-client-vs-server":1760,"related-org-tanstack-client-vs-server":1838},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":48,"sourceUrl":51,"mdContent":52},"client-vs-server","manage TanStack Table data pipelines","Choose client or server ownership for filtering, grouping, sorting, expanding, and pagination in TanStack Table v9. Load for manual* flags, mixed pipelines, server counts, or deciding which dataset each row-model stage receives.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"tanstack","TanStack","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftanstack.png",[12,16,19,20],{"name":13,"slug":14,"type":15},"Performance","performance","tag",{"name":17,"slug":18,"type":15},"Data Pipeline","data-pipeline",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Frontend","frontend",28175,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Ftable","2026-07-30T05:25:45.400104",null,3539,[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"datagrid","datagrids","datatable","filtering","grid","grouping","hooks","javascript","pagination","react","reactjs","solid","solidjs","sorting","svelte","sveltejs","table","typescript","vue",{"repoUrl":24,"stars":23,"forks":27,"topics":49,"description":50},[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"🤖 Headless UI for building powerful tables & datagrids for TS\u002FJS -  React-Table, Vue-Table, Solid-Table, Svelte-Table","https:\u002F\u002Fgithub.com\u002FTanStack\u002Ftable\u002Ftree\u002FHEAD\u002Fpackages\u002Ftable-core\u002Fskills\u002Fclient-vs-server","---\nname: client-vs-server\ndescription: >\n  Choose client or server ownership for filtering, grouping, sorting, expanding, and pagination in TanStack Table v9. Load for manual* flags, mixed pipelines, server counts, or deciding which dataset each row-model stage receives.\nmetadata:\n  type: sub-skill\n  library: '@tanstack\u002Ftable-core'\n  library_version: '9.0.0-beta.59'\nrequires: ['core', 'table-features']\nsources:\n  - 'TanStack\u002Ftable:docs\u002Fguide\u002Frow-models.md'\n  - 'TanStack\u002Ftable:packages\u002Ftable-core\u002Fsrc\u002Fcore\u002Frow-models\u002FcoreRowModelsFeature.utils.ts'\n  - 'TanStack\u002Ftable:examples\u002Freact\u002Fwith-tanstack-query'\n---\n\nThis skill builds on `core` and `table-features`. Read them first for the model pipeline and plugin slots.\n\n## Setup\n\n```ts\nimport {\n  rowPaginationFeature,\n  rowSortingFeature,\n  tableFeatures,\n} from '@tanstack\u002Ftable-core'\n\nexport const features = tableFeatures({\n  rowSortingFeature,\n  rowPaginationFeature,\n})\nexport const serverOptions = {\n  manualSorting: true,\n  manualPagination: true,\n  rowCount: 12_450,\n} as const\n```\n\n## Core Patterns\n\n### Client owns the complete pipeline\n\n```ts\nconst features = tableFeatures({\n  columnFilteringFeature,\n  filteredRowModel: createFilteredRowModel(),\n  rowSortingFeature,\n  sortedRowModel: createSortedRowModel(),\n  rowPaginationFeature,\n  paginatedRowModel: createPaginatedRowModel(),\n})\n```\n\nPass the full client dataset so each stage can process all rows.\n\n### Server owns processing\n\n```ts\nconst options = {\n  data: serverPage.rows,\n  manualFiltering: true,\n  manualSorting: true,\n  manualPagination: true,\n  rowCount: serverPage.total,\n}\n```\n\nPut controlled filter, sorting, and pagination state into the request\u002Fquery key.\n\n## Common Mistakes\n\n### [CRITICAL] Treating manual flags as requests\n\nWrong:\n\n```ts\nconst options = { manualSorting: true, data: unsortedRows }\n```\n\nCorrect:\n\n```ts\nconst sortedPage = await fetchPage({ sorting })\nconst options = { manualSorting: true, data: sortedPage.rows }\n```\n\n`manualSorting` only bypasses client sorting; it never calls a backend.\n\nSource: `packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Frow-sorting\u002FrowSortingFeature.types.ts`\n\n### [HIGH] Expecting manual pagination to slice\n\nWrong:\n\n```ts\nconst options = { data: allRows, manualPagination: true }\n```\n\nCorrect:\n\n```ts\nconst page = await fetchPage({ pageIndex, pageSize })\nconst options = {\n  data: page.rows,\n  manualPagination: true,\n  rowCount: page.rowCount,\n}\n```\n\nManual pagination assumes `data` already represents the intended page. Pass the stable page result directly. If the application deliberately performs custom local slicing instead, derive it with the framework's memo\u002Fcomputed primitive and keep the reference stable until its actual inputs change.\n\nSource: `docs\u002Fframework\u002Freact\u002Fguide\u002Fpagination.md#manual-server-side-pagination`\n\n### [HIGH] Sorting only the loaded page accidentally\n\nWrong:\n\n```ts\nconst options = {\n  data: serverPage.rows,\n  manualPagination: true,\n  manualSorting: false,\n}\n```\n\nCorrect:\n\n```ts\nconst options = {\n  data: serverPage.rows,\n  manualPagination: true,\n  manualSorting: true,\n}\n```\n\nClient sorting can see only loaded rows, so it cannot produce database-wide order.\n\nSource: `docs\u002Fguide\u002Frow-models.md`\n\n### [HIGH] Recreating processed data or columns inline\n\nWrong:\n\n```ts\nconst options = {\n  data: allRows.filter(matchesFilters).slice(pageStart, pageEnd),\n  columns: makeColumns(),\n}\n```\n\nCorrect:\n\n```ts\nconst processedRows = pageResult.rows\nconst columns = sharedColumns\nconst options = { data: processedRows, columns }\n```\n\n`data` and `columns` are model inputs. Keep both references stable between meaningful changes with module constants, state, or the adapter's memo\u002Fcomputed primitive; otherwise Table repeatedly invalidates row and column models and some adapters can enter render loops. “Manual” describes processing ownership, not permission to derive new arrays inside table options.\n\nSource: `docs\u002Fguide\u002Fdata.md`\n\n## API Discovery\n\nInspect `node_modules\u002F@tanstack\u002Ftable-core\u002Fdist\u002Fcore\u002Frow-models\u002FcoreRowModelsFeature.utils.d.ts` for pipeline order and each feature's `.types.d.ts` for its `manual*` contract.\n",{"data":54,"body":66},{"name":4,"description":6,"metadata":55,"requires":59,"sources":62},{"type":56,"library":57,"library_version":58},"sub-skill","@tanstack\u002Ftable-core","9.0.0-beta.59",[60,61],"core","table-features",[63,64,65],"TanStack\u002Ftable:docs\u002Fguide\u002Frow-models.md","TanStack\u002Ftable:packages\u002Ftable-core\u002Fsrc\u002Fcore\u002Frow-models\u002FcoreRowModelsFeature.utils.ts","TanStack\u002Ftable:examples\u002Freact\u002Fwith-tanstack-query",{"type":67,"children":68},"root",[69,92,99,398,404,411,567,572,578,730,735,741,752,757,820,825,941,952,963,974,978,1039,1043,1205,1218,1228,1238,1242,1341,1345,1443,1448,1458,1468,1472,1586,1590,1692,1709,1719,1725,1754],{"type":70,"tag":71,"props":72,"children":73},"element","p",{},[74,77,83,85,90],{"type":75,"value":76},"text","This skill builds on ",{"type":70,"tag":78,"props":79,"children":81},"code",{"className":80},[],[82],{"type":75,"value":60},{"type":75,"value":84}," and ",{"type":70,"tag":78,"props":86,"children":88},{"className":87},[],[89],{"type":75,"value":61},{"type":75,"value":91},". Read them first for the model pipeline and plugin slots.",{"type":70,"tag":93,"props":94,"children":96},"h2",{"id":95},"setup",[97],{"type":75,"value":98},"Setup",{"type":70,"tag":100,"props":101,"children":106},"pre",{"className":102,"code":103,"language":104,"meta":105,"style":105},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import {\n  rowPaginationFeature,\n  rowSortingFeature,\n  tableFeatures,\n} from '@tanstack\u002Ftable-core'\n\nexport const features = tableFeatures({\n  rowSortingFeature,\n  rowPaginationFeature,\n})\nexport const serverOptions = {\n  manualSorting: true,\n  manualPagination: true,\n  rowCount: 12_450,\n} as const\n","ts","",[107],{"type":70,"tag":78,"props":108,"children":109},{"__ignoreMap":105},[110,128,143,156,169,198,208,249,261,273,286,311,336,357,380],{"type":70,"tag":111,"props":112,"children":115},"span",{"class":113,"line":114},"line",1,[116,122],{"type":70,"tag":111,"props":117,"children":119},{"style":118},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[120],{"type":75,"value":121},"import",{"type":70,"tag":111,"props":123,"children":125},{"style":124},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[126],{"type":75,"value":127}," {\n",{"type":70,"tag":111,"props":129,"children":131},{"class":113,"line":130},2,[132,138],{"type":70,"tag":111,"props":133,"children":135},{"style":134},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[136],{"type":75,"value":137},"  rowPaginationFeature",{"type":70,"tag":111,"props":139,"children":140},{"style":124},[141],{"type":75,"value":142},",\n",{"type":70,"tag":111,"props":144,"children":146},{"class":113,"line":145},3,[147,152],{"type":70,"tag":111,"props":148,"children":149},{"style":134},[150],{"type":75,"value":151},"  rowSortingFeature",{"type":70,"tag":111,"props":153,"children":154},{"style":124},[155],{"type":75,"value":142},{"type":70,"tag":111,"props":157,"children":159},{"class":113,"line":158},4,[160,165],{"type":70,"tag":111,"props":161,"children":162},{"style":134},[163],{"type":75,"value":164},"  tableFeatures",{"type":70,"tag":111,"props":166,"children":167},{"style":124},[168],{"type":75,"value":142},{"type":70,"tag":111,"props":170,"children":172},{"class":113,"line":171},5,[173,178,183,188,193],{"type":70,"tag":111,"props":174,"children":175},{"style":124},[176],{"type":75,"value":177},"}",{"type":70,"tag":111,"props":179,"children":180},{"style":118},[181],{"type":75,"value":182}," from",{"type":70,"tag":111,"props":184,"children":185},{"style":124},[186],{"type":75,"value":187}," '",{"type":70,"tag":111,"props":189,"children":191},{"style":190},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[192],{"type":75,"value":57},{"type":70,"tag":111,"props":194,"children":195},{"style":124},[196],{"type":75,"value":197},"'\n",{"type":70,"tag":111,"props":199,"children":201},{"class":113,"line":200},6,[202],{"type":70,"tag":111,"props":203,"children":205},{"emptyLinePlaceholder":204},true,[206],{"type":75,"value":207},"\n",{"type":70,"tag":111,"props":209,"children":211},{"class":113,"line":210},7,[212,217,223,228,233,239,244],{"type":70,"tag":111,"props":213,"children":214},{"style":118},[215],{"type":75,"value":216},"export",{"type":70,"tag":111,"props":218,"children":220},{"style":219},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[221],{"type":75,"value":222}," const",{"type":70,"tag":111,"props":224,"children":225},{"style":134},[226],{"type":75,"value":227}," features ",{"type":70,"tag":111,"props":229,"children":230},{"style":124},[231],{"type":75,"value":232},"=",{"type":70,"tag":111,"props":234,"children":236},{"style":235},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[237],{"type":75,"value":238}," tableFeatures",{"type":70,"tag":111,"props":240,"children":241},{"style":134},[242],{"type":75,"value":243},"(",{"type":70,"tag":111,"props":245,"children":246},{"style":124},[247],{"type":75,"value":248},"{\n",{"type":70,"tag":111,"props":250,"children":252},{"class":113,"line":251},8,[253,257],{"type":70,"tag":111,"props":254,"children":255},{"style":134},[256],{"type":75,"value":151},{"type":70,"tag":111,"props":258,"children":259},{"style":124},[260],{"type":75,"value":142},{"type":70,"tag":111,"props":262,"children":264},{"class":113,"line":263},9,[265,269],{"type":70,"tag":111,"props":266,"children":267},{"style":134},[268],{"type":75,"value":137},{"type":70,"tag":111,"props":270,"children":271},{"style":124},[272],{"type":75,"value":142},{"type":70,"tag":111,"props":274,"children":276},{"class":113,"line":275},10,[277,281],{"type":70,"tag":111,"props":278,"children":279},{"style":124},[280],{"type":75,"value":177},{"type":70,"tag":111,"props":282,"children":283},{"style":134},[284],{"type":75,"value":285},")\n",{"type":70,"tag":111,"props":287,"children":289},{"class":113,"line":288},11,[290,294,298,303,307],{"type":70,"tag":111,"props":291,"children":292},{"style":118},[293],{"type":75,"value":216},{"type":70,"tag":111,"props":295,"children":296},{"style":219},[297],{"type":75,"value":222},{"type":70,"tag":111,"props":299,"children":300},{"style":134},[301],{"type":75,"value":302}," serverOptions ",{"type":70,"tag":111,"props":304,"children":305},{"style":124},[306],{"type":75,"value":232},{"type":70,"tag":111,"props":308,"children":309},{"style":124},[310],{"type":75,"value":127},{"type":70,"tag":111,"props":312,"children":314},{"class":113,"line":313},12,[315,321,326,332],{"type":70,"tag":111,"props":316,"children":318},{"style":317},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[319],{"type":75,"value":320},"  manualSorting",{"type":70,"tag":111,"props":322,"children":323},{"style":124},[324],{"type":75,"value":325},":",{"type":70,"tag":111,"props":327,"children":329},{"style":328},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[330],{"type":75,"value":331}," true",{"type":70,"tag":111,"props":333,"children":334},{"style":124},[335],{"type":75,"value":142},{"type":70,"tag":111,"props":337,"children":339},{"class":113,"line":338},13,[340,345,349,353],{"type":70,"tag":111,"props":341,"children":342},{"style":317},[343],{"type":75,"value":344},"  manualPagination",{"type":70,"tag":111,"props":346,"children":347},{"style":124},[348],{"type":75,"value":325},{"type":70,"tag":111,"props":350,"children":351},{"style":328},[352],{"type":75,"value":331},{"type":70,"tag":111,"props":354,"children":355},{"style":124},[356],{"type":75,"value":142},{"type":70,"tag":111,"props":358,"children":360},{"class":113,"line":359},14,[361,366,370,376],{"type":70,"tag":111,"props":362,"children":363},{"style":317},[364],{"type":75,"value":365},"  rowCount",{"type":70,"tag":111,"props":367,"children":368},{"style":124},[369],{"type":75,"value":325},{"type":70,"tag":111,"props":371,"children":373},{"style":372},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[374],{"type":75,"value":375}," 12_450",{"type":70,"tag":111,"props":377,"children":378},{"style":124},[379],{"type":75,"value":142},{"type":70,"tag":111,"props":381,"children":383},{"class":113,"line":382},15,[384,388,393],{"type":70,"tag":111,"props":385,"children":386},{"style":124},[387],{"type":75,"value":177},{"type":70,"tag":111,"props":389,"children":390},{"style":118},[391],{"type":75,"value":392}," as",{"type":70,"tag":111,"props":394,"children":395},{"style":219},[396],{"type":75,"value":397}," const\n",{"type":70,"tag":93,"props":399,"children":401},{"id":400},"core-patterns",[402],{"type":75,"value":403},"Core Patterns",{"type":70,"tag":405,"props":406,"children":408},"h3",{"id":407},"client-owns-the-complete-pipeline",[409],{"type":75,"value":410},"Client owns the complete pipeline",{"type":70,"tag":100,"props":412,"children":414},{"className":102,"code":413,"language":104,"meta":105,"style":105},"const features = tableFeatures({\n  columnFilteringFeature,\n  filteredRowModel: createFilteredRowModel(),\n  rowSortingFeature,\n  sortedRowModel: createSortedRowModel(),\n  rowPaginationFeature,\n  paginatedRowModel: createPaginatedRowModel(),\n})\n",[415],{"type":70,"tag":78,"props":416,"children":417},{"__ignoreMap":105},[418,446,458,484,495,520,531,556],{"type":70,"tag":111,"props":419,"children":420},{"class":113,"line":114},[421,426,430,434,438,442],{"type":70,"tag":111,"props":422,"children":423},{"style":219},[424],{"type":75,"value":425},"const",{"type":70,"tag":111,"props":427,"children":428},{"style":134},[429],{"type":75,"value":227},{"type":70,"tag":111,"props":431,"children":432},{"style":124},[433],{"type":75,"value":232},{"type":70,"tag":111,"props":435,"children":436},{"style":235},[437],{"type":75,"value":238},{"type":70,"tag":111,"props":439,"children":440},{"style":134},[441],{"type":75,"value":243},{"type":70,"tag":111,"props":443,"children":444},{"style":124},[445],{"type":75,"value":248},{"type":70,"tag":111,"props":447,"children":448},{"class":113,"line":130},[449,454],{"type":70,"tag":111,"props":450,"children":451},{"style":134},[452],{"type":75,"value":453},"  columnFilteringFeature",{"type":70,"tag":111,"props":455,"children":456},{"style":124},[457],{"type":75,"value":142},{"type":70,"tag":111,"props":459,"children":460},{"class":113,"line":145},[461,466,470,475,480],{"type":70,"tag":111,"props":462,"children":463},{"style":317},[464],{"type":75,"value":465},"  filteredRowModel",{"type":70,"tag":111,"props":467,"children":468},{"style":124},[469],{"type":75,"value":325},{"type":70,"tag":111,"props":471,"children":472},{"style":235},[473],{"type":75,"value":474}," createFilteredRowModel",{"type":70,"tag":111,"props":476,"children":477},{"style":134},[478],{"type":75,"value":479},"()",{"type":70,"tag":111,"props":481,"children":482},{"style":124},[483],{"type":75,"value":142},{"type":70,"tag":111,"props":485,"children":486},{"class":113,"line":158},[487,491],{"type":70,"tag":111,"props":488,"children":489},{"style":134},[490],{"type":75,"value":151},{"type":70,"tag":111,"props":492,"children":493},{"style":124},[494],{"type":75,"value":142},{"type":70,"tag":111,"props":496,"children":497},{"class":113,"line":171},[498,503,507,512,516],{"type":70,"tag":111,"props":499,"children":500},{"style":317},[501],{"type":75,"value":502},"  sortedRowModel",{"type":70,"tag":111,"props":504,"children":505},{"style":124},[506],{"type":75,"value":325},{"type":70,"tag":111,"props":508,"children":509},{"style":235},[510],{"type":75,"value":511}," createSortedRowModel",{"type":70,"tag":111,"props":513,"children":514},{"style":134},[515],{"type":75,"value":479},{"type":70,"tag":111,"props":517,"children":518},{"style":124},[519],{"type":75,"value":142},{"type":70,"tag":111,"props":521,"children":522},{"class":113,"line":200},[523,527],{"type":70,"tag":111,"props":524,"children":525},{"style":134},[526],{"type":75,"value":137},{"type":70,"tag":111,"props":528,"children":529},{"style":124},[530],{"type":75,"value":142},{"type":70,"tag":111,"props":532,"children":533},{"class":113,"line":210},[534,539,543,548,552],{"type":70,"tag":111,"props":535,"children":536},{"style":317},[537],{"type":75,"value":538},"  paginatedRowModel",{"type":70,"tag":111,"props":540,"children":541},{"style":124},[542],{"type":75,"value":325},{"type":70,"tag":111,"props":544,"children":545},{"style":235},[546],{"type":75,"value":547}," createPaginatedRowModel",{"type":70,"tag":111,"props":549,"children":550},{"style":134},[551],{"type":75,"value":479},{"type":70,"tag":111,"props":553,"children":554},{"style":124},[555],{"type":75,"value":142},{"type":70,"tag":111,"props":557,"children":558},{"class":113,"line":251},[559,563],{"type":70,"tag":111,"props":560,"children":561},{"style":124},[562],{"type":75,"value":177},{"type":70,"tag":111,"props":564,"children":565},{"style":134},[566],{"type":75,"value":285},{"type":70,"tag":71,"props":568,"children":569},{},[570],{"type":75,"value":571},"Pass the full client dataset so each stage can process all rows.",{"type":70,"tag":405,"props":573,"children":575},{"id":574},"server-owns-processing",[576],{"type":75,"value":577},"Server owns processing",{"type":70,"tag":100,"props":579,"children":581},{"className":102,"code":580,"language":104,"meta":105,"style":105},"const options = {\n  data: serverPage.rows,\n  manualFiltering: true,\n  manualSorting: true,\n  manualPagination: true,\n  rowCount: serverPage.total,\n}\n",[582],{"type":70,"tag":78,"props":583,"children":584},{"__ignoreMap":105},[585,605,636,656,675,694,722],{"type":70,"tag":111,"props":586,"children":587},{"class":113,"line":114},[588,592,597,601],{"type":70,"tag":111,"props":589,"children":590},{"style":219},[591],{"type":75,"value":425},{"type":70,"tag":111,"props":593,"children":594},{"style":134},[595],{"type":75,"value":596}," options ",{"type":70,"tag":111,"props":598,"children":599},{"style":124},[600],{"type":75,"value":232},{"type":70,"tag":111,"props":602,"children":603},{"style":124},[604],{"type":75,"value":127},{"type":70,"tag":111,"props":606,"children":607},{"class":113,"line":130},[608,613,617,622,627,632],{"type":70,"tag":111,"props":609,"children":610},{"style":317},[611],{"type":75,"value":612},"  data",{"type":70,"tag":111,"props":614,"children":615},{"style":124},[616],{"type":75,"value":325},{"type":70,"tag":111,"props":618,"children":619},{"style":134},[620],{"type":75,"value":621}," serverPage",{"type":70,"tag":111,"props":623,"children":624},{"style":124},[625],{"type":75,"value":626},".",{"type":70,"tag":111,"props":628,"children":629},{"style":134},[630],{"type":75,"value":631},"rows",{"type":70,"tag":111,"props":633,"children":634},{"style":124},[635],{"type":75,"value":142},{"type":70,"tag":111,"props":637,"children":638},{"class":113,"line":145},[639,644,648,652],{"type":70,"tag":111,"props":640,"children":641},{"style":317},[642],{"type":75,"value":643},"  manualFiltering",{"type":70,"tag":111,"props":645,"children":646},{"style":124},[647],{"type":75,"value":325},{"type":70,"tag":111,"props":649,"children":650},{"style":328},[651],{"type":75,"value":331},{"type":70,"tag":111,"props":653,"children":654},{"style":124},[655],{"type":75,"value":142},{"type":70,"tag":111,"props":657,"children":658},{"class":113,"line":158},[659,663,667,671],{"type":70,"tag":111,"props":660,"children":661},{"style":317},[662],{"type":75,"value":320},{"type":70,"tag":111,"props":664,"children":665},{"style":124},[666],{"type":75,"value":325},{"type":70,"tag":111,"props":668,"children":669},{"style":328},[670],{"type":75,"value":331},{"type":70,"tag":111,"props":672,"children":673},{"style":124},[674],{"type":75,"value":142},{"type":70,"tag":111,"props":676,"children":677},{"class":113,"line":171},[678,682,686,690],{"type":70,"tag":111,"props":679,"children":680},{"style":317},[681],{"type":75,"value":344},{"type":70,"tag":111,"props":683,"children":684},{"style":124},[685],{"type":75,"value":325},{"type":70,"tag":111,"props":687,"children":688},{"style":328},[689],{"type":75,"value":331},{"type":70,"tag":111,"props":691,"children":692},{"style":124},[693],{"type":75,"value":142},{"type":70,"tag":111,"props":695,"children":696},{"class":113,"line":200},[697,701,705,709,713,718],{"type":70,"tag":111,"props":698,"children":699},{"style":317},[700],{"type":75,"value":365},{"type":70,"tag":111,"props":702,"children":703},{"style":124},[704],{"type":75,"value":325},{"type":70,"tag":111,"props":706,"children":707},{"style":134},[708],{"type":75,"value":621},{"type":70,"tag":111,"props":710,"children":711},{"style":124},[712],{"type":75,"value":626},{"type":70,"tag":111,"props":714,"children":715},{"style":134},[716],{"type":75,"value":717},"total",{"type":70,"tag":111,"props":719,"children":720},{"style":124},[721],{"type":75,"value":142},{"type":70,"tag":111,"props":723,"children":724},{"class":113,"line":210},[725],{"type":70,"tag":111,"props":726,"children":727},{"style":124},[728],{"type":75,"value":729},"}\n",{"type":70,"tag":71,"props":731,"children":732},{},[733],{"type":75,"value":734},"Put controlled filter, sorting, and pagination state into the request\u002Fquery key.",{"type":70,"tag":93,"props":736,"children":738},{"id":737},"common-mistakes",[739],{"type":75,"value":740},"Common Mistakes",{"type":70,"tag":405,"props":742,"children":744},{"id":743},"critical-treating-manual-flags-as-requests",[745,750],{"type":70,"tag":111,"props":746,"children":747},{},[748],{"type":75,"value":749},"CRITICAL",{"type":75,"value":751}," Treating manual flags as requests",{"type":70,"tag":71,"props":753,"children":754},{},[755],{"type":75,"value":756},"Wrong:",{"type":70,"tag":100,"props":758,"children":760},{"className":102,"code":759,"language":104,"meta":105,"style":105},"const options = { manualSorting: true, data: unsortedRows }\n",[761],{"type":70,"tag":78,"props":762,"children":763},{"__ignoreMap":105},[764],{"type":70,"tag":111,"props":765,"children":766},{"class":113,"line":114},[767,771,775,779,784,789,793,797,802,807,811,816],{"type":70,"tag":111,"props":768,"children":769},{"style":219},[770],{"type":75,"value":425},{"type":70,"tag":111,"props":772,"children":773},{"style":134},[774],{"type":75,"value":596},{"type":70,"tag":111,"props":776,"children":777},{"style":124},[778],{"type":75,"value":232},{"type":70,"tag":111,"props":780,"children":781},{"style":124},[782],{"type":75,"value":783}," {",{"type":70,"tag":111,"props":785,"children":786},{"style":317},[787],{"type":75,"value":788}," manualSorting",{"type":70,"tag":111,"props":790,"children":791},{"style":124},[792],{"type":75,"value":325},{"type":70,"tag":111,"props":794,"children":795},{"style":328},[796],{"type":75,"value":331},{"type":70,"tag":111,"props":798,"children":799},{"style":124},[800],{"type":75,"value":801},",",{"type":70,"tag":111,"props":803,"children":804},{"style":317},[805],{"type":75,"value":806}," data",{"type":70,"tag":111,"props":808,"children":809},{"style":124},[810],{"type":75,"value":325},{"type":70,"tag":111,"props":812,"children":813},{"style":134},[814],{"type":75,"value":815}," unsortedRows ",{"type":70,"tag":111,"props":817,"children":818},{"style":124},[819],{"type":75,"value":729},{"type":70,"tag":71,"props":821,"children":822},{},[823],{"type":75,"value":824},"Correct:",{"type":70,"tag":100,"props":826,"children":828},{"className":102,"code":827,"language":104,"meta":105,"style":105},"const sortedPage = await fetchPage({ sorting })\nconst options = { manualSorting: true, data: sortedPage.rows }\n",[829],{"type":70,"tag":78,"props":830,"children":831},{"__ignoreMap":105},[832,880],{"type":70,"tag":111,"props":833,"children":834},{"class":113,"line":114},[835,839,844,848,853,858,862,867,872,876],{"type":70,"tag":111,"props":836,"children":837},{"style":219},[838],{"type":75,"value":425},{"type":70,"tag":111,"props":840,"children":841},{"style":134},[842],{"type":75,"value":843}," sortedPage ",{"type":70,"tag":111,"props":845,"children":846},{"style":124},[847],{"type":75,"value":232},{"type":70,"tag":111,"props":849,"children":850},{"style":118},[851],{"type":75,"value":852}," await",{"type":70,"tag":111,"props":854,"children":855},{"style":235},[856],{"type":75,"value":857}," fetchPage",{"type":70,"tag":111,"props":859,"children":860},{"style":134},[861],{"type":75,"value":243},{"type":70,"tag":111,"props":863,"children":864},{"style":124},[865],{"type":75,"value":866},"{",{"type":70,"tag":111,"props":868,"children":869},{"style":134},[870],{"type":75,"value":871}," sorting ",{"type":70,"tag":111,"props":873,"children":874},{"style":124},[875],{"type":75,"value":177},{"type":70,"tag":111,"props":877,"children":878},{"style":134},[879],{"type":75,"value":285},{"type":70,"tag":111,"props":881,"children":882},{"class":113,"line":130},[883,887,891,895,899,903,907,911,915,919,923,928,932,937],{"type":70,"tag":111,"props":884,"children":885},{"style":219},[886],{"type":75,"value":425},{"type":70,"tag":111,"props":888,"children":889},{"style":134},[890],{"type":75,"value":596},{"type":70,"tag":111,"props":892,"children":893},{"style":124},[894],{"type":75,"value":232},{"type":70,"tag":111,"props":896,"children":897},{"style":124},[898],{"type":75,"value":783},{"type":70,"tag":111,"props":900,"children":901},{"style":317},[902],{"type":75,"value":788},{"type":70,"tag":111,"props":904,"children":905},{"style":124},[906],{"type":75,"value":325},{"type":70,"tag":111,"props":908,"children":909},{"style":328},[910],{"type":75,"value":331},{"type":70,"tag":111,"props":912,"children":913},{"style":124},[914],{"type":75,"value":801},{"type":70,"tag":111,"props":916,"children":917},{"style":317},[918],{"type":75,"value":806},{"type":70,"tag":111,"props":920,"children":921},{"style":124},[922],{"type":75,"value":325},{"type":70,"tag":111,"props":924,"children":925},{"style":134},[926],{"type":75,"value":927}," sortedPage",{"type":70,"tag":111,"props":929,"children":930},{"style":124},[931],{"type":75,"value":626},{"type":70,"tag":111,"props":933,"children":934},{"style":134},[935],{"type":75,"value":936},"rows ",{"type":70,"tag":111,"props":938,"children":939},{"style":124},[940],{"type":75,"value":729},{"type":70,"tag":71,"props":942,"children":943},{},[944,950],{"type":70,"tag":78,"props":945,"children":947},{"className":946},[],[948],{"type":75,"value":949},"manualSorting",{"type":75,"value":951}," only bypasses client sorting; it never calls a backend.",{"type":70,"tag":71,"props":953,"children":954},{},[955,957],{"type":75,"value":956},"Source: ",{"type":70,"tag":78,"props":958,"children":960},{"className":959},[],[961],{"type":75,"value":962},"packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Frow-sorting\u002FrowSortingFeature.types.ts",{"type":70,"tag":405,"props":964,"children":966},{"id":965},"high-expecting-manual-pagination-to-slice",[967,972],{"type":70,"tag":111,"props":968,"children":969},{},[970],{"type":75,"value":971},"HIGH",{"type":75,"value":973}," Expecting manual pagination to slice",{"type":70,"tag":71,"props":975,"children":976},{},[977],{"type":75,"value":756},{"type":70,"tag":100,"props":979,"children":981},{"className":102,"code":980,"language":104,"meta":105,"style":105},"const options = { data: allRows, manualPagination: true }\n",[982],{"type":70,"tag":78,"props":983,"children":984},{"__ignoreMap":105},[985],{"type":70,"tag":111,"props":986,"children":987},{"class":113,"line":114},[988,992,996,1000,1004,1008,1012,1017,1021,1026,1030,1034],{"type":70,"tag":111,"props":989,"children":990},{"style":219},[991],{"type":75,"value":425},{"type":70,"tag":111,"props":993,"children":994},{"style":134},[995],{"type":75,"value":596},{"type":70,"tag":111,"props":997,"children":998},{"style":124},[999],{"type":75,"value":232},{"type":70,"tag":111,"props":1001,"children":1002},{"style":124},[1003],{"type":75,"value":783},{"type":70,"tag":111,"props":1005,"children":1006},{"style":317},[1007],{"type":75,"value":806},{"type":70,"tag":111,"props":1009,"children":1010},{"style":124},[1011],{"type":75,"value":325},{"type":70,"tag":111,"props":1013,"children":1014},{"style":134},[1015],{"type":75,"value":1016}," allRows",{"type":70,"tag":111,"props":1018,"children":1019},{"style":124},[1020],{"type":75,"value":801},{"type":70,"tag":111,"props":1022,"children":1023},{"style":317},[1024],{"type":75,"value":1025}," manualPagination",{"type":70,"tag":111,"props":1027,"children":1028},{"style":124},[1029],{"type":75,"value":325},{"type":70,"tag":111,"props":1031,"children":1032},{"style":328},[1033],{"type":75,"value":331},{"type":70,"tag":111,"props":1035,"children":1036},{"style":124},[1037],{"type":75,"value":1038}," }\n",{"type":70,"tag":71,"props":1040,"children":1041},{},[1042],{"type":75,"value":824},{"type":70,"tag":100,"props":1044,"children":1046},{"className":102,"code":1045,"language":104,"meta":105,"style":105},"const page = await fetchPage({ pageIndex, pageSize })\nconst options = {\n  data: page.rows,\n  manualPagination: true,\n  rowCount: page.rowCount,\n}\n",[1047],{"type":70,"tag":78,"props":1048,"children":1049},{"__ignoreMap":105},[1050,1104,1123,1151,1170,1198],{"type":70,"tag":111,"props":1051,"children":1052},{"class":113,"line":114},[1053,1057,1062,1066,1070,1074,1078,1082,1087,1091,1096,1100],{"type":70,"tag":111,"props":1054,"children":1055},{"style":219},[1056],{"type":75,"value":425},{"type":70,"tag":111,"props":1058,"children":1059},{"style":134},[1060],{"type":75,"value":1061}," page ",{"type":70,"tag":111,"props":1063,"children":1064},{"style":124},[1065],{"type":75,"value":232},{"type":70,"tag":111,"props":1067,"children":1068},{"style":118},[1069],{"type":75,"value":852},{"type":70,"tag":111,"props":1071,"children":1072},{"style":235},[1073],{"type":75,"value":857},{"type":70,"tag":111,"props":1075,"children":1076},{"style":134},[1077],{"type":75,"value":243},{"type":70,"tag":111,"props":1079,"children":1080},{"style":124},[1081],{"type":75,"value":866},{"type":70,"tag":111,"props":1083,"children":1084},{"style":134},[1085],{"type":75,"value":1086}," pageIndex",{"type":70,"tag":111,"props":1088,"children":1089},{"style":124},[1090],{"type":75,"value":801},{"type":70,"tag":111,"props":1092,"children":1093},{"style":134},[1094],{"type":75,"value":1095}," pageSize ",{"type":70,"tag":111,"props":1097,"children":1098},{"style":124},[1099],{"type":75,"value":177},{"type":70,"tag":111,"props":1101,"children":1102},{"style":134},[1103],{"type":75,"value":285},{"type":70,"tag":111,"props":1105,"children":1106},{"class":113,"line":130},[1107,1111,1115,1119],{"type":70,"tag":111,"props":1108,"children":1109},{"style":219},[1110],{"type":75,"value":425},{"type":70,"tag":111,"props":1112,"children":1113},{"style":134},[1114],{"type":75,"value":596},{"type":70,"tag":111,"props":1116,"children":1117},{"style":124},[1118],{"type":75,"value":232},{"type":70,"tag":111,"props":1120,"children":1121},{"style":124},[1122],{"type":75,"value":127},{"type":70,"tag":111,"props":1124,"children":1125},{"class":113,"line":145},[1126,1130,1134,1139,1143,1147],{"type":70,"tag":111,"props":1127,"children":1128},{"style":317},[1129],{"type":75,"value":612},{"type":70,"tag":111,"props":1131,"children":1132},{"style":124},[1133],{"type":75,"value":325},{"type":70,"tag":111,"props":1135,"children":1136},{"style":134},[1137],{"type":75,"value":1138}," page",{"type":70,"tag":111,"props":1140,"children":1141},{"style":124},[1142],{"type":75,"value":626},{"type":70,"tag":111,"props":1144,"children":1145},{"style":134},[1146],{"type":75,"value":631},{"type":70,"tag":111,"props":1148,"children":1149},{"style":124},[1150],{"type":75,"value":142},{"type":70,"tag":111,"props":1152,"children":1153},{"class":113,"line":158},[1154,1158,1162,1166],{"type":70,"tag":111,"props":1155,"children":1156},{"style":317},[1157],{"type":75,"value":344},{"type":70,"tag":111,"props":1159,"children":1160},{"style":124},[1161],{"type":75,"value":325},{"type":70,"tag":111,"props":1163,"children":1164},{"style":328},[1165],{"type":75,"value":331},{"type":70,"tag":111,"props":1167,"children":1168},{"style":124},[1169],{"type":75,"value":142},{"type":70,"tag":111,"props":1171,"children":1172},{"class":113,"line":171},[1173,1177,1181,1185,1189,1194],{"type":70,"tag":111,"props":1174,"children":1175},{"style":317},[1176],{"type":75,"value":365},{"type":70,"tag":111,"props":1178,"children":1179},{"style":124},[1180],{"type":75,"value":325},{"type":70,"tag":111,"props":1182,"children":1183},{"style":134},[1184],{"type":75,"value":1138},{"type":70,"tag":111,"props":1186,"children":1187},{"style":124},[1188],{"type":75,"value":626},{"type":70,"tag":111,"props":1190,"children":1191},{"style":134},[1192],{"type":75,"value":1193},"rowCount",{"type":70,"tag":111,"props":1195,"children":1196},{"style":124},[1197],{"type":75,"value":142},{"type":70,"tag":111,"props":1199,"children":1200},{"class":113,"line":200},[1201],{"type":70,"tag":111,"props":1202,"children":1203},{"style":124},[1204],{"type":75,"value":729},{"type":70,"tag":71,"props":1206,"children":1207},{},[1208,1210,1216],{"type":75,"value":1209},"Manual pagination assumes ",{"type":70,"tag":78,"props":1211,"children":1213},{"className":1212},[],[1214],{"type":75,"value":1215},"data",{"type":75,"value":1217}," already represents the intended page. Pass the stable page result directly. If the application deliberately performs custom local slicing instead, derive it with the framework's memo\u002Fcomputed primitive and keep the reference stable until its actual inputs change.",{"type":70,"tag":71,"props":1219,"children":1220},{},[1221,1222],{"type":75,"value":956},{"type":70,"tag":78,"props":1223,"children":1225},{"className":1224},[],[1226],{"type":75,"value":1227},"docs\u002Fframework\u002Freact\u002Fguide\u002Fpagination.md#manual-server-side-pagination",{"type":70,"tag":405,"props":1229,"children":1231},{"id":1230},"high-sorting-only-the-loaded-page-accidentally",[1232,1236],{"type":70,"tag":111,"props":1233,"children":1234},{},[1235],{"type":75,"value":971},{"type":75,"value":1237}," Sorting only the loaded page accidentally",{"type":70,"tag":71,"props":1239,"children":1240},{},[1241],{"type":75,"value":756},{"type":70,"tag":100,"props":1243,"children":1245},{"className":102,"code":1244,"language":104,"meta":105,"style":105},"const options = {\n  data: serverPage.rows,\n  manualPagination: true,\n  manualSorting: false,\n}\n",[1246],{"type":70,"tag":78,"props":1247,"children":1248},{"__ignoreMap":105},[1249,1268,1295,1314,1334],{"type":70,"tag":111,"props":1250,"children":1251},{"class":113,"line":114},[1252,1256,1260,1264],{"type":70,"tag":111,"props":1253,"children":1254},{"style":219},[1255],{"type":75,"value":425},{"type":70,"tag":111,"props":1257,"children":1258},{"style":134},[1259],{"type":75,"value":596},{"type":70,"tag":111,"props":1261,"children":1262},{"style":124},[1263],{"type":75,"value":232},{"type":70,"tag":111,"props":1265,"children":1266},{"style":124},[1267],{"type":75,"value":127},{"type":70,"tag":111,"props":1269,"children":1270},{"class":113,"line":130},[1271,1275,1279,1283,1287,1291],{"type":70,"tag":111,"props":1272,"children":1273},{"style":317},[1274],{"type":75,"value":612},{"type":70,"tag":111,"props":1276,"children":1277},{"style":124},[1278],{"type":75,"value":325},{"type":70,"tag":111,"props":1280,"children":1281},{"style":134},[1282],{"type":75,"value":621},{"type":70,"tag":111,"props":1284,"children":1285},{"style":124},[1286],{"type":75,"value":626},{"type":70,"tag":111,"props":1288,"children":1289},{"style":134},[1290],{"type":75,"value":631},{"type":70,"tag":111,"props":1292,"children":1293},{"style":124},[1294],{"type":75,"value":142},{"type":70,"tag":111,"props":1296,"children":1297},{"class":113,"line":145},[1298,1302,1306,1310],{"type":70,"tag":111,"props":1299,"children":1300},{"style":317},[1301],{"type":75,"value":344},{"type":70,"tag":111,"props":1303,"children":1304},{"style":124},[1305],{"type":75,"value":325},{"type":70,"tag":111,"props":1307,"children":1308},{"style":328},[1309],{"type":75,"value":331},{"type":70,"tag":111,"props":1311,"children":1312},{"style":124},[1313],{"type":75,"value":142},{"type":70,"tag":111,"props":1315,"children":1316},{"class":113,"line":158},[1317,1321,1325,1330],{"type":70,"tag":111,"props":1318,"children":1319},{"style":317},[1320],{"type":75,"value":320},{"type":70,"tag":111,"props":1322,"children":1323},{"style":124},[1324],{"type":75,"value":325},{"type":70,"tag":111,"props":1326,"children":1327},{"style":328},[1328],{"type":75,"value":1329}," false",{"type":70,"tag":111,"props":1331,"children":1332},{"style":124},[1333],{"type":75,"value":142},{"type":70,"tag":111,"props":1335,"children":1336},{"class":113,"line":171},[1337],{"type":70,"tag":111,"props":1338,"children":1339},{"style":124},[1340],{"type":75,"value":729},{"type":70,"tag":71,"props":1342,"children":1343},{},[1344],{"type":75,"value":824},{"type":70,"tag":100,"props":1346,"children":1348},{"className":102,"code":1347,"language":104,"meta":105,"style":105},"const options = {\n  data: serverPage.rows,\n  manualPagination: true,\n  manualSorting: true,\n}\n",[1349],{"type":70,"tag":78,"props":1350,"children":1351},{"__ignoreMap":105},[1352,1371,1398,1417,1436],{"type":70,"tag":111,"props":1353,"children":1354},{"class":113,"line":114},[1355,1359,1363,1367],{"type":70,"tag":111,"props":1356,"children":1357},{"style":219},[1358],{"type":75,"value":425},{"type":70,"tag":111,"props":1360,"children":1361},{"style":134},[1362],{"type":75,"value":596},{"type":70,"tag":111,"props":1364,"children":1365},{"style":124},[1366],{"type":75,"value":232},{"type":70,"tag":111,"props":1368,"children":1369},{"style":124},[1370],{"type":75,"value":127},{"type":70,"tag":111,"props":1372,"children":1373},{"class":113,"line":130},[1374,1378,1382,1386,1390,1394],{"type":70,"tag":111,"props":1375,"children":1376},{"style":317},[1377],{"type":75,"value":612},{"type":70,"tag":111,"props":1379,"children":1380},{"style":124},[1381],{"type":75,"value":325},{"type":70,"tag":111,"props":1383,"children":1384},{"style":134},[1385],{"type":75,"value":621},{"type":70,"tag":111,"props":1387,"children":1388},{"style":124},[1389],{"type":75,"value":626},{"type":70,"tag":111,"props":1391,"children":1392},{"style":134},[1393],{"type":75,"value":631},{"type":70,"tag":111,"props":1395,"children":1396},{"style":124},[1397],{"type":75,"value":142},{"type":70,"tag":111,"props":1399,"children":1400},{"class":113,"line":145},[1401,1405,1409,1413],{"type":70,"tag":111,"props":1402,"children":1403},{"style":317},[1404],{"type":75,"value":344},{"type":70,"tag":111,"props":1406,"children":1407},{"style":124},[1408],{"type":75,"value":325},{"type":70,"tag":111,"props":1410,"children":1411},{"style":328},[1412],{"type":75,"value":331},{"type":70,"tag":111,"props":1414,"children":1415},{"style":124},[1416],{"type":75,"value":142},{"type":70,"tag":111,"props":1418,"children":1419},{"class":113,"line":158},[1420,1424,1428,1432],{"type":70,"tag":111,"props":1421,"children":1422},{"style":317},[1423],{"type":75,"value":320},{"type":70,"tag":111,"props":1425,"children":1426},{"style":124},[1427],{"type":75,"value":325},{"type":70,"tag":111,"props":1429,"children":1430},{"style":328},[1431],{"type":75,"value":331},{"type":70,"tag":111,"props":1433,"children":1434},{"style":124},[1435],{"type":75,"value":142},{"type":70,"tag":111,"props":1437,"children":1438},{"class":113,"line":171},[1439],{"type":70,"tag":111,"props":1440,"children":1441},{"style":124},[1442],{"type":75,"value":729},{"type":70,"tag":71,"props":1444,"children":1445},{},[1446],{"type":75,"value":1447},"Client sorting can see only loaded rows, so it cannot produce database-wide order.",{"type":70,"tag":71,"props":1449,"children":1450},{},[1451,1452],{"type":75,"value":956},{"type":70,"tag":78,"props":1453,"children":1455},{"className":1454},[],[1456],{"type":75,"value":1457},"docs\u002Fguide\u002Frow-models.md",{"type":70,"tag":405,"props":1459,"children":1461},{"id":1460},"high-recreating-processed-data-or-columns-inline",[1462,1466],{"type":70,"tag":111,"props":1463,"children":1464},{},[1465],{"type":75,"value":971},{"type":75,"value":1467}," Recreating processed data or columns inline",{"type":70,"tag":71,"props":1469,"children":1470},{},[1471],{"type":75,"value":756},{"type":70,"tag":100,"props":1473,"children":1475},{"className":102,"code":1474,"language":104,"meta":105,"style":105},"const options = {\n  data: allRows.filter(matchesFilters).slice(pageStart, pageEnd),\n  columns: makeColumns(),\n}\n",[1476],{"type":70,"tag":78,"props":1477,"children":1478},{"__ignoreMap":105},[1479,1498,1554,1579],{"type":70,"tag":111,"props":1480,"children":1481},{"class":113,"line":114},[1482,1486,1490,1494],{"type":70,"tag":111,"props":1483,"children":1484},{"style":219},[1485],{"type":75,"value":425},{"type":70,"tag":111,"props":1487,"children":1488},{"style":134},[1489],{"type":75,"value":596},{"type":70,"tag":111,"props":1491,"children":1492},{"style":124},[1493],{"type":75,"value":232},{"type":70,"tag":111,"props":1495,"children":1496},{"style":124},[1497],{"type":75,"value":127},{"type":70,"tag":111,"props":1499,"children":1500},{"class":113,"line":130},[1501,1505,1509,1513,1517,1522,1527,1531,1536,1541,1545,1550],{"type":70,"tag":111,"props":1502,"children":1503},{"style":317},[1504],{"type":75,"value":612},{"type":70,"tag":111,"props":1506,"children":1507},{"style":124},[1508],{"type":75,"value":325},{"type":70,"tag":111,"props":1510,"children":1511},{"style":134},[1512],{"type":75,"value":1016},{"type":70,"tag":111,"props":1514,"children":1515},{"style":124},[1516],{"type":75,"value":626},{"type":70,"tag":111,"props":1518,"children":1519},{"style":235},[1520],{"type":75,"value":1521},"filter",{"type":70,"tag":111,"props":1523,"children":1524},{"style":134},[1525],{"type":75,"value":1526},"(matchesFilters)",{"type":70,"tag":111,"props":1528,"children":1529},{"style":124},[1530],{"type":75,"value":626},{"type":70,"tag":111,"props":1532,"children":1533},{"style":235},[1534],{"type":75,"value":1535},"slice",{"type":70,"tag":111,"props":1537,"children":1538},{"style":134},[1539],{"type":75,"value":1540},"(pageStart",{"type":70,"tag":111,"props":1542,"children":1543},{"style":124},[1544],{"type":75,"value":801},{"type":70,"tag":111,"props":1546,"children":1547},{"style":134},[1548],{"type":75,"value":1549}," pageEnd)",{"type":70,"tag":111,"props":1551,"children":1552},{"style":124},[1553],{"type":75,"value":142},{"type":70,"tag":111,"props":1555,"children":1556},{"class":113,"line":145},[1557,1562,1566,1571,1575],{"type":70,"tag":111,"props":1558,"children":1559},{"style":317},[1560],{"type":75,"value":1561},"  columns",{"type":70,"tag":111,"props":1563,"children":1564},{"style":124},[1565],{"type":75,"value":325},{"type":70,"tag":111,"props":1567,"children":1568},{"style":235},[1569],{"type":75,"value":1570}," makeColumns",{"type":70,"tag":111,"props":1572,"children":1573},{"style":134},[1574],{"type":75,"value":479},{"type":70,"tag":111,"props":1576,"children":1577},{"style":124},[1578],{"type":75,"value":142},{"type":70,"tag":111,"props":1580,"children":1581},{"class":113,"line":158},[1582],{"type":70,"tag":111,"props":1583,"children":1584},{"style":124},[1585],{"type":75,"value":729},{"type":70,"tag":71,"props":1587,"children":1588},{},[1589],{"type":75,"value":824},{"type":70,"tag":100,"props":1591,"children":1593},{"className":102,"code":1592,"language":104,"meta":105,"style":105},"const processedRows = pageResult.rows\nconst columns = sharedColumns\nconst options = { data: processedRows, columns }\n",[1594],{"type":70,"tag":78,"props":1595,"children":1596},{"__ignoreMap":105},[1597,1627,1648],{"type":70,"tag":111,"props":1598,"children":1599},{"class":113,"line":114},[1600,1604,1609,1613,1618,1622],{"type":70,"tag":111,"props":1601,"children":1602},{"style":219},[1603],{"type":75,"value":425},{"type":70,"tag":111,"props":1605,"children":1606},{"style":134},[1607],{"type":75,"value":1608}," processedRows ",{"type":70,"tag":111,"props":1610,"children":1611},{"style":124},[1612],{"type":75,"value":232},{"type":70,"tag":111,"props":1614,"children":1615},{"style":134},[1616],{"type":75,"value":1617}," pageResult",{"type":70,"tag":111,"props":1619,"children":1620},{"style":124},[1621],{"type":75,"value":626},{"type":70,"tag":111,"props":1623,"children":1624},{"style":134},[1625],{"type":75,"value":1626},"rows\n",{"type":70,"tag":111,"props":1628,"children":1629},{"class":113,"line":130},[1630,1634,1639,1643],{"type":70,"tag":111,"props":1631,"children":1632},{"style":219},[1633],{"type":75,"value":425},{"type":70,"tag":111,"props":1635,"children":1636},{"style":134},[1637],{"type":75,"value":1638}," columns ",{"type":70,"tag":111,"props":1640,"children":1641},{"style":124},[1642],{"type":75,"value":232},{"type":70,"tag":111,"props":1644,"children":1645},{"style":134},[1646],{"type":75,"value":1647}," sharedColumns\n",{"type":70,"tag":111,"props":1649,"children":1650},{"class":113,"line":145},[1651,1655,1659,1663,1667,1671,1675,1680,1684,1688],{"type":70,"tag":111,"props":1652,"children":1653},{"style":219},[1654],{"type":75,"value":425},{"type":70,"tag":111,"props":1656,"children":1657},{"style":134},[1658],{"type":75,"value":596},{"type":70,"tag":111,"props":1660,"children":1661},{"style":124},[1662],{"type":75,"value":232},{"type":70,"tag":111,"props":1664,"children":1665},{"style":124},[1666],{"type":75,"value":783},{"type":70,"tag":111,"props":1668,"children":1669},{"style":317},[1670],{"type":75,"value":806},{"type":70,"tag":111,"props":1672,"children":1673},{"style":124},[1674],{"type":75,"value":325},{"type":70,"tag":111,"props":1676,"children":1677},{"style":134},[1678],{"type":75,"value":1679}," processedRows",{"type":70,"tag":111,"props":1681,"children":1682},{"style":124},[1683],{"type":75,"value":801},{"type":70,"tag":111,"props":1685,"children":1686},{"style":134},[1687],{"type":75,"value":1638},{"type":70,"tag":111,"props":1689,"children":1690},{"style":124},[1691],{"type":75,"value":729},{"type":70,"tag":71,"props":1693,"children":1694},{},[1695,1700,1701,1707],{"type":70,"tag":78,"props":1696,"children":1698},{"className":1697},[],[1699],{"type":75,"value":1215},{"type":75,"value":84},{"type":70,"tag":78,"props":1702,"children":1704},{"className":1703},[],[1705],{"type":75,"value":1706},"columns",{"type":75,"value":1708}," are model inputs. Keep both references stable between meaningful changes with module constants, state, or the adapter's memo\u002Fcomputed primitive; otherwise Table repeatedly invalidates row and column models and some adapters can enter render loops. “Manual” describes processing ownership, not permission to derive new arrays inside table options.",{"type":70,"tag":71,"props":1710,"children":1711},{},[1712,1713],{"type":75,"value":956},{"type":70,"tag":78,"props":1714,"children":1716},{"className":1715},[],[1717],{"type":75,"value":1718},"docs\u002Fguide\u002Fdata.md",{"type":70,"tag":93,"props":1720,"children":1722},{"id":1721},"api-discovery",[1723],{"type":75,"value":1724},"API Discovery",{"type":70,"tag":71,"props":1726,"children":1727},{},[1728,1730,1736,1738,1744,1746,1752],{"type":75,"value":1729},"Inspect ",{"type":70,"tag":78,"props":1731,"children":1733},{"className":1732},[],[1734],{"type":75,"value":1735},"node_modules\u002F@tanstack\u002Ftable-core\u002Fdist\u002Fcore\u002Frow-models\u002FcoreRowModelsFeature.utils.d.ts",{"type":75,"value":1737}," for pipeline order and each feature's ",{"type":70,"tag":78,"props":1739,"children":1741},{"className":1740},[],[1742],{"type":75,"value":1743},".types.d.ts",{"type":75,"value":1745}," for its ",{"type":70,"tag":78,"props":1747,"children":1749},{"className":1748},[],[1750],{"type":75,"value":1751},"manual*",{"type":75,"value":1753}," contract.",{"type":70,"tag":1755,"props":1756,"children":1757},"style",{},[1758],{"type":75,"value":1759},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1761,"total":1837},[1762,1774,1786,1798,1805,1817,1827],{"slug":1763,"name":1763,"fn":1764,"description":1765,"org":1766,"tags":1767,"stars":23,"repoUrl":24,"updatedAt":1773},"aggregation","perform data aggregation in TanStack Table","Aggregate TanStack Table columns independently of grouping, including grand totals, caller-selected row totals, multiple keyed aggregations, custom context-based definitions, grouped merges, manual values, and worker constraints.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1768,1771,1772],{"name":1769,"slug":1770,"type":15},"Data Analysis","data-analysis",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:59.429787",{"slug":1775,"name":1775,"fn":1776,"description":1777,"org":1778,"tags":1779,"stars":23,"repoUrl":24,"updatedAt":1785},"api-not-found","diagnose TanStack Table API errors","Diagnose missing TanStack Table v9 exports, options, state slices, and instance methods. Load before inventing an API when code sees a type error, undefined feature method, absent object key, adapter mismatch, or v8-shaped example.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1780,1783,1784],{"name":1781,"slug":1782,"type":15},"Debugging","debugging",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:26:05.418735",{"slug":1787,"name":1787,"fn":1788,"description":1789,"org":1790,"tags":1791,"stars":23,"repoUrl":24,"updatedAt":1797},"cell-selection","select rectangular cell ranges in tables","Select rectangular cell ranges with cellSelectionFeature: two-corner range state keyed by row and column id, mousedown\u002Fmouseenter handlers, selection edges, render-order resolution under pinning, and autoResetCellSelection. Load when ranges widen unexpectedly after sorting or column reordering, when a drag re-renders the whole table, or when building copy-to-clipboard from a selection.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1792,1793,1794],{"name":1769,"slug":1770,"type":15},{"name":9,"slug":8,"type":15},{"name":1795,"slug":1796,"type":15},"UI Components","ui-components","2026-07-30T05:25:38.403427",{"slug":4,"name":4,"fn":5,"description":6,"org":1799,"tags":1800,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1801,1802,1803,1804],{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"slug":1806,"name":1806,"fn":1807,"description":1808,"org":1809,"tags":1810,"stars":23,"repoUrl":24,"updatedAt":1816},"column-faceting","build faceted filter UIs","Build faceted filter UIs with columnFacetingFeature, facetedRowModel, facetedUniqueValues, and facetedMinMaxValues. Load for facet counts, numeric ranges, own-filter exclusion, or server-page facet completeness.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1811,1814,1815],{"name":1812,"slug":1813,"type":15},"Data Visualization","data-visualization",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:41.397257",{"slug":1818,"name":1818,"fn":1819,"description":1820,"org":1821,"tags":1822,"stars":23,"repoUrl":24,"updatedAt":1826},"column-filtering","implement column filtering in TanStack Table","Filter columns with columnFilteringFeature, filteredRowModel, filterFns, filterMeta, nested-row direction, and manualFiltering. Load for accessor compatibility, controlled filter updaters, fuzzy metadata, or client\u002Fserver ownership.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1823,1824,1825],{"name":1769,"slug":1770,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:53.391632",{"slug":1828,"name":1828,"fn":1829,"description":1830,"org":1831,"tags":1832,"stars":23,"repoUrl":24,"updatedAt":1836},"column-ordering","manage TanStack Table column ordering","Control TanStack Table v9 leaf columnOrder with stable IDs while accounting for pinning regions, visibility, and groupedColumnMode precedence. Load for drag-and-drop columns or rendered order that differs from state.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1833,1834,1835],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":1795,"slug":1796,"type":15},"2026-07-30T05:26:03.37801",30,{"items":1839,"total":1936},[1840,1846,1852,1858,1865,1871,1877,1883,1896,1906,1917,1927],{"slug":1763,"name":1763,"fn":1764,"description":1765,"org":1841,"tags":1842,"stars":23,"repoUrl":24,"updatedAt":1773},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1843,1844,1845],{"name":1769,"slug":1770,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"slug":1775,"name":1775,"fn":1776,"description":1777,"org":1847,"tags":1848,"stars":23,"repoUrl":24,"updatedAt":1785},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1849,1850,1851],{"name":1781,"slug":1782,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"slug":1787,"name":1787,"fn":1788,"description":1789,"org":1853,"tags":1854,"stars":23,"repoUrl":24,"updatedAt":1797},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1855,1856,1857],{"name":1769,"slug":1770,"type":15},{"name":9,"slug":8,"type":15},{"name":1795,"slug":1796,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":1859,"tags":1860,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1861,1862,1863,1864],{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"slug":1806,"name":1806,"fn":1807,"description":1808,"org":1866,"tags":1867,"stars":23,"repoUrl":24,"updatedAt":1816},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1868,1869,1870],{"name":1812,"slug":1813,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"slug":1818,"name":1818,"fn":1819,"description":1820,"org":1872,"tags":1873,"stars":23,"repoUrl":24,"updatedAt":1826},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1874,1875,1876],{"name":1769,"slug":1770,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"slug":1828,"name":1828,"fn":1829,"description":1830,"org":1878,"tags":1879,"stars":23,"repoUrl":24,"updatedAt":1836},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1880,1881,1882],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":1795,"slug":1796,"type":15},{"slug":1884,"name":1884,"fn":1885,"description":1886,"org":1887,"tags":1888,"stars":23,"repoUrl":24,"updatedAt":1895},"column-pinning","configure column pinning in TanStack Table","Pin columns into logical start, center, and end regions with columnPinningFeature and renderer-owned sticky CSS. Load for RTL offsets, z-index, backgrounds, overflow, widths, gaps, or overlaps.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1889,1892,1893,1894],{"name":1890,"slug":1891,"type":15},"CSS","css",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":1795,"slug":1796,"type":15},"2026-07-30T05:25:55.377366",{"slug":1897,"name":1897,"fn":1898,"description":1899,"org":1900,"tags":1901,"stars":23,"repoUrl":24,"updatedAt":1905},"column-resizing","implement column resizing in TanStack Table","Wire columnResizingFeature, header.getResizeHandler, resize mode and direction, pointer or touch events, and performant CSS-variable updates. Load when resize state changes but widths do not, or large tables resize slowly.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1902,1903,1904],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":1795,"slug":1796,"type":15},"2026-07-30T05:25:51.400011",{"slug":1907,"name":1907,"fn":1908,"description":1909,"org":1910,"tags":1911,"stars":23,"repoUrl":24,"updatedAt":1916},"column-sizing","configure column sizing in TanStack Table","Use columnSizingFeature numeric size, minSize, maxSize, getSize, getStart, getAfter, and total-size APIs in table, grid, or flex CSS. Load for auto or percentage misconceptions and sizing\u002Fpinning layout mismatch.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1912,1913,1914,1915],{"name":1890,"slug":1891,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":1795,"slug":1796,"type":15},"2026-07-30T05:25:48.703799",{"slug":1918,"name":1918,"fn":1919,"description":1920,"org":1921,"tags":1922,"stars":23,"repoUrl":24,"updatedAt":1926},"column-visibility","manage column visibility in TanStack Table","Hide columns with columnVisibilityFeature while rendering visibility-aware header, column, and cell collections. Load when hidden columns remain in the DOM, false-versus-absent state is confused, or enableHiding is misunderstood.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1923,1924,1925],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":1795,"slug":1796,"type":15},"2026-07-30T05:25:47.367943",{"slug":60,"name":60,"fn":1928,"description":1929,"org":1930,"tags":1931,"stars":23,"repoUrl":24,"updatedAt":1935},"build data grids with TanStack Table","Use TanStack Table v9 as a headless data-grid state and row-processing engine. Load for first-table architecture, stable data and columns, row numbering with getDisplayIndex, semantic rendering, framework adapter choice, or deciding what Table owns versus the renderer.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1932,1933,1934],{"name":1769,"slug":1770,"type":15},{"name":21,"slug":22,"type":15},{"name":1795,"slug":1796,"type":15},"2026-07-30T05:25:52.366295",125]