@tanstack/solid-router 1.20.3-alpha.1

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 (385) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -0
  3. package/dist/cjs/Asset.cjs +49 -0
  4. package/dist/cjs/Asset.cjs.map +1 -0
  5. package/dist/cjs/Asset.d.cts +2 -0
  6. package/dist/cjs/CatchBoundary.cjs +92 -0
  7. package/dist/cjs/CatchBoundary.cjs.map +1 -0
  8. package/dist/cjs/CatchBoundary.d.cts +11 -0
  9. package/dist/cjs/ClientOnly.cjs +36 -0
  10. package/dist/cjs/ClientOnly.cjs.map +1 -0
  11. package/dist/cjs/ClientOnly.d.cts +49 -0
  12. package/dist/cjs/HeadContent.cjs +146 -0
  13. package/dist/cjs/HeadContent.cjs.map +1 -0
  14. package/dist/cjs/HeadContent.d.cts +8 -0
  15. package/dist/cjs/Match.cjs +339 -0
  16. package/dist/cjs/Match.cjs.map +1 -0
  17. package/dist/cjs/Match.d.cts +8 -0
  18. package/dist/cjs/Matches.cjs +151 -0
  19. package/dist/cjs/Matches.cjs.map +1 -0
  20. package/dist/cjs/Matches.d.cts +24 -0
  21. package/dist/cjs/RouterProvider.cjs +45 -0
  22. package/dist/cjs/RouterProvider.cjs.map +1 -0
  23. package/dist/cjs/RouterProvider.d.cts +10 -0
  24. package/dist/cjs/SafeFragment.cjs +8 -0
  25. package/dist/cjs/SafeFragment.cjs.map +1 -0
  26. package/dist/cjs/SafeFragment.d.cts +1 -0
  27. package/dist/cjs/ScriptOnce.cjs +23 -0
  28. package/dist/cjs/ScriptOnce.cjs.map +1 -0
  29. package/dist/cjs/ScriptOnce.d.cts +5 -0
  30. package/dist/cjs/Scripts.cjs +48 -0
  31. package/dist/cjs/Scripts.cjs.map +1 -0
  32. package/dist/cjs/Scripts.d.cts +1 -0
  33. package/dist/cjs/ScrollRestoration.cjs +37 -0
  34. package/dist/cjs/ScrollRestoration.cjs.map +1 -0
  35. package/dist/cjs/ScrollRestoration.d.cts +14 -0
  36. package/dist/cjs/Transitioner.cjs +124 -0
  37. package/dist/cjs/Transitioner.cjs.map +1 -0
  38. package/dist/cjs/Transitioner.d.cts +1 -0
  39. package/dist/cjs/awaited.cjs +49 -0
  40. package/dist/cjs/awaited.cjs.map +1 -0
  41. package/dist/cjs/awaited.d.cts +11 -0
  42. package/dist/cjs/fileRoute.cjs +103 -0
  43. package/dist/cjs/fileRoute.cjs.map +1 -0
  44. package/dist/cjs/fileRoute.d.cts +54 -0
  45. package/dist/cjs/history.d.cts +8 -0
  46. package/dist/cjs/index.cjs +289 -0
  47. package/dist/cjs/index.cjs.map +1 -0
  48. package/dist/cjs/index.d.cts +52 -0
  49. package/dist/cjs/lazyRouteComponent.cjs +73 -0
  50. package/dist/cjs/lazyRouteComponent.cjs.map +1 -0
  51. package/dist/cjs/lazyRouteComponent.d.cts +2 -0
  52. package/dist/cjs/link.cjs +278 -0
  53. package/dist/cjs/link.cjs.map +1 -0
  54. package/dist/cjs/link.d.cts +44 -0
  55. package/dist/cjs/matchContext.cjs +25 -0
  56. package/dist/cjs/matchContext.cjs.map +1 -0
  57. package/dist/cjs/matchContext.d.cts +3 -0
  58. package/dist/cjs/not-found.cjs +42 -0
  59. package/dist/cjs/not-found.cjs.map +1 -0
  60. package/dist/cjs/not-found.d.cts +8 -0
  61. package/dist/cjs/renderRouteNotFound.cjs +23 -0
  62. package/dist/cjs/renderRouteNotFound.cjs.map +1 -0
  63. package/dist/cjs/renderRouteNotFound.d.cts +2 -0
  64. package/dist/cjs/route.cjs +236 -0
  65. package/dist/cjs/route.cjs.map +1 -0
  66. package/dist/cjs/route.d.cts +95 -0
  67. package/dist/cjs/router.cjs +22 -0
  68. package/dist/cjs/router.cjs.map +1 -0
  69. package/dist/cjs/router.d.cts +69 -0
  70. package/dist/cjs/routerContext.cjs +33 -0
  71. package/dist/cjs/routerContext.cjs.map +1 -0
  72. package/dist/cjs/routerContext.d.cts +8 -0
  73. package/dist/cjs/scroll-restoration.cjs +23 -0
  74. package/dist/cjs/scroll-restoration.cjs.map +1 -0
  75. package/dist/cjs/scroll-restoration.d.cts +1 -0
  76. package/dist/cjs/typePrimitives.d.cts +10 -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 +67 -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 +14 -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 +17 -0
  87. package/dist/cjs/useLoaderDeps.cjs.map +1 -0
  88. package/dist/cjs/useLoaderDeps.d.cts +7 -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 +39 -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 +46 -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 +15 -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 +4 -0
  104. package/dist/cjs/useRouter.cjs +29 -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 +16 -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 +15 -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 +58 -0
  114. package/dist/cjs/utils.cjs.map +1 -0
  115. package/dist/cjs/utils.d.cts +34 -0
  116. package/dist/esm/Asset.d.ts +2 -0
  117. package/dist/esm/Asset.js +49 -0
  118. package/dist/esm/Asset.js.map +1 -0
  119. package/dist/esm/CatchBoundary.d.ts +11 -0
  120. package/dist/esm/CatchBoundary.js +75 -0
  121. package/dist/esm/CatchBoundary.js.map +1 -0
  122. package/dist/esm/ClientOnly.d.ts +49 -0
  123. package/dist/esm/ClientOnly.js +19 -0
  124. package/dist/esm/ClientOnly.js.map +1 -0
  125. package/dist/esm/HeadContent.d.ts +8 -0
  126. package/dist/esm/HeadContent.js +129 -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 +322 -0
  130. package/dist/esm/Match.js.map +1 -0
  131. package/dist/esm/Matches.d.ts +24 -0
  132. package/dist/esm/Matches.js +134 -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 +45 -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 +23 -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 +48 -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 +37 -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 +107 -0
  151. package/dist/esm/Transitioner.js.map +1 -0
  152. package/dist/esm/awaited.d.ts +11 -0
  153. package/dist/esm/awaited.js +32 -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 +103 -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 +52 -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 +73 -0
  164. package/dist/esm/lazyRouteComponent.js.map +1 -0
  165. package/dist/esm/link.d.ts +44 -0
  166. package/dist/esm/link.js +261 -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 +8 -0
  170. package/dist/esm/matchContext.js.map +1 -0
  171. package/dist/esm/not-found.d.ts +8 -0
  172. package/dist/esm/not-found.js +42 -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 +23 -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 +236 -0
  179. package/dist/esm/route.js.map +1 -0
  180. package/dist/esm/router.d.ts +69 -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 +23 -0
  188. package/dist/esm/scroll-restoration.js.map +1 -0
  189. package/dist/esm/typePrimitives.d.ts +10 -0
  190. package/dist/esm/useBlocker.d.ts +67 -0
  191. package/dist/esm/useBlocker.js +148 -0
  192. package/dist/esm/useBlocker.js.map +1 -0
  193. package/dist/esm/useCanGoBack.d.ts +1 -0
  194. package/dist/esm/useCanGoBack.js +8 -0
  195. package/dist/esm/useCanGoBack.js.map +1 -0
  196. package/dist/esm/useLoaderData.d.ts +8 -0
  197. package/dist/esm/useLoaderData.js +14 -0
  198. package/dist/esm/useLoaderData.js.map +1 -0
  199. package/dist/esm/useLoaderDeps.d.ts +7 -0
  200. package/dist/esm/useLoaderDeps.js +17 -0
  201. package/dist/esm/useLoaderDeps.js.map +1 -0
  202. package/dist/esm/useLocation.d.ts +7 -0
  203. package/dist/esm/useLocation.js +10 -0
  204. package/dist/esm/useLocation.js.map +1 -0
  205. package/dist/esm/useMatch.d.ts +10 -0
  206. package/dist/esm/useMatch.js +22 -0
  207. package/dist/esm/useMatch.js.map +1 -0
  208. package/dist/esm/useNavigate.d.ts +5 -0
  209. package/dist/esm/useNavigate.js +29 -0
  210. package/dist/esm/useNavigate.js.map +1 -0
  211. package/dist/esm/useParams.d.ts +9 -0
  212. package/dist/esm/useParams.js +15 -0
  213. package/dist/esm/useParams.js.map +1 -0
  214. package/dist/esm/useRouteContext.d.ts +4 -0
  215. package/dist/esm/useRouteContext.js +11 -0
  216. package/dist/esm/useRouteContext.js.map +1 -0
  217. package/dist/esm/useRouter.d.ts +4 -0
  218. package/dist/esm/useRouter.js +12 -0
  219. package/dist/esm/useRouter.js.map +1 -0
  220. package/dist/esm/useRouterState.d.ts +8 -0
  221. package/dist/esm/useRouterState.js +16 -0
  222. package/dist/esm/useRouterState.js.map +1 -0
  223. package/dist/esm/useSearch.d.ts +9 -0
  224. package/dist/esm/useSearch.js +15 -0
  225. package/dist/esm/useSearch.js.map +1 -0
  226. package/dist/esm/utils.d.ts +34 -0
  227. package/dist/esm/utils.js +41 -0
  228. package/dist/esm/utils.js.map +1 -0
  229. package/dist/source/Asset.d.ts +2 -0
  230. package/dist/source/Asset.jsx +23 -0
  231. package/dist/source/Asset.jsx.map +1 -0
  232. package/dist/source/CatchBoundary.d.ts +11 -0
  233. package/dist/source/CatchBoundary.jsx +43 -0
  234. package/dist/source/CatchBoundary.jsx.map +1 -0
  235. package/dist/source/ClientOnly.d.ts +49 -0
  236. package/dist/source/ClientOnly.jsx +51 -0
  237. package/dist/source/ClientOnly.jsx.map +1 -0
  238. package/dist/source/HeadContent.d.ts +8 -0
  239. package/dist/source/HeadContent.jsx +143 -0
  240. package/dist/source/HeadContent.jsx.map +1 -0
  241. package/dist/source/Match.d.ts +8 -0
  242. package/dist/source/Match.jsx +255 -0
  243. package/dist/source/Match.jsx.map +1 -0
  244. package/dist/source/Matches.d.ts +24 -0
  245. package/dist/source/Matches.jsx +103 -0
  246. package/dist/source/Matches.jsx.map +1 -0
  247. package/dist/source/RouterProvider.d.ts +10 -0
  248. package/dist/source/RouterProvider.jsx +27 -0
  249. package/dist/source/RouterProvider.jsx.map +1 -0
  250. package/dist/source/SafeFragment.d.ts +1 -0
  251. package/dist/source/SafeFragment.jsx +4 -0
  252. package/dist/source/SafeFragment.jsx.map +1 -0
  253. package/dist/source/ScriptOnce.d.ts +5 -0
  254. package/dist/source/ScriptOnce.jsx +17 -0
  255. package/dist/source/ScriptOnce.jsx.map +1 -0
  256. package/dist/source/Scripts.d.ts +1 -0
  257. package/dist/source/Scripts.jsx +49 -0
  258. package/dist/source/Scripts.jsx.map +1 -0
  259. package/dist/source/ScrollRestoration.d.ts +14 -0
  260. package/dist/source/ScrollRestoration.jsx +37 -0
  261. package/dist/source/ScrollRestoration.jsx.map +1 -0
  262. package/dist/source/Transitioner.d.ts +1 -0
  263. package/dist/source/Transitioner.jsx +102 -0
  264. package/dist/source/Transitioner.jsx.map +1 -0
  265. package/dist/source/awaited.d.ts +11 -0
  266. package/dist/source/awaited.jsx +19 -0
  267. package/dist/source/awaited.jsx.map +1 -0
  268. package/dist/source/fileRoute.d.ts +54 -0
  269. package/dist/source/fileRoute.js +98 -0
  270. package/dist/source/fileRoute.js.map +1 -0
  271. package/dist/source/history.d.ts +8 -0
  272. package/dist/source/history.js +2 -0
  273. package/dist/source/history.js.map +1 -0
  274. package/dist/source/index.d.ts +52 -0
  275. package/dist/source/index.jsx +43 -0
  276. package/dist/source/index.jsx.map +1 -0
  277. package/dist/source/lazyRouteComponent.d.ts +2 -0
  278. package/dist/source/lazyRouteComponent.jsx +83 -0
  279. package/dist/source/lazyRouteComponent.jsx.map +1 -0
  280. package/dist/source/link.d.ts +44 -0
  281. package/dist/source/link.jsx +335 -0
  282. package/dist/source/link.jsx.map +1 -0
  283. package/dist/source/matchContext.d.ts +3 -0
  284. package/dist/source/matchContext.jsx +5 -0
  285. package/dist/source/matchContext.jsx.map +1 -0
  286. package/dist/source/not-found.d.ts +8 -0
  287. package/dist/source/not-found.jsx +30 -0
  288. package/dist/source/not-found.jsx.map +1 -0
  289. package/dist/source/renderRouteNotFound.d.ts +2 -0
  290. package/dist/source/renderRouteNotFound.jsx +15 -0
  291. package/dist/source/renderRouteNotFound.jsx.map +1 -0
  292. package/dist/source/route.d.ts +96 -0
  293. package/dist/source/route.jsx +179 -0
  294. package/dist/source/route.jsx.map +1 -0
  295. package/dist/source/router.d.ts +70 -0
  296. package/dist/source/router.js +21 -0
  297. package/dist/source/router.js.map +1 -0
  298. package/dist/source/routerContext.d.ts +8 -0
  299. package/dist/source/routerContext.jsx +13 -0
  300. package/dist/source/routerContext.jsx.map +1 -0
  301. package/dist/source/scroll-restoration.d.ts +1 -0
  302. package/dist/source/scroll-restoration.jsx +16 -0
  303. package/dist/source/scroll-restoration.jsx.map +1 -0
  304. package/dist/source/typePrimitives.d.ts +10 -0
  305. package/dist/source/typePrimitives.js +2 -0
  306. package/dist/source/typePrimitives.js.map +1 -0
  307. package/dist/source/useBlocker.d.ts +67 -0
  308. package/dist/source/useBlocker.jsx +136 -0
  309. package/dist/source/useBlocker.jsx.map +1 -0
  310. package/dist/source/useCanGoBack.d.ts +1 -0
  311. package/dist/source/useCanGoBack.js +5 -0
  312. package/dist/source/useCanGoBack.js.map +1 -0
  313. package/dist/source/useLoaderData.d.ts +8 -0
  314. package/dist/source/useLoaderData.jsx +11 -0
  315. package/dist/source/useLoaderData.jsx.map +1 -0
  316. package/dist/source/useLoaderDeps.d.ts +7 -0
  317. package/dist/source/useLoaderDeps.jsx +11 -0
  318. package/dist/source/useLoaderDeps.jsx.map +1 -0
  319. package/dist/source/useLocation.d.ts +7 -0
  320. package/dist/source/useLocation.jsx +7 -0
  321. package/dist/source/useLocation.jsx.map +1 -0
  322. package/dist/source/useMatch.d.ts +10 -0
  323. package/dist/source/useMatch.jsx +19 -0
  324. package/dist/source/useMatch.jsx.map +1 -0
  325. package/dist/source/useNavigate.d.ts +5 -0
  326. package/dist/source/useNavigate.jsx +18 -0
  327. package/dist/source/useNavigate.jsx.map +1 -0
  328. package/dist/source/useParams.d.ts +9 -0
  329. package/dist/source/useParams.jsx +12 -0
  330. package/dist/source/useParams.jsx.map +1 -0
  331. package/dist/source/useRouteContext.d.ts +4 -0
  332. package/dist/source/useRouteContext.js +8 -0
  333. package/dist/source/useRouteContext.js.map +1 -0
  334. package/dist/source/useRouter.d.ts +4 -0
  335. package/dist/source/useRouter.jsx +9 -0
  336. package/dist/source/useRouter.jsx.map +1 -0
  337. package/dist/source/useRouterState.d.ts +8 -0
  338. package/dist/source/useRouterState.jsx +14 -0
  339. package/dist/source/useRouterState.jsx.map +1 -0
  340. package/dist/source/useSearch.d.ts +9 -0
  341. package/dist/source/useSearch.jsx +12 -0
  342. package/dist/source/useSearch.jsx.map +1 -0
  343. package/dist/source/utils.d.ts +34 -0
  344. package/dist/source/utils.js +59 -0
  345. package/dist/source/utils.js.map +1 -0
  346. package/package.json +80 -0
  347. package/src/Asset.tsx +24 -0
  348. package/src/CatchBoundary.tsx +78 -0
  349. package/src/ClientOnly.tsx +65 -0
  350. package/src/HeadContent.tsx +174 -0
  351. package/src/Match.tsx +357 -0
  352. package/src/Matches.tsx +243 -0
  353. package/src/RouterProvider.tsx +79 -0
  354. package/src/SafeFragment.tsx +3 -0
  355. package/src/ScriptOnce.tsx +30 -0
  356. package/src/Scripts.tsx +65 -0
  357. package/src/ScrollRestoration.tsx +69 -0
  358. package/src/Transitioner.tsx +140 -0
  359. package/src/awaited.tsx +40 -0
  360. package/src/fileRoute.ts +256 -0
  361. package/src/history.ts +9 -0
  362. package/src/index.tsx +374 -0
  363. package/src/lazyRouteComponent.tsx +110 -0
  364. package/src/link.tsx +597 -0
  365. package/src/matchContext.tsx +10 -0
  366. package/src/not-found.tsx +42 -0
  367. package/src/renderRouteNotFound.tsx +26 -0
  368. package/src/route.tsx +550 -0
  369. package/src/router.ts +112 -0
  370. package/src/routerContext.tsx +26 -0
  371. package/src/scroll-restoration.tsx +29 -0
  372. package/src/typePrimitives.ts +74 -0
  373. package/src/useBlocker.tsx +305 -0
  374. package/src/useCanGoBack.ts +5 -0
  375. package/src/useLoaderData.tsx +50 -0
  376. package/src/useLoaderDeps.tsx +46 -0
  377. package/src/useLocation.tsx +30 -0
  378. package/src/useMatch.tsx +96 -0
  379. package/src/useNavigate.tsx +40 -0
  380. package/src/useParams.tsx +71 -0
  381. package/src/useRouteContext.ts +31 -0
  382. package/src/useRouter.tsx +15 -0
  383. package/src/useRouterState.tsx +36 -0
  384. package/src/useSearch.tsx +71 -0
  385. package/src/utils.ts +79 -0
@@ -0,0 +1,256 @@
1
+ import warning from 'tiny-warning'
2
+ import { createRoute } from './route'
3
+
4
+ import { useMatch } from './useMatch'
5
+ import { useLoaderDeps } from './useLoaderDeps'
6
+ import { useLoaderData } from './useLoaderData'
7
+ import { useSearch } from './useSearch'
8
+ import { useParams } from './useParams'
9
+ import { useNavigate } from './useNavigate'
10
+ import { useRouter } from './useRouter'
11
+ import type { UseParamsRoute } from './useParams'
12
+ import type { UseMatchRoute } from './useMatch'
13
+ import type { UseSearchRoute } from './useSearch'
14
+ import type {
15
+ AnyContext,
16
+ AnyRoute,
17
+ AnyRouter,
18
+ Constrain,
19
+ ConstrainLiteral,
20
+ FileBaseRouteOptions,
21
+ FileRoutesByPath,
22
+ LazyRouteOptions,
23
+ RegisteredRouter,
24
+ ResolveParams,
25
+ Route,
26
+ RouteById,
27
+ RouteConstraints,
28
+ RouteIds,
29
+ RouteLoaderFn,
30
+ UpdatableRouteOptions,
31
+ UseNavigateResult,
32
+ } from '@tanstack/router-core'
33
+ import type { UseLoaderDepsRoute } from './useLoaderDeps'
34
+ import type { UseLoaderDataRoute } from './useLoaderData'
35
+ import type { UseRouteContextRoute } from './useRouteContext'
36
+
37
+ export function createFileRoute<
38
+ TFilePath extends keyof FileRoutesByPath,
39
+ TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],
40
+ TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],
41
+ TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],
42
+ TFullPath extends
43
+ RouteConstraints['TFullPath'] = FileRoutesByPath[TFilePath]['fullPath'],
44
+ >(
45
+ path?: TFilePath,
46
+ ): FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>['createRoute'] {
47
+ if (typeof path === 'object') {
48
+ return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {
49
+ silent: true,
50
+ }).createRoute(path) as any
51
+ }
52
+ return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {
53
+ silent: true,
54
+ }).createRoute
55
+ }
56
+
57
+ /**
58
+ @deprecated It's no longer recommended to use the `FileRoute` class directly.
59
+ Instead, use `createFileRoute('/path/to/file')(options)` to create a file route.
60
+ */
61
+ export class FileRoute<
62
+ TFilePath extends keyof FileRoutesByPath,
63
+ TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],
64
+ TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],
65
+ TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],
66
+ TFullPath extends
67
+ RouteConstraints['TFullPath'] = FileRoutesByPath[TFilePath]['fullPath'],
68
+ > {
69
+ silent?: boolean
70
+
71
+ constructor(
72
+ public path?: TFilePath,
73
+ _opts?: { silent: boolean },
74
+ ) {
75
+ this.silent = _opts?.silent
76
+ }
77
+
78
+ createRoute = <
79
+ TSearchValidator = undefined,
80
+ TParams = ResolveParams<TPath>,
81
+ TRouteContextFn = AnyContext,
82
+ TBeforeLoadFn = AnyContext,
83
+ TLoaderDeps extends Record<string, any> = {},
84
+ TLoaderFn = undefined,
85
+ TChildren = unknown,
86
+ >(
87
+ options?: FileBaseRouteOptions<
88
+ TParentRoute,
89
+ TId,
90
+ TPath,
91
+ TSearchValidator,
92
+ TParams,
93
+ TLoaderDeps,
94
+ TLoaderFn,
95
+ AnyContext,
96
+ TRouteContextFn,
97
+ TBeforeLoadFn
98
+ > &
99
+ UpdatableRouteOptions<
100
+ TParentRoute,
101
+ TId,
102
+ TFullPath,
103
+ TParams,
104
+ TSearchValidator,
105
+ TLoaderFn,
106
+ TLoaderDeps,
107
+ AnyContext,
108
+ TRouteContextFn,
109
+ TBeforeLoadFn
110
+ >,
111
+ ): Route<
112
+ TParentRoute,
113
+ TPath,
114
+ TFullPath,
115
+ TFilePath,
116
+ TId,
117
+ TSearchValidator,
118
+ TParams,
119
+ AnyContext,
120
+ TRouteContextFn,
121
+ TBeforeLoadFn,
122
+ TLoaderDeps,
123
+ TLoaderFn,
124
+ TChildren,
125
+ unknown
126
+ > => {
127
+ warning(
128
+ this.silent,
129
+ 'FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.',
130
+ )
131
+ const route = createRoute(options as any)
132
+ ;(route as any).isRoot = false
133
+ return route as any
134
+ }
135
+ }
136
+
137
+ /**
138
+ @deprecated It's recommended not to split loaders into separate files.
139
+ Instead, place the loader function in the the main route file, inside the
140
+ `createFileRoute('/path/to/file)(options)` options.
141
+ */
142
+ export function FileRouteLoader<
143
+ TFilePath extends keyof FileRoutesByPath,
144
+ TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],
145
+ >(
146
+ _path: TFilePath,
147
+ ): <TLoaderFn>(
148
+ loaderFn: Constrain<
149
+ TLoaderFn,
150
+ RouteLoaderFn<
151
+ TRoute['parentRoute'],
152
+ TRoute['types']['id'],
153
+ TRoute['types']['params'],
154
+ TRoute['types']['loaderDeps'],
155
+ TRoute['types']['routerContext'],
156
+ TRoute['types']['routeContextFn'],
157
+ TRoute['types']['beforeLoadFn']
158
+ >
159
+ >,
160
+ ) => TLoaderFn {
161
+ warning(
162
+ false,
163
+ `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \`createFileRoute('/path/to/file')(options)\` options`,
164
+ )
165
+ return (loaderFn) => loaderFn as any
166
+ }
167
+
168
+ declare module '@tanstack/router-core' {
169
+ export interface LazyRoute<in out TRoute extends AnyRoute> {
170
+ useMatch: UseMatchRoute<TRoute['id']>
171
+ useRouteContext: UseRouteContextRoute<TRoute['id']>
172
+ useSearch: UseSearchRoute<TRoute['id']>
173
+ useParams: UseParamsRoute<TRoute['id']>
174
+ useLoaderDeps: UseLoaderDepsRoute<TRoute['id']>
175
+ useLoaderData: UseLoaderDataRoute<TRoute['id']>
176
+ useNavigate: () => UseNavigateResult<TRoute['fullPath']>
177
+ }
178
+ }
179
+
180
+ export class LazyRoute<TRoute extends AnyRoute> {
181
+ options: {
182
+ id: string
183
+ } & LazyRouteOptions
184
+
185
+ constructor(
186
+ opts: {
187
+ id: string
188
+ } & LazyRouteOptions,
189
+ ) {
190
+ this.options = opts
191
+ }
192
+
193
+ useMatch: UseMatchRoute<TRoute['id']> = (opts) => {
194
+ return useMatch({
195
+ select: opts?.select,
196
+ from: this.options.id,
197
+ } as any) as any
198
+ }
199
+
200
+ useRouteContext: UseRouteContextRoute<TRoute['id']> = (opts) => {
201
+ return useMatch({
202
+ from: this.options.id,
203
+ select: (d: any) => (opts?.select ? opts.select(d.context) : d.context),
204
+ }) as any
205
+ }
206
+
207
+ useSearch: UseSearchRoute<TRoute['id']> = (opts) => {
208
+ return useSearch({
209
+ select: opts?.select,
210
+ from: this.options.id,
211
+ } as any) as any
212
+ }
213
+
214
+ useParams: UseParamsRoute<TRoute['id']> = (opts) => {
215
+ return useParams({
216
+ select: opts?.select,
217
+ from: this.options.id,
218
+ } as any) as any
219
+ }
220
+
221
+ useLoaderDeps: UseLoaderDepsRoute<TRoute['id']> = (opts) => {
222
+ return useLoaderDeps({ ...opts, from: this.options.id } as any)
223
+ }
224
+
225
+ useLoaderData: UseLoaderDataRoute<TRoute['id']> = (opts) => {
226
+ return useLoaderData({ ...opts, from: this.options.id } as any)
227
+ }
228
+
229
+ useNavigate = (): UseNavigateResult<TRoute['fullPath']> => {
230
+ const router = useRouter()
231
+ return useNavigate({ from: router.routesById[this.options.id].fullPath })
232
+ }
233
+ }
234
+
235
+ export function createLazyRoute<
236
+ TRouter extends AnyRouter = RegisteredRouter,
237
+ TId extends string = string,
238
+ TRoute extends AnyRoute = RouteById<TRouter['routeTree'], TId>,
239
+ >(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {
240
+ return (opts: LazyRouteOptions) => {
241
+ return new LazyRoute<TRoute>({
242
+ id: id,
243
+ ...opts,
244
+ })
245
+ }
246
+ }
247
+ export function createLazyFileRoute<
248
+ TFilePath extends keyof FileRoutesByPath,
249
+ TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],
250
+ >(id: TFilePath): (opts: LazyRouteOptions) => LazyRoute<TRoute> {
251
+ if (typeof id === 'object') {
252
+ return new LazyRoute<TRoute>(id) as any
253
+ }
254
+
255
+ return (opts: LazyRouteOptions) => new LazyRoute<TRoute>({ id, ...opts })
256
+ }
package/src/history.ts ADDED
@@ -0,0 +1,9 @@
1
+ import type { HistoryLocation } from '@tanstack/history'
2
+
3
+ declare module '@tanstack/history' {
4
+ interface HistoryState {
5
+ __tempLocation?: HistoryLocation
6
+ __tempKey?: string
7
+ __hashScrollIntoViewOptions?: boolean | ScrollIntoViewOptions
8
+ }
9
+ }
package/src/index.tsx ADDED
@@ -0,0 +1,374 @@
1
+ export { default as invariant } from 'tiny-invariant'
2
+ export { default as warning } from 'tiny-warning'
3
+
4
+ export {
5
+ defer,
6
+ TSR_DEFERRED_PROMISE,
7
+ isMatch,
8
+ joinPaths,
9
+ cleanPath,
10
+ trimPathLeft,
11
+ trimPathRight,
12
+ trimPath,
13
+ resolvePath,
14
+ parsePathname,
15
+ interpolatePath,
16
+ matchPathname,
17
+ removeBasepath,
18
+ matchByPath,
19
+ encode,
20
+ decode,
21
+ rootRouteId,
22
+ defaultSerializeError,
23
+ defaultParseSearch,
24
+ defaultStringifySearch,
25
+ parseSearchWith,
26
+ stringifySearchWith,
27
+ escapeJSON, // SSR
28
+ pick,
29
+ functionalUpdate,
30
+ replaceEqualDeep,
31
+ isPlainObject,
32
+ isPlainArray,
33
+ deepEqual,
34
+ shallow,
35
+ createControlledPromise,
36
+ retainSearchParams,
37
+ stripSearchParams,
38
+ } from '@tanstack/router-core'
39
+
40
+ export type {
41
+ StartSerializer,
42
+ Serializable,
43
+ SerializerParse,
44
+ SerializerParseBy,
45
+ SerializerStringify,
46
+ SerializerStringifyBy,
47
+ DeferredPromiseState,
48
+ DeferredPromise,
49
+ ParsedLocation,
50
+ ParsePathParams,
51
+ RemoveTrailingSlashes,
52
+ RemoveLeadingSlashes,
53
+ ActiveOptions,
54
+ Segment,
55
+ ResolveRelativePath,
56
+ RootRouteId,
57
+ AnyPathParams,
58
+ ResolveParams,
59
+ SearchSchemaInput,
60
+ AnyContext,
61
+ RouteContext,
62
+ PreloadableObj,
63
+ RoutePathOptions,
64
+ StaticDataRouteOption,
65
+ RoutePathOptionsIntersection,
66
+ UpdatableStaticRouteOption,
67
+ MetaDescriptor,
68
+ RouteLinkEntry,
69
+ ParseParamsFn,
70
+ SearchFilter,
71
+ ResolveId,
72
+ InferFullSearchSchema,
73
+ InferFullSearchSchemaInput,
74
+ ErrorRouteProps,
75
+ ErrorComponentProps,
76
+ NotFoundRouteProps,
77
+ TrimPath,
78
+ TrimPathLeft,
79
+ TrimPathRight,
80
+ ParseSplatParams,
81
+ SplatParams,
82
+ StringifyParamsFn,
83
+ ParamsOptions,
84
+ InferAllParams,
85
+ InferAllContext,
86
+ LooseReturnType,
87
+ LooseAsyncReturnType,
88
+ ContextReturnType,
89
+ ContextAsyncReturnType,
90
+ ResolveLoaderData,
91
+ ResolveRouteContext,
92
+ SearchSerializer,
93
+ SearchParser,
94
+ TrailingSlashOption,
95
+ ExtractedEntry,
96
+ ExtractedStream,
97
+ ExtractedPromise,
98
+ StreamState,
99
+ Manifest,
100
+ RouterManagedTag,
101
+ ControlledPromise,
102
+ Constrain,
103
+ Expand,
104
+ MergeAll,
105
+ Assign,
106
+ IntersectAssign,
107
+ ResolveValidatorInput,
108
+ ResolveValidatorOutput,
109
+ AnyValidator,
110
+ DefaultValidator,
111
+ ValidatorFn,
112
+ AnySchema,
113
+ AnyValidatorAdapter,
114
+ AnyValidatorFn,
115
+ AnyValidatorObj,
116
+ ResolveValidatorInputFn,
117
+ ResolveValidatorOutputFn,
118
+ ResolveSearchValidatorInput,
119
+ ResolveSearchValidatorInputFn,
120
+ Validator,
121
+ ValidatorAdapter,
122
+ ValidatorObj,
123
+ NavigateFn,
124
+ BuildLocationFn,
125
+ InferDescendantToPaths,
126
+ RelativeToPath,
127
+ RelativeToParentPath,
128
+ RelativeToCurrentPath,
129
+ Register,
130
+ AbsoluteToPath,
131
+ RelativeToPathAutoComplete,
132
+ NavigateOptions,
133
+ ToOptions,
134
+ ToMaskOptions,
135
+ ToSubOptions,
136
+ ResolveRoute,
137
+ SearchParamOptions,
138
+ PathParamOptions,
139
+ ToPathOption,
140
+ LinkOptions,
141
+ MakeOptionalPathParams,
142
+ AnyRouterWithContext,
143
+ ParseRoute,
144
+ RoutesById,
145
+ RouteById,
146
+ RouteIds,
147
+ RoutesByPath,
148
+ RouteByPath,
149
+ RoutePaths,
150
+ FullSearchSchema,
151
+ AllParams,
152
+ AllLoaderData,
153
+ FullSearchSchemaInput,
154
+ AllContext,
155
+ CommitLocationOptions,
156
+ MatchLocation,
157
+ ResolveFullSearchSchema,
158
+ ResolveFullSearchSchemaInput,
159
+ ResolveAllParamsFromParent,
160
+ RouteContextParameter,
161
+ BeforeLoadContextParameter,
162
+ ResolveAllContext,
163
+ FullSearchSchemaOption,
164
+ MakeRemountDepsOptionsUnion,
165
+ RemountDepsOptions,
166
+ FileRouteTypes,
167
+ FileRoutesByPath,
168
+ UseNavigateResult,
169
+ AnyRedirect,
170
+ Redirect,
171
+ ResolvedRedirect,
172
+ RouteOptions,
173
+ FileBaseRouteOptions,
174
+ BaseRouteOptions,
175
+ UpdatableRouteOptions,
176
+ RouteLoaderFn,
177
+ LoaderFnContext,
178
+ MakeRouteMatch,
179
+ MakeRouteMatchUnion,
180
+ RouteMatch,
181
+ AnyRouteMatch,
182
+ RouteContextFn,
183
+ RouteContextOptions,
184
+ BeforeLoadFn,
185
+ BeforeLoadContextOptions,
186
+ ContextOptions,
187
+ RootRouteOptions,
188
+ AnyRouteWithContext,
189
+ LazyRouteOptions,
190
+ AnyRoute,
191
+ ResolveFullPath,
192
+ RouteConstraints,
193
+ RouterState,
194
+ ListenerFn,
195
+ BuildNextOptions,
196
+ AnyRouter,
197
+ RegisteredRouter,
198
+ RouterEvents,
199
+ RouterEvent,
200
+ RouterListener,
201
+ MatchRouteOptions,
202
+ RouteMask,
203
+ RouterContextOptions,
204
+ RouterOptions,
205
+ RouterConstructorOptions,
206
+ ControllablePromise,
207
+ InjectedHtmlEntry,
208
+ RouterErrorSerializer,
209
+ SerializerExtensions,
210
+ CreateFileRoute,
211
+ CreateLazyFileRoute,
212
+ } from '@tanstack/router-core'
213
+
214
+ export {
215
+ createHistory,
216
+ createBrowserHistory,
217
+ createHashHistory,
218
+ createMemoryHistory,
219
+ } from '@tanstack/history'
220
+
221
+ export type {
222
+ BlockerFn,
223
+ HistoryLocation,
224
+ RouterHistory,
225
+ ParsedPath,
226
+ HistoryState,
227
+ } from '@tanstack/history'
228
+
229
+ export { useAwaited, Await } from './awaited'
230
+ export type { AwaitOptions } from './awaited'
231
+
232
+ export { CatchBoundary, ErrorComponent } from './CatchBoundary'
233
+ export { ClientOnly } from './ClientOnly'
234
+
235
+ export {
236
+ FileRoute,
237
+ createFileRoute,
238
+ FileRouteLoader,
239
+ LazyRoute,
240
+ createLazyRoute,
241
+ createLazyFileRoute,
242
+ } from './fileRoute'
243
+
244
+ export * from './history'
245
+
246
+ export { lazyRouteComponent } from './lazyRouteComponent'
247
+
248
+ export { useLinkProps, createLink, Link, linkOptions } from './link'
249
+ export type {
250
+ UseLinkPropsOptions,
251
+ ActiveLinkOptions,
252
+ LinkProps,
253
+ LinkComponent,
254
+ LinkComponentProps,
255
+ CreateLinkProps,
256
+ } from './link'
257
+
258
+ export {
259
+ Matches,
260
+ useMatchRoute,
261
+ MatchRoute,
262
+ useMatches,
263
+ useParentMatches,
264
+ useChildMatches,
265
+ } from './Matches'
266
+
267
+ export type { UseMatchRouteOptions, MakeMatchRouteOptions } from './Matches'
268
+
269
+ export { matchContext } from './matchContext'
270
+ export { Match, Outlet } from './Match'
271
+
272
+ export { useMatch } from './useMatch'
273
+ export { useLoaderDeps } from './useLoaderDeps'
274
+ export { useLoaderData } from './useLoaderData'
275
+
276
+ export { redirect, isRedirect } from '@tanstack/router-core'
277
+
278
+ export {
279
+ RouteApi,
280
+ getRouteApi,
281
+ Route,
282
+ createRoute,
283
+ RootRoute,
284
+ rootRouteWithContext,
285
+ createRootRoute,
286
+ createRootRouteWithContext,
287
+ createRouteMask,
288
+ NotFoundRoute,
289
+ } from './route'
290
+ export type {
291
+ AnyRootRoute,
292
+ SolidNode,
293
+ SyncRouteComponent,
294
+ AsyncRouteComponent,
295
+ RouteComponent,
296
+ ErrorRouteComponent,
297
+ NotFoundRouteComponent,
298
+ } from './route'
299
+
300
+ export { createRouter, Router } from './router'
301
+
302
+ export {
303
+ componentTypes,
304
+ lazyFn,
305
+ SearchParamError,
306
+ PathParamError,
307
+ getInitialRouterState,
308
+ } from '@tanstack/router-core'
309
+
310
+ export { RouterProvider, RouterContextProvider } from './RouterProvider'
311
+ export type { RouterProps } from './RouterProvider'
312
+
313
+ export {
314
+ useElementScrollRestoration,
315
+ ScrollRestoration,
316
+ } from './ScrollRestoration'
317
+
318
+ export type { UseBlockerOpts, ShouldBlockFn } from './useBlocker'
319
+ export { useBlocker, Block } from './useBlocker'
320
+
321
+ export { useNavigate, Navigate } from './useNavigate'
322
+
323
+ export { useParams } from './useParams'
324
+ export { useSearch } from './useSearch'
325
+
326
+ export {
327
+ getRouterContext, // SSR
328
+ } from './routerContext'
329
+
330
+ export { useRouteContext } from './useRouteContext'
331
+ export { useRouter } from './useRouter'
332
+ export { useRouterState } from './useRouterState'
333
+ export { useLocation } from './useLocation'
334
+ export { useCanGoBack } from './useCanGoBack'
335
+
336
+ export { useLayoutEffect } from './utils'
337
+
338
+ export { CatchNotFound, DefaultGlobalNotFound } from './not-found'
339
+ export { notFound, isNotFound } from '@tanstack/router-core'
340
+ export type { NotFoundError } from '@tanstack/router-core'
341
+
342
+ export type {
343
+ ValidateLinkOptions,
344
+ ValidateUseSearchOptions,
345
+ ValidateUseParamsOptions,
346
+ ValidateLinkOptionsArray,
347
+ } from './typePrimitives'
348
+
349
+ export type {
350
+ ValidateFromPath,
351
+ ValidateToPath,
352
+ ValidateSearch,
353
+ ValidateParams,
354
+ InferFrom,
355
+ InferTo,
356
+ InferMaskTo,
357
+ InferMaskFrom,
358
+ ValidateNavigateOptions,
359
+ ValidateNavigateOptionsArray,
360
+ ValidateRedirectOptions,
361
+ ValidateRedirectOptionsArray,
362
+ ValidateId,
363
+ InferStrict,
364
+ InferShouldThrow,
365
+ InferSelected,
366
+ ValidateUseSearchResult,
367
+ ValidateUseParamsResult,
368
+ } from '@tanstack/router-core'
369
+
370
+ export { ScriptOnce } from './ScriptOnce'
371
+
372
+ export { Asset } from './Asset'
373
+ export { HeadContent, useTags } from './HeadContent'
374
+ export { Scripts } from './Scripts'