[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tanstack-ship-accessible-charts":3,"mdc--pbesxc-key":48,"related-org-tanstack-ship-accessible-charts":2065,"related-repo-tanstack-ship-accessible-charts":2207},{"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":43,"sourceUrl":46,"mdContent":47},"ship-accessible-charts","ship accessible TanStack Charts","Ship TanStack Charts with meaningful accessibility, deterministic SSR and hydration, correct adapter lifecycle, renderer and export choices, exact package subpaths, and explicit React Native validation.\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},"Accessibility","accessibility","tag",{"name":17,"slug":18,"type":15},"Charts","charts",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Frontend","frontend",608,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Fcharts","2026-08-15T03:47:33.162903",null,40,[29,30,18,31,32,33,34,35,36,37,38,39,40,8,41,42],"accessible-charts","charting-library","d3","data-visualization","dataviz","grammar-of-graphics","javascript","octane","react","responsive-charts","ssr","svg","typescript","visualization",{"repoUrl":24,"stars":23,"forks":27,"topics":44,"description":45},[29,30,18,31,32,33,34,35,36,37,38,39,40,8,41,42],"A tiny TypeScript visualization grammar for responsive, accessible, server-rendered charts—powered by granular D3 primitives.","https:\u002F\u002Fgithub.com\u002FTanStack\u002Fcharts\u002Ftree\u002FHEAD\u002Fpackages\u002Fcharts-core\u002Fskills\u002Fship-accessible-charts","---\nname: ship-accessible-charts\ndescription: >\n  Ship TanStack Charts with meaningful accessibility, deterministic SSR and\n  hydration, correct adapter lifecycle, renderer and export choices, exact\n  package subpaths, and explicit React Native validation.\nmetadata:\n  type: lifecycle\n  library: '@tanstack\u002Fcharts'\n  library_version: '0.9.0'\nsources:\n  - 'TanStack\u002Fcharts:docs\u002Fguides\u002Faccessibility.md'\n  - 'TanStack\u002Fcharts:docs\u002Fguides\u002Fssr-and-hydration.md'\n  - 'TanStack\u002Fcharts:docs\u002Fguides\u002Fexporting.md'\n  - 'TanStack\u002Fcharts:docs\u002Fframework\u002F*\u002Fadapter.md'\n  - 'TanStack\u002Fcharts:packages\u002Freact-native-charts\u002FREADME.md'\n---\n\n# Ship Accessible Charts\n\nRun **trigger → inspect → decide → build → verify** before release. A chart is shipped only when its semantic alternative, adapter lifecycle, SSR policy, renderer, exports, package boundaries, and teardown are proven in a consumer-shaped scenario.\n\n## Accessibility Checks\n\n### Check: the name identifies the comparison\n\nExpected:\n\n```ts\nconst hostOptions = {\n  definition,\n  height: 320,\n  initialWidth: 640,\n  ariaLabel: 'Weekly downloads for Core and React packages',\n  ariaDescription: 'Values are seven-day totals. Missing weeks appear as gaps.',\n}\n```\n\nFail condition: the label says only “chart”, repeats a visible heading without the metric, or omits the comparison and period.\n\nFix: name the metric, compared entities, and time scope; put conclusions and detailed values in normal application content.\n\n### Check: critical values have an equivalent representation\n\nExpected: a visible heading and units, plus an adjacent summary or semantic table when precise values or application decisions depend on the chart.\n\nFail condition: the only way to retrieve an essential value is pointer hover, color, motion, or visual estimation.\n\nFix: bind the same semantic rows or selected key to application text\u002Ftable controls.\n\n### Check: every interaction has a non-pointer path\n\nExpected: native point keyboard navigation, semantic buttons\u002Finputs for free cursors and range controls, visible focus, cancel\u002Freset paths, and meaningful committed-state text.\n\nFail condition: a transparent pointer overlay is the sole control surface.\n\nFix: use first-party controls where their keyboard contract fits and application-owned semantic controls otherwise.\n\n## Lifecycle Checks\n\n### Check: SSR uses a supported adapter and deterministic inputs\n\nExpected:\n\n```ts\nimport {\n  createChartRuntime,\n  defineChart,\n  lineY,\n  renderChartSvg,\n} from '@tanstack\u002Fcharts'\nimport { scaleLinear } from '@tanstack\u002Fcharts\u002Fscales\u002Flinear'\nimport { scaleUtc } from 'd3-scale'\n\ninterface TrafficRow {\n  date: Date\n  visits: number\n}\n\nconst rows: readonly TrafficRow[] = [\n  { date: new Date('2026-08-10T00:00:00Z'), visits: 820 },\n  { date: new Date('2026-08-11T00:00:00Z'), visits: 910 },\n]\n\nconst definition = defineChart({\n  marks: [lineY(rows, { x: 'date', y: 'visits' })],\n  x: { scale: scaleUtc },\n  y: { scale: scaleLinear },\n})\n\nconst runtime = createChartRuntime\u003CTrafficRow, Date, number>()\nconst scene = runtime.render(definition, { width: 720, height: 400 })\n\nexport const svg = renderChartSvg(scene, {\n  ariaLabel: 'Daily traffic',\n  idPrefix: 'daily-traffic',\n})\n\nruntime.destroy()\n```\n\nFail condition: definition construction reads browser layout, random values, local time, or unresolved async data; or the selected adapter does not promise SSR.\n\nFix: resolve data before render, use deterministic formatting and dimensions, and follow the selected adapter reference.\n\n### Check: mount, update, and cleanup stay adapter-owned\n\nExpected: one runtime per mounted adapter instance, complete immutable option updates, stable definitions until captured values change, and cleanup on unmount\u002Fdisconnect.\n\nFail condition: application code calls DOM measurement or mounts a browser host during server render, or retains observers\u002Flisteners after removal.\n\nFix: use the adapter lifecycle or `mountChart` only in a browser-owned mount phase and call `destroy()` at teardown.\n\n## Renderer and Export Checks\n\n### Check: renderer choice matches the task\n\n- SVG: visible server geometry, vector export, DOM styling, ordinary interactive charts.\n- Canvas: high scene counts or raster-first output; server emits an accessible shell, not pixels.\n- Static SVG: deterministic server\u002Fexport artifact without browser interaction.\n- React Native SVG: explicit native target with device-level validation.\n\n### Check: export is reproducible\n\nExpected: explicit dimensions, theme\u002Fbackground, scoped IDs, portable fonts\u002Fassets, intentional focus inclusion, and a meaningful exported name\u002Fdescription.\n\nFail condition: export depends on current responsive pixels or unreachable application CSS\u002Fresources.\n\nFix: render an explicit scene or serialize\u002Frasterize with explicit artifact policy.\n\n## Common Mistakes\n\n### CRITICAL Using a generic accessible label\n\nWrong: `ariaLabel: 'Chart'`.\n\nCorrect: identify the metric, entities, period, and unit needed to understand the figure.\n\nA generic label exposes a focusable graphic without useful identity.\n\nSource: `docs\u002Fguides\u002Faccessibility.md`\n\n### HIGH Making the chart the only representation\n\nWrong: require hover or visual estimation for exact operational values.\n\nCorrect: render a summary, table, or application controls from the same semantic data\u002Fstate.\n\nThe chart surface is supplemental when exact values are critical.\n\nSource: `docs\u002Fguides\u002Faccessibility.md`; archived responsive\u002Faccessibility notes\n\n### CRITICAL Mounting a browser host during server rendering\n\nWrong: call `mountChart` or adapter DOM mount from a server lifecycle.\n\nCorrect: prerender a deterministic scene through a supported SSR adapter or `renderChartSvg`, then mount the browser host only after a real element exists.\n\nMeasurement and mutation require browser elements. Older Angular workarounds were especially prone to this boundary error.\n\nSource: GitHub issue 56; `docs\u002Fguides\u002Fssr-and-hydration.md`\n\n### HIGH Putting behavior on adapter props\n\nWrong:\n\n```tsx\n\u003CChart definition={chart} tooltip keyboard \u002F>\n```\n\nCorrect:\n\n```tsx\nconst interactive = defineChart(chart, { tooltip, keyboard: true })\n\u003CChart definition={interactive} ariaLabel=\"Revenue by month\" \u002F>\n```\n\nFocus, tooltip, keyboard, controls, cursors, and SVG animation belong to the reusable definition; adapters own surface lifecycle and framework body composition. The current definition API replaces legacy adapter behavior props.\n\nSource: chart-behavior migration in `CHANGELOG.md`; React chart reference\n\n### HIGH Importing the universal barrel on native\n\nWrong: use `@tanstack\u002Fcharts\u002Funiversal` for every native chart.\n\nCorrect: use exact core mark\u002Fscale\u002Fscene and `@tanstack\u002Fcharts\u002Freact-native` subpaths unless cross-platform authoring justifies the universal bundle.\n\nExact imports protect Metro and native declaration environments from unrelated browser and optional capability code.\n\nSource: `API-FRICTION.md` F-154, F-171, F-173, F-256; React Native package README\n\n### HIGH Tension: rich interaction versus portable rendering\n\nDOM convenience can break static SVG, Canvas, native, SSR, or keyboard equivalence. Keep semantics in definitions and application state; use platform-specific body\u002Fhost extensions only at the presentation seam.\n\nSee also: `build-chart-interactions\u002FSKILL.md` and `extend-tanstack-charts\u002FSKILL.md`\n\n## Pre-Deploy Summary\n\n- [ ] Meaningful name and concise description.\n- [ ] Visible units, time range, and source context.\n- [ ] Exact-value summary\u002Ftable where required.\n- [ ] Pointer, keyboard, touch, and cancel\u002Freset scenarios.\n- [ ] Reduced-motion and non-color evidence.\n- [ ] Supported SSR policy with deterministic initial geometry.\n- [ ] Stable definition, mark, datum, and resource IDs.\n- [ ] Mount, update, resize, font relayout, and destroy verified.\n- [ ] Renderer and export behavior verified from a packed consumer.\n- [ ] Native claims verified on target devices when applicable.\n\n## References\n\n- [React](references\u002Freact.md)\n- [Preact](references\u002Fpreact.md)\n- [Vue](references\u002Fvue.md)\n- [Solid](references\u002Fsolid.md)\n- [Svelte](references\u002Fsvelte.md)\n- [Angular](references\u002Fangular.md)\n- [Lit](references\u002Flit.md)\n- [Alpine](references\u002Falpine.md)\n- [Octane](references\u002Foctane.md)\n- [React Native](references\u002Freact-native.md)\n- [Renderers and export](references\u002Frenderers-and-export.md)\n\nSee also: `debug-and-verify-charts\u002FSKILL.md` — SSR, accessibility, renderer, and package claims need consumer-level evidence.\n",{"data":49,"body":60},{"name":4,"description":6,"metadata":50,"sources":54},{"type":51,"library":52,"library_version":53},"lifecycle","@tanstack\u002Fcharts","0.9.0",[55,56,57,58,59],"TanStack\u002Fcharts:docs\u002Fguides\u002Faccessibility.md","TanStack\u002Fcharts:docs\u002Fguides\u002Fssr-and-hydration.md","TanStack\u002Fcharts:docs\u002Fguides\u002Fexporting.md","TanStack\u002Fcharts:docs\u002Fframework\u002F*\u002Fadapter.md","TanStack\u002Fcharts:packages\u002Freact-native-charts\u002FREADME.md",{"type":61,"children":62},"root",[63,71,85,92,99,104,278,283,288,294,299,304,309,315,320,325,330,336,342,346,1310,1315,1320,1326,1331,1336,1357,1363,1369,1394,1400,1405,1410,1415,1421,1427,1439,1444,1449,1460,1466,1471,1476,1481,1492,1498,1510,1523,1528,1539,1545,1550,1606,1611,1737,1742,1755,1761,1774,1787,1792,1804,1810,1815,1834,1840,1938,1944,2047,2059],{"type":64,"tag":65,"props":66,"children":67},"element","h1",{"id":4},[68],{"type":69,"value":70},"text","Ship Accessible Charts",{"type":64,"tag":72,"props":73,"children":74},"p",{},[75,77,83],{"type":69,"value":76},"Run ",{"type":64,"tag":78,"props":79,"children":80},"strong",{},[81],{"type":69,"value":82},"trigger → inspect → decide → build → verify",{"type":69,"value":84}," before release. A chart is shipped only when its semantic alternative, adapter lifecycle, SSR policy, renderer, exports, package boundaries, and teardown are proven in a consumer-shaped scenario.",{"type":64,"tag":86,"props":87,"children":89},"h2",{"id":88},"accessibility-checks",[90],{"type":69,"value":91},"Accessibility Checks",{"type":64,"tag":93,"props":94,"children":96},"h3",{"id":95},"check-the-name-identifies-the-comparison",[97],{"type":69,"value":98},"Check: the name identifies the comparison",{"type":64,"tag":72,"props":100,"children":101},{},[102],{"type":69,"value":103},"Expected:",{"type":64,"tag":105,"props":106,"children":111},"pre",{"className":107,"code":108,"language":109,"meta":110,"style":110},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const hostOptions = {\n  definition,\n  height: 320,\n  initialWidth: 640,\n  ariaLabel: 'Weekly downloads for Core and React packages',\n  ariaDescription: 'Values are seven-day totals. Missing weeks appear as gaps.',\n}\n","ts","",[112],{"type":64,"tag":113,"props":114,"children":115},"code",{"__ignoreMap":110},[116,145,159,184,206,239,269],{"type":64,"tag":117,"props":118,"children":121},"span",{"class":119,"line":120},"line",1,[122,128,134,140],{"type":64,"tag":117,"props":123,"children":125},{"style":124},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[126],{"type":69,"value":127},"const",{"type":64,"tag":117,"props":129,"children":131},{"style":130},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[132],{"type":69,"value":133}," hostOptions ",{"type":64,"tag":117,"props":135,"children":137},{"style":136},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[138],{"type":69,"value":139},"=",{"type":64,"tag":117,"props":141,"children":142},{"style":136},[143],{"type":69,"value":144}," {\n",{"type":64,"tag":117,"props":146,"children":148},{"class":119,"line":147},2,[149,154],{"type":64,"tag":117,"props":150,"children":151},{"style":130},[152],{"type":69,"value":153},"  definition",{"type":64,"tag":117,"props":155,"children":156},{"style":136},[157],{"type":69,"value":158},",\n",{"type":64,"tag":117,"props":160,"children":162},{"class":119,"line":161},3,[163,169,174,180],{"type":64,"tag":117,"props":164,"children":166},{"style":165},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[167],{"type":69,"value":168},"  height",{"type":64,"tag":117,"props":170,"children":171},{"style":136},[172],{"type":69,"value":173},":",{"type":64,"tag":117,"props":175,"children":177},{"style":176},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[178],{"type":69,"value":179}," 320",{"type":64,"tag":117,"props":181,"children":182},{"style":136},[183],{"type":69,"value":158},{"type":64,"tag":117,"props":185,"children":187},{"class":119,"line":186},4,[188,193,197,202],{"type":64,"tag":117,"props":189,"children":190},{"style":165},[191],{"type":69,"value":192},"  initialWidth",{"type":64,"tag":117,"props":194,"children":195},{"style":136},[196],{"type":69,"value":173},{"type":64,"tag":117,"props":198,"children":199},{"style":176},[200],{"type":69,"value":201}," 640",{"type":64,"tag":117,"props":203,"children":204},{"style":136},[205],{"type":69,"value":158},{"type":64,"tag":117,"props":207,"children":209},{"class":119,"line":208},5,[210,215,219,224,230,235],{"type":64,"tag":117,"props":211,"children":212},{"style":165},[213],{"type":69,"value":214},"  ariaLabel",{"type":64,"tag":117,"props":216,"children":217},{"style":136},[218],{"type":69,"value":173},{"type":64,"tag":117,"props":220,"children":221},{"style":136},[222],{"type":69,"value":223}," '",{"type":64,"tag":117,"props":225,"children":227},{"style":226},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[228],{"type":69,"value":229},"Weekly downloads for Core and React packages",{"type":64,"tag":117,"props":231,"children":232},{"style":136},[233],{"type":69,"value":234},"'",{"type":64,"tag":117,"props":236,"children":237},{"style":136},[238],{"type":69,"value":158},{"type":64,"tag":117,"props":240,"children":242},{"class":119,"line":241},6,[243,248,252,256,261,265],{"type":64,"tag":117,"props":244,"children":245},{"style":165},[246],{"type":69,"value":247},"  ariaDescription",{"type":64,"tag":117,"props":249,"children":250},{"style":136},[251],{"type":69,"value":173},{"type":64,"tag":117,"props":253,"children":254},{"style":136},[255],{"type":69,"value":223},{"type":64,"tag":117,"props":257,"children":258},{"style":226},[259],{"type":69,"value":260},"Values are seven-day totals. Missing weeks appear as gaps.",{"type":64,"tag":117,"props":262,"children":263},{"style":136},[264],{"type":69,"value":234},{"type":64,"tag":117,"props":266,"children":267},{"style":136},[268],{"type":69,"value":158},{"type":64,"tag":117,"props":270,"children":272},{"class":119,"line":271},7,[273],{"type":64,"tag":117,"props":274,"children":275},{"style":136},[276],{"type":69,"value":277},"}\n",{"type":64,"tag":72,"props":279,"children":280},{},[281],{"type":69,"value":282},"Fail condition: the label says only “chart”, repeats a visible heading without the metric, or omits the comparison and period.",{"type":64,"tag":72,"props":284,"children":285},{},[286],{"type":69,"value":287},"Fix: name the metric, compared entities, and time scope; put conclusions and detailed values in normal application content.",{"type":64,"tag":93,"props":289,"children":291},{"id":290},"check-critical-values-have-an-equivalent-representation",[292],{"type":69,"value":293},"Check: critical values have an equivalent representation",{"type":64,"tag":72,"props":295,"children":296},{},[297],{"type":69,"value":298},"Expected: a visible heading and units, plus an adjacent summary or semantic table when precise values or application decisions depend on the chart.",{"type":64,"tag":72,"props":300,"children":301},{},[302],{"type":69,"value":303},"Fail condition: the only way to retrieve an essential value is pointer hover, color, motion, or visual estimation.",{"type":64,"tag":72,"props":305,"children":306},{},[307],{"type":69,"value":308},"Fix: bind the same semantic rows or selected key to application text\u002Ftable controls.",{"type":64,"tag":93,"props":310,"children":312},{"id":311},"check-every-interaction-has-a-non-pointer-path",[313],{"type":69,"value":314},"Check: every interaction has a non-pointer path",{"type":64,"tag":72,"props":316,"children":317},{},[318],{"type":69,"value":319},"Expected: native point keyboard navigation, semantic buttons\u002Finputs for free cursors and range controls, visible focus, cancel\u002Freset paths, and meaningful committed-state text.",{"type":64,"tag":72,"props":321,"children":322},{},[323],{"type":69,"value":324},"Fail condition: a transparent pointer overlay is the sole control surface.",{"type":64,"tag":72,"props":326,"children":327},{},[328],{"type":69,"value":329},"Fix: use first-party controls where their keyboard contract fits and application-owned semantic controls otherwise.",{"type":64,"tag":86,"props":331,"children":333},{"id":332},"lifecycle-checks",[334],{"type":69,"value":335},"Lifecycle Checks",{"type":64,"tag":93,"props":337,"children":339},{"id":338},"check-ssr-uses-a-supported-adapter-and-deterministic-inputs",[340],{"type":69,"value":341},"Check: SSR uses a supported adapter and deterministic inputs",{"type":64,"tag":72,"props":343,"children":344},{},[345],{"type":69,"value":103},{"type":64,"tag":105,"props":347,"children":349},{"className":107,"code":348,"language":109,"meta":110,"style":110},"import {\n  createChartRuntime,\n  defineChart,\n  lineY,\n  renderChartSvg,\n} from '@tanstack\u002Fcharts'\nimport { scaleLinear } from '@tanstack\u002Fcharts\u002Fscales\u002Flinear'\nimport { scaleUtc } from 'd3-scale'\n\ninterface TrafficRow {\n  date: Date\n  visits: number\n}\n\nconst rows: readonly TrafficRow[] = [\n  { date: new Date('2026-08-10T00:00:00Z'), visits: 820 },\n  { date: new Date('2026-08-11T00:00:00Z'), visits: 910 },\n]\n\nconst definition = defineChart({\n  marks: [lineY(rows, { x: 'date', y: 'visits' })],\n  x: { scale: scaleUtc },\n  y: { scale: scaleLinear },\n})\n\nconst runtime = createChartRuntime\u003CTrafficRow, Date, number>()\nconst scene = runtime.render(definition, { width: 720, height: 400 })\n\nexport const svg = renderChartSvg(scene, {\n  ariaLabel: 'Daily traffic',\n  idPrefix: 'daily-traffic',\n})\n\nruntime.destroy()\n",[350],{"type":64,"tag":113,"props":351,"children":352},{"__ignoreMap":110},[353,366,378,390,402,414,440,479,517,527,546,564,582,590,598,638,714,780,789,797,828,925,961,995,1008,1016,1075,1160,1168,1209,1238,1268,1280,1288],{"type":64,"tag":117,"props":354,"children":355},{"class":119,"line":120},[356,362],{"type":64,"tag":117,"props":357,"children":359},{"style":358},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[360],{"type":69,"value":361},"import",{"type":64,"tag":117,"props":363,"children":364},{"style":136},[365],{"type":69,"value":144},{"type":64,"tag":117,"props":367,"children":368},{"class":119,"line":147},[369,374],{"type":64,"tag":117,"props":370,"children":371},{"style":130},[372],{"type":69,"value":373},"  createChartRuntime",{"type":64,"tag":117,"props":375,"children":376},{"style":136},[377],{"type":69,"value":158},{"type":64,"tag":117,"props":379,"children":380},{"class":119,"line":161},[381,386],{"type":64,"tag":117,"props":382,"children":383},{"style":130},[384],{"type":69,"value":385},"  defineChart",{"type":64,"tag":117,"props":387,"children":388},{"style":136},[389],{"type":69,"value":158},{"type":64,"tag":117,"props":391,"children":392},{"class":119,"line":186},[393,398],{"type":64,"tag":117,"props":394,"children":395},{"style":130},[396],{"type":69,"value":397},"  lineY",{"type":64,"tag":117,"props":399,"children":400},{"style":136},[401],{"type":69,"value":158},{"type":64,"tag":117,"props":403,"children":404},{"class":119,"line":208},[405,410],{"type":64,"tag":117,"props":406,"children":407},{"style":130},[408],{"type":69,"value":409},"  renderChartSvg",{"type":64,"tag":117,"props":411,"children":412},{"style":136},[413],{"type":69,"value":158},{"type":64,"tag":117,"props":415,"children":416},{"class":119,"line":241},[417,422,427,431,435],{"type":64,"tag":117,"props":418,"children":419},{"style":136},[420],{"type":69,"value":421},"}",{"type":64,"tag":117,"props":423,"children":424},{"style":358},[425],{"type":69,"value":426}," from",{"type":64,"tag":117,"props":428,"children":429},{"style":136},[430],{"type":69,"value":223},{"type":64,"tag":117,"props":432,"children":433},{"style":226},[434],{"type":69,"value":52},{"type":64,"tag":117,"props":436,"children":437},{"style":136},[438],{"type":69,"value":439},"'\n",{"type":64,"tag":117,"props":441,"children":442},{"class":119,"line":271},[443,447,452,457,462,466,470,475],{"type":64,"tag":117,"props":444,"children":445},{"style":358},[446],{"type":69,"value":361},{"type":64,"tag":117,"props":448,"children":449},{"style":136},[450],{"type":69,"value":451}," {",{"type":64,"tag":117,"props":453,"children":454},{"style":130},[455],{"type":69,"value":456}," scaleLinear",{"type":64,"tag":117,"props":458,"children":459},{"style":136},[460],{"type":69,"value":461}," }",{"type":64,"tag":117,"props":463,"children":464},{"style":358},[465],{"type":69,"value":426},{"type":64,"tag":117,"props":467,"children":468},{"style":136},[469],{"type":69,"value":223},{"type":64,"tag":117,"props":471,"children":472},{"style":226},[473],{"type":69,"value":474},"@tanstack\u002Fcharts\u002Fscales\u002Flinear",{"type":64,"tag":117,"props":476,"children":477},{"style":136},[478],{"type":69,"value":439},{"type":64,"tag":117,"props":480,"children":482},{"class":119,"line":481},8,[483,487,491,496,500,504,508,513],{"type":64,"tag":117,"props":484,"children":485},{"style":358},[486],{"type":69,"value":361},{"type":64,"tag":117,"props":488,"children":489},{"style":136},[490],{"type":69,"value":451},{"type":64,"tag":117,"props":492,"children":493},{"style":130},[494],{"type":69,"value":495}," scaleUtc",{"type":64,"tag":117,"props":497,"children":498},{"style":136},[499],{"type":69,"value":461},{"type":64,"tag":117,"props":501,"children":502},{"style":358},[503],{"type":69,"value":426},{"type":64,"tag":117,"props":505,"children":506},{"style":136},[507],{"type":69,"value":223},{"type":64,"tag":117,"props":509,"children":510},{"style":226},[511],{"type":69,"value":512},"d3-scale",{"type":64,"tag":117,"props":514,"children":515},{"style":136},[516],{"type":69,"value":439},{"type":64,"tag":117,"props":518,"children":520},{"class":119,"line":519},9,[521],{"type":64,"tag":117,"props":522,"children":524},{"emptyLinePlaceholder":523},true,[525],{"type":69,"value":526},"\n",{"type":64,"tag":117,"props":528,"children":530},{"class":119,"line":529},10,[531,536,542],{"type":64,"tag":117,"props":532,"children":533},{"style":124},[534],{"type":69,"value":535},"interface",{"type":64,"tag":117,"props":537,"children":539},{"style":538},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[540],{"type":69,"value":541}," TrafficRow",{"type":64,"tag":117,"props":543,"children":544},{"style":136},[545],{"type":69,"value":144},{"type":64,"tag":117,"props":547,"children":549},{"class":119,"line":548},11,[550,555,559],{"type":64,"tag":117,"props":551,"children":552},{"style":165},[553],{"type":69,"value":554},"  date",{"type":64,"tag":117,"props":556,"children":557},{"style":136},[558],{"type":69,"value":173},{"type":64,"tag":117,"props":560,"children":561},{"style":538},[562],{"type":69,"value":563}," Date\n",{"type":64,"tag":117,"props":565,"children":567},{"class":119,"line":566},12,[568,573,577],{"type":64,"tag":117,"props":569,"children":570},{"style":165},[571],{"type":69,"value":572},"  visits",{"type":64,"tag":117,"props":574,"children":575},{"style":136},[576],{"type":69,"value":173},{"type":64,"tag":117,"props":578,"children":579},{"style":538},[580],{"type":69,"value":581}," number\n",{"type":64,"tag":117,"props":583,"children":585},{"class":119,"line":584},13,[586],{"type":64,"tag":117,"props":587,"children":588},{"style":136},[589],{"type":69,"value":277},{"type":64,"tag":117,"props":591,"children":593},{"class":119,"line":592},14,[594],{"type":64,"tag":117,"props":595,"children":596},{"emptyLinePlaceholder":523},[597],{"type":69,"value":526},{"type":64,"tag":117,"props":599,"children":601},{"class":119,"line":600},15,[602,606,611,615,620,624,629,633],{"type":64,"tag":117,"props":603,"children":604},{"style":124},[605],{"type":69,"value":127},{"type":64,"tag":117,"props":607,"children":608},{"style":130},[609],{"type":69,"value":610}," rows",{"type":64,"tag":117,"props":612,"children":613},{"style":136},[614],{"type":69,"value":173},{"type":64,"tag":117,"props":616,"children":617},{"style":124},[618],{"type":69,"value":619}," readonly",{"type":64,"tag":117,"props":621,"children":622},{"style":538},[623],{"type":69,"value":541},{"type":64,"tag":117,"props":625,"children":626},{"style":130},[627],{"type":69,"value":628},"[] ",{"type":64,"tag":117,"props":630,"children":631},{"style":136},[632],{"type":69,"value":139},{"type":64,"tag":117,"props":634,"children":635},{"style":130},[636],{"type":69,"value":637}," [\n",{"type":64,"tag":117,"props":639,"children":641},{"class":119,"line":640},16,[642,647,652,656,661,667,672,676,681,685,690,695,700,704,709],{"type":64,"tag":117,"props":643,"children":644},{"style":136},[645],{"type":69,"value":646},"  {",{"type":64,"tag":117,"props":648,"children":649},{"style":165},[650],{"type":69,"value":651}," date",{"type":64,"tag":117,"props":653,"children":654},{"style":136},[655],{"type":69,"value":173},{"type":64,"tag":117,"props":657,"children":658},{"style":136},[659],{"type":69,"value":660}," new",{"type":64,"tag":117,"props":662,"children":664},{"style":663},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[665],{"type":69,"value":666}," Date",{"type":64,"tag":117,"props":668,"children":669},{"style":130},[670],{"type":69,"value":671},"(",{"type":64,"tag":117,"props":673,"children":674},{"style":136},[675],{"type":69,"value":234},{"type":64,"tag":117,"props":677,"children":678},{"style":226},[679],{"type":69,"value":680},"2026-08-10T00:00:00Z",{"type":64,"tag":117,"props":682,"children":683},{"style":136},[684],{"type":69,"value":234},{"type":64,"tag":117,"props":686,"children":687},{"style":130},[688],{"type":69,"value":689},")",{"type":64,"tag":117,"props":691,"children":692},{"style":136},[693],{"type":69,"value":694},",",{"type":64,"tag":117,"props":696,"children":697},{"style":165},[698],{"type":69,"value":699}," visits",{"type":64,"tag":117,"props":701,"children":702},{"style":136},[703],{"type":69,"value":173},{"type":64,"tag":117,"props":705,"children":706},{"style":176},[707],{"type":69,"value":708}," 820",{"type":64,"tag":117,"props":710,"children":711},{"style":136},[712],{"type":69,"value":713}," },\n",{"type":64,"tag":117,"props":715,"children":717},{"class":119,"line":716},17,[718,722,726,730,734,738,742,746,751,755,759,763,767,771,776],{"type":64,"tag":117,"props":719,"children":720},{"style":136},[721],{"type":69,"value":646},{"type":64,"tag":117,"props":723,"children":724},{"style":165},[725],{"type":69,"value":651},{"type":64,"tag":117,"props":727,"children":728},{"style":136},[729],{"type":69,"value":173},{"type":64,"tag":117,"props":731,"children":732},{"style":136},[733],{"type":69,"value":660},{"type":64,"tag":117,"props":735,"children":736},{"style":663},[737],{"type":69,"value":666},{"type":64,"tag":117,"props":739,"children":740},{"style":130},[741],{"type":69,"value":671},{"type":64,"tag":117,"props":743,"children":744},{"style":136},[745],{"type":69,"value":234},{"type":64,"tag":117,"props":747,"children":748},{"style":226},[749],{"type":69,"value":750},"2026-08-11T00:00:00Z",{"type":64,"tag":117,"props":752,"children":753},{"style":136},[754],{"type":69,"value":234},{"type":64,"tag":117,"props":756,"children":757},{"style":130},[758],{"type":69,"value":689},{"type":64,"tag":117,"props":760,"children":761},{"style":136},[762],{"type":69,"value":694},{"type":64,"tag":117,"props":764,"children":765},{"style":165},[766],{"type":69,"value":699},{"type":64,"tag":117,"props":768,"children":769},{"style":136},[770],{"type":69,"value":173},{"type":64,"tag":117,"props":772,"children":773},{"style":176},[774],{"type":69,"value":775}," 910",{"type":64,"tag":117,"props":777,"children":778},{"style":136},[779],{"type":69,"value":713},{"type":64,"tag":117,"props":781,"children":783},{"class":119,"line":782},18,[784],{"type":64,"tag":117,"props":785,"children":786},{"style":130},[787],{"type":69,"value":788},"]\n",{"type":64,"tag":117,"props":790,"children":792},{"class":119,"line":791},19,[793],{"type":64,"tag":117,"props":794,"children":795},{"emptyLinePlaceholder":523},[796],{"type":69,"value":526},{"type":64,"tag":117,"props":798,"children":800},{"class":119,"line":799},20,[801,805,810,814,819,823],{"type":64,"tag":117,"props":802,"children":803},{"style":124},[804],{"type":69,"value":127},{"type":64,"tag":117,"props":806,"children":807},{"style":130},[808],{"type":69,"value":809}," definition ",{"type":64,"tag":117,"props":811,"children":812},{"style":136},[813],{"type":69,"value":139},{"type":64,"tag":117,"props":815,"children":816},{"style":663},[817],{"type":69,"value":818}," defineChart",{"type":64,"tag":117,"props":820,"children":821},{"style":130},[822],{"type":69,"value":671},{"type":64,"tag":117,"props":824,"children":825},{"style":136},[826],{"type":69,"value":827},"{\n",{"type":64,"tag":117,"props":829,"children":831},{"class":119,"line":830},21,[832,837,841,846,851,856,860,864,869,873,877,882,886,890,895,899,903,908,912,916,921],{"type":64,"tag":117,"props":833,"children":834},{"style":165},[835],{"type":69,"value":836},"  marks",{"type":64,"tag":117,"props":838,"children":839},{"style":136},[840],{"type":69,"value":173},{"type":64,"tag":117,"props":842,"children":843},{"style":130},[844],{"type":69,"value":845}," [",{"type":64,"tag":117,"props":847,"children":848},{"style":663},[849],{"type":69,"value":850},"lineY",{"type":64,"tag":117,"props":852,"children":853},{"style":130},[854],{"type":69,"value":855},"(rows",{"type":64,"tag":117,"props":857,"children":858},{"style":136},[859],{"type":69,"value":694},{"type":64,"tag":117,"props":861,"children":862},{"style":136},[863],{"type":69,"value":451},{"type":64,"tag":117,"props":865,"children":866},{"style":165},[867],{"type":69,"value":868}," x",{"type":64,"tag":117,"props":870,"children":871},{"style":136},[872],{"type":69,"value":173},{"type":64,"tag":117,"props":874,"children":875},{"style":136},[876],{"type":69,"value":223},{"type":64,"tag":117,"props":878,"children":879},{"style":226},[880],{"type":69,"value":881},"date",{"type":64,"tag":117,"props":883,"children":884},{"style":136},[885],{"type":69,"value":234},{"type":64,"tag":117,"props":887,"children":888},{"style":136},[889],{"type":69,"value":694},{"type":64,"tag":117,"props":891,"children":892},{"style":165},[893],{"type":69,"value":894}," y",{"type":64,"tag":117,"props":896,"children":897},{"style":136},[898],{"type":69,"value":173},{"type":64,"tag":117,"props":900,"children":901},{"style":136},[902],{"type":69,"value":223},{"type":64,"tag":117,"props":904,"children":905},{"style":226},[906],{"type":69,"value":907},"visits",{"type":64,"tag":117,"props":909,"children":910},{"style":136},[911],{"type":69,"value":234},{"type":64,"tag":117,"props":913,"children":914},{"style":136},[915],{"type":69,"value":461},{"type":64,"tag":117,"props":917,"children":918},{"style":130},[919],{"type":69,"value":920},")]",{"type":64,"tag":117,"props":922,"children":923},{"style":136},[924],{"type":69,"value":158},{"type":64,"tag":117,"props":926,"children":928},{"class":119,"line":927},22,[929,934,938,942,947,951,956],{"type":64,"tag":117,"props":930,"children":931},{"style":165},[932],{"type":69,"value":933},"  x",{"type":64,"tag":117,"props":935,"children":936},{"style":136},[937],{"type":69,"value":173},{"type":64,"tag":117,"props":939,"children":940},{"style":136},[941],{"type":69,"value":451},{"type":64,"tag":117,"props":943,"children":944},{"style":165},[945],{"type":69,"value":946}," scale",{"type":64,"tag":117,"props":948,"children":949},{"style":136},[950],{"type":69,"value":173},{"type":64,"tag":117,"props":952,"children":953},{"style":130},[954],{"type":69,"value":955}," scaleUtc ",{"type":64,"tag":117,"props":957,"children":958},{"style":136},[959],{"type":69,"value":960},"},\n",{"type":64,"tag":117,"props":962,"children":964},{"class":119,"line":963},23,[965,970,974,978,982,986,991],{"type":64,"tag":117,"props":966,"children":967},{"style":165},[968],{"type":69,"value":969},"  y",{"type":64,"tag":117,"props":971,"children":972},{"style":136},[973],{"type":69,"value":173},{"type":64,"tag":117,"props":975,"children":976},{"style":136},[977],{"type":69,"value":451},{"type":64,"tag":117,"props":979,"children":980},{"style":165},[981],{"type":69,"value":946},{"type":64,"tag":117,"props":983,"children":984},{"style":136},[985],{"type":69,"value":173},{"type":64,"tag":117,"props":987,"children":988},{"style":130},[989],{"type":69,"value":990}," scaleLinear ",{"type":64,"tag":117,"props":992,"children":993},{"style":136},[994],{"type":69,"value":960},{"type":64,"tag":117,"props":996,"children":998},{"class":119,"line":997},24,[999,1003],{"type":64,"tag":117,"props":1000,"children":1001},{"style":136},[1002],{"type":69,"value":421},{"type":64,"tag":117,"props":1004,"children":1005},{"style":130},[1006],{"type":69,"value":1007},")\n",{"type":64,"tag":117,"props":1009,"children":1011},{"class":119,"line":1010},25,[1012],{"type":64,"tag":117,"props":1013,"children":1014},{"emptyLinePlaceholder":523},[1015],{"type":69,"value":526},{"type":64,"tag":117,"props":1017,"children":1019},{"class":119,"line":1018},26,[1020,1024,1029,1033,1038,1043,1048,1052,1056,1060,1065,1070],{"type":64,"tag":117,"props":1021,"children":1022},{"style":124},[1023],{"type":69,"value":127},{"type":64,"tag":117,"props":1025,"children":1026},{"style":130},[1027],{"type":69,"value":1028}," runtime ",{"type":64,"tag":117,"props":1030,"children":1031},{"style":136},[1032],{"type":69,"value":139},{"type":64,"tag":117,"props":1034,"children":1035},{"style":663},[1036],{"type":69,"value":1037}," createChartRuntime",{"type":64,"tag":117,"props":1039,"children":1040},{"style":136},[1041],{"type":69,"value":1042},"\u003C",{"type":64,"tag":117,"props":1044,"children":1045},{"style":538},[1046],{"type":69,"value":1047},"TrafficRow",{"type":64,"tag":117,"props":1049,"children":1050},{"style":136},[1051],{"type":69,"value":694},{"type":64,"tag":117,"props":1053,"children":1054},{"style":538},[1055],{"type":69,"value":666},{"type":64,"tag":117,"props":1057,"children":1058},{"style":136},[1059],{"type":69,"value":694},{"type":64,"tag":117,"props":1061,"children":1062},{"style":538},[1063],{"type":69,"value":1064}," number",{"type":64,"tag":117,"props":1066,"children":1067},{"style":136},[1068],{"type":69,"value":1069},">",{"type":64,"tag":117,"props":1071,"children":1072},{"style":130},[1073],{"type":69,"value":1074},"()\n",{"type":64,"tag":117,"props":1076,"children":1078},{"class":119,"line":1077},27,[1079,1083,1088,1092,1097,1102,1107,1112,1116,1120,1125,1129,1134,1138,1143,1147,1152,1156],{"type":64,"tag":117,"props":1080,"children":1081},{"style":124},[1082],{"type":69,"value":127},{"type":64,"tag":117,"props":1084,"children":1085},{"style":130},[1086],{"type":69,"value":1087}," scene ",{"type":64,"tag":117,"props":1089,"children":1090},{"style":136},[1091],{"type":69,"value":139},{"type":64,"tag":117,"props":1093,"children":1094},{"style":130},[1095],{"type":69,"value":1096}," runtime",{"type":64,"tag":117,"props":1098,"children":1099},{"style":136},[1100],{"type":69,"value":1101},".",{"type":64,"tag":117,"props":1103,"children":1104},{"style":663},[1105],{"type":69,"value":1106},"render",{"type":64,"tag":117,"props":1108,"children":1109},{"style":130},[1110],{"type":69,"value":1111},"(definition",{"type":64,"tag":117,"props":1113,"children":1114},{"style":136},[1115],{"type":69,"value":694},{"type":64,"tag":117,"props":1117,"children":1118},{"style":136},[1119],{"type":69,"value":451},{"type":64,"tag":117,"props":1121,"children":1122},{"style":165},[1123],{"type":69,"value":1124}," width",{"type":64,"tag":117,"props":1126,"children":1127},{"style":136},[1128],{"type":69,"value":173},{"type":64,"tag":117,"props":1130,"children":1131},{"style":176},[1132],{"type":69,"value":1133}," 720",{"type":64,"tag":117,"props":1135,"children":1136},{"style":136},[1137],{"type":69,"value":694},{"type":64,"tag":117,"props":1139,"children":1140},{"style":165},[1141],{"type":69,"value":1142}," height",{"type":64,"tag":117,"props":1144,"children":1145},{"style":136},[1146],{"type":69,"value":173},{"type":64,"tag":117,"props":1148,"children":1149},{"style":176},[1150],{"type":69,"value":1151}," 400",{"type":64,"tag":117,"props":1153,"children":1154},{"style":136},[1155],{"type":69,"value":461},{"type":64,"tag":117,"props":1157,"children":1158},{"style":130},[1159],{"type":69,"value":1007},{"type":64,"tag":117,"props":1161,"children":1163},{"class":119,"line":1162},28,[1164],{"type":64,"tag":117,"props":1165,"children":1166},{"emptyLinePlaceholder":523},[1167],{"type":69,"value":526},{"type":64,"tag":117,"props":1169,"children":1171},{"class":119,"line":1170},29,[1172,1177,1182,1187,1191,1196,1201,1205],{"type":64,"tag":117,"props":1173,"children":1174},{"style":358},[1175],{"type":69,"value":1176},"export",{"type":64,"tag":117,"props":1178,"children":1179},{"style":124},[1180],{"type":69,"value":1181}," const",{"type":64,"tag":117,"props":1183,"children":1184},{"style":130},[1185],{"type":69,"value":1186}," svg ",{"type":64,"tag":117,"props":1188,"children":1189},{"style":136},[1190],{"type":69,"value":139},{"type":64,"tag":117,"props":1192,"children":1193},{"style":663},[1194],{"type":69,"value":1195}," renderChartSvg",{"type":64,"tag":117,"props":1197,"children":1198},{"style":130},[1199],{"type":69,"value":1200},"(scene",{"type":64,"tag":117,"props":1202,"children":1203},{"style":136},[1204],{"type":69,"value":694},{"type":64,"tag":117,"props":1206,"children":1207},{"style":136},[1208],{"type":69,"value":144},{"type":64,"tag":117,"props":1210,"children":1212},{"class":119,"line":1211},30,[1213,1217,1221,1225,1230,1234],{"type":64,"tag":117,"props":1214,"children":1215},{"style":165},[1216],{"type":69,"value":214},{"type":64,"tag":117,"props":1218,"children":1219},{"style":136},[1220],{"type":69,"value":173},{"type":64,"tag":117,"props":1222,"children":1223},{"style":136},[1224],{"type":69,"value":223},{"type":64,"tag":117,"props":1226,"children":1227},{"style":226},[1228],{"type":69,"value":1229},"Daily traffic",{"type":64,"tag":117,"props":1231,"children":1232},{"style":136},[1233],{"type":69,"value":234},{"type":64,"tag":117,"props":1235,"children":1236},{"style":136},[1237],{"type":69,"value":158},{"type":64,"tag":117,"props":1239,"children":1241},{"class":119,"line":1240},31,[1242,1247,1251,1255,1260,1264],{"type":64,"tag":117,"props":1243,"children":1244},{"style":165},[1245],{"type":69,"value":1246},"  idPrefix",{"type":64,"tag":117,"props":1248,"children":1249},{"style":136},[1250],{"type":69,"value":173},{"type":64,"tag":117,"props":1252,"children":1253},{"style":136},[1254],{"type":69,"value":223},{"type":64,"tag":117,"props":1256,"children":1257},{"style":226},[1258],{"type":69,"value":1259},"daily-traffic",{"type":64,"tag":117,"props":1261,"children":1262},{"style":136},[1263],{"type":69,"value":234},{"type":64,"tag":117,"props":1265,"children":1266},{"style":136},[1267],{"type":69,"value":158},{"type":64,"tag":117,"props":1269,"children":1271},{"class":119,"line":1270},32,[1272,1276],{"type":64,"tag":117,"props":1273,"children":1274},{"style":136},[1275],{"type":69,"value":421},{"type":64,"tag":117,"props":1277,"children":1278},{"style":130},[1279],{"type":69,"value":1007},{"type":64,"tag":117,"props":1281,"children":1283},{"class":119,"line":1282},33,[1284],{"type":64,"tag":117,"props":1285,"children":1286},{"emptyLinePlaceholder":523},[1287],{"type":69,"value":526},{"type":64,"tag":117,"props":1289,"children":1291},{"class":119,"line":1290},34,[1292,1297,1301,1306],{"type":64,"tag":117,"props":1293,"children":1294},{"style":130},[1295],{"type":69,"value":1296},"runtime",{"type":64,"tag":117,"props":1298,"children":1299},{"style":136},[1300],{"type":69,"value":1101},{"type":64,"tag":117,"props":1302,"children":1303},{"style":663},[1304],{"type":69,"value":1305},"destroy",{"type":64,"tag":117,"props":1307,"children":1308},{"style":130},[1309],{"type":69,"value":1074},{"type":64,"tag":72,"props":1311,"children":1312},{},[1313],{"type":69,"value":1314},"Fail condition: definition construction reads browser layout, random values, local time, or unresolved async data; or the selected adapter does not promise SSR.",{"type":64,"tag":72,"props":1316,"children":1317},{},[1318],{"type":69,"value":1319},"Fix: resolve data before render, use deterministic formatting and dimensions, and follow the selected adapter reference.",{"type":64,"tag":93,"props":1321,"children":1323},{"id":1322},"check-mount-update-and-cleanup-stay-adapter-owned",[1324],{"type":69,"value":1325},"Check: mount, update, and cleanup stay adapter-owned",{"type":64,"tag":72,"props":1327,"children":1328},{},[1329],{"type":69,"value":1330},"Expected: one runtime per mounted adapter instance, complete immutable option updates, stable definitions until captured values change, and cleanup on unmount\u002Fdisconnect.",{"type":64,"tag":72,"props":1332,"children":1333},{},[1334],{"type":69,"value":1335},"Fail condition: application code calls DOM measurement or mounts a browser host during server render, or retains observers\u002Flisteners after removal.",{"type":64,"tag":72,"props":1337,"children":1338},{},[1339,1341,1347,1349,1355],{"type":69,"value":1340},"Fix: use the adapter lifecycle or ",{"type":64,"tag":113,"props":1342,"children":1344},{"className":1343},[],[1345],{"type":69,"value":1346},"mountChart",{"type":69,"value":1348}," only in a browser-owned mount phase and call ",{"type":64,"tag":113,"props":1350,"children":1352},{"className":1351},[],[1353],{"type":69,"value":1354},"destroy()",{"type":69,"value":1356}," at teardown.",{"type":64,"tag":86,"props":1358,"children":1360},{"id":1359},"renderer-and-export-checks",[1361],{"type":69,"value":1362},"Renderer and Export Checks",{"type":64,"tag":93,"props":1364,"children":1366},{"id":1365},"check-renderer-choice-matches-the-task",[1367],{"type":69,"value":1368},"Check: renderer choice matches the task",{"type":64,"tag":1370,"props":1371,"children":1372},"ul",{},[1373,1379,1384,1389],{"type":64,"tag":1374,"props":1375,"children":1376},"li",{},[1377],{"type":69,"value":1378},"SVG: visible server geometry, vector export, DOM styling, ordinary interactive charts.",{"type":64,"tag":1374,"props":1380,"children":1381},{},[1382],{"type":69,"value":1383},"Canvas: high scene counts or raster-first output; server emits an accessible shell, not pixels.",{"type":64,"tag":1374,"props":1385,"children":1386},{},[1387],{"type":69,"value":1388},"Static SVG: deterministic server\u002Fexport artifact without browser interaction.",{"type":64,"tag":1374,"props":1390,"children":1391},{},[1392],{"type":69,"value":1393},"React Native SVG: explicit native target with device-level validation.",{"type":64,"tag":93,"props":1395,"children":1397},{"id":1396},"check-export-is-reproducible",[1398],{"type":69,"value":1399},"Check: export is reproducible",{"type":64,"tag":72,"props":1401,"children":1402},{},[1403],{"type":69,"value":1404},"Expected: explicit dimensions, theme\u002Fbackground, scoped IDs, portable fonts\u002Fassets, intentional focus inclusion, and a meaningful exported name\u002Fdescription.",{"type":64,"tag":72,"props":1406,"children":1407},{},[1408],{"type":69,"value":1409},"Fail condition: export depends on current responsive pixels or unreachable application CSS\u002Fresources.",{"type":64,"tag":72,"props":1411,"children":1412},{},[1413],{"type":69,"value":1414},"Fix: render an explicit scene or serialize\u002Frasterize with explicit artifact policy.",{"type":64,"tag":86,"props":1416,"children":1418},{"id":1417},"common-mistakes",[1419],{"type":69,"value":1420},"Common Mistakes",{"type":64,"tag":93,"props":1422,"children":1424},{"id":1423},"critical-using-a-generic-accessible-label",[1425],{"type":69,"value":1426},"CRITICAL Using a generic accessible label",{"type":64,"tag":72,"props":1428,"children":1429},{},[1430,1432,1438],{"type":69,"value":1431},"Wrong: ",{"type":64,"tag":113,"props":1433,"children":1435},{"className":1434},[],[1436],{"type":69,"value":1437},"ariaLabel: 'Chart'",{"type":69,"value":1101},{"type":64,"tag":72,"props":1440,"children":1441},{},[1442],{"type":69,"value":1443},"Correct: identify the metric, entities, period, and unit needed to understand the figure.",{"type":64,"tag":72,"props":1445,"children":1446},{},[1447],{"type":69,"value":1448},"A generic label exposes a focusable graphic without useful identity.",{"type":64,"tag":72,"props":1450,"children":1451},{},[1452,1454],{"type":69,"value":1453},"Source: ",{"type":64,"tag":113,"props":1455,"children":1457},{"className":1456},[],[1458],{"type":69,"value":1459},"docs\u002Fguides\u002Faccessibility.md",{"type":64,"tag":93,"props":1461,"children":1463},{"id":1462},"high-making-the-chart-the-only-representation",[1464],{"type":69,"value":1465},"HIGH Making the chart the only representation",{"type":64,"tag":72,"props":1467,"children":1468},{},[1469],{"type":69,"value":1470},"Wrong: require hover or visual estimation for exact operational values.",{"type":64,"tag":72,"props":1472,"children":1473},{},[1474],{"type":69,"value":1475},"Correct: render a summary, table, or application controls from the same semantic data\u002Fstate.",{"type":64,"tag":72,"props":1477,"children":1478},{},[1479],{"type":69,"value":1480},"The chart surface is supplemental when exact values are critical.",{"type":64,"tag":72,"props":1482,"children":1483},{},[1484,1485,1490],{"type":69,"value":1453},{"type":64,"tag":113,"props":1486,"children":1488},{"className":1487},[],[1489],{"type":69,"value":1459},{"type":69,"value":1491},"; archived responsive\u002Faccessibility notes",{"type":64,"tag":93,"props":1493,"children":1495},{"id":1494},"critical-mounting-a-browser-host-during-server-rendering",[1496],{"type":69,"value":1497},"CRITICAL Mounting a browser host during server rendering",{"type":64,"tag":72,"props":1499,"children":1500},{},[1501,1503,1508],{"type":69,"value":1502},"Wrong: call ",{"type":64,"tag":113,"props":1504,"children":1506},{"className":1505},[],[1507],{"type":69,"value":1346},{"type":69,"value":1509}," or adapter DOM mount from a server lifecycle.",{"type":64,"tag":72,"props":1511,"children":1512},{},[1513,1515,1521],{"type":69,"value":1514},"Correct: prerender a deterministic scene through a supported SSR adapter or ",{"type":64,"tag":113,"props":1516,"children":1518},{"className":1517},[],[1519],{"type":69,"value":1520},"renderChartSvg",{"type":69,"value":1522},", then mount the browser host only after a real element exists.",{"type":64,"tag":72,"props":1524,"children":1525},{},[1526],{"type":69,"value":1527},"Measurement and mutation require browser elements. Older Angular workarounds were especially prone to this boundary error.",{"type":64,"tag":72,"props":1529,"children":1530},{},[1531,1533],{"type":69,"value":1532},"Source: GitHub issue 56; ",{"type":64,"tag":113,"props":1534,"children":1536},{"className":1535},[],[1537],{"type":69,"value":1538},"docs\u002Fguides\u002Fssr-and-hydration.md",{"type":64,"tag":93,"props":1540,"children":1542},{"id":1541},"high-putting-behavior-on-adapter-props",[1543],{"type":69,"value":1544},"HIGH Putting behavior on adapter props",{"type":64,"tag":72,"props":1546,"children":1547},{},[1548],{"type":69,"value":1549},"Wrong:",{"type":64,"tag":105,"props":1551,"children":1555},{"className":1552,"code":1553,"language":1554,"meta":110,"style":110},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003CChart definition={chart} tooltip keyboard \u002F>\n","tsx",[1556],{"type":64,"tag":113,"props":1557,"children":1558},{"__ignoreMap":110},[1559],{"type":64,"tag":117,"props":1560,"children":1561},{"class":119,"line":120},[1562,1566,1571,1576,1581,1586,1591,1596,1601],{"type":64,"tag":117,"props":1563,"children":1564},{"style":136},[1565],{"type":69,"value":1042},{"type":64,"tag":117,"props":1567,"children":1568},{"style":538},[1569],{"type":69,"value":1570},"Chart",{"type":64,"tag":117,"props":1572,"children":1573},{"style":124},[1574],{"type":69,"value":1575}," definition",{"type":64,"tag":117,"props":1577,"children":1578},{"style":136},[1579],{"type":69,"value":1580},"={",{"type":64,"tag":117,"props":1582,"children":1583},{"style":130},[1584],{"type":69,"value":1585},"chart",{"type":64,"tag":117,"props":1587,"children":1588},{"style":136},[1589],{"type":69,"value":1590},"} ",{"type":64,"tag":117,"props":1592,"children":1593},{"style":124},[1594],{"type":69,"value":1595},"tooltip",{"type":64,"tag":117,"props":1597,"children":1598},{"style":124},[1599],{"type":69,"value":1600}," keyboard",{"type":64,"tag":117,"props":1602,"children":1603},{"style":136},[1604],{"type":69,"value":1605}," \u002F>\n",{"type":64,"tag":72,"props":1607,"children":1608},{},[1609],{"type":69,"value":1610},"Correct:",{"type":64,"tag":105,"props":1612,"children":1614},{"className":1552,"code":1613,"language":1554,"meta":110,"style":110},"const interactive = defineChart(chart, { tooltip, keyboard: true })\n\u003CChart definition={interactive} ariaLabel=\"Revenue by month\" \u002F>\n",[1615],{"type":64,"tag":113,"props":1616,"children":1617},{"__ignoreMap":110},[1618,1682],{"type":64,"tag":117,"props":1619,"children":1620},{"class":119,"line":120},[1621,1625,1630,1634,1638,1643,1647,1651,1656,1660,1664,1668,1674,1678],{"type":64,"tag":117,"props":1622,"children":1623},{"style":124},[1624],{"type":69,"value":127},{"type":64,"tag":117,"props":1626,"children":1627},{"style":130},[1628],{"type":69,"value":1629}," interactive ",{"type":64,"tag":117,"props":1631,"children":1632},{"style":136},[1633],{"type":69,"value":139},{"type":64,"tag":117,"props":1635,"children":1636},{"style":663},[1637],{"type":69,"value":818},{"type":64,"tag":117,"props":1639,"children":1640},{"style":130},[1641],{"type":69,"value":1642},"(chart",{"type":64,"tag":117,"props":1644,"children":1645},{"style":136},[1646],{"type":69,"value":694},{"type":64,"tag":117,"props":1648,"children":1649},{"style":136},[1650],{"type":69,"value":451},{"type":64,"tag":117,"props":1652,"children":1653},{"style":130},[1654],{"type":69,"value":1655}," tooltip",{"type":64,"tag":117,"props":1657,"children":1658},{"style":136},[1659],{"type":69,"value":694},{"type":64,"tag":117,"props":1661,"children":1662},{"style":165},[1663],{"type":69,"value":1600},{"type":64,"tag":117,"props":1665,"children":1666},{"style":136},[1667],{"type":69,"value":173},{"type":64,"tag":117,"props":1669,"children":1671},{"style":1670},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1672],{"type":69,"value":1673}," true",{"type":64,"tag":117,"props":1675,"children":1676},{"style":136},[1677],{"type":69,"value":461},{"type":64,"tag":117,"props":1679,"children":1680},{"style":130},[1681],{"type":69,"value":1007},{"type":64,"tag":117,"props":1683,"children":1684},{"class":119,"line":147},[1685,1689,1693,1697,1701,1706,1710,1715,1719,1724,1729,1733],{"type":64,"tag":117,"props":1686,"children":1687},{"style":136},[1688],{"type":69,"value":1042},{"type":64,"tag":117,"props":1690,"children":1691},{"style":538},[1692],{"type":69,"value":1570},{"type":64,"tag":117,"props":1694,"children":1695},{"style":124},[1696],{"type":69,"value":1575},{"type":64,"tag":117,"props":1698,"children":1699},{"style":136},[1700],{"type":69,"value":1580},{"type":64,"tag":117,"props":1702,"children":1703},{"style":130},[1704],{"type":69,"value":1705},"interactive",{"type":64,"tag":117,"props":1707,"children":1708},{"style":136},[1709],{"type":69,"value":1590},{"type":64,"tag":117,"props":1711,"children":1712},{"style":124},[1713],{"type":69,"value":1714},"ariaLabel",{"type":64,"tag":117,"props":1716,"children":1717},{"style":136},[1718],{"type":69,"value":139},{"type":64,"tag":117,"props":1720,"children":1721},{"style":136},[1722],{"type":69,"value":1723},"\"",{"type":64,"tag":117,"props":1725,"children":1726},{"style":226},[1727],{"type":69,"value":1728},"Revenue by month",{"type":64,"tag":117,"props":1730,"children":1731},{"style":136},[1732],{"type":69,"value":1723},{"type":64,"tag":117,"props":1734,"children":1735},{"style":136},[1736],{"type":69,"value":1605},{"type":64,"tag":72,"props":1738,"children":1739},{},[1740],{"type":69,"value":1741},"Focus, tooltip, keyboard, controls, cursors, and SVG animation belong to the reusable definition; adapters own surface lifecycle and framework body composition. The current definition API replaces legacy adapter behavior props.",{"type":64,"tag":72,"props":1743,"children":1744},{},[1745,1747,1753],{"type":69,"value":1746},"Source: chart-behavior migration in ",{"type":64,"tag":113,"props":1748,"children":1750},{"className":1749},[],[1751],{"type":69,"value":1752},"CHANGELOG.md",{"type":69,"value":1754},"; React chart reference",{"type":64,"tag":93,"props":1756,"children":1758},{"id":1757},"high-importing-the-universal-barrel-on-native",[1759],{"type":69,"value":1760},"HIGH Importing the universal barrel on native",{"type":64,"tag":72,"props":1762,"children":1763},{},[1764,1766,1772],{"type":69,"value":1765},"Wrong: use ",{"type":64,"tag":113,"props":1767,"children":1769},{"className":1768},[],[1770],{"type":69,"value":1771},"@tanstack\u002Fcharts\u002Funiversal",{"type":69,"value":1773}," for every native chart.",{"type":64,"tag":72,"props":1775,"children":1776},{},[1777,1779,1785],{"type":69,"value":1778},"Correct: use exact core mark\u002Fscale\u002Fscene and ",{"type":64,"tag":113,"props":1780,"children":1782},{"className":1781},[],[1783],{"type":69,"value":1784},"@tanstack\u002Fcharts\u002Freact-native",{"type":69,"value":1786}," subpaths unless cross-platform authoring justifies the universal bundle.",{"type":64,"tag":72,"props":1788,"children":1789},{},[1790],{"type":69,"value":1791},"Exact imports protect Metro and native declaration environments from unrelated browser and optional capability code.",{"type":64,"tag":72,"props":1793,"children":1794},{},[1795,1796,1802],{"type":69,"value":1453},{"type":64,"tag":113,"props":1797,"children":1799},{"className":1798},[],[1800],{"type":69,"value":1801},"API-FRICTION.md",{"type":69,"value":1803}," F-154, F-171, F-173, F-256; React Native package README",{"type":64,"tag":93,"props":1805,"children":1807},{"id":1806},"high-tension-rich-interaction-versus-portable-rendering",[1808],{"type":69,"value":1809},"HIGH Tension: rich interaction versus portable rendering",{"type":64,"tag":72,"props":1811,"children":1812},{},[1813],{"type":69,"value":1814},"DOM convenience can break static SVG, Canvas, native, SSR, or keyboard equivalence. Keep semantics in definitions and application state; use platform-specific body\u002Fhost extensions only at the presentation seam.",{"type":64,"tag":72,"props":1816,"children":1817},{},[1818,1820,1826,1828],{"type":69,"value":1819},"See also: ",{"type":64,"tag":113,"props":1821,"children":1823},{"className":1822},[],[1824],{"type":69,"value":1825},"build-chart-interactions\u002FSKILL.md",{"type":69,"value":1827}," and ",{"type":64,"tag":113,"props":1829,"children":1831},{"className":1830},[],[1832],{"type":69,"value":1833},"extend-tanstack-charts\u002FSKILL.md",{"type":64,"tag":86,"props":1835,"children":1837},{"id":1836},"pre-deploy-summary",[1838],{"type":69,"value":1839},"Pre-Deploy Summary",{"type":64,"tag":1370,"props":1841,"children":1844},{"className":1842},[1843],"contains-task-list",[1845,1857,1866,1875,1884,1893,1902,1911,1920,1929],{"type":64,"tag":1374,"props":1846,"children":1849},{"className":1847},[1848],"task-list-item",[1850,1855],{"type":64,"tag":1851,"props":1852,"children":1854},"input",{"disabled":523,"type":1853},"checkbox",[],{"type":69,"value":1856}," Meaningful name and concise description.",{"type":64,"tag":1374,"props":1858,"children":1860},{"className":1859},[1848],[1861,1864],{"type":64,"tag":1851,"props":1862,"children":1863},{"disabled":523,"type":1853},[],{"type":69,"value":1865}," Visible units, time range, and source context.",{"type":64,"tag":1374,"props":1867,"children":1869},{"className":1868},[1848],[1870,1873],{"type":64,"tag":1851,"props":1871,"children":1872},{"disabled":523,"type":1853},[],{"type":69,"value":1874}," Exact-value summary\u002Ftable where required.",{"type":64,"tag":1374,"props":1876,"children":1878},{"className":1877},[1848],[1879,1882],{"type":64,"tag":1851,"props":1880,"children":1881},{"disabled":523,"type":1853},[],{"type":69,"value":1883}," Pointer, keyboard, touch, and cancel\u002Freset scenarios.",{"type":64,"tag":1374,"props":1885,"children":1887},{"className":1886},[1848],[1888,1891],{"type":64,"tag":1851,"props":1889,"children":1890},{"disabled":523,"type":1853},[],{"type":69,"value":1892}," Reduced-motion and non-color evidence.",{"type":64,"tag":1374,"props":1894,"children":1896},{"className":1895},[1848],[1897,1900],{"type":64,"tag":1851,"props":1898,"children":1899},{"disabled":523,"type":1853},[],{"type":69,"value":1901}," Supported SSR policy with deterministic initial geometry.",{"type":64,"tag":1374,"props":1903,"children":1905},{"className":1904},[1848],[1906,1909],{"type":64,"tag":1851,"props":1907,"children":1908},{"disabled":523,"type":1853},[],{"type":69,"value":1910}," Stable definition, mark, datum, and resource IDs.",{"type":64,"tag":1374,"props":1912,"children":1914},{"className":1913},[1848],[1915,1918],{"type":64,"tag":1851,"props":1916,"children":1917},{"disabled":523,"type":1853},[],{"type":69,"value":1919}," Mount, update, resize, font relayout, and destroy verified.",{"type":64,"tag":1374,"props":1921,"children":1923},{"className":1922},[1848],[1924,1927],{"type":64,"tag":1851,"props":1925,"children":1926},{"disabled":523,"type":1853},[],{"type":69,"value":1928}," Renderer and export behavior verified from a packed consumer.",{"type":64,"tag":1374,"props":1930,"children":1932},{"className":1931},[1848],[1933,1936],{"type":64,"tag":1851,"props":1934,"children":1935},{"disabled":523,"type":1853},[],{"type":69,"value":1937}," Native claims verified on target devices when applicable.",{"type":64,"tag":86,"props":1939,"children":1941},{"id":1940},"references",[1942],{"type":69,"value":1943},"References",{"type":64,"tag":1370,"props":1945,"children":1946},{},[1947,1957,1966,1975,1984,1993,2002,2011,2020,2029,2038],{"type":64,"tag":1374,"props":1948,"children":1949},{},[1950],{"type":64,"tag":1951,"props":1952,"children":1954},"a",{"href":1953},"references\u002Freact.md",[1955],{"type":69,"value":1956},"React",{"type":64,"tag":1374,"props":1958,"children":1959},{},[1960],{"type":64,"tag":1951,"props":1961,"children":1963},{"href":1962},"references\u002Fpreact.md",[1964],{"type":69,"value":1965},"Preact",{"type":64,"tag":1374,"props":1967,"children":1968},{},[1969],{"type":64,"tag":1951,"props":1970,"children":1972},{"href":1971},"references\u002Fvue.md",[1973],{"type":69,"value":1974},"Vue",{"type":64,"tag":1374,"props":1976,"children":1977},{},[1978],{"type":64,"tag":1951,"props":1979,"children":1981},{"href":1980},"references\u002Fsolid.md",[1982],{"type":69,"value":1983},"Solid",{"type":64,"tag":1374,"props":1985,"children":1986},{},[1987],{"type":64,"tag":1951,"props":1988,"children":1990},{"href":1989},"references\u002Fsvelte.md",[1991],{"type":69,"value":1992},"Svelte",{"type":64,"tag":1374,"props":1994,"children":1995},{},[1996],{"type":64,"tag":1951,"props":1997,"children":1999},{"href":1998},"references\u002Fangular.md",[2000],{"type":69,"value":2001},"Angular",{"type":64,"tag":1374,"props":2003,"children":2004},{},[2005],{"type":64,"tag":1951,"props":2006,"children":2008},{"href":2007},"references\u002Flit.md",[2009],{"type":69,"value":2010},"Lit",{"type":64,"tag":1374,"props":2012,"children":2013},{},[2014],{"type":64,"tag":1951,"props":2015,"children":2017},{"href":2016},"references\u002Falpine.md",[2018],{"type":69,"value":2019},"Alpine",{"type":64,"tag":1374,"props":2021,"children":2022},{},[2023],{"type":64,"tag":1951,"props":2024,"children":2026},{"href":2025},"references\u002Foctane.md",[2027],{"type":69,"value":2028},"Octane",{"type":64,"tag":1374,"props":2030,"children":2031},{},[2032],{"type":64,"tag":1951,"props":2033,"children":2035},{"href":2034},"references\u002Freact-native.md",[2036],{"type":69,"value":2037},"React Native",{"type":64,"tag":1374,"props":2039,"children":2040},{},[2041],{"type":64,"tag":1951,"props":2042,"children":2044},{"href":2043},"references\u002Frenderers-and-export.md",[2045],{"type":69,"value":2046},"Renderers and export",{"type":64,"tag":72,"props":2048,"children":2049},{},[2050,2051,2057],{"type":69,"value":1819},{"type":64,"tag":113,"props":2052,"children":2054},{"className":2053},[],[2055],{"type":69,"value":2056},"debug-and-verify-charts\u002FSKILL.md",{"type":69,"value":2058}," — SSR, accessibility, renderer, and package claims need consumer-level evidence.",{"type":64,"tag":2060,"props":2061,"children":2062},"style",{},[2063],{"type":69,"value":2064},"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":2066,"total":2206},[2067,2081,2093,2105,2117,2132,2142,2152,2162,2175,2185,2196],{"slug":2068,"name":2068,"fn":2069,"description":2070,"org":2071,"tags":2072,"stars":2078,"repoUrl":2079,"updatedAt":2080},"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},[2073,2076,2077],{"name":2074,"slug":2075,"type":15},"Data Analysis","data-analysis",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},28175,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Ftable","2026-08-11T04:05:39.647403",{"slug":2082,"name":2082,"fn":2083,"description":2084,"org":2085,"tags":2086,"stars":2078,"repoUrl":2079,"updatedAt":2092},"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},[2087,2090,2091],{"name":2088,"slug":2089,"type":15},"Debugging","debugging",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-11T04:05:45.454347",{"slug":2094,"name":2094,"fn":2095,"description":2096,"org":2097,"tags":2098,"stars":2078,"repoUrl":2079,"updatedAt":2104},"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},[2099,2100,2101],{"name":2074,"slug":2075,"type":15},{"name":9,"slug":8,"type":15},{"name":2102,"slug":2103,"type":15},"UI Components","ui-components","2026-08-11T04:05:18.454719",{"slug":2106,"name":2106,"fn":2107,"description":2108,"org":2109,"tags":2110,"stars":2078,"repoUrl":2079,"updatedAt":2116},"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},[2111,2113,2114,2115],{"name":2112,"slug":32,"type":15},"Data Visualization",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":2102,"slug":2103,"type":15},"2026-08-11T04:05:16.471567",{"slug":2118,"name":2118,"fn":2119,"description":2120,"org":2121,"tags":2122,"stars":2078,"repoUrl":2079,"updatedAt":2131},"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},[2123,2126,2127,2130],{"name":2124,"slug":2125,"type":15},"Data Pipeline","data-pipeline",{"name":21,"slug":22,"type":15},{"name":2128,"slug":2129,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},"2026-08-11T04:05:25.45112",{"slug":2133,"name":2133,"fn":2134,"description":2135,"org":2136,"tags":2137,"stars":2078,"repoUrl":2079,"updatedAt":2141},"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},[2138,2139,2140],{"name":2112,"slug":32,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-11T04:05:21.505333",{"slug":2143,"name":2143,"fn":2144,"description":2145,"org":2146,"tags":2147,"stars":2078,"repoUrl":2079,"updatedAt":2151},"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},[2148,2149,2150],{"name":2074,"slug":2075,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-11T04:05:33.684468",{"slug":2153,"name":2153,"fn":2154,"description":2155,"org":2156,"tags":2157,"stars":2078,"repoUrl":2079,"updatedAt":2161},"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},[2158,2159,2160],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":2102,"slug":2103,"type":15},"2026-08-11T04:05:43.445905",{"slug":2163,"name":2163,"fn":2164,"description":2165,"org":2166,"tags":2167,"stars":2078,"repoUrl":2079,"updatedAt":2174},"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},[2168,2171,2172,2173],{"name":2169,"slug":2170,"type":15},"CSS","css",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":2102,"slug":2103,"type":15},"2026-08-11T04:05:35.453858",{"slug":2176,"name":2176,"fn":2177,"description":2178,"org":2179,"tags":2180,"stars":2078,"repoUrl":2079,"updatedAt":2184},"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},[2181,2182,2183],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":2102,"slug":2103,"type":15},"2026-08-11T04:05:31.46447",{"slug":2186,"name":2186,"fn":2187,"description":2188,"org":2189,"tags":2190,"stars":2078,"repoUrl":2079,"updatedAt":2195},"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},[2191,2192,2193,2194],{"name":2169,"slug":2170,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":2102,"slug":2103,"type":15},"2026-08-11T04:05:28.559861",{"slug":2197,"name":2197,"fn":2198,"description":2199,"org":2200,"tags":2201,"stars":2078,"repoUrl":2079,"updatedAt":2205},"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},[2202,2203,2204],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":2102,"slug":2103,"type":15},"2026-08-11T04:05:27.479925",139,{"items":2208,"total":566},[2209,2222,2233,2244,2258,2269,2280],{"slug":2210,"name":2210,"fn":2211,"description":2212,"org":2213,"tags":2214,"stars":23,"repoUrl":24,"updatedAt":2221},"build-chart-interactions","build chart interactions with TanStack Charts","Compose TanStack Charts focus, tooltips, controlled selections, cursors, brushes, zoom, keyboard behavior, and coordinated views. Load for hover, focus, pinning, crosshairs, clipping, gesture state, or chart-table coordination.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2215,2216,2217,2220],{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":2218,"slug":2219,"type":15},"Interaction","interaction",{"name":9,"slug":8,"type":15},"2026-08-15T03:47:32.82085",{"slug":2223,"name":2223,"fn":2224,"description":2225,"org":2226,"tags":2227,"stars":23,"repoUrl":24,"updatedAt":2232},"compose-marks-and-views","compose marks and views in TanStack Charts","Translate semantic encodings into TanStack Charts marks, layers, annotations, facets, and coordinated views. Load when choosing marks, combining layers, assigning interaction-point ownership, or deciding whether a custom mark is justified.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2228,2229,2230,2231],{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":2102,"slug":2103,"type":15},"2026-08-15T03:47:30.035164",{"slug":2234,"name":2234,"fn":2235,"description":2236,"org":2237,"tags":2238,"stars":23,"repoUrl":24,"updatedAt":2243},"configure-scales-guides-color","configure scales and guides for TanStack Charts","Configure TanStack Charts domains, scale factories, axes, margins, legends, grouping, and paint without taking ownership of responsive ranges. Load for blank geometry, scale inference, color semantics, shared domains, ticks, labels, or guide layout.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2239,2240,2241,2242],{"name":17,"slug":18,"type":15},{"name":2112,"slug":32,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-15T03:47:40.802271",{"slug":2245,"name":2245,"fn":2246,"description":2247,"org":2248,"tags":2249,"stars":23,"repoUrl":24,"updatedAt":2257},"coordinate-charts-with-tanstack","coordinate TanStack Charts with data sources","Coordinate TanStack Charts with TanStack Table data grids, TanStack DB live queries and sync engines, TanStack Query server state, Store, Router, Virtual, Pacer, Start, and Form without duplicating ownership. Load for chart-grid linking, shared filtering or selection, live synchronized data, optimistic updates, URL-restorable chart state, virtualized detail views, paced streams, or dashboard-wide state.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2250,2251,2252,2255,2256],{"name":17,"slug":18,"type":15},{"name":2074,"slug":2075,"type":15},{"name":2253,"slug":2254,"type":15},"Data Engineering","data-engineering",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-15T03:47:37.086246",{"slug":2259,"name":2259,"fn":2260,"description":2261,"org":2262,"tags":2263,"stars":23,"repoUrl":24,"updatedAt":2268},"debug-and-verify-charts","debug and verify TanStack Charts","Diagnose TanStack Charts type, data, scale, geometry, focus, lifecycle, bundle, and performance failures with scenario-level evidence. Load for blank or clipped charts, misleading output, unsafe casts, migration parity, packed-package checks, or regressions.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2264,2265,2266,2267],{"name":17,"slug":18,"type":15},{"name":2088,"slug":2089,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-15T03:47:33.503153",{"slug":2270,"name":2270,"fn":2271,"description":2272,"org":2273,"tags":2274,"stars":23,"repoUrl":24,"updatedAt":2279},"design-a-chart","design charts with TanStack Charts","Choose an honest visualization from a user story, metric, comparison, projection, target, or explanatory goal before selecting TanStack Charts marks. Load whenever a user asks to graph, chart, visualize, compare, forecast, project, explain, or communicate data.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2275,2276,2277,2278],{"name":17,"slug":18,"type":15},{"name":2112,"slug":32,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-08-15T03:47:40.463333",{"slug":2281,"name":2281,"fn":2282,"description":2283,"org":2284,"tags":2285,"stars":23,"repoUrl":24,"updatedAt":2292},"design-responsive-charts","design responsive TanStack Charts","Make TanStack Charts adapt to measured containers, information priority, guide margins, SSR initial width, and final plot bounds. Load for narrow dashboards, overflow, label density, responsive topology, or pixel-space layouts.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2286,2287,2288,2289,2291],{"name":17,"slug":18,"type":15},{"name":2112,"slug":32,"type":15},{"name":21,"slug":22,"type":15},{"name":2290,"slug":39,"type":15},"SSR",{"name":9,"slug":8,"type":15},"2026-08-15T03:47:36.306971"]