[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tanstack-global-filtering":3,"mdc--q0brr7-key":50,"related-repo-tanstack-global-filtering":726,"related-org-tanstack-global-filtering":808},{"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},"global-filtering","apply global filtering in TanStack Table","Apply globalFilter across eligible columns with globalFilteringFeature, columnFilteringFeature, filteredRowModel, globalFilterFn, and manual server filtering. Load when columns unexpectedly participate or a global filter changes state without changing rows.\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:50.390708",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\u002Fglobal-filtering","---\nname: global-filtering\ndescription: >\n  Apply globalFilter across eligible columns with globalFilteringFeature, columnFilteringFeature, filteredRowModel, globalFilterFn, and manual server filtering. Load when columns unexpectedly participate or a global filter changes state without changing rows.\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', 'column-filtering']\nsources:\n  - 'TanStack\u002Ftable:docs\u002Fframework\u002Freact\u002Fguide\u002Fglobal-filtering.md'\n  - 'TanStack\u002Ftable:packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fglobal-filtering'\n  - 'TanStack\u002Ftable:examples\u002Freact\u002Ffilters'\n---\n\nThis skill builds on `core`, `table-features`, `client-vs-server`, and `column-filtering`. Global filtering reuses the column-filtering pipeline.\n\n## Setup\n\n```ts\nimport {\n  columnFilteringFeature,\n  createFilteredRowModel,\n  filterFn_includesString,\n  globalFilteringFeature,\n  tableFeatures,\n} from '@tanstack\u002Ftable-core'\n\nexport const features = tableFeatures({\n  columnFilteringFeature,\n  globalFilteringFeature,\n  filteredRowModel: createFilteredRowModel(),\n  filterFns: { includesString: filterFn_includesString },\n})\n```\n\n## Core Patterns\n\n```ts\nconst options = {\n  globalFilterFn: 'includesString' as const,\n  getColumnCanGlobalFilter: (column) => column.id !== 'actions',\n}\n```\n\nDeclare eligibility when product rules differ from default primitive-value detection.\n\n## Common Mistakes\n\n### [CRITICAL] Omitting column-filter prerequisite\n\nWrong: `tableFeatures({ globalFilteringFeature })`\n\nCorrect: `tableFeatures({ columnFilteringFeature, globalFilteringFeature, filteredRowModel: createFilteredRowModel() })`\n\nGlobal filtering depends on column filtering and needs the filtered model for client processing.\n\nSource: `packages\u002Ftable-core\u002Fsrc\u002Ftypes\u002FTableFeatures.ts#FeatureSlotPrereqs`\n\n### [HIGH] Assuming every column participates\n\nWrong: `const options = { globalFilterFn: 'includesString' }`\n\nCorrect: `const options = { getColumnCanGlobalFilter: column => column.id !== 'actions' }`\n\nDefault eligibility uses the first core row and accepts string or number values.\n\nSource: `packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fglobal-filtering\u002FglobalFilteringFeature.ts`\n\n### [HIGH] Keeping manual filter local only\n\nWrong: `table.setGlobalFilter(search); const options = { manualFiltering: true }`\n\nCorrect: `const page = await fetchRows({ search }); const options = { data: page.rows, manualFiltering: true }`\n\nManual filtering bypasses the client model, so the value must drive the server request.\n\nSource: `docs\u002Fframework\u002Freact\u002Fguide\u002Fglobal-filtering.md#manual-server-side-global-filtering`\n\n## API Discovery\n\nInspect `node_modules\u002F@tanstack\u002Ftable-core\u002Fdist\u002Ffeatures\u002Fglobal-filtering\u002F` plus `dist\u002Ffeatures\u002Fcolumn-filtering\u002F` for shared state and filter functions.\n",{"data":51,"body":65},{"name":4,"description":6,"metadata":52,"requires":56,"sources":61},{"type":53,"library":54,"library_version":55},"sub-skill","@tanstack\u002Ftable-core","9.0.0-beta.59",[57,58,59,60],"core","table-features","client-vs-server","column-filtering",[62,63,64],"TanStack\u002Ftable:docs\u002Fframework\u002Freact\u002Fguide\u002Fglobal-filtering.md","TanStack\u002Ftable:packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fglobal-filtering","TanStack\u002Ftable:examples\u002Freact\u002Ffilters",{"type":66,"children":67},"root",[68,104,111,390,396,541,546,552,564,575,586,591,602,613,623,633,638,648,658,668,678,683,693,699,720],{"type":69,"tag":70,"props":71,"children":72},"element","p",{},[73,76,82,84,89,90,95,97,102],{"type":74,"value":75},"text","This skill builds on ",{"type":69,"tag":77,"props":78,"children":80},"code",{"className":79},[],[81],{"type":74,"value":57},{"type":74,"value":83},", ",{"type":69,"tag":77,"props":85,"children":87},{"className":86},[],[88],{"type":74,"value":58},{"type":74,"value":83},{"type":69,"tag":77,"props":91,"children":93},{"className":92},[],[94],{"type":74,"value":59},{"type":74,"value":96},", and ",{"type":69,"tag":77,"props":98,"children":100},{"className":99},[],[101],{"type":74,"value":60},{"type":74,"value":103},". Global filtering reuses the column-filtering pipeline.",{"type":69,"tag":105,"props":106,"children":108},"h2",{"id":107},"setup",[109],{"type":74,"value":110},"Setup",{"type":69,"tag":112,"props":113,"children":118},"pre",{"className":114,"code":115,"language":116,"meta":117,"style":117},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import {\n  columnFilteringFeature,\n  createFilteredRowModel,\n  filterFn_includesString,\n  globalFilteringFeature,\n  tableFeatures,\n} from '@tanstack\u002Ftable-core'\n\nexport const features = tableFeatures({\n  columnFilteringFeature,\n  globalFilteringFeature,\n  filteredRowModel: createFilteredRowModel(),\n  filterFns: { includesString: filterFn_includesString },\n})\n","ts","",[119],{"type":69,"tag":77,"props":120,"children":121},{"__ignoreMap":117},[122,140,155,168,181,194,207,236,246,287,299,311,340,377],{"type":69,"tag":123,"props":124,"children":127},"span",{"class":125,"line":126},"line",1,[128,134],{"type":69,"tag":123,"props":129,"children":131},{"style":130},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[132],{"type":74,"value":133},"import",{"type":69,"tag":123,"props":135,"children":137},{"style":136},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[138],{"type":74,"value":139}," {\n",{"type":69,"tag":123,"props":141,"children":143},{"class":125,"line":142},2,[144,150],{"type":69,"tag":123,"props":145,"children":147},{"style":146},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[148],{"type":74,"value":149},"  columnFilteringFeature",{"type":69,"tag":123,"props":151,"children":152},{"style":136},[153],{"type":74,"value":154},",\n",{"type":69,"tag":123,"props":156,"children":158},{"class":125,"line":157},3,[159,164],{"type":69,"tag":123,"props":160,"children":161},{"style":146},[162],{"type":74,"value":163},"  createFilteredRowModel",{"type":69,"tag":123,"props":165,"children":166},{"style":136},[167],{"type":74,"value":154},{"type":69,"tag":123,"props":169,"children":171},{"class":125,"line":170},4,[172,177],{"type":69,"tag":123,"props":173,"children":174},{"style":146},[175],{"type":74,"value":176},"  filterFn_includesString",{"type":69,"tag":123,"props":178,"children":179},{"style":136},[180],{"type":74,"value":154},{"type":69,"tag":123,"props":182,"children":184},{"class":125,"line":183},5,[185,190],{"type":69,"tag":123,"props":186,"children":187},{"style":146},[188],{"type":74,"value":189},"  globalFilteringFeature",{"type":69,"tag":123,"props":191,"children":192},{"style":136},[193],{"type":74,"value":154},{"type":69,"tag":123,"props":195,"children":197},{"class":125,"line":196},6,[198,203],{"type":69,"tag":123,"props":199,"children":200},{"style":146},[201],{"type":74,"value":202},"  tableFeatures",{"type":69,"tag":123,"props":204,"children":205},{"style":136},[206],{"type":74,"value":154},{"type":69,"tag":123,"props":208,"children":210},{"class":125,"line":209},7,[211,216,221,226,231],{"type":69,"tag":123,"props":212,"children":213},{"style":136},[214],{"type":74,"value":215},"}",{"type":69,"tag":123,"props":217,"children":218},{"style":130},[219],{"type":74,"value":220}," from",{"type":69,"tag":123,"props":222,"children":223},{"style":136},[224],{"type":74,"value":225}," '",{"type":69,"tag":123,"props":227,"children":229},{"style":228},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[230],{"type":74,"value":54},{"type":69,"tag":123,"props":232,"children":233},{"style":136},[234],{"type":74,"value":235},"'\n",{"type":69,"tag":123,"props":237,"children":239},{"class":125,"line":238},8,[240],{"type":69,"tag":123,"props":241,"children":243},{"emptyLinePlaceholder":242},true,[244],{"type":74,"value":245},"\n",{"type":69,"tag":123,"props":247,"children":249},{"class":125,"line":248},9,[250,255,261,266,271,277,282],{"type":69,"tag":123,"props":251,"children":252},{"style":130},[253],{"type":74,"value":254},"export",{"type":69,"tag":123,"props":256,"children":258},{"style":257},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[259],{"type":74,"value":260}," const",{"type":69,"tag":123,"props":262,"children":263},{"style":146},[264],{"type":74,"value":265}," features ",{"type":69,"tag":123,"props":267,"children":268},{"style":136},[269],{"type":74,"value":270},"=",{"type":69,"tag":123,"props":272,"children":274},{"style":273},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[275],{"type":74,"value":276}," tableFeatures",{"type":69,"tag":123,"props":278,"children":279},{"style":146},[280],{"type":74,"value":281},"(",{"type":69,"tag":123,"props":283,"children":284},{"style":136},[285],{"type":74,"value":286},"{\n",{"type":69,"tag":123,"props":288,"children":290},{"class":125,"line":289},10,[291,295],{"type":69,"tag":123,"props":292,"children":293},{"style":146},[294],{"type":74,"value":149},{"type":69,"tag":123,"props":296,"children":297},{"style":136},[298],{"type":74,"value":154},{"type":69,"tag":123,"props":300,"children":302},{"class":125,"line":301},11,[303,307],{"type":69,"tag":123,"props":304,"children":305},{"style":146},[306],{"type":74,"value":189},{"type":69,"tag":123,"props":308,"children":309},{"style":136},[310],{"type":74,"value":154},{"type":69,"tag":123,"props":312,"children":314},{"class":125,"line":313},12,[315,321,326,331,336],{"type":69,"tag":123,"props":316,"children":318},{"style":317},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[319],{"type":74,"value":320},"  filteredRowModel",{"type":69,"tag":123,"props":322,"children":323},{"style":136},[324],{"type":74,"value":325},":",{"type":69,"tag":123,"props":327,"children":328},{"style":273},[329],{"type":74,"value":330}," createFilteredRowModel",{"type":69,"tag":123,"props":332,"children":333},{"style":146},[334],{"type":74,"value":335},"()",{"type":69,"tag":123,"props":337,"children":338},{"style":136},[339],{"type":74,"value":154},{"type":69,"tag":123,"props":341,"children":343},{"class":125,"line":342},13,[344,349,353,358,363,367,372],{"type":69,"tag":123,"props":345,"children":346},{"style":317},[347],{"type":74,"value":348},"  filterFns",{"type":69,"tag":123,"props":350,"children":351},{"style":136},[352],{"type":74,"value":325},{"type":69,"tag":123,"props":354,"children":355},{"style":136},[356],{"type":74,"value":357}," {",{"type":69,"tag":123,"props":359,"children":360},{"style":317},[361],{"type":74,"value":362}," includesString",{"type":69,"tag":123,"props":364,"children":365},{"style":136},[366],{"type":74,"value":325},{"type":69,"tag":123,"props":368,"children":369},{"style":146},[370],{"type":74,"value":371}," filterFn_includesString ",{"type":69,"tag":123,"props":373,"children":374},{"style":136},[375],{"type":74,"value":376},"},\n",{"type":69,"tag":123,"props":378,"children":380},{"class":125,"line":379},14,[381,385],{"type":69,"tag":123,"props":382,"children":383},{"style":136},[384],{"type":74,"value":215},{"type":69,"tag":123,"props":386,"children":387},{"style":146},[388],{"type":74,"value":389},")\n",{"type":69,"tag":105,"props":391,"children":393},{"id":392},"core-patterns",[394],{"type":74,"value":395},"Core Patterns",{"type":69,"tag":112,"props":397,"children":399},{"className":114,"code":398,"language":116,"meta":117,"style":117},"const options = {\n  globalFilterFn: 'includesString' as const,\n  getColumnCanGlobalFilter: (column) => column.id !== 'actions',\n}\n",[400],{"type":69,"tag":77,"props":401,"children":402},{"__ignoreMap":117},[403,424,463,533],{"type":69,"tag":123,"props":404,"children":405},{"class":125,"line":126},[406,411,416,420],{"type":69,"tag":123,"props":407,"children":408},{"style":257},[409],{"type":74,"value":410},"const",{"type":69,"tag":123,"props":412,"children":413},{"style":146},[414],{"type":74,"value":415}," options ",{"type":69,"tag":123,"props":417,"children":418},{"style":136},[419],{"type":74,"value":270},{"type":69,"tag":123,"props":421,"children":422},{"style":136},[423],{"type":74,"value":139},{"type":69,"tag":123,"props":425,"children":426},{"class":125,"line":142},[427,432,436,440,445,450,455,459],{"type":69,"tag":123,"props":428,"children":429},{"style":317},[430],{"type":74,"value":431},"  globalFilterFn",{"type":69,"tag":123,"props":433,"children":434},{"style":136},[435],{"type":74,"value":325},{"type":69,"tag":123,"props":437,"children":438},{"style":136},[439],{"type":74,"value":225},{"type":69,"tag":123,"props":441,"children":442},{"style":228},[443],{"type":74,"value":444},"includesString",{"type":69,"tag":123,"props":446,"children":447},{"style":136},[448],{"type":74,"value":449},"'",{"type":69,"tag":123,"props":451,"children":452},{"style":130},[453],{"type":74,"value":454}," as",{"type":69,"tag":123,"props":456,"children":457},{"style":257},[458],{"type":74,"value":260},{"type":69,"tag":123,"props":460,"children":461},{"style":136},[462],{"type":74,"value":154},{"type":69,"tag":123,"props":464,"children":465},{"class":125,"line":157},[466,471,475,480,486,491,496,501,506,511,516,520,525,529],{"type":69,"tag":123,"props":467,"children":468},{"style":273},[469],{"type":74,"value":470},"  getColumnCanGlobalFilter",{"type":69,"tag":123,"props":472,"children":473},{"style":136},[474],{"type":74,"value":325},{"type":69,"tag":123,"props":476,"children":477},{"style":136},[478],{"type":74,"value":479}," (",{"type":69,"tag":123,"props":481,"children":483},{"style":482},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[484],{"type":74,"value":485},"column",{"type":69,"tag":123,"props":487,"children":488},{"style":136},[489],{"type":74,"value":490},")",{"type":69,"tag":123,"props":492,"children":493},{"style":257},[494],{"type":74,"value":495}," =>",{"type":69,"tag":123,"props":497,"children":498},{"style":146},[499],{"type":74,"value":500}," column",{"type":69,"tag":123,"props":502,"children":503},{"style":136},[504],{"type":74,"value":505},".",{"type":69,"tag":123,"props":507,"children":508},{"style":146},[509],{"type":74,"value":510},"id ",{"type":69,"tag":123,"props":512,"children":513},{"style":136},[514],{"type":74,"value":515},"!==",{"type":69,"tag":123,"props":517,"children":518},{"style":136},[519],{"type":74,"value":225},{"type":69,"tag":123,"props":521,"children":522},{"style":228},[523],{"type":74,"value":524},"actions",{"type":69,"tag":123,"props":526,"children":527},{"style":136},[528],{"type":74,"value":449},{"type":69,"tag":123,"props":530,"children":531},{"style":136},[532],{"type":74,"value":154},{"type":69,"tag":123,"props":534,"children":535},{"class":125,"line":170},[536],{"type":69,"tag":123,"props":537,"children":538},{"style":136},[539],{"type":74,"value":540},"}\n",{"type":69,"tag":70,"props":542,"children":543},{},[544],{"type":74,"value":545},"Declare eligibility when product rules differ from default primitive-value detection.",{"type":69,"tag":105,"props":547,"children":549},{"id":548},"common-mistakes",[550],{"type":74,"value":551},"Common Mistakes",{"type":69,"tag":553,"props":554,"children":556},"h3",{"id":555},"critical-omitting-column-filter-prerequisite",[557,562],{"type":69,"tag":123,"props":558,"children":559},{},[560],{"type":74,"value":561},"CRITICAL",{"type":74,"value":563}," Omitting column-filter prerequisite",{"type":69,"tag":70,"props":565,"children":566},{},[567,569],{"type":74,"value":568},"Wrong: ",{"type":69,"tag":77,"props":570,"children":572},{"className":571},[],[573],{"type":74,"value":574},"tableFeatures({ globalFilteringFeature })",{"type":69,"tag":70,"props":576,"children":577},{},[578,580],{"type":74,"value":579},"Correct: ",{"type":69,"tag":77,"props":581,"children":583},{"className":582},[],[584],{"type":74,"value":585},"tableFeatures({ columnFilteringFeature, globalFilteringFeature, filteredRowModel: createFilteredRowModel() })",{"type":69,"tag":70,"props":587,"children":588},{},[589],{"type":74,"value":590},"Global filtering depends on column filtering and needs the filtered model for client processing.",{"type":69,"tag":70,"props":592,"children":593},{},[594,596],{"type":74,"value":595},"Source: ",{"type":69,"tag":77,"props":597,"children":599},{"className":598},[],[600],{"type":74,"value":601},"packages\u002Ftable-core\u002Fsrc\u002Ftypes\u002FTableFeatures.ts#FeatureSlotPrereqs",{"type":69,"tag":553,"props":603,"children":605},{"id":604},"high-assuming-every-column-participates",[606,611],{"type":69,"tag":123,"props":607,"children":608},{},[609],{"type":74,"value":610},"HIGH",{"type":74,"value":612}," Assuming every column participates",{"type":69,"tag":70,"props":614,"children":615},{},[616,617],{"type":74,"value":568},{"type":69,"tag":77,"props":618,"children":620},{"className":619},[],[621],{"type":74,"value":622},"const options = { globalFilterFn: 'includesString' }",{"type":69,"tag":70,"props":624,"children":625},{},[626,627],{"type":74,"value":579},{"type":69,"tag":77,"props":628,"children":630},{"className":629},[],[631],{"type":74,"value":632},"const options = { getColumnCanGlobalFilter: column => column.id !== 'actions' }",{"type":69,"tag":70,"props":634,"children":635},{},[636],{"type":74,"value":637},"Default eligibility uses the first core row and accepts string or number values.",{"type":69,"tag":70,"props":639,"children":640},{},[641,642],{"type":74,"value":595},{"type":69,"tag":77,"props":643,"children":645},{"className":644},[],[646],{"type":74,"value":647},"packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fglobal-filtering\u002FglobalFilteringFeature.ts",{"type":69,"tag":553,"props":649,"children":651},{"id":650},"high-keeping-manual-filter-local-only",[652,656],{"type":69,"tag":123,"props":653,"children":654},{},[655],{"type":74,"value":610},{"type":74,"value":657}," Keeping manual filter local only",{"type":69,"tag":70,"props":659,"children":660},{},[661,662],{"type":74,"value":568},{"type":69,"tag":77,"props":663,"children":665},{"className":664},[],[666],{"type":74,"value":667},"table.setGlobalFilter(search); const options = { manualFiltering: true }",{"type":69,"tag":70,"props":669,"children":670},{},[671,672],{"type":74,"value":579},{"type":69,"tag":77,"props":673,"children":675},{"className":674},[],[676],{"type":74,"value":677},"const page = await fetchRows({ search }); const options = { data: page.rows, manualFiltering: true }",{"type":69,"tag":70,"props":679,"children":680},{},[681],{"type":74,"value":682},"Manual filtering bypasses the client model, so the value must drive the server request.",{"type":69,"tag":70,"props":684,"children":685},{},[686,687],{"type":74,"value":595},{"type":69,"tag":77,"props":688,"children":690},{"className":689},[],[691],{"type":74,"value":692},"docs\u002Fframework\u002Freact\u002Fguide\u002Fglobal-filtering.md#manual-server-side-global-filtering",{"type":69,"tag":105,"props":694,"children":696},{"id":695},"api-discovery",[697],{"type":74,"value":698},"API Discovery",{"type":69,"tag":70,"props":700,"children":701},{},[702,704,710,712,718],{"type":74,"value":703},"Inspect ",{"type":69,"tag":77,"props":705,"children":707},{"className":706},[],[708],{"type":74,"value":709},"node_modules\u002F@tanstack\u002Ftable-core\u002Fdist\u002Ffeatures\u002Fglobal-filtering\u002F",{"type":74,"value":711}," plus ",{"type":69,"tag":77,"props":713,"children":715},{"className":714},[],[716],{"type":74,"value":717},"dist\u002Ffeatures\u002Fcolumn-filtering\u002F",{"type":74,"value":719}," for shared state and filter functions.",{"type":69,"tag":721,"props":722,"children":723},"style",{},[724],{"type":74,"value":725},"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":727,"total":807},[728,738,750,762,776,788,797],{"slug":729,"name":729,"fn":730,"description":731,"org":732,"tags":733,"stars":20,"repoUrl":21,"updatedAt":737},"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},[734,735,736],{"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":739,"name":739,"fn":740,"description":741,"org":742,"tags":743,"stars":20,"repoUrl":21,"updatedAt":749},"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},[744,747,748],{"name":745,"slug":746,"type":15},"Debugging","debugging",{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:26:05.418735",{"slug":751,"name":751,"fn":752,"description":753,"org":754,"tags":755,"stars":20,"repoUrl":21,"updatedAt":761},"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},[756,757,758],{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":759,"slug":760,"type":15},"UI Components","ui-components","2026-07-30T05:25:38.403427",{"slug":59,"name":59,"fn":763,"description":764,"org":765,"tags":766,"stars":20,"repoUrl":21,"updatedAt":775},"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},[767,770,771,774],{"name":768,"slug":769,"type":15},"Data Pipeline","data-pipeline",{"name":18,"slug":19,"type":15},{"name":772,"slug":773,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},"2026-07-30T05:25:45.400104",{"slug":777,"name":777,"fn":778,"description":779,"org":780,"tags":781,"stars":20,"repoUrl":21,"updatedAt":787},"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},[782,785,786],{"name":783,"slug":784,"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":60,"name":60,"fn":789,"description":790,"org":791,"tags":792,"stars":20,"repoUrl":21,"updatedAt":796},"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},[793,794,795],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:53.391632",{"slug":798,"name":798,"fn":799,"description":800,"org":801,"tags":802,"stars":20,"repoUrl":21,"updatedAt":806},"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},[803,804,805],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":759,"slug":760,"type":15},"2026-07-30T05:26:03.37801",30,{"items":809,"total":906},[810,816,822,828,835,841,847,853,866,876,887,897],{"slug":729,"name":729,"fn":730,"description":731,"org":811,"tags":812,"stars":20,"repoUrl":21,"updatedAt":737},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[813,814,815],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":739,"name":739,"fn":740,"description":741,"org":817,"tags":818,"stars":20,"repoUrl":21,"updatedAt":749},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[819,820,821],{"name":745,"slug":746,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":751,"name":751,"fn":752,"description":753,"org":823,"tags":824,"stars":20,"repoUrl":21,"updatedAt":761},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[825,826,827],{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":759,"slug":760,"type":15},{"slug":59,"name":59,"fn":763,"description":764,"org":829,"tags":830,"stars":20,"repoUrl":21,"updatedAt":775},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[831,832,833,834],{"name":768,"slug":769,"type":15},{"name":18,"slug":19,"type":15},{"name":772,"slug":773,"type":15},{"name":9,"slug":8,"type":15},{"slug":777,"name":777,"fn":778,"description":779,"org":836,"tags":837,"stars":20,"repoUrl":21,"updatedAt":787},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[838,839,840],{"name":783,"slug":784,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":60,"name":60,"fn":789,"description":790,"org":842,"tags":843,"stars":20,"repoUrl":21,"updatedAt":796},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[844,845,846],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":798,"name":798,"fn":799,"description":800,"org":848,"tags":849,"stars":20,"repoUrl":21,"updatedAt":806},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[850,851,852],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":759,"slug":760,"type":15},{"slug":854,"name":854,"fn":855,"description":856,"org":857,"tags":858,"stars":20,"repoUrl":21,"updatedAt":865},"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},[859,862,863,864],{"name":860,"slug":861,"type":15},"CSS","css",{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":759,"slug":760,"type":15},"2026-07-30T05:25:55.377366",{"slug":867,"name":867,"fn":868,"description":869,"org":870,"tags":871,"stars":20,"repoUrl":21,"updatedAt":875},"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},[872,873,874],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":759,"slug":760,"type":15},"2026-07-30T05:25:51.400011",{"slug":877,"name":877,"fn":878,"description":879,"org":880,"tags":881,"stars":20,"repoUrl":21,"updatedAt":886},"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},[882,883,884,885],{"name":860,"slug":861,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":759,"slug":760,"type":15},"2026-07-30T05:25:48.703799",{"slug":888,"name":888,"fn":889,"description":890,"org":891,"tags":892,"stars":20,"repoUrl":21,"updatedAt":896},"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},[893,894,895],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":759,"slug":760,"type":15},"2026-07-30T05:25:47.367943",{"slug":57,"name":57,"fn":898,"description":899,"org":900,"tags":901,"stars":20,"repoUrl":21,"updatedAt":905},"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},[902,903,904],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":759,"slug":760,"type":15},"2026-07-30T05:25:52.366295",125]