[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tanstack-column-filtering":3,"mdc-ytcnt4-key":50,"related-repo-tanstack-column-filtering":664,"related-org-tanstack-column-filtering":743},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":45,"sourceUrl":48,"mdContent":49},"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},"tanstack","TanStack","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftanstack.png",[12,16,17],{"name":13,"slug":14,"type":15},"Data Analysis","data-analysis","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Frontend","frontend",28175,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Ftable","2026-07-30T05:25:53.391632",null,3539,[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"datagrid","datagrids","datatable","filtering","grid","grouping","hooks","javascript","pagination","react","reactjs","solid","solidjs","sorting","svelte","sveltejs","table","typescript","vue",{"repoUrl":21,"stars":20,"forks":24,"topics":46,"description":47},[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"🤖 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\u002Fcolumn-filtering","---\nname: column-filtering\ndescription: >\n  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.\nmetadata:\n  {\n    type: sub-skill,\n    library: '@tanstack\u002Ftable-core',\n    library_version: '9.0.0-beta.59',\n  }\nrequires: ['core', 'table-features', 'client-vs-server']\nsources:\n  - 'TanStack\u002Ftable:docs\u002Fframework\u002Freact\u002Fguide\u002Fcolumn-filtering.md'\n  - 'TanStack\u002Ftable:packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fcolumn-filtering'\n  - 'TanStack\u002Ftable:examples\u002Freact\u002Ffilters'\n---\n\nThis skill builds on `core`, `table-features`, and `client-vs-server`. Filtering state, row processing, and filter UI are separate concerns.\n\n## Setup\n\n```ts\nimport {\n  columnFilteringFeature,\n  createFilteredRowModel,\n  filterFn_includesString,\n  tableFeatures,\n} from '@tanstack\u002Ftable-core'\n\nexport const features = tableFeatures({\n  columnFilteringFeature,\n  filteredRowModel: createFilteredRowModel(),\n  filterFns: { includesString: filterFn_includesString },\n})\n```\n\nImport individual `filterFn_*` built-ins and register only those your columns\nreference by string name or that `filterFn: 'auto'` should resolve for your\ndata types. The full `filterFns` registry object still works but bundles every\nbuilt-in.\n\n## Core Patterns\n\n```ts\nconst options = {\n  filterFromLeafRows: true,\n  maxLeafRowFilterDepth: 2,\n}\n```\n\nUse leaf-first filtering only when a parent should survive because a descendant matches.\n\n## Common Mistakes\n\n### [HIGH] Combining manual and client filtering\n\nWrong: `const options = { manualFiltering: true }`\n\nCorrect: `const options = { manualFiltering: false }`\n\nManual mode returns the pre-filtered model; send filter state to the server instead if it is `true`.\n\nSource: `packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fcolumn-filtering\u002FcolumnFilteringFeature.types.ts`\n\n### [HIGH] Filtering renderer output\n\nWrong: `helper.accessor(row => ({ label: row.status }), { filterFn: 'includesString' })`\n\nCorrect: `helper.accessor('status', { filterFn: 'includesString' })`\n\nBuilt-in string and numeric filters expect comparable accessor values, not objects or UI nodes.\n\nSource: `docs\u002Fframework\u002Freact\u002Fguide\u002Fcolumn-filtering.md#filterfns`\n\n### [HIGH] Ignoring updater-function callbacks\n\nWrong: `onColumnFiltersChange: value => { columnFilters = value as ColumnFiltersState }`\n\nCorrect: `onColumnFiltersChange: updater => { columnFilters = functionalUpdate(updater, columnFilters) }`\n\nControlled callbacks receive either a value or a function of previous state.\n\nSource: `packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fcolumn-filtering\u002FcolumnFilteringFeature.types.ts`\n\n## API Discovery\n\nInspect `node_modules\u002F@tanstack\u002Ftable-core\u002Fdist\u002Ffeatures\u002Fcolumn-filtering\u002F` and `dist\u002Ffeatures\u002Fcolumn-filtering\u002FfilterFns.d.ts` for exact signatures and auto-remove behavior.\n",{"data":51,"body":64},{"name":4,"description":6,"metadata":52,"requires":56,"sources":60},{"type":53,"library":54,"library_version":55},"sub-skill","@tanstack\u002Ftable-core","9.0.0-beta.59",[57,58,59],"core","table-features","client-vs-server",[61,62,63],"TanStack\u002Ftable:docs\u002Fframework\u002Freact\u002Fguide\u002Fcolumn-filtering.md","TanStack\u002Ftable:packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fcolumn-filtering","TanStack\u002Ftable:examples\u002Freact\u002Ffilters",{"type":65,"children":66},"root",[67,97,104,358,387,393,473,478,484,496,507,518,531,542,552,562,572,577,587,597,607,617,622,631,637,658],{"type":68,"tag":69,"props":70,"children":71},"element","p",{},[72,75,81,83,88,90,95],{"type":73,"value":74},"text","This skill builds on ",{"type":68,"tag":76,"props":77,"children":79},"code",{"className":78},[],[80],{"type":73,"value":57},{"type":73,"value":82},", ",{"type":68,"tag":76,"props":84,"children":86},{"className":85},[],[87],{"type":73,"value":58},{"type":73,"value":89},", and ",{"type":68,"tag":76,"props":91,"children":93},{"className":92},[],[94],{"type":73,"value":59},{"type":73,"value":96},". Filtering state, row processing, and filter UI are separate concerns.",{"type":68,"tag":98,"props":99,"children":101},"h2",{"id":100},"setup",[102],{"type":73,"value":103},"Setup",{"type":68,"tag":105,"props":106,"children":111},"pre",{"className":107,"code":108,"language":109,"meta":110,"style":110},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import {\n  columnFilteringFeature,\n  createFilteredRowModel,\n  filterFn_includesString,\n  tableFeatures,\n} from '@tanstack\u002Ftable-core'\n\nexport const features = tableFeatures({\n  columnFilteringFeature,\n  filteredRowModel: createFilteredRowModel(),\n  filterFns: { includesString: filterFn_includesString },\n})\n","ts","",[112],{"type":68,"tag":76,"props":113,"children":114},{"__ignoreMap":110},[115,133,148,161,174,187,216,226,267,279,308,345],{"type":68,"tag":116,"props":117,"children":120},"span",{"class":118,"line":119},"line",1,[121,127],{"type":68,"tag":116,"props":122,"children":124},{"style":123},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[125],{"type":73,"value":126},"import",{"type":68,"tag":116,"props":128,"children":130},{"style":129},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[131],{"type":73,"value":132}," {\n",{"type":68,"tag":116,"props":134,"children":136},{"class":118,"line":135},2,[137,143],{"type":68,"tag":116,"props":138,"children":140},{"style":139},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[141],{"type":73,"value":142},"  columnFilteringFeature",{"type":68,"tag":116,"props":144,"children":145},{"style":129},[146],{"type":73,"value":147},",\n",{"type":68,"tag":116,"props":149,"children":151},{"class":118,"line":150},3,[152,157],{"type":68,"tag":116,"props":153,"children":154},{"style":139},[155],{"type":73,"value":156},"  createFilteredRowModel",{"type":68,"tag":116,"props":158,"children":159},{"style":129},[160],{"type":73,"value":147},{"type":68,"tag":116,"props":162,"children":164},{"class":118,"line":163},4,[165,170],{"type":68,"tag":116,"props":166,"children":167},{"style":139},[168],{"type":73,"value":169},"  filterFn_includesString",{"type":68,"tag":116,"props":171,"children":172},{"style":129},[173],{"type":73,"value":147},{"type":68,"tag":116,"props":175,"children":177},{"class":118,"line":176},5,[178,183],{"type":68,"tag":116,"props":179,"children":180},{"style":139},[181],{"type":73,"value":182},"  tableFeatures",{"type":68,"tag":116,"props":184,"children":185},{"style":129},[186],{"type":73,"value":147},{"type":68,"tag":116,"props":188,"children":190},{"class":118,"line":189},6,[191,196,201,206,211],{"type":68,"tag":116,"props":192,"children":193},{"style":129},[194],{"type":73,"value":195},"}",{"type":68,"tag":116,"props":197,"children":198},{"style":123},[199],{"type":73,"value":200}," from",{"type":68,"tag":116,"props":202,"children":203},{"style":129},[204],{"type":73,"value":205}," '",{"type":68,"tag":116,"props":207,"children":209},{"style":208},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[210],{"type":73,"value":54},{"type":68,"tag":116,"props":212,"children":213},{"style":129},[214],{"type":73,"value":215},"'\n",{"type":68,"tag":116,"props":217,"children":219},{"class":118,"line":218},7,[220],{"type":68,"tag":116,"props":221,"children":223},{"emptyLinePlaceholder":222},true,[224],{"type":73,"value":225},"\n",{"type":68,"tag":116,"props":227,"children":229},{"class":118,"line":228},8,[230,235,241,246,251,257,262],{"type":68,"tag":116,"props":231,"children":232},{"style":123},[233],{"type":73,"value":234},"export",{"type":68,"tag":116,"props":236,"children":238},{"style":237},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[239],{"type":73,"value":240}," const",{"type":68,"tag":116,"props":242,"children":243},{"style":139},[244],{"type":73,"value":245}," features ",{"type":68,"tag":116,"props":247,"children":248},{"style":129},[249],{"type":73,"value":250},"=",{"type":68,"tag":116,"props":252,"children":254},{"style":253},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[255],{"type":73,"value":256}," tableFeatures",{"type":68,"tag":116,"props":258,"children":259},{"style":139},[260],{"type":73,"value":261},"(",{"type":68,"tag":116,"props":263,"children":264},{"style":129},[265],{"type":73,"value":266},"{\n",{"type":68,"tag":116,"props":268,"children":270},{"class":118,"line":269},9,[271,275],{"type":68,"tag":116,"props":272,"children":273},{"style":139},[274],{"type":73,"value":142},{"type":68,"tag":116,"props":276,"children":277},{"style":129},[278],{"type":73,"value":147},{"type":68,"tag":116,"props":280,"children":282},{"class":118,"line":281},10,[283,289,294,299,304],{"type":68,"tag":116,"props":284,"children":286},{"style":285},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[287],{"type":73,"value":288},"  filteredRowModel",{"type":68,"tag":116,"props":290,"children":291},{"style":129},[292],{"type":73,"value":293},":",{"type":68,"tag":116,"props":295,"children":296},{"style":253},[297],{"type":73,"value":298}," createFilteredRowModel",{"type":68,"tag":116,"props":300,"children":301},{"style":139},[302],{"type":73,"value":303},"()",{"type":68,"tag":116,"props":305,"children":306},{"style":129},[307],{"type":73,"value":147},{"type":68,"tag":116,"props":309,"children":311},{"class":118,"line":310},11,[312,317,321,326,331,335,340],{"type":68,"tag":116,"props":313,"children":314},{"style":285},[315],{"type":73,"value":316},"  filterFns",{"type":68,"tag":116,"props":318,"children":319},{"style":129},[320],{"type":73,"value":293},{"type":68,"tag":116,"props":322,"children":323},{"style":129},[324],{"type":73,"value":325}," {",{"type":68,"tag":116,"props":327,"children":328},{"style":285},[329],{"type":73,"value":330}," includesString",{"type":68,"tag":116,"props":332,"children":333},{"style":129},[334],{"type":73,"value":293},{"type":68,"tag":116,"props":336,"children":337},{"style":139},[338],{"type":73,"value":339}," filterFn_includesString ",{"type":68,"tag":116,"props":341,"children":342},{"style":129},[343],{"type":73,"value":344},"},\n",{"type":68,"tag":116,"props":346,"children":348},{"class":118,"line":347},12,[349,353],{"type":68,"tag":116,"props":350,"children":351},{"style":129},[352],{"type":73,"value":195},{"type":68,"tag":116,"props":354,"children":355},{"style":139},[356],{"type":73,"value":357},")\n",{"type":68,"tag":69,"props":359,"children":360},{},[361,363,369,371,377,379,385],{"type":73,"value":362},"Import individual ",{"type":68,"tag":76,"props":364,"children":366},{"className":365},[],[367],{"type":73,"value":368},"filterFn_*",{"type":73,"value":370}," built-ins and register only those your columns\nreference by string name or that ",{"type":68,"tag":76,"props":372,"children":374},{"className":373},[],[375],{"type":73,"value":376},"filterFn: 'auto'",{"type":73,"value":378}," should resolve for your\ndata types. The full ",{"type":68,"tag":76,"props":380,"children":382},{"className":381},[],[383],{"type":73,"value":384},"filterFns",{"type":73,"value":386}," registry object still works but bundles every\nbuilt-in.",{"type":68,"tag":98,"props":388,"children":390},{"id":389},"core-patterns",[391],{"type":73,"value":392},"Core Patterns",{"type":68,"tag":105,"props":394,"children":396},{"className":107,"code":395,"language":109,"meta":110,"style":110},"const options = {\n  filterFromLeafRows: true,\n  maxLeafRowFilterDepth: 2,\n}\n",[397],{"type":68,"tag":76,"props":398,"children":399},{"__ignoreMap":110},[400,421,443,465],{"type":68,"tag":116,"props":401,"children":402},{"class":118,"line":119},[403,408,413,417],{"type":68,"tag":116,"props":404,"children":405},{"style":237},[406],{"type":73,"value":407},"const",{"type":68,"tag":116,"props":409,"children":410},{"style":139},[411],{"type":73,"value":412}," options ",{"type":68,"tag":116,"props":414,"children":415},{"style":129},[416],{"type":73,"value":250},{"type":68,"tag":116,"props":418,"children":419},{"style":129},[420],{"type":73,"value":132},{"type":68,"tag":116,"props":422,"children":423},{"class":118,"line":135},[424,429,433,439],{"type":68,"tag":116,"props":425,"children":426},{"style":285},[427],{"type":73,"value":428},"  filterFromLeafRows",{"type":68,"tag":116,"props":430,"children":431},{"style":129},[432],{"type":73,"value":293},{"type":68,"tag":116,"props":434,"children":436},{"style":435},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[437],{"type":73,"value":438}," true",{"type":68,"tag":116,"props":440,"children":441},{"style":129},[442],{"type":73,"value":147},{"type":68,"tag":116,"props":444,"children":445},{"class":118,"line":150},[446,451,455,461],{"type":68,"tag":116,"props":447,"children":448},{"style":285},[449],{"type":73,"value":450},"  maxLeafRowFilterDepth",{"type":68,"tag":116,"props":452,"children":453},{"style":129},[454],{"type":73,"value":293},{"type":68,"tag":116,"props":456,"children":458},{"style":457},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[459],{"type":73,"value":460}," 2",{"type":68,"tag":116,"props":462,"children":463},{"style":129},[464],{"type":73,"value":147},{"type":68,"tag":116,"props":466,"children":467},{"class":118,"line":163},[468],{"type":68,"tag":116,"props":469,"children":470},{"style":129},[471],{"type":73,"value":472},"}\n",{"type":68,"tag":69,"props":474,"children":475},{},[476],{"type":73,"value":477},"Use leaf-first filtering only when a parent should survive because a descendant matches.",{"type":68,"tag":98,"props":479,"children":481},{"id":480},"common-mistakes",[482],{"type":73,"value":483},"Common Mistakes",{"type":68,"tag":485,"props":486,"children":488},"h3",{"id":487},"high-combining-manual-and-client-filtering",[489,494],{"type":68,"tag":116,"props":490,"children":491},{},[492],{"type":73,"value":493},"HIGH",{"type":73,"value":495}," Combining manual and client filtering",{"type":68,"tag":69,"props":497,"children":498},{},[499,501],{"type":73,"value":500},"Wrong: ",{"type":68,"tag":76,"props":502,"children":504},{"className":503},[],[505],{"type":73,"value":506},"const options = { manualFiltering: true }",{"type":68,"tag":69,"props":508,"children":509},{},[510,512],{"type":73,"value":511},"Correct: ",{"type":68,"tag":76,"props":513,"children":515},{"className":514},[],[516],{"type":73,"value":517},"const options = { manualFiltering: false }",{"type":68,"tag":69,"props":519,"children":520},{},[521,523,529],{"type":73,"value":522},"Manual mode returns the pre-filtered model; send filter state to the server instead if it is ",{"type":68,"tag":76,"props":524,"children":526},{"className":525},[],[527],{"type":73,"value":528},"true",{"type":73,"value":530},".",{"type":68,"tag":69,"props":532,"children":533},{},[534,536],{"type":73,"value":535},"Source: ",{"type":68,"tag":76,"props":537,"children":539},{"className":538},[],[540],{"type":73,"value":541},"packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fcolumn-filtering\u002FcolumnFilteringFeature.types.ts",{"type":68,"tag":485,"props":543,"children":545},{"id":544},"high-filtering-renderer-output",[546,550],{"type":68,"tag":116,"props":547,"children":548},{},[549],{"type":73,"value":493},{"type":73,"value":551}," Filtering renderer output",{"type":68,"tag":69,"props":553,"children":554},{},[555,556],{"type":73,"value":500},{"type":68,"tag":76,"props":557,"children":559},{"className":558},[],[560],{"type":73,"value":561},"helper.accessor(row => ({ label: row.status }), { filterFn: 'includesString' })",{"type":68,"tag":69,"props":563,"children":564},{},[565,566],{"type":73,"value":511},{"type":68,"tag":76,"props":567,"children":569},{"className":568},[],[570],{"type":73,"value":571},"helper.accessor('status', { filterFn: 'includesString' })",{"type":68,"tag":69,"props":573,"children":574},{},[575],{"type":73,"value":576},"Built-in string and numeric filters expect comparable accessor values, not objects or UI nodes.",{"type":68,"tag":69,"props":578,"children":579},{},[580,581],{"type":73,"value":535},{"type":68,"tag":76,"props":582,"children":584},{"className":583},[],[585],{"type":73,"value":586},"docs\u002Fframework\u002Freact\u002Fguide\u002Fcolumn-filtering.md#filterfns",{"type":68,"tag":485,"props":588,"children":590},{"id":589},"high-ignoring-updater-function-callbacks",[591,595],{"type":68,"tag":116,"props":592,"children":593},{},[594],{"type":73,"value":493},{"type":73,"value":596}," Ignoring updater-function callbacks",{"type":68,"tag":69,"props":598,"children":599},{},[600,601],{"type":73,"value":500},{"type":68,"tag":76,"props":602,"children":604},{"className":603},[],[605],{"type":73,"value":606},"onColumnFiltersChange: value => { columnFilters = value as ColumnFiltersState }",{"type":68,"tag":69,"props":608,"children":609},{},[610,611],{"type":73,"value":511},{"type":68,"tag":76,"props":612,"children":614},{"className":613},[],[615],{"type":73,"value":616},"onColumnFiltersChange: updater => { columnFilters = functionalUpdate(updater, columnFilters) }",{"type":68,"tag":69,"props":618,"children":619},{},[620],{"type":73,"value":621},"Controlled callbacks receive either a value or a function of previous state.",{"type":68,"tag":69,"props":623,"children":624},{},[625,626],{"type":73,"value":535},{"type":68,"tag":76,"props":627,"children":629},{"className":628},[],[630],{"type":73,"value":541},{"type":68,"tag":98,"props":632,"children":634},{"id":633},"api-discovery",[635],{"type":73,"value":636},"API Discovery",{"type":68,"tag":69,"props":638,"children":639},{},[640,642,648,650,656],{"type":73,"value":641},"Inspect ",{"type":68,"tag":76,"props":643,"children":645},{"className":644},[],[646],{"type":73,"value":647},"node_modules\u002F@tanstack\u002Ftable-core\u002Fdist\u002Ffeatures\u002Fcolumn-filtering\u002F",{"type":73,"value":649}," and ",{"type":68,"tag":76,"props":651,"children":653},{"className":652},[],[654],{"type":73,"value":655},"dist\u002Ffeatures\u002Fcolumn-filtering\u002FfilterFns.d.ts",{"type":73,"value":657}," for exact signatures and auto-remove behavior.",{"type":68,"tag":659,"props":660,"children":661},"style",{},[662],{"type":73,"value":663},"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":665,"total":742},[666,676,688,700,714,726,732],{"slug":667,"name":667,"fn":668,"description":669,"org":670,"tags":671,"stars":20,"repoUrl":21,"updatedAt":675},"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},[672,673,674],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:59.429787",{"slug":677,"name":677,"fn":678,"description":679,"org":680,"tags":681,"stars":20,"repoUrl":21,"updatedAt":687},"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},[682,685,686],{"name":683,"slug":684,"type":15},"Debugging","debugging",{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:26:05.418735",{"slug":689,"name":689,"fn":690,"description":691,"org":692,"tags":693,"stars":20,"repoUrl":21,"updatedAt":699},"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},[694,695,696],{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":697,"slug":698,"type":15},"UI Components","ui-components","2026-07-30T05:25:38.403427",{"slug":59,"name":59,"fn":701,"description":702,"org":703,"tags":704,"stars":20,"repoUrl":21,"updatedAt":713},"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},[705,708,709,712],{"name":706,"slug":707,"type":15},"Data Pipeline","data-pipeline",{"name":18,"slug":19,"type":15},{"name":710,"slug":711,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},"2026-07-30T05:25:45.400104",{"slug":715,"name":715,"fn":716,"description":717,"org":718,"tags":719,"stars":20,"repoUrl":21,"updatedAt":725},"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},[720,723,724],{"name":721,"slug":722,"type":15},"Data Visualization","data-visualization",{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:41.397257",{"slug":4,"name":4,"fn":5,"description":6,"org":727,"tags":728,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[729,730,731],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":733,"name":733,"fn":734,"description":735,"org":736,"tags":737,"stars":20,"repoUrl":21,"updatedAt":741},"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},[738,739,740],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":697,"slug":698,"type":15},"2026-07-30T05:26:03.37801",30,{"items":744,"total":841},[745,751,757,763,770,776,782,788,801,811,822,832],{"slug":667,"name":667,"fn":668,"description":669,"org":746,"tags":747,"stars":20,"repoUrl":21,"updatedAt":675},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[748,749,750],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":677,"name":677,"fn":678,"description":679,"org":752,"tags":753,"stars":20,"repoUrl":21,"updatedAt":687},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[754,755,756],{"name":683,"slug":684,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":689,"name":689,"fn":690,"description":691,"org":758,"tags":759,"stars":20,"repoUrl":21,"updatedAt":699},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[760,761,762],{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":697,"slug":698,"type":15},{"slug":59,"name":59,"fn":701,"description":702,"org":764,"tags":765,"stars":20,"repoUrl":21,"updatedAt":713},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[766,767,768,769],{"name":706,"slug":707,"type":15},{"name":18,"slug":19,"type":15},{"name":710,"slug":711,"type":15},{"name":9,"slug":8,"type":15},{"slug":715,"name":715,"fn":716,"description":717,"org":771,"tags":772,"stars":20,"repoUrl":21,"updatedAt":725},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[773,774,775],{"name":721,"slug":722,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":777,"tags":778,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[779,780,781],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":733,"name":733,"fn":734,"description":735,"org":783,"tags":784,"stars":20,"repoUrl":21,"updatedAt":741},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[785,786,787],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":697,"slug":698,"type":15},{"slug":789,"name":789,"fn":790,"description":791,"org":792,"tags":793,"stars":20,"repoUrl":21,"updatedAt":800},"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},[794,797,798,799],{"name":795,"slug":796,"type":15},"CSS","css",{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":697,"slug":698,"type":15},"2026-07-30T05:25:55.377366",{"slug":802,"name":802,"fn":803,"description":804,"org":805,"tags":806,"stars":20,"repoUrl":21,"updatedAt":810},"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},[807,808,809],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":697,"slug":698,"type":15},"2026-07-30T05:25:51.400011",{"slug":812,"name":812,"fn":813,"description":814,"org":815,"tags":816,"stars":20,"repoUrl":21,"updatedAt":821},"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},[817,818,819,820],{"name":795,"slug":796,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":697,"slug":698,"type":15},"2026-07-30T05:25:48.703799",{"slug":823,"name":823,"fn":824,"description":825,"org":826,"tags":827,"stars":20,"repoUrl":21,"updatedAt":831},"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},[828,829,830],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":697,"slug":698,"type":15},"2026-07-30T05:25:47.367943",{"slug":57,"name":57,"fn":833,"description":834,"org":835,"tags":836,"stars":20,"repoUrl":21,"updatedAt":840},"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},[837,838,839],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":697,"slug":698,"type":15},"2026-07-30T05:25:52.366295",125]