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