[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tanstack-cell-spanning":3,"mdc--f7hek0-key":53,"related-org-tanstack-cell-spanning":2007,"related-repo-tanstack-cell-spanning":2140},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":48,"sourceUrl":51,"mdContent":52},"cell-spanning","configure cell spanning in TanStack Table","Merge adjacent body cells with cellSpanningFeature: value-based rowSpan opt-in per column via spanRows, per-row colSpan via spanColumns, and the covered-cell convention where a span of 0 means skip the cell. Load for merged data grids, spans that disappear after sorting or paginating, ragged table rows, or a cell that unexpectedly merges down the whole tbody.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"tanstack","TanStack","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftanstack.png",[12,16,19,20],{"name":13,"slug":14,"type":15},"Data Visualization","data-visualization","tag",{"name":17,"slug":18,"type":15},"UI Components","ui-components",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Frontend","frontend",28175,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Ftable","2026-08-02T06:09:08.730518",null,3539,[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"datagrid","datagrids","datatable","filtering","grid","grouping","hooks","javascript","pagination","react","reactjs","solid","solidjs","sorting","svelte","sveltejs","table","typescript","vue",{"repoUrl":24,"stars":23,"forks":27,"topics":49,"description":50},[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"🤖 Headless UI for building powerful tables & datagrids for TS\u002FJS -  React-Table, Vue-Table, Solid-Table, Svelte-Table","https:\u002F\u002Fgithub.com\u002FTanStack\u002Ftable\u002Ftree\u002FHEAD\u002Fpackages\u002Ftable-core\u002Fskills\u002Fcell-spanning","---\nname: cell-spanning\ndescription: >\n  Merge adjacent body cells with cellSpanningFeature: value-based rowSpan opt-in per column via spanRows, per-row colSpan via spanColumns, and the covered-cell convention where a span of 0 means skip the cell. Load for merged data grids, spans that disappear after sorting or paginating, ragged table rows, or a cell that unexpectedly merges down the whole tbody.\nmetadata:\n  {\n    type: sub-skill,\n    library: '@tanstack\u002Ftable-core',\n    library_version: '9.0.0-beta.71',\n  }\nrequires: ['core', 'table-features']\nsources:\n  - 'TanStack\u002Ftable:docs\u002Fframework\u002Freact\u002Fguide\u002Fcell-spanning.md'\n  - 'TanStack\u002Ftable:packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fcell-spanning'\n  - 'TanStack\u002Ftable:examples\u002Freact\u002Fcell-spanning'\n---\n\nThis skill builds on `core` and `table-features`. Cell spanning is stateless and fully derived: a memoized table-level span index is rebuilt from the rows that are actually rendered, and per-cell reads are O(1) lookups against it. Sorting, filtering, pagination, and row pinning only change adjacency; spans follow automatically and never persist.\n\n## Setup\n\n\u003C!-- skill-snippet:check -->\n\n```ts\nimport { cellSpanningFeature, tableFeatures } from '@tanstack\u002Ftable-core'\n\nexport const features = tableFeatures({ cellSpanningFeature })\n```\n\n## Core Patterns\n\n### Opt columns into value-based row spanning\n\n```ts\nconst columns = [\n  { accessorKey: 'region', spanRows: true },\n  {\n    accessorKey: 'createdAt',\n    spanRows: ({\n      anchorValue,\n      value,\n    }: {\n      anchorValue: unknown\n      value: unknown\n    }) => sameMonth(anchorValue as Date, value as Date),\n  },\n]\n```\n\n`spanRows: true` merges adjacent rendered rows whose values match under `Object.is`. Nullish values never merge under the default comparison; a predicate can opt in. Predicates are anchored: every candidate row is tested against the run's first row (`anchorRow`\u002F`anchorValue`), which keeps runs transitive.\n\n### Declare column spans per row\n\n```ts\nconst columns = [\n  {\n    accessorKey: 'label',\n    spanColumns: ({ row }: { row: { original: { isSummary?: boolean } } }) =>\n      row.original.isSummary ? Infinity : 1,\n  },\n]\n```\n\n`spanColumns` counts visible columns in render order and clamps to the end of the cell's pinned region, so `Infinity` means \"the rest of my region\" and a span never crosses a start\u002Fcenter\u002Fend pinning boundary. Cells only join a vertical run when their column spans match, so a full-width summary row never merges into the data run above it.\n\n### Render with the skip-covered-cells loop\n\n```tsx\n{\n  row.getVisibleCells().map((cell) => {\n    const rowSpan = cell.getRowSpan()\n    const colSpan = cell.getColSpan()\n    if (rowSpan === 0 || colSpan === 0) return null\n    return (\n      \u003Ctd key={cell.id} rowSpan={rowSpan} colSpan={colSpan}>\n        {flexRender(cell.column.columnDef.cell, cell.getContext())}\n      \u003C\u002Ftd>\n    )\n  })\n}\n```\n\nA span of `0` means the cell is covered; `cell.getIsCovered()` is the same check as one call. This mirrors the `header.rowSpan` convention for uneven header trees.\n\n### Disable\n\n`enableCellSpanning: false` as a table option disables everything; the same flag on a column def opts a single column out and wins over the table option.\n\n## Common Mistakes\n\n### [CRITICAL] Rendering rowSpan={0} instead of skipping the cell\n\nWrong:\n\n```tsx\n\u003Ctd rowSpan={cell.getRowSpan()} colSpan={cell.getColSpan()}>\n```\n\nCorrect:\n\n```tsx\ncell.getIsCovered() ? null : (\n  \u003Ctd rowSpan={cell.getRowSpan()} colSpan={cell.getColSpan()}>\n)\n```\n\nIn HTML, `rowspan=\"0\"` is valid and means \"span to the end of the row group\", so the wrong version does not render an empty cell. It merges the covered cell down the entire tbody and shifts every later cell out of its column.\n\n### [HIGH] Expecting spanning to sort or group the rows\n\nWrong:\n\n```ts\nconst features = tableFeatures({ cellSpanningFeature })\n\u002F\u002F data arrives unsorted; the table renders zero merged cells\n```\n\nCorrect:\n\n```ts\nconst features = tableFeatures({\n  cellSpanningFeature,\n  rowSortingFeature,\n  sortedRowModel: createSortedRowModel(),\n  sortFns: { alphanumeric: sortFn_alphanumeric },\n})\n\u002F\u002F sort by the spanned column, or emit data with equal values adjacent\n```\n\nValue-based spanning merges adjacent equal values only. It does not reorder rows, and it is not grouping; register `columnGroupingFeature` when collapsible group rows are what is wanted.\n\n### [HIGH] Precomputing spans from the source data\n\nWrong:\n\n```ts\nconst spans = useMemo(() => computeSpans(data), [data])\n```\n\nCorrect:\n\n```ts\nconst rowSpan = cell.getRowSpan()\n```\n\nSpans derive from the final row model. A span precomputed from `data` survives sorting, filtering, and page changes, producing ragged rows the moment any of them changes.\n\n### [MEDIUM] Assuming a run continues across a page boundary\n\nA run is clipped by the paginated row model. The next page opens a fresh cell for the continuing value; nothing carries over, and nothing needs to.\n\n### [MEDIUM] Reimplementing merge-aware selection on top of cellSelectionFeature\n\nWhen both features are registered, selection is already merge-aware: ranges expand at derivation time to fully enclose any merge they touch (includes and excludes alike), navigation crosses a merge in one step, and `getSelectedCellCount()` counts a merge once. Do not pre-expand stored selection corners yourself; stored corners stay stable while sorting or paging changes the merges, and pre-expanded corners go stale.\n\n### [MEDIUM] Spanning a grouped column\n\n`spanRows` is ignored while its column is grouped, and grouped rows never join runs in any column. Grouping already collapses repeated values into group rows; spanning them again would merge twice.\n\n## API Discovery\n\nInspect `node_modules\u002F@tanstack\u002Ftable-core\u002Fdist\u002Ffeatures\u002Fcell-spanning\u002F` for the full API: `cell.getRowSpan()`, `cell.getColSpan()`, `cell.getIsCovered()`, `table.getCellSpanIndex()`, and the `spanRows`\u002F`spanColumns`\u002F`enableCellSpanning` column and table options.\n",{"data":54,"body":66},{"name":4,"description":6,"metadata":55,"requires":59,"sources":62},{"type":56,"library":57,"library_version":58},"sub-skill","@tanstack\u002Ftable-core","9.0.0-beta.71",[60,61],"core","table-features",[63,64,65],"TanStack\u002Ftable:docs\u002Fframework\u002Freact\u002Fguide\u002Fcell-spanning.md","TanStack\u002Ftable:packages\u002Ftable-core\u002Fsrc\u002Ffeatures\u002Fcell-spanning","TanStack\u002Ftable:examples\u002Freact\u002Fcell-spanning",{"type":67,"children":68},"root",[69,92,99,234,240,247,552,587,593,810,829,835,1239,1268,1274,1285,1291,1302,1307,1382,1387,1507,1520,1531,1535,1590,1594,1731,1744,1754,1758,1817,1821,1860,1873,1884,1889,1899,1912,1922,1933,1939,2001],{"type":70,"tag":71,"props":72,"children":73},"element","p",{},[74,77,83,85,90],{"type":75,"value":76},"text","This skill builds on ",{"type":70,"tag":78,"props":79,"children":81},"code",{"className":80},[],[82],{"type":75,"value":60},{"type":75,"value":84}," and ",{"type":70,"tag":78,"props":86,"children":88},{"className":87},[],[89],{"type":75,"value":61},{"type":75,"value":91},". Cell spanning is stateless and fully derived: a memoized table-level span index is rebuilt from the rows that are actually rendered, and per-cell reads are O(1) lookups against it. Sorting, filtering, pagination, and row pinning only change adjacency; spans follow automatically and never persist.",{"type":70,"tag":93,"props":94,"children":96},"h2",{"id":95},"setup",[97],{"type":75,"value":98},"Setup",{"type":70,"tag":100,"props":101,"children":106},"pre",{"className":102,"code":103,"language":104,"meta":105,"style":105},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { cellSpanningFeature, tableFeatures } from '@tanstack\u002Ftable-core'\n\nexport const features = tableFeatures({ cellSpanningFeature })\n","ts","",[107],{"type":70,"tag":78,"props":108,"children":109},{"__ignoreMap":105},[110,169,179],{"type":70,"tag":111,"props":112,"children":115},"span",{"class":113,"line":114},"line",1,[116,122,128,134,139,144,149,154,159,164],{"type":70,"tag":111,"props":117,"children":119},{"style":118},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[120],{"type":75,"value":121},"import",{"type":70,"tag":111,"props":123,"children":125},{"style":124},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[126],{"type":75,"value":127}," {",{"type":70,"tag":111,"props":129,"children":131},{"style":130},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[132],{"type":75,"value":133}," cellSpanningFeature",{"type":70,"tag":111,"props":135,"children":136},{"style":124},[137],{"type":75,"value":138},",",{"type":70,"tag":111,"props":140,"children":141},{"style":130},[142],{"type":75,"value":143}," tableFeatures",{"type":70,"tag":111,"props":145,"children":146},{"style":124},[147],{"type":75,"value":148}," }",{"type":70,"tag":111,"props":150,"children":151},{"style":118},[152],{"type":75,"value":153}," from",{"type":70,"tag":111,"props":155,"children":156},{"style":124},[157],{"type":75,"value":158}," '",{"type":70,"tag":111,"props":160,"children":162},{"style":161},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[163],{"type":75,"value":57},{"type":70,"tag":111,"props":165,"children":166},{"style":124},[167],{"type":75,"value":168},"'\n",{"type":70,"tag":111,"props":170,"children":172},{"class":113,"line":171},2,[173],{"type":70,"tag":111,"props":174,"children":176},{"emptyLinePlaceholder":175},true,[177],{"type":75,"value":178},"\n",{"type":70,"tag":111,"props":180,"children":182},{"class":113,"line":181},3,[183,188,194,199,204,209,214,219,224,229],{"type":70,"tag":111,"props":184,"children":185},{"style":118},[186],{"type":75,"value":187},"export",{"type":70,"tag":111,"props":189,"children":191},{"style":190},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[192],{"type":75,"value":193}," const",{"type":70,"tag":111,"props":195,"children":196},{"style":130},[197],{"type":75,"value":198}," features ",{"type":70,"tag":111,"props":200,"children":201},{"style":124},[202],{"type":75,"value":203},"=",{"type":70,"tag":111,"props":205,"children":207},{"style":206},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[208],{"type":75,"value":143},{"type":70,"tag":111,"props":210,"children":211},{"style":130},[212],{"type":75,"value":213},"(",{"type":70,"tag":111,"props":215,"children":216},{"style":124},[217],{"type":75,"value":218},"{",{"type":70,"tag":111,"props":220,"children":221},{"style":130},[222],{"type":75,"value":223}," cellSpanningFeature ",{"type":70,"tag":111,"props":225,"children":226},{"style":124},[227],{"type":75,"value":228},"}",{"type":70,"tag":111,"props":230,"children":231},{"style":130},[232],{"type":75,"value":233},")\n",{"type":70,"tag":93,"props":235,"children":237},{"id":236},"core-patterns",[238],{"type":75,"value":239},"Core Patterns",{"type":70,"tag":241,"props":242,"children":244},"h3",{"id":243},"opt-columns-into-value-based-row-spanning",[245],{"type":75,"value":246},"Opt columns into value-based row spanning",{"type":70,"tag":100,"props":248,"children":250},{"className":102,"code":249,"language":104,"meta":105,"style":105},"const columns = [\n  { accessorKey: 'region', spanRows: true },\n  {\n    accessorKey: 'createdAt',\n    spanRows: ({\n      anchorValue,\n      value,\n    }: {\n      anchorValue: unknown\n      value: unknown\n    }) => sameMonth(anchorValue as Date, value as Date),\n  },\n]\n",[251],{"type":70,"tag":78,"props":252,"children":253},{"__ignoreMap":105},[254,276,333,341,372,395,408,421,435,453,469,534,543],{"type":70,"tag":111,"props":255,"children":256},{"class":113,"line":114},[257,262,267,271],{"type":70,"tag":111,"props":258,"children":259},{"style":190},[260],{"type":75,"value":261},"const",{"type":70,"tag":111,"props":263,"children":264},{"style":130},[265],{"type":75,"value":266}," columns ",{"type":70,"tag":111,"props":268,"children":269},{"style":124},[270],{"type":75,"value":203},{"type":70,"tag":111,"props":272,"children":273},{"style":130},[274],{"type":75,"value":275}," [\n",{"type":70,"tag":111,"props":277,"children":278},{"class":113,"line":171},[279,284,290,295,299,304,309,313,318,322,328],{"type":70,"tag":111,"props":280,"children":281},{"style":124},[282],{"type":75,"value":283},"  {",{"type":70,"tag":111,"props":285,"children":287},{"style":286},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[288],{"type":75,"value":289}," accessorKey",{"type":70,"tag":111,"props":291,"children":292},{"style":124},[293],{"type":75,"value":294},":",{"type":70,"tag":111,"props":296,"children":297},{"style":124},[298],{"type":75,"value":158},{"type":70,"tag":111,"props":300,"children":301},{"style":161},[302],{"type":75,"value":303},"region",{"type":70,"tag":111,"props":305,"children":306},{"style":124},[307],{"type":75,"value":308},"'",{"type":70,"tag":111,"props":310,"children":311},{"style":124},[312],{"type":75,"value":138},{"type":70,"tag":111,"props":314,"children":315},{"style":286},[316],{"type":75,"value":317}," spanRows",{"type":70,"tag":111,"props":319,"children":320},{"style":124},[321],{"type":75,"value":294},{"type":70,"tag":111,"props":323,"children":325},{"style":324},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[326],{"type":75,"value":327}," true",{"type":70,"tag":111,"props":329,"children":330},{"style":124},[331],{"type":75,"value":332}," },\n",{"type":70,"tag":111,"props":334,"children":335},{"class":113,"line":181},[336],{"type":70,"tag":111,"props":337,"children":338},{"style":124},[339],{"type":75,"value":340},"  {\n",{"type":70,"tag":111,"props":342,"children":344},{"class":113,"line":343},4,[345,350,354,358,363,367],{"type":70,"tag":111,"props":346,"children":347},{"style":286},[348],{"type":75,"value":349},"    accessorKey",{"type":70,"tag":111,"props":351,"children":352},{"style":124},[353],{"type":75,"value":294},{"type":70,"tag":111,"props":355,"children":356},{"style":124},[357],{"type":75,"value":158},{"type":70,"tag":111,"props":359,"children":360},{"style":161},[361],{"type":75,"value":362},"createdAt",{"type":70,"tag":111,"props":364,"children":365},{"style":124},[366],{"type":75,"value":308},{"type":70,"tag":111,"props":368,"children":369},{"style":124},[370],{"type":75,"value":371},",\n",{"type":70,"tag":111,"props":373,"children":375},{"class":113,"line":374},5,[376,381,385,390],{"type":70,"tag":111,"props":377,"children":378},{"style":206},[379],{"type":75,"value":380},"    spanRows",{"type":70,"tag":111,"props":382,"children":383},{"style":124},[384],{"type":75,"value":294},{"type":70,"tag":111,"props":386,"children":387},{"style":130},[388],{"type":75,"value":389}," (",{"type":70,"tag":111,"props":391,"children":392},{"style":124},[393],{"type":75,"value":394},"{\n",{"type":70,"tag":111,"props":396,"children":398},{"class":113,"line":397},6,[399,404],{"type":70,"tag":111,"props":400,"children":401},{"style":130},[402],{"type":75,"value":403},"      anchorValue",{"type":70,"tag":111,"props":405,"children":406},{"style":124},[407],{"type":75,"value":371},{"type":70,"tag":111,"props":409,"children":411},{"class":113,"line":410},7,[412,417],{"type":70,"tag":111,"props":413,"children":414},{"style":130},[415],{"type":75,"value":416},"      value",{"type":70,"tag":111,"props":418,"children":419},{"style":124},[420],{"type":75,"value":371},{"type":70,"tag":111,"props":422,"children":424},{"class":113,"line":423},8,[425,430],{"type":70,"tag":111,"props":426,"children":427},{"style":124},[428],{"type":75,"value":429},"    }:",{"type":70,"tag":111,"props":431,"children":432},{"style":124},[433],{"type":75,"value":434}," {\n",{"type":70,"tag":111,"props":436,"children":438},{"class":113,"line":437},9,[439,443,447],{"type":70,"tag":111,"props":440,"children":441},{"style":286},[442],{"type":75,"value":403},{"type":70,"tag":111,"props":444,"children":445},{"style":124},[446],{"type":75,"value":294},{"type":70,"tag":111,"props":448,"children":450},{"style":449},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[451],{"type":75,"value":452}," unknown\n",{"type":70,"tag":111,"props":454,"children":456},{"class":113,"line":455},10,[457,461,465],{"type":70,"tag":111,"props":458,"children":459},{"style":286},[460],{"type":75,"value":416},{"type":70,"tag":111,"props":462,"children":463},{"style":124},[464],{"type":75,"value":294},{"type":70,"tag":111,"props":466,"children":467},{"style":449},[468],{"type":75,"value":452},{"type":70,"tag":111,"props":470,"children":472},{"class":113,"line":471},11,[473,478,483,488,493,498,503,508,512,517,521,525,530],{"type":70,"tag":111,"props":474,"children":475},{"style":124},[476],{"type":75,"value":477},"    }",{"type":70,"tag":111,"props":479,"children":480},{"style":130},[481],{"type":75,"value":482},") ",{"type":70,"tag":111,"props":484,"children":485},{"style":190},[486],{"type":75,"value":487},"=>",{"type":70,"tag":111,"props":489,"children":490},{"style":206},[491],{"type":75,"value":492}," sameMonth",{"type":70,"tag":111,"props":494,"children":495},{"style":130},[496],{"type":75,"value":497},"(anchorValue ",{"type":70,"tag":111,"props":499,"children":500},{"style":118},[501],{"type":75,"value":502},"as",{"type":70,"tag":111,"props":504,"children":505},{"style":449},[506],{"type":75,"value":507}," Date",{"type":70,"tag":111,"props":509,"children":510},{"style":124},[511],{"type":75,"value":138},{"type":70,"tag":111,"props":513,"children":514},{"style":130},[515],{"type":75,"value":516}," value ",{"type":70,"tag":111,"props":518,"children":519},{"style":118},[520],{"type":75,"value":502},{"type":70,"tag":111,"props":522,"children":523},{"style":449},[524],{"type":75,"value":507},{"type":70,"tag":111,"props":526,"children":527},{"style":130},[528],{"type":75,"value":529},")",{"type":70,"tag":111,"props":531,"children":532},{"style":124},[533],{"type":75,"value":371},{"type":70,"tag":111,"props":535,"children":537},{"class":113,"line":536},12,[538],{"type":70,"tag":111,"props":539,"children":540},{"style":124},[541],{"type":75,"value":542},"  },\n",{"type":70,"tag":111,"props":544,"children":546},{"class":113,"line":545},13,[547],{"type":70,"tag":111,"props":548,"children":549},{"style":130},[550],{"type":75,"value":551},"]\n",{"type":70,"tag":71,"props":553,"children":554},{},[555,561,563,569,571,577,579,585],{"type":70,"tag":78,"props":556,"children":558},{"className":557},[],[559],{"type":75,"value":560},"spanRows: true",{"type":75,"value":562}," merges adjacent rendered rows whose values match under ",{"type":70,"tag":78,"props":564,"children":566},{"className":565},[],[567],{"type":75,"value":568},"Object.is",{"type":75,"value":570},". Nullish values never merge under the default comparison; a predicate can opt in. Predicates are anchored: every candidate row is tested against the run's first row (",{"type":70,"tag":78,"props":572,"children":574},{"className":573},[],[575],{"type":75,"value":576},"anchorRow",{"type":75,"value":578},"\u002F",{"type":70,"tag":78,"props":580,"children":582},{"className":581},[],[583],{"type":75,"value":584},"anchorValue",{"type":75,"value":586},"), which keeps runs transitive.",{"type":70,"tag":241,"props":588,"children":590},{"id":589},"declare-column-spans-per-row",[591],{"type":75,"value":592},"Declare column spans per row",{"type":70,"tag":100,"props":594,"children":596},{"className":102,"code":595,"language":104,"meta":105,"style":105},"const columns = [\n  {\n    accessorKey: 'label',\n    spanColumns: ({ row }: { row: { original: { isSummary?: boolean } } }) =>\n      row.original.isSummary ? Infinity : 1,\n  },\n]\n",[597],{"type":70,"tag":78,"props":598,"children":599},{"__ignoreMap":105},[600,619,626,654,744,796,803],{"type":70,"tag":111,"props":601,"children":602},{"class":113,"line":114},[603,607,611,615],{"type":70,"tag":111,"props":604,"children":605},{"style":190},[606],{"type":75,"value":261},{"type":70,"tag":111,"props":608,"children":609},{"style":130},[610],{"type":75,"value":266},{"type":70,"tag":111,"props":612,"children":613},{"style":124},[614],{"type":75,"value":203},{"type":70,"tag":111,"props":616,"children":617},{"style":130},[618],{"type":75,"value":275},{"type":70,"tag":111,"props":620,"children":621},{"class":113,"line":171},[622],{"type":70,"tag":111,"props":623,"children":624},{"style":124},[625],{"type":75,"value":340},{"type":70,"tag":111,"props":627,"children":628},{"class":113,"line":181},[629,633,637,641,646,650],{"type":70,"tag":111,"props":630,"children":631},{"style":286},[632],{"type":75,"value":349},{"type":70,"tag":111,"props":634,"children":635},{"style":124},[636],{"type":75,"value":294},{"type":70,"tag":111,"props":638,"children":639},{"style":124},[640],{"type":75,"value":158},{"type":70,"tag":111,"props":642,"children":643},{"style":161},[644],{"type":75,"value":645},"label",{"type":70,"tag":111,"props":647,"children":648},{"style":124},[649],{"type":75,"value":308},{"type":70,"tag":111,"props":651,"children":652},{"style":124},[653],{"type":75,"value":371},{"type":70,"tag":111,"props":655,"children":656},{"class":113,"line":343},[657,662,666,671,677,682,686,690,694,698,703,707,711,716,721,726,730,734,739],{"type":70,"tag":111,"props":658,"children":659},{"style":206},[660],{"type":75,"value":661},"    spanColumns",{"type":70,"tag":111,"props":663,"children":664},{"style":124},[665],{"type":75,"value":294},{"type":70,"tag":111,"props":667,"children":668},{"style":124},[669],{"type":75,"value":670}," ({",{"type":70,"tag":111,"props":672,"children":674},{"style":673},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[675],{"type":75,"value":676}," row",{"type":70,"tag":111,"props":678,"children":679},{"style":124},[680],{"type":75,"value":681}," }:",{"type":70,"tag":111,"props":683,"children":684},{"style":124},[685],{"type":75,"value":127},{"type":70,"tag":111,"props":687,"children":688},{"style":286},[689],{"type":75,"value":676},{"type":70,"tag":111,"props":691,"children":692},{"style":124},[693],{"type":75,"value":294},{"type":70,"tag":111,"props":695,"children":696},{"style":124},[697],{"type":75,"value":127},{"type":70,"tag":111,"props":699,"children":700},{"style":286},[701],{"type":75,"value":702}," original",{"type":70,"tag":111,"props":704,"children":705},{"style":124},[706],{"type":75,"value":294},{"type":70,"tag":111,"props":708,"children":709},{"style":124},[710],{"type":75,"value":127},{"type":70,"tag":111,"props":712,"children":713},{"style":286},[714],{"type":75,"value":715}," isSummary",{"type":70,"tag":111,"props":717,"children":718},{"style":124},[719],{"type":75,"value":720},"?:",{"type":70,"tag":111,"props":722,"children":723},{"style":449},[724],{"type":75,"value":725}," boolean",{"type":70,"tag":111,"props":727,"children":728},{"style":124},[729],{"type":75,"value":148},{"type":70,"tag":111,"props":731,"children":732},{"style":124},[733],{"type":75,"value":148},{"type":70,"tag":111,"props":735,"children":736},{"style":124},[737],{"type":75,"value":738}," })",{"type":70,"tag":111,"props":740,"children":741},{"style":190},[742],{"type":75,"value":743}," =>\n",{"type":70,"tag":111,"props":745,"children":746},{"class":113,"line":374},[747,752,757,762,766,771,776,781,786,792],{"type":70,"tag":111,"props":748,"children":749},{"style":130},[750],{"type":75,"value":751},"      row",{"type":70,"tag":111,"props":753,"children":754},{"style":124},[755],{"type":75,"value":756},".",{"type":70,"tag":111,"props":758,"children":759},{"style":130},[760],{"type":75,"value":761},"original",{"type":70,"tag":111,"props":763,"children":764},{"style":124},[765],{"type":75,"value":756},{"type":70,"tag":111,"props":767,"children":768},{"style":130},[769],{"type":75,"value":770},"isSummary ",{"type":70,"tag":111,"props":772,"children":773},{"style":124},[774],{"type":75,"value":775},"?",{"type":70,"tag":111,"props":777,"children":778},{"style":124},[779],{"type":75,"value":780}," Infinity",{"type":70,"tag":111,"props":782,"children":783},{"style":124},[784],{"type":75,"value":785}," :",{"type":70,"tag":111,"props":787,"children":789},{"style":788},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[790],{"type":75,"value":791}," 1",{"type":70,"tag":111,"props":793,"children":794},{"style":124},[795],{"type":75,"value":371},{"type":70,"tag":111,"props":797,"children":798},{"class":113,"line":397},[799],{"type":70,"tag":111,"props":800,"children":801},{"style":124},[802],{"type":75,"value":542},{"type":70,"tag":111,"props":804,"children":805},{"class":113,"line":410},[806],{"type":70,"tag":111,"props":807,"children":808},{"style":130},[809],{"type":75,"value":551},{"type":70,"tag":71,"props":811,"children":812},{},[813,819,821,827],{"type":70,"tag":78,"props":814,"children":816},{"className":815},[],[817],{"type":75,"value":818},"spanColumns",{"type":75,"value":820}," counts visible columns in render order and clamps to the end of the cell's pinned region, so ",{"type":70,"tag":78,"props":822,"children":824},{"className":823},[],[825],{"type":75,"value":826},"Infinity",{"type":75,"value":828}," means \"the rest of my region\" and a span never crosses a start\u002Fcenter\u002Fend pinning boundary. Cells only join a vertical run when their column spans match, so a full-width summary row never merges into the data run above it.",{"type":70,"tag":241,"props":830,"children":832},{"id":831},"render-with-the-skip-covered-cells-loop",[833],{"type":75,"value":834},"Render with the skip-covered-cells loop",{"type":70,"tag":100,"props":836,"children":840},{"className":837,"code":838,"language":839,"meta":105,"style":105},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  row.getVisibleCells().map((cell) => {\n    const rowSpan = cell.getRowSpan()\n    const colSpan = cell.getColSpan()\n    if (rowSpan === 0 || colSpan === 0) return null\n    return (\n      \u003Ctd key={cell.id} rowSpan={rowSpan} colSpan={colSpan}>\n        {flexRender(cell.column.columnDef.cell, cell.getContext())}\n      \u003C\u002Ftd>\n    )\n  })\n}\n","tsx",[841],{"type":70,"tag":78,"props":842,"children":843},{"__ignoreMap":105},[844,851,908,945,978,1036,1049,1124,1195,1212,1220,1232],{"type":70,"tag":111,"props":845,"children":846},{"class":113,"line":114},[847],{"type":70,"tag":111,"props":848,"children":849},{"style":124},[850],{"type":75,"value":394},{"type":70,"tag":111,"props":852,"children":853},{"class":113,"line":171},[854,859,863,868,873,877,882,886,890,895,899,904],{"type":70,"tag":111,"props":855,"children":856},{"style":130},[857],{"type":75,"value":858},"  row",{"type":70,"tag":111,"props":860,"children":861},{"style":124},[862],{"type":75,"value":756},{"type":70,"tag":111,"props":864,"children":865},{"style":206},[866],{"type":75,"value":867},"getVisibleCells",{"type":70,"tag":111,"props":869,"children":870},{"style":286},[871],{"type":75,"value":872},"()",{"type":70,"tag":111,"props":874,"children":875},{"style":124},[876],{"type":75,"value":756},{"type":70,"tag":111,"props":878,"children":879},{"style":206},[880],{"type":75,"value":881},"map",{"type":70,"tag":111,"props":883,"children":884},{"style":286},[885],{"type":75,"value":213},{"type":70,"tag":111,"props":887,"children":888},{"style":124},[889],{"type":75,"value":213},{"type":70,"tag":111,"props":891,"children":892},{"style":673},[893],{"type":75,"value":894},"cell",{"type":70,"tag":111,"props":896,"children":897},{"style":124},[898],{"type":75,"value":529},{"type":70,"tag":111,"props":900,"children":901},{"style":190},[902],{"type":75,"value":903}," =>",{"type":70,"tag":111,"props":905,"children":906},{"style":124},[907],{"type":75,"value":434},{"type":70,"tag":111,"props":909,"children":910},{"class":113,"line":181},[911,916,921,926,931,935,940],{"type":70,"tag":111,"props":912,"children":913},{"style":190},[914],{"type":75,"value":915},"    const",{"type":70,"tag":111,"props":917,"children":918},{"style":130},[919],{"type":75,"value":920}," rowSpan",{"type":70,"tag":111,"props":922,"children":923},{"style":124},[924],{"type":75,"value":925}," =",{"type":70,"tag":111,"props":927,"children":928},{"style":130},[929],{"type":75,"value":930}," cell",{"type":70,"tag":111,"props":932,"children":933},{"style":124},[934],{"type":75,"value":756},{"type":70,"tag":111,"props":936,"children":937},{"style":206},[938],{"type":75,"value":939},"getRowSpan",{"type":70,"tag":111,"props":941,"children":942},{"style":286},[943],{"type":75,"value":944},"()\n",{"type":70,"tag":111,"props":946,"children":947},{"class":113,"line":343},[948,952,957,961,965,969,974],{"type":70,"tag":111,"props":949,"children":950},{"style":190},[951],{"type":75,"value":915},{"type":70,"tag":111,"props":953,"children":954},{"style":130},[955],{"type":75,"value":956}," colSpan",{"type":70,"tag":111,"props":958,"children":959},{"style":124},[960],{"type":75,"value":925},{"type":70,"tag":111,"props":962,"children":963},{"style":130},[964],{"type":75,"value":930},{"type":70,"tag":111,"props":966,"children":967},{"style":124},[968],{"type":75,"value":756},{"type":70,"tag":111,"props":970,"children":971},{"style":206},[972],{"type":75,"value":973},"getColSpan",{"type":70,"tag":111,"props":975,"children":976},{"style":286},[977],{"type":75,"value":944},{"type":70,"tag":111,"props":979,"children":980},{"class":113,"line":374},[981,986,990,995,1000,1005,1010,1014,1018,1022,1026,1031],{"type":70,"tag":111,"props":982,"children":983},{"style":118},[984],{"type":75,"value":985},"    if",{"type":70,"tag":111,"props":987,"children":988},{"style":286},[989],{"type":75,"value":389},{"type":70,"tag":111,"props":991,"children":992},{"style":130},[993],{"type":75,"value":994},"rowSpan",{"type":70,"tag":111,"props":996,"children":997},{"style":124},[998],{"type":75,"value":999}," ===",{"type":70,"tag":111,"props":1001,"children":1002},{"style":788},[1003],{"type":75,"value":1004}," 0",{"type":70,"tag":111,"props":1006,"children":1007},{"style":124},[1008],{"type":75,"value":1009}," ||",{"type":70,"tag":111,"props":1011,"children":1012},{"style":130},[1013],{"type":75,"value":956},{"type":70,"tag":111,"props":1015,"children":1016},{"style":124},[1017],{"type":75,"value":999},{"type":70,"tag":111,"props":1019,"children":1020},{"style":788},[1021],{"type":75,"value":1004},{"type":70,"tag":111,"props":1023,"children":1024},{"style":286},[1025],{"type":75,"value":482},{"type":70,"tag":111,"props":1027,"children":1028},{"style":118},[1029],{"type":75,"value":1030},"return",{"type":70,"tag":111,"props":1032,"children":1033},{"style":124},[1034],{"type":75,"value":1035}," null\n",{"type":70,"tag":111,"props":1037,"children":1038},{"class":113,"line":397},[1039,1044],{"type":70,"tag":111,"props":1040,"children":1041},{"style":118},[1042],{"type":75,"value":1043},"    return",{"type":70,"tag":111,"props":1045,"children":1046},{"style":286},[1047],{"type":75,"value":1048}," (\n",{"type":70,"tag":111,"props":1050,"children":1051},{"class":113,"line":410},[1052,1057,1062,1067,1072,1076,1080,1085,1090,1094,1098,1102,1106,1111,1115,1119],{"type":70,"tag":111,"props":1053,"children":1054},{"style":124},[1055],{"type":75,"value":1056},"      \u003C",{"type":70,"tag":111,"props":1058,"children":1059},{"style":286},[1060],{"type":75,"value":1061},"td",{"type":70,"tag":111,"props":1063,"children":1064},{"style":190},[1065],{"type":75,"value":1066}," key",{"type":70,"tag":111,"props":1068,"children":1069},{"style":124},[1070],{"type":75,"value":1071},"={",{"type":70,"tag":111,"props":1073,"children":1074},{"style":130},[1075],{"type":75,"value":894},{"type":70,"tag":111,"props":1077,"children":1078},{"style":124},[1079],{"type":75,"value":756},{"type":70,"tag":111,"props":1081,"children":1082},{"style":130},[1083],{"type":75,"value":1084},"id",{"type":70,"tag":111,"props":1086,"children":1087},{"style":124},[1088],{"type":75,"value":1089},"} ",{"type":70,"tag":111,"props":1091,"children":1092},{"style":190},[1093],{"type":75,"value":994},{"type":70,"tag":111,"props":1095,"children":1096},{"style":124},[1097],{"type":75,"value":1071},{"type":70,"tag":111,"props":1099,"children":1100},{"style":130},[1101],{"type":75,"value":994},{"type":70,"tag":111,"props":1103,"children":1104},{"style":124},[1105],{"type":75,"value":1089},{"type":70,"tag":111,"props":1107,"children":1108},{"style":190},[1109],{"type":75,"value":1110},"colSpan",{"type":70,"tag":111,"props":1112,"children":1113},{"style":124},[1114],{"type":75,"value":1071},{"type":70,"tag":111,"props":1116,"children":1117},{"style":130},[1118],{"type":75,"value":1110},{"type":70,"tag":111,"props":1120,"children":1121},{"style":124},[1122],{"type":75,"value":1123},"}>\n",{"type":70,"tag":111,"props":1125,"children":1126},{"class":113,"line":423},[1127,1132,1137,1142,1146,1151,1155,1160,1164,1168,1172,1176,1180,1185,1190],{"type":70,"tag":111,"props":1128,"children":1129},{"style":124},[1130],{"type":75,"value":1131},"        {",{"type":70,"tag":111,"props":1133,"children":1134},{"style":206},[1135],{"type":75,"value":1136},"flexRender",{"type":70,"tag":111,"props":1138,"children":1139},{"style":130},[1140],{"type":75,"value":1141},"(cell",{"type":70,"tag":111,"props":1143,"children":1144},{"style":124},[1145],{"type":75,"value":756},{"type":70,"tag":111,"props":1147,"children":1148},{"style":130},[1149],{"type":75,"value":1150},"column",{"type":70,"tag":111,"props":1152,"children":1153},{"style":124},[1154],{"type":75,"value":756},{"type":70,"tag":111,"props":1156,"children":1157},{"style":130},[1158],{"type":75,"value":1159},"columnDef",{"type":70,"tag":111,"props":1161,"children":1162},{"style":124},[1163],{"type":75,"value":756},{"type":70,"tag":111,"props":1165,"children":1166},{"style":130},[1167],{"type":75,"value":894},{"type":70,"tag":111,"props":1169,"children":1170},{"style":124},[1171],{"type":75,"value":138},{"type":70,"tag":111,"props":1173,"children":1174},{"style":130},[1175],{"type":75,"value":930},{"type":70,"tag":111,"props":1177,"children":1178},{"style":124},[1179],{"type":75,"value":756},{"type":70,"tag":111,"props":1181,"children":1182},{"style":206},[1183],{"type":75,"value":1184},"getContext",{"type":70,"tag":111,"props":1186,"children":1187},{"style":130},[1188],{"type":75,"value":1189},"())",{"type":70,"tag":111,"props":1191,"children":1192},{"style":124},[1193],{"type":75,"value":1194},"}\n",{"type":70,"tag":111,"props":1196,"children":1197},{"class":113,"line":437},[1198,1203,1207],{"type":70,"tag":111,"props":1199,"children":1200},{"style":124},[1201],{"type":75,"value":1202},"      \u003C\u002F",{"type":70,"tag":111,"props":1204,"children":1205},{"style":286},[1206],{"type":75,"value":1061},{"type":70,"tag":111,"props":1208,"children":1209},{"style":124},[1210],{"type":75,"value":1211},">\n",{"type":70,"tag":111,"props":1213,"children":1214},{"class":113,"line":455},[1215],{"type":70,"tag":111,"props":1216,"children":1217},{"style":286},[1218],{"type":75,"value":1219},"    )\n",{"type":70,"tag":111,"props":1221,"children":1222},{"class":113,"line":471},[1223,1228],{"type":70,"tag":111,"props":1224,"children":1225},{"style":124},[1226],{"type":75,"value":1227},"  }",{"type":70,"tag":111,"props":1229,"children":1230},{"style":286},[1231],{"type":75,"value":233},{"type":70,"tag":111,"props":1233,"children":1234},{"class":113,"line":536},[1235],{"type":70,"tag":111,"props":1236,"children":1237},{"style":124},[1238],{"type":75,"value":1194},{"type":70,"tag":71,"props":1240,"children":1241},{},[1242,1244,1250,1252,1258,1260,1266],{"type":75,"value":1243},"A span of ",{"type":70,"tag":78,"props":1245,"children":1247},{"className":1246},[],[1248],{"type":75,"value":1249},"0",{"type":75,"value":1251}," means the cell is covered; ",{"type":70,"tag":78,"props":1253,"children":1255},{"className":1254},[],[1256],{"type":75,"value":1257},"cell.getIsCovered()",{"type":75,"value":1259}," is the same check as one call. This mirrors the ",{"type":70,"tag":78,"props":1261,"children":1263},{"className":1262},[],[1264],{"type":75,"value":1265},"header.rowSpan",{"type":75,"value":1267}," convention for uneven header trees.",{"type":70,"tag":241,"props":1269,"children":1271},{"id":1270},"disable",[1272],{"type":75,"value":1273},"Disable",{"type":70,"tag":71,"props":1275,"children":1276},{},[1277,1283],{"type":70,"tag":78,"props":1278,"children":1280},{"className":1279},[],[1281],{"type":75,"value":1282},"enableCellSpanning: false",{"type":75,"value":1284}," as a table option disables everything; the same flag on a column def opts a single column out and wins over the table option.",{"type":70,"tag":93,"props":1286,"children":1288},{"id":1287},"common-mistakes",[1289],{"type":75,"value":1290},"Common Mistakes",{"type":70,"tag":241,"props":1292,"children":1294},{"id":1293},"critical-rendering-rowspan0-instead-of-skipping-the-cell",[1295,1300],{"type":70,"tag":111,"props":1296,"children":1297},{},[1298],{"type":75,"value":1299},"CRITICAL",{"type":75,"value":1301}," Rendering rowSpan={0} instead of skipping the cell",{"type":70,"tag":71,"props":1303,"children":1304},{},[1305],{"type":75,"value":1306},"Wrong:",{"type":70,"tag":100,"props":1308,"children":1310},{"className":837,"code":1309,"language":839,"meta":105,"style":105},"\u003Ctd rowSpan={cell.getRowSpan()} colSpan={cell.getColSpan()}>\n",[1311],{"type":70,"tag":78,"props":1312,"children":1313},{"__ignoreMap":105},[1314],{"type":70,"tag":111,"props":1315,"children":1316},{"class":113,"line":114},[1317,1322,1326,1330,1334,1338,1342,1346,1350,1354,1358,1362,1366,1370,1374,1378],{"type":70,"tag":111,"props":1318,"children":1319},{"style":124},[1320],{"type":75,"value":1321},"\u003C",{"type":70,"tag":111,"props":1323,"children":1324},{"style":286},[1325],{"type":75,"value":1061},{"type":70,"tag":111,"props":1327,"children":1328},{"style":190},[1329],{"type":75,"value":920},{"type":70,"tag":111,"props":1331,"children":1332},{"style":124},[1333],{"type":75,"value":1071},{"type":70,"tag":111,"props":1335,"children":1336},{"style":130},[1337],{"type":75,"value":894},{"type":70,"tag":111,"props":1339,"children":1340},{"style":124},[1341],{"type":75,"value":756},{"type":70,"tag":111,"props":1343,"children":1344},{"style":206},[1345],{"type":75,"value":939},{"type":70,"tag":111,"props":1347,"children":1348},{"style":130},[1349],{"type":75,"value":872},{"type":70,"tag":111,"props":1351,"children":1352},{"style":124},[1353],{"type":75,"value":1089},{"type":70,"tag":111,"props":1355,"children":1356},{"style":190},[1357],{"type":75,"value":1110},{"type":70,"tag":111,"props":1359,"children":1360},{"style":124},[1361],{"type":75,"value":1071},{"type":70,"tag":111,"props":1363,"children":1364},{"style":130},[1365],{"type":75,"value":894},{"type":70,"tag":111,"props":1367,"children":1368},{"style":124},[1369],{"type":75,"value":756},{"type":70,"tag":111,"props":1371,"children":1372},{"style":206},[1373],{"type":75,"value":973},{"type":70,"tag":111,"props":1375,"children":1376},{"style":130},[1377],{"type":75,"value":872},{"type":70,"tag":111,"props":1379,"children":1380},{"style":124},[1381],{"type":75,"value":1123},{"type":70,"tag":71,"props":1383,"children":1384},{},[1385],{"type":75,"value":1386},"Correct:",{"type":70,"tag":100,"props":1388,"children":1390},{"className":837,"code":1389,"language":839,"meta":105,"style":105},"cell.getIsCovered() ? null : (\n  \u003Ctd rowSpan={cell.getRowSpan()} colSpan={cell.getColSpan()}>\n)\n",[1391],{"type":70,"tag":78,"props":1392,"children":1393},{"__ignoreMap":105},[1394,1432,1500],{"type":70,"tag":111,"props":1395,"children":1396},{"class":113,"line":114},[1397,1401,1405,1410,1415,1419,1424,1428],{"type":70,"tag":111,"props":1398,"children":1399},{"style":130},[1400],{"type":75,"value":894},{"type":70,"tag":111,"props":1402,"children":1403},{"style":124},[1404],{"type":75,"value":756},{"type":70,"tag":111,"props":1406,"children":1407},{"style":206},[1408],{"type":75,"value":1409},"getIsCovered",{"type":70,"tag":111,"props":1411,"children":1412},{"style":130},[1413],{"type":75,"value":1414},"() ",{"type":70,"tag":111,"props":1416,"children":1417},{"style":124},[1418],{"type":75,"value":775},{"type":70,"tag":111,"props":1420,"children":1421},{"style":124},[1422],{"type":75,"value":1423}," null",{"type":70,"tag":111,"props":1425,"children":1426},{"style":124},[1427],{"type":75,"value":785},{"type":70,"tag":111,"props":1429,"children":1430},{"style":130},[1431],{"type":75,"value":1048},{"type":70,"tag":111,"props":1433,"children":1434},{"class":113,"line":171},[1435,1440,1444,1448,1452,1456,1460,1464,1468,1472,1476,1480,1484,1488,1492,1496],{"type":70,"tag":111,"props":1436,"children":1437},{"style":124},[1438],{"type":75,"value":1439},"  \u003C",{"type":70,"tag":111,"props":1441,"children":1442},{"style":286},[1443],{"type":75,"value":1061},{"type":70,"tag":111,"props":1445,"children":1446},{"style":190},[1447],{"type":75,"value":920},{"type":70,"tag":111,"props":1449,"children":1450},{"style":124},[1451],{"type":75,"value":1071},{"type":70,"tag":111,"props":1453,"children":1454},{"style":130},[1455],{"type":75,"value":894},{"type":70,"tag":111,"props":1457,"children":1458},{"style":124},[1459],{"type":75,"value":756},{"type":70,"tag":111,"props":1461,"children":1462},{"style":206},[1463],{"type":75,"value":939},{"type":70,"tag":111,"props":1465,"children":1466},{"style":130},[1467],{"type":75,"value":872},{"type":70,"tag":111,"props":1469,"children":1470},{"style":124},[1471],{"type":75,"value":1089},{"type":70,"tag":111,"props":1473,"children":1474},{"style":190},[1475],{"type":75,"value":1110},{"type":70,"tag":111,"props":1477,"children":1478},{"style":124},[1479],{"type":75,"value":1071},{"type":70,"tag":111,"props":1481,"children":1482},{"style":130},[1483],{"type":75,"value":894},{"type":70,"tag":111,"props":1485,"children":1486},{"style":124},[1487],{"type":75,"value":756},{"type":70,"tag":111,"props":1489,"children":1490},{"style":206},[1491],{"type":75,"value":973},{"type":70,"tag":111,"props":1493,"children":1494},{"style":130},[1495],{"type":75,"value":872},{"type":70,"tag":111,"props":1497,"children":1498},{"style":124},[1499],{"type":75,"value":1123},{"type":70,"tag":111,"props":1501,"children":1502},{"class":113,"line":181},[1503],{"type":70,"tag":111,"props":1504,"children":1505},{"style":130},[1506],{"type":75,"value":233},{"type":70,"tag":71,"props":1508,"children":1509},{},[1510,1512,1518],{"type":75,"value":1511},"In HTML, ",{"type":70,"tag":78,"props":1513,"children":1515},{"className":1514},[],[1516],{"type":75,"value":1517},"rowspan=\"0\"",{"type":75,"value":1519}," is valid and means \"span to the end of the row group\", so the wrong version does not render an empty cell. It merges the covered cell down the entire tbody and shifts every later cell out of its column.",{"type":70,"tag":241,"props":1521,"children":1523},{"id":1522},"high-expecting-spanning-to-sort-or-group-the-rows",[1524,1529],{"type":70,"tag":111,"props":1525,"children":1526},{},[1527],{"type":75,"value":1528},"HIGH",{"type":75,"value":1530}," Expecting spanning to sort or group the rows",{"type":70,"tag":71,"props":1532,"children":1533},{},[1534],{"type":75,"value":1306},{"type":70,"tag":100,"props":1536,"children":1538},{"className":102,"code":1537,"language":104,"meta":105,"style":105},"const features = tableFeatures({ cellSpanningFeature })\n\u002F\u002F data arrives unsorted; the table renders zero merged cells\n",[1539],{"type":70,"tag":78,"props":1540,"children":1541},{"__ignoreMap":105},[1542,1581],{"type":70,"tag":111,"props":1543,"children":1544},{"class":113,"line":114},[1545,1549,1553,1557,1561,1565,1569,1573,1577],{"type":70,"tag":111,"props":1546,"children":1547},{"style":190},[1548],{"type":75,"value":261},{"type":70,"tag":111,"props":1550,"children":1551},{"style":130},[1552],{"type":75,"value":198},{"type":70,"tag":111,"props":1554,"children":1555},{"style":124},[1556],{"type":75,"value":203},{"type":70,"tag":111,"props":1558,"children":1559},{"style":206},[1560],{"type":75,"value":143},{"type":70,"tag":111,"props":1562,"children":1563},{"style":130},[1564],{"type":75,"value":213},{"type":70,"tag":111,"props":1566,"children":1567},{"style":124},[1568],{"type":75,"value":218},{"type":70,"tag":111,"props":1570,"children":1571},{"style":130},[1572],{"type":75,"value":223},{"type":70,"tag":111,"props":1574,"children":1575},{"style":124},[1576],{"type":75,"value":228},{"type":70,"tag":111,"props":1578,"children":1579},{"style":130},[1580],{"type":75,"value":233},{"type":70,"tag":111,"props":1582,"children":1583},{"class":113,"line":171},[1584],{"type":70,"tag":111,"props":1585,"children":1587},{"style":1586},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[1588],{"type":75,"value":1589},"\u002F\u002F data arrives unsorted; the table renders zero merged cells\n",{"type":70,"tag":71,"props":1591,"children":1592},{},[1593],{"type":75,"value":1386},{"type":70,"tag":100,"props":1595,"children":1597},{"className":102,"code":1596,"language":104,"meta":105,"style":105},"const features = tableFeatures({\n  cellSpanningFeature,\n  rowSortingFeature,\n  sortedRowModel: createSortedRowModel(),\n  sortFns: { alphanumeric: sortFn_alphanumeric },\n})\n\u002F\u002F sort by the spanned column, or emit data with equal values adjacent\n",[1598],{"type":70,"tag":78,"props":1599,"children":1600},{"__ignoreMap":105},[1601,1628,1640,1652,1677,1712,1723],{"type":70,"tag":111,"props":1602,"children":1603},{"class":113,"line":114},[1604,1608,1612,1616,1620,1624],{"type":70,"tag":111,"props":1605,"children":1606},{"style":190},[1607],{"type":75,"value":261},{"type":70,"tag":111,"props":1609,"children":1610},{"style":130},[1611],{"type":75,"value":198},{"type":70,"tag":111,"props":1613,"children":1614},{"style":124},[1615],{"type":75,"value":203},{"type":70,"tag":111,"props":1617,"children":1618},{"style":206},[1619],{"type":75,"value":143},{"type":70,"tag":111,"props":1621,"children":1622},{"style":130},[1623],{"type":75,"value":213},{"type":70,"tag":111,"props":1625,"children":1626},{"style":124},[1627],{"type":75,"value":394},{"type":70,"tag":111,"props":1629,"children":1630},{"class":113,"line":171},[1631,1636],{"type":70,"tag":111,"props":1632,"children":1633},{"style":130},[1634],{"type":75,"value":1635},"  cellSpanningFeature",{"type":70,"tag":111,"props":1637,"children":1638},{"style":124},[1639],{"type":75,"value":371},{"type":70,"tag":111,"props":1641,"children":1642},{"class":113,"line":181},[1643,1648],{"type":70,"tag":111,"props":1644,"children":1645},{"style":130},[1646],{"type":75,"value":1647},"  rowSortingFeature",{"type":70,"tag":111,"props":1649,"children":1650},{"style":124},[1651],{"type":75,"value":371},{"type":70,"tag":111,"props":1653,"children":1654},{"class":113,"line":343},[1655,1660,1664,1669,1673],{"type":70,"tag":111,"props":1656,"children":1657},{"style":286},[1658],{"type":75,"value":1659},"  sortedRowModel",{"type":70,"tag":111,"props":1661,"children":1662},{"style":124},[1663],{"type":75,"value":294},{"type":70,"tag":111,"props":1665,"children":1666},{"style":206},[1667],{"type":75,"value":1668}," createSortedRowModel",{"type":70,"tag":111,"props":1670,"children":1671},{"style":130},[1672],{"type":75,"value":872},{"type":70,"tag":111,"props":1674,"children":1675},{"style":124},[1676],{"type":75,"value":371},{"type":70,"tag":111,"props":1678,"children":1679},{"class":113,"line":374},[1680,1685,1689,1693,1698,1702,1707],{"type":70,"tag":111,"props":1681,"children":1682},{"style":286},[1683],{"type":75,"value":1684},"  sortFns",{"type":70,"tag":111,"props":1686,"children":1687},{"style":124},[1688],{"type":75,"value":294},{"type":70,"tag":111,"props":1690,"children":1691},{"style":124},[1692],{"type":75,"value":127},{"type":70,"tag":111,"props":1694,"children":1695},{"style":286},[1696],{"type":75,"value":1697}," alphanumeric",{"type":70,"tag":111,"props":1699,"children":1700},{"style":124},[1701],{"type":75,"value":294},{"type":70,"tag":111,"props":1703,"children":1704},{"style":130},[1705],{"type":75,"value":1706}," sortFn_alphanumeric ",{"type":70,"tag":111,"props":1708,"children":1709},{"style":124},[1710],{"type":75,"value":1711},"},\n",{"type":70,"tag":111,"props":1713,"children":1714},{"class":113,"line":397},[1715,1719],{"type":70,"tag":111,"props":1716,"children":1717},{"style":124},[1718],{"type":75,"value":228},{"type":70,"tag":111,"props":1720,"children":1721},{"style":130},[1722],{"type":75,"value":233},{"type":70,"tag":111,"props":1724,"children":1725},{"class":113,"line":410},[1726],{"type":70,"tag":111,"props":1727,"children":1728},{"style":1586},[1729],{"type":75,"value":1730},"\u002F\u002F sort by the spanned column, or emit data with equal values adjacent\n",{"type":70,"tag":71,"props":1732,"children":1733},{},[1734,1736,1742],{"type":75,"value":1735},"Value-based spanning merges adjacent equal values only. It does not reorder rows, and it is not grouping; register ",{"type":70,"tag":78,"props":1737,"children":1739},{"className":1738},[],[1740],{"type":75,"value":1741},"columnGroupingFeature",{"type":75,"value":1743}," when collapsible group rows are what is wanted.",{"type":70,"tag":241,"props":1745,"children":1747},{"id":1746},"high-precomputing-spans-from-the-source-data",[1748,1752],{"type":70,"tag":111,"props":1749,"children":1750},{},[1751],{"type":75,"value":1528},{"type":75,"value":1753}," Precomputing spans from the source data",{"type":70,"tag":71,"props":1755,"children":1756},{},[1757],{"type":75,"value":1306},{"type":70,"tag":100,"props":1759,"children":1761},{"className":102,"code":1760,"language":104,"meta":105,"style":105},"const spans = useMemo(() => computeSpans(data), [data])\n",[1762],{"type":70,"tag":78,"props":1763,"children":1764},{"__ignoreMap":105},[1765],{"type":70,"tag":111,"props":1766,"children":1767},{"class":113,"line":114},[1768,1772,1777,1781,1786,1790,1794,1798,1803,1808,1812],{"type":70,"tag":111,"props":1769,"children":1770},{"style":190},[1771],{"type":75,"value":261},{"type":70,"tag":111,"props":1773,"children":1774},{"style":130},[1775],{"type":75,"value":1776}," spans ",{"type":70,"tag":111,"props":1778,"children":1779},{"style":124},[1780],{"type":75,"value":203},{"type":70,"tag":111,"props":1782,"children":1783},{"style":206},[1784],{"type":75,"value":1785}," useMemo",{"type":70,"tag":111,"props":1787,"children":1788},{"style":130},[1789],{"type":75,"value":213},{"type":70,"tag":111,"props":1791,"children":1792},{"style":124},[1793],{"type":75,"value":872},{"type":70,"tag":111,"props":1795,"children":1796},{"style":190},[1797],{"type":75,"value":903},{"type":70,"tag":111,"props":1799,"children":1800},{"style":206},[1801],{"type":75,"value":1802}," computeSpans",{"type":70,"tag":111,"props":1804,"children":1805},{"style":130},[1806],{"type":75,"value":1807},"(data)",{"type":70,"tag":111,"props":1809,"children":1810},{"style":124},[1811],{"type":75,"value":138},{"type":70,"tag":111,"props":1813,"children":1814},{"style":130},[1815],{"type":75,"value":1816}," [data])\n",{"type":70,"tag":71,"props":1818,"children":1819},{},[1820],{"type":75,"value":1386},{"type":70,"tag":100,"props":1822,"children":1824},{"className":102,"code":1823,"language":104,"meta":105,"style":105},"const rowSpan = cell.getRowSpan()\n",[1825],{"type":70,"tag":78,"props":1826,"children":1827},{"__ignoreMap":105},[1828],{"type":70,"tag":111,"props":1829,"children":1830},{"class":113,"line":114},[1831,1835,1840,1844,1848,1852,1856],{"type":70,"tag":111,"props":1832,"children":1833},{"style":190},[1834],{"type":75,"value":261},{"type":70,"tag":111,"props":1836,"children":1837},{"style":130},[1838],{"type":75,"value":1839}," rowSpan ",{"type":70,"tag":111,"props":1841,"children":1842},{"style":124},[1843],{"type":75,"value":203},{"type":70,"tag":111,"props":1845,"children":1846},{"style":130},[1847],{"type":75,"value":930},{"type":70,"tag":111,"props":1849,"children":1850},{"style":124},[1851],{"type":75,"value":756},{"type":70,"tag":111,"props":1853,"children":1854},{"style":206},[1855],{"type":75,"value":939},{"type":70,"tag":111,"props":1857,"children":1858},{"style":130},[1859],{"type":75,"value":944},{"type":70,"tag":71,"props":1861,"children":1862},{},[1863,1865,1871],{"type":75,"value":1864},"Spans derive from the final row model. A span precomputed from ",{"type":70,"tag":78,"props":1866,"children":1868},{"className":1867},[],[1869],{"type":75,"value":1870},"data",{"type":75,"value":1872}," survives sorting, filtering, and page changes, producing ragged rows the moment any of them changes.",{"type":70,"tag":241,"props":1874,"children":1876},{"id":1875},"medium-assuming-a-run-continues-across-a-page-boundary",[1877,1882],{"type":70,"tag":111,"props":1878,"children":1879},{},[1880],{"type":75,"value":1881},"MEDIUM",{"type":75,"value":1883}," Assuming a run continues across a page boundary",{"type":70,"tag":71,"props":1885,"children":1886},{},[1887],{"type":75,"value":1888},"A run is clipped by the paginated row model. The next page opens a fresh cell for the continuing value; nothing carries over, and nothing needs to.",{"type":70,"tag":241,"props":1890,"children":1892},{"id":1891},"medium-reimplementing-merge-aware-selection-on-top-of-cellselectionfeature",[1893,1897],{"type":70,"tag":111,"props":1894,"children":1895},{},[1896],{"type":75,"value":1881},{"type":75,"value":1898}," Reimplementing merge-aware selection on top of cellSelectionFeature",{"type":70,"tag":71,"props":1900,"children":1901},{},[1902,1904,1910],{"type":75,"value":1903},"When both features are registered, selection is already merge-aware: ranges expand at derivation time to fully enclose any merge they touch (includes and excludes alike), navigation crosses a merge in one step, and ",{"type":70,"tag":78,"props":1905,"children":1907},{"className":1906},[],[1908],{"type":75,"value":1909},"getSelectedCellCount()",{"type":75,"value":1911}," counts a merge once. Do not pre-expand stored selection corners yourself; stored corners stay stable while sorting or paging changes the merges, and pre-expanded corners go stale.",{"type":70,"tag":241,"props":1913,"children":1915},{"id":1914},"medium-spanning-a-grouped-column",[1916,1920],{"type":70,"tag":111,"props":1917,"children":1918},{},[1919],{"type":75,"value":1881},{"type":75,"value":1921}," Spanning a grouped column",{"type":70,"tag":71,"props":1923,"children":1924},{},[1925,1931],{"type":70,"tag":78,"props":1926,"children":1928},{"className":1927},[],[1929],{"type":75,"value":1930},"spanRows",{"type":75,"value":1932}," is ignored while its column is grouped, and grouped rows never join runs in any column. Grouping already collapses repeated values into group rows; spanning them again would merge twice.",{"type":70,"tag":93,"props":1934,"children":1936},{"id":1935},"api-discovery",[1937],{"type":75,"value":1938},"API Discovery",{"type":70,"tag":71,"props":1940,"children":1941},{},[1942,1944,1950,1952,1958,1960,1966,1967,1972,1973,1979,1981,1986,1987,1992,1993,1999],{"type":75,"value":1943},"Inspect ",{"type":70,"tag":78,"props":1945,"children":1947},{"className":1946},[],[1948],{"type":75,"value":1949},"node_modules\u002F@tanstack\u002Ftable-core\u002Fdist\u002Ffeatures\u002Fcell-spanning\u002F",{"type":75,"value":1951}," for the full API: ",{"type":70,"tag":78,"props":1953,"children":1955},{"className":1954},[],[1956],{"type":75,"value":1957},"cell.getRowSpan()",{"type":75,"value":1959},", ",{"type":70,"tag":78,"props":1961,"children":1963},{"className":1962},[],[1964],{"type":75,"value":1965},"cell.getColSpan()",{"type":75,"value":1959},{"type":70,"tag":78,"props":1968,"children":1970},{"className":1969},[],[1971],{"type":75,"value":1257},{"type":75,"value":1959},{"type":70,"tag":78,"props":1974,"children":1976},{"className":1975},[],[1977],{"type":75,"value":1978},"table.getCellSpanIndex()",{"type":75,"value":1980},", and the ",{"type":70,"tag":78,"props":1982,"children":1984},{"className":1983},[],[1985],{"type":75,"value":1930},{"type":75,"value":578},{"type":70,"tag":78,"props":1988,"children":1990},{"className":1989},[],[1991],{"type":75,"value":818},{"type":75,"value":578},{"type":70,"tag":78,"props":1994,"children":1996},{"className":1995},[],[1997],{"type":75,"value":1998},"enableCellSpanning",{"type":75,"value":2000}," column and table options.",{"type":70,"tag":2002,"props":2003,"children":2004},"style",{},[2005],{"type":75,"value":2006},"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":2008,"total":2139},[2009,2021,2033,2043,2050,2065,2075,2085,2095,2108,2118,2129],{"slug":2010,"name":2010,"fn":2011,"description":2012,"org":2013,"tags":2014,"stars":23,"repoUrl":24,"updatedAt":2020},"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},[2015,2018,2019],{"name":2016,"slug":2017,"type":15},"Data Analysis","data-analysis",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-02T05:44:33.993007",{"slug":2022,"name":2022,"fn":2023,"description":2024,"org":2025,"tags":2026,"stars":23,"repoUrl":24,"updatedAt":2032},"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},[2027,2030,2031],{"name":2028,"slug":2029,"type":15},"Debugging","debugging",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-02T05:44:40.224235",{"slug":2034,"name":2034,"fn":2035,"description":2036,"org":2037,"tags":2038,"stars":23,"repoUrl":24,"updatedAt":2042},"cell-selection","select rectangular cell ranges in tables","Select, add, and subtract rectangular cell ranges with cellSelectionFeature: ordered include\u002Fexclude operations keyed by row and column id, modifier dragging, final positive bounds, selection edges, render-order resolution under pinning, and autoResetCellSelection. Load for spreadsheet-style selection, “select all except” behavior, unexpected range changes after sorting or reordering, drag performance, or copy-to-clipboard.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2039,2040,2041],{"name":2016,"slug":2017,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},"2026-08-02T05:44:13.012665",{"slug":4,"name":4,"fn":5,"description":6,"org":2044,"tags":2045,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2046,2047,2048,2049],{"name":13,"slug":14,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"slug":2051,"name":2051,"fn":2052,"description":2053,"org":2054,"tags":2055,"stars":23,"repoUrl":24,"updatedAt":2064},"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},[2056,2059,2060,2063],{"name":2057,"slug":2058,"type":15},"Data Pipeline","data-pipeline",{"name":21,"slug":22,"type":15},{"name":2061,"slug":2062,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},"2026-08-02T05:44:20.06065",{"slug":2066,"name":2066,"fn":2067,"description":2068,"org":2069,"tags":2070,"stars":23,"repoUrl":24,"updatedAt":2074},"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},[2071,2072,2073],{"name":13,"slug":14,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-02T05:44:15.988781",{"slug":2076,"name":2076,"fn":2077,"description":2078,"org":2079,"tags":2080,"stars":23,"repoUrl":24,"updatedAt":2084},"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},[2081,2082,2083],{"name":2016,"slug":2017,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-02T05:44:28.012616",{"slug":2086,"name":2086,"fn":2087,"description":2088,"org":2089,"tags":2090,"stars":23,"repoUrl":24,"updatedAt":2094},"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},[2091,2092,2093],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},"2026-08-02T05:44:38.006667",{"slug":2096,"name":2096,"fn":2097,"description":2098,"org":2099,"tags":2100,"stars":23,"repoUrl":24,"updatedAt":2107},"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},[2101,2104,2105,2106],{"name":2102,"slug":2103,"type":15},"CSS","css",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},"2026-08-02T05:44:30.016065",{"slug":2109,"name":2109,"fn":2110,"description":2111,"org":2112,"tags":2113,"stars":23,"repoUrl":24,"updatedAt":2117},"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},[2114,2115,2116],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},"2026-08-02T05:44:25.995072",{"slug":2119,"name":2119,"fn":2120,"description":2121,"org":2122,"tags":2123,"stars":23,"repoUrl":24,"updatedAt":2128},"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},[2124,2125,2126,2127],{"name":2102,"slug":2103,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},"2026-08-02T05:44:23.013991",{"slug":2130,"name":2130,"fn":2131,"description":2132,"org":2133,"tags":2134,"stars":23,"repoUrl":24,"updatedAt":2138},"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},[2135,2136,2137],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},"2026-08-02T05:44:21.993645",127,{"items":2141,"total":2186},[2142,2148,2154,2160,2167,2174,2180],{"slug":2010,"name":2010,"fn":2011,"description":2012,"org":2143,"tags":2144,"stars":23,"repoUrl":24,"updatedAt":2020},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2145,2146,2147],{"name":2016,"slug":2017,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"slug":2022,"name":2022,"fn":2023,"description":2024,"org":2149,"tags":2150,"stars":23,"repoUrl":24,"updatedAt":2032},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2151,2152,2153],{"name":2028,"slug":2029,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"slug":2034,"name":2034,"fn":2035,"description":2036,"org":2155,"tags":2156,"stars":23,"repoUrl":24,"updatedAt":2042},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2157,2158,2159],{"name":2016,"slug":2017,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":2161,"tags":2162,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2163,2164,2165,2166],{"name":13,"slug":14,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"slug":2051,"name":2051,"fn":2052,"description":2053,"org":2168,"tags":2169,"stars":23,"repoUrl":24,"updatedAt":2064},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2170,2171,2172,2173],{"name":2057,"slug":2058,"type":15},{"name":21,"slug":22,"type":15},{"name":2061,"slug":2062,"type":15},{"name":9,"slug":8,"type":15},{"slug":2066,"name":2066,"fn":2067,"description":2068,"org":2175,"tags":2176,"stars":23,"repoUrl":24,"updatedAt":2074},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2177,2178,2179],{"name":13,"slug":14,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"slug":2076,"name":2076,"fn":2077,"description":2078,"org":2181,"tags":2182,"stars":23,"repoUrl":24,"updatedAt":2084},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2183,2184,2185],{"name":2016,"slug":2017,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},31]