[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tanstack-path-params":3,"mdc-6nr0wy-key":49,"related-repo-tanstack-path-params":5880,"related-org-tanstack-path-params":5985},{"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":44,"sourceUrl":47,"mdContent":48},"path-params","configure dynamic path parameters in TanStack Router","Dynamic path segments ($paramName), splat routes ($ \u002F _splat), optional params ({-$paramName}), prefix\u002Fsuffix patterns ({$param}.ext), useParams, params.parse\u002Fstringify, pathParamsAllowedCharacters, i18n locale patterns.",{"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},"TanStack Router","tanstack-router","tag",{"name":17,"slug":18,"type":15},"Routing","routing",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Frontend","frontend",14787,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Frouter","2026-07-30T05:26:49.491172",null,1761,[29,30,31,32,33,34,18,35,36,37,38,39,40,41,42,43],"framework","fullstack","javascript","react","route","router","rpc","search","searchparams","server-functions","ssr","state-management","typesafe","typescript","url",{"repoUrl":24,"stars":23,"forks":27,"topics":45,"description":46},[29,30,31,32,33,34,18,35,36,37,38,39,40,41,42,43],"🤖 A client-first, server-capable, fully type-safe router and full-stack framework for the web (React and more).","https:\u002F\u002Fgithub.com\u002FTanStack\u002Frouter\u002Ftree\u002FHEAD\u002Fpackages\u002Frouter-core\u002Fskills\u002Frouter-core\u002Fpath-params","---\nname: path-params\ndescription: >-\n  Dynamic path segments ($paramName), splat routes ($ \u002F _splat),\n  optional params ({-$paramName}), prefix\u002Fsuffix patterns ({$param}.ext),\n  useParams, params.parse\u002Fstringify, pathParamsAllowedCharacters,\n  i18n locale patterns.\nmetadata:\n  type: sub-skill\n  library: tanstack-router\n  library_version: '1.171.15'\nrequires:\n  - router-core\nsources:\n  - TanStack\u002Frouter:docs\u002Frouter\u002Fguide\u002Fpath-params.md\n  - TanStack\u002Frouter:docs\u002Frouter\u002Frouting\u002Frouting-concepts.md\n  - TanStack\u002Frouter:docs\u002Frouter\u002Fguide\u002Finternationalization-i18n.md\n---\n\n# Path Params\n\nPath params capture dynamic URL segments into named variables. They are defined with a `$` prefix in the route path.\n\n> **CRITICAL**: Never interpolate params into the `to` string. Always use the `params` prop. This is the most common agent mistake for path params.\n\n> **CRITICAL**: Types are fully inferred. Never annotate the return of `useParams()`.\n\n## Dynamic Segments\n\nA segment prefixed with `$` captures text until the next `\u002F`.\n\n```tsx\n\u002F\u002F src\u002Froutes\u002Fposts.$postId.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Fposts\u002F$postId')({\n  loader: async ({ params }) => {\n    \u002F\u002F params.postId is string — fully inferred, do not annotate\n    return fetchPost(params.postId)\n  },\n  component: PostComponent,\n})\n\nfunction PostComponent() {\n  const { postId } = Route.useParams()\n  const data = Route.useLoaderData()\n  return (\n    \u003Ch1>\n      Post {postId}: {data.title}\n    \u003C\u002Fh1>\n  )\n}\n```\n\nMultiple dynamic segments work across path levels:\n\n```tsx\n\u002F\u002F src\u002Froutes\u002Fteams.$teamId.members.$memberId.tsx\nexport const Route = createFileRoute('\u002Fteams\u002F$teamId\u002Fmembers\u002F$memberId')({\n  component: MemberComponent,\n})\n\nfunction MemberComponent() {\n  const { teamId, memberId } = Route.useParams()\n  return (\n    \u003Cdiv>\n      Team {teamId}, Member {memberId}\n    \u003C\u002Fdiv>\n  )\n}\n```\n\n## Splat \u002F Catch-All Routes\n\nA route with a path ending in `$` (bare dollar sign) captures everything after it. The value is available under the `_splat` key.\n\n```tsx\n\u002F\u002F src\u002Froutes\u002Ffiles.$.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Ffiles\u002F$')({\n  component: FileViewer,\n})\n\nfunction FileViewer() {\n  const { _splat } = Route.useParams()\n  \u002F\u002F URL: \u002Ffiles\u002Fdocuments\u002Freport.pdf → _splat = \"documents\u002Freport.pdf\"\n  return \u003Cdiv>File path: {_splat}\u003C\u002Fdiv>\n}\n```\n\n## Optional Params\n\nOptional params use `{-$paramName}` syntax. The segment may or may not be present. When absent, the value is `undefined`.\n\n```tsx\n\u002F\u002F src\u002Froutes\u002Fposts.{-$category}.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Fposts\u002F{-$category}')({\n  component: PostsComponent,\n})\n\nfunction PostsComponent() {\n  const { category } = Route.useParams()\n  \u002F\u002F URL: \u002Fposts → category is undefined\n  \u002F\u002F URL: \u002Fposts\u002Ftech → category is \"tech\"\n  return \u003Cdiv>{category ? `Posts in ${category}` : 'All Posts'}\u003C\u002Fdiv>\n}\n```\n\nMultiple optional params:\n\n```tsx\n\u002F\u002F Matches: \u002Fposts, \u002Fposts\u002Ftech, \u002Fposts\u002Ftech\u002Fhello-world\nexport const Route = createFileRoute('\u002Fposts\u002F{-$category}\u002F{-$slug}')({\n  component: PostComponent,\n})\n```\n\n### i18n with Optional Locale\n\n```tsx\n\u002F\u002F src\u002Froutes\u002F{-$locale}\u002Fabout.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002F{-$locale}\u002Fabout')({\n  component: AboutComponent,\n})\n\nfunction AboutComponent() {\n  const { locale } = Route.useParams()\n  const currentLocale = locale || 'en'\n  return \u003Ch1>{currentLocale === 'fr' ? 'À Propos' : 'About Us'}\u003C\u002Fh1>\n}\n\u002F\u002F Matches: \u002Fabout, \u002Fen\u002Fabout, \u002Ffr\u002Fabout\n```\n\n## Prefix and Suffix Patterns\n\nCurly braces `{}` around `$paramName` allow text before or after the dynamic part within a single segment.\n\n### Prefix\n\n```tsx\n\u002F\u002F src\u002Froutes\u002Fposts\u002Fpost-{$postId}.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Fposts\u002Fpost-{$postId}')({\n  component: PostComponent,\n})\n\nfunction PostComponent() {\n  const { postId } = Route.useParams()\n  \u002F\u002F URL: \u002Fposts\u002Fpost-123 → postId = \"123\"\n  return \u003Cdiv>Post ID: {postId}\u003C\u002Fdiv>\n}\n```\n\n### Suffix\n\n```tsx\n\u002F\u002F src\u002Froutes\u002Ffiles\u002F{$fileName}[.]txt.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Ffiles\u002F{$fileName}.txt')({\n  component: FileComponent,\n})\n\nfunction FileComponent() {\n  const { fileName } = Route.useParams()\n  \u002F\u002F URL: \u002Ffiles\u002Freadme.txt → fileName = \"readme\"\n  return \u003Cdiv>File: {fileName}.txt\u003C\u002Fdiv>\n}\n```\n\n### Combined Prefix + Suffix\n\n```tsx\n\u002F\u002F URL: \u002Fusers\u002Fuser-456.json → userId = \"456\"\nexport const Route = createFileRoute('\u002Fusers\u002Fuser-{$userId}.json')({\n  component: UserComponent,\n})\n\nfunction UserComponent() {\n  const { userId } = Route.useParams()\n  return \u003Cdiv>User: {userId}\u003C\u002Fdiv>\n}\n```\n\n## Navigating with Path Params\n\n### Object Form\n\n```tsx\nimport { Link } from '@tanstack\u002Freact-router'\n\nfunction PostLink({ postId }: { postId: string }) {\n  return (\n    \u003CLink to=\"\u002Fposts\u002F$postId\" params={{ postId }}>\n      View Post\n    \u003C\u002FLink>\n  )\n}\n```\n\n### Function Form (Preserves Other Params)\n\n```tsx\nfunction PostLink({ postId }: { postId: string }) {\n  return (\n    \u003CLink to=\"\u002Fposts\u002F$postId\" params={(prev) => ({ ...prev, postId })}>\n      View Post\n    \u003C\u002FLink>\n  )\n}\n```\n\n### Programmatic Navigation\n\n```tsx\nimport { useNavigate } from '@tanstack\u002Freact-router'\n\nfunction GoToPost({ postId }: { postId: string }) {\n  const navigate = useNavigate()\n\n  return (\n    \u003Cbutton\n      onClick={() => {\n        navigate({ to: '\u002Fposts\u002F$postId', params: { postId } })\n      }}\n    >\n      Go to Post\n    \u003C\u002Fbutton>\n  )\n}\n```\n\n### Navigating with Optional Params\n\n```tsx\n\u002F\u002F Include the optional param\n\u003CLink to=\"\u002Fposts\u002F{-$category}\" params={{ category: 'tech' }}>\n  Tech Posts\n\u003C\u002FLink>\n\n\u002F\u002F Omit the optional param (renders \u002Fposts)\n\u003CLink to=\"\u002Fposts\u002F{-$category}\" params={{ category: undefined }}>\n  All Posts\n\u003C\u002FLink>\n```\n\n## Reading Params Outside Route Components\n\n### `useParams` with `from`\n\n```tsx\nimport { useParams } from '@tanstack\u002Freact-router'\n\nfunction PostHeader() {\n  const { postId } = useParams({ from: '\u002Fposts\u002F$postId' })\n  return \u003Ch2>Post {postId}\u003C\u002Fh2>\n}\n```\n\n### `useParams` with `strict: false`\n\n```tsx\nfunction GenericBreadcrumb() {\n  const params = useParams({ strict: false })\n  \u002F\u002F params is a union of all possible route params\n  return \u003Cspan>{params.postId ?? 'Home'}\u003C\u002Fspan>\n}\n```\n\n## Params in Loaders and `beforeLoad`\n\n```tsx\nexport const Route = createFileRoute('\u002Fposts\u002F$postId')({\n  beforeLoad: async ({ params }) => {\n    \u002F\u002F params.postId available here\n    const canView = await checkPermission(params.postId)\n    if (!canView) throw redirect({ to: '\u002Funauthorized' })\n  },\n  loader: async ({ params }) => {\n    return fetchPost(params.postId)\n  },\n})\n```\n\n## Allowed Characters\n\nBy default, params are encoded with `encodeURIComponent`. Allow extra characters via router config:\n\n```tsx\nimport { createRouter } from '@tanstack\u002Freact-router'\n\nconst router = createRouter({\n  routeTree,\n  pathParamsAllowedCharacters: ['@', '+'],\n})\n```\n\nAllowed characters: `;`, `:`, `@`, `&`, `=`, `+`, `$`, `,`.\n\n## Common Mistakes\n\n### 1. CRITICAL (cross-skill): Interpolating path params into `to` string\n\n```tsx\n\u002F\u002F WRONG — breaks type safety and param encoding\n\u003CLink to={`\u002Fposts\u002F${postId}`}>Post\u003C\u002FLink>\n\n\u002F\u002F CORRECT — use params prop\n\u003CLink to=\"\u002Fposts\u002F$postId\" params={{ postId }}>Post\u003C\u002FLink>\n```\n\n### 2. MEDIUM: Using `*` for splat routes instead of `$`\n\nTanStack Router uses `$` for splat routes. The captured value is under `_splat`, not `*`.\n\n```tsx\n\u002F\u002F WRONG (React Router \u002F other frameworks)\n\u002F\u002F \u003CRoute path=\"\u002Ffiles\u002F*\" \u002F>\n\n\u002F\u002F CORRECT (TanStack Router)\n\u002F\u002F File: src\u002Froutes\u002Ffiles.$.tsx\nexport const Route = createFileRoute('\u002Ffiles\u002F$')({\n  component: () => {\n    const { _splat } = Route.useParams()\n    return \u003Cdiv>{_splat}\u003C\u002Fdiv>\n  },\n})\n```\n\n> Note: `*` works in v1 for backwards compatibility but will be removed in v2. Always use `_splat`.\n\n### 3. MEDIUM: Using curly braces for basic dynamic segments\n\nCurly braces are ONLY for prefix\u002Fsuffix patterns and optional params. Basic dynamic segments use bare `$`.\n\n```tsx\n\u002F\u002F WRONG — braces not needed for basic params\ncreateFileRoute('\u002Fposts\u002F{$postId}')\n\n\u002F\u002F CORRECT — bare $ for basic dynamic segments\ncreateFileRoute('\u002Fposts\u002F$postId')\n\n\u002F\u002F CORRECT — braces for prefix pattern\ncreateFileRoute('\u002Fposts\u002Fpost-{$postId}')\n\n\u002F\u002F CORRECT — braces for optional param\ncreateFileRoute('\u002Fposts\u002F{-$category}')\n```\n\n### 4. Params are always strings\n\nPath params are always parsed as strings. If you need a number, parse in the loader or component:\n\n```tsx\nexport const Route = createFileRoute('\u002Fposts\u002F$postId')({\n  loader: async ({ params }) => {\n    const id = parseInt(params.postId, 10)\n    if (isNaN(id)) throw notFound()\n    return fetchPost(id)\n  },\n})\n```\n\nYou can also use `params.parse` and `params.stringify` on the route for bidirectional transformation:\n\n```tsx\nexport const Route = createFileRoute('\u002Fposts\u002F$postId')({\n  params: {\n    parse: (raw) => ({ postId: parseInt(raw.postId, 10) }),\n    stringify: (parsed) => ({ postId: String(parsed.postId) }),\n  },\n  loader: async ({ params }) => {\n    \u002F\u002F params.postId is now number\n    return fetchPost(params.postId)\n  },\n})\n```\n",{"data":50,"body":60},{"name":4,"description":6,"metadata":51,"requires":54,"sources":56},{"type":52,"library":14,"library_version":53},"sub-skill","1.171.15",[55],"router-core",[57,58,59],"TanStack\u002Frouter:docs\u002Frouter\u002Fguide\u002Fpath-params.md","TanStack\u002Frouter:docs\u002Frouter\u002Frouting\u002Frouting-concepts.md","TanStack\u002Frouter:docs\u002Frouter\u002Fguide\u002Finternationalization-i18n.md",{"type":61,"children":62},"root",[63,71,86,117,137,144,163,665,670,935,941,961,1225,1231,1251,1561,1566,1659,1666,2010,2016,2037,2043,2302,2308,2580,2586,2798,2804,2810,3013,3019,3213,3219,3514,3520,3718,3724,3741,3925,3941,4095,4107,4417,4423,4436,4594,4650,4656,4668,4826,4845,4870,5079,5100,5106,5117,5287,5293,5298,5522,5543,5874],{"type":64,"tag":65,"props":66,"children":67},"element","h1",{"id":4},[68],{"type":69,"value":70},"text","Path Params",{"type":64,"tag":72,"props":73,"children":74},"p",{},[75,77,84],{"type":69,"value":76},"Path params capture dynamic URL segments into named variables. They are defined with a ",{"type":64,"tag":78,"props":79,"children":81},"code",{"className":80},[],[82],{"type":69,"value":83},"$",{"type":69,"value":85}," prefix in the route path.",{"type":64,"tag":87,"props":88,"children":89},"blockquote",{},[90],{"type":64,"tag":72,"props":91,"children":92},{},[93,99,101,107,109,115],{"type":64,"tag":94,"props":95,"children":96},"strong",{},[97],{"type":69,"value":98},"CRITICAL",{"type":69,"value":100},": Never interpolate params into the ",{"type":64,"tag":78,"props":102,"children":104},{"className":103},[],[105],{"type":69,"value":106},"to",{"type":69,"value":108}," string. Always use the ",{"type":64,"tag":78,"props":110,"children":112},{"className":111},[],[113],{"type":69,"value":114},"params",{"type":69,"value":116}," prop. This is the most common agent mistake for path params.",{"type":64,"tag":87,"props":118,"children":119},{},[120],{"type":64,"tag":72,"props":121,"children":122},{},[123,127,129,135],{"type":64,"tag":94,"props":124,"children":125},{},[126],{"type":69,"value":98},{"type":69,"value":128},": Types are fully inferred. Never annotate the return of ",{"type":64,"tag":78,"props":130,"children":132},{"className":131},[],[133],{"type":69,"value":134},"useParams()",{"type":69,"value":136},".",{"type":64,"tag":138,"props":139,"children":141},"h2",{"id":140},"dynamic-segments",[142],{"type":69,"value":143},"Dynamic Segments",{"type":64,"tag":72,"props":145,"children":146},{},[147,149,154,156,162],{"type":69,"value":148},"A segment prefixed with ",{"type":64,"tag":78,"props":150,"children":152},{"className":151},[],[153],{"type":69,"value":83},{"type":69,"value":155}," captures text until the next ",{"type":64,"tag":78,"props":157,"children":159},{"className":158},[],[160],{"type":69,"value":161},"\u002F",{"type":69,"value":136},{"type":64,"tag":164,"props":165,"children":170},"pre",{"className":166,"code":167,"language":168,"meta":169,"style":169},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F src\u002Froutes\u002Fposts.$postId.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Fposts\u002F$postId')({\n  loader: async ({ params }) => {\n    \u002F\u002F params.postId is string — fully inferred, do not annotate\n    return fetchPost(params.postId)\n  },\n  component: PostComponent,\n})\n\nfunction PostComponent() {\n  const { postId } = Route.useParams()\n  const data = Route.useLoaderData()\n  return (\n    \u003Ch1>\n      Post {postId}: {data.title}\n    \u003C\u002Fh1>\n  )\n}\n","tsx","",[171],{"type":64,"tag":78,"props":172,"children":173},{"__ignoreMap":169},[174,186,234,244,303,348,357,394,403,426,439,447,469,515,549,563,581,631,648,657],{"type":64,"tag":175,"props":176,"children":179},"span",{"class":177,"line":178},"line",1,[180],{"type":64,"tag":175,"props":181,"children":183},{"style":182},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[184],{"type":69,"value":185},"\u002F\u002F src\u002Froutes\u002Fposts.$postId.tsx\n",{"type":64,"tag":175,"props":187,"children":189},{"class":177,"line":188},2,[190,196,202,208,213,218,223,229],{"type":64,"tag":175,"props":191,"children":193},{"style":192},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[194],{"type":69,"value":195},"import",{"type":64,"tag":175,"props":197,"children":199},{"style":198},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[200],{"type":69,"value":201}," {",{"type":64,"tag":175,"props":203,"children":205},{"style":204},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[206],{"type":69,"value":207}," createFileRoute",{"type":64,"tag":175,"props":209,"children":210},{"style":198},[211],{"type":69,"value":212}," }",{"type":64,"tag":175,"props":214,"children":215},{"style":192},[216],{"type":69,"value":217}," from",{"type":64,"tag":175,"props":219,"children":220},{"style":198},[221],{"type":69,"value":222}," '",{"type":64,"tag":175,"props":224,"children":226},{"style":225},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[227],{"type":69,"value":228},"@tanstack\u002Freact-router",{"type":64,"tag":175,"props":230,"children":231},{"style":198},[232],{"type":69,"value":233},"'\n",{"type":64,"tag":175,"props":235,"children":237},{"class":177,"line":236},3,[238],{"type":64,"tag":175,"props":239,"children":241},{"emptyLinePlaceholder":240},true,[242],{"type":69,"value":243},"\n",{"type":64,"tag":175,"props":245,"children":247},{"class":177,"line":246},4,[248,253,259,264,269,274,279,284,289,293,298],{"type":64,"tag":175,"props":249,"children":250},{"style":192},[251],{"type":69,"value":252},"export",{"type":64,"tag":175,"props":254,"children":256},{"style":255},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[257],{"type":69,"value":258}," const",{"type":64,"tag":175,"props":260,"children":261},{"style":204},[262],{"type":69,"value":263}," Route ",{"type":64,"tag":175,"props":265,"children":266},{"style":198},[267],{"type":69,"value":268},"=",{"type":64,"tag":175,"props":270,"children":272},{"style":271},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[273],{"type":69,"value":207},{"type":64,"tag":175,"props":275,"children":276},{"style":204},[277],{"type":69,"value":278},"(",{"type":64,"tag":175,"props":280,"children":281},{"style":198},[282],{"type":69,"value":283},"'",{"type":64,"tag":175,"props":285,"children":286},{"style":225},[287],{"type":69,"value":288},"\u002Fposts\u002F$postId",{"type":64,"tag":175,"props":290,"children":291},{"style":198},[292],{"type":69,"value":283},{"type":64,"tag":175,"props":294,"children":295},{"style":204},[296],{"type":69,"value":297},")(",{"type":64,"tag":175,"props":299,"children":300},{"style":198},[301],{"type":69,"value":302},"{\n",{"type":64,"tag":175,"props":304,"children":306},{"class":177,"line":305},5,[307,312,317,322,327,333,338,343],{"type":64,"tag":175,"props":308,"children":309},{"style":271},[310],{"type":69,"value":311},"  loader",{"type":64,"tag":175,"props":313,"children":314},{"style":198},[315],{"type":69,"value":316},":",{"type":64,"tag":175,"props":318,"children":319},{"style":255},[320],{"type":69,"value":321}," async",{"type":64,"tag":175,"props":323,"children":324},{"style":198},[325],{"type":69,"value":326}," ({",{"type":64,"tag":175,"props":328,"children":330},{"style":329},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[331],{"type":69,"value":332}," params",{"type":64,"tag":175,"props":334,"children":335},{"style":198},[336],{"type":69,"value":337}," })",{"type":64,"tag":175,"props":339,"children":340},{"style":255},[341],{"type":69,"value":342}," =>",{"type":64,"tag":175,"props":344,"children":345},{"style":198},[346],{"type":69,"value":347}," {\n",{"type":64,"tag":175,"props":349,"children":351},{"class":177,"line":350},6,[352],{"type":64,"tag":175,"props":353,"children":354},{"style":182},[355],{"type":69,"value":356},"    \u002F\u002F params.postId is string — fully inferred, do not annotate\n",{"type":64,"tag":175,"props":358,"children":360},{"class":177,"line":359},7,[361,366,371,376,380,384,389],{"type":64,"tag":175,"props":362,"children":363},{"style":192},[364],{"type":69,"value":365},"    return",{"type":64,"tag":175,"props":367,"children":368},{"style":271},[369],{"type":69,"value":370}," fetchPost",{"type":64,"tag":175,"props":372,"children":374},{"style":373},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[375],{"type":69,"value":278},{"type":64,"tag":175,"props":377,"children":378},{"style":204},[379],{"type":69,"value":114},{"type":64,"tag":175,"props":381,"children":382},{"style":198},[383],{"type":69,"value":136},{"type":64,"tag":175,"props":385,"children":386},{"style":204},[387],{"type":69,"value":388},"postId",{"type":64,"tag":175,"props":390,"children":391},{"style":373},[392],{"type":69,"value":393},")\n",{"type":64,"tag":175,"props":395,"children":397},{"class":177,"line":396},8,[398],{"type":64,"tag":175,"props":399,"children":400},{"style":198},[401],{"type":69,"value":402},"  },\n",{"type":64,"tag":175,"props":404,"children":406},{"class":177,"line":405},9,[407,412,416,421],{"type":64,"tag":175,"props":408,"children":409},{"style":373},[410],{"type":69,"value":411},"  component",{"type":64,"tag":175,"props":413,"children":414},{"style":198},[415],{"type":69,"value":316},{"type":64,"tag":175,"props":417,"children":418},{"style":204},[419],{"type":69,"value":420}," PostComponent",{"type":64,"tag":175,"props":422,"children":423},{"style":198},[424],{"type":69,"value":425},",\n",{"type":64,"tag":175,"props":427,"children":429},{"class":177,"line":428},10,[430,435],{"type":64,"tag":175,"props":431,"children":432},{"style":198},[433],{"type":69,"value":434},"}",{"type":64,"tag":175,"props":436,"children":437},{"style":204},[438],{"type":69,"value":393},{"type":64,"tag":175,"props":440,"children":442},{"class":177,"line":441},11,[443],{"type":64,"tag":175,"props":444,"children":445},{"emptyLinePlaceholder":240},[446],{"type":69,"value":243},{"type":64,"tag":175,"props":448,"children":450},{"class":177,"line":449},12,[451,456,460,465],{"type":64,"tag":175,"props":452,"children":453},{"style":255},[454],{"type":69,"value":455},"function",{"type":64,"tag":175,"props":457,"children":458},{"style":271},[459],{"type":69,"value":420},{"type":64,"tag":175,"props":461,"children":462},{"style":198},[463],{"type":69,"value":464},"()",{"type":64,"tag":175,"props":466,"children":467},{"style":198},[468],{"type":69,"value":347},{"type":64,"tag":175,"props":470,"children":472},{"class":177,"line":471},13,[473,478,482,487,491,496,501,505,510],{"type":64,"tag":175,"props":474,"children":475},{"style":255},[476],{"type":69,"value":477},"  const",{"type":64,"tag":175,"props":479,"children":480},{"style":198},[481],{"type":69,"value":201},{"type":64,"tag":175,"props":483,"children":484},{"style":204},[485],{"type":69,"value":486}," postId",{"type":64,"tag":175,"props":488,"children":489},{"style":198},[490],{"type":69,"value":212},{"type":64,"tag":175,"props":492,"children":493},{"style":198},[494],{"type":69,"value":495}," =",{"type":64,"tag":175,"props":497,"children":498},{"style":204},[499],{"type":69,"value":500}," Route",{"type":64,"tag":175,"props":502,"children":503},{"style":198},[504],{"type":69,"value":136},{"type":64,"tag":175,"props":506,"children":507},{"style":271},[508],{"type":69,"value":509},"useParams",{"type":64,"tag":175,"props":511,"children":512},{"style":373},[513],{"type":69,"value":514},"()\n",{"type":64,"tag":175,"props":516,"children":518},{"class":177,"line":517},14,[519,523,528,532,536,540,545],{"type":64,"tag":175,"props":520,"children":521},{"style":255},[522],{"type":69,"value":477},{"type":64,"tag":175,"props":524,"children":525},{"style":204},[526],{"type":69,"value":527}," data",{"type":64,"tag":175,"props":529,"children":530},{"style":198},[531],{"type":69,"value":495},{"type":64,"tag":175,"props":533,"children":534},{"style":204},[535],{"type":69,"value":500},{"type":64,"tag":175,"props":537,"children":538},{"style":198},[539],{"type":69,"value":136},{"type":64,"tag":175,"props":541,"children":542},{"style":271},[543],{"type":69,"value":544},"useLoaderData",{"type":64,"tag":175,"props":546,"children":547},{"style":373},[548],{"type":69,"value":514},{"type":64,"tag":175,"props":550,"children":552},{"class":177,"line":551},15,[553,558],{"type":64,"tag":175,"props":554,"children":555},{"style":192},[556],{"type":69,"value":557},"  return",{"type":64,"tag":175,"props":559,"children":560},{"style":373},[561],{"type":69,"value":562}," (\n",{"type":64,"tag":175,"props":564,"children":566},{"class":177,"line":565},16,[567,572,576],{"type":64,"tag":175,"props":568,"children":569},{"style":198},[570],{"type":69,"value":571},"    \u003C",{"type":64,"tag":175,"props":573,"children":574},{"style":373},[575],{"type":69,"value":65},{"type":64,"tag":175,"props":577,"children":578},{"style":198},[579],{"type":69,"value":580},">\n",{"type":64,"tag":175,"props":582,"children":584},{"class":177,"line":583},17,[585,590,595,599,603,608,612,617,621,626],{"type":64,"tag":175,"props":586,"children":587},{"style":204},[588],{"type":69,"value":589},"      Post ",{"type":64,"tag":175,"props":591,"children":592},{"style":198},[593],{"type":69,"value":594},"{",{"type":64,"tag":175,"props":596,"children":597},{"style":204},[598],{"type":69,"value":388},{"type":64,"tag":175,"props":600,"children":601},{"style":198},[602],{"type":69,"value":434},{"type":64,"tag":175,"props":604,"children":605},{"style":204},[606],{"type":69,"value":607},": ",{"type":64,"tag":175,"props":609,"children":610},{"style":198},[611],{"type":69,"value":594},{"type":64,"tag":175,"props":613,"children":614},{"style":204},[615],{"type":69,"value":616},"data",{"type":64,"tag":175,"props":618,"children":619},{"style":198},[620],{"type":69,"value":136},{"type":64,"tag":175,"props":622,"children":623},{"style":204},[624],{"type":69,"value":625},"title",{"type":64,"tag":175,"props":627,"children":628},{"style":198},[629],{"type":69,"value":630},"}\n",{"type":64,"tag":175,"props":632,"children":634},{"class":177,"line":633},18,[635,640,644],{"type":64,"tag":175,"props":636,"children":637},{"style":198},[638],{"type":69,"value":639},"    \u003C\u002F",{"type":64,"tag":175,"props":641,"children":642},{"style":373},[643],{"type":69,"value":65},{"type":64,"tag":175,"props":645,"children":646},{"style":198},[647],{"type":69,"value":580},{"type":64,"tag":175,"props":649,"children":651},{"class":177,"line":650},19,[652],{"type":64,"tag":175,"props":653,"children":654},{"style":373},[655],{"type":69,"value":656},"  )\n",{"type":64,"tag":175,"props":658,"children":660},{"class":177,"line":659},20,[661],{"type":64,"tag":175,"props":662,"children":663},{"style":198},[664],{"type":69,"value":630},{"type":64,"tag":72,"props":666,"children":667},{},[668],{"type":69,"value":669},"Multiple dynamic segments work across path levels:",{"type":64,"tag":164,"props":671,"children":673},{"className":166,"code":672,"language":168,"meta":169,"style":169},"\u002F\u002F src\u002Froutes\u002Fteams.$teamId.members.$memberId.tsx\nexport const Route = createFileRoute('\u002Fteams\u002F$teamId\u002Fmembers\u002F$memberId')({\n  component: MemberComponent,\n})\n\nfunction MemberComponent() {\n  const { teamId, memberId } = Route.useParams()\n  return (\n    \u003Cdiv>\n      Team {teamId}, Member {memberId}\n    \u003C\u002Fdiv>\n  )\n}\n",[674],{"type":64,"tag":78,"props":675,"children":676},{"__ignoreMap":169},[677,685,733,753,764,771,790,840,851,867,906,921,928],{"type":64,"tag":175,"props":678,"children":679},{"class":177,"line":178},[680],{"type":64,"tag":175,"props":681,"children":682},{"style":182},[683],{"type":69,"value":684},"\u002F\u002F src\u002Froutes\u002Fteams.$teamId.members.$memberId.tsx\n",{"type":64,"tag":175,"props":686,"children":687},{"class":177,"line":188},[688,692,696,700,704,708,712,716,721,725,729],{"type":64,"tag":175,"props":689,"children":690},{"style":192},[691],{"type":69,"value":252},{"type":64,"tag":175,"props":693,"children":694},{"style":255},[695],{"type":69,"value":258},{"type":64,"tag":175,"props":697,"children":698},{"style":204},[699],{"type":69,"value":263},{"type":64,"tag":175,"props":701,"children":702},{"style":198},[703],{"type":69,"value":268},{"type":64,"tag":175,"props":705,"children":706},{"style":271},[707],{"type":69,"value":207},{"type":64,"tag":175,"props":709,"children":710},{"style":204},[711],{"type":69,"value":278},{"type":64,"tag":175,"props":713,"children":714},{"style":198},[715],{"type":69,"value":283},{"type":64,"tag":175,"props":717,"children":718},{"style":225},[719],{"type":69,"value":720},"\u002Fteams\u002F$teamId\u002Fmembers\u002F$memberId",{"type":64,"tag":175,"props":722,"children":723},{"style":198},[724],{"type":69,"value":283},{"type":64,"tag":175,"props":726,"children":727},{"style":204},[728],{"type":69,"value":297},{"type":64,"tag":175,"props":730,"children":731},{"style":198},[732],{"type":69,"value":302},{"type":64,"tag":175,"props":734,"children":735},{"class":177,"line":236},[736,740,744,749],{"type":64,"tag":175,"props":737,"children":738},{"style":373},[739],{"type":69,"value":411},{"type":64,"tag":175,"props":741,"children":742},{"style":198},[743],{"type":69,"value":316},{"type":64,"tag":175,"props":745,"children":746},{"style":204},[747],{"type":69,"value":748}," MemberComponent",{"type":64,"tag":175,"props":750,"children":751},{"style":198},[752],{"type":69,"value":425},{"type":64,"tag":175,"props":754,"children":755},{"class":177,"line":246},[756,760],{"type":64,"tag":175,"props":757,"children":758},{"style":198},[759],{"type":69,"value":434},{"type":64,"tag":175,"props":761,"children":762},{"style":204},[763],{"type":69,"value":393},{"type":64,"tag":175,"props":765,"children":766},{"class":177,"line":305},[767],{"type":64,"tag":175,"props":768,"children":769},{"emptyLinePlaceholder":240},[770],{"type":69,"value":243},{"type":64,"tag":175,"props":772,"children":773},{"class":177,"line":350},[774,778,782,786],{"type":64,"tag":175,"props":775,"children":776},{"style":255},[777],{"type":69,"value":455},{"type":64,"tag":175,"props":779,"children":780},{"style":271},[781],{"type":69,"value":748},{"type":64,"tag":175,"props":783,"children":784},{"style":198},[785],{"type":69,"value":464},{"type":64,"tag":175,"props":787,"children":788},{"style":198},[789],{"type":69,"value":347},{"type":64,"tag":175,"props":791,"children":792},{"class":177,"line":359},[793,797,801,806,811,816,820,824,828,832,836],{"type":64,"tag":175,"props":794,"children":795},{"style":255},[796],{"type":69,"value":477},{"type":64,"tag":175,"props":798,"children":799},{"style":198},[800],{"type":69,"value":201},{"type":64,"tag":175,"props":802,"children":803},{"style":204},[804],{"type":69,"value":805}," teamId",{"type":64,"tag":175,"props":807,"children":808},{"style":198},[809],{"type":69,"value":810},",",{"type":64,"tag":175,"props":812,"children":813},{"style":204},[814],{"type":69,"value":815}," memberId",{"type":64,"tag":175,"props":817,"children":818},{"style":198},[819],{"type":69,"value":212},{"type":64,"tag":175,"props":821,"children":822},{"style":198},[823],{"type":69,"value":495},{"type":64,"tag":175,"props":825,"children":826},{"style":204},[827],{"type":69,"value":500},{"type":64,"tag":175,"props":829,"children":830},{"style":198},[831],{"type":69,"value":136},{"type":64,"tag":175,"props":833,"children":834},{"style":271},[835],{"type":69,"value":509},{"type":64,"tag":175,"props":837,"children":838},{"style":373},[839],{"type":69,"value":514},{"type":64,"tag":175,"props":841,"children":842},{"class":177,"line":396},[843,847],{"type":64,"tag":175,"props":844,"children":845},{"style":192},[846],{"type":69,"value":557},{"type":64,"tag":175,"props":848,"children":849},{"style":373},[850],{"type":69,"value":562},{"type":64,"tag":175,"props":852,"children":853},{"class":177,"line":405},[854,858,863],{"type":64,"tag":175,"props":855,"children":856},{"style":198},[857],{"type":69,"value":571},{"type":64,"tag":175,"props":859,"children":860},{"style":373},[861],{"type":69,"value":862},"div",{"type":64,"tag":175,"props":864,"children":865},{"style":198},[866],{"type":69,"value":580},{"type":64,"tag":175,"props":868,"children":869},{"class":177,"line":428},[870,875,879,884,888,893,897,902],{"type":64,"tag":175,"props":871,"children":872},{"style":204},[873],{"type":69,"value":874},"      Team ",{"type":64,"tag":175,"props":876,"children":877},{"style":198},[878],{"type":69,"value":594},{"type":64,"tag":175,"props":880,"children":881},{"style":204},[882],{"type":69,"value":883},"teamId",{"type":64,"tag":175,"props":885,"children":886},{"style":198},[887],{"type":69,"value":434},{"type":64,"tag":175,"props":889,"children":890},{"style":204},[891],{"type":69,"value":892},", Member ",{"type":64,"tag":175,"props":894,"children":895},{"style":198},[896],{"type":69,"value":594},{"type":64,"tag":175,"props":898,"children":899},{"style":204},[900],{"type":69,"value":901},"memberId",{"type":64,"tag":175,"props":903,"children":904},{"style":198},[905],{"type":69,"value":630},{"type":64,"tag":175,"props":907,"children":908},{"class":177,"line":441},[909,913,917],{"type":64,"tag":175,"props":910,"children":911},{"style":198},[912],{"type":69,"value":639},{"type":64,"tag":175,"props":914,"children":915},{"style":373},[916],{"type":69,"value":862},{"type":64,"tag":175,"props":918,"children":919},{"style":198},[920],{"type":69,"value":580},{"type":64,"tag":175,"props":922,"children":923},{"class":177,"line":449},[924],{"type":64,"tag":175,"props":925,"children":926},{"style":373},[927],{"type":69,"value":656},{"type":64,"tag":175,"props":929,"children":930},{"class":177,"line":471},[931],{"type":64,"tag":175,"props":932,"children":933},{"style":198},[934],{"type":69,"value":630},{"type":64,"tag":138,"props":936,"children":938},{"id":937},"splat-catch-all-routes",[939],{"type":69,"value":940},"Splat \u002F Catch-All Routes",{"type":64,"tag":72,"props":942,"children":943},{},[944,946,951,953,959],{"type":69,"value":945},"A route with a path ending in ",{"type":64,"tag":78,"props":947,"children":949},{"className":948},[],[950],{"type":69,"value":83},{"type":69,"value":952}," (bare dollar sign) captures everything after it. The value is available under the ",{"type":64,"tag":78,"props":954,"children":956},{"className":955},[],[957],{"type":69,"value":958},"_splat",{"type":69,"value":960}," key.",{"type":64,"tag":164,"props":962,"children":964},{"className":166,"code":963,"language":168,"meta":169,"style":169},"\u002F\u002F src\u002Froutes\u002Ffiles.$.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Ffiles\u002F$')({\n  component: FileViewer,\n})\n\nfunction FileViewer() {\n  const { _splat } = Route.useParams()\n  \u002F\u002F URL: \u002Ffiles\u002Fdocuments\u002Freport.pdf → _splat = \"documents\u002Freport.pdf\"\n  return \u003Cdiv>File path: {_splat}\u003C\u002Fdiv>\n}\n",[965],{"type":64,"tag":78,"props":966,"children":967},{"__ignoreMap":169},[968,976,1011,1018,1066,1086,1097,1104,1123,1163,1171,1218],{"type":64,"tag":175,"props":969,"children":970},{"class":177,"line":178},[971],{"type":64,"tag":175,"props":972,"children":973},{"style":182},[974],{"type":69,"value":975},"\u002F\u002F src\u002Froutes\u002Ffiles.$.tsx\n",{"type":64,"tag":175,"props":977,"children":978},{"class":177,"line":188},[979,983,987,991,995,999,1003,1007],{"type":64,"tag":175,"props":980,"children":981},{"style":192},[982],{"type":69,"value":195},{"type":64,"tag":175,"props":984,"children":985},{"style":198},[986],{"type":69,"value":201},{"type":64,"tag":175,"props":988,"children":989},{"style":204},[990],{"type":69,"value":207},{"type":64,"tag":175,"props":992,"children":993},{"style":198},[994],{"type":69,"value":212},{"type":64,"tag":175,"props":996,"children":997},{"style":192},[998],{"type":69,"value":217},{"type":64,"tag":175,"props":1000,"children":1001},{"style":198},[1002],{"type":69,"value":222},{"type":64,"tag":175,"props":1004,"children":1005},{"style":225},[1006],{"type":69,"value":228},{"type":64,"tag":175,"props":1008,"children":1009},{"style":198},[1010],{"type":69,"value":233},{"type":64,"tag":175,"props":1012,"children":1013},{"class":177,"line":236},[1014],{"type":64,"tag":175,"props":1015,"children":1016},{"emptyLinePlaceholder":240},[1017],{"type":69,"value":243},{"type":64,"tag":175,"props":1019,"children":1020},{"class":177,"line":246},[1021,1025,1029,1033,1037,1041,1045,1049,1054,1058,1062],{"type":64,"tag":175,"props":1022,"children":1023},{"style":192},[1024],{"type":69,"value":252},{"type":64,"tag":175,"props":1026,"children":1027},{"style":255},[1028],{"type":69,"value":258},{"type":64,"tag":175,"props":1030,"children":1031},{"style":204},[1032],{"type":69,"value":263},{"type":64,"tag":175,"props":1034,"children":1035},{"style":198},[1036],{"type":69,"value":268},{"type":64,"tag":175,"props":1038,"children":1039},{"style":271},[1040],{"type":69,"value":207},{"type":64,"tag":175,"props":1042,"children":1043},{"style":204},[1044],{"type":69,"value":278},{"type":64,"tag":175,"props":1046,"children":1047},{"style":198},[1048],{"type":69,"value":283},{"type":64,"tag":175,"props":1050,"children":1051},{"style":225},[1052],{"type":69,"value":1053},"\u002Ffiles\u002F$",{"type":64,"tag":175,"props":1055,"children":1056},{"style":198},[1057],{"type":69,"value":283},{"type":64,"tag":175,"props":1059,"children":1060},{"style":204},[1061],{"type":69,"value":297},{"type":64,"tag":175,"props":1063,"children":1064},{"style":198},[1065],{"type":69,"value":302},{"type":64,"tag":175,"props":1067,"children":1068},{"class":177,"line":305},[1069,1073,1077,1082],{"type":64,"tag":175,"props":1070,"children":1071},{"style":373},[1072],{"type":69,"value":411},{"type":64,"tag":175,"props":1074,"children":1075},{"style":198},[1076],{"type":69,"value":316},{"type":64,"tag":175,"props":1078,"children":1079},{"style":204},[1080],{"type":69,"value":1081}," FileViewer",{"type":64,"tag":175,"props":1083,"children":1084},{"style":198},[1085],{"type":69,"value":425},{"type":64,"tag":175,"props":1087,"children":1088},{"class":177,"line":350},[1089,1093],{"type":64,"tag":175,"props":1090,"children":1091},{"style":198},[1092],{"type":69,"value":434},{"type":64,"tag":175,"props":1094,"children":1095},{"style":204},[1096],{"type":69,"value":393},{"type":64,"tag":175,"props":1098,"children":1099},{"class":177,"line":359},[1100],{"type":64,"tag":175,"props":1101,"children":1102},{"emptyLinePlaceholder":240},[1103],{"type":69,"value":243},{"type":64,"tag":175,"props":1105,"children":1106},{"class":177,"line":396},[1107,1111,1115,1119],{"type":64,"tag":175,"props":1108,"children":1109},{"style":255},[1110],{"type":69,"value":455},{"type":64,"tag":175,"props":1112,"children":1113},{"style":271},[1114],{"type":69,"value":1081},{"type":64,"tag":175,"props":1116,"children":1117},{"style":198},[1118],{"type":69,"value":464},{"type":64,"tag":175,"props":1120,"children":1121},{"style":198},[1122],{"type":69,"value":347},{"type":64,"tag":175,"props":1124,"children":1125},{"class":177,"line":405},[1126,1130,1134,1139,1143,1147,1151,1155,1159],{"type":64,"tag":175,"props":1127,"children":1128},{"style":255},[1129],{"type":69,"value":477},{"type":64,"tag":175,"props":1131,"children":1132},{"style":198},[1133],{"type":69,"value":201},{"type":64,"tag":175,"props":1135,"children":1136},{"style":204},[1137],{"type":69,"value":1138}," _splat",{"type":64,"tag":175,"props":1140,"children":1141},{"style":198},[1142],{"type":69,"value":212},{"type":64,"tag":175,"props":1144,"children":1145},{"style":198},[1146],{"type":69,"value":495},{"type":64,"tag":175,"props":1148,"children":1149},{"style":204},[1150],{"type":69,"value":500},{"type":64,"tag":175,"props":1152,"children":1153},{"style":198},[1154],{"type":69,"value":136},{"type":64,"tag":175,"props":1156,"children":1157},{"style":271},[1158],{"type":69,"value":509},{"type":64,"tag":175,"props":1160,"children":1161},{"style":373},[1162],{"type":69,"value":514},{"type":64,"tag":175,"props":1164,"children":1165},{"class":177,"line":428},[1166],{"type":64,"tag":175,"props":1167,"children":1168},{"style":182},[1169],{"type":69,"value":1170},"  \u002F\u002F URL: \u002Ffiles\u002Fdocuments\u002Freport.pdf → _splat = \"documents\u002Freport.pdf\"\n",{"type":64,"tag":175,"props":1172,"children":1173},{"class":177,"line":441},[1174,1178,1183,1187,1192,1197,1201,1205,1210,1214],{"type":64,"tag":175,"props":1175,"children":1176},{"style":192},[1177],{"type":69,"value":557},{"type":64,"tag":175,"props":1179,"children":1180},{"style":198},[1181],{"type":69,"value":1182}," \u003C",{"type":64,"tag":175,"props":1184,"children":1185},{"style":373},[1186],{"type":69,"value":862},{"type":64,"tag":175,"props":1188,"children":1189},{"style":198},[1190],{"type":69,"value":1191},">",{"type":64,"tag":175,"props":1193,"children":1194},{"style":204},[1195],{"type":69,"value":1196},"File path: ",{"type":64,"tag":175,"props":1198,"children":1199},{"style":198},[1200],{"type":69,"value":594},{"type":64,"tag":175,"props":1202,"children":1203},{"style":204},[1204],{"type":69,"value":958},{"type":64,"tag":175,"props":1206,"children":1207},{"style":198},[1208],{"type":69,"value":1209},"}\u003C\u002F",{"type":64,"tag":175,"props":1211,"children":1212},{"style":373},[1213],{"type":69,"value":862},{"type":64,"tag":175,"props":1215,"children":1216},{"style":198},[1217],{"type":69,"value":580},{"type":64,"tag":175,"props":1219,"children":1220},{"class":177,"line":449},[1221],{"type":64,"tag":175,"props":1222,"children":1223},{"style":198},[1224],{"type":69,"value":630},{"type":64,"tag":138,"props":1226,"children":1228},{"id":1227},"optional-params",[1229],{"type":69,"value":1230},"Optional Params",{"type":64,"tag":72,"props":1232,"children":1233},{},[1234,1236,1242,1244,1250],{"type":69,"value":1235},"Optional params use ",{"type":64,"tag":78,"props":1237,"children":1239},{"className":1238},[],[1240],{"type":69,"value":1241},"{-$paramName}",{"type":69,"value":1243}," syntax. The segment may or may not be present. When absent, the value is ",{"type":64,"tag":78,"props":1245,"children":1247},{"className":1246},[],[1248],{"type":69,"value":1249},"undefined",{"type":69,"value":136},{"type":64,"tag":164,"props":1252,"children":1254},{"className":166,"code":1253,"language":168,"meta":169,"style":169},"\u002F\u002F src\u002Froutes\u002Fposts.{-$category}.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Fposts\u002F{-$category}')({\n  component: PostsComponent,\n})\n\nfunction PostsComponent() {\n  const { category } = Route.useParams()\n  \u002F\u002F URL: \u002Fposts → category is undefined\n  \u002F\u002F URL: \u002Fposts\u002Ftech → category is \"tech\"\n  return \u003Cdiv>{category ? `Posts in ${category}` : 'All Posts'}\u003C\u002Fdiv>\n}\n",[1255],{"type":64,"tag":78,"props":1256,"children":1257},{"__ignoreMap":169},[1258,1266,1301,1308,1356,1376,1387,1394,1413,1453,1461,1469,1554],{"type":64,"tag":175,"props":1259,"children":1260},{"class":177,"line":178},[1261],{"type":64,"tag":175,"props":1262,"children":1263},{"style":182},[1264],{"type":69,"value":1265},"\u002F\u002F src\u002Froutes\u002Fposts.{-$category}.tsx\n",{"type":64,"tag":175,"props":1267,"children":1268},{"class":177,"line":188},[1269,1273,1277,1281,1285,1289,1293,1297],{"type":64,"tag":175,"props":1270,"children":1271},{"style":192},[1272],{"type":69,"value":195},{"type":64,"tag":175,"props":1274,"children":1275},{"style":198},[1276],{"type":69,"value":201},{"type":64,"tag":175,"props":1278,"children":1279},{"style":204},[1280],{"type":69,"value":207},{"type":64,"tag":175,"props":1282,"children":1283},{"style":198},[1284],{"type":69,"value":212},{"type":64,"tag":175,"props":1286,"children":1287},{"style":192},[1288],{"type":69,"value":217},{"type":64,"tag":175,"props":1290,"children":1291},{"style":198},[1292],{"type":69,"value":222},{"type":64,"tag":175,"props":1294,"children":1295},{"style":225},[1296],{"type":69,"value":228},{"type":64,"tag":175,"props":1298,"children":1299},{"style":198},[1300],{"type":69,"value":233},{"type":64,"tag":175,"props":1302,"children":1303},{"class":177,"line":236},[1304],{"type":64,"tag":175,"props":1305,"children":1306},{"emptyLinePlaceholder":240},[1307],{"type":69,"value":243},{"type":64,"tag":175,"props":1309,"children":1310},{"class":177,"line":246},[1311,1315,1319,1323,1327,1331,1335,1339,1344,1348,1352],{"type":64,"tag":175,"props":1312,"children":1313},{"style":192},[1314],{"type":69,"value":252},{"type":64,"tag":175,"props":1316,"children":1317},{"style":255},[1318],{"type":69,"value":258},{"type":64,"tag":175,"props":1320,"children":1321},{"style":204},[1322],{"type":69,"value":263},{"type":64,"tag":175,"props":1324,"children":1325},{"style":198},[1326],{"type":69,"value":268},{"type":64,"tag":175,"props":1328,"children":1329},{"style":271},[1330],{"type":69,"value":207},{"type":64,"tag":175,"props":1332,"children":1333},{"style":204},[1334],{"type":69,"value":278},{"type":64,"tag":175,"props":1336,"children":1337},{"style":198},[1338],{"type":69,"value":283},{"type":64,"tag":175,"props":1340,"children":1341},{"style":225},[1342],{"type":69,"value":1343},"\u002Fposts\u002F{-$category}",{"type":64,"tag":175,"props":1345,"children":1346},{"style":198},[1347],{"type":69,"value":283},{"type":64,"tag":175,"props":1349,"children":1350},{"style":204},[1351],{"type":69,"value":297},{"type":64,"tag":175,"props":1353,"children":1354},{"style":198},[1355],{"type":69,"value":302},{"type":64,"tag":175,"props":1357,"children":1358},{"class":177,"line":305},[1359,1363,1367,1372],{"type":64,"tag":175,"props":1360,"children":1361},{"style":373},[1362],{"type":69,"value":411},{"type":64,"tag":175,"props":1364,"children":1365},{"style":198},[1366],{"type":69,"value":316},{"type":64,"tag":175,"props":1368,"children":1369},{"style":204},[1370],{"type":69,"value":1371}," PostsComponent",{"type":64,"tag":175,"props":1373,"children":1374},{"style":198},[1375],{"type":69,"value":425},{"type":64,"tag":175,"props":1377,"children":1378},{"class":177,"line":350},[1379,1383],{"type":64,"tag":175,"props":1380,"children":1381},{"style":198},[1382],{"type":69,"value":434},{"type":64,"tag":175,"props":1384,"children":1385},{"style":204},[1386],{"type":69,"value":393},{"type":64,"tag":175,"props":1388,"children":1389},{"class":177,"line":359},[1390],{"type":64,"tag":175,"props":1391,"children":1392},{"emptyLinePlaceholder":240},[1393],{"type":69,"value":243},{"type":64,"tag":175,"props":1395,"children":1396},{"class":177,"line":396},[1397,1401,1405,1409],{"type":64,"tag":175,"props":1398,"children":1399},{"style":255},[1400],{"type":69,"value":455},{"type":64,"tag":175,"props":1402,"children":1403},{"style":271},[1404],{"type":69,"value":1371},{"type":64,"tag":175,"props":1406,"children":1407},{"style":198},[1408],{"type":69,"value":464},{"type":64,"tag":175,"props":1410,"children":1411},{"style":198},[1412],{"type":69,"value":347},{"type":64,"tag":175,"props":1414,"children":1415},{"class":177,"line":405},[1416,1420,1424,1429,1433,1437,1441,1445,1449],{"type":64,"tag":175,"props":1417,"children":1418},{"style":255},[1419],{"type":69,"value":477},{"type":64,"tag":175,"props":1421,"children":1422},{"style":198},[1423],{"type":69,"value":201},{"type":64,"tag":175,"props":1425,"children":1426},{"style":204},[1427],{"type":69,"value":1428}," category",{"type":64,"tag":175,"props":1430,"children":1431},{"style":198},[1432],{"type":69,"value":212},{"type":64,"tag":175,"props":1434,"children":1435},{"style":198},[1436],{"type":69,"value":495},{"type":64,"tag":175,"props":1438,"children":1439},{"style":204},[1440],{"type":69,"value":500},{"type":64,"tag":175,"props":1442,"children":1443},{"style":198},[1444],{"type":69,"value":136},{"type":64,"tag":175,"props":1446,"children":1447},{"style":271},[1448],{"type":69,"value":509},{"type":64,"tag":175,"props":1450,"children":1451},{"style":373},[1452],{"type":69,"value":514},{"type":64,"tag":175,"props":1454,"children":1455},{"class":177,"line":428},[1456],{"type":64,"tag":175,"props":1457,"children":1458},{"style":182},[1459],{"type":69,"value":1460},"  \u002F\u002F URL: \u002Fposts → category is undefined\n",{"type":64,"tag":175,"props":1462,"children":1463},{"class":177,"line":441},[1464],{"type":64,"tag":175,"props":1465,"children":1466},{"style":182},[1467],{"type":69,"value":1468},"  \u002F\u002F URL: \u002Fposts\u002Ftech → category is \"tech\"\n",{"type":64,"tag":175,"props":1470,"children":1471},{"class":177,"line":449},[1472,1476,1480,1484,1489,1494,1499,1504,1509,1514,1519,1524,1529,1533,1538,1542,1546,1550],{"type":64,"tag":175,"props":1473,"children":1474},{"style":192},[1475],{"type":69,"value":557},{"type":64,"tag":175,"props":1477,"children":1478},{"style":198},[1479],{"type":69,"value":1182},{"type":64,"tag":175,"props":1481,"children":1482},{"style":373},[1483],{"type":69,"value":862},{"type":64,"tag":175,"props":1485,"children":1486},{"style":198},[1487],{"type":69,"value":1488},">{",{"type":64,"tag":175,"props":1490,"children":1491},{"style":204},[1492],{"type":69,"value":1493},"category ",{"type":64,"tag":175,"props":1495,"children":1496},{"style":198},[1497],{"type":69,"value":1498},"?",{"type":64,"tag":175,"props":1500,"children":1501},{"style":198},[1502],{"type":69,"value":1503}," `",{"type":64,"tag":175,"props":1505,"children":1506},{"style":225},[1507],{"type":69,"value":1508},"Posts in ",{"type":64,"tag":175,"props":1510,"children":1511},{"style":198},[1512],{"type":69,"value":1513},"${",{"type":64,"tag":175,"props":1515,"children":1516},{"style":204},[1517],{"type":69,"value":1518},"category",{"type":64,"tag":175,"props":1520,"children":1521},{"style":198},[1522],{"type":69,"value":1523},"}`",{"type":64,"tag":175,"props":1525,"children":1526},{"style":198},[1527],{"type":69,"value":1528}," :",{"type":64,"tag":175,"props":1530,"children":1531},{"style":198},[1532],{"type":69,"value":222},{"type":64,"tag":175,"props":1534,"children":1535},{"style":225},[1536],{"type":69,"value":1537},"All Posts",{"type":64,"tag":175,"props":1539,"children":1540},{"style":198},[1541],{"type":69,"value":283},{"type":64,"tag":175,"props":1543,"children":1544},{"style":198},[1545],{"type":69,"value":1209},{"type":64,"tag":175,"props":1547,"children":1548},{"style":373},[1549],{"type":69,"value":862},{"type":64,"tag":175,"props":1551,"children":1552},{"style":198},[1553],{"type":69,"value":580},{"type":64,"tag":175,"props":1555,"children":1556},{"class":177,"line":471},[1557],{"type":64,"tag":175,"props":1558,"children":1559},{"style":198},[1560],{"type":69,"value":630},{"type":64,"tag":72,"props":1562,"children":1563},{},[1564],{"type":69,"value":1565},"Multiple optional params:",{"type":64,"tag":164,"props":1567,"children":1569},{"className":166,"code":1568,"language":168,"meta":169,"style":169},"\u002F\u002F Matches: \u002Fposts, \u002Fposts\u002Ftech, \u002Fposts\u002Ftech\u002Fhello-world\nexport const Route = createFileRoute('\u002Fposts\u002F{-$category}\u002F{-$slug}')({\n  component: PostComponent,\n})\n",[1570],{"type":64,"tag":78,"props":1571,"children":1572},{"__ignoreMap":169},[1573,1581,1629,1648],{"type":64,"tag":175,"props":1574,"children":1575},{"class":177,"line":178},[1576],{"type":64,"tag":175,"props":1577,"children":1578},{"style":182},[1579],{"type":69,"value":1580},"\u002F\u002F Matches: \u002Fposts, \u002Fposts\u002Ftech, \u002Fposts\u002Ftech\u002Fhello-world\n",{"type":64,"tag":175,"props":1582,"children":1583},{"class":177,"line":188},[1584,1588,1592,1596,1600,1604,1608,1612,1617,1621,1625],{"type":64,"tag":175,"props":1585,"children":1586},{"style":192},[1587],{"type":69,"value":252},{"type":64,"tag":175,"props":1589,"children":1590},{"style":255},[1591],{"type":69,"value":258},{"type":64,"tag":175,"props":1593,"children":1594},{"style":204},[1595],{"type":69,"value":263},{"type":64,"tag":175,"props":1597,"children":1598},{"style":198},[1599],{"type":69,"value":268},{"type":64,"tag":175,"props":1601,"children":1602},{"style":271},[1603],{"type":69,"value":207},{"type":64,"tag":175,"props":1605,"children":1606},{"style":204},[1607],{"type":69,"value":278},{"type":64,"tag":175,"props":1609,"children":1610},{"style":198},[1611],{"type":69,"value":283},{"type":64,"tag":175,"props":1613,"children":1614},{"style":225},[1615],{"type":69,"value":1616},"\u002Fposts\u002F{-$category}\u002F{-$slug}",{"type":64,"tag":175,"props":1618,"children":1619},{"style":198},[1620],{"type":69,"value":283},{"type":64,"tag":175,"props":1622,"children":1623},{"style":204},[1624],{"type":69,"value":297},{"type":64,"tag":175,"props":1626,"children":1627},{"style":198},[1628],{"type":69,"value":302},{"type":64,"tag":175,"props":1630,"children":1631},{"class":177,"line":236},[1632,1636,1640,1644],{"type":64,"tag":175,"props":1633,"children":1634},{"style":373},[1635],{"type":69,"value":411},{"type":64,"tag":175,"props":1637,"children":1638},{"style":198},[1639],{"type":69,"value":316},{"type":64,"tag":175,"props":1641,"children":1642},{"style":204},[1643],{"type":69,"value":420},{"type":64,"tag":175,"props":1645,"children":1646},{"style":198},[1647],{"type":69,"value":425},{"type":64,"tag":175,"props":1649,"children":1650},{"class":177,"line":246},[1651,1655],{"type":64,"tag":175,"props":1652,"children":1653},{"style":198},[1654],{"type":69,"value":434},{"type":64,"tag":175,"props":1656,"children":1657},{"style":204},[1658],{"type":69,"value":393},{"type":64,"tag":1660,"props":1661,"children":1663},"h3",{"id":1662},"i18n-with-optional-locale",[1664],{"type":69,"value":1665},"i18n with Optional Locale",{"type":64,"tag":164,"props":1667,"children":1669},{"className":166,"code":1668,"language":168,"meta":169,"style":169},"\u002F\u002F src\u002Froutes\u002F{-$locale}\u002Fabout.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002F{-$locale}\u002Fabout')({\n  component: AboutComponent,\n})\n\nfunction AboutComponent() {\n  const { locale } = Route.useParams()\n  const currentLocale = locale || 'en'\n  return \u003Ch1>{currentLocale === 'fr' ? 'À Propos' : 'About Us'}\u003C\u002Fh1>\n}\n\u002F\u002F Matches: \u002Fabout, \u002Fen\u002Fabout, \u002Ffr\u002Fabout\n",[1670],{"type":64,"tag":78,"props":1671,"children":1672},{"__ignoreMap":169},[1673,1681,1716,1723,1771,1791,1802,1809,1828,1868,1906,1995,2002],{"type":64,"tag":175,"props":1674,"children":1675},{"class":177,"line":178},[1676],{"type":64,"tag":175,"props":1677,"children":1678},{"style":182},[1679],{"type":69,"value":1680},"\u002F\u002F src\u002Froutes\u002F{-$locale}\u002Fabout.tsx\n",{"type":64,"tag":175,"props":1682,"children":1683},{"class":177,"line":188},[1684,1688,1692,1696,1700,1704,1708,1712],{"type":64,"tag":175,"props":1685,"children":1686},{"style":192},[1687],{"type":69,"value":195},{"type":64,"tag":175,"props":1689,"children":1690},{"style":198},[1691],{"type":69,"value":201},{"type":64,"tag":175,"props":1693,"children":1694},{"style":204},[1695],{"type":69,"value":207},{"type":64,"tag":175,"props":1697,"children":1698},{"style":198},[1699],{"type":69,"value":212},{"type":64,"tag":175,"props":1701,"children":1702},{"style":192},[1703],{"type":69,"value":217},{"type":64,"tag":175,"props":1705,"children":1706},{"style":198},[1707],{"type":69,"value":222},{"type":64,"tag":175,"props":1709,"children":1710},{"style":225},[1711],{"type":69,"value":228},{"type":64,"tag":175,"props":1713,"children":1714},{"style":198},[1715],{"type":69,"value":233},{"type":64,"tag":175,"props":1717,"children":1718},{"class":177,"line":236},[1719],{"type":64,"tag":175,"props":1720,"children":1721},{"emptyLinePlaceholder":240},[1722],{"type":69,"value":243},{"type":64,"tag":175,"props":1724,"children":1725},{"class":177,"line":246},[1726,1730,1734,1738,1742,1746,1750,1754,1759,1763,1767],{"type":64,"tag":175,"props":1727,"children":1728},{"style":192},[1729],{"type":69,"value":252},{"type":64,"tag":175,"props":1731,"children":1732},{"style":255},[1733],{"type":69,"value":258},{"type":64,"tag":175,"props":1735,"children":1736},{"style":204},[1737],{"type":69,"value":263},{"type":64,"tag":175,"props":1739,"children":1740},{"style":198},[1741],{"type":69,"value":268},{"type":64,"tag":175,"props":1743,"children":1744},{"style":271},[1745],{"type":69,"value":207},{"type":64,"tag":175,"props":1747,"children":1748},{"style":204},[1749],{"type":69,"value":278},{"type":64,"tag":175,"props":1751,"children":1752},{"style":198},[1753],{"type":69,"value":283},{"type":64,"tag":175,"props":1755,"children":1756},{"style":225},[1757],{"type":69,"value":1758},"\u002F{-$locale}\u002Fabout",{"type":64,"tag":175,"props":1760,"children":1761},{"style":198},[1762],{"type":69,"value":283},{"type":64,"tag":175,"props":1764,"children":1765},{"style":204},[1766],{"type":69,"value":297},{"type":64,"tag":175,"props":1768,"children":1769},{"style":198},[1770],{"type":69,"value":302},{"type":64,"tag":175,"props":1772,"children":1773},{"class":177,"line":305},[1774,1778,1782,1787],{"type":64,"tag":175,"props":1775,"children":1776},{"style":373},[1777],{"type":69,"value":411},{"type":64,"tag":175,"props":1779,"children":1780},{"style":198},[1781],{"type":69,"value":316},{"type":64,"tag":175,"props":1783,"children":1784},{"style":204},[1785],{"type":69,"value":1786}," AboutComponent",{"type":64,"tag":175,"props":1788,"children":1789},{"style":198},[1790],{"type":69,"value":425},{"type":64,"tag":175,"props":1792,"children":1793},{"class":177,"line":350},[1794,1798],{"type":64,"tag":175,"props":1795,"children":1796},{"style":198},[1797],{"type":69,"value":434},{"type":64,"tag":175,"props":1799,"children":1800},{"style":204},[1801],{"type":69,"value":393},{"type":64,"tag":175,"props":1803,"children":1804},{"class":177,"line":359},[1805],{"type":64,"tag":175,"props":1806,"children":1807},{"emptyLinePlaceholder":240},[1808],{"type":69,"value":243},{"type":64,"tag":175,"props":1810,"children":1811},{"class":177,"line":396},[1812,1816,1820,1824],{"type":64,"tag":175,"props":1813,"children":1814},{"style":255},[1815],{"type":69,"value":455},{"type":64,"tag":175,"props":1817,"children":1818},{"style":271},[1819],{"type":69,"value":1786},{"type":64,"tag":175,"props":1821,"children":1822},{"style":198},[1823],{"type":69,"value":464},{"type":64,"tag":175,"props":1825,"children":1826},{"style":198},[1827],{"type":69,"value":347},{"type":64,"tag":175,"props":1829,"children":1830},{"class":177,"line":405},[1831,1835,1839,1844,1848,1852,1856,1860,1864],{"type":64,"tag":175,"props":1832,"children":1833},{"style":255},[1834],{"type":69,"value":477},{"type":64,"tag":175,"props":1836,"children":1837},{"style":198},[1838],{"type":69,"value":201},{"type":64,"tag":175,"props":1840,"children":1841},{"style":204},[1842],{"type":69,"value":1843}," locale",{"type":64,"tag":175,"props":1845,"children":1846},{"style":198},[1847],{"type":69,"value":212},{"type":64,"tag":175,"props":1849,"children":1850},{"style":198},[1851],{"type":69,"value":495},{"type":64,"tag":175,"props":1853,"children":1854},{"style":204},[1855],{"type":69,"value":500},{"type":64,"tag":175,"props":1857,"children":1858},{"style":198},[1859],{"type":69,"value":136},{"type":64,"tag":175,"props":1861,"children":1862},{"style":271},[1863],{"type":69,"value":509},{"type":64,"tag":175,"props":1865,"children":1866},{"style":373},[1867],{"type":69,"value":514},{"type":64,"tag":175,"props":1869,"children":1870},{"class":177,"line":428},[1871,1875,1880,1884,1888,1893,1897,1902],{"type":64,"tag":175,"props":1872,"children":1873},{"style":255},[1874],{"type":69,"value":477},{"type":64,"tag":175,"props":1876,"children":1877},{"style":204},[1878],{"type":69,"value":1879}," currentLocale",{"type":64,"tag":175,"props":1881,"children":1882},{"style":198},[1883],{"type":69,"value":495},{"type":64,"tag":175,"props":1885,"children":1886},{"style":204},[1887],{"type":69,"value":1843},{"type":64,"tag":175,"props":1889,"children":1890},{"style":198},[1891],{"type":69,"value":1892}," ||",{"type":64,"tag":175,"props":1894,"children":1895},{"style":198},[1896],{"type":69,"value":222},{"type":64,"tag":175,"props":1898,"children":1899},{"style":225},[1900],{"type":69,"value":1901},"en",{"type":64,"tag":175,"props":1903,"children":1904},{"style":198},[1905],{"type":69,"value":233},{"type":64,"tag":175,"props":1907,"children":1908},{"class":177,"line":441},[1909,1913,1917,1921,1925,1930,1935,1939,1944,1948,1953,1957,1962,1966,1970,1974,1979,1983,1987,1991],{"type":64,"tag":175,"props":1910,"children":1911},{"style":192},[1912],{"type":69,"value":557},{"type":64,"tag":175,"props":1914,"children":1915},{"style":198},[1916],{"type":69,"value":1182},{"type":64,"tag":175,"props":1918,"children":1919},{"style":373},[1920],{"type":69,"value":65},{"type":64,"tag":175,"props":1922,"children":1923},{"style":198},[1924],{"type":69,"value":1488},{"type":64,"tag":175,"props":1926,"children":1927},{"style":204},[1928],{"type":69,"value":1929},"currentLocale ",{"type":64,"tag":175,"props":1931,"children":1932},{"style":198},[1933],{"type":69,"value":1934},"===",{"type":64,"tag":175,"props":1936,"children":1937},{"style":198},[1938],{"type":69,"value":222},{"type":64,"tag":175,"props":1940,"children":1941},{"style":225},[1942],{"type":69,"value":1943},"fr",{"type":64,"tag":175,"props":1945,"children":1946},{"style":198},[1947],{"type":69,"value":283},{"type":64,"tag":175,"props":1949,"children":1950},{"style":198},[1951],{"type":69,"value":1952}," ?",{"type":64,"tag":175,"props":1954,"children":1955},{"style":198},[1956],{"type":69,"value":222},{"type":64,"tag":175,"props":1958,"children":1959},{"style":225},[1960],{"type":69,"value":1961},"À Propos",{"type":64,"tag":175,"props":1963,"children":1964},{"style":198},[1965],{"type":69,"value":283},{"type":64,"tag":175,"props":1967,"children":1968},{"style":198},[1969],{"type":69,"value":1528},{"type":64,"tag":175,"props":1971,"children":1972},{"style":198},[1973],{"type":69,"value":222},{"type":64,"tag":175,"props":1975,"children":1976},{"style":225},[1977],{"type":69,"value":1978},"About Us",{"type":64,"tag":175,"props":1980,"children":1981},{"style":198},[1982],{"type":69,"value":283},{"type":64,"tag":175,"props":1984,"children":1985},{"style":198},[1986],{"type":69,"value":1209},{"type":64,"tag":175,"props":1988,"children":1989},{"style":373},[1990],{"type":69,"value":65},{"type":64,"tag":175,"props":1992,"children":1993},{"style":198},[1994],{"type":69,"value":580},{"type":64,"tag":175,"props":1996,"children":1997},{"class":177,"line":449},[1998],{"type":64,"tag":175,"props":1999,"children":2000},{"style":198},[2001],{"type":69,"value":630},{"type":64,"tag":175,"props":2003,"children":2004},{"class":177,"line":471},[2005],{"type":64,"tag":175,"props":2006,"children":2007},{"style":182},[2008],{"type":69,"value":2009},"\u002F\u002F Matches: \u002Fabout, \u002Fen\u002Fabout, \u002Ffr\u002Fabout\n",{"type":64,"tag":138,"props":2011,"children":2013},{"id":2012},"prefix-and-suffix-patterns",[2014],{"type":69,"value":2015},"Prefix and Suffix Patterns",{"type":64,"tag":72,"props":2017,"children":2018},{},[2019,2021,2027,2029,2035],{"type":69,"value":2020},"Curly braces ",{"type":64,"tag":78,"props":2022,"children":2024},{"className":2023},[],[2025],{"type":69,"value":2026},"{}",{"type":69,"value":2028}," around ",{"type":64,"tag":78,"props":2030,"children":2032},{"className":2031},[],[2033],{"type":69,"value":2034},"$paramName",{"type":69,"value":2036}," allow text before or after the dynamic part within a single segment.",{"type":64,"tag":1660,"props":2038,"children":2040},{"id":2039},"prefix",[2041],{"type":69,"value":2042},"Prefix",{"type":64,"tag":164,"props":2044,"children":2046},{"className":166,"code":2045,"language":168,"meta":169,"style":169},"\u002F\u002F src\u002Froutes\u002Fposts\u002Fpost-{$postId}.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Fposts\u002Fpost-{$postId}')({\n  component: PostComponent,\n})\n\nfunction PostComponent() {\n  const { postId } = Route.useParams()\n  \u002F\u002F URL: \u002Fposts\u002Fpost-123 → postId = \"123\"\n  return \u003Cdiv>Post ID: {postId}\u003C\u002Fdiv>\n}\n",[2047],{"type":64,"tag":78,"props":2048,"children":2049},{"__ignoreMap":169},[2050,2058,2093,2100,2148,2167,2178,2185,2204,2243,2251,2295],{"type":64,"tag":175,"props":2051,"children":2052},{"class":177,"line":178},[2053],{"type":64,"tag":175,"props":2054,"children":2055},{"style":182},[2056],{"type":69,"value":2057},"\u002F\u002F src\u002Froutes\u002Fposts\u002Fpost-{$postId}.tsx\n",{"type":64,"tag":175,"props":2059,"children":2060},{"class":177,"line":188},[2061,2065,2069,2073,2077,2081,2085,2089],{"type":64,"tag":175,"props":2062,"children":2063},{"style":192},[2064],{"type":69,"value":195},{"type":64,"tag":175,"props":2066,"children":2067},{"style":198},[2068],{"type":69,"value":201},{"type":64,"tag":175,"props":2070,"children":2071},{"style":204},[2072],{"type":69,"value":207},{"type":64,"tag":175,"props":2074,"children":2075},{"style":198},[2076],{"type":69,"value":212},{"type":64,"tag":175,"props":2078,"children":2079},{"style":192},[2080],{"type":69,"value":217},{"type":64,"tag":175,"props":2082,"children":2083},{"style":198},[2084],{"type":69,"value":222},{"type":64,"tag":175,"props":2086,"children":2087},{"style":225},[2088],{"type":69,"value":228},{"type":64,"tag":175,"props":2090,"children":2091},{"style":198},[2092],{"type":69,"value":233},{"type":64,"tag":175,"props":2094,"children":2095},{"class":177,"line":236},[2096],{"type":64,"tag":175,"props":2097,"children":2098},{"emptyLinePlaceholder":240},[2099],{"type":69,"value":243},{"type":64,"tag":175,"props":2101,"children":2102},{"class":177,"line":246},[2103,2107,2111,2115,2119,2123,2127,2131,2136,2140,2144],{"type":64,"tag":175,"props":2104,"children":2105},{"style":192},[2106],{"type":69,"value":252},{"type":64,"tag":175,"props":2108,"children":2109},{"style":255},[2110],{"type":69,"value":258},{"type":64,"tag":175,"props":2112,"children":2113},{"style":204},[2114],{"type":69,"value":263},{"type":64,"tag":175,"props":2116,"children":2117},{"style":198},[2118],{"type":69,"value":268},{"type":64,"tag":175,"props":2120,"children":2121},{"style":271},[2122],{"type":69,"value":207},{"type":64,"tag":175,"props":2124,"children":2125},{"style":204},[2126],{"type":69,"value":278},{"type":64,"tag":175,"props":2128,"children":2129},{"style":198},[2130],{"type":69,"value":283},{"type":64,"tag":175,"props":2132,"children":2133},{"style":225},[2134],{"type":69,"value":2135},"\u002Fposts\u002Fpost-{$postId}",{"type":64,"tag":175,"props":2137,"children":2138},{"style":198},[2139],{"type":69,"value":283},{"type":64,"tag":175,"props":2141,"children":2142},{"style":204},[2143],{"type":69,"value":297},{"type":64,"tag":175,"props":2145,"children":2146},{"style":198},[2147],{"type":69,"value":302},{"type":64,"tag":175,"props":2149,"children":2150},{"class":177,"line":305},[2151,2155,2159,2163],{"type":64,"tag":175,"props":2152,"children":2153},{"style":373},[2154],{"type":69,"value":411},{"type":64,"tag":175,"props":2156,"children":2157},{"style":198},[2158],{"type":69,"value":316},{"type":64,"tag":175,"props":2160,"children":2161},{"style":204},[2162],{"type":69,"value":420},{"type":64,"tag":175,"props":2164,"children":2165},{"style":198},[2166],{"type":69,"value":425},{"type":64,"tag":175,"props":2168,"children":2169},{"class":177,"line":350},[2170,2174],{"type":64,"tag":175,"props":2171,"children":2172},{"style":198},[2173],{"type":69,"value":434},{"type":64,"tag":175,"props":2175,"children":2176},{"style":204},[2177],{"type":69,"value":393},{"type":64,"tag":175,"props":2179,"children":2180},{"class":177,"line":359},[2181],{"type":64,"tag":175,"props":2182,"children":2183},{"emptyLinePlaceholder":240},[2184],{"type":69,"value":243},{"type":64,"tag":175,"props":2186,"children":2187},{"class":177,"line":396},[2188,2192,2196,2200],{"type":64,"tag":175,"props":2189,"children":2190},{"style":255},[2191],{"type":69,"value":455},{"type":64,"tag":175,"props":2193,"children":2194},{"style":271},[2195],{"type":69,"value":420},{"type":64,"tag":175,"props":2197,"children":2198},{"style":198},[2199],{"type":69,"value":464},{"type":64,"tag":175,"props":2201,"children":2202},{"style":198},[2203],{"type":69,"value":347},{"type":64,"tag":175,"props":2205,"children":2206},{"class":177,"line":405},[2207,2211,2215,2219,2223,2227,2231,2235,2239],{"type":64,"tag":175,"props":2208,"children":2209},{"style":255},[2210],{"type":69,"value":477},{"type":64,"tag":175,"props":2212,"children":2213},{"style":198},[2214],{"type":69,"value":201},{"type":64,"tag":175,"props":2216,"children":2217},{"style":204},[2218],{"type":69,"value":486},{"type":64,"tag":175,"props":2220,"children":2221},{"style":198},[2222],{"type":69,"value":212},{"type":64,"tag":175,"props":2224,"children":2225},{"style":198},[2226],{"type":69,"value":495},{"type":64,"tag":175,"props":2228,"children":2229},{"style":204},[2230],{"type":69,"value":500},{"type":64,"tag":175,"props":2232,"children":2233},{"style":198},[2234],{"type":69,"value":136},{"type":64,"tag":175,"props":2236,"children":2237},{"style":271},[2238],{"type":69,"value":509},{"type":64,"tag":175,"props":2240,"children":2241},{"style":373},[2242],{"type":69,"value":514},{"type":64,"tag":175,"props":2244,"children":2245},{"class":177,"line":428},[2246],{"type":64,"tag":175,"props":2247,"children":2248},{"style":182},[2249],{"type":69,"value":2250},"  \u002F\u002F URL: \u002Fposts\u002Fpost-123 → postId = \"123\"\n",{"type":64,"tag":175,"props":2252,"children":2253},{"class":177,"line":441},[2254,2258,2262,2266,2270,2275,2279,2283,2287,2291],{"type":64,"tag":175,"props":2255,"children":2256},{"style":192},[2257],{"type":69,"value":557},{"type":64,"tag":175,"props":2259,"children":2260},{"style":198},[2261],{"type":69,"value":1182},{"type":64,"tag":175,"props":2263,"children":2264},{"style":373},[2265],{"type":69,"value":862},{"type":64,"tag":175,"props":2267,"children":2268},{"style":198},[2269],{"type":69,"value":1191},{"type":64,"tag":175,"props":2271,"children":2272},{"style":204},[2273],{"type":69,"value":2274},"Post ID: ",{"type":64,"tag":175,"props":2276,"children":2277},{"style":198},[2278],{"type":69,"value":594},{"type":64,"tag":175,"props":2280,"children":2281},{"style":204},[2282],{"type":69,"value":388},{"type":64,"tag":175,"props":2284,"children":2285},{"style":198},[2286],{"type":69,"value":1209},{"type":64,"tag":175,"props":2288,"children":2289},{"style":373},[2290],{"type":69,"value":862},{"type":64,"tag":175,"props":2292,"children":2293},{"style":198},[2294],{"type":69,"value":580},{"type":64,"tag":175,"props":2296,"children":2297},{"class":177,"line":449},[2298],{"type":64,"tag":175,"props":2299,"children":2300},{"style":198},[2301],{"type":69,"value":630},{"type":64,"tag":1660,"props":2303,"children":2305},{"id":2304},"suffix",[2306],{"type":69,"value":2307},"Suffix",{"type":64,"tag":164,"props":2309,"children":2311},{"className":166,"code":2310,"language":168,"meta":169,"style":169},"\u002F\u002F src\u002Froutes\u002Ffiles\u002F{$fileName}[.]txt.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Ffiles\u002F{$fileName}.txt')({\n  component: FileComponent,\n})\n\nfunction FileComponent() {\n  const { fileName } = Route.useParams()\n  \u002F\u002F URL: \u002Ffiles\u002Freadme.txt → fileName = \"readme\"\n  return \u003Cdiv>File: {fileName}.txt\u003C\u002Fdiv>\n}\n",[2312],{"type":64,"tag":78,"props":2313,"children":2314},{"__ignoreMap":169},[2315,2323,2358,2365,2413,2433,2444,2451,2470,2510,2518,2573],{"type":64,"tag":175,"props":2316,"children":2317},{"class":177,"line":178},[2318],{"type":64,"tag":175,"props":2319,"children":2320},{"style":182},[2321],{"type":69,"value":2322},"\u002F\u002F src\u002Froutes\u002Ffiles\u002F{$fileName}[.]txt.tsx\n",{"type":64,"tag":175,"props":2324,"children":2325},{"class":177,"line":188},[2326,2330,2334,2338,2342,2346,2350,2354],{"type":64,"tag":175,"props":2327,"children":2328},{"style":192},[2329],{"type":69,"value":195},{"type":64,"tag":175,"props":2331,"children":2332},{"style":198},[2333],{"type":69,"value":201},{"type":64,"tag":175,"props":2335,"children":2336},{"style":204},[2337],{"type":69,"value":207},{"type":64,"tag":175,"props":2339,"children":2340},{"style":198},[2341],{"type":69,"value":212},{"type":64,"tag":175,"props":2343,"children":2344},{"style":192},[2345],{"type":69,"value":217},{"type":64,"tag":175,"props":2347,"children":2348},{"style":198},[2349],{"type":69,"value":222},{"type":64,"tag":175,"props":2351,"children":2352},{"style":225},[2353],{"type":69,"value":228},{"type":64,"tag":175,"props":2355,"children":2356},{"style":198},[2357],{"type":69,"value":233},{"type":64,"tag":175,"props":2359,"children":2360},{"class":177,"line":236},[2361],{"type":64,"tag":175,"props":2362,"children":2363},{"emptyLinePlaceholder":240},[2364],{"type":69,"value":243},{"type":64,"tag":175,"props":2366,"children":2367},{"class":177,"line":246},[2368,2372,2376,2380,2384,2388,2392,2396,2401,2405,2409],{"type":64,"tag":175,"props":2369,"children":2370},{"style":192},[2371],{"type":69,"value":252},{"type":64,"tag":175,"props":2373,"children":2374},{"style":255},[2375],{"type":69,"value":258},{"type":64,"tag":175,"props":2377,"children":2378},{"style":204},[2379],{"type":69,"value":263},{"type":64,"tag":175,"props":2381,"children":2382},{"style":198},[2383],{"type":69,"value":268},{"type":64,"tag":175,"props":2385,"children":2386},{"style":271},[2387],{"type":69,"value":207},{"type":64,"tag":175,"props":2389,"children":2390},{"style":204},[2391],{"type":69,"value":278},{"type":64,"tag":175,"props":2393,"children":2394},{"style":198},[2395],{"type":69,"value":283},{"type":64,"tag":175,"props":2397,"children":2398},{"style":225},[2399],{"type":69,"value":2400},"\u002Ffiles\u002F{$fileName}.txt",{"type":64,"tag":175,"props":2402,"children":2403},{"style":198},[2404],{"type":69,"value":283},{"type":64,"tag":175,"props":2406,"children":2407},{"style":204},[2408],{"type":69,"value":297},{"type":64,"tag":175,"props":2410,"children":2411},{"style":198},[2412],{"type":69,"value":302},{"type":64,"tag":175,"props":2414,"children":2415},{"class":177,"line":305},[2416,2420,2424,2429],{"type":64,"tag":175,"props":2417,"children":2418},{"style":373},[2419],{"type":69,"value":411},{"type":64,"tag":175,"props":2421,"children":2422},{"style":198},[2423],{"type":69,"value":316},{"type":64,"tag":175,"props":2425,"children":2426},{"style":204},[2427],{"type":69,"value":2428}," FileComponent",{"type":64,"tag":175,"props":2430,"children":2431},{"style":198},[2432],{"type":69,"value":425},{"type":64,"tag":175,"props":2434,"children":2435},{"class":177,"line":350},[2436,2440],{"type":64,"tag":175,"props":2437,"children":2438},{"style":198},[2439],{"type":69,"value":434},{"type":64,"tag":175,"props":2441,"children":2442},{"style":204},[2443],{"type":69,"value":393},{"type":64,"tag":175,"props":2445,"children":2446},{"class":177,"line":359},[2447],{"type":64,"tag":175,"props":2448,"children":2449},{"emptyLinePlaceholder":240},[2450],{"type":69,"value":243},{"type":64,"tag":175,"props":2452,"children":2453},{"class":177,"line":396},[2454,2458,2462,2466],{"type":64,"tag":175,"props":2455,"children":2456},{"style":255},[2457],{"type":69,"value":455},{"type":64,"tag":175,"props":2459,"children":2460},{"style":271},[2461],{"type":69,"value":2428},{"type":64,"tag":175,"props":2463,"children":2464},{"style":198},[2465],{"type":69,"value":464},{"type":64,"tag":175,"props":2467,"children":2468},{"style":198},[2469],{"type":69,"value":347},{"type":64,"tag":175,"props":2471,"children":2472},{"class":177,"line":405},[2473,2477,2481,2486,2490,2494,2498,2502,2506],{"type":64,"tag":175,"props":2474,"children":2475},{"style":255},[2476],{"type":69,"value":477},{"type":64,"tag":175,"props":2478,"children":2479},{"style":198},[2480],{"type":69,"value":201},{"type":64,"tag":175,"props":2482,"children":2483},{"style":204},[2484],{"type":69,"value":2485}," fileName",{"type":64,"tag":175,"props":2487,"children":2488},{"style":198},[2489],{"type":69,"value":212},{"type":64,"tag":175,"props":2491,"children":2492},{"style":198},[2493],{"type":69,"value":495},{"type":64,"tag":175,"props":2495,"children":2496},{"style":204},[2497],{"type":69,"value":500},{"type":64,"tag":175,"props":2499,"children":2500},{"style":198},[2501],{"type":69,"value":136},{"type":64,"tag":175,"props":2503,"children":2504},{"style":271},[2505],{"type":69,"value":509},{"type":64,"tag":175,"props":2507,"children":2508},{"style":373},[2509],{"type":69,"value":514},{"type":64,"tag":175,"props":2511,"children":2512},{"class":177,"line":428},[2513],{"type":64,"tag":175,"props":2514,"children":2515},{"style":182},[2516],{"type":69,"value":2517},"  \u002F\u002F URL: \u002Ffiles\u002Freadme.txt → fileName = \"readme\"\n",{"type":64,"tag":175,"props":2519,"children":2520},{"class":177,"line":441},[2521,2525,2529,2533,2537,2542,2546,2551,2555,2560,2565,2569],{"type":64,"tag":175,"props":2522,"children":2523},{"style":192},[2524],{"type":69,"value":557},{"type":64,"tag":175,"props":2526,"children":2527},{"style":198},[2528],{"type":69,"value":1182},{"type":64,"tag":175,"props":2530,"children":2531},{"style":373},[2532],{"type":69,"value":862},{"type":64,"tag":175,"props":2534,"children":2535},{"style":198},[2536],{"type":69,"value":1191},{"type":64,"tag":175,"props":2538,"children":2539},{"style":204},[2540],{"type":69,"value":2541},"File: ",{"type":64,"tag":175,"props":2543,"children":2544},{"style":198},[2545],{"type":69,"value":594},{"type":64,"tag":175,"props":2547,"children":2548},{"style":204},[2549],{"type":69,"value":2550},"fileName",{"type":64,"tag":175,"props":2552,"children":2553},{"style":198},[2554],{"type":69,"value":434},{"type":64,"tag":175,"props":2556,"children":2557},{"style":204},[2558],{"type":69,"value":2559},".txt",{"type":64,"tag":175,"props":2561,"children":2562},{"style":198},[2563],{"type":69,"value":2564},"\u003C\u002F",{"type":64,"tag":175,"props":2566,"children":2567},{"style":373},[2568],{"type":69,"value":862},{"type":64,"tag":175,"props":2570,"children":2571},{"style":198},[2572],{"type":69,"value":580},{"type":64,"tag":175,"props":2574,"children":2575},{"class":177,"line":449},[2576],{"type":64,"tag":175,"props":2577,"children":2578},{"style":198},[2579],{"type":69,"value":630},{"type":64,"tag":1660,"props":2581,"children":2583},{"id":2582},"combined-prefix-suffix",[2584],{"type":69,"value":2585},"Combined Prefix + Suffix",{"type":64,"tag":164,"props":2587,"children":2589},{"className":166,"code":2588,"language":168,"meta":169,"style":169},"\u002F\u002F URL: \u002Fusers\u002Fuser-456.json → userId = \"456\"\nexport const Route = createFileRoute('\u002Fusers\u002Fuser-{$userId}.json')({\n  component: UserComponent,\n})\n\nfunction UserComponent() {\n  const { userId } = Route.useParams()\n  return \u003Cdiv>User: {userId}\u003C\u002Fdiv>\n}\n",[2590],{"type":64,"tag":78,"props":2591,"children":2592},{"__ignoreMap":169},[2593,2601,2649,2669,2680,2687,2706,2746,2791],{"type":64,"tag":175,"props":2594,"children":2595},{"class":177,"line":178},[2596],{"type":64,"tag":175,"props":2597,"children":2598},{"style":182},[2599],{"type":69,"value":2600},"\u002F\u002F URL: \u002Fusers\u002Fuser-456.json → userId = \"456\"\n",{"type":64,"tag":175,"props":2602,"children":2603},{"class":177,"line":188},[2604,2608,2612,2616,2620,2624,2628,2632,2637,2641,2645],{"type":64,"tag":175,"props":2605,"children":2606},{"style":192},[2607],{"type":69,"value":252},{"type":64,"tag":175,"props":2609,"children":2610},{"style":255},[2611],{"type":69,"value":258},{"type":64,"tag":175,"props":2613,"children":2614},{"style":204},[2615],{"type":69,"value":263},{"type":64,"tag":175,"props":2617,"children":2618},{"style":198},[2619],{"type":69,"value":268},{"type":64,"tag":175,"props":2621,"children":2622},{"style":271},[2623],{"type":69,"value":207},{"type":64,"tag":175,"props":2625,"children":2626},{"style":204},[2627],{"type":69,"value":278},{"type":64,"tag":175,"props":2629,"children":2630},{"style":198},[2631],{"type":69,"value":283},{"type":64,"tag":175,"props":2633,"children":2634},{"style":225},[2635],{"type":69,"value":2636},"\u002Fusers\u002Fuser-{$userId}.json",{"type":64,"tag":175,"props":2638,"children":2639},{"style":198},[2640],{"type":69,"value":283},{"type":64,"tag":175,"props":2642,"children":2643},{"style":204},[2644],{"type":69,"value":297},{"type":64,"tag":175,"props":2646,"children":2647},{"style":198},[2648],{"type":69,"value":302},{"type":64,"tag":175,"props":2650,"children":2651},{"class":177,"line":236},[2652,2656,2660,2665],{"type":64,"tag":175,"props":2653,"children":2654},{"style":373},[2655],{"type":69,"value":411},{"type":64,"tag":175,"props":2657,"children":2658},{"style":198},[2659],{"type":69,"value":316},{"type":64,"tag":175,"props":2661,"children":2662},{"style":204},[2663],{"type":69,"value":2664}," UserComponent",{"type":64,"tag":175,"props":2666,"children":2667},{"style":198},[2668],{"type":69,"value":425},{"type":64,"tag":175,"props":2670,"children":2671},{"class":177,"line":246},[2672,2676],{"type":64,"tag":175,"props":2673,"children":2674},{"style":198},[2675],{"type":69,"value":434},{"type":64,"tag":175,"props":2677,"children":2678},{"style":204},[2679],{"type":69,"value":393},{"type":64,"tag":175,"props":2681,"children":2682},{"class":177,"line":305},[2683],{"type":64,"tag":175,"props":2684,"children":2685},{"emptyLinePlaceholder":240},[2686],{"type":69,"value":243},{"type":64,"tag":175,"props":2688,"children":2689},{"class":177,"line":350},[2690,2694,2698,2702],{"type":64,"tag":175,"props":2691,"children":2692},{"style":255},[2693],{"type":69,"value":455},{"type":64,"tag":175,"props":2695,"children":2696},{"style":271},[2697],{"type":69,"value":2664},{"type":64,"tag":175,"props":2699,"children":2700},{"style":198},[2701],{"type":69,"value":464},{"type":64,"tag":175,"props":2703,"children":2704},{"style":198},[2705],{"type":69,"value":347},{"type":64,"tag":175,"props":2707,"children":2708},{"class":177,"line":359},[2709,2713,2717,2722,2726,2730,2734,2738,2742],{"type":64,"tag":175,"props":2710,"children":2711},{"style":255},[2712],{"type":69,"value":477},{"type":64,"tag":175,"props":2714,"children":2715},{"style":198},[2716],{"type":69,"value":201},{"type":64,"tag":175,"props":2718,"children":2719},{"style":204},[2720],{"type":69,"value":2721}," userId",{"type":64,"tag":175,"props":2723,"children":2724},{"style":198},[2725],{"type":69,"value":212},{"type":64,"tag":175,"props":2727,"children":2728},{"style":198},[2729],{"type":69,"value":495},{"type":64,"tag":175,"props":2731,"children":2732},{"style":204},[2733],{"type":69,"value":500},{"type":64,"tag":175,"props":2735,"children":2736},{"style":198},[2737],{"type":69,"value":136},{"type":64,"tag":175,"props":2739,"children":2740},{"style":271},[2741],{"type":69,"value":509},{"type":64,"tag":175,"props":2743,"children":2744},{"style":373},[2745],{"type":69,"value":514},{"type":64,"tag":175,"props":2747,"children":2748},{"class":177,"line":396},[2749,2753,2757,2761,2765,2770,2774,2779,2783,2787],{"type":64,"tag":175,"props":2750,"children":2751},{"style":192},[2752],{"type":69,"value":557},{"type":64,"tag":175,"props":2754,"children":2755},{"style":198},[2756],{"type":69,"value":1182},{"type":64,"tag":175,"props":2758,"children":2759},{"style":373},[2760],{"type":69,"value":862},{"type":64,"tag":175,"props":2762,"children":2763},{"style":198},[2764],{"type":69,"value":1191},{"type":64,"tag":175,"props":2766,"children":2767},{"style":204},[2768],{"type":69,"value":2769},"User: ",{"type":64,"tag":175,"props":2771,"children":2772},{"style":198},[2773],{"type":69,"value":594},{"type":64,"tag":175,"props":2775,"children":2776},{"style":204},[2777],{"type":69,"value":2778},"userId",{"type":64,"tag":175,"props":2780,"children":2781},{"style":198},[2782],{"type":69,"value":1209},{"type":64,"tag":175,"props":2784,"children":2785},{"style":373},[2786],{"type":69,"value":862},{"type":64,"tag":175,"props":2788,"children":2789},{"style":198},[2790],{"type":69,"value":580},{"type":64,"tag":175,"props":2792,"children":2793},{"class":177,"line":405},[2794],{"type":64,"tag":175,"props":2795,"children":2796},{"style":198},[2797],{"type":69,"value":630},{"type":64,"tag":138,"props":2799,"children":2801},{"id":2800},"navigating-with-path-params",[2802],{"type":69,"value":2803},"Navigating with Path Params",{"type":64,"tag":1660,"props":2805,"children":2807},{"id":2806},"object-form",[2808],{"type":69,"value":2809},"Object Form",{"type":64,"tag":164,"props":2811,"children":2813},{"className":166,"code":2812,"language":168,"meta":169,"style":169},"import { Link } from '@tanstack\u002Freact-router'\n\nfunction PostLink({ postId }: { postId: string }) {\n  return (\n    \u003CLink to=\"\u002Fposts\u002F$postId\" params={{ postId }}>\n      View Post\n    \u003C\u002FLink>\n  )\n}\n",[2814],{"type":64,"tag":78,"props":2815,"children":2816},{"__ignoreMap":169},[2817,2853,2860,2912,2923,2976,2984,2999,3006],{"type":64,"tag":175,"props":2818,"children":2819},{"class":177,"line":178},[2820,2824,2828,2833,2837,2841,2845,2849],{"type":64,"tag":175,"props":2821,"children":2822},{"style":192},[2823],{"type":69,"value":195},{"type":64,"tag":175,"props":2825,"children":2826},{"style":198},[2827],{"type":69,"value":201},{"type":64,"tag":175,"props":2829,"children":2830},{"style":204},[2831],{"type":69,"value":2832}," Link",{"type":64,"tag":175,"props":2834,"children":2835},{"style":198},[2836],{"type":69,"value":212},{"type":64,"tag":175,"props":2838,"children":2839},{"style":192},[2840],{"type":69,"value":217},{"type":64,"tag":175,"props":2842,"children":2843},{"style":198},[2844],{"type":69,"value":222},{"type":64,"tag":175,"props":2846,"children":2847},{"style":225},[2848],{"type":69,"value":228},{"type":64,"tag":175,"props":2850,"children":2851},{"style":198},[2852],{"type":69,"value":233},{"type":64,"tag":175,"props":2854,"children":2855},{"class":177,"line":188},[2856],{"type":64,"tag":175,"props":2857,"children":2858},{"emptyLinePlaceholder":240},[2859],{"type":69,"value":243},{"type":64,"tag":175,"props":2861,"children":2862},{"class":177,"line":236},[2863,2867,2872,2877,2881,2886,2890,2894,2898,2904,2908],{"type":64,"tag":175,"props":2864,"children":2865},{"style":255},[2866],{"type":69,"value":455},{"type":64,"tag":175,"props":2868,"children":2869},{"style":271},[2870],{"type":69,"value":2871}," PostLink",{"type":64,"tag":175,"props":2873,"children":2874},{"style":198},[2875],{"type":69,"value":2876},"({",{"type":64,"tag":175,"props":2878,"children":2879},{"style":329},[2880],{"type":69,"value":486},{"type":64,"tag":175,"props":2882,"children":2883},{"style":198},[2884],{"type":69,"value":2885}," }:",{"type":64,"tag":175,"props":2887,"children":2888},{"style":198},[2889],{"type":69,"value":201},{"type":64,"tag":175,"props":2891,"children":2892},{"style":373},[2893],{"type":69,"value":486},{"type":64,"tag":175,"props":2895,"children":2896},{"style":198},[2897],{"type":69,"value":316},{"type":64,"tag":175,"props":2899,"children":2901},{"style":2900},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[2902],{"type":69,"value":2903}," string",{"type":64,"tag":175,"props":2905,"children":2906},{"style":198},[2907],{"type":69,"value":337},{"type":64,"tag":175,"props":2909,"children":2910},{"style":198},[2911],{"type":69,"value":347},{"type":64,"tag":175,"props":2913,"children":2914},{"class":177,"line":246},[2915,2919],{"type":64,"tag":175,"props":2916,"children":2917},{"style":192},[2918],{"type":69,"value":557},{"type":64,"tag":175,"props":2920,"children":2921},{"style":373},[2922],{"type":69,"value":562},{"type":64,"tag":175,"props":2924,"children":2925},{"class":177,"line":305},[2926,2930,2935,2940,2944,2949,2953,2957,2961,2966,2971],{"type":64,"tag":175,"props":2927,"children":2928},{"style":198},[2929],{"type":69,"value":571},{"type":64,"tag":175,"props":2931,"children":2932},{"style":2900},[2933],{"type":69,"value":2934},"Link",{"type":64,"tag":175,"props":2936,"children":2937},{"style":255},[2938],{"type":69,"value":2939}," to",{"type":64,"tag":175,"props":2941,"children":2942},{"style":198},[2943],{"type":69,"value":268},{"type":64,"tag":175,"props":2945,"children":2946},{"style":198},[2947],{"type":69,"value":2948},"\"",{"type":64,"tag":175,"props":2950,"children":2951},{"style":225},[2952],{"type":69,"value":288},{"type":64,"tag":175,"props":2954,"children":2955},{"style":198},[2956],{"type":69,"value":2948},{"type":64,"tag":175,"props":2958,"children":2959},{"style":255},[2960],{"type":69,"value":332},{"type":64,"tag":175,"props":2962,"children":2963},{"style":198},[2964],{"type":69,"value":2965},"={{",{"type":64,"tag":175,"props":2967,"children":2968},{"style":204},[2969],{"type":69,"value":2970}," postId ",{"type":64,"tag":175,"props":2972,"children":2973},{"style":198},[2974],{"type":69,"value":2975},"}}>\n",{"type":64,"tag":175,"props":2977,"children":2978},{"class":177,"line":350},[2979],{"type":64,"tag":175,"props":2980,"children":2981},{"style":204},[2982],{"type":69,"value":2983},"      View Post\n",{"type":64,"tag":175,"props":2985,"children":2986},{"class":177,"line":359},[2987,2991,2995],{"type":64,"tag":175,"props":2988,"children":2989},{"style":198},[2990],{"type":69,"value":639},{"type":64,"tag":175,"props":2992,"children":2993},{"style":2900},[2994],{"type":69,"value":2934},{"type":64,"tag":175,"props":2996,"children":2997},{"style":198},[2998],{"type":69,"value":580},{"type":64,"tag":175,"props":3000,"children":3001},{"class":177,"line":396},[3002],{"type":64,"tag":175,"props":3003,"children":3004},{"style":373},[3005],{"type":69,"value":656},{"type":64,"tag":175,"props":3007,"children":3008},{"class":177,"line":405},[3009],{"type":64,"tag":175,"props":3010,"children":3011},{"style":198},[3012],{"type":69,"value":630},{"type":64,"tag":1660,"props":3014,"children":3016},{"id":3015},"function-form-preserves-other-params",[3017],{"type":69,"value":3018},"Function Form (Preserves Other Params)",{"type":64,"tag":164,"props":3020,"children":3022},{"className":166,"code":3021,"language":168,"meta":169,"style":169},"function PostLink({ postId }: { postId: string }) {\n  return (\n    \u003CLink to=\"\u002Fposts\u002F$postId\" params={(prev) => ({ ...prev, postId })}>\n      View Post\n    \u003C\u002FLink>\n  )\n}\n",[3023],{"type":64,"tag":78,"props":3024,"children":3025},{"__ignoreMap":169},[3026,3073,3084,3177,3184,3199,3206],{"type":64,"tag":175,"props":3027,"children":3028},{"class":177,"line":178},[3029,3033,3037,3041,3045,3049,3053,3057,3061,3065,3069],{"type":64,"tag":175,"props":3030,"children":3031},{"style":255},[3032],{"type":69,"value":455},{"type":64,"tag":175,"props":3034,"children":3035},{"style":271},[3036],{"type":69,"value":2871},{"type":64,"tag":175,"props":3038,"children":3039},{"style":198},[3040],{"type":69,"value":2876},{"type":64,"tag":175,"props":3042,"children":3043},{"style":329},[3044],{"type":69,"value":486},{"type":64,"tag":175,"props":3046,"children":3047},{"style":198},[3048],{"type":69,"value":2885},{"type":64,"tag":175,"props":3050,"children":3051},{"style":198},[3052],{"type":69,"value":201},{"type":64,"tag":175,"props":3054,"children":3055},{"style":373},[3056],{"type":69,"value":486},{"type":64,"tag":175,"props":3058,"children":3059},{"style":198},[3060],{"type":69,"value":316},{"type":64,"tag":175,"props":3062,"children":3063},{"style":2900},[3064],{"type":69,"value":2903},{"type":64,"tag":175,"props":3066,"children":3067},{"style":198},[3068],{"type":69,"value":337},{"type":64,"tag":175,"props":3070,"children":3071},{"style":198},[3072],{"type":69,"value":347},{"type":64,"tag":175,"props":3074,"children":3075},{"class":177,"line":188},[3076,3080],{"type":64,"tag":175,"props":3077,"children":3078},{"style":192},[3079],{"type":69,"value":557},{"type":64,"tag":175,"props":3081,"children":3082},{"style":373},[3083],{"type":69,"value":562},{"type":64,"tag":175,"props":3085,"children":3086},{"class":177,"line":236},[3087,3091,3095,3099,3103,3107,3111,3115,3119,3124,3129,3134,3138,3143,3147,3152,3156,3160,3164,3168,3172],{"type":64,"tag":175,"props":3088,"children":3089},{"style":198},[3090],{"type":69,"value":571},{"type":64,"tag":175,"props":3092,"children":3093},{"style":2900},[3094],{"type":69,"value":2934},{"type":64,"tag":175,"props":3096,"children":3097},{"style":255},[3098],{"type":69,"value":2939},{"type":64,"tag":175,"props":3100,"children":3101},{"style":198},[3102],{"type":69,"value":268},{"type":64,"tag":175,"props":3104,"children":3105},{"style":198},[3106],{"type":69,"value":2948},{"type":64,"tag":175,"props":3108,"children":3109},{"style":225},[3110],{"type":69,"value":288},{"type":64,"tag":175,"props":3112,"children":3113},{"style":198},[3114],{"type":69,"value":2948},{"type":64,"tag":175,"props":3116,"children":3117},{"style":255},[3118],{"type":69,"value":332},{"type":64,"tag":175,"props":3120,"children":3121},{"style":198},[3122],{"type":69,"value":3123},"={(",{"type":64,"tag":175,"props":3125,"children":3126},{"style":329},[3127],{"type":69,"value":3128},"prev",{"type":64,"tag":175,"props":3130,"children":3131},{"style":198},[3132],{"type":69,"value":3133},")",{"type":64,"tag":175,"props":3135,"children":3136},{"style":255},[3137],{"type":69,"value":342},{"type":64,"tag":175,"props":3139,"children":3140},{"style":204},[3141],{"type":69,"value":3142}," (",{"type":64,"tag":175,"props":3144,"children":3145},{"style":198},[3146],{"type":69,"value":594},{"type":64,"tag":175,"props":3148,"children":3149},{"style":198},[3150],{"type":69,"value":3151}," ...",{"type":64,"tag":175,"props":3153,"children":3154},{"style":204},[3155],{"type":69,"value":3128},{"type":64,"tag":175,"props":3157,"children":3158},{"style":198},[3159],{"type":69,"value":810},{"type":64,"tag":175,"props":3161,"children":3162},{"style":204},[3163],{"type":69,"value":2970},{"type":64,"tag":175,"props":3165,"children":3166},{"style":198},[3167],{"type":69,"value":434},{"type":64,"tag":175,"props":3169,"children":3170},{"style":204},[3171],{"type":69,"value":3133},{"type":64,"tag":175,"props":3173,"children":3174},{"style":198},[3175],{"type":69,"value":3176},"}>\n",{"type":64,"tag":175,"props":3178,"children":3179},{"class":177,"line":246},[3180],{"type":64,"tag":175,"props":3181,"children":3182},{"style":204},[3183],{"type":69,"value":2983},{"type":64,"tag":175,"props":3185,"children":3186},{"class":177,"line":305},[3187,3191,3195],{"type":64,"tag":175,"props":3188,"children":3189},{"style":198},[3190],{"type":69,"value":639},{"type":64,"tag":175,"props":3192,"children":3193},{"style":2900},[3194],{"type":69,"value":2934},{"type":64,"tag":175,"props":3196,"children":3197},{"style":198},[3198],{"type":69,"value":580},{"type":64,"tag":175,"props":3200,"children":3201},{"class":177,"line":350},[3202],{"type":64,"tag":175,"props":3203,"children":3204},{"style":373},[3205],{"type":69,"value":656},{"type":64,"tag":175,"props":3207,"children":3208},{"class":177,"line":359},[3209],{"type":64,"tag":175,"props":3210,"children":3211},{"style":198},[3212],{"type":69,"value":630},{"type":64,"tag":1660,"props":3214,"children":3216},{"id":3215},"programmatic-navigation",[3217],{"type":69,"value":3218},"Programmatic Navigation",{"type":64,"tag":164,"props":3220,"children":3222},{"className":166,"code":3221,"language":168,"meta":169,"style":169},"import { useNavigate } from '@tanstack\u002Freact-router'\n\nfunction GoToPost({ postId }: { postId: string }) {\n  const navigate = useNavigate()\n\n  return (\n    \u003Cbutton\n      onClick={() => {\n        navigate({ to: '\u002Fposts\u002F$postId', params: { postId } })\n      }}\n    >\n      Go to Post\n    \u003C\u002Fbutton>\n  )\n}\n",[3223],{"type":64,"tag":78,"props":3224,"children":3225},{"__ignoreMap":169},[3226,3262,3269,3317,3341,3348,3359,3371,3392,3460,3468,3476,3484,3500,3507],{"type":64,"tag":175,"props":3227,"children":3228},{"class":177,"line":178},[3229,3233,3237,3242,3246,3250,3254,3258],{"type":64,"tag":175,"props":3230,"children":3231},{"style":192},[3232],{"type":69,"value":195},{"type":64,"tag":175,"props":3234,"children":3235},{"style":198},[3236],{"type":69,"value":201},{"type":64,"tag":175,"props":3238,"children":3239},{"style":204},[3240],{"type":69,"value":3241}," useNavigate",{"type":64,"tag":175,"props":3243,"children":3244},{"style":198},[3245],{"type":69,"value":212},{"type":64,"tag":175,"props":3247,"children":3248},{"style":192},[3249],{"type":69,"value":217},{"type":64,"tag":175,"props":3251,"children":3252},{"style":198},[3253],{"type":69,"value":222},{"type":64,"tag":175,"props":3255,"children":3256},{"style":225},[3257],{"type":69,"value":228},{"type":64,"tag":175,"props":3259,"children":3260},{"style":198},[3261],{"type":69,"value":233},{"type":64,"tag":175,"props":3263,"children":3264},{"class":177,"line":188},[3265],{"type":64,"tag":175,"props":3266,"children":3267},{"emptyLinePlaceholder":240},[3268],{"type":69,"value":243},{"type":64,"tag":175,"props":3270,"children":3271},{"class":177,"line":236},[3272,3276,3281,3285,3289,3293,3297,3301,3305,3309,3313],{"type":64,"tag":175,"props":3273,"children":3274},{"style":255},[3275],{"type":69,"value":455},{"type":64,"tag":175,"props":3277,"children":3278},{"style":271},[3279],{"type":69,"value":3280}," GoToPost",{"type":64,"tag":175,"props":3282,"children":3283},{"style":198},[3284],{"type":69,"value":2876},{"type":64,"tag":175,"props":3286,"children":3287},{"style":329},[3288],{"type":69,"value":486},{"type":64,"tag":175,"props":3290,"children":3291},{"style":198},[3292],{"type":69,"value":2885},{"type":64,"tag":175,"props":3294,"children":3295},{"style":198},[3296],{"type":69,"value":201},{"type":64,"tag":175,"props":3298,"children":3299},{"style":373},[3300],{"type":69,"value":486},{"type":64,"tag":175,"props":3302,"children":3303},{"style":198},[3304],{"type":69,"value":316},{"type":64,"tag":175,"props":3306,"children":3307},{"style":2900},[3308],{"type":69,"value":2903},{"type":64,"tag":175,"props":3310,"children":3311},{"style":198},[3312],{"type":69,"value":337},{"type":64,"tag":175,"props":3314,"children":3315},{"style":198},[3316],{"type":69,"value":347},{"type":64,"tag":175,"props":3318,"children":3319},{"class":177,"line":246},[3320,3324,3329,3333,3337],{"type":64,"tag":175,"props":3321,"children":3322},{"style":255},[3323],{"type":69,"value":477},{"type":64,"tag":175,"props":3325,"children":3326},{"style":204},[3327],{"type":69,"value":3328}," navigate",{"type":64,"tag":175,"props":3330,"children":3331},{"style":198},[3332],{"type":69,"value":495},{"type":64,"tag":175,"props":3334,"children":3335},{"style":271},[3336],{"type":69,"value":3241},{"type":64,"tag":175,"props":3338,"children":3339},{"style":373},[3340],{"type":69,"value":514},{"type":64,"tag":175,"props":3342,"children":3343},{"class":177,"line":305},[3344],{"type":64,"tag":175,"props":3345,"children":3346},{"emptyLinePlaceholder":240},[3347],{"type":69,"value":243},{"type":64,"tag":175,"props":3349,"children":3350},{"class":177,"line":350},[3351,3355],{"type":64,"tag":175,"props":3352,"children":3353},{"style":192},[3354],{"type":69,"value":557},{"type":64,"tag":175,"props":3356,"children":3357},{"style":373},[3358],{"type":69,"value":562},{"type":64,"tag":175,"props":3360,"children":3361},{"class":177,"line":359},[3362,3366],{"type":64,"tag":175,"props":3363,"children":3364},{"style":198},[3365],{"type":69,"value":571},{"type":64,"tag":175,"props":3367,"children":3368},{"style":373},[3369],{"type":69,"value":3370},"button\n",{"type":64,"tag":175,"props":3372,"children":3373},{"class":177,"line":396},[3374,3379,3384,3388],{"type":64,"tag":175,"props":3375,"children":3376},{"style":255},[3377],{"type":69,"value":3378},"      onClick",{"type":64,"tag":175,"props":3380,"children":3381},{"style":198},[3382],{"type":69,"value":3383},"={()",{"type":64,"tag":175,"props":3385,"children":3386},{"style":255},[3387],{"type":69,"value":342},{"type":64,"tag":175,"props":3389,"children":3390},{"style":198},[3391],{"type":69,"value":347},{"type":64,"tag":175,"props":3393,"children":3394},{"class":177,"line":405},[3395,3400,3404,3408,3412,3416,3420,3424,3428,3432,3436,3440,3444,3448,3452,3456],{"type":64,"tag":175,"props":3396,"children":3397},{"style":271},[3398],{"type":69,"value":3399},"        navigate",{"type":64,"tag":175,"props":3401,"children":3402},{"style":373},[3403],{"type":69,"value":278},{"type":64,"tag":175,"props":3405,"children":3406},{"style":198},[3407],{"type":69,"value":594},{"type":64,"tag":175,"props":3409,"children":3410},{"style":373},[3411],{"type":69,"value":2939},{"type":64,"tag":175,"props":3413,"children":3414},{"style":198},[3415],{"type":69,"value":316},{"type":64,"tag":175,"props":3417,"children":3418},{"style":198},[3419],{"type":69,"value":222},{"type":64,"tag":175,"props":3421,"children":3422},{"style":225},[3423],{"type":69,"value":288},{"type":64,"tag":175,"props":3425,"children":3426},{"style":198},[3427],{"type":69,"value":283},{"type":64,"tag":175,"props":3429,"children":3430},{"style":198},[3431],{"type":69,"value":810},{"type":64,"tag":175,"props":3433,"children":3434},{"style":373},[3435],{"type":69,"value":332},{"type":64,"tag":175,"props":3437,"children":3438},{"style":198},[3439],{"type":69,"value":316},{"type":64,"tag":175,"props":3441,"children":3442},{"style":198},[3443],{"type":69,"value":201},{"type":64,"tag":175,"props":3445,"children":3446},{"style":204},[3447],{"type":69,"value":486},{"type":64,"tag":175,"props":3449,"children":3450},{"style":198},[3451],{"type":69,"value":212},{"type":64,"tag":175,"props":3453,"children":3454},{"style":198},[3455],{"type":69,"value":212},{"type":64,"tag":175,"props":3457,"children":3458},{"style":373},[3459],{"type":69,"value":393},{"type":64,"tag":175,"props":3461,"children":3462},{"class":177,"line":428},[3463],{"type":64,"tag":175,"props":3464,"children":3465},{"style":198},[3466],{"type":69,"value":3467},"      }}\n",{"type":64,"tag":175,"props":3469,"children":3470},{"class":177,"line":441},[3471],{"type":64,"tag":175,"props":3472,"children":3473},{"style":198},[3474],{"type":69,"value":3475},"    >\n",{"type":64,"tag":175,"props":3477,"children":3478},{"class":177,"line":449},[3479],{"type":64,"tag":175,"props":3480,"children":3481},{"style":204},[3482],{"type":69,"value":3483},"      Go to Post\n",{"type":64,"tag":175,"props":3485,"children":3486},{"class":177,"line":471},[3487,3491,3496],{"type":64,"tag":175,"props":3488,"children":3489},{"style":198},[3490],{"type":69,"value":639},{"type":64,"tag":175,"props":3492,"children":3493},{"style":373},[3494],{"type":69,"value":3495},"button",{"type":64,"tag":175,"props":3497,"children":3498},{"style":198},[3499],{"type":69,"value":580},{"type":64,"tag":175,"props":3501,"children":3502},{"class":177,"line":517},[3503],{"type":64,"tag":175,"props":3504,"children":3505},{"style":373},[3506],{"type":69,"value":656},{"type":64,"tag":175,"props":3508,"children":3509},{"class":177,"line":551},[3510],{"type":64,"tag":175,"props":3511,"children":3512},{"style":198},[3513],{"type":69,"value":630},{"type":64,"tag":1660,"props":3515,"children":3517},{"id":3516},"navigating-with-optional-params",[3518],{"type":69,"value":3519},"Navigating with Optional Params",{"type":64,"tag":164,"props":3521,"children":3523},{"className":166,"code":3522,"language":168,"meta":169,"style":169},"\u002F\u002F Include the optional param\n\u003CLink to=\"\u002Fposts\u002F{-$category}\" params={{ category: 'tech' }}>\n  Tech Posts\n\u003C\u002FLink>\n\n\u002F\u002F Omit the optional param (renders \u002Fposts)\n\u003CLink to=\"\u002Fposts\u002F{-$category}\" params={{ category: undefined }}>\n  All Posts\n\u003C\u002FLink>\n",[3524],{"type":64,"tag":78,"props":3525,"children":3526},{"__ignoreMap":169},[3527,3535,3601,3609,3624,3631,3639,3695,3703],{"type":64,"tag":175,"props":3528,"children":3529},{"class":177,"line":178},[3530],{"type":64,"tag":175,"props":3531,"children":3532},{"style":182},[3533],{"type":69,"value":3534},"\u002F\u002F Include the optional param\n",{"type":64,"tag":175,"props":3536,"children":3537},{"class":177,"line":188},[3538,3543,3547,3551,3555,3559,3563,3567,3571,3575,3579,3583,3587,3592,3596],{"type":64,"tag":175,"props":3539,"children":3540},{"style":198},[3541],{"type":69,"value":3542},"\u003C",{"type":64,"tag":175,"props":3544,"children":3545},{"style":2900},[3546],{"type":69,"value":2934},{"type":64,"tag":175,"props":3548,"children":3549},{"style":255},[3550],{"type":69,"value":2939},{"type":64,"tag":175,"props":3552,"children":3553},{"style":198},[3554],{"type":69,"value":268},{"type":64,"tag":175,"props":3556,"children":3557},{"style":198},[3558],{"type":69,"value":2948},{"type":64,"tag":175,"props":3560,"children":3561},{"style":225},[3562],{"type":69,"value":1343},{"type":64,"tag":175,"props":3564,"children":3565},{"style":198},[3566],{"type":69,"value":2948},{"type":64,"tag":175,"props":3568,"children":3569},{"style":255},[3570],{"type":69,"value":332},{"type":64,"tag":175,"props":3572,"children":3573},{"style":198},[3574],{"type":69,"value":2965},{"type":64,"tag":175,"props":3576,"children":3577},{"style":373},[3578],{"type":69,"value":1428},{"type":64,"tag":175,"props":3580,"children":3581},{"style":198},[3582],{"type":69,"value":316},{"type":64,"tag":175,"props":3584,"children":3585},{"style":198},[3586],{"type":69,"value":222},{"type":64,"tag":175,"props":3588,"children":3589},{"style":225},[3590],{"type":69,"value":3591},"tech",{"type":64,"tag":175,"props":3593,"children":3594},{"style":198},[3595],{"type":69,"value":283},{"type":64,"tag":175,"props":3597,"children":3598},{"style":198},[3599],{"type":69,"value":3600}," }}>\n",{"type":64,"tag":175,"props":3602,"children":3603},{"class":177,"line":236},[3604],{"type":64,"tag":175,"props":3605,"children":3606},{"style":204},[3607],{"type":69,"value":3608},"  Tech Posts\n",{"type":64,"tag":175,"props":3610,"children":3611},{"class":177,"line":246},[3612,3616,3620],{"type":64,"tag":175,"props":3613,"children":3614},{"style":198},[3615],{"type":69,"value":2564},{"type":64,"tag":175,"props":3617,"children":3618},{"style":2900},[3619],{"type":69,"value":2934},{"type":64,"tag":175,"props":3621,"children":3622},{"style":198},[3623],{"type":69,"value":580},{"type":64,"tag":175,"props":3625,"children":3626},{"class":177,"line":305},[3627],{"type":64,"tag":175,"props":3628,"children":3629},{"emptyLinePlaceholder":240},[3630],{"type":69,"value":243},{"type":64,"tag":175,"props":3632,"children":3633},{"class":177,"line":350},[3634],{"type":64,"tag":175,"props":3635,"children":3636},{"style":182},[3637],{"type":69,"value":3638},"\u002F\u002F Omit the optional param (renders \u002Fposts)\n",{"type":64,"tag":175,"props":3640,"children":3641},{"class":177,"line":359},[3642,3646,3650,3654,3658,3662,3666,3670,3674,3678,3682,3686,3691],{"type":64,"tag":175,"props":3643,"children":3644},{"style":198},[3645],{"type":69,"value":3542},{"type":64,"tag":175,"props":3647,"children":3648},{"style":2900},[3649],{"type":69,"value":2934},{"type":64,"tag":175,"props":3651,"children":3652},{"style":255},[3653],{"type":69,"value":2939},{"type":64,"tag":175,"props":3655,"children":3656},{"style":198},[3657],{"type":69,"value":268},{"type":64,"tag":175,"props":3659,"children":3660},{"style":198},[3661],{"type":69,"value":2948},{"type":64,"tag":175,"props":3663,"children":3664},{"style":225},[3665],{"type":69,"value":1343},{"type":64,"tag":175,"props":3667,"children":3668},{"style":198},[3669],{"type":69,"value":2948},{"type":64,"tag":175,"props":3671,"children":3672},{"style":255},[3673],{"type":69,"value":332},{"type":64,"tag":175,"props":3675,"children":3676},{"style":198},[3677],{"type":69,"value":2965},{"type":64,"tag":175,"props":3679,"children":3680},{"style":373},[3681],{"type":69,"value":1428},{"type":64,"tag":175,"props":3683,"children":3684},{"style":198},[3685],{"type":69,"value":316},{"type":64,"tag":175,"props":3687,"children":3688},{"style":198},[3689],{"type":69,"value":3690}," undefined",{"type":64,"tag":175,"props":3692,"children":3693},{"style":198},[3694],{"type":69,"value":3600},{"type":64,"tag":175,"props":3696,"children":3697},{"class":177,"line":396},[3698],{"type":64,"tag":175,"props":3699,"children":3700},{"style":204},[3701],{"type":69,"value":3702},"  All Posts\n",{"type":64,"tag":175,"props":3704,"children":3705},{"class":177,"line":405},[3706,3710,3714],{"type":64,"tag":175,"props":3707,"children":3708},{"style":198},[3709],{"type":69,"value":2564},{"type":64,"tag":175,"props":3711,"children":3712},{"style":2900},[3713],{"type":69,"value":2934},{"type":64,"tag":175,"props":3715,"children":3716},{"style":198},[3717],{"type":69,"value":580},{"type":64,"tag":138,"props":3719,"children":3721},{"id":3720},"reading-params-outside-route-components",[3722],{"type":69,"value":3723},"Reading Params Outside Route Components",{"type":64,"tag":1660,"props":3725,"children":3727},{"id":3726},"useparams-with-from",[3728,3733,3735],{"type":64,"tag":78,"props":3729,"children":3731},{"className":3730},[],[3732],{"type":69,"value":509},{"type":69,"value":3734}," with ",{"type":64,"tag":78,"props":3736,"children":3738},{"className":3737},[],[3739],{"type":69,"value":3740},"from",{"type":64,"tag":164,"props":3742,"children":3744},{"className":166,"code":3743,"language":168,"meta":169,"style":169},"import { useParams } from '@tanstack\u002Freact-router'\n\nfunction PostHeader() {\n  const { postId } = useParams({ from: '\u002Fposts\u002F$postId' })\n  return \u003Ch2>Post {postId}\u003C\u002Fh2>\n}\n",[3745],{"type":64,"tag":78,"props":3746,"children":3747},{"__ignoreMap":169},[3748,3784,3791,3811,3874,3918],{"type":64,"tag":175,"props":3749,"children":3750},{"class":177,"line":178},[3751,3755,3759,3764,3768,3772,3776,3780],{"type":64,"tag":175,"props":3752,"children":3753},{"style":192},[3754],{"type":69,"value":195},{"type":64,"tag":175,"props":3756,"children":3757},{"style":198},[3758],{"type":69,"value":201},{"type":64,"tag":175,"props":3760,"children":3761},{"style":204},[3762],{"type":69,"value":3763}," useParams",{"type":64,"tag":175,"props":3765,"children":3766},{"style":198},[3767],{"type":69,"value":212},{"type":64,"tag":175,"props":3769,"children":3770},{"style":192},[3771],{"type":69,"value":217},{"type":64,"tag":175,"props":3773,"children":3774},{"style":198},[3775],{"type":69,"value":222},{"type":64,"tag":175,"props":3777,"children":3778},{"style":225},[3779],{"type":69,"value":228},{"type":64,"tag":175,"props":3781,"children":3782},{"style":198},[3783],{"type":69,"value":233},{"type":64,"tag":175,"props":3785,"children":3786},{"class":177,"line":188},[3787],{"type":64,"tag":175,"props":3788,"children":3789},{"emptyLinePlaceholder":240},[3790],{"type":69,"value":243},{"type":64,"tag":175,"props":3792,"children":3793},{"class":177,"line":236},[3794,3798,3803,3807],{"type":64,"tag":175,"props":3795,"children":3796},{"style":255},[3797],{"type":69,"value":455},{"type":64,"tag":175,"props":3799,"children":3800},{"style":271},[3801],{"type":69,"value":3802}," PostHeader",{"type":64,"tag":175,"props":3804,"children":3805},{"style":198},[3806],{"type":69,"value":464},{"type":64,"tag":175,"props":3808,"children":3809},{"style":198},[3810],{"type":69,"value":347},{"type":64,"tag":175,"props":3812,"children":3813},{"class":177,"line":246},[3814,3818,3822,3826,3830,3834,3838,3842,3846,3850,3854,3858,3862,3866,3870],{"type":64,"tag":175,"props":3815,"children":3816},{"style":255},[3817],{"type":69,"value":477},{"type":64,"tag":175,"props":3819,"children":3820},{"style":198},[3821],{"type":69,"value":201},{"type":64,"tag":175,"props":3823,"children":3824},{"style":204},[3825],{"type":69,"value":486},{"type":64,"tag":175,"props":3827,"children":3828},{"style":198},[3829],{"type":69,"value":212},{"type":64,"tag":175,"props":3831,"children":3832},{"style":198},[3833],{"type":69,"value":495},{"type":64,"tag":175,"props":3835,"children":3836},{"style":271},[3837],{"type":69,"value":3763},{"type":64,"tag":175,"props":3839,"children":3840},{"style":373},[3841],{"type":69,"value":278},{"type":64,"tag":175,"props":3843,"children":3844},{"style":198},[3845],{"type":69,"value":594},{"type":64,"tag":175,"props":3847,"children":3848},{"style":373},[3849],{"type":69,"value":217},{"type":64,"tag":175,"props":3851,"children":3852},{"style":198},[3853],{"type":69,"value":316},{"type":64,"tag":175,"props":3855,"children":3856},{"style":198},[3857],{"type":69,"value":222},{"type":64,"tag":175,"props":3859,"children":3860},{"style":225},[3861],{"type":69,"value":288},{"type":64,"tag":175,"props":3863,"children":3864},{"style":198},[3865],{"type":69,"value":283},{"type":64,"tag":175,"props":3867,"children":3868},{"style":198},[3869],{"type":69,"value":212},{"type":64,"tag":175,"props":3871,"children":3872},{"style":373},[3873],{"type":69,"value":393},{"type":64,"tag":175,"props":3875,"children":3876},{"class":177,"line":305},[3877,3881,3885,3889,3893,3898,3902,3906,3910,3914],{"type":64,"tag":175,"props":3878,"children":3879},{"style":192},[3880],{"type":69,"value":557},{"type":64,"tag":175,"props":3882,"children":3883},{"style":198},[3884],{"type":69,"value":1182},{"type":64,"tag":175,"props":3886,"children":3887},{"style":373},[3888],{"type":69,"value":138},{"type":64,"tag":175,"props":3890,"children":3891},{"style":198},[3892],{"type":69,"value":1191},{"type":64,"tag":175,"props":3894,"children":3895},{"style":204},[3896],{"type":69,"value":3897},"Post ",{"type":64,"tag":175,"props":3899,"children":3900},{"style":198},[3901],{"type":69,"value":594},{"type":64,"tag":175,"props":3903,"children":3904},{"style":204},[3905],{"type":69,"value":388},{"type":64,"tag":175,"props":3907,"children":3908},{"style":198},[3909],{"type":69,"value":1209},{"type":64,"tag":175,"props":3911,"children":3912},{"style":373},[3913],{"type":69,"value":138},{"type":64,"tag":175,"props":3915,"children":3916},{"style":198},[3917],{"type":69,"value":580},{"type":64,"tag":175,"props":3919,"children":3920},{"class":177,"line":350},[3921],{"type":64,"tag":175,"props":3922,"children":3923},{"style":198},[3924],{"type":69,"value":630},{"type":64,"tag":1660,"props":3926,"children":3928},{"id":3927},"useparams-with-strict-false",[3929,3934,3935],{"type":64,"tag":78,"props":3930,"children":3932},{"className":3931},[],[3933],{"type":69,"value":509},{"type":69,"value":3734},{"type":64,"tag":78,"props":3936,"children":3938},{"className":3937},[],[3939],{"type":69,"value":3940},"strict: false",{"type":64,"tag":164,"props":3942,"children":3944},{"className":166,"code":3943,"language":168,"meta":169,"style":169},"function GenericBreadcrumb() {\n  const params = useParams({ strict: false })\n  \u002F\u002F params is a union of all possible route params\n  return \u003Cspan>{params.postId ?? 'Home'}\u003C\u002Fspan>\n}\n",[3945],{"type":64,"tag":78,"props":3946,"children":3947},{"__ignoreMap":169},[3948,3968,4018,4026,4088],{"type":64,"tag":175,"props":3949,"children":3950},{"class":177,"line":178},[3951,3955,3960,3964],{"type":64,"tag":175,"props":3952,"children":3953},{"style":255},[3954],{"type":69,"value":455},{"type":64,"tag":175,"props":3956,"children":3957},{"style":271},[3958],{"type":69,"value":3959}," GenericBreadcrumb",{"type":64,"tag":175,"props":3961,"children":3962},{"style":198},[3963],{"type":69,"value":464},{"type":64,"tag":175,"props":3965,"children":3966},{"style":198},[3967],{"type":69,"value":347},{"type":64,"tag":175,"props":3969,"children":3970},{"class":177,"line":188},[3971,3975,3979,3983,3987,3991,3995,4000,4004,4010,4014],{"type":64,"tag":175,"props":3972,"children":3973},{"style":255},[3974],{"type":69,"value":477},{"type":64,"tag":175,"props":3976,"children":3977},{"style":204},[3978],{"type":69,"value":332},{"type":64,"tag":175,"props":3980,"children":3981},{"style":198},[3982],{"type":69,"value":495},{"type":64,"tag":175,"props":3984,"children":3985},{"style":271},[3986],{"type":69,"value":3763},{"type":64,"tag":175,"props":3988,"children":3989},{"style":373},[3990],{"type":69,"value":278},{"type":64,"tag":175,"props":3992,"children":3993},{"style":198},[3994],{"type":69,"value":594},{"type":64,"tag":175,"props":3996,"children":3997},{"style":373},[3998],{"type":69,"value":3999}," strict",{"type":64,"tag":175,"props":4001,"children":4002},{"style":198},[4003],{"type":69,"value":316},{"type":64,"tag":175,"props":4005,"children":4007},{"style":4006},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[4008],{"type":69,"value":4009}," false",{"type":64,"tag":175,"props":4011,"children":4012},{"style":198},[4013],{"type":69,"value":212},{"type":64,"tag":175,"props":4015,"children":4016},{"style":373},[4017],{"type":69,"value":393},{"type":64,"tag":175,"props":4019,"children":4020},{"class":177,"line":236},[4021],{"type":64,"tag":175,"props":4022,"children":4023},{"style":182},[4024],{"type":69,"value":4025},"  \u002F\u002F params is a union of all possible route params\n",{"type":64,"tag":175,"props":4027,"children":4028},{"class":177,"line":246},[4029,4033,4037,4041,4045,4049,4053,4058,4063,4067,4072,4076,4080,4084],{"type":64,"tag":175,"props":4030,"children":4031},{"style":192},[4032],{"type":69,"value":557},{"type":64,"tag":175,"props":4034,"children":4035},{"style":198},[4036],{"type":69,"value":1182},{"type":64,"tag":175,"props":4038,"children":4039},{"style":373},[4040],{"type":69,"value":175},{"type":64,"tag":175,"props":4042,"children":4043},{"style":198},[4044],{"type":69,"value":1488},{"type":64,"tag":175,"props":4046,"children":4047},{"style":204},[4048],{"type":69,"value":114},{"type":64,"tag":175,"props":4050,"children":4051},{"style":198},[4052],{"type":69,"value":136},{"type":64,"tag":175,"props":4054,"children":4055},{"style":204},[4056],{"type":69,"value":4057},"postId ",{"type":64,"tag":175,"props":4059,"children":4060},{"style":198},[4061],{"type":69,"value":4062},"??",{"type":64,"tag":175,"props":4064,"children":4065},{"style":198},[4066],{"type":69,"value":222},{"type":64,"tag":175,"props":4068,"children":4069},{"style":225},[4070],{"type":69,"value":4071},"Home",{"type":64,"tag":175,"props":4073,"children":4074},{"style":198},[4075],{"type":69,"value":283},{"type":64,"tag":175,"props":4077,"children":4078},{"style":198},[4079],{"type":69,"value":1209},{"type":64,"tag":175,"props":4081,"children":4082},{"style":373},[4083],{"type":69,"value":175},{"type":64,"tag":175,"props":4085,"children":4086},{"style":198},[4087],{"type":69,"value":580},{"type":64,"tag":175,"props":4089,"children":4090},{"class":177,"line":305},[4091],{"type":64,"tag":175,"props":4092,"children":4093},{"style":198},[4094],{"type":69,"value":630},{"type":64,"tag":138,"props":4096,"children":4098},{"id":4097},"params-in-loaders-and-beforeload",[4099,4101],{"type":69,"value":4100},"Params in Loaders and ",{"type":64,"tag":78,"props":4102,"children":4104},{"className":4103},[],[4105],{"type":69,"value":4106},"beforeLoad",{"type":64,"tag":164,"props":4108,"children":4110},{"className":166,"code":4109,"language":168,"meta":169,"style":169},"export const Route = createFileRoute('\u002Fposts\u002F$postId')({\n  beforeLoad: async ({ params }) => {\n    \u002F\u002F params.postId available here\n    const canView = await checkPermission(params.postId)\n    if (!canView) throw redirect({ to: '\u002Funauthorized' })\n  },\n  loader: async ({ params }) => {\n    return fetchPost(params.postId)\n  },\n})\n",[4111],{"type":64,"tag":78,"props":4112,"children":4113},{"__ignoreMap":169},[4114,4161,4197,4205,4252,4326,4333,4368,4399,4406],{"type":64,"tag":175,"props":4115,"children":4116},{"class":177,"line":178},[4117,4121,4125,4129,4133,4137,4141,4145,4149,4153,4157],{"type":64,"tag":175,"props":4118,"children":4119},{"style":192},[4120],{"type":69,"value":252},{"type":64,"tag":175,"props":4122,"children":4123},{"style":255},[4124],{"type":69,"value":258},{"type":64,"tag":175,"props":4126,"children":4127},{"style":204},[4128],{"type":69,"value":263},{"type":64,"tag":175,"props":4130,"children":4131},{"style":198},[4132],{"type":69,"value":268},{"type":64,"tag":175,"props":4134,"children":4135},{"style":271},[4136],{"type":69,"value":207},{"type":64,"tag":175,"props":4138,"children":4139},{"style":204},[4140],{"type":69,"value":278},{"type":64,"tag":175,"props":4142,"children":4143},{"style":198},[4144],{"type":69,"value":283},{"type":64,"tag":175,"props":4146,"children":4147},{"style":225},[4148],{"type":69,"value":288},{"type":64,"tag":175,"props":4150,"children":4151},{"style":198},[4152],{"type":69,"value":283},{"type":64,"tag":175,"props":4154,"children":4155},{"style":204},[4156],{"type":69,"value":297},{"type":64,"tag":175,"props":4158,"children":4159},{"style":198},[4160],{"type":69,"value":302},{"type":64,"tag":175,"props":4162,"children":4163},{"class":177,"line":188},[4164,4169,4173,4177,4181,4185,4189,4193],{"type":64,"tag":175,"props":4165,"children":4166},{"style":271},[4167],{"type":69,"value":4168},"  beforeLoad",{"type":64,"tag":175,"props":4170,"children":4171},{"style":198},[4172],{"type":69,"value":316},{"type":64,"tag":175,"props":4174,"children":4175},{"style":255},[4176],{"type":69,"value":321},{"type":64,"tag":175,"props":4178,"children":4179},{"style":198},[4180],{"type":69,"value":326},{"type":64,"tag":175,"props":4182,"children":4183},{"style":329},[4184],{"type":69,"value":332},{"type":64,"tag":175,"props":4186,"children":4187},{"style":198},[4188],{"type":69,"value":337},{"type":64,"tag":175,"props":4190,"children":4191},{"style":255},[4192],{"type":69,"value":342},{"type":64,"tag":175,"props":4194,"children":4195},{"style":198},[4196],{"type":69,"value":347},{"type":64,"tag":175,"props":4198,"children":4199},{"class":177,"line":236},[4200],{"type":64,"tag":175,"props":4201,"children":4202},{"style":182},[4203],{"type":69,"value":4204},"    \u002F\u002F params.postId available here\n",{"type":64,"tag":175,"props":4206,"children":4207},{"class":177,"line":246},[4208,4213,4218,4222,4227,4232,4236,4240,4244,4248],{"type":64,"tag":175,"props":4209,"children":4210},{"style":255},[4211],{"type":69,"value":4212},"    const",{"type":64,"tag":175,"props":4214,"children":4215},{"style":204},[4216],{"type":69,"value":4217}," canView",{"type":64,"tag":175,"props":4219,"children":4220},{"style":198},[4221],{"type":69,"value":495},{"type":64,"tag":175,"props":4223,"children":4224},{"style":192},[4225],{"type":69,"value":4226}," await",{"type":64,"tag":175,"props":4228,"children":4229},{"style":271},[4230],{"type":69,"value":4231}," checkPermission",{"type":64,"tag":175,"props":4233,"children":4234},{"style":373},[4235],{"type":69,"value":278},{"type":64,"tag":175,"props":4237,"children":4238},{"style":204},[4239],{"type":69,"value":114},{"type":64,"tag":175,"props":4241,"children":4242},{"style":198},[4243],{"type":69,"value":136},{"type":64,"tag":175,"props":4245,"children":4246},{"style":204},[4247],{"type":69,"value":388},{"type":64,"tag":175,"props":4249,"children":4250},{"style":373},[4251],{"type":69,"value":393},{"type":64,"tag":175,"props":4253,"children":4254},{"class":177,"line":305},[4255,4260,4264,4269,4274,4279,4284,4289,4293,4297,4301,4305,4309,4314,4318,4322],{"type":64,"tag":175,"props":4256,"children":4257},{"style":192},[4258],{"type":69,"value":4259},"    if",{"type":64,"tag":175,"props":4261,"children":4262},{"style":373},[4263],{"type":69,"value":3142},{"type":64,"tag":175,"props":4265,"children":4266},{"style":198},[4267],{"type":69,"value":4268},"!",{"type":64,"tag":175,"props":4270,"children":4271},{"style":204},[4272],{"type":69,"value":4273},"canView",{"type":64,"tag":175,"props":4275,"children":4276},{"style":373},[4277],{"type":69,"value":4278},") ",{"type":64,"tag":175,"props":4280,"children":4281},{"style":192},[4282],{"type":69,"value":4283},"throw",{"type":64,"tag":175,"props":4285,"children":4286},{"style":271},[4287],{"type":69,"value":4288}," redirect",{"type":64,"tag":175,"props":4290,"children":4291},{"style":373},[4292],{"type":69,"value":278},{"type":64,"tag":175,"props":4294,"children":4295},{"style":198},[4296],{"type":69,"value":594},{"type":64,"tag":175,"props":4298,"children":4299},{"style":373},[4300],{"type":69,"value":2939},{"type":64,"tag":175,"props":4302,"children":4303},{"style":198},[4304],{"type":69,"value":316},{"type":64,"tag":175,"props":4306,"children":4307},{"style":198},[4308],{"type":69,"value":222},{"type":64,"tag":175,"props":4310,"children":4311},{"style":225},[4312],{"type":69,"value":4313},"\u002Funauthorized",{"type":64,"tag":175,"props":4315,"children":4316},{"style":198},[4317],{"type":69,"value":283},{"type":64,"tag":175,"props":4319,"children":4320},{"style":198},[4321],{"type":69,"value":212},{"type":64,"tag":175,"props":4323,"children":4324},{"style":373},[4325],{"type":69,"value":393},{"type":64,"tag":175,"props":4327,"children":4328},{"class":177,"line":350},[4329],{"type":64,"tag":175,"props":4330,"children":4331},{"style":198},[4332],{"type":69,"value":402},{"type":64,"tag":175,"props":4334,"children":4335},{"class":177,"line":359},[4336,4340,4344,4348,4352,4356,4360,4364],{"type":64,"tag":175,"props":4337,"children":4338},{"style":271},[4339],{"type":69,"value":311},{"type":64,"tag":175,"props":4341,"children":4342},{"style":198},[4343],{"type":69,"value":316},{"type":64,"tag":175,"props":4345,"children":4346},{"style":255},[4347],{"type":69,"value":321},{"type":64,"tag":175,"props":4349,"children":4350},{"style":198},[4351],{"type":69,"value":326},{"type":64,"tag":175,"props":4353,"children":4354},{"style":329},[4355],{"type":69,"value":332},{"type":64,"tag":175,"props":4357,"children":4358},{"style":198},[4359],{"type":69,"value":337},{"type":64,"tag":175,"props":4361,"children":4362},{"style":255},[4363],{"type":69,"value":342},{"type":64,"tag":175,"props":4365,"children":4366},{"style":198},[4367],{"type":69,"value":347},{"type":64,"tag":175,"props":4369,"children":4370},{"class":177,"line":396},[4371,4375,4379,4383,4387,4391,4395],{"type":64,"tag":175,"props":4372,"children":4373},{"style":192},[4374],{"type":69,"value":365},{"type":64,"tag":175,"props":4376,"children":4377},{"style":271},[4378],{"type":69,"value":370},{"type":64,"tag":175,"props":4380,"children":4381},{"style":373},[4382],{"type":69,"value":278},{"type":64,"tag":175,"props":4384,"children":4385},{"style":204},[4386],{"type":69,"value":114},{"type":64,"tag":175,"props":4388,"children":4389},{"style":198},[4390],{"type":69,"value":136},{"type":64,"tag":175,"props":4392,"children":4393},{"style":204},[4394],{"type":69,"value":388},{"type":64,"tag":175,"props":4396,"children":4397},{"style":373},[4398],{"type":69,"value":393},{"type":64,"tag":175,"props":4400,"children":4401},{"class":177,"line":405},[4402],{"type":64,"tag":175,"props":4403,"children":4404},{"style":198},[4405],{"type":69,"value":402},{"type":64,"tag":175,"props":4407,"children":4408},{"class":177,"line":428},[4409,4413],{"type":64,"tag":175,"props":4410,"children":4411},{"style":198},[4412],{"type":69,"value":434},{"type":64,"tag":175,"props":4414,"children":4415},{"style":204},[4416],{"type":69,"value":393},{"type":64,"tag":138,"props":4418,"children":4420},{"id":4419},"allowed-characters",[4421],{"type":69,"value":4422},"Allowed Characters",{"type":64,"tag":72,"props":4424,"children":4425},{},[4426,4428,4434],{"type":69,"value":4427},"By default, params are encoded with ",{"type":64,"tag":78,"props":4429,"children":4431},{"className":4430},[],[4432],{"type":69,"value":4433},"encodeURIComponent",{"type":69,"value":4435},". Allow extra characters via router config:",{"type":64,"tag":164,"props":4437,"children":4439},{"className":166,"code":4438,"language":168,"meta":169,"style":169},"import { createRouter } from '@tanstack\u002Freact-router'\n\nconst router = createRouter({\n  routeTree,\n  pathParamsAllowedCharacters: ['@', '+'],\n})\n",[4440],{"type":64,"tag":78,"props":4441,"children":4442},{"__ignoreMap":169},[4443,4479,4486,4515,4527,4583],{"type":64,"tag":175,"props":4444,"children":4445},{"class":177,"line":178},[4446,4450,4454,4459,4463,4467,4471,4475],{"type":64,"tag":175,"props":4447,"children":4448},{"style":192},[4449],{"type":69,"value":195},{"type":64,"tag":175,"props":4451,"children":4452},{"style":198},[4453],{"type":69,"value":201},{"type":64,"tag":175,"props":4455,"children":4456},{"style":204},[4457],{"type":69,"value":4458}," createRouter",{"type":64,"tag":175,"props":4460,"children":4461},{"style":198},[4462],{"type":69,"value":212},{"type":64,"tag":175,"props":4464,"children":4465},{"style":192},[4466],{"type":69,"value":217},{"type":64,"tag":175,"props":4468,"children":4469},{"style":198},[4470],{"type":69,"value":222},{"type":64,"tag":175,"props":4472,"children":4473},{"style":225},[4474],{"type":69,"value":228},{"type":64,"tag":175,"props":4476,"children":4477},{"style":198},[4478],{"type":69,"value":233},{"type":64,"tag":175,"props":4480,"children":4481},{"class":177,"line":188},[4482],{"type":64,"tag":175,"props":4483,"children":4484},{"emptyLinePlaceholder":240},[4485],{"type":69,"value":243},{"type":64,"tag":175,"props":4487,"children":4488},{"class":177,"line":236},[4489,4494,4499,4503,4507,4511],{"type":64,"tag":175,"props":4490,"children":4491},{"style":255},[4492],{"type":69,"value":4493},"const",{"type":64,"tag":175,"props":4495,"children":4496},{"style":204},[4497],{"type":69,"value":4498}," router ",{"type":64,"tag":175,"props":4500,"children":4501},{"style":198},[4502],{"type":69,"value":268},{"type":64,"tag":175,"props":4504,"children":4505},{"style":271},[4506],{"type":69,"value":4458},{"type":64,"tag":175,"props":4508,"children":4509},{"style":204},[4510],{"type":69,"value":278},{"type":64,"tag":175,"props":4512,"children":4513},{"style":198},[4514],{"type":69,"value":302},{"type":64,"tag":175,"props":4516,"children":4517},{"class":177,"line":246},[4518,4523],{"type":64,"tag":175,"props":4519,"children":4520},{"style":204},[4521],{"type":69,"value":4522},"  routeTree",{"type":64,"tag":175,"props":4524,"children":4525},{"style":198},[4526],{"type":69,"value":425},{"type":64,"tag":175,"props":4528,"children":4529},{"class":177,"line":305},[4530,4535,4539,4544,4548,4553,4557,4561,4565,4570,4574,4579],{"type":64,"tag":175,"props":4531,"children":4532},{"style":373},[4533],{"type":69,"value":4534},"  pathParamsAllowedCharacters",{"type":64,"tag":175,"props":4536,"children":4537},{"style":198},[4538],{"type":69,"value":316},{"type":64,"tag":175,"props":4540,"children":4541},{"style":204},[4542],{"type":69,"value":4543}," [",{"type":64,"tag":175,"props":4545,"children":4546},{"style":198},[4547],{"type":69,"value":283},{"type":64,"tag":175,"props":4549,"children":4550},{"style":225},[4551],{"type":69,"value":4552},"@",{"type":64,"tag":175,"props":4554,"children":4555},{"style":198},[4556],{"type":69,"value":283},{"type":64,"tag":175,"props":4558,"children":4559},{"style":198},[4560],{"type":69,"value":810},{"type":64,"tag":175,"props":4562,"children":4563},{"style":198},[4564],{"type":69,"value":222},{"type":64,"tag":175,"props":4566,"children":4567},{"style":225},[4568],{"type":69,"value":4569},"+",{"type":64,"tag":175,"props":4571,"children":4572},{"style":198},[4573],{"type":69,"value":283},{"type":64,"tag":175,"props":4575,"children":4576},{"style":204},[4577],{"type":69,"value":4578},"]",{"type":64,"tag":175,"props":4580,"children":4581},{"style":198},[4582],{"type":69,"value":425},{"type":64,"tag":175,"props":4584,"children":4585},{"class":177,"line":350},[4586,4590],{"type":64,"tag":175,"props":4587,"children":4588},{"style":198},[4589],{"type":69,"value":434},{"type":64,"tag":175,"props":4591,"children":4592},{"style":204},[4593],{"type":69,"value":393},{"type":64,"tag":72,"props":4595,"children":4596},{},[4597,4599,4605,4607,4612,4613,4618,4619,4625,4626,4631,4632,4637,4638,4643,4644,4649],{"type":69,"value":4598},"Allowed characters: ",{"type":64,"tag":78,"props":4600,"children":4602},{"className":4601},[],[4603],{"type":69,"value":4604},";",{"type":69,"value":4606},", ",{"type":64,"tag":78,"props":4608,"children":4610},{"className":4609},[],[4611],{"type":69,"value":316},{"type":69,"value":4606},{"type":64,"tag":78,"props":4614,"children":4616},{"className":4615},[],[4617],{"type":69,"value":4552},{"type":69,"value":4606},{"type":64,"tag":78,"props":4620,"children":4622},{"className":4621},[],[4623],{"type":69,"value":4624},"&",{"type":69,"value":4606},{"type":64,"tag":78,"props":4627,"children":4629},{"className":4628},[],[4630],{"type":69,"value":268},{"type":69,"value":4606},{"type":64,"tag":78,"props":4633,"children":4635},{"className":4634},[],[4636],{"type":69,"value":4569},{"type":69,"value":4606},{"type":64,"tag":78,"props":4639,"children":4641},{"className":4640},[],[4642],{"type":69,"value":83},{"type":69,"value":4606},{"type":64,"tag":78,"props":4645,"children":4647},{"className":4646},[],[4648],{"type":69,"value":810},{"type":69,"value":136},{"type":64,"tag":138,"props":4651,"children":4653},{"id":4652},"common-mistakes",[4654],{"type":69,"value":4655},"Common Mistakes",{"type":64,"tag":1660,"props":4657,"children":4659},{"id":4658},"_1-critical-cross-skill-interpolating-path-params-into-to-string",[4660,4662,4667],{"type":69,"value":4661},"1. CRITICAL (cross-skill): Interpolating path params into ",{"type":64,"tag":78,"props":4663,"children":4665},{"className":4664},[],[4666],{"type":69,"value":106},{"type":69,"value":2903},{"type":64,"tag":164,"props":4669,"children":4671},{"className":166,"code":4670,"language":168,"meta":169,"style":169},"\u002F\u002F WRONG — breaks type safety and param encoding\n\u003CLink to={`\u002Fposts\u002F${postId}`}>Post\u003C\u002FLink>\n\n\u002F\u002F CORRECT — use params prop\n\u003CLink to=\"\u002Fposts\u002F$postId\" params={{ postId }}>Post\u003C\u002FLink>\n",[4672],{"type":64,"tag":78,"props":4673,"children":4674},{"__ignoreMap":169},[4675,4683,4747,4754,4762],{"type":64,"tag":175,"props":4676,"children":4677},{"class":177,"line":178},[4678],{"type":64,"tag":175,"props":4679,"children":4680},{"style":182},[4681],{"type":69,"value":4682},"\u002F\u002F WRONG — breaks type safety and param encoding\n",{"type":64,"tag":175,"props":4684,"children":4685},{"class":177,"line":188},[4686,4690,4694,4698,4703,4708,4713,4717,4721,4725,4730,4735,4739,4743],{"type":64,"tag":175,"props":4687,"children":4688},{"style":198},[4689],{"type":69,"value":3542},{"type":64,"tag":175,"props":4691,"children":4692},{"style":2900},[4693],{"type":69,"value":2934},{"type":64,"tag":175,"props":4695,"children":4696},{"style":255},[4697],{"type":69,"value":2939},{"type":64,"tag":175,"props":4699,"children":4700},{"style":198},[4701],{"type":69,"value":4702},"={",{"type":64,"tag":175,"props":4704,"children":4705},{"style":198},[4706],{"type":69,"value":4707},"`",{"type":64,"tag":175,"props":4709,"children":4710},{"style":225},[4711],{"type":69,"value":4712},"\u002Fposts\u002F",{"type":64,"tag":175,"props":4714,"children":4715},{"style":198},[4716],{"type":69,"value":1513},{"type":64,"tag":175,"props":4718,"children":4719},{"style":204},[4720],{"type":69,"value":388},{"type":64,"tag":175,"props":4722,"children":4723},{"style":198},[4724],{"type":69,"value":1523},{"type":64,"tag":175,"props":4726,"children":4727},{"style":198},[4728],{"type":69,"value":4729},"}>",{"type":64,"tag":175,"props":4731,"children":4732},{"style":204},[4733],{"type":69,"value":4734},"Post",{"type":64,"tag":175,"props":4736,"children":4737},{"style":198},[4738],{"type":69,"value":2564},{"type":64,"tag":175,"props":4740,"children":4741},{"style":2900},[4742],{"type":69,"value":2934},{"type":64,"tag":175,"props":4744,"children":4745},{"style":198},[4746],{"type":69,"value":580},{"type":64,"tag":175,"props":4748,"children":4749},{"class":177,"line":236},[4750],{"type":64,"tag":175,"props":4751,"children":4752},{"emptyLinePlaceholder":240},[4753],{"type":69,"value":243},{"type":64,"tag":175,"props":4755,"children":4756},{"class":177,"line":246},[4757],{"type":64,"tag":175,"props":4758,"children":4759},{"style":182},[4760],{"type":69,"value":4761},"\u002F\u002F CORRECT — use params prop\n",{"type":64,"tag":175,"props":4763,"children":4764},{"class":177,"line":305},[4765,4769,4773,4777,4781,4785,4789,4793,4797,4801,4805,4810,4814,4818,4822],{"type":64,"tag":175,"props":4766,"children":4767},{"style":198},[4768],{"type":69,"value":3542},{"type":64,"tag":175,"props":4770,"children":4771},{"style":2900},[4772],{"type":69,"value":2934},{"type":64,"tag":175,"props":4774,"children":4775},{"style":255},[4776],{"type":69,"value":2939},{"type":64,"tag":175,"props":4778,"children":4779},{"style":198},[4780],{"type":69,"value":268},{"type":64,"tag":175,"props":4782,"children":4783},{"style":198},[4784],{"type":69,"value":2948},{"type":64,"tag":175,"props":4786,"children":4787},{"style":225},[4788],{"type":69,"value":288},{"type":64,"tag":175,"props":4790,"children":4791},{"style":198},[4792],{"type":69,"value":2948},{"type":64,"tag":175,"props":4794,"children":4795},{"style":255},[4796],{"type":69,"value":332},{"type":64,"tag":175,"props":4798,"children":4799},{"style":198},[4800],{"type":69,"value":2965},{"type":64,"tag":175,"props":4802,"children":4803},{"style":204},[4804],{"type":69,"value":2970},{"type":64,"tag":175,"props":4806,"children":4807},{"style":198},[4808],{"type":69,"value":4809},"}}>",{"type":64,"tag":175,"props":4811,"children":4812},{"style":204},[4813],{"type":69,"value":4734},{"type":64,"tag":175,"props":4815,"children":4816},{"style":198},[4817],{"type":69,"value":2564},{"type":64,"tag":175,"props":4819,"children":4820},{"style":2900},[4821],{"type":69,"value":2934},{"type":64,"tag":175,"props":4823,"children":4824},{"style":198},[4825],{"type":69,"value":580},{"type":64,"tag":1660,"props":4827,"children":4829},{"id":4828},"_2-medium-using-for-splat-routes-instead-of",[4830,4832,4838,4840],{"type":69,"value":4831},"2. MEDIUM: Using ",{"type":64,"tag":78,"props":4833,"children":4835},{"className":4834},[],[4836],{"type":69,"value":4837},"*",{"type":69,"value":4839}," for splat routes instead of ",{"type":64,"tag":78,"props":4841,"children":4843},{"className":4842},[],[4844],{"type":69,"value":83},{"type":64,"tag":72,"props":4846,"children":4847},{},[4848,4850,4855,4857,4862,4864,4869],{"type":69,"value":4849},"TanStack Router uses ",{"type":64,"tag":78,"props":4851,"children":4853},{"className":4852},[],[4854],{"type":69,"value":83},{"type":69,"value":4856}," for splat routes. The captured value is under ",{"type":64,"tag":78,"props":4858,"children":4860},{"className":4859},[],[4861],{"type":69,"value":958},{"type":69,"value":4863},", not ",{"type":64,"tag":78,"props":4865,"children":4867},{"className":4866},[],[4868],{"type":69,"value":4837},{"type":69,"value":136},{"type":64,"tag":164,"props":4871,"children":4873},{"className":166,"code":4872,"language":168,"meta":169,"style":169},"\u002F\u002F WRONG (React Router \u002F other frameworks)\n\u002F\u002F \u003CRoute path=\"\u002Ffiles\u002F*\" \u002F>\n\n\u002F\u002F CORRECT (TanStack Router)\n\u002F\u002F File: src\u002Froutes\u002Ffiles.$.tsx\nexport const Route = createFileRoute('\u002Ffiles\u002F$')({\n  component: () => {\n    const { _splat } = Route.useParams()\n    return \u003Cdiv>{_splat}\u003C\u002Fdiv>\n  },\n})\n",[4874],{"type":64,"tag":78,"props":4875,"children":4876},{"__ignoreMap":169},[4877,4885,4893,4900,4908,4916,4963,4987,5026,5061,5068],{"type":64,"tag":175,"props":4878,"children":4879},{"class":177,"line":178},[4880],{"type":64,"tag":175,"props":4881,"children":4882},{"style":182},[4883],{"type":69,"value":4884},"\u002F\u002F WRONG (React Router \u002F other frameworks)\n",{"type":64,"tag":175,"props":4886,"children":4887},{"class":177,"line":188},[4888],{"type":64,"tag":175,"props":4889,"children":4890},{"style":182},[4891],{"type":69,"value":4892},"\u002F\u002F \u003CRoute path=\"\u002Ffiles\u002F*\" \u002F>\n",{"type":64,"tag":175,"props":4894,"children":4895},{"class":177,"line":236},[4896],{"type":64,"tag":175,"props":4897,"children":4898},{"emptyLinePlaceholder":240},[4899],{"type":69,"value":243},{"type":64,"tag":175,"props":4901,"children":4902},{"class":177,"line":246},[4903],{"type":64,"tag":175,"props":4904,"children":4905},{"style":182},[4906],{"type":69,"value":4907},"\u002F\u002F CORRECT (TanStack Router)\n",{"type":64,"tag":175,"props":4909,"children":4910},{"class":177,"line":305},[4911],{"type":64,"tag":175,"props":4912,"children":4913},{"style":182},[4914],{"type":69,"value":4915},"\u002F\u002F File: src\u002Froutes\u002Ffiles.$.tsx\n",{"type":64,"tag":175,"props":4917,"children":4918},{"class":177,"line":350},[4919,4923,4927,4931,4935,4939,4943,4947,4951,4955,4959],{"type":64,"tag":175,"props":4920,"children":4921},{"style":192},[4922],{"type":69,"value":252},{"type":64,"tag":175,"props":4924,"children":4925},{"style":255},[4926],{"type":69,"value":258},{"type":64,"tag":175,"props":4928,"children":4929},{"style":204},[4930],{"type":69,"value":263},{"type":64,"tag":175,"props":4932,"children":4933},{"style":198},[4934],{"type":69,"value":268},{"type":64,"tag":175,"props":4936,"children":4937},{"style":271},[4938],{"type":69,"value":207},{"type":64,"tag":175,"props":4940,"children":4941},{"style":204},[4942],{"type":69,"value":278},{"type":64,"tag":175,"props":4944,"children":4945},{"style":198},[4946],{"type":69,"value":283},{"type":64,"tag":175,"props":4948,"children":4949},{"style":225},[4950],{"type":69,"value":1053},{"type":64,"tag":175,"props":4952,"children":4953},{"style":198},[4954],{"type":69,"value":283},{"type":64,"tag":175,"props":4956,"children":4957},{"style":204},[4958],{"type":69,"value":297},{"type":64,"tag":175,"props":4960,"children":4961},{"style":198},[4962],{"type":69,"value":302},{"type":64,"tag":175,"props":4964,"children":4965},{"class":177,"line":359},[4966,4970,4974,4979,4983],{"type":64,"tag":175,"props":4967,"children":4968},{"style":271},[4969],{"type":69,"value":411},{"type":64,"tag":175,"props":4971,"children":4972},{"style":198},[4973],{"type":69,"value":316},{"type":64,"tag":175,"props":4975,"children":4976},{"style":198},[4977],{"type":69,"value":4978}," ()",{"type":64,"tag":175,"props":4980,"children":4981},{"style":255},[4982],{"type":69,"value":342},{"type":64,"tag":175,"props":4984,"children":4985},{"style":198},[4986],{"type":69,"value":347},{"type":64,"tag":175,"props":4988,"children":4989},{"class":177,"line":396},[4990,4994,4998,5002,5006,5010,5014,5018,5022],{"type":64,"tag":175,"props":4991,"children":4992},{"style":255},[4993],{"type":69,"value":4212},{"type":64,"tag":175,"props":4995,"children":4996},{"style":198},[4997],{"type":69,"value":201},{"type":64,"tag":175,"props":4999,"children":5000},{"style":204},[5001],{"type":69,"value":1138},{"type":64,"tag":175,"props":5003,"children":5004},{"style":198},[5005],{"type":69,"value":212},{"type":64,"tag":175,"props":5007,"children":5008},{"style":198},[5009],{"type":69,"value":495},{"type":64,"tag":175,"props":5011,"children":5012},{"style":204},[5013],{"type":69,"value":500},{"type":64,"tag":175,"props":5015,"children":5016},{"style":198},[5017],{"type":69,"value":136},{"type":64,"tag":175,"props":5019,"children":5020},{"style":271},[5021],{"type":69,"value":509},{"type":64,"tag":175,"props":5023,"children":5024},{"style":373},[5025],{"type":69,"value":514},{"type":64,"tag":175,"props":5027,"children":5028},{"class":177,"line":405},[5029,5033,5037,5041,5045,5049,5053,5057],{"type":64,"tag":175,"props":5030,"children":5031},{"style":192},[5032],{"type":69,"value":365},{"type":64,"tag":175,"props":5034,"children":5035},{"style":198},[5036],{"type":69,"value":1182},{"type":64,"tag":175,"props":5038,"children":5039},{"style":373},[5040],{"type":69,"value":862},{"type":64,"tag":175,"props":5042,"children":5043},{"style":198},[5044],{"type":69,"value":1488},{"type":64,"tag":175,"props":5046,"children":5047},{"style":204},[5048],{"type":69,"value":958},{"type":64,"tag":175,"props":5050,"children":5051},{"style":198},[5052],{"type":69,"value":1209},{"type":64,"tag":175,"props":5054,"children":5055},{"style":373},[5056],{"type":69,"value":862},{"type":64,"tag":175,"props":5058,"children":5059},{"style":198},[5060],{"type":69,"value":580},{"type":64,"tag":175,"props":5062,"children":5063},{"class":177,"line":428},[5064],{"type":64,"tag":175,"props":5065,"children":5066},{"style":198},[5067],{"type":69,"value":402},{"type":64,"tag":175,"props":5069,"children":5070},{"class":177,"line":441},[5071,5075],{"type":64,"tag":175,"props":5072,"children":5073},{"style":198},[5074],{"type":69,"value":434},{"type":64,"tag":175,"props":5076,"children":5077},{"style":204},[5078],{"type":69,"value":393},{"type":64,"tag":87,"props":5080,"children":5081},{},[5082],{"type":64,"tag":72,"props":5083,"children":5084},{},[5085,5087,5092,5094,5099],{"type":69,"value":5086},"Note: ",{"type":64,"tag":78,"props":5088,"children":5090},{"className":5089},[],[5091],{"type":69,"value":4837},{"type":69,"value":5093}," works in v1 for backwards compatibility but will be removed in v2. Always use ",{"type":64,"tag":78,"props":5095,"children":5097},{"className":5096},[],[5098],{"type":69,"value":958},{"type":69,"value":136},{"type":64,"tag":1660,"props":5101,"children":5103},{"id":5102},"_3-medium-using-curly-braces-for-basic-dynamic-segments",[5104],{"type":69,"value":5105},"3. MEDIUM: Using curly braces for basic dynamic segments",{"type":64,"tag":72,"props":5107,"children":5108},{},[5109,5111,5116],{"type":69,"value":5110},"Curly braces are ONLY for prefix\u002Fsuffix patterns and optional params. Basic dynamic segments use bare ",{"type":64,"tag":78,"props":5112,"children":5114},{"className":5113},[],[5115],{"type":69,"value":83},{"type":69,"value":136},{"type":64,"tag":164,"props":5118,"children":5120},{"className":166,"code":5119,"language":168,"meta":169,"style":169},"\u002F\u002F WRONG — braces not needed for basic params\ncreateFileRoute('\u002Fposts\u002F{$postId}')\n\n\u002F\u002F CORRECT — bare $ for basic dynamic segments\ncreateFileRoute('\u002Fposts\u002F$postId')\n\n\u002F\u002F CORRECT — braces for prefix pattern\ncreateFileRoute('\u002Fposts\u002Fpost-{$postId}')\n\n\u002F\u002F CORRECT — braces for optional param\ncreateFileRoute('\u002Fposts\u002F{-$category}')\n",[5121],{"type":64,"tag":78,"props":5122,"children":5123},{"__ignoreMap":169},[5124,5132,5161,5168,5176,5203,5210,5218,5245,5252,5260],{"type":64,"tag":175,"props":5125,"children":5126},{"class":177,"line":178},[5127],{"type":64,"tag":175,"props":5128,"children":5129},{"style":182},[5130],{"type":69,"value":5131},"\u002F\u002F WRONG — braces not needed for basic params\n",{"type":64,"tag":175,"props":5133,"children":5134},{"class":177,"line":188},[5135,5140,5144,5148,5153,5157],{"type":64,"tag":175,"props":5136,"children":5137},{"style":271},[5138],{"type":69,"value":5139},"createFileRoute",{"type":64,"tag":175,"props":5141,"children":5142},{"style":204},[5143],{"type":69,"value":278},{"type":64,"tag":175,"props":5145,"children":5146},{"style":198},[5147],{"type":69,"value":283},{"type":64,"tag":175,"props":5149,"children":5150},{"style":225},[5151],{"type":69,"value":5152},"\u002Fposts\u002F{$postId}",{"type":64,"tag":175,"props":5154,"children":5155},{"style":198},[5156],{"type":69,"value":283},{"type":64,"tag":175,"props":5158,"children":5159},{"style":204},[5160],{"type":69,"value":393},{"type":64,"tag":175,"props":5162,"children":5163},{"class":177,"line":236},[5164],{"type":64,"tag":175,"props":5165,"children":5166},{"emptyLinePlaceholder":240},[5167],{"type":69,"value":243},{"type":64,"tag":175,"props":5169,"children":5170},{"class":177,"line":246},[5171],{"type":64,"tag":175,"props":5172,"children":5173},{"style":182},[5174],{"type":69,"value":5175},"\u002F\u002F CORRECT — bare $ for basic dynamic segments\n",{"type":64,"tag":175,"props":5177,"children":5178},{"class":177,"line":305},[5179,5183,5187,5191,5195,5199],{"type":64,"tag":175,"props":5180,"children":5181},{"style":271},[5182],{"type":69,"value":5139},{"type":64,"tag":175,"props":5184,"children":5185},{"style":204},[5186],{"type":69,"value":278},{"type":64,"tag":175,"props":5188,"children":5189},{"style":198},[5190],{"type":69,"value":283},{"type":64,"tag":175,"props":5192,"children":5193},{"style":225},[5194],{"type":69,"value":288},{"type":64,"tag":175,"props":5196,"children":5197},{"style":198},[5198],{"type":69,"value":283},{"type":64,"tag":175,"props":5200,"children":5201},{"style":204},[5202],{"type":69,"value":393},{"type":64,"tag":175,"props":5204,"children":5205},{"class":177,"line":350},[5206],{"type":64,"tag":175,"props":5207,"children":5208},{"emptyLinePlaceholder":240},[5209],{"type":69,"value":243},{"type":64,"tag":175,"props":5211,"children":5212},{"class":177,"line":359},[5213],{"type":64,"tag":175,"props":5214,"children":5215},{"style":182},[5216],{"type":69,"value":5217},"\u002F\u002F CORRECT — braces for prefix pattern\n",{"type":64,"tag":175,"props":5219,"children":5220},{"class":177,"line":396},[5221,5225,5229,5233,5237,5241],{"type":64,"tag":175,"props":5222,"children":5223},{"style":271},[5224],{"type":69,"value":5139},{"type":64,"tag":175,"props":5226,"children":5227},{"style":204},[5228],{"type":69,"value":278},{"type":64,"tag":175,"props":5230,"children":5231},{"style":198},[5232],{"type":69,"value":283},{"type":64,"tag":175,"props":5234,"children":5235},{"style":225},[5236],{"type":69,"value":2135},{"type":64,"tag":175,"props":5238,"children":5239},{"style":198},[5240],{"type":69,"value":283},{"type":64,"tag":175,"props":5242,"children":5243},{"style":204},[5244],{"type":69,"value":393},{"type":64,"tag":175,"props":5246,"children":5247},{"class":177,"line":405},[5248],{"type":64,"tag":175,"props":5249,"children":5250},{"emptyLinePlaceholder":240},[5251],{"type":69,"value":243},{"type":64,"tag":175,"props":5253,"children":5254},{"class":177,"line":428},[5255],{"type":64,"tag":175,"props":5256,"children":5257},{"style":182},[5258],{"type":69,"value":5259},"\u002F\u002F CORRECT — braces for optional param\n",{"type":64,"tag":175,"props":5261,"children":5262},{"class":177,"line":441},[5263,5267,5271,5275,5279,5283],{"type":64,"tag":175,"props":5264,"children":5265},{"style":271},[5266],{"type":69,"value":5139},{"type":64,"tag":175,"props":5268,"children":5269},{"style":204},[5270],{"type":69,"value":278},{"type":64,"tag":175,"props":5272,"children":5273},{"style":198},[5274],{"type":69,"value":283},{"type":64,"tag":175,"props":5276,"children":5277},{"style":225},[5278],{"type":69,"value":1343},{"type":64,"tag":175,"props":5280,"children":5281},{"style":198},[5282],{"type":69,"value":283},{"type":64,"tag":175,"props":5284,"children":5285},{"style":204},[5286],{"type":69,"value":393},{"type":64,"tag":1660,"props":5288,"children":5290},{"id":5289},"_4-params-are-always-strings",[5291],{"type":69,"value":5292},"4. Params are always strings",{"type":64,"tag":72,"props":5294,"children":5295},{},[5296],{"type":69,"value":5297},"Path params are always parsed as strings. If you need a number, parse in the loader or component:",{"type":64,"tag":164,"props":5299,"children":5301},{"className":166,"code":5300,"language":168,"meta":169,"style":169},"export const Route = createFileRoute('\u002Fposts\u002F$postId')({\n  loader: async ({ params }) => {\n    const id = parseInt(params.postId, 10)\n    if (isNaN(id)) throw notFound()\n    return fetchPost(id)\n  },\n})\n",[5302],{"type":64,"tag":78,"props":5303,"children":5304},{"__ignoreMap":169},[5305,5352,5387,5438,5481,5504,5511],{"type":64,"tag":175,"props":5306,"children":5307},{"class":177,"line":178},[5308,5312,5316,5320,5324,5328,5332,5336,5340,5344,5348],{"type":64,"tag":175,"props":5309,"children":5310},{"style":192},[5311],{"type":69,"value":252},{"type":64,"tag":175,"props":5313,"children":5314},{"style":255},[5315],{"type":69,"value":258},{"type":64,"tag":175,"props":5317,"children":5318},{"style":204},[5319],{"type":69,"value":263},{"type":64,"tag":175,"props":5321,"children":5322},{"style":198},[5323],{"type":69,"value":268},{"type":64,"tag":175,"props":5325,"children":5326},{"style":271},[5327],{"type":69,"value":207},{"type":64,"tag":175,"props":5329,"children":5330},{"style":204},[5331],{"type":69,"value":278},{"type":64,"tag":175,"props":5333,"children":5334},{"style":198},[5335],{"type":69,"value":283},{"type":64,"tag":175,"props":5337,"children":5338},{"style":225},[5339],{"type":69,"value":288},{"type":64,"tag":175,"props":5341,"children":5342},{"style":198},[5343],{"type":69,"value":283},{"type":64,"tag":175,"props":5345,"children":5346},{"style":204},[5347],{"type":69,"value":297},{"type":64,"tag":175,"props":5349,"children":5350},{"style":198},[5351],{"type":69,"value":302},{"type":64,"tag":175,"props":5353,"children":5354},{"class":177,"line":188},[5355,5359,5363,5367,5371,5375,5379,5383],{"type":64,"tag":175,"props":5356,"children":5357},{"style":271},[5358],{"type":69,"value":311},{"type":64,"tag":175,"props":5360,"children":5361},{"style":198},[5362],{"type":69,"value":316},{"type":64,"tag":175,"props":5364,"children":5365},{"style":255},[5366],{"type":69,"value":321},{"type":64,"tag":175,"props":5368,"children":5369},{"style":198},[5370],{"type":69,"value":326},{"type":64,"tag":175,"props":5372,"children":5373},{"style":329},[5374],{"type":69,"value":332},{"type":64,"tag":175,"props":5376,"children":5377},{"style":198},[5378],{"type":69,"value":337},{"type":64,"tag":175,"props":5380,"children":5381},{"style":255},[5382],{"type":69,"value":342},{"type":64,"tag":175,"props":5384,"children":5385},{"style":198},[5386],{"type":69,"value":347},{"type":64,"tag":175,"props":5388,"children":5389},{"class":177,"line":236},[5390,5394,5399,5403,5408,5412,5416,5420,5424,5428,5434],{"type":64,"tag":175,"props":5391,"children":5392},{"style":255},[5393],{"type":69,"value":4212},{"type":64,"tag":175,"props":5395,"children":5396},{"style":204},[5397],{"type":69,"value":5398}," id",{"type":64,"tag":175,"props":5400,"children":5401},{"style":198},[5402],{"type":69,"value":495},{"type":64,"tag":175,"props":5404,"children":5405},{"style":271},[5406],{"type":69,"value":5407}," parseInt",{"type":64,"tag":175,"props":5409,"children":5410},{"style":373},[5411],{"type":69,"value":278},{"type":64,"tag":175,"props":5413,"children":5414},{"style":204},[5415],{"type":69,"value":114},{"type":64,"tag":175,"props":5417,"children":5418},{"style":198},[5419],{"type":69,"value":136},{"type":64,"tag":175,"props":5421,"children":5422},{"style":204},[5423],{"type":69,"value":388},{"type":64,"tag":175,"props":5425,"children":5426},{"style":198},[5427],{"type":69,"value":810},{"type":64,"tag":175,"props":5429,"children":5431},{"style":5430},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[5432],{"type":69,"value":5433}," 10",{"type":64,"tag":175,"props":5435,"children":5436},{"style":373},[5437],{"type":69,"value":393},{"type":64,"tag":175,"props":5439,"children":5440},{"class":177,"line":246},[5441,5445,5449,5454,5458,5463,5468,5472,5477],{"type":64,"tag":175,"props":5442,"children":5443},{"style":192},[5444],{"type":69,"value":4259},{"type":64,"tag":175,"props":5446,"children":5447},{"style":373},[5448],{"type":69,"value":3142},{"type":64,"tag":175,"props":5450,"children":5451},{"style":271},[5452],{"type":69,"value":5453},"isNaN",{"type":64,"tag":175,"props":5455,"children":5456},{"style":373},[5457],{"type":69,"value":278},{"type":64,"tag":175,"props":5459,"children":5460},{"style":204},[5461],{"type":69,"value":5462},"id",{"type":64,"tag":175,"props":5464,"children":5465},{"style":373},[5466],{"type":69,"value":5467},")) ",{"type":64,"tag":175,"props":5469,"children":5470},{"style":192},[5471],{"type":69,"value":4283},{"type":64,"tag":175,"props":5473,"children":5474},{"style":271},[5475],{"type":69,"value":5476}," notFound",{"type":64,"tag":175,"props":5478,"children":5479},{"style":373},[5480],{"type":69,"value":514},{"type":64,"tag":175,"props":5482,"children":5483},{"class":177,"line":305},[5484,5488,5492,5496,5500],{"type":64,"tag":175,"props":5485,"children":5486},{"style":192},[5487],{"type":69,"value":365},{"type":64,"tag":175,"props":5489,"children":5490},{"style":271},[5491],{"type":69,"value":370},{"type":64,"tag":175,"props":5493,"children":5494},{"style":373},[5495],{"type":69,"value":278},{"type":64,"tag":175,"props":5497,"children":5498},{"style":204},[5499],{"type":69,"value":5462},{"type":64,"tag":175,"props":5501,"children":5502},{"style":373},[5503],{"type":69,"value":393},{"type":64,"tag":175,"props":5505,"children":5506},{"class":177,"line":350},[5507],{"type":64,"tag":175,"props":5508,"children":5509},{"style":198},[5510],{"type":69,"value":402},{"type":64,"tag":175,"props":5512,"children":5513},{"class":177,"line":359},[5514,5518],{"type":64,"tag":175,"props":5515,"children":5516},{"style":198},[5517],{"type":69,"value":434},{"type":64,"tag":175,"props":5519,"children":5520},{"style":204},[5521],{"type":69,"value":393},{"type":64,"tag":72,"props":5523,"children":5524},{},[5525,5527,5533,5535,5541],{"type":69,"value":5526},"You can also use ",{"type":64,"tag":78,"props":5528,"children":5530},{"className":5529},[],[5531],{"type":69,"value":5532},"params.parse",{"type":69,"value":5534}," and ",{"type":64,"tag":78,"props":5536,"children":5538},{"className":5537},[],[5539],{"type":69,"value":5540},"params.stringify",{"type":69,"value":5542}," on the route for bidirectional transformation:",{"type":64,"tag":164,"props":5544,"children":5546},{"className":166,"code":5545,"language":168,"meta":169,"style":169},"export const Route = createFileRoute('\u002Fposts\u002F$postId')({\n  params: {\n    parse: (raw) => ({ postId: parseInt(raw.postId, 10) }),\n    stringify: (parsed) => ({ postId: String(parsed.postId) }),\n  },\n  loader: async ({ params }) => {\n    \u002F\u002F params.postId is now number\n    return fetchPost(params.postId)\n  },\n})\n",[5547],{"type":64,"tag":78,"props":5548,"children":5549},{"__ignoreMap":169},[5550,5597,5613,5699,5775,5782,5817,5825,5856,5863],{"type":64,"tag":175,"props":5551,"children":5552},{"class":177,"line":178},[5553,5557,5561,5565,5569,5573,5577,5581,5585,5589,5593],{"type":64,"tag":175,"props":5554,"children":5555},{"style":192},[5556],{"type":69,"value":252},{"type":64,"tag":175,"props":5558,"children":5559},{"style":255},[5560],{"type":69,"value":258},{"type":64,"tag":175,"props":5562,"children":5563},{"style":204},[5564],{"type":69,"value":263},{"type":64,"tag":175,"props":5566,"children":5567},{"style":198},[5568],{"type":69,"value":268},{"type":64,"tag":175,"props":5570,"children":5571},{"style":271},[5572],{"type":69,"value":207},{"type":64,"tag":175,"props":5574,"children":5575},{"style":204},[5576],{"type":69,"value":278},{"type":64,"tag":175,"props":5578,"children":5579},{"style":198},[5580],{"type":69,"value":283},{"type":64,"tag":175,"props":5582,"children":5583},{"style":225},[5584],{"type":69,"value":288},{"type":64,"tag":175,"props":5586,"children":5587},{"style":198},[5588],{"type":69,"value":283},{"type":64,"tag":175,"props":5590,"children":5591},{"style":204},[5592],{"type":69,"value":297},{"type":64,"tag":175,"props":5594,"children":5595},{"style":198},[5596],{"type":69,"value":302},{"type":64,"tag":175,"props":5598,"children":5599},{"class":177,"line":188},[5600,5605,5609],{"type":64,"tag":175,"props":5601,"children":5602},{"style":373},[5603],{"type":69,"value":5604},"  params",{"type":64,"tag":175,"props":5606,"children":5607},{"style":198},[5608],{"type":69,"value":316},{"type":64,"tag":175,"props":5610,"children":5611},{"style":198},[5612],{"type":69,"value":347},{"type":64,"tag":175,"props":5614,"children":5615},{"class":177,"line":236},[5616,5621,5625,5629,5634,5638,5642,5646,5650,5654,5658,5662,5667,5671,5675,5679,5683,5687,5691,5695],{"type":64,"tag":175,"props":5617,"children":5618},{"style":271},[5619],{"type":69,"value":5620},"    parse",{"type":64,"tag":175,"props":5622,"children":5623},{"style":198},[5624],{"type":69,"value":316},{"type":64,"tag":175,"props":5626,"children":5627},{"style":198},[5628],{"type":69,"value":3142},{"type":64,"tag":175,"props":5630,"children":5631},{"style":329},[5632],{"type":69,"value":5633},"raw",{"type":64,"tag":175,"props":5635,"children":5636},{"style":198},[5637],{"type":69,"value":3133},{"type":64,"tag":175,"props":5639,"children":5640},{"style":255},[5641],{"type":69,"value":342},{"type":64,"tag":175,"props":5643,"children":5644},{"style":204},[5645],{"type":69,"value":3142},{"type":64,"tag":175,"props":5647,"children":5648},{"style":198},[5649],{"type":69,"value":594},{"type":64,"tag":175,"props":5651,"children":5652},{"style":373},[5653],{"type":69,"value":486},{"type":64,"tag":175,"props":5655,"children":5656},{"style":198},[5657],{"type":69,"value":316},{"type":64,"tag":175,"props":5659,"children":5660},{"style":271},[5661],{"type":69,"value":5407},{"type":64,"tag":175,"props":5663,"children":5664},{"style":204},[5665],{"type":69,"value":5666},"(raw",{"type":64,"tag":175,"props":5668,"children":5669},{"style":198},[5670],{"type":69,"value":136},{"type":64,"tag":175,"props":5672,"children":5673},{"style":204},[5674],{"type":69,"value":388},{"type":64,"tag":175,"props":5676,"children":5677},{"style":198},[5678],{"type":69,"value":810},{"type":64,"tag":175,"props":5680,"children":5681},{"style":5430},[5682],{"type":69,"value":5433},{"type":64,"tag":175,"props":5684,"children":5685},{"style":204},[5686],{"type":69,"value":4278},{"type":64,"tag":175,"props":5688,"children":5689},{"style":198},[5690],{"type":69,"value":434},{"type":64,"tag":175,"props":5692,"children":5693},{"style":204},[5694],{"type":69,"value":3133},{"type":64,"tag":175,"props":5696,"children":5697},{"style":198},[5698],{"type":69,"value":425},{"type":64,"tag":175,"props":5700,"children":5701},{"class":177,"line":246},[5702,5707,5711,5715,5720,5724,5728,5732,5736,5740,5744,5749,5754,5758,5763,5767,5771],{"type":64,"tag":175,"props":5703,"children":5704},{"style":271},[5705],{"type":69,"value":5706},"    stringify",{"type":64,"tag":175,"props":5708,"children":5709},{"style":198},[5710],{"type":69,"value":316},{"type":64,"tag":175,"props":5712,"children":5713},{"style":198},[5714],{"type":69,"value":3142},{"type":64,"tag":175,"props":5716,"children":5717},{"style":329},[5718],{"type":69,"value":5719},"parsed",{"type":64,"tag":175,"props":5721,"children":5722},{"style":198},[5723],{"type":69,"value":3133},{"type":64,"tag":175,"props":5725,"children":5726},{"style":255},[5727],{"type":69,"value":342},{"type":64,"tag":175,"props":5729,"children":5730},{"style":204},[5731],{"type":69,"value":3142},{"type":64,"tag":175,"props":5733,"children":5734},{"style":198},[5735],{"type":69,"value":594},{"type":64,"tag":175,"props":5737,"children":5738},{"style":373},[5739],{"type":69,"value":486},{"type":64,"tag":175,"props":5741,"children":5742},{"style":198},[5743],{"type":69,"value":316},{"type":64,"tag":175,"props":5745,"children":5746},{"style":271},[5747],{"type":69,"value":5748}," String",{"type":64,"tag":175,"props":5750,"children":5751},{"style":204},[5752],{"type":69,"value":5753},"(parsed",{"type":64,"tag":175,"props":5755,"children":5756},{"style":198},[5757],{"type":69,"value":136},{"type":64,"tag":175,"props":5759,"children":5760},{"style":204},[5761],{"type":69,"value":5762},"postId) ",{"type":64,"tag":175,"props":5764,"children":5765},{"style":198},[5766],{"type":69,"value":434},{"type":64,"tag":175,"props":5768,"children":5769},{"style":204},[5770],{"type":69,"value":3133},{"type":64,"tag":175,"props":5772,"children":5773},{"style":198},[5774],{"type":69,"value":425},{"type":64,"tag":175,"props":5776,"children":5777},{"class":177,"line":305},[5778],{"type":64,"tag":175,"props":5779,"children":5780},{"style":198},[5781],{"type":69,"value":402},{"type":64,"tag":175,"props":5783,"children":5784},{"class":177,"line":350},[5785,5789,5793,5797,5801,5805,5809,5813],{"type":64,"tag":175,"props":5786,"children":5787},{"style":271},[5788],{"type":69,"value":311},{"type":64,"tag":175,"props":5790,"children":5791},{"style":198},[5792],{"type":69,"value":316},{"type":64,"tag":175,"props":5794,"children":5795},{"style":255},[5796],{"type":69,"value":321},{"type":64,"tag":175,"props":5798,"children":5799},{"style":198},[5800],{"type":69,"value":326},{"type":64,"tag":175,"props":5802,"children":5803},{"style":329},[5804],{"type":69,"value":332},{"type":64,"tag":175,"props":5806,"children":5807},{"style":198},[5808],{"type":69,"value":337},{"type":64,"tag":175,"props":5810,"children":5811},{"style":255},[5812],{"type":69,"value":342},{"type":64,"tag":175,"props":5814,"children":5815},{"style":198},[5816],{"type":69,"value":347},{"type":64,"tag":175,"props":5818,"children":5819},{"class":177,"line":359},[5820],{"type":64,"tag":175,"props":5821,"children":5822},{"style":182},[5823],{"type":69,"value":5824},"    \u002F\u002F params.postId is now number\n",{"type":64,"tag":175,"props":5826,"children":5827},{"class":177,"line":396},[5828,5832,5836,5840,5844,5848,5852],{"type":64,"tag":175,"props":5829,"children":5830},{"style":192},[5831],{"type":69,"value":365},{"type":64,"tag":175,"props":5833,"children":5834},{"style":271},[5835],{"type":69,"value":370},{"type":64,"tag":175,"props":5837,"children":5838},{"style":373},[5839],{"type":69,"value":278},{"type":64,"tag":175,"props":5841,"children":5842},{"style":204},[5843],{"type":69,"value":114},{"type":64,"tag":175,"props":5845,"children":5846},{"style":198},[5847],{"type":69,"value":136},{"type":64,"tag":175,"props":5849,"children":5850},{"style":204},[5851],{"type":69,"value":388},{"type":64,"tag":175,"props":5853,"children":5854},{"style":373},[5855],{"type":69,"value":393},{"type":64,"tag":175,"props":5857,"children":5858},{"class":177,"line":405},[5859],{"type":64,"tag":175,"props":5860,"children":5861},{"style":198},[5862],{"type":69,"value":402},{"type":64,"tag":175,"props":5864,"children":5865},{"class":177,"line":428},[5866,5870],{"type":64,"tag":175,"props":5867,"children":5868},{"style":198},[5869],{"type":69,"value":434},{"type":64,"tag":175,"props":5871,"children":5872},{"style":204},[5873],{"type":69,"value":393},{"type":64,"tag":5875,"props":5876,"children":5877},"style",{},[5878],{"type":69,"value":5879},"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":5881,"total":5984},[5882,5896,5911,5927,5940,5959,5970],{"slug":5883,"name":5883,"fn":5884,"description":5885,"org":5886,"tags":5887,"stars":23,"repoUrl":24,"updatedAt":5895},"auth-and-guards","implement route protection in TanStack Router","Route protection with beforeLoad, redirect()\u002Fthrow redirect(), isRedirect helper, authenticated layout routes (_authenticated), non-redirect auth (inline login), RBAC with roles and permissions, auth provider integration (Auth0, Clerk, Supabase), router context for auth state.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5888,5891,5892,5893,5894],{"name":5889,"slug":5890,"type":15},"Auth","auth",{"name":21,"slug":22,"type":15},{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-30T05:27:07.639032",{"slug":5897,"name":5897,"fn":5898,"description":5899,"org":5900,"tags":5901,"stars":23,"repoUrl":24,"updatedAt":5910},"auth-server-primitives","implement server-side authentication primitives","Server-side authentication primitives for TanStack Start: session cookies (HttpOnly, Secure, SameSite, __Host- prefix), session read\u002Fissue\u002Fdestroy via createServerFn and middleware, OAuth authorization-code flow with state and PKCE, password-reset enumeration defense, CSRF for non-GET RPCs, rate limiting auth endpoints, session rotation on privilege change. Pairs with router-core\u002Fauth-and-guards for the routing side.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5902,5903,5906,5909],{"name":5889,"slug":5890,"type":15},{"name":5904,"slug":5905,"type":15},"OAuth","oauth",{"name":5907,"slug":5908,"type":15},"Security","security",{"name":9,"slug":8,"type":15},"2026-07-30T05:26:59.504396",{"slug":5912,"name":5912,"fn":5913,"description":5914,"org":5915,"tags":5916,"stars":23,"repoUrl":24,"updatedAt":5926},"code-splitting","configure code splitting in TanStack Router","Automatic code splitting (autoCodeSplitting), .lazy.tsx convention, createLazyFileRoute, createLazyRoute, lazyRouteComponent, getRouteApi for typed hooks in split files, codeSplitGroupings per-route override, splitBehavior programmatic config, critical vs non-critical properties.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5917,5920,5921,5924,5925],{"name":5918,"slug":5919,"type":15},"Engineering","engineering",{"name":21,"slug":22,"type":15},{"name":5922,"slug":5923,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-30T05:27:11.494406",{"slug":5928,"name":5928,"fn":5929,"description":5930,"org":5931,"tags":5932,"stars":23,"repoUrl":24,"updatedAt":5939},"data-loading","manage data loading in TanStack Router","Route loader option, loaderDeps for cache keys, staleTime\u002FgcTime\u002F defaultPreloadStaleTime SWR caching, pendingComponent\u002FpendingMs\u002F pendingMinMs, errorComponent\u002FonError\u002FonCatch, beforeLoad, router context and createRootRouteWithContext DI pattern, router.invalidate, Await component, deferred data loading with unawaited promises.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5933,5936,5937,5938],{"name":5934,"slug":5935,"type":15},"Caching","caching",{"name":5922,"slug":5923,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-30T05:26:54.487943",{"slug":5941,"name":5941,"fn":5942,"description":5943,"org":5944,"tags":5945,"stars":23,"repoUrl":24,"updatedAt":5958},"deployment","deploy TanStack Start applications","Deploy to Cloudflare Workers, Netlify, Vercel, Node.js\u002FDocker, Bun, Railway. Selective SSR (ssr option per route), SPA mode, static prerendering, ISR with Cache-Control headers, SEO and head management.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5946,5949,5951,5954,5955],{"name":5947,"slug":5948,"type":15},"Cloudflare","cloudflare",{"name":5950,"slug":5941,"type":15},"Deployment",{"name":5952,"slug":5953,"type":15},"Netlify","netlify",{"name":9,"slug":8,"type":15},{"name":5956,"slug":5957,"type":15},"Vercel","vercel","2026-07-30T05:26:50.509927",{"slug":5960,"name":5960,"fn":5961,"description":5962,"org":5963,"tags":5964,"stars":23,"repoUrl":24,"updatedAt":5969},"execution-model","manage isomorphic execution models","Isomorphic-by-default principle, environment boundary functions (createServerFn, createServerOnlyFn, createClientOnlyFn, createIsomorphicFn), ClientOnly component, useHydrated hook, import protection, dead code elimination, environment variable safety (VITE_ prefix, process.env).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5965,5968],{"name":5966,"slug":5967,"type":15},"Architecture","architecture",{"name":9,"slug":8,"type":15},"2026-07-30T05:27:04.558441",{"slug":5971,"name":5971,"fn":5972,"description":5973,"org":5974,"tags":5975,"stars":23,"repoUrl":24,"updatedAt":5983},"middleware","implement TanStack Router middleware","createMiddleware, request middleware (.server only), server function middleware (.client + .server), context passing via next({ context }), sendContext for client-server transfer, global middleware via createStart in src\u002Fstart.ts, middleware factories, method order enforcement, fetch override precedence.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[5976,5979,5980,5982],{"name":5977,"slug":5978,"type":15},"Backend","backend",{"name":21,"slug":22,"type":15},{"name":5981,"slug":5971,"type":15},"Middleware",{"name":9,"slug":8,"type":15},"2026-07-30T05:26:58.546019",30,{"items":5986,"total":6124},[5987,6001,6013,6025,6038,6050,6060,6070,6083,6093,6104,6114],{"slug":5988,"name":5988,"fn":5989,"description":5990,"org":5991,"tags":5992,"stars":5998,"repoUrl":5999,"updatedAt":6000},"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},[5993,5996,5997],{"name":5994,"slug":5995,"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-07-30T05:25:59.429787",{"slug":6002,"name":6002,"fn":6003,"description":6004,"org":6005,"tags":6006,"stars":5998,"repoUrl":5999,"updatedAt":6012},"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},[6007,6010,6011],{"name":6008,"slug":6009,"type":15},"Debugging","debugging",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:26:05.418735",{"slug":6014,"name":6014,"fn":6015,"description":6016,"org":6017,"tags":6018,"stars":5998,"repoUrl":5999,"updatedAt":6024},"cell-selection","select rectangular cell ranges in tables","Select rectangular cell ranges with cellSelectionFeature: two-corner range state keyed by row and column id, mousedown\u002Fmouseenter handlers, selection edges, render-order resolution under pinning, and autoResetCellSelection. Load when ranges widen unexpectedly after sorting or column reordering, when a drag re-renders the whole table, or when building copy-to-clipboard from a selection.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6019,6020,6021],{"name":5994,"slug":5995,"type":15},{"name":9,"slug":8,"type":15},{"name":6022,"slug":6023,"type":15},"UI Components","ui-components","2026-07-30T05:25:38.403427",{"slug":6026,"name":6026,"fn":6027,"description":6028,"org":6029,"tags":6030,"stars":5998,"repoUrl":5999,"updatedAt":6037},"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},[6031,6034,6035,6036],{"name":6032,"slug":6033,"type":15},"Data Pipeline","data-pipeline",{"name":21,"slug":22,"type":15},{"name":5922,"slug":5923,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:45.400104",{"slug":6039,"name":6039,"fn":6040,"description":6041,"org":6042,"tags":6043,"stars":5998,"repoUrl":5999,"updatedAt":6049},"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},[6044,6047,6048],{"name":6045,"slug":6046,"type":15},"Data Visualization","data-visualization",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:41.397257",{"slug":6051,"name":6051,"fn":6052,"description":6053,"org":6054,"tags":6055,"stars":5998,"repoUrl":5999,"updatedAt":6059},"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},[6056,6057,6058],{"name":5994,"slug":5995,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:53.391632",{"slug":6061,"name":6061,"fn":6062,"description":6063,"org":6064,"tags":6065,"stars":5998,"repoUrl":5999,"updatedAt":6069},"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},[6066,6067,6068],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":6022,"slug":6023,"type":15},"2026-07-30T05:26:03.37801",{"slug":6071,"name":6071,"fn":6072,"description":6073,"org":6074,"tags":6075,"stars":5998,"repoUrl":5999,"updatedAt":6082},"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},[6076,6079,6080,6081],{"name":6077,"slug":6078,"type":15},"CSS","css",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":6022,"slug":6023,"type":15},"2026-07-30T05:25:55.377366",{"slug":6084,"name":6084,"fn":6085,"description":6086,"org":6087,"tags":6088,"stars":5998,"repoUrl":5999,"updatedAt":6092},"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},[6089,6090,6091],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":6022,"slug":6023,"type":15},"2026-07-30T05:25:51.400011",{"slug":6094,"name":6094,"fn":6095,"description":6096,"org":6097,"tags":6098,"stars":5998,"repoUrl":5999,"updatedAt":6103},"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},[6099,6100,6101,6102],{"name":6077,"slug":6078,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":6022,"slug":6023,"type":15},"2026-07-30T05:25:48.703799",{"slug":6105,"name":6105,"fn":6106,"description":6107,"org":6108,"tags":6109,"stars":5998,"repoUrl":5999,"updatedAt":6113},"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},[6110,6111,6112],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":6022,"slug":6023,"type":15},"2026-07-30T05:25:47.367943",{"slug":6115,"name":6115,"fn":6116,"description":6117,"org":6118,"tags":6119,"stars":5998,"repoUrl":5999,"updatedAt":6123},"core","build data grids with TanStack Table","Use TanStack Table v9 as a headless data-grid state and row-processing engine. Load for first-table architecture, stable data and columns, row numbering with getDisplayIndex, semantic rendering, framework adapter choice, or deciding what Table owns versus the renderer.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6120,6121,6122],{"name":5994,"slug":5995,"type":15},{"name":21,"slug":22,"type":15},{"name":6022,"slug":6023,"type":15},"2026-07-30T05:25:52.366295",125]