@tanstack/react-router 1.121.20 → 1.121.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/dist/cjs/Asset.cjs +108 -0
  2. package/dist/cjs/Asset.cjs.map +1 -0
  3. package/dist/cjs/Asset.d.cts +3 -0
  4. package/dist/cjs/CatchBoundary.cjs +114 -0
  5. package/dist/cjs/CatchBoundary.cjs.map +1 -0
  6. package/dist/cjs/CatchBoundary.d.cts +12 -0
  7. package/dist/cjs/ClientOnly.cjs +20 -0
  8. package/dist/cjs/ClientOnly.cjs.map +1 -0
  9. package/dist/cjs/ClientOnly.d.cts +29 -0
  10. package/dist/cjs/HeadContent.cjs +155 -0
  11. package/dist/cjs/HeadContent.cjs.map +1 -0
  12. package/dist/cjs/HeadContent.d.cts +7 -0
  13. package/dist/cjs/Match.cjs +257 -0
  14. package/dist/cjs/Match.cjs.map +1 -0
  15. package/dist/cjs/Match.d.cts +8 -0
  16. package/dist/cjs/Matches.cjs +136 -0
  17. package/dist/cjs/Matches.cjs.map +1 -0
  18. package/dist/cjs/Matches.d.cts +26 -0
  19. package/dist/cjs/RouterProvider.cjs +33 -0
  20. package/dist/cjs/RouterProvider.cjs.map +1 -0
  21. package/dist/cjs/RouterProvider.d.cts +10 -0
  22. package/dist/cjs/SafeFragment.cjs +8 -0
  23. package/dist/cjs/SafeFragment.cjs.map +1 -0
  24. package/dist/cjs/SafeFragment.d.cts +1 -0
  25. package/dist/cjs/ScriptOnce.cjs +28 -0
  26. package/dist/cjs/ScriptOnce.cjs.map +1 -0
  27. package/dist/cjs/ScriptOnce.d.cts +5 -0
  28. package/dist/cjs/Scripts.cjs +51 -0
  29. package/dist/cjs/Scripts.cjs.map +1 -0
  30. package/dist/cjs/Scripts.d.cts +1 -0
  31. package/dist/cjs/ScrollRestoration.cjs +39 -0
  32. package/dist/cjs/ScrollRestoration.cjs.map +1 -0
  33. package/dist/cjs/ScrollRestoration.d.cts +14 -0
  34. package/dist/cjs/Transitioner.cjs +115 -0
  35. package/dist/cjs/Transitioner.cjs.map +1 -0
  36. package/dist/cjs/Transitioner.d.cts +1 -0
  37. package/dist/cjs/awaited.cjs +48 -0
  38. package/dist/cjs/awaited.cjs.map +1 -0
  39. package/dist/cjs/awaited.d.cts +10 -0
  40. package/dist/cjs/fileRoute.cjs +107 -0
  41. package/dist/cjs/fileRoute.cjs.map +1 -0
  42. package/dist/cjs/fileRoute.d.cts +54 -0
  43. package/dist/cjs/history.d.cts +8 -0
  44. package/dist/cjs/index.cjs +289 -0
  45. package/dist/cjs/index.cjs.map +1 -0
  46. package/dist/cjs/index.d.cts +55 -0
  47. package/dist/cjs/lazyRouteComponent.cjs +78 -0
  48. package/dist/cjs/lazyRouteComponent.cjs.map +1 -0
  49. package/dist/cjs/lazyRouteComponent.d.cts +2 -0
  50. package/dist/cjs/link.cjs +324 -0
  51. package/dist/cjs/link.cjs.map +1 -0
  52. package/dist/cjs/link.d.cts +48 -0
  53. package/dist/cjs/matchContext.cjs +27 -0
  54. package/dist/cjs/matchContext.cjs.map +1 -0
  55. package/dist/cjs/matchContext.d.cts +3 -0
  56. package/dist/cjs/not-found.cjs +40 -0
  57. package/dist/cjs/not-found.cjs.map +1 -0
  58. package/dist/cjs/not-found.d.cts +9 -0
  59. package/dist/cjs/renderRouteNotFound.cjs +22 -0
  60. package/dist/cjs/renderRouteNotFound.cjs.map +1 -0
  61. package/dist/cjs/renderRouteNotFound.d.cts +2 -0
  62. package/dist/cjs/route.cjs +205 -0
  63. package/dist/cjs/route.cjs.map +1 -0
  64. package/dist/cjs/route.d.cts +95 -0
  65. package/dist/cjs/router.cjs +22 -0
  66. package/dist/cjs/router.cjs.map +1 -0
  67. package/dist/cjs/router.d.cts +72 -0
  68. package/dist/cjs/routerContext.cjs +33 -0
  69. package/dist/cjs/routerContext.cjs.map +1 -0
  70. package/dist/cjs/routerContext.d.cts +8 -0
  71. package/dist/cjs/scroll-restoration.cjs +24 -0
  72. package/dist/cjs/scroll-restoration.cjs.map +1 -0
  73. package/dist/cjs/scroll-restoration.d.cts +1 -0
  74. package/dist/cjs/serializer.d.cts +6 -0
  75. package/dist/cjs/structuralSharing.d.cts +8 -0
  76. package/dist/cjs/typePrimitives.d.cts +16 -0
  77. package/dist/cjs/useBlocker.cjs +165 -0
  78. package/dist/cjs/useBlocker.cjs.map +1 -0
  79. package/dist/cjs/useBlocker.d.cts +66 -0
  80. package/dist/cjs/useCanGoBack.cjs +8 -0
  81. package/dist/cjs/useCanGoBack.cjs.map +1 -0
  82. package/dist/cjs/useCanGoBack.d.cts +1 -0
  83. package/dist/cjs/useLoaderData.cjs +15 -0
  84. package/dist/cjs/useLoaderData.cjs.map +1 -0
  85. package/dist/cjs/useLoaderData.d.cts +8 -0
  86. package/dist/cjs/useLoaderDeps.cjs +14 -0
  87. package/dist/cjs/useLoaderDeps.cjs.map +1 -0
  88. package/dist/cjs/useLoaderDeps.d.cts +8 -0
  89. package/dist/cjs/useLocation.cjs +10 -0
  90. package/dist/cjs/useLocation.cjs.map +1 -0
  91. package/dist/cjs/useLocation.d.cts +7 -0
  92. package/dist/cjs/useMatch.cjs +47 -0
  93. package/dist/cjs/useMatch.cjs.map +1 -0
  94. package/dist/cjs/useMatch.d.cts +10 -0
  95. package/dist/cjs/useNavigate.cjs +55 -0
  96. package/dist/cjs/useNavigate.cjs.map +1 -0
  97. package/dist/cjs/useNavigate.d.cts +5 -0
  98. package/dist/cjs/useParams.cjs +16 -0
  99. package/dist/cjs/useParams.cjs.map +1 -0
  100. package/dist/cjs/useParams.d.cts +9 -0
  101. package/dist/cjs/useRouteContext.cjs +11 -0
  102. package/dist/cjs/useRouteContext.cjs.map +1 -0
  103. package/dist/cjs/useRouteContext.d.cts +3 -0
  104. package/dist/cjs/useRouter.cjs +32 -0
  105. package/dist/cjs/useRouter.cjs.map +1 -0
  106. package/dist/cjs/useRouter.d.cts +4 -0
  107. package/dist/cjs/useRouterState.cjs +29 -0
  108. package/dist/cjs/useRouterState.cjs.map +1 -0
  109. package/dist/cjs/useRouterState.d.cts +8 -0
  110. package/dist/cjs/useSearch.cjs +16 -0
  111. package/dist/cjs/useSearch.cjs.map +1 -0
  112. package/dist/cjs/useSearch.d.cts +9 -0
  113. package/dist/cjs/utils.cjs +72 -0
  114. package/dist/cjs/utils.cjs.map +1 -0
  115. package/dist/cjs/utils.d.cts +49 -0
  116. package/dist/esm/Asset.d.ts +3 -0
  117. package/dist/esm/Asset.js +91 -0
  118. package/dist/esm/Asset.js.map +1 -0
  119. package/dist/esm/CatchBoundary.d.ts +12 -0
  120. package/dist/esm/CatchBoundary.js +97 -0
  121. package/dist/esm/CatchBoundary.js.map +1 -0
  122. package/dist/esm/ClientOnly.d.ts +29 -0
  123. package/dist/esm/ClientOnly.js +20 -0
  124. package/dist/esm/ClientOnly.js.map +1 -0
  125. package/dist/esm/HeadContent.d.ts +7 -0
  126. package/dist/esm/HeadContent.js +139 -0
  127. package/dist/esm/HeadContent.js.map +1 -0
  128. package/dist/esm/Match.d.ts +8 -0
  129. package/dist/esm/Match.js +240 -0
  130. package/dist/esm/Match.js.map +1 -0
  131. package/dist/esm/Matches.d.ts +26 -0
  132. package/dist/esm/Matches.js +119 -0
  133. package/dist/esm/Matches.js.map +1 -0
  134. package/dist/esm/RouterProvider.d.ts +10 -0
  135. package/dist/esm/RouterProvider.js +33 -0
  136. package/dist/esm/RouterProvider.js.map +1 -0
  137. package/dist/esm/SafeFragment.d.ts +1 -0
  138. package/dist/esm/SafeFragment.js +8 -0
  139. package/dist/esm/SafeFragment.js.map +1 -0
  140. package/dist/esm/ScriptOnce.d.ts +5 -0
  141. package/dist/esm/ScriptOnce.js +28 -0
  142. package/dist/esm/ScriptOnce.js.map +1 -0
  143. package/dist/esm/Scripts.d.ts +1 -0
  144. package/dist/esm/Scripts.js +51 -0
  145. package/dist/esm/Scripts.js.map +1 -0
  146. package/dist/esm/ScrollRestoration.d.ts +14 -0
  147. package/dist/esm/ScrollRestoration.js +39 -0
  148. package/dist/esm/ScrollRestoration.js.map +1 -0
  149. package/dist/esm/Transitioner.d.ts +1 -0
  150. package/dist/esm/Transitioner.js +98 -0
  151. package/dist/esm/Transitioner.js.map +1 -0
  152. package/dist/esm/awaited.d.ts +10 -0
  153. package/dist/esm/awaited.js +31 -0
  154. package/dist/esm/awaited.js.map +1 -0
  155. package/dist/esm/fileRoute.d.ts +54 -0
  156. package/dist/esm/fileRoute.js +107 -0
  157. package/dist/esm/fileRoute.js.map +1 -0
  158. package/dist/esm/history.d.ts +8 -0
  159. package/dist/esm/index.d.ts +55 -0
  160. package/dist/esm/index.js +151 -0
  161. package/dist/esm/index.js.map +1 -0
  162. package/dist/esm/lazyRouteComponent.d.ts +2 -0
  163. package/dist/esm/lazyRouteComponent.js +61 -0
  164. package/dist/esm/lazyRouteComponent.js.map +1 -0
  165. package/dist/esm/link.d.ts +48 -0
  166. package/dist/esm/link.js +307 -0
  167. package/dist/esm/link.js.map +1 -0
  168. package/dist/esm/matchContext.d.ts +3 -0
  169. package/dist/esm/matchContext.js +10 -0
  170. package/dist/esm/matchContext.js.map +1 -0
  171. package/dist/esm/not-found.d.ts +9 -0
  172. package/dist/esm/not-found.js +40 -0
  173. package/dist/esm/not-found.js.map +1 -0
  174. package/dist/esm/renderRouteNotFound.d.ts +2 -0
  175. package/dist/esm/renderRouteNotFound.js +22 -0
  176. package/dist/esm/renderRouteNotFound.js.map +1 -0
  177. package/dist/esm/route.d.ts +95 -0
  178. package/dist/esm/route.js +205 -0
  179. package/dist/esm/route.js.map +1 -0
  180. package/dist/esm/router.d.ts +72 -0
  181. package/dist/esm/router.js +22 -0
  182. package/dist/esm/router.js.map +1 -0
  183. package/dist/esm/routerContext.d.ts +8 -0
  184. package/dist/esm/routerContext.js +16 -0
  185. package/dist/esm/routerContext.js.map +1 -0
  186. package/dist/esm/scroll-restoration.d.ts +1 -0
  187. package/dist/esm/scroll-restoration.js +24 -0
  188. package/dist/esm/scroll-restoration.js.map +1 -0
  189. package/dist/esm/serializer.d.ts +6 -0
  190. package/dist/esm/structuralSharing.d.ts +8 -0
  191. package/dist/esm/typePrimitives.d.ts +16 -0
  192. package/dist/esm/useBlocker.d.ts +66 -0
  193. package/dist/esm/useBlocker.js +148 -0
  194. package/dist/esm/useBlocker.js.map +1 -0
  195. package/dist/esm/useCanGoBack.d.ts +1 -0
  196. package/dist/esm/useCanGoBack.js +8 -0
  197. package/dist/esm/useCanGoBack.js.map +1 -0
  198. package/dist/esm/useLoaderData.d.ts +8 -0
  199. package/dist/esm/useLoaderData.js +15 -0
  200. package/dist/esm/useLoaderData.js.map +1 -0
  201. package/dist/esm/useLoaderDeps.d.ts +8 -0
  202. package/dist/esm/useLoaderDeps.js +14 -0
  203. package/dist/esm/useLoaderDeps.js.map +1 -0
  204. package/dist/esm/useLocation.d.ts +7 -0
  205. package/dist/esm/useLocation.js +10 -0
  206. package/dist/esm/useLocation.js.map +1 -0
  207. package/dist/esm/useMatch.d.ts +10 -0
  208. package/dist/esm/useMatch.js +30 -0
  209. package/dist/esm/useMatch.js.map +1 -0
  210. package/dist/esm/useNavigate.d.ts +5 -0
  211. package/dist/esm/useNavigate.js +38 -0
  212. package/dist/esm/useNavigate.js.map +1 -0
  213. package/dist/esm/useParams.d.ts +9 -0
  214. package/dist/esm/useParams.js +16 -0
  215. package/dist/esm/useParams.js.map +1 -0
  216. package/dist/esm/useRouteContext.d.ts +3 -0
  217. package/dist/esm/useRouteContext.js +11 -0
  218. package/dist/esm/useRouteContext.js.map +1 -0
  219. package/dist/esm/useRouter.d.ts +4 -0
  220. package/dist/esm/useRouter.js +15 -0
  221. package/dist/esm/useRouter.js.map +1 -0
  222. package/dist/esm/useRouterState.d.ts +8 -0
  223. package/dist/esm/useRouterState.js +29 -0
  224. package/dist/esm/useRouterState.js.map +1 -0
  225. package/dist/esm/useSearch.d.ts +9 -0
  226. package/dist/esm/useSearch.js +16 -0
  227. package/dist/esm/useSearch.js.map +1 -0
  228. package/dist/esm/utils.d.ts +49 -0
  229. package/dist/esm/utils.js +55 -0
  230. package/dist/esm/utils.js.map +1 -0
  231. package/dist/llms/index.d.ts +3 -0
  232. package/dist/llms/index.js +35 -0
  233. package/dist/llms/rules/api.d.ts +2 -0
  234. package/dist/llms/rules/api.js +4241 -0
  235. package/dist/llms/rules/guide.d.ts +2 -0
  236. package/dist/llms/rules/guide.js +6227 -0
  237. package/dist/llms/rules/routing.d.ts +2 -0
  238. package/dist/llms/rules/routing.js +1946 -0
  239. package/dist/llms/rules/setup-and-architecture.d.ts +2 -0
  240. package/dist/llms/rules/setup-and-architecture.js +932 -0
  241. package/package.json +3 -3
  242. package/src/Asset.tsx +95 -16
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/react-router",
3
- "version": "1.121.20",
3
+ "version": "1.121.24",
4
4
  "description": "Modern and scalable routing for React applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -59,8 +59,8 @@
59
59
  "jsesc": "^3.1.0",
60
60
  "tiny-invariant": "^1.3.3",
61
61
  "tiny-warning": "^1.0.3",
62
- "@tanstack/router-core": "1.121.20",
63
- "@tanstack/history": "1.121.20"
62
+ "@tanstack/history": "1.121.21",
63
+ "@tanstack/router-core": "1.121.21"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@testing-library/jest-dom": "^6.6.3",
package/src/Asset.tsx CHANGED
@@ -1,6 +1,17 @@
1
+ import * as React from 'react'
1
2
  import type { RouterManagedTag } from '@tanstack/router-core'
2
3
 
3
- export function Asset({ tag, attrs, children }: RouterManagedTag): any {
4
+ interface ScriptAttrs {
5
+ [key: string]: string | boolean | undefined
6
+ src?: string
7
+ suppressHydrationWarning?: boolean
8
+ }
9
+
10
+ export function Asset({
11
+ tag,
12
+ attrs,
13
+ children,
14
+ }: RouterManagedTag): React.ReactElement | null {
4
15
  switch (tag) {
5
16
  case 'title':
6
17
  return (
@@ -16,25 +27,93 @@ export function Asset({ tag, attrs, children }: RouterManagedTag): any {
16
27
  return (
17
28
  <style
18
29
  {...attrs}
19
- dangerouslySetInnerHTML={{ __html: children as any }}
30
+ dangerouslySetInnerHTML={{ __html: children as string }}
20
31
  />
21
32
  )
22
33
  case 'script':
23
- if ((attrs as any) && (attrs as any).src) {
24
- return <script {...attrs} suppressHydrationWarning />
25
- }
26
- if (typeof children === 'string')
27
- return (
28
- <script
29
- {...attrs}
30
- dangerouslySetInnerHTML={{
31
- __html: children,
32
- }}
33
- suppressHydrationWarning
34
- />
35
- )
36
- return null
34
+ return <Script attrs={attrs}>{children}</Script>
37
35
  default:
38
36
  return null
39
37
  }
40
38
  }
39
+
40
+ function Script({
41
+ attrs,
42
+ children,
43
+ }: {
44
+ attrs?: ScriptAttrs
45
+ children?: string
46
+ }) {
47
+ React.useEffect(() => {
48
+ if (attrs?.src) {
49
+ const script = document.createElement('script')
50
+
51
+ for (const [key, value] of Object.entries(attrs)) {
52
+ if (
53
+ key !== 'suppressHydrationWarning' &&
54
+ value !== undefined &&
55
+ value !== false
56
+ ) {
57
+ script.setAttribute(
58
+ key,
59
+ typeof value === 'boolean' ? '' : String(value),
60
+ )
61
+ }
62
+ }
63
+
64
+ document.head.appendChild(script)
65
+
66
+ return () => {
67
+ if (script.parentNode) {
68
+ script.parentNode.removeChild(script)
69
+ }
70
+ }
71
+ }
72
+
73
+ if (typeof children === 'string') {
74
+ const script = document.createElement('script')
75
+ script.textContent = children
76
+
77
+ if (attrs) {
78
+ for (const [key, value] of Object.entries(attrs)) {
79
+ if (
80
+ key !== 'suppressHydrationWarning' &&
81
+ value !== undefined &&
82
+ value !== false
83
+ ) {
84
+ script.setAttribute(
85
+ key,
86
+ typeof value === 'boolean' ? '' : String(value),
87
+ )
88
+ }
89
+ }
90
+ }
91
+
92
+ document.head.appendChild(script)
93
+
94
+ return () => {
95
+ if (script.parentNode) {
96
+ script.parentNode.removeChild(script)
97
+ }
98
+ }
99
+ }
100
+
101
+ return undefined
102
+ }, [attrs, children])
103
+
104
+ if (attrs?.src && typeof attrs.src === 'string') {
105
+ return <script {...attrs} suppressHydrationWarning />
106
+ }
107
+
108
+ if (typeof children === 'string') {
109
+ return (
110
+ <script
111
+ {...attrs}
112
+ dangerouslySetInnerHTML={{ __html: children }}
113
+ suppressHydrationWarning
114
+ />
115
+ )
116
+ }
117
+
118
+ return null
119
+ }