[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tanstack-fuzzy-ranking":3,"mdc-cu6rby-key":50,"related-repo-tanstack-fuzzy-ranking":1185,"related-org-tanstack-fuzzy-ranking":1271},{"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},"fuzzy-ranking","rank and filter fuzzy matches","Rank fuzzy matches with rankItem, filter with RankingInfo.passed, compare saved ranking metadata with compareItems, and configure rankings, thresholds, accessors, min\u002Fmax bounds, or diacritics. Load for @tanstack\u002Fmatch-sorter-utils itself or fuzzy Table filterMeta wiring.\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],{"name":13,"slug":14,"type":15},"Data Analysis","data-analysis","tag",{"name":17,"slug":18,"type":15},"Search","search",{"name":9,"slug":8,"type":15},28175,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Ftable","2026-07-20T05:56:07.274755",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\u002Fmatch-sorter-utils\u002Fskills\u002Ffuzzy-ranking","---\nname: fuzzy-ranking\ndescription: >\n  Rank fuzzy matches with rankItem, filter with RankingInfo.passed, compare saved ranking metadata with compareItems, and configure rankings, thresholds, accessors, min\u002Fmax bounds, or diacritics. Load for @tanstack\u002Fmatch-sorter-utils itself or fuzzy Table filterMeta wiring.\nmetadata:\n  type: core\n  library: '@tanstack\u002Fmatch-sorter-utils'\n  library_version: '9.0.0-beta.53'\nsources:\n  - 'TanStack\u002Ftable:packages\u002Fmatch-sorter-utils\u002Fsrc\u002Findex.ts'\n  - 'TanStack\u002Ftable:docs\u002Fframework\u002Freact\u002Fguide\u002Ffuzzy-filtering.md'\n  - 'TanStack\u002Ftable:examples\u002Freact\u002Ffilters-fuzzy'\n---\n\n## Setup\n\n\u003C!-- skill-snippet:check -->\n\n```ts\nimport { compareItems, rankItem, rankings } from '@tanstack\u002Fmatch-sorter-utils'\n\nconst query = 'tan'\nconst values = ['table', 'tanner', 'router']\nexport const ranked = values\n  .map((value) => ({\n    value,\n    info: rankItem(value, query, { threshold: rankings.MATCHES }),\n  }))\n  .filter((entry) => entry.info.passed)\n  .sort((a, b) => compareItems(a.info, b.info))\n```\n\n## Core Patterns\n\n### Separate ranking, filtering, and sorting\n\nCall `rankItem` once, filter on `info.passed`, retain the `RankingInfo`, then order matching results with `compareItems`.\n\n### Rank object fields through accessors\n\n```ts\ntype Person = { name: string; email: string }\nconst person: Person = { name: 'Ada Lovelace', email: 'ada@example.test' }\nconst info = rankItem(person, 'lov', {\n  accessors: [(item) => item.name, (item) => item.email],\n})\n```\n\nAccessor options can set a per-accessor threshold plus minRanking\u002FmaxRanking bounds.\n\n### Store ranking as Table filter metadata\n\nIn a Table filterFn, call `addMeta?.({ itemRank })`. Register the corresponding\nmeta shape with `filterMeta: metaHelper\u003C{ itemRank: RankingInfo }>()`. A related\nsortFn reads `row.columnFiltersMeta[columnId]?.itemRank` and uses `compareItems`,\nfalling back to an ordinary comparator for ties or absent metadata. For the\nprimary Table composition, load `@tanstack\u002Ftable-core#global-filtering` and\nregister the fuzzy filter under `filterFns` for `globalFilterFn: 'fuzzy'`.\n\n## Common Mistakes\n\n### HIGH Numeric rank used as pass flag\n\nWrong: `if (rankItem(value, query).rank) include(value)`.\n\nCorrect: test `rankItem(value, query).passed`.\n\nRanks below the configured threshold can still be nonzero; `passed` records the threshold decision.\n\nSource: TanStack\u002Ftable:packages\u002Fmatch-sorter-utils\u002Fsrc\u002Findex.ts\n\n### HIGH Ranking recomputed during sorting\n\nWrong: call `rankItem` for both rows on every comparator invocation.\n\nCorrect: retain RankingInfo during filtering and pass the stored values to `compareItems`.\n\nSorting is called many times; recomputing also risks using different query\u002Foptions than the filter decision.\n\nSource: TanStack\u002Ftable:docs\u002Fframework\u002Freact\u002Fguide\u002Ffuzzy-filtering.md\n\n### MEDIUM compareItems direction reversed twice\n\nWrong: negate `compareItems(a, b)` because a larger rank should appear first.\n\nCorrect: use `compareItems(a, b)` directly for ascending fuzzy relevance.\n\nThe function already returns -1 when `a.rank` is greater than `b.rank`.\n\nSource: TanStack\u002Ftable:packages\u002Fmatch-sorter-utils\u002Fsrc\u002Findex.ts\n\n## API Discovery\n\nInspect `node_modules\u002F@tanstack\u002Fmatch-sorter-utils\u002Fdist\u002Findex.d.ts` for the installed `RankItemOptions`, accessor attributes, ranking constants, and comparator behavior. For TanStack Table metadata integration, load the global-filtering and sorting skills.\n",{"data":51,"body":60},{"name":4,"description":6,"metadata":52,"sources":56},{"type":53,"library":54,"library_version":55},"core","@tanstack\u002Fmatch-sorter-utils","9.0.0-beta.53",[57,58,59],"TanStack\u002Ftable:packages\u002Fmatch-sorter-utils\u002Fsrc\u002Findex.ts","TanStack\u002Ftable:docs\u002Fframework\u002Freact\u002Fguide\u002Ffuzzy-filtering.md","TanStack\u002Ftable:examples\u002Freact\u002Ffilters-fuzzy",{"type":61,"children":62},"root",[63,72,586,592,599,636,642,934,939,945,1004,1010,1016,1028,1040,1053,1058,1064,1076,1087,1092,1097,1103,1116,1128,1148,1152,1158,1179],{"type":64,"tag":65,"props":66,"children":68},"element","h2",{"id":67},"setup",[69],{"type":70,"value":71},"text","Setup",{"type":64,"tag":73,"props":74,"children":79},"pre",{"className":75,"code":76,"language":77,"meta":78,"style":78},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { compareItems, rankItem, rankings } from '@tanstack\u002Fmatch-sorter-utils'\n\nconst query = 'tan'\nconst values = ['table', 'tanner', 'router']\nexport const ranked = values\n  .map((value) => ({\n    value,\n    info: rankItem(value, query, { threshold: rankings.MATCHES }),\n  }))\n  .filter((entry) => entry.info.passed)\n  .sort((a, b) => compareItems(a.info, b.info))\n","ts","",[80],{"type":64,"tag":81,"props":82,"children":83},"code",{"__ignoreMap":78},[84,152,162,195,269,297,347,361,438,452,509],{"type":64,"tag":85,"props":86,"children":89},"span",{"class":87,"line":88},"line",1,[90,96,102,108,113,118,122,127,132,137,142,147],{"type":64,"tag":85,"props":91,"children":93},{"style":92},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[94],{"type":70,"value":95},"import",{"type":64,"tag":85,"props":97,"children":99},{"style":98},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[100],{"type":70,"value":101}," {",{"type":64,"tag":85,"props":103,"children":105},{"style":104},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[106],{"type":70,"value":107}," compareItems",{"type":64,"tag":85,"props":109,"children":110},{"style":98},[111],{"type":70,"value":112},",",{"type":64,"tag":85,"props":114,"children":115},{"style":104},[116],{"type":70,"value":117}," rankItem",{"type":64,"tag":85,"props":119,"children":120},{"style":98},[121],{"type":70,"value":112},{"type":64,"tag":85,"props":123,"children":124},{"style":104},[125],{"type":70,"value":126}," rankings",{"type":64,"tag":85,"props":128,"children":129},{"style":98},[130],{"type":70,"value":131}," }",{"type":64,"tag":85,"props":133,"children":134},{"style":92},[135],{"type":70,"value":136}," from",{"type":64,"tag":85,"props":138,"children":139},{"style":98},[140],{"type":70,"value":141}," '",{"type":64,"tag":85,"props":143,"children":145},{"style":144},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[146],{"type":70,"value":54},{"type":64,"tag":85,"props":148,"children":149},{"style":98},[150],{"type":70,"value":151},"'\n",{"type":64,"tag":85,"props":153,"children":155},{"class":87,"line":154},2,[156],{"type":64,"tag":85,"props":157,"children":159},{"emptyLinePlaceholder":158},true,[160],{"type":70,"value":161},"\n",{"type":64,"tag":85,"props":163,"children":165},{"class":87,"line":164},3,[166,172,177,182,186,191],{"type":64,"tag":85,"props":167,"children":169},{"style":168},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[170],{"type":70,"value":171},"const",{"type":64,"tag":85,"props":173,"children":174},{"style":104},[175],{"type":70,"value":176}," query ",{"type":64,"tag":85,"props":178,"children":179},{"style":98},[180],{"type":70,"value":181},"=",{"type":64,"tag":85,"props":183,"children":184},{"style":98},[185],{"type":70,"value":141},{"type":64,"tag":85,"props":187,"children":188},{"style":144},[189],{"type":70,"value":190},"tan",{"type":64,"tag":85,"props":192,"children":193},{"style":98},[194],{"type":70,"value":151},{"type":64,"tag":85,"props":196,"children":198},{"class":87,"line":197},4,[199,203,208,212,217,222,226,230,234,238,243,247,251,255,260,264],{"type":64,"tag":85,"props":200,"children":201},{"style":168},[202],{"type":70,"value":171},{"type":64,"tag":85,"props":204,"children":205},{"style":104},[206],{"type":70,"value":207}," values ",{"type":64,"tag":85,"props":209,"children":210},{"style":98},[211],{"type":70,"value":181},{"type":64,"tag":85,"props":213,"children":214},{"style":104},[215],{"type":70,"value":216}," [",{"type":64,"tag":85,"props":218,"children":219},{"style":98},[220],{"type":70,"value":221},"'",{"type":64,"tag":85,"props":223,"children":224},{"style":144},[225],{"type":70,"value":42},{"type":64,"tag":85,"props":227,"children":228},{"style":98},[229],{"type":70,"value":221},{"type":64,"tag":85,"props":231,"children":232},{"style":98},[233],{"type":70,"value":112},{"type":64,"tag":85,"props":235,"children":236},{"style":98},[237],{"type":70,"value":141},{"type":64,"tag":85,"props":239,"children":240},{"style":144},[241],{"type":70,"value":242},"tanner",{"type":64,"tag":85,"props":244,"children":245},{"style":98},[246],{"type":70,"value":221},{"type":64,"tag":85,"props":248,"children":249},{"style":98},[250],{"type":70,"value":112},{"type":64,"tag":85,"props":252,"children":253},{"style":98},[254],{"type":70,"value":141},{"type":64,"tag":85,"props":256,"children":257},{"style":144},[258],{"type":70,"value":259},"router",{"type":64,"tag":85,"props":261,"children":262},{"style":98},[263],{"type":70,"value":221},{"type":64,"tag":85,"props":265,"children":266},{"style":104},[267],{"type":70,"value":268},"]\n",{"type":64,"tag":85,"props":270,"children":272},{"class":87,"line":271},5,[273,278,283,288,292],{"type":64,"tag":85,"props":274,"children":275},{"style":92},[276],{"type":70,"value":277},"export",{"type":64,"tag":85,"props":279,"children":280},{"style":168},[281],{"type":70,"value":282}," const",{"type":64,"tag":85,"props":284,"children":285},{"style":104},[286],{"type":70,"value":287}," ranked ",{"type":64,"tag":85,"props":289,"children":290},{"style":98},[291],{"type":70,"value":181},{"type":64,"tag":85,"props":293,"children":294},{"style":104},[295],{"type":70,"value":296}," values\n",{"type":64,"tag":85,"props":298,"children":300},{"class":87,"line":299},6,[301,306,312,317,321,327,332,337,342],{"type":64,"tag":85,"props":302,"children":303},{"style":98},[304],{"type":70,"value":305},"  .",{"type":64,"tag":85,"props":307,"children":309},{"style":308},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[310],{"type":70,"value":311},"map",{"type":64,"tag":85,"props":313,"children":314},{"style":104},[315],{"type":70,"value":316},"(",{"type":64,"tag":85,"props":318,"children":319},{"style":98},[320],{"type":70,"value":316},{"type":64,"tag":85,"props":322,"children":324},{"style":323},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[325],{"type":70,"value":326},"value",{"type":64,"tag":85,"props":328,"children":329},{"style":98},[330],{"type":70,"value":331},")",{"type":64,"tag":85,"props":333,"children":334},{"style":168},[335],{"type":70,"value":336}," =>",{"type":64,"tag":85,"props":338,"children":339},{"style":104},[340],{"type":70,"value":341}," (",{"type":64,"tag":85,"props":343,"children":344},{"style":98},[345],{"type":70,"value":346},"{\n",{"type":64,"tag":85,"props":348,"children":350},{"class":87,"line":349},7,[351,356],{"type":64,"tag":85,"props":352,"children":353},{"style":104},[354],{"type":70,"value":355},"    value",{"type":64,"tag":85,"props":357,"children":358},{"style":98},[359],{"type":70,"value":360},",\n",{"type":64,"tag":85,"props":362,"children":364},{"class":87,"line":363},8,[365,371,376,380,385,389,394,398,402,407,411,415,420,425,430,434],{"type":64,"tag":85,"props":366,"children":368},{"style":367},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[369],{"type":70,"value":370},"    info",{"type":64,"tag":85,"props":372,"children":373},{"style":98},[374],{"type":70,"value":375},":",{"type":64,"tag":85,"props":377,"children":378},{"style":308},[379],{"type":70,"value":117},{"type":64,"tag":85,"props":381,"children":382},{"style":104},[383],{"type":70,"value":384},"(value",{"type":64,"tag":85,"props":386,"children":387},{"style":98},[388],{"type":70,"value":112},{"type":64,"tag":85,"props":390,"children":391},{"style":104},[392],{"type":70,"value":393}," query",{"type":64,"tag":85,"props":395,"children":396},{"style":98},[397],{"type":70,"value":112},{"type":64,"tag":85,"props":399,"children":400},{"style":98},[401],{"type":70,"value":101},{"type":64,"tag":85,"props":403,"children":404},{"style":367},[405],{"type":70,"value":406}," threshold",{"type":64,"tag":85,"props":408,"children":409},{"style":98},[410],{"type":70,"value":375},{"type":64,"tag":85,"props":412,"children":413},{"style":104},[414],{"type":70,"value":126},{"type":64,"tag":85,"props":416,"children":417},{"style":98},[418],{"type":70,"value":419},".",{"type":64,"tag":85,"props":421,"children":422},{"style":104},[423],{"type":70,"value":424},"MATCHES ",{"type":64,"tag":85,"props":426,"children":427},{"style":98},[428],{"type":70,"value":429},"}",{"type":64,"tag":85,"props":431,"children":432},{"style":104},[433],{"type":70,"value":331},{"type":64,"tag":85,"props":435,"children":436},{"style":98},[437],{"type":70,"value":360},{"type":64,"tag":85,"props":439,"children":441},{"class":87,"line":440},9,[442,447],{"type":64,"tag":85,"props":443,"children":444},{"style":98},[445],{"type":70,"value":446},"  }",{"type":64,"tag":85,"props":448,"children":449},{"style":104},[450],{"type":70,"value":451},"))\n",{"type":64,"tag":85,"props":453,"children":455},{"class":87,"line":454},10,[456,460,465,469,473,478,482,486,491,495,500,504],{"type":64,"tag":85,"props":457,"children":458},{"style":98},[459],{"type":70,"value":305},{"type":64,"tag":85,"props":461,"children":462},{"style":308},[463],{"type":70,"value":464},"filter",{"type":64,"tag":85,"props":466,"children":467},{"style":104},[468],{"type":70,"value":316},{"type":64,"tag":85,"props":470,"children":471},{"style":98},[472],{"type":70,"value":316},{"type":64,"tag":85,"props":474,"children":475},{"style":323},[476],{"type":70,"value":477},"entry",{"type":64,"tag":85,"props":479,"children":480},{"style":98},[481],{"type":70,"value":331},{"type":64,"tag":85,"props":483,"children":484},{"style":168},[485],{"type":70,"value":336},{"type":64,"tag":85,"props":487,"children":488},{"style":104},[489],{"type":70,"value":490}," entry",{"type":64,"tag":85,"props":492,"children":493},{"style":98},[494],{"type":70,"value":419},{"type":64,"tag":85,"props":496,"children":497},{"style":104},[498],{"type":70,"value":499},"info",{"type":64,"tag":85,"props":501,"children":502},{"style":98},[503],{"type":70,"value":419},{"type":64,"tag":85,"props":505,"children":506},{"style":104},[507],{"type":70,"value":508},"passed)\n",{"type":64,"tag":85,"props":510,"children":512},{"class":87,"line":511},11,[513,517,522,526,530,535,539,544,548,552,556,561,565,569,573,577,581],{"type":64,"tag":85,"props":514,"children":515},{"style":98},[516],{"type":70,"value":305},{"type":64,"tag":85,"props":518,"children":519},{"style":308},[520],{"type":70,"value":521},"sort",{"type":64,"tag":85,"props":523,"children":524},{"style":104},[525],{"type":70,"value":316},{"type":64,"tag":85,"props":527,"children":528},{"style":98},[529],{"type":70,"value":316},{"type":64,"tag":85,"props":531,"children":532},{"style":323},[533],{"type":70,"value":534},"a",{"type":64,"tag":85,"props":536,"children":537},{"style":98},[538],{"type":70,"value":112},{"type":64,"tag":85,"props":540,"children":541},{"style":323},[542],{"type":70,"value":543}," b",{"type":64,"tag":85,"props":545,"children":546},{"style":98},[547],{"type":70,"value":331},{"type":64,"tag":85,"props":549,"children":550},{"style":168},[551],{"type":70,"value":336},{"type":64,"tag":85,"props":553,"children":554},{"style":308},[555],{"type":70,"value":107},{"type":64,"tag":85,"props":557,"children":558},{"style":104},[559],{"type":70,"value":560},"(a",{"type":64,"tag":85,"props":562,"children":563},{"style":98},[564],{"type":70,"value":419},{"type":64,"tag":85,"props":566,"children":567},{"style":104},[568],{"type":70,"value":499},{"type":64,"tag":85,"props":570,"children":571},{"style":98},[572],{"type":70,"value":112},{"type":64,"tag":85,"props":574,"children":575},{"style":104},[576],{"type":70,"value":543},{"type":64,"tag":85,"props":578,"children":579},{"style":98},[580],{"type":70,"value":419},{"type":64,"tag":85,"props":582,"children":583},{"style":104},[584],{"type":70,"value":585},"info))\n",{"type":64,"tag":65,"props":587,"children":589},{"id":588},"core-patterns",[590],{"type":70,"value":591},"Core Patterns",{"type":64,"tag":593,"props":594,"children":596},"h3",{"id":595},"separate-ranking-filtering-and-sorting",[597],{"type":70,"value":598},"Separate ranking, filtering, and sorting",{"type":64,"tag":600,"props":601,"children":602},"p",{},[603,605,611,613,619,621,627,629,635],{"type":70,"value":604},"Call ",{"type":64,"tag":81,"props":606,"children":608},{"className":607},[],[609],{"type":70,"value":610},"rankItem",{"type":70,"value":612}," once, filter on ",{"type":64,"tag":81,"props":614,"children":616},{"className":615},[],[617],{"type":70,"value":618},"info.passed",{"type":70,"value":620},", retain the ",{"type":64,"tag":81,"props":622,"children":624},{"className":623},[],[625],{"type":70,"value":626},"RankingInfo",{"type":70,"value":628},", then order matching results with ",{"type":64,"tag":81,"props":630,"children":632},{"className":631},[],[633],{"type":70,"value":634},"compareItems",{"type":70,"value":419},{"type":64,"tag":593,"props":637,"children":639},{"id":638},"rank-object-fields-through-accessors",[640],{"type":70,"value":641},"Rank object fields through accessors",{"type":64,"tag":73,"props":643,"children":645},{"className":75,"code":644,"language":77,"meta":78,"style":78},"type Person = { name: string; email: string }\nconst person: Person = { name: 'Ada Lovelace', email: 'ada@example.test' }\nconst info = rankItem(person, 'lov', {\n  accessors: [(item) => item.name, (item) => item.email],\n})\n",[646],{"type":64,"tag":81,"props":647,"children":648},{"__ignoreMap":78},[649,709,787,838,922],{"type":64,"tag":85,"props":650,"children":651},{"class":87,"line":88},[652,657,663,668,672,677,681,686,691,696,700,704],{"type":64,"tag":85,"props":653,"children":654},{"style":168},[655],{"type":70,"value":656},"type",{"type":64,"tag":85,"props":658,"children":660},{"style":659},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[661],{"type":70,"value":662}," Person",{"type":64,"tag":85,"props":664,"children":665},{"style":98},[666],{"type":70,"value":667}," =",{"type":64,"tag":85,"props":669,"children":670},{"style":98},[671],{"type":70,"value":101},{"type":64,"tag":85,"props":673,"children":674},{"style":367},[675],{"type":70,"value":676}," name",{"type":64,"tag":85,"props":678,"children":679},{"style":98},[680],{"type":70,"value":375},{"type":64,"tag":85,"props":682,"children":683},{"style":659},[684],{"type":70,"value":685}," string",{"type":64,"tag":85,"props":687,"children":688},{"style":98},[689],{"type":70,"value":690},";",{"type":64,"tag":85,"props":692,"children":693},{"style":367},[694],{"type":70,"value":695}," email",{"type":64,"tag":85,"props":697,"children":698},{"style":98},[699],{"type":70,"value":375},{"type":64,"tag":85,"props":701,"children":702},{"style":659},[703],{"type":70,"value":685},{"type":64,"tag":85,"props":705,"children":706},{"style":98},[707],{"type":70,"value":708}," }\n",{"type":64,"tag":85,"props":710,"children":711},{"class":87,"line":154},[712,716,721,725,729,733,737,741,745,749,754,758,762,766,770,774,779,783],{"type":64,"tag":85,"props":713,"children":714},{"style":168},[715],{"type":70,"value":171},{"type":64,"tag":85,"props":717,"children":718},{"style":104},[719],{"type":70,"value":720}," person",{"type":64,"tag":85,"props":722,"children":723},{"style":98},[724],{"type":70,"value":375},{"type":64,"tag":85,"props":726,"children":727},{"style":659},[728],{"type":70,"value":662},{"type":64,"tag":85,"props":730,"children":731},{"style":98},[732],{"type":70,"value":667},{"type":64,"tag":85,"props":734,"children":735},{"style":98},[736],{"type":70,"value":101},{"type":64,"tag":85,"props":738,"children":739},{"style":367},[740],{"type":70,"value":676},{"type":64,"tag":85,"props":742,"children":743},{"style":98},[744],{"type":70,"value":375},{"type":64,"tag":85,"props":746,"children":747},{"style":98},[748],{"type":70,"value":141},{"type":64,"tag":85,"props":750,"children":751},{"style":144},[752],{"type":70,"value":753},"Ada Lovelace",{"type":64,"tag":85,"props":755,"children":756},{"style":98},[757],{"type":70,"value":221},{"type":64,"tag":85,"props":759,"children":760},{"style":98},[761],{"type":70,"value":112},{"type":64,"tag":85,"props":763,"children":764},{"style":367},[765],{"type":70,"value":695},{"type":64,"tag":85,"props":767,"children":768},{"style":98},[769],{"type":70,"value":375},{"type":64,"tag":85,"props":771,"children":772},{"style":98},[773],{"type":70,"value":141},{"type":64,"tag":85,"props":775,"children":776},{"style":144},[777],{"type":70,"value":778},"ada@example.test",{"type":64,"tag":85,"props":780,"children":781},{"style":98},[782],{"type":70,"value":221},{"type":64,"tag":85,"props":784,"children":785},{"style":98},[786],{"type":70,"value":708},{"type":64,"tag":85,"props":788,"children":789},{"class":87,"line":164},[790,794,799,803,807,812,816,820,825,829,833],{"type":64,"tag":85,"props":791,"children":792},{"style":168},[793],{"type":70,"value":171},{"type":64,"tag":85,"props":795,"children":796},{"style":104},[797],{"type":70,"value":798}," info ",{"type":64,"tag":85,"props":800,"children":801},{"style":98},[802],{"type":70,"value":181},{"type":64,"tag":85,"props":804,"children":805},{"style":308},[806],{"type":70,"value":117},{"type":64,"tag":85,"props":808,"children":809},{"style":104},[810],{"type":70,"value":811},"(person",{"type":64,"tag":85,"props":813,"children":814},{"style":98},[815],{"type":70,"value":112},{"type":64,"tag":85,"props":817,"children":818},{"style":98},[819],{"type":70,"value":141},{"type":64,"tag":85,"props":821,"children":822},{"style":144},[823],{"type":70,"value":824},"lov",{"type":64,"tag":85,"props":826,"children":827},{"style":98},[828],{"type":70,"value":221},{"type":64,"tag":85,"props":830,"children":831},{"style":98},[832],{"type":70,"value":112},{"type":64,"tag":85,"props":834,"children":835},{"style":98},[836],{"type":70,"value":837}," {\n",{"type":64,"tag":85,"props":839,"children":840},{"class":87,"line":197},[841,846,850,854,858,863,867,871,876,880,885,889,893,897,901,905,909,913,918],{"type":64,"tag":85,"props":842,"children":843},{"style":367},[844],{"type":70,"value":845},"  accessors",{"type":64,"tag":85,"props":847,"children":848},{"style":98},[849],{"type":70,"value":375},{"type":64,"tag":85,"props":851,"children":852},{"style":104},[853],{"type":70,"value":216},{"type":64,"tag":85,"props":855,"children":856},{"style":98},[857],{"type":70,"value":316},{"type":64,"tag":85,"props":859,"children":860},{"style":323},[861],{"type":70,"value":862},"item",{"type":64,"tag":85,"props":864,"children":865},{"style":98},[866],{"type":70,"value":331},{"type":64,"tag":85,"props":868,"children":869},{"style":168},[870],{"type":70,"value":336},{"type":64,"tag":85,"props":872,"children":873},{"style":104},[874],{"type":70,"value":875}," item",{"type":64,"tag":85,"props":877,"children":878},{"style":98},[879],{"type":70,"value":419},{"type":64,"tag":85,"props":881,"children":882},{"style":104},[883],{"type":70,"value":884},"name",{"type":64,"tag":85,"props":886,"children":887},{"style":98},[888],{"type":70,"value":112},{"type":64,"tag":85,"props":890,"children":891},{"style":98},[892],{"type":70,"value":341},{"type":64,"tag":85,"props":894,"children":895},{"style":323},[896],{"type":70,"value":862},{"type":64,"tag":85,"props":898,"children":899},{"style":98},[900],{"type":70,"value":331},{"type":64,"tag":85,"props":902,"children":903},{"style":168},[904],{"type":70,"value":336},{"type":64,"tag":85,"props":906,"children":907},{"style":104},[908],{"type":70,"value":875},{"type":64,"tag":85,"props":910,"children":911},{"style":98},[912],{"type":70,"value":419},{"type":64,"tag":85,"props":914,"children":915},{"style":104},[916],{"type":70,"value":917},"email]",{"type":64,"tag":85,"props":919,"children":920},{"style":98},[921],{"type":70,"value":360},{"type":64,"tag":85,"props":923,"children":924},{"class":87,"line":271},[925,929],{"type":64,"tag":85,"props":926,"children":927},{"style":98},[928],{"type":70,"value":429},{"type":64,"tag":85,"props":930,"children":931},{"style":104},[932],{"type":70,"value":933},")\n",{"type":64,"tag":600,"props":935,"children":936},{},[937],{"type":70,"value":938},"Accessor options can set a per-accessor threshold plus minRanking\u002FmaxRanking bounds.",{"type":64,"tag":593,"props":940,"children":942},{"id":941},"store-ranking-as-table-filter-metadata",[943],{"type":70,"value":944},"Store ranking as Table filter metadata",{"type":64,"tag":600,"props":946,"children":947},{},[948,950,956,958,964,966,972,974,979,981,987,989,995,997,1003],{"type":70,"value":949},"In a Table filterFn, call ",{"type":64,"tag":81,"props":951,"children":953},{"className":952},[],[954],{"type":70,"value":955},"addMeta?.({ itemRank })",{"type":70,"value":957},". Register the corresponding\nmeta shape with ",{"type":64,"tag":81,"props":959,"children":961},{"className":960},[],[962],{"type":70,"value":963},"filterMeta: metaHelper\u003C{ itemRank: RankingInfo }>()",{"type":70,"value":965},". A related\nsortFn reads ",{"type":64,"tag":81,"props":967,"children":969},{"className":968},[],[970],{"type":70,"value":971},"row.columnFiltersMeta[columnId]?.itemRank",{"type":70,"value":973}," and uses ",{"type":64,"tag":81,"props":975,"children":977},{"className":976},[],[978],{"type":70,"value":634},{"type":70,"value":980},",\nfalling back to an ordinary comparator for ties or absent metadata. For the\nprimary Table composition, load ",{"type":64,"tag":81,"props":982,"children":984},{"className":983},[],[985],{"type":70,"value":986},"@tanstack\u002Ftable-core#global-filtering",{"type":70,"value":988}," and\nregister the fuzzy filter under ",{"type":64,"tag":81,"props":990,"children":992},{"className":991},[],[993],{"type":70,"value":994},"filterFns",{"type":70,"value":996}," for ",{"type":64,"tag":81,"props":998,"children":1000},{"className":999},[],[1001],{"type":70,"value":1002},"globalFilterFn: 'fuzzy'",{"type":70,"value":419},{"type":64,"tag":65,"props":1005,"children":1007},{"id":1006},"common-mistakes",[1008],{"type":70,"value":1009},"Common Mistakes",{"type":64,"tag":593,"props":1011,"children":1013},{"id":1012},"high-numeric-rank-used-as-pass-flag",[1014],{"type":70,"value":1015},"HIGH Numeric rank used as pass flag",{"type":64,"tag":600,"props":1017,"children":1018},{},[1019,1021,1027],{"type":70,"value":1020},"Wrong: ",{"type":64,"tag":81,"props":1022,"children":1024},{"className":1023},[],[1025],{"type":70,"value":1026},"if (rankItem(value, query).rank) include(value)",{"type":70,"value":419},{"type":64,"tag":600,"props":1029,"children":1030},{},[1031,1033,1039],{"type":70,"value":1032},"Correct: test ",{"type":64,"tag":81,"props":1034,"children":1036},{"className":1035},[],[1037],{"type":70,"value":1038},"rankItem(value, query).passed",{"type":70,"value":419},{"type":64,"tag":600,"props":1041,"children":1042},{},[1043,1045,1051],{"type":70,"value":1044},"Ranks below the configured threshold can still be nonzero; ",{"type":64,"tag":81,"props":1046,"children":1048},{"className":1047},[],[1049],{"type":70,"value":1050},"passed",{"type":70,"value":1052}," records the threshold decision.",{"type":64,"tag":600,"props":1054,"children":1055},{},[1056],{"type":70,"value":1057},"Source: TanStack\u002Ftable:packages\u002Fmatch-sorter-utils\u002Fsrc\u002Findex.ts",{"type":64,"tag":593,"props":1059,"children":1061},{"id":1060},"high-ranking-recomputed-during-sorting",[1062],{"type":70,"value":1063},"HIGH Ranking recomputed during sorting",{"type":64,"tag":600,"props":1065,"children":1066},{},[1067,1069,1074],{"type":70,"value":1068},"Wrong: call ",{"type":64,"tag":81,"props":1070,"children":1072},{"className":1071},[],[1073],{"type":70,"value":610},{"type":70,"value":1075}," for both rows on every comparator invocation.",{"type":64,"tag":600,"props":1077,"children":1078},{},[1079,1081,1086],{"type":70,"value":1080},"Correct: retain RankingInfo during filtering and pass the stored values to ",{"type":64,"tag":81,"props":1082,"children":1084},{"className":1083},[],[1085],{"type":70,"value":634},{"type":70,"value":419},{"type":64,"tag":600,"props":1088,"children":1089},{},[1090],{"type":70,"value":1091},"Sorting is called many times; recomputing also risks using different query\u002Foptions than the filter decision.",{"type":64,"tag":600,"props":1093,"children":1094},{},[1095],{"type":70,"value":1096},"Source: TanStack\u002Ftable:docs\u002Fframework\u002Freact\u002Fguide\u002Ffuzzy-filtering.md",{"type":64,"tag":593,"props":1098,"children":1100},{"id":1099},"medium-compareitems-direction-reversed-twice",[1101],{"type":70,"value":1102},"MEDIUM compareItems direction reversed twice",{"type":64,"tag":600,"props":1104,"children":1105},{},[1106,1108,1114],{"type":70,"value":1107},"Wrong: negate ",{"type":64,"tag":81,"props":1109,"children":1111},{"className":1110},[],[1112],{"type":70,"value":1113},"compareItems(a, b)",{"type":70,"value":1115}," because a larger rank should appear first.",{"type":64,"tag":600,"props":1117,"children":1118},{},[1119,1121,1126],{"type":70,"value":1120},"Correct: use ",{"type":64,"tag":81,"props":1122,"children":1124},{"className":1123},[],[1125],{"type":70,"value":1113},{"type":70,"value":1127}," directly for ascending fuzzy relevance.",{"type":64,"tag":600,"props":1129,"children":1130},{},[1131,1133,1139,1141,1147],{"type":70,"value":1132},"The function already returns -1 when ",{"type":64,"tag":81,"props":1134,"children":1136},{"className":1135},[],[1137],{"type":70,"value":1138},"a.rank",{"type":70,"value":1140}," is greater than ",{"type":64,"tag":81,"props":1142,"children":1144},{"className":1143},[],[1145],{"type":70,"value":1146},"b.rank",{"type":70,"value":419},{"type":64,"tag":600,"props":1149,"children":1150},{},[1151],{"type":70,"value":1057},{"type":64,"tag":65,"props":1153,"children":1155},{"id":1154},"api-discovery",[1156],{"type":70,"value":1157},"API Discovery",{"type":64,"tag":600,"props":1159,"children":1160},{},[1161,1163,1169,1171,1177],{"type":70,"value":1162},"Inspect ",{"type":64,"tag":81,"props":1164,"children":1166},{"className":1165},[],[1167],{"type":70,"value":1168},"node_modules\u002F@tanstack\u002Fmatch-sorter-utils\u002Fdist\u002Findex.d.ts",{"type":70,"value":1170}," for the installed ",{"type":64,"tag":81,"props":1172,"children":1174},{"className":1173},[],[1175],{"type":70,"value":1176},"RankItemOptions",{"type":70,"value":1178},", accessor attributes, ranking constants, and comparator behavior. For TanStack Table metadata integration, load the global-filtering and sorting skills.",{"type":64,"tag":1180,"props":1181,"children":1182},"style",{},[1183],{"type":70,"value":1184},"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":1186,"total":1270},[1187,1199,1211,1223,1238,1250,1260],{"slug":1188,"name":1188,"fn":1189,"description":1190,"org":1191,"tags":1192,"stars":20,"repoUrl":21,"updatedAt":1198},"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},[1193,1194,1197],{"name":13,"slug":14,"type":15},{"name":1195,"slug":1196,"type":15},"Frontend","frontend",{"name":9,"slug":8,"type":15},"2026-07-30T05:25:59.429787",{"slug":1200,"name":1200,"fn":1201,"description":1202,"org":1203,"tags":1204,"stars":20,"repoUrl":21,"updatedAt":1210},"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},[1205,1208,1209],{"name":1206,"slug":1207,"type":15},"Debugging","debugging",{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:26:05.418735",{"slug":1212,"name":1212,"fn":1213,"description":1214,"org":1215,"tags":1216,"stars":20,"repoUrl":21,"updatedAt":1222},"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},[1217,1218,1219],{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":1220,"slug":1221,"type":15},"UI Components","ui-components","2026-07-30T05:25:38.403427",{"slug":1224,"name":1224,"fn":1225,"description":1226,"org":1227,"tags":1228,"stars":20,"repoUrl":21,"updatedAt":1237},"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},[1229,1232,1233,1236],{"name":1230,"slug":1231,"type":15},"Data Pipeline","data-pipeline",{"name":1195,"slug":1196,"type":15},{"name":1234,"slug":1235,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},"2026-07-30T05:25:45.400104",{"slug":1239,"name":1239,"fn":1240,"description":1241,"org":1242,"tags":1243,"stars":20,"repoUrl":21,"updatedAt":1249},"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},[1244,1247,1248],{"name":1245,"slug":1246,"type":15},"Data Visualization","data-visualization",{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:41.397257",{"slug":1251,"name":1251,"fn":1252,"description":1253,"org":1254,"tags":1255,"stars":20,"repoUrl":21,"updatedAt":1259},"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},[1256,1257,1258],{"name":13,"slug":14,"type":15},{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:53.391632",{"slug":1261,"name":1261,"fn":1262,"description":1263,"org":1264,"tags":1265,"stars":20,"repoUrl":21,"updatedAt":1269},"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},[1266,1267,1268],{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},{"name":1220,"slug":1221,"type":15},"2026-07-30T05:26:03.37801",30,{"items":1272,"total":1369},[1273,1279,1285,1291,1298,1304,1310,1316,1329,1339,1350,1360],{"slug":1188,"name":1188,"fn":1189,"description":1190,"org":1274,"tags":1275,"stars":20,"repoUrl":21,"updatedAt":1198},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1276,1277,1278],{"name":13,"slug":14,"type":15},{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},{"slug":1200,"name":1200,"fn":1201,"description":1202,"org":1280,"tags":1281,"stars":20,"repoUrl":21,"updatedAt":1210},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1282,1283,1284],{"name":1206,"slug":1207,"type":15},{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},{"slug":1212,"name":1212,"fn":1213,"description":1214,"org":1286,"tags":1287,"stars":20,"repoUrl":21,"updatedAt":1222},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1288,1289,1290],{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":1220,"slug":1221,"type":15},{"slug":1224,"name":1224,"fn":1225,"description":1226,"org":1292,"tags":1293,"stars":20,"repoUrl":21,"updatedAt":1237},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1294,1295,1296,1297],{"name":1230,"slug":1231,"type":15},{"name":1195,"slug":1196,"type":15},{"name":1234,"slug":1235,"type":15},{"name":9,"slug":8,"type":15},{"slug":1239,"name":1239,"fn":1240,"description":1241,"org":1299,"tags":1300,"stars":20,"repoUrl":21,"updatedAt":1249},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1301,1302,1303],{"name":1245,"slug":1246,"type":15},{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},{"slug":1251,"name":1251,"fn":1252,"description":1253,"org":1305,"tags":1306,"stars":20,"repoUrl":21,"updatedAt":1259},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1307,1308,1309],{"name":13,"slug":14,"type":15},{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},{"slug":1261,"name":1261,"fn":1262,"description":1263,"org":1311,"tags":1312,"stars":20,"repoUrl":21,"updatedAt":1269},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1313,1314,1315],{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},{"name":1220,"slug":1221,"type":15},{"slug":1317,"name":1317,"fn":1318,"description":1319,"org":1320,"tags":1321,"stars":20,"repoUrl":21,"updatedAt":1328},"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},[1322,1325,1326,1327],{"name":1323,"slug":1324,"type":15},"CSS","css",{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},{"name":1220,"slug":1221,"type":15},"2026-07-30T05:25:55.377366",{"slug":1330,"name":1330,"fn":1331,"description":1332,"org":1333,"tags":1334,"stars":20,"repoUrl":21,"updatedAt":1338},"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},[1335,1336,1337],{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},{"name":1220,"slug":1221,"type":15},"2026-07-30T05:25:51.400011",{"slug":1340,"name":1340,"fn":1341,"description":1342,"org":1343,"tags":1344,"stars":20,"repoUrl":21,"updatedAt":1349},"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},[1345,1346,1347,1348],{"name":1323,"slug":1324,"type":15},{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},{"name":1220,"slug":1221,"type":15},"2026-07-30T05:25:48.703799",{"slug":1351,"name":1351,"fn":1352,"description":1353,"org":1354,"tags":1355,"stars":20,"repoUrl":21,"updatedAt":1359},"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},[1356,1357,1358],{"name":1195,"slug":1196,"type":15},{"name":9,"slug":8,"type":15},{"name":1220,"slug":1221,"type":15},"2026-07-30T05:25:47.367943",{"slug":53,"name":53,"fn":1361,"description":1362,"org":1363,"tags":1364,"stars":20,"repoUrl":21,"updatedAt":1368},"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},[1365,1366,1367],{"name":13,"slug":14,"type":15},{"name":1195,"slug":1196,"type":15},{"name":1220,"slug":1221,"type":15},"2026-07-30T05:25:52.366295",125]