@tanstack/solid-router 1.121.15 → 1.121.17

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 (344) hide show
  1. package/package.json +2 -2
  2. package/dist/cjs/Asset.cjs +0 -49
  3. package/dist/cjs/Asset.cjs.map +0 -1
  4. package/dist/cjs/Asset.d.cts +0 -2
  5. package/dist/cjs/CatchBoundary.cjs +0 -92
  6. package/dist/cjs/CatchBoundary.cjs.map +0 -1
  7. package/dist/cjs/CatchBoundary.d.cts +0 -11
  8. package/dist/cjs/ClientOnly.cjs +0 -36
  9. package/dist/cjs/ClientOnly.cjs.map +0 -1
  10. package/dist/cjs/ClientOnly.d.cts +0 -49
  11. package/dist/cjs/HeadContent.cjs +0 -146
  12. package/dist/cjs/HeadContent.cjs.map +0 -1
  13. package/dist/cjs/HeadContent.d.cts +0 -8
  14. package/dist/cjs/Match.cjs +0 -359
  15. package/dist/cjs/Match.cjs.map +0 -1
  16. package/dist/cjs/Match.d.cts +0 -8
  17. package/dist/cjs/Matches.cjs +0 -152
  18. package/dist/cjs/Matches.cjs.map +0 -1
  19. package/dist/cjs/Matches.d.cts +0 -24
  20. package/dist/cjs/RouterProvider.cjs +0 -45
  21. package/dist/cjs/RouterProvider.cjs.map +0 -1
  22. package/dist/cjs/RouterProvider.d.cts +0 -10
  23. package/dist/cjs/SafeFragment.cjs +0 -8
  24. package/dist/cjs/SafeFragment.cjs.map +0 -1
  25. package/dist/cjs/SafeFragment.d.cts +0 -1
  26. package/dist/cjs/ScriptOnce.cjs +0 -23
  27. package/dist/cjs/ScriptOnce.cjs.map +0 -1
  28. package/dist/cjs/ScriptOnce.d.cts +0 -5
  29. package/dist/cjs/Scripts.cjs +0 -48
  30. package/dist/cjs/Scripts.cjs.map +0 -1
  31. package/dist/cjs/Scripts.d.cts +0 -1
  32. package/dist/cjs/ScrollRestoration.cjs +0 -37
  33. package/dist/cjs/ScrollRestoration.cjs.map +0 -1
  34. package/dist/cjs/ScrollRestoration.d.cts +0 -14
  35. package/dist/cjs/Transitioner.cjs +0 -124
  36. package/dist/cjs/Transitioner.cjs.map +0 -1
  37. package/dist/cjs/Transitioner.d.cts +0 -1
  38. package/dist/cjs/awaited.cjs +0 -49
  39. package/dist/cjs/awaited.cjs.map +0 -1
  40. package/dist/cjs/awaited.d.cts +0 -11
  41. package/dist/cjs/fileRoute.cjs +0 -103
  42. package/dist/cjs/fileRoute.cjs.map +0 -1
  43. package/dist/cjs/fileRoute.d.cts +0 -54
  44. package/dist/cjs/history.d.cts +0 -8
  45. package/dist/cjs/index.cjs +0 -289
  46. package/dist/cjs/index.cjs.map +0 -1
  47. package/dist/cjs/index.d.cts +0 -52
  48. package/dist/cjs/lazyRouteComponent.cjs +0 -73
  49. package/dist/cjs/lazyRouteComponent.cjs.map +0 -1
  50. package/dist/cjs/lazyRouteComponent.d.cts +0 -2
  51. package/dist/cjs/link.cjs +0 -287
  52. package/dist/cjs/link.cjs.map +0 -1
  53. package/dist/cjs/link.d.cts +0 -44
  54. package/dist/cjs/matchContext.cjs +0 -25
  55. package/dist/cjs/matchContext.cjs.map +0 -1
  56. package/dist/cjs/matchContext.d.cts +0 -3
  57. package/dist/cjs/not-found.cjs +0 -42
  58. package/dist/cjs/not-found.cjs.map +0 -1
  59. package/dist/cjs/not-found.d.cts +0 -8
  60. package/dist/cjs/renderRouteNotFound.cjs +0 -23
  61. package/dist/cjs/renderRouteNotFound.cjs.map +0 -1
  62. package/dist/cjs/renderRouteNotFound.d.cts +0 -2
  63. package/dist/cjs/route.cjs +0 -236
  64. package/dist/cjs/route.cjs.map +0 -1
  65. package/dist/cjs/route.d.cts +0 -95
  66. package/dist/cjs/router.cjs +0 -22
  67. package/dist/cjs/router.cjs.map +0 -1
  68. package/dist/cjs/router.d.cts +0 -69
  69. package/dist/cjs/routerContext.cjs +0 -33
  70. package/dist/cjs/routerContext.cjs.map +0 -1
  71. package/dist/cjs/routerContext.d.cts +0 -8
  72. package/dist/cjs/scroll-restoration.cjs +0 -23
  73. package/dist/cjs/scroll-restoration.cjs.map +0 -1
  74. package/dist/cjs/scroll-restoration.d.cts +0 -1
  75. package/dist/cjs/typePrimitives.d.cts +0 -10
  76. package/dist/cjs/useBlocker.cjs +0 -171
  77. package/dist/cjs/useBlocker.cjs.map +0 -1
  78. package/dist/cjs/useBlocker.d.cts +0 -67
  79. package/dist/cjs/useCanGoBack.cjs +0 -8
  80. package/dist/cjs/useCanGoBack.cjs.map +0 -1
  81. package/dist/cjs/useCanGoBack.d.cts +0 -1
  82. package/dist/cjs/useLoaderData.cjs +0 -14
  83. package/dist/cjs/useLoaderData.cjs.map +0 -1
  84. package/dist/cjs/useLoaderData.d.cts +0 -8
  85. package/dist/cjs/useLoaderDeps.cjs +0 -17
  86. package/dist/cjs/useLoaderDeps.cjs.map +0 -1
  87. package/dist/cjs/useLoaderDeps.d.cts +0 -7
  88. package/dist/cjs/useLocation.cjs +0 -10
  89. package/dist/cjs/useLocation.cjs.map +0 -1
  90. package/dist/cjs/useLocation.d.cts +0 -7
  91. package/dist/cjs/useMatch.cjs +0 -39
  92. package/dist/cjs/useMatch.cjs.map +0 -1
  93. package/dist/cjs/useMatch.d.cts +0 -10
  94. package/dist/cjs/useNavigate.cjs +0 -46
  95. package/dist/cjs/useNavigate.cjs.map +0 -1
  96. package/dist/cjs/useNavigate.d.cts +0 -5
  97. package/dist/cjs/useParams.cjs +0 -15
  98. package/dist/cjs/useParams.cjs.map +0 -1
  99. package/dist/cjs/useParams.d.cts +0 -9
  100. package/dist/cjs/useRouteContext.cjs +0 -11
  101. package/dist/cjs/useRouteContext.cjs.map +0 -1
  102. package/dist/cjs/useRouteContext.d.cts +0 -4
  103. package/dist/cjs/useRouter.cjs +0 -29
  104. package/dist/cjs/useRouter.cjs.map +0 -1
  105. package/dist/cjs/useRouter.d.cts +0 -4
  106. package/dist/cjs/useRouterState.cjs +0 -16
  107. package/dist/cjs/useRouterState.cjs.map +0 -1
  108. package/dist/cjs/useRouterState.d.cts +0 -8
  109. package/dist/cjs/useSearch.cjs +0 -15
  110. package/dist/cjs/useSearch.cjs.map +0 -1
  111. package/dist/cjs/useSearch.d.cts +0 -9
  112. package/dist/cjs/utils.cjs +0 -58
  113. package/dist/cjs/utils.cjs.map +0 -1
  114. package/dist/cjs/utils.d.cts +0 -34
  115. package/dist/esm/Asset.d.ts +0 -2
  116. package/dist/esm/Asset.js +0 -49
  117. package/dist/esm/Asset.js.map +0 -1
  118. package/dist/esm/CatchBoundary.d.ts +0 -11
  119. package/dist/esm/CatchBoundary.js +0 -75
  120. package/dist/esm/CatchBoundary.js.map +0 -1
  121. package/dist/esm/ClientOnly.d.ts +0 -49
  122. package/dist/esm/ClientOnly.js +0 -19
  123. package/dist/esm/ClientOnly.js.map +0 -1
  124. package/dist/esm/HeadContent.d.ts +0 -8
  125. package/dist/esm/HeadContent.js +0 -129
  126. package/dist/esm/HeadContent.js.map +0 -1
  127. package/dist/esm/Match.d.ts +0 -8
  128. package/dist/esm/Match.js +0 -342
  129. package/dist/esm/Match.js.map +0 -1
  130. package/dist/esm/Matches.d.ts +0 -24
  131. package/dist/esm/Matches.js +0 -135
  132. package/dist/esm/Matches.js.map +0 -1
  133. package/dist/esm/RouterProvider.d.ts +0 -10
  134. package/dist/esm/RouterProvider.js +0 -45
  135. package/dist/esm/RouterProvider.js.map +0 -1
  136. package/dist/esm/SafeFragment.d.ts +0 -1
  137. package/dist/esm/SafeFragment.js +0 -8
  138. package/dist/esm/SafeFragment.js.map +0 -1
  139. package/dist/esm/ScriptOnce.d.ts +0 -5
  140. package/dist/esm/ScriptOnce.js +0 -23
  141. package/dist/esm/ScriptOnce.js.map +0 -1
  142. package/dist/esm/Scripts.d.ts +0 -1
  143. package/dist/esm/Scripts.js +0 -48
  144. package/dist/esm/Scripts.js.map +0 -1
  145. package/dist/esm/ScrollRestoration.d.ts +0 -14
  146. package/dist/esm/ScrollRestoration.js +0 -37
  147. package/dist/esm/ScrollRestoration.js.map +0 -1
  148. package/dist/esm/Transitioner.d.ts +0 -1
  149. package/dist/esm/Transitioner.js +0 -107
  150. package/dist/esm/Transitioner.js.map +0 -1
  151. package/dist/esm/awaited.d.ts +0 -11
  152. package/dist/esm/awaited.js +0 -32
  153. package/dist/esm/awaited.js.map +0 -1
  154. package/dist/esm/fileRoute.d.ts +0 -54
  155. package/dist/esm/fileRoute.js +0 -103
  156. package/dist/esm/fileRoute.js.map +0 -1
  157. package/dist/esm/history.d.ts +0 -8
  158. package/dist/esm/index.d.ts +0 -52
  159. package/dist/esm/index.js +0 -151
  160. package/dist/esm/index.js.map +0 -1
  161. package/dist/esm/lazyRouteComponent.d.ts +0 -2
  162. package/dist/esm/lazyRouteComponent.js +0 -73
  163. package/dist/esm/lazyRouteComponent.js.map +0 -1
  164. package/dist/esm/link.d.ts +0 -44
  165. package/dist/esm/link.js +0 -270
  166. package/dist/esm/link.js.map +0 -1
  167. package/dist/esm/matchContext.d.ts +0 -3
  168. package/dist/esm/matchContext.js +0 -8
  169. package/dist/esm/matchContext.js.map +0 -1
  170. package/dist/esm/not-found.d.ts +0 -8
  171. package/dist/esm/not-found.js +0 -42
  172. package/dist/esm/not-found.js.map +0 -1
  173. package/dist/esm/renderRouteNotFound.d.ts +0 -2
  174. package/dist/esm/renderRouteNotFound.js +0 -23
  175. package/dist/esm/renderRouteNotFound.js.map +0 -1
  176. package/dist/esm/route.d.ts +0 -95
  177. package/dist/esm/route.js +0 -236
  178. package/dist/esm/route.js.map +0 -1
  179. package/dist/esm/router.d.ts +0 -69
  180. package/dist/esm/router.js +0 -22
  181. package/dist/esm/router.js.map +0 -1
  182. package/dist/esm/routerContext.d.ts +0 -8
  183. package/dist/esm/routerContext.js +0 -16
  184. package/dist/esm/routerContext.js.map +0 -1
  185. package/dist/esm/scroll-restoration.d.ts +0 -1
  186. package/dist/esm/scroll-restoration.js +0 -23
  187. package/dist/esm/scroll-restoration.js.map +0 -1
  188. package/dist/esm/typePrimitives.d.ts +0 -10
  189. package/dist/esm/useBlocker.d.ts +0 -67
  190. package/dist/esm/useBlocker.js +0 -154
  191. package/dist/esm/useBlocker.js.map +0 -1
  192. package/dist/esm/useCanGoBack.d.ts +0 -1
  193. package/dist/esm/useCanGoBack.js +0 -8
  194. package/dist/esm/useCanGoBack.js.map +0 -1
  195. package/dist/esm/useLoaderData.d.ts +0 -8
  196. package/dist/esm/useLoaderData.js +0 -14
  197. package/dist/esm/useLoaderData.js.map +0 -1
  198. package/dist/esm/useLoaderDeps.d.ts +0 -7
  199. package/dist/esm/useLoaderDeps.js +0 -17
  200. package/dist/esm/useLoaderDeps.js.map +0 -1
  201. package/dist/esm/useLocation.d.ts +0 -7
  202. package/dist/esm/useLocation.js +0 -10
  203. package/dist/esm/useLocation.js.map +0 -1
  204. package/dist/esm/useMatch.d.ts +0 -10
  205. package/dist/esm/useMatch.js +0 -22
  206. package/dist/esm/useMatch.js.map +0 -1
  207. package/dist/esm/useNavigate.d.ts +0 -5
  208. package/dist/esm/useNavigate.js +0 -29
  209. package/dist/esm/useNavigate.js.map +0 -1
  210. package/dist/esm/useParams.d.ts +0 -9
  211. package/dist/esm/useParams.js +0 -15
  212. package/dist/esm/useParams.js.map +0 -1
  213. package/dist/esm/useRouteContext.d.ts +0 -4
  214. package/dist/esm/useRouteContext.js +0 -11
  215. package/dist/esm/useRouteContext.js.map +0 -1
  216. package/dist/esm/useRouter.d.ts +0 -4
  217. package/dist/esm/useRouter.js +0 -12
  218. package/dist/esm/useRouter.js.map +0 -1
  219. package/dist/esm/useRouterState.d.ts +0 -8
  220. package/dist/esm/useRouterState.js +0 -16
  221. package/dist/esm/useRouterState.js.map +0 -1
  222. package/dist/esm/useSearch.d.ts +0 -9
  223. package/dist/esm/useSearch.js +0 -15
  224. package/dist/esm/useSearch.js.map +0 -1
  225. package/dist/esm/utils.d.ts +0 -34
  226. package/dist/esm/utils.js +0 -41
  227. package/dist/esm/utils.js.map +0 -1
  228. package/dist/source/Asset.d.ts +0 -2
  229. package/dist/source/Asset.jsx +0 -23
  230. package/dist/source/Asset.jsx.map +0 -1
  231. package/dist/source/CatchBoundary.d.ts +0 -11
  232. package/dist/source/CatchBoundary.jsx +0 -43
  233. package/dist/source/CatchBoundary.jsx.map +0 -1
  234. package/dist/source/ClientOnly.d.ts +0 -49
  235. package/dist/source/ClientOnly.jsx +0 -51
  236. package/dist/source/ClientOnly.jsx.map +0 -1
  237. package/dist/source/HeadContent.d.ts +0 -8
  238. package/dist/source/HeadContent.jsx +0 -143
  239. package/dist/source/HeadContent.jsx.map +0 -1
  240. package/dist/source/Match.d.ts +0 -8
  241. package/dist/source/Match.jsx +0 -261
  242. package/dist/source/Match.jsx.map +0 -1
  243. package/dist/source/Matches.d.ts +0 -24
  244. package/dist/source/Matches.jsx +0 -104
  245. package/dist/source/Matches.jsx.map +0 -1
  246. package/dist/source/RouterProvider.d.ts +0 -10
  247. package/dist/source/RouterProvider.jsx +0 -27
  248. package/dist/source/RouterProvider.jsx.map +0 -1
  249. package/dist/source/SafeFragment.d.ts +0 -1
  250. package/dist/source/SafeFragment.jsx +0 -4
  251. package/dist/source/SafeFragment.jsx.map +0 -1
  252. package/dist/source/ScriptOnce.d.ts +0 -5
  253. package/dist/source/ScriptOnce.jsx +0 -17
  254. package/dist/source/ScriptOnce.jsx.map +0 -1
  255. package/dist/source/Scripts.d.ts +0 -1
  256. package/dist/source/Scripts.jsx +0 -49
  257. package/dist/source/Scripts.jsx.map +0 -1
  258. package/dist/source/ScrollRestoration.d.ts +0 -14
  259. package/dist/source/ScrollRestoration.jsx +0 -37
  260. package/dist/source/ScrollRestoration.jsx.map +0 -1
  261. package/dist/source/Transitioner.d.ts +0 -1
  262. package/dist/source/Transitioner.jsx +0 -102
  263. package/dist/source/Transitioner.jsx.map +0 -1
  264. package/dist/source/awaited.d.ts +0 -11
  265. package/dist/source/awaited.jsx +0 -19
  266. package/dist/source/awaited.jsx.map +0 -1
  267. package/dist/source/fileRoute.d.ts +0 -54
  268. package/dist/source/fileRoute.js +0 -98
  269. package/dist/source/fileRoute.js.map +0 -1
  270. package/dist/source/history.d.ts +0 -8
  271. package/dist/source/history.js +0 -2
  272. package/dist/source/history.js.map +0 -1
  273. package/dist/source/index.d.ts +0 -52
  274. package/dist/source/index.jsx +0 -43
  275. package/dist/source/index.jsx.map +0 -1
  276. package/dist/source/lazyRouteComponent.d.ts +0 -2
  277. package/dist/source/lazyRouteComponent.jsx +0 -83
  278. package/dist/source/lazyRouteComponent.jsx.map +0 -1
  279. package/dist/source/link.d.ts +0 -44
  280. package/dist/source/link.jsx +0 -338
  281. package/dist/source/link.jsx.map +0 -1
  282. package/dist/source/matchContext.d.ts +0 -3
  283. package/dist/source/matchContext.jsx +0 -5
  284. package/dist/source/matchContext.jsx.map +0 -1
  285. package/dist/source/not-found.d.ts +0 -8
  286. package/dist/source/not-found.jsx +0 -30
  287. package/dist/source/not-found.jsx.map +0 -1
  288. package/dist/source/renderRouteNotFound.d.ts +0 -2
  289. package/dist/source/renderRouteNotFound.jsx +0 -15
  290. package/dist/source/renderRouteNotFound.jsx.map +0 -1
  291. package/dist/source/route.d.ts +0 -96
  292. package/dist/source/route.jsx +0 -179
  293. package/dist/source/route.jsx.map +0 -1
  294. package/dist/source/router.d.ts +0 -70
  295. package/dist/source/router.js +0 -21
  296. package/dist/source/router.js.map +0 -1
  297. package/dist/source/routerContext.d.ts +0 -8
  298. package/dist/source/routerContext.jsx +0 -13
  299. package/dist/source/routerContext.jsx.map +0 -1
  300. package/dist/source/scroll-restoration.d.ts +0 -1
  301. package/dist/source/scroll-restoration.jsx +0 -16
  302. package/dist/source/scroll-restoration.jsx.map +0 -1
  303. package/dist/source/typePrimitives.d.ts +0 -10
  304. package/dist/source/typePrimitives.js +0 -2
  305. package/dist/source/typePrimitives.js.map +0 -1
  306. package/dist/source/useBlocker.d.ts +0 -67
  307. package/dist/source/useBlocker.jsx +0 -153
  308. package/dist/source/useBlocker.jsx.map +0 -1
  309. package/dist/source/useCanGoBack.d.ts +0 -1
  310. package/dist/source/useCanGoBack.js +0 -5
  311. package/dist/source/useCanGoBack.js.map +0 -1
  312. package/dist/source/useLoaderData.d.ts +0 -8
  313. package/dist/source/useLoaderData.jsx +0 -11
  314. package/dist/source/useLoaderData.jsx.map +0 -1
  315. package/dist/source/useLoaderDeps.d.ts +0 -7
  316. package/dist/source/useLoaderDeps.jsx +0 -11
  317. package/dist/source/useLoaderDeps.jsx.map +0 -1
  318. package/dist/source/useLocation.d.ts +0 -7
  319. package/dist/source/useLocation.jsx +0 -7
  320. package/dist/source/useLocation.jsx.map +0 -1
  321. package/dist/source/useMatch.d.ts +0 -10
  322. package/dist/source/useMatch.jsx +0 -19
  323. package/dist/source/useMatch.jsx.map +0 -1
  324. package/dist/source/useNavigate.d.ts +0 -5
  325. package/dist/source/useNavigate.jsx +0 -18
  326. package/dist/source/useNavigate.jsx.map +0 -1
  327. package/dist/source/useParams.d.ts +0 -9
  328. package/dist/source/useParams.jsx +0 -12
  329. package/dist/source/useParams.jsx.map +0 -1
  330. package/dist/source/useRouteContext.d.ts +0 -4
  331. package/dist/source/useRouteContext.js +0 -8
  332. package/dist/source/useRouteContext.js.map +0 -1
  333. package/dist/source/useRouter.d.ts +0 -4
  334. package/dist/source/useRouter.jsx +0 -9
  335. package/dist/source/useRouter.jsx.map +0 -1
  336. package/dist/source/useRouterState.d.ts +0 -8
  337. package/dist/source/useRouterState.jsx +0 -14
  338. package/dist/source/useRouterState.jsx.map +0 -1
  339. package/dist/source/useSearch.d.ts +0 -9
  340. package/dist/source/useSearch.jsx +0 -12
  341. package/dist/source/useSearch.jsx.map +0 -1
  342. package/dist/source/utils.d.ts +0 -34
  343. package/dist/source/utils.js +0 -59
  344. package/dist/source/utils.js.map +0 -1
@@ -1,10 +0,0 @@
1
- import { LinkComponentProps } from './link.js';
2
- import { UseParamsOptions } from './useParams.js';
3
- import { UseSearchOptions } from './useSearch.js';
4
- import { AnyRouter, Constrain, InferFrom, InferMaskFrom, InferMaskTo, InferSelected, InferShouldThrow, InferStrict, InferTo, RegisteredRouter } from '@tanstack/router-core';
5
- export type ValidateLinkOptions<TRouter extends AnyRouter = RegisteredRouter, TOptions = unknown, TDefaultFrom extends string = string, TComp = 'a'> = Constrain<TOptions, LinkComponentProps<TComp, TRouter, InferFrom<TOptions, TDefaultFrom>, InferTo<TOptions>, InferMaskFrom<TOptions>, InferMaskTo<TOptions>>>;
6
- export type ValidateLinkOptionsArray<TRouter extends AnyRouter = RegisteredRouter, TOptions extends ReadonlyArray<any> = ReadonlyArray<unknown>, TDefaultFrom extends string = string, TComp = 'a'> = {
7
- [K in keyof TOptions]: ValidateLinkOptions<TRouter, TOptions[K], TDefaultFrom, TComp>;
8
- };
9
- export type ValidateUseSearchOptions<TOptions, TRouter extends AnyRouter = RegisteredRouter> = Constrain<TOptions, UseSearchOptions<TRouter, InferFrom<TOptions>, InferStrict<TOptions>, InferShouldThrow<TOptions>, InferSelected<TOptions>>>;
10
- export type ValidateUseParamsOptions<TOptions, TRouter extends AnyRouter = RegisteredRouter> = Constrain<TOptions, UseParamsOptions<TRouter, InferFrom<TOptions>, InferStrict<TOptions>, InferShouldThrow<TOptions>, InferSelected<TOptions>>>;
@@ -1,67 +0,0 @@
1
- import { HistoryAction } from '@tanstack/history';
2
- import { SolidNode } from './route.js';
3
- import { AnyRoute, AnyRouter, ParseRoute, RegisteredRouter } from '@tanstack/router-core';
4
- import * as Solid from 'solid-js';
5
- interface ShouldBlockFnLocation<out TRouteId, out TFullPath, out TAllParams, out TFullSearchSchema> {
6
- routeId: TRouteId;
7
- fullPath: TFullPath;
8
- pathname: string;
9
- params: TAllParams;
10
- search: TFullSearchSchema;
11
- }
12
- type MakeShouldBlockFnLocationUnion<TRouter extends AnyRouter = RegisteredRouter, TRoute extends AnyRoute = ParseRoute<TRouter['routeTree']>> = TRoute extends any ? ShouldBlockFnLocation<TRoute['id'], TRoute['fullPath'], TRoute['types']['allParams'], TRoute['types']['fullSearchSchema']> : never;
13
- type BlockerResolver<TRouter extends AnyRouter = RegisteredRouter> = {
14
- status: 'blocked';
15
- current: MakeShouldBlockFnLocationUnion<TRouter>;
16
- next: MakeShouldBlockFnLocationUnion<TRouter>;
17
- action: HistoryAction;
18
- proceed: () => void;
19
- reset: () => void;
20
- } | {
21
- status: 'idle';
22
- current: undefined;
23
- next: undefined;
24
- action: undefined;
25
- proceed: undefined;
26
- reset: undefined;
27
- };
28
- type ShouldBlockFnArgs<TRouter extends AnyRouter = RegisteredRouter> = {
29
- current: MakeShouldBlockFnLocationUnion<TRouter>;
30
- next: MakeShouldBlockFnLocationUnion<TRouter>;
31
- action: HistoryAction;
32
- };
33
- export type ShouldBlockFn<TRouter extends AnyRouter = RegisteredRouter> = (args: ShouldBlockFnArgs<TRouter>) => boolean | Promise<boolean>;
34
- export type UseBlockerOpts<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean> = {
35
- shouldBlockFn: ShouldBlockFn<TRouter>;
36
- enableBeforeUnload?: boolean | (() => boolean);
37
- disabled?: boolean;
38
- withResolver?: TWithResolver;
39
- };
40
- type LegacyBlockerFn = () => Promise<any> | any;
41
- type LegacyBlockerOpts = {
42
- blockerFn?: LegacyBlockerFn;
43
- condition?: boolean | any;
44
- };
45
- export declare function useBlocker<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = false>(opts: UseBlockerOpts<TRouter, TWithResolver>): TWithResolver extends true ? Solid.Accessor<BlockerResolver<TRouter>> : void;
46
- /**
47
- * @deprecated Use the shouldBlockFn property instead
48
- */
49
- export declare function useBlocker(blockerFnOrOpts?: LegacyBlockerOpts): Solid.Accessor<BlockerResolver>;
50
- /**
51
- * @deprecated Use the UseBlockerOpts object syntax instead
52
- */
53
- export declare function useBlocker(blockerFn?: LegacyBlockerFn, condition?: boolean | any): Solid.Accessor<BlockerResolver>;
54
- export declare function Block<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean>(opts: PromptProps<TRouter, TWithResolver>): SolidNode;
55
- /**
56
- * @deprecated Use the UseBlockerOpts property instead
57
- */
58
- export declare function Block(opts: LegacyPromptProps): SolidNode;
59
- type LegacyPromptProps = {
60
- blockerFn?: LegacyBlockerFn;
61
- condition?: boolean | any;
62
- children?: SolidNode | ((params: BlockerResolver) => SolidNode);
63
- };
64
- type PromptProps<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean, TParams = TWithResolver extends true ? BlockerResolver<TRouter> : void> = UseBlockerOpts<TRouter, TWithResolver> & {
65
- children?: SolidNode | ((params: TParams) => SolidNode);
66
- };
67
- export {};
@@ -1,154 +0,0 @@
1
- import { memo } from "solid-js/web";
2
- import * as Solid from "solid-js";
3
- import { useRouter } from "./useRouter.js";
4
- function _resolveBlockerOpts(opts, condition) {
5
- if (opts === void 0) {
6
- return {
7
- shouldBlockFn: () => true,
8
- withResolver: false
9
- };
10
- }
11
- if ("shouldBlockFn" in opts) {
12
- return opts;
13
- }
14
- if (typeof opts === "function") {
15
- const shouldBlock2 = Boolean(condition ?? true);
16
- const _customBlockerFn2 = async () => {
17
- if (shouldBlock2) return await opts();
18
- return false;
19
- };
20
- return {
21
- shouldBlockFn: _customBlockerFn2,
22
- enableBeforeUnload: shouldBlock2,
23
- withResolver: false
24
- };
25
- }
26
- const shouldBlock = Solid.createMemo(() => Boolean(opts.condition ?? true));
27
- const _customBlockerFn = async () => {
28
- if (shouldBlock() && opts.blockerFn !== void 0) {
29
- return await opts.blockerFn();
30
- }
31
- return shouldBlock();
32
- };
33
- return {
34
- get shouldBlockFn() {
35
- return _customBlockerFn;
36
- },
37
- get enableBeforeUnload() {
38
- return shouldBlock();
39
- },
40
- get withResolver() {
41
- return opts.blockerFn === void 0;
42
- }
43
- };
44
- }
45
- function useBlocker(opts, condition) {
46
- const props = Solid.mergeProps({
47
- enableBeforeUnload: true,
48
- disabled: false,
49
- withResolver: false
50
- }, _resolveBlockerOpts(opts, condition));
51
- const router = useRouter();
52
- const [resolver, setResolver] = Solid.createSignal({
53
- status: "idle",
54
- current: void 0,
55
- next: void 0,
56
- action: void 0,
57
- proceed: void 0,
58
- reset: void 0
59
- });
60
- Solid.createEffect(() => {
61
- const blockerFnComposed = async (blockerFnArgs) => {
62
- function getLocation(location) {
63
- const parsedLocation = router.parseLocation(void 0, location);
64
- const matchedRoutes = router.getMatchedRoutes(parsedLocation.pathname, void 0);
65
- if (matchedRoutes.foundRoute === void 0) {
66
- throw new Error(`No route found for location ${location.href}`);
67
- }
68
- return {
69
- routeId: matchedRoutes.foundRoute.id,
70
- fullPath: matchedRoutes.foundRoute.fullPath,
71
- pathname: parsedLocation.pathname,
72
- params: matchedRoutes.routeParams,
73
- search: parsedLocation.search
74
- };
75
- }
76
- const current = getLocation(blockerFnArgs.currentLocation);
77
- const next = getLocation(blockerFnArgs.nextLocation);
78
- const shouldBlock = await props.shouldBlockFn({
79
- action: blockerFnArgs.action,
80
- current,
81
- next
82
- });
83
- if (!props.withResolver) {
84
- return shouldBlock;
85
- }
86
- if (!shouldBlock) {
87
- return false;
88
- }
89
- const promise = new Promise((resolve) => {
90
- setResolver({
91
- status: "blocked",
92
- current,
93
- next,
94
- action: blockerFnArgs.action,
95
- proceed: () => resolve(false),
96
- reset: () => resolve(true)
97
- });
98
- });
99
- const canNavigateAsync = await promise;
100
- setResolver({
101
- status: "idle",
102
- current: void 0,
103
- next: void 0,
104
- action: void 0,
105
- proceed: void 0,
106
- reset: void 0
107
- });
108
- return canNavigateAsync;
109
- };
110
- const disposeBlock = props.disabled ? void 0 : router.history.block({
111
- blockerFn: blockerFnComposed,
112
- enableBeforeUnload: props.enableBeforeUnload
113
- });
114
- Solid.onCleanup(() => disposeBlock == null ? void 0 : disposeBlock());
115
- });
116
- return resolver;
117
- }
118
- const _resolvePromptBlockerArgs = (props) => {
119
- if ("shouldBlockFn" in props) {
120
- return props;
121
- }
122
- const shouldBlock = Solid.createMemo(() => Boolean(props.condition ?? true));
123
- const _customBlockerFn = async () => {
124
- if (shouldBlock() && props.blockerFn !== void 0) {
125
- return await props.blockerFn();
126
- }
127
- return shouldBlock;
128
- };
129
- return {
130
- shouldBlockFn: _customBlockerFn,
131
- get enableBeforeUnload() {
132
- return shouldBlock();
133
- },
134
- get withResolver() {
135
- return props.blockerFn === void 0;
136
- }
137
- };
138
- };
139
- function Block(opts) {
140
- const [propsWithChildren, rest] = Solid.splitProps(opts, ["children"]);
141
- const args = _resolvePromptBlockerArgs(rest);
142
- const resolver = useBlocker(args);
143
- const children = Solid.createMemo(() => {
144
- const child = propsWithChildren.children;
145
- if (resolver && typeof child === "function") return child(resolver());
146
- return child;
147
- });
148
- return memo(children);
149
- }
150
- export {
151
- Block,
152
- useBlocker
153
- };
154
- //# sourceMappingURL=useBlocker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBlocker.js","sources":["../../src/useBlocker.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { useRouter } from './useRouter'\nimport type {\n BlockerFnArgs,\n HistoryAction,\n HistoryLocation,\n} from '@tanstack/history'\nimport type { SolidNode } from './route'\nimport type {\n AnyRoute,\n AnyRouter,\n ParseRoute,\n RegisteredRouter,\n} from '@tanstack/router-core'\n\ninterface ShouldBlockFnLocation<\n out TRouteId,\n out TFullPath,\n out TAllParams,\n out TFullSearchSchema,\n> {\n routeId: TRouteId\n fullPath: TFullPath\n pathname: string\n params: TAllParams\n search: TFullSearchSchema\n}\n\ntype AnyShouldBlockFnLocation = ShouldBlockFnLocation<any, any, any, any>\ntype MakeShouldBlockFnLocationUnion<\n TRouter extends AnyRouter = RegisteredRouter,\n TRoute extends AnyRoute = ParseRoute<TRouter['routeTree']>,\n> = TRoute extends any\n ? ShouldBlockFnLocation<\n TRoute['id'],\n TRoute['fullPath'],\n TRoute['types']['allParams'],\n TRoute['types']['fullSearchSchema']\n >\n : never\n\ntype BlockerResolver<TRouter extends AnyRouter = RegisteredRouter> =\n | {\n status: 'blocked'\n current: MakeShouldBlockFnLocationUnion<TRouter>\n next: MakeShouldBlockFnLocationUnion<TRouter>\n action: HistoryAction\n proceed: () => void\n reset: () => void\n }\n | {\n status: 'idle'\n current: undefined\n next: undefined\n action: undefined\n proceed: undefined\n reset: undefined\n }\n\ntype ShouldBlockFnArgs<TRouter extends AnyRouter = RegisteredRouter> = {\n current: MakeShouldBlockFnLocationUnion<TRouter>\n next: MakeShouldBlockFnLocationUnion<TRouter>\n action: HistoryAction\n}\n\nexport type ShouldBlockFn<TRouter extends AnyRouter = RegisteredRouter> = (\n args: ShouldBlockFnArgs<TRouter>,\n) => boolean | Promise<boolean>\nexport type UseBlockerOpts<\n TRouter extends AnyRouter = RegisteredRouter,\n TWithResolver extends boolean = boolean,\n> = {\n shouldBlockFn: ShouldBlockFn<TRouter>\n enableBeforeUnload?: boolean | (() => boolean)\n disabled?: boolean\n withResolver?: TWithResolver\n}\n\ntype LegacyBlockerFn = () => Promise<any> | any\ntype LegacyBlockerOpts = {\n blockerFn?: LegacyBlockerFn\n condition?: boolean | any\n}\n\nfunction _resolveBlockerOpts(\n opts?: UseBlockerOpts | LegacyBlockerOpts | LegacyBlockerFn,\n condition?: boolean | any,\n): UseBlockerOpts {\n if (opts === undefined) {\n return {\n shouldBlockFn: () => true,\n withResolver: false,\n }\n }\n\n if ('shouldBlockFn' in opts) {\n return opts\n }\n\n if (typeof opts === 'function') {\n const shouldBlock = Boolean(condition ?? true)\n\n const _customBlockerFn = async () => {\n if (shouldBlock) return await opts()\n return false\n }\n\n return {\n shouldBlockFn: _customBlockerFn,\n enableBeforeUnload: shouldBlock,\n withResolver: false,\n }\n }\n\n const shouldBlock = Solid.createMemo(() => Boolean(opts.condition ?? true))\n\n const _customBlockerFn = async () => {\n if (shouldBlock() && opts.blockerFn !== undefined) {\n return await opts.blockerFn()\n }\n return shouldBlock()\n }\n\n return {\n get shouldBlockFn() {\n return _customBlockerFn\n },\n get enableBeforeUnload() {\n return shouldBlock()\n },\n get withResolver() {\n return opts.blockerFn === undefined\n },\n }\n}\n\nexport function useBlocker<\n TRouter extends AnyRouter = RegisteredRouter,\n TWithResolver extends boolean = false,\n>(\n opts: UseBlockerOpts<TRouter, TWithResolver>,\n): TWithResolver extends true ? Solid.Accessor<BlockerResolver<TRouter>> : void\n\n/**\n * @deprecated Use the shouldBlockFn property instead\n */\nexport function useBlocker(\n blockerFnOrOpts?: LegacyBlockerOpts,\n): Solid.Accessor<BlockerResolver>\n\n/**\n * @deprecated Use the UseBlockerOpts object syntax instead\n */\nexport function useBlocker(\n blockerFn?: LegacyBlockerFn,\n condition?: boolean | any,\n): Solid.Accessor<BlockerResolver>\n\nexport function useBlocker(\n opts?: UseBlockerOpts | LegacyBlockerOpts | LegacyBlockerFn,\n condition?: boolean | any,\n): Solid.Accessor<BlockerResolver> | void {\n const props = Solid.mergeProps(\n {\n enableBeforeUnload: true,\n disabled: false,\n withResolver: false,\n },\n _resolveBlockerOpts(opts, condition),\n )\n\n const router = useRouter()\n\n const [resolver, setResolver] = Solid.createSignal<BlockerResolver>({\n status: 'idle',\n current: undefined,\n next: undefined,\n action: undefined,\n proceed: undefined,\n reset: undefined,\n })\n\n Solid.createEffect(() => {\n const blockerFnComposed = async (blockerFnArgs: BlockerFnArgs) => {\n function getLocation(\n location: HistoryLocation,\n ): AnyShouldBlockFnLocation {\n const parsedLocation = router.parseLocation(undefined, location)\n const matchedRoutes = router.getMatchedRoutes(\n parsedLocation.pathname,\n undefined,\n )\n if (matchedRoutes.foundRoute === undefined) {\n throw new Error(`No route found for location ${location.href}`)\n }\n return {\n routeId: matchedRoutes.foundRoute.id,\n fullPath: matchedRoutes.foundRoute.fullPath,\n pathname: parsedLocation.pathname,\n params: matchedRoutes.routeParams,\n search: parsedLocation.search,\n }\n }\n\n const current = getLocation(blockerFnArgs.currentLocation)\n const next = getLocation(blockerFnArgs.nextLocation)\n\n const shouldBlock = await props.shouldBlockFn({\n action: blockerFnArgs.action,\n current,\n next,\n })\n if (!props.withResolver) {\n return shouldBlock\n }\n\n if (!shouldBlock) {\n return false\n }\n\n const promise = new Promise<boolean>((resolve) => {\n setResolver({\n status: 'blocked',\n current,\n next,\n action: blockerFnArgs.action,\n proceed: () => resolve(false),\n reset: () => resolve(true),\n })\n })\n\n const canNavigateAsync = await promise\n setResolver({\n status: 'idle',\n current: undefined,\n next: undefined,\n action: undefined,\n proceed: undefined,\n reset: undefined,\n })\n\n return canNavigateAsync\n }\n\n const disposeBlock = props.disabled\n ? undefined\n : router.history.block({\n blockerFn: blockerFnComposed,\n enableBeforeUnload: props.enableBeforeUnload,\n })\n\n Solid.onCleanup(() => disposeBlock?.())\n })\n\n return resolver\n}\n\nconst _resolvePromptBlockerArgs = (\n props: PromptProps | LegacyPromptProps,\n): UseBlockerOpts => {\n if ('shouldBlockFn' in props) {\n return props\n }\n\n const shouldBlock = Solid.createMemo(() => Boolean(props.condition ?? true))\n\n const _customBlockerFn = async () => {\n if (shouldBlock() && props.blockerFn !== undefined) {\n return await props.blockerFn()\n }\n return shouldBlock\n }\n\n return {\n shouldBlockFn: _customBlockerFn,\n get enableBeforeUnload() {\n return shouldBlock()\n },\n get withResolver() {\n return props.blockerFn === undefined\n },\n }\n}\n\nexport function Block<\n TRouter extends AnyRouter = RegisteredRouter,\n TWithResolver extends boolean = boolean,\n>(opts: PromptProps<TRouter, TWithResolver>): SolidNode\n\n/**\n * @deprecated Use the UseBlockerOpts property instead\n */\nexport function Block(opts: LegacyPromptProps): SolidNode\n\nexport function Block(opts: PromptProps | LegacyPromptProps): SolidNode {\n const [propsWithChildren, rest] = Solid.splitProps(opts, ['children'])\n const args = _resolvePromptBlockerArgs(rest)\n\n const resolver = useBlocker(args)\n const children = Solid.createMemo(() => {\n const child = propsWithChildren.children\n if (resolver && typeof child === 'function') return child(resolver())\n return child\n })\n\n return <>{children()}</>\n}\n\ntype LegacyPromptProps = {\n blockerFn?: LegacyBlockerFn\n condition?: boolean | any\n children?: SolidNode | ((params: BlockerResolver) => SolidNode)\n}\n\ntype PromptProps<\n TRouter extends AnyRouter = RegisteredRouter,\n TWithResolver extends boolean = boolean,\n TParams = TWithResolver extends true ? BlockerResolver<TRouter> : void,\n> = UseBlockerOpts<TRouter, TWithResolver> & {\n children?: SolidNode | ((params: TParams) => SolidNode)\n}\n"],"names":["_resolveBlockerOpts","opts","condition","undefined","shouldBlockFn","withResolver","shouldBlock","Boolean","_customBlockerFn","enableBeforeUnload","Solid","createMemo","blockerFn","useBlocker","props","mergeProps","disabled","router","useRouter","resolver","setResolver","createSignal","status","current","next","action","proceed","reset","createEffect","blockerFnComposed","blockerFnArgs","getLocation","location","parsedLocation","parseLocation","matchedRoutes","getMatchedRoutes","pathname","foundRoute","Error","href","routeId","id","fullPath","params","routeParams","search","currentLocation","nextLocation","promise","Promise","resolve","canNavigateAsync","disposeBlock","history","block","onCleanup","_resolvePromptBlockerArgs","Block","propsWithChildren","rest","splitProps","args","children","child","_$memo"],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function useCanGoBack(): import('solid-js').Accessor<boolean>;
@@ -1,8 +0,0 @@
1
- import { useRouterState } from "./useRouterState.js";
2
- function useCanGoBack() {
3
- return useRouterState({ select: (s) => s.location.state.__TSR_index !== 0 });
4
- }
5
- export {
6
- useCanGoBack
7
- };
8
- //# sourceMappingURL=useCanGoBack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCanGoBack.js","sources":["../../src/useCanGoBack.ts"],"sourcesContent":["import { useRouterState } from './useRouterState'\n\nexport function useCanGoBack() {\n return useRouterState({ select: (s) => s.location.state.__TSR_index !== 0 })\n}\n"],"names":[],"mappings":";AAEO,SAAS,eAAe;AACtB,SAAA,eAAe,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,gBAAgB,GAAG;AAC7E;"}
@@ -1,8 +0,0 @@
1
- import { Accessor } from 'solid-js';
2
- import { AnyRouter, RegisteredRouter, ResolveUseLoaderData, StrictOrFrom, UseLoaderDataResult } from '@tanstack/router-core';
3
- export interface UseLoaderDataBaseOptions<TRouter extends AnyRouter, TFrom, TStrict extends boolean, TSelected> {
4
- select?: (match: ResolveUseLoaderData<TRouter, TFrom, TStrict>) => TSelected;
5
- }
6
- export type UseLoaderDataOptions<TRouter extends AnyRouter, TFrom extends string | undefined, TStrict extends boolean, TSelected> = StrictOrFrom<TRouter, TFrom, TStrict> & UseLoaderDataBaseOptions<TRouter, TFrom, TStrict, TSelected>;
7
- export type UseLoaderDataRoute<out TId> = <TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseLoaderDataBaseOptions<TRouter, TId, true, TSelected>) => Accessor<UseLoaderDataResult<TRouter, TId, true, TSelected>>;
8
- export declare function useLoaderData<TRouter extends AnyRouter = RegisteredRouter, const TFrom extends string | undefined = undefined, TStrict extends boolean = true, TSelected = unknown>(opts: UseLoaderDataOptions<TRouter, TFrom, TStrict, TSelected>): Accessor<UseLoaderDataResult<TRouter, TFrom, TStrict, TSelected>>;
@@ -1,14 +0,0 @@
1
- import { useMatch } from "./useMatch.js";
2
- function useLoaderData(opts) {
3
- return useMatch({
4
- from: opts.from,
5
- strict: opts.strict,
6
- select: (s) => {
7
- return opts.select ? opts.select(s.loaderData) : s.loaderData;
8
- }
9
- });
10
- }
11
- export {
12
- useLoaderData
13
- };
14
- //# sourceMappingURL=useLoaderData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLoaderData.js","sources":["../../src/useLoaderData.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseLoaderData,\n StrictOrFrom,\n UseLoaderDataResult,\n} from '@tanstack/router-core'\n\nexport interface UseLoaderDataBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TSelected,\n> {\n select?: (match: ResolveUseLoaderData<TRouter, TFrom, TStrict>) => TSelected\n}\n\nexport type UseLoaderDataOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TStrict extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseLoaderDataBaseOptions<TRouter, TFrom, TStrict, TSelected>\n\nexport type UseLoaderDataRoute<out TId> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseLoaderDataBaseOptions<TRouter, TId, true, TSelected>,\n) => Accessor<UseLoaderDataResult<TRouter, TId, true, TSelected>>\n\nexport function useLoaderData<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseLoaderDataOptions<TRouter, TFrom, TStrict, TSelected>,\n): Accessor<UseLoaderDataResult<TRouter, TFrom, TStrict, TSelected>> {\n return useMatch({\n from: opts.from!,\n strict: opts.strict,\n select: (s: any) => {\n return opts.select ? opts.select(s.loaderData) : s.loaderData\n },\n } as any) as any\n}\n"],"names":["useLoaderData","opts","useMatch","from","strict","select","s","loaderData"],"mappings":";AAkCO,SAASA,cAMdC,MACmE;AACnE,SAAOC,SAAS;AAAA,IACdC,MAAMF,KAAKE;AAAAA,IACXC,QAAQH,KAAKG;AAAAA,IACbC,QAAQA,CAACC,MAAW;AAClB,aAAOL,KAAKI,SAASJ,KAAKI,OAAOC,EAAEC,UAAU,IAAID,EAAEC;AAAAA,IAAAA;AAAAA,EACrD,CACM;AACV;"}
@@ -1,7 +0,0 @@
1
- import { AnyRouter, RegisteredRouter, ResolveUseLoaderDeps, StrictOrFrom, UseLoaderDepsResult } from '@tanstack/router-core';
2
- export interface UseLoaderDepsBaseOptions<TRouter extends AnyRouter, TFrom, TSelected> {
3
- select?: (deps: ResolveUseLoaderDeps<TRouter, TFrom>) => TSelected;
4
- }
5
- export type UseLoaderDepsOptions<TRouter extends AnyRouter, TFrom extends string | undefined, TSelected> = StrictOrFrom<TRouter, TFrom> & UseLoaderDepsBaseOptions<TRouter, TFrom, TSelected>;
6
- export type UseLoaderDepsRoute<out TId> = <TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseLoaderDepsBaseOptions<TRouter, TId, TSelected>) => UseLoaderDepsResult<TRouter, TId, TSelected>;
7
- export declare function useLoaderDeps<TRouter extends AnyRouter = RegisteredRouter, const TFrom extends string | undefined = undefined, TSelected = unknown>(opts: UseLoaderDepsOptions<TRouter, TFrom, TSelected>): UseLoaderDepsResult<TRouter, TFrom, TSelected>;
@@ -1,17 +0,0 @@
1
- import { useMatch } from "./useMatch.js";
2
- function useLoaderDeps(opts) {
3
- const {
4
- select,
5
- ...rest
6
- } = opts;
7
- return useMatch({
8
- ...rest,
9
- select: (s) => {
10
- return select ? select(s.loaderDeps) : s.loaderDeps;
11
- }
12
- });
13
- }
14
- export {
15
- useLoaderDeps
16
- };
17
- //# sourceMappingURL=useLoaderDeps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLoaderDeps.js","sources":["../../src/useLoaderDeps.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseLoaderDeps,\n StrictOrFrom,\n UseLoaderDepsResult,\n} from '@tanstack/router-core'\n\nexport interface UseLoaderDepsBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TSelected,\n> {\n select?: (deps: ResolveUseLoaderDeps<TRouter, TFrom>) => TSelected\n}\n\nexport type UseLoaderDepsOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom> &\n UseLoaderDepsBaseOptions<TRouter, TFrom, TSelected>\n\nexport type UseLoaderDepsRoute<out TId> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseLoaderDepsBaseOptions<TRouter, TId, TSelected>,\n) => UseLoaderDepsResult<TRouter, TId, TSelected>\n\nexport function useLoaderDeps<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TSelected = unknown,\n>(\n opts: UseLoaderDepsOptions<TRouter, TFrom, TSelected>,\n): UseLoaderDepsResult<TRouter, TFrom, TSelected> {\n const { select, ...rest } = opts\n return useMatch({\n ...rest,\n select: (s) => {\n return select ? select(s.loaderDeps) : s.loaderDeps\n },\n }) as UseLoaderDepsResult<TRouter, TFrom, TSelected>\n}\n"],"names":["useLoaderDeps","opts","select","rest","useMatch","s","loaderDeps"],"mappings":";AA+BO,SAASA,cAKdC,MACgD;AAC1C,QAAA;AAAA,IAAEC;AAAAA,IAAQ,GAAGC;AAAAA,EAAAA,IAASF;AAC5B,SAAOG,SAAS;AAAA,IACd,GAAGD;AAAAA,IACHD,QAASG,CAAM,MAAA;AACb,aAAOH,SAASA,OAAOG,EAAEC,UAAU,IAAID,EAAEC;AAAAA,IAAAA;AAAAA,EAC3C,CACD;AACH;"}
@@ -1,7 +0,0 @@
1
- import { AnyRouter, RegisteredRouter, RouterState } from '@tanstack/router-core';
2
- import { Accessor } from 'solid-js';
3
- export interface UseLocationBaseOptions<TRouter extends AnyRouter, TSelected> {
4
- select?: (state: RouterState<TRouter['routeTree']>['location']) => TSelected;
5
- }
6
- export type UseLocationResult<TRouter extends AnyRouter, TSelected> = unknown extends TSelected ? RouterState<TRouter['routeTree']>['location'] : TSelected;
7
- export declare function useLocation<TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseLocationBaseOptions<TRouter, TSelected>): Accessor<UseLocationResult<TRouter, TSelected>>;
@@ -1,10 +0,0 @@
1
- import { useRouterState } from "./useRouterState.js";
2
- function useLocation(opts) {
3
- return useRouterState({
4
- select: (state) => (opts == null ? void 0 : opts.select) ? opts.select(state.location) : state.location
5
- });
6
- }
7
- export {
8
- useLocation
9
- };
10
- //# sourceMappingURL=useLocation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLocation.js","sources":["../../src/useLocation.tsx"],"sourcesContent":["import { useRouterState } from './useRouterState'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\nexport interface UseLocationBaseOptions<TRouter extends AnyRouter, TSelected> {\n select?: (state: RouterState<TRouter['routeTree']>['location']) => TSelected\n}\n\nexport type UseLocationResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected\n ? RouterState<TRouter['routeTree']>['location']\n : TSelected\n\nexport function useLocation<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseLocationBaseOptions<TRouter, TSelected>,\n): Accessor<UseLocationResult<TRouter, TSelected>> {\n return useRouterState({\n select: (state: any) =>\n opts?.select ? opts.select(state.location) : state.location,\n } as any) as Accessor<UseLocationResult<TRouter, TSelected>>\n}\n"],"names":["useLocation","opts","useRouterState","select","state","location"],"mappings":";AAmBO,SAASA,YAIdC,MACiD;AACjD,SAAOC,eAAe;AAAA,IACpBC,QAAQA,CAACC,WACPH,6BAAME,UAASF,KAAKE,OAAOC,MAAMC,QAAQ,IAAID,MAAMC;AAAAA,EAAAA,CAC/C;AACV;"}
@@ -1,10 +0,0 @@
1
- import { AnyRouter, MakeRouteMatch, MakeRouteMatchUnion, RegisteredRouter, StrictOrFrom, ThrowConstraint, ThrowOrOptional } from '@tanstack/router-core';
2
- import * as Solid from 'solid-js';
3
- export interface UseMatchBaseOptions<TRouter extends AnyRouter, TFrom, TStrict extends boolean, TThrow extends boolean, TSelected> {
4
- select?: (match: MakeRouteMatch<TRouter['routeTree'], TFrom, TStrict>) => TSelected;
5
- shouldThrow?: TThrow;
6
- }
7
- export type UseMatchRoute<out TFrom> = <TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseMatchBaseOptions<TRouter, TFrom, true, true, TSelected>) => Solid.Accessor<UseMatchResult<TRouter, TFrom, true, TSelected>>;
8
- export type UseMatchOptions<TRouter extends AnyRouter, TFrom extends string | undefined, TStrict extends boolean, TThrow extends boolean, TSelected> = StrictOrFrom<TRouter, TFrom, TStrict> & UseMatchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>;
9
- export type UseMatchResult<TRouter extends AnyRouter, TFrom, TStrict extends boolean, TSelected> = unknown extends TSelected ? TStrict extends true ? MakeRouteMatch<TRouter['routeTree'], TFrom, TStrict> : MakeRouteMatchUnion<TRouter> : TSelected;
10
- export declare function useMatch<TRouter extends AnyRouter = RegisteredRouter, const TFrom extends string | undefined = undefined, TStrict extends boolean = true, TThrow extends boolean = true, TSelected = unknown>(opts: UseMatchOptions<TRouter, TFrom, TStrict, ThrowConstraint<TStrict, TThrow>, TSelected>): Solid.Accessor<ThrowOrOptional<UseMatchResult<TRouter, TFrom, TStrict, TSelected>, TThrow>>;
@@ -1,22 +0,0 @@
1
- import * as Solid from "solid-js";
2
- import invariant from "tiny-invariant";
3
- import { useRouterState } from "./useRouterState.js";
4
- import { dummyMatchContext, matchContext } from "./matchContext.js";
5
- function useMatch(opts) {
6
- const nearestMatchId = Solid.useContext(opts.from ? dummyMatchContext : matchContext);
7
- const matchSelection = useRouterState({
8
- select: (state) => {
9
- const match = state.matches.find((d) => opts.from ? opts.from === d.routeId : d.id === nearestMatchId());
10
- invariant(!((opts.shouldThrow ?? true) && !match), `Could not find ${opts.from ? `an active match from "${opts.from}"` : "a nearest match!"}`);
11
- if (match === void 0) {
12
- return void 0;
13
- }
14
- return opts.select ? opts.select(match) : match;
15
- }
16
- });
17
- return matchSelection;
18
- }
19
- export {
20
- useMatch
21
- };
22
- //# sourceMappingURL=useMatch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMatch.js","sources":["../../src/useMatch.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport { useRouterState } from './useRouterState'\nimport { dummyMatchContext, matchContext } from './matchContext'\nimport type {\n AnyRouter,\n MakeRouteMatch,\n MakeRouteMatchUnion,\n RegisteredRouter,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n} from '@tanstack/router-core'\n\nexport interface UseMatchBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (\n match: MakeRouteMatch<TRouter['routeTree'], TFrom, TStrict>,\n ) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseMatchRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseMatchBaseOptions<TRouter, TFrom, true, true, TSelected>,\n) => Solid.Accessor<UseMatchResult<TRouter, TFrom, true, TSelected>>\n\nexport type UseMatchOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseMatchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseMatchResult<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TSelected,\n> = unknown extends TSelected\n ? TStrict extends true\n ? MakeRouteMatch<TRouter['routeTree'], TFrom, TStrict>\n : MakeRouteMatchUnion<TRouter>\n : TSelected\n\nexport function useMatch<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseMatchOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Solid.Accessor<\n ThrowOrOptional<UseMatchResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n const nearestMatchId = Solid.useContext(\n opts.from ? dummyMatchContext : matchContext,\n )\n\n const matchSelection = useRouterState({\n select: (state: any) => {\n const match = state.matches.find((d: any) =>\n opts.from ? opts.from === d.routeId : d.id === nearestMatchId(),\n )\n\n invariant(\n !((opts.shouldThrow ?? true) && !match),\n `Could not find ${opts.from ? `an active match from \"${opts.from}\"` : 'a nearest match!'}`,\n )\n\n if (match === undefined) {\n return undefined\n }\n\n return opts.select ? opts.select(match) : match\n },\n } as any)\n\n return matchSelection as any\n}\n"],"names":["useMatch","opts","nearestMatchId","Solid","useContext","from","dummyMatchContext","matchContext","matchSelection","useRouterState","select","state","match","matches","find","d","routeId","id","invariant","shouldThrow","undefined"],"mappings":";;;;AAsDO,SAASA,SAOdC,MASA;AACA,QAAMC,iBAAiBC,MAAMC,WAC3BH,KAAKI,OAAOC,oBAAoBC,YAClC;AAEA,QAAMC,iBAAiBC,eAAe;AAAA,IACpCC,QAAQA,CAACC,UAAe;AACtB,YAAMC,QAAQD,MAAME,QAAQC,KAAK,CAACC,MAChCd,KAAKI,OAAOJ,KAAKI,SAASU,EAAEC,UAAUD,EAAEE,OAAOf,gBACjD;AAEAgB,gBACE,GAAGjB,KAAKkB,eAAe,SAAS,CAACP,QACjC,kBAAkBX,KAAKI,OAAO,yBAAyBJ,KAAKI,IAAI,MAAM,kBAAkB,EAC1F;AAEA,UAAIO,UAAUQ,QAAW;AAChBA,eAAAA;AAAAA,MAAAA;AAGT,aAAOnB,KAAKS,SAAST,KAAKS,OAAOE,KAAK,IAAIA;AAAAA,IAAAA;AAAAA,EAC5C,CACM;AAEDJ,SAAAA;AACT;"}
@@ -1,5 +0,0 @@
1
- import { AnyRouter, FromPathOption, NavigateOptions, RegisteredRouter, UseNavigateResult } from '@tanstack/router-core';
2
- export declare function useNavigate<TRouter extends AnyRouter = RegisteredRouter, TDefaultFrom extends string = string>(_defaultOpts?: {
3
- from?: FromPathOption<TRouter, TDefaultFrom>;
4
- }): UseNavigateResult<TDefaultFrom>;
5
- export declare function Navigate<TRouter extends AnyRouter = RegisteredRouter, const TFrom extends string = string, const TTo extends string | undefined = undefined, const TMaskFrom extends string = TFrom, const TMaskTo extends string = ''>(props: NavigateOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>): null;
@@ -1,29 +0,0 @@
1
- import * as Solid from "solid-js";
2
- import { useRouter } from "./useRouter.js";
3
- function useNavigate(_defaultOpts) {
4
- const {
5
- navigate
6
- } = useRouter();
7
- return (options) => {
8
- return navigate({
9
- from: _defaultOpts == null ? void 0 : _defaultOpts.from,
10
- ...options
11
- });
12
- };
13
- }
14
- function Navigate(props) {
15
- const {
16
- navigate
17
- } = useRouter();
18
- Solid.onMount(() => {
19
- navigate({
20
- ...props
21
- });
22
- });
23
- return null;
24
- }
25
- export {
26
- Navigate,
27
- useNavigate
28
- };
29
- //# sourceMappingURL=useNavigate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNavigate.js","sources":["../../src/useNavigate.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n FromPathOption,\n NavigateOptions,\n RegisteredRouter,\n UseNavigateResult,\n} from '@tanstack/router-core'\n\nexport function useNavigate<\n TRouter extends AnyRouter = RegisteredRouter,\n TDefaultFrom extends string = string,\n>(_defaultOpts?: {\n from?: FromPathOption<TRouter, TDefaultFrom>\n}): UseNavigateResult<TDefaultFrom> {\n const { navigate } = useRouter()\n\n return ((options: NavigateOptions) => {\n return navigate({ from: _defaultOpts?.from as any, ...options })\n }) as UseNavigateResult<TDefaultFrom>\n}\n\nexport function Navigate<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string = string,\n const TTo extends string | undefined = undefined,\n const TMaskFrom extends string = TFrom,\n const TMaskTo extends string = '',\n>(props: NavigateOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>): null {\n const { navigate } = useRouter()\n\n Solid.onMount(() => {\n navigate({\n ...props,\n })\n })\n\n return null\n}\n"],"names":["useNavigate","_defaultOpts","navigate","useRouter","options","from","Navigate","props","Solid","onMount"],"mappings":";;AAUO,SAASA,YAGdC,cAEkC;AAC5B,QAAA;AAAA,IAAEC;AAAAA,MAAaC,UAAU;AAE/B,SAAQ,CAACC,YAA6B;AACpC,WAAOF,SAAS;AAAA,MAAEG,MAAMJ,6CAAcI;AAAAA,MAAa,GAAGD;AAAAA,IAAAA,CAAS;AAAA,EACjE;AACF;AAEO,SAASE,SAMdC,OAAuE;AACjE,QAAA;AAAA,IAAEL;AAAAA,MAAaC,UAAU;AAE/BK,QAAMC,QAAQ,MAAM;AACT,aAAA;AAAA,MACP,GAAGF;AAAAA,IAAAA,CACJ;AAAA,EAAA,CACF;AAEM,SAAA;AACT;"}
@@ -1,9 +0,0 @@
1
- import { Accessor } from 'solid-js';
2
- import { AnyRouter, RegisteredRouter, ResolveUseParams, StrictOrFrom, ThrowConstraint, ThrowOrOptional, UseParamsResult } from '@tanstack/router-core';
3
- export interface UseParamsBaseOptions<TRouter extends AnyRouter, TFrom, TStrict extends boolean, TThrow extends boolean, TSelected> {
4
- select?: (params: ResolveUseParams<TRouter, TFrom, TStrict>) => TSelected;
5
- shouldThrow?: TThrow;
6
- }
7
- export type UseParamsOptions<TRouter extends AnyRouter, TFrom extends string | undefined, TStrict extends boolean, TThrow extends boolean, TSelected> = StrictOrFrom<TRouter, TFrom, TStrict> & UseParamsBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>;
8
- export type UseParamsRoute<out TFrom> = <TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseParamsBaseOptions<TRouter, TFrom, true, true, TSelected>) => Accessor<UseParamsResult<TRouter, TFrom, true, TSelected>>;
9
- export declare function useParams<TRouter extends AnyRouter = RegisteredRouter, const TFrom extends string | undefined = undefined, TStrict extends boolean = true, TThrow extends boolean = true, TSelected = unknown>(opts: UseParamsOptions<TRouter, TFrom, TStrict, ThrowConstraint<TStrict, TThrow>, TSelected>): Accessor<ThrowOrOptional<UseParamsResult<TRouter, TFrom, TStrict, TSelected>, TThrow>>;
@@ -1,15 +0,0 @@
1
- import { useMatch } from "./useMatch.js";
2
- function useParams(opts) {
3
- return useMatch({
4
- from: opts.from,
5
- strict: opts.strict,
6
- shouldThrow: opts.shouldThrow,
7
- select: (match) => {
8
- return opts.select ? opts.select(match.params) : match.params;
9
- }
10
- });
11
- }
12
- export {
13
- useParams
14
- };
15
- //# sourceMappingURL=useParams.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useParams.js","sources":["../../src/useParams.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseParams,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n UseParamsResult,\n} from '@tanstack/router-core'\n\nexport interface UseParamsBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (params: ResolveUseParams<TRouter, TFrom, TStrict>) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseParamsOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseParamsBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseParamsRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseParamsBaseOptions<\n TRouter,\n TFrom,\n /* TStrict */ true,\n /* TThrow */ true,\n TSelected\n >,\n) => Accessor<UseParamsResult<TRouter, TFrom, true, TSelected>>\n\nexport function useParams<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseParamsOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Accessor<\n ThrowOrOptional<UseParamsResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n return useMatch({\n from: opts.from!,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n select: (match: any) => {\n return opts.select ? opts.select(match.params) : match.params\n },\n } as any) as any\n}\n"],"names":["useParams","opts","useMatch","from","strict","shouldThrow","select","match","params"],"mappings":";AA6CO,SAASA,UAOdC,MASA;AACA,SAAOC,SAAS;AAAA,IACdC,MAAMF,KAAKE;AAAAA,IACXC,QAAQH,KAAKG;AAAAA,IACbC,aAAaJ,KAAKI;AAAAA,IAClBC,QAAQA,CAACC,UAAe;AACtB,aAAON,KAAKK,SAASL,KAAKK,OAAOC,MAAMC,MAAM,IAAID,MAAMC;AAAAA,IAAAA;AAAAA,EACzD,CACM;AACV;"}
@@ -1,4 +0,0 @@
1
- import { Accessor } from 'solid-js';
2
- import { AnyRouter, RegisteredRouter, UseRouteContextBaseOptions, UseRouteContextOptions, UseRouteContextResult } from '@tanstack/router-core';
3
- export type UseRouteContextRoute<out TFrom> = <TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseRouteContextBaseOptions<TRouter, TFrom, true, TSelected>) => Accessor<UseRouteContextResult<TRouter, TFrom, true, TSelected>>;
4
- export declare function useRouteContext<TRouter extends AnyRouter = RegisteredRouter, const TFrom extends string | undefined = undefined, TStrict extends boolean = true, TSelected = unknown>(opts: UseRouteContextOptions<TRouter, TFrom, TStrict, TSelected>): Accessor<UseRouteContextResult<TRouter, TFrom, TStrict, TSelected>>;
@@ -1,11 +0,0 @@
1
- import { useMatch } from "./useMatch.js";
2
- function useRouteContext(opts) {
3
- return useMatch({
4
- ...opts,
5
- select: (match) => opts.select ? opts.select(match.context) : match.context
6
- });
7
- }
8
- export {
9
- useRouteContext
10
- };
11
- //# sourceMappingURL=useRouteContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRouteContext.js","sources":["../../src/useRouteContext.ts"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n UseRouteContextBaseOptions,\n UseRouteContextOptions,\n UseRouteContextResult,\n} from '@tanstack/router-core'\n\nexport type UseRouteContextRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouteContextBaseOptions<TRouter, TFrom, true, TSelected>,\n) => Accessor<UseRouteContextResult<TRouter, TFrom, true, TSelected>>\n\nexport function useRouteContext<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseRouteContextOptions<TRouter, TFrom, TStrict, TSelected>,\n): Accessor<UseRouteContextResult<TRouter, TFrom, TStrict, TSelected>> {\n return useMatch({\n ...(opts as any),\n select: (match) =>\n opts.select ? opts.select(match.context) : match.context,\n }) as any\n}\n"],"names":[],"mappings":";AAiBO,SAAS,gBAMd,MACqE;AACrE,SAAO,SAAS;AAAA,IACd,GAAI;AAAA,IACJ,QAAQ,CAAC,UACP,KAAK,SAAS,KAAK,OAAO,MAAM,OAAO,IAAI,MAAM;AAAA,EAAA,CACpD;AACH;"}
@@ -1,4 +0,0 @@
1
- import { AnyRouter, RegisteredRouter } from '@tanstack/router-core';
2
- export declare function useRouter<TRouter extends AnyRouter = RegisteredRouter>(opts?: {
3
- warn?: boolean;
4
- }): TRouter;
@@ -1,12 +0,0 @@
1
- import * as Solid from "solid-js";
2
- import warning from "tiny-warning";
3
- import { getRouterContext } from "./routerContext.js";
4
- function useRouter(opts) {
5
- const value = Solid.useContext(getRouterContext());
6
- warning(!(((opts == null ? void 0 : opts.warn) ?? true) && !value), "useRouter must be used inside a <RouterProvider> component!");
7
- return value;
8
- }
9
- export {
10
- useRouter
11
- };
12
- //# sourceMappingURL=useRouter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRouter.js","sources":["../../src/useRouter.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport warning from 'tiny-warning'\nimport { getRouterContext } from './routerContext'\nimport type { AnyRouter, RegisteredRouter } from '@tanstack/router-core'\n\nexport function useRouter<TRouter extends AnyRouter = RegisteredRouter>(opts?: {\n warn?: boolean\n}): TRouter {\n const value = Solid.useContext(getRouterContext() as any)\n warning(\n !((opts?.warn ?? true) && !value),\n 'useRouter must be used inside a <RouterProvider> component!',\n )\n return value as any\n}\n"],"names":["useRouter","opts","value","Solid","useContext","getRouterContext","warning","warn"],"mappings":";;;AAKO,SAASA,UAAwDC,MAE5D;AACV,QAAMC,QAAQC,MAAMC,WAAWC,iBAAAA,CAAyB;AACxDC,UACE,IAAGL,6BAAMM,SAAQ,SAAS,CAACL,QAC3B,6DACF;AACOA,SAAAA;AACT;"}
@@ -1,8 +0,0 @@
1
- import { AnyRouter, RegisteredRouter, RouterState } from '@tanstack/router-core';
2
- import { Accessor } from 'solid-js';
3
- export type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {
4
- router?: TRouter;
5
- select?: (state: RouterState<TRouter['routeTree']>) => TSelected;
6
- };
7
- export type UseRouterStateResult<TRouter extends AnyRouter, TSelected> = unknown extends TSelected ? RouterState<TRouter['routeTree']> : TSelected;
8
- export declare function useRouterState<TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseRouterStateOptions<TRouter, TSelected>): Accessor<UseRouterStateResult<TRouter, TSelected>>;
@@ -1,16 +0,0 @@
1
- import { useStore } from "@tanstack/solid-store";
2
- import { useRouter } from "./useRouter.js";
3
- function useRouterState(opts) {
4
- const contextRouter = useRouter({
5
- warn: (opts == null ? void 0 : opts.router) === void 0
6
- });
7
- const router = (opts == null ? void 0 : opts.router) || contextRouter;
8
- return useStore(router.__store, (state) => {
9
- if (opts == null ? void 0 : opts.select) return opts.select(state);
10
- return state;
11
- });
12
- }
13
- export {
14
- useRouterState
15
- };
16
- //# sourceMappingURL=useRouterState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRouterState.js","sources":["../../src/useRouterState.tsx"],"sourcesContent":["import { useStore } from '@tanstack/solid-store'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\nexport type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {\n router?: TRouter\n select?: (state: RouterState<TRouter['routeTree']>) => TSelected\n}\n\nexport type UseRouterStateResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? RouterState<TRouter['routeTree']> : TSelected\n\nexport function useRouterState<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouterStateOptions<TRouter, TSelected>,\n): Accessor<UseRouterStateResult<TRouter, TSelected>> {\n const contextRouter = useRouter<TRouter>({\n warn: opts?.router === undefined,\n })\n const router = opts?.router || contextRouter\n\n return useStore(router.__store, (state) => {\n if (opts?.select) return opts.select(state)\n\n return state\n }) as Accessor<UseRouterStateResult<TRouter, TSelected>>\n}\n"],"names":["useRouterState","opts","contextRouter","useRouter","warn","router","undefined","useStore","__store","state","select"],"mappings":";;AAmBO,SAASA,eAIdC,MACoD;AACpD,QAAMC,gBAAgBC,UAAmB;AAAA,IACvCC,OAAMH,6BAAMI,YAAWC;AAAAA,EAAAA,CACxB;AACKD,QAAAA,UAASJ,6BAAMI,WAAUH;AAExBK,SAAAA,SAASF,OAAOG,SAAUC,CAAU,UAAA;AACzC,QAAIR,6BAAMS,OAAeT,QAAAA,KAAKS,OAAOD,KAAK;AAEnCA,WAAAA;AAAAA,EAAAA,CACR;AACH;"}
@@ -1,9 +0,0 @@
1
- import { Accessor } from 'solid-js';
2
- import { AnyRouter, RegisteredRouter, ResolveUseSearch, StrictOrFrom, ThrowConstraint, ThrowOrOptional, UseSearchResult } from '@tanstack/router-core';
3
- export interface UseSearchBaseOptions<TRouter extends AnyRouter, TFrom, TStrict extends boolean, TThrow extends boolean, TSelected> {
4
- select?: (state: ResolveUseSearch<TRouter, TFrom, TStrict>) => TSelected;
5
- shouldThrow?: TThrow;
6
- }
7
- export type UseSearchOptions<TRouter extends AnyRouter, TFrom, TStrict extends boolean, TThrow extends boolean, TSelected> = StrictOrFrom<TRouter, TFrom, TStrict> & UseSearchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>;
8
- export type UseSearchRoute<out TFrom> = <TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown>(opts?: UseSearchBaseOptions<TRouter, TFrom, true, true, TSelected>) => Accessor<UseSearchResult<TRouter, TFrom, true, TSelected>>;
9
- export declare function useSearch<TRouter extends AnyRouter = RegisteredRouter, const TFrom extends string | undefined = undefined, TStrict extends boolean = true, TThrow extends boolean = true, TSelected = unknown>(opts: UseSearchOptions<TRouter, TFrom, TStrict, ThrowConstraint<TStrict, TThrow>, TSelected>): Accessor<ThrowOrOptional<UseSearchResult<TRouter, TFrom, TStrict, TSelected>, TThrow>>;
@@ -1,15 +0,0 @@
1
- import { useMatch } from "./useMatch.js";
2
- function useSearch(opts) {
3
- return useMatch({
4
- from: opts.from,
5
- strict: opts.strict,
6
- shouldThrow: opts.shouldThrow,
7
- select: (match) => {
8
- return opts.select ? opts.select(match.search) : match.search;
9
- }
10
- });
11
- }
12
- export {
13
- useSearch
14
- };
15
- //# sourceMappingURL=useSearch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSearch.js","sources":["../../src/useSearch.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseSearch,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n UseSearchResult,\n} from '@tanstack/router-core'\n\nexport interface UseSearchBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (state: ResolveUseSearch<TRouter, TFrom, TStrict>) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseSearchOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseSearchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseSearchRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseSearchBaseOptions<\n TRouter,\n TFrom,\n /* TStrict */ true,\n /* TThrow */ true,\n TSelected\n >,\n) => Accessor<UseSearchResult<TRouter, TFrom, true, TSelected>>\n\nexport function useSearch<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseSearchOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Accessor<\n ThrowOrOptional<UseSearchResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n return useMatch({\n from: opts.from!,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n select: (match: any) => {\n return opts.select ? opts.select(match.search) : match.search\n },\n }) as any\n}\n"],"names":["useSearch","opts","useMatch","from","strict","shouldThrow","select","match","search"],"mappings":";AA6CO,SAASA,UAOdC,MASA;AACA,SAAOC,SAAS;AAAA,IACdC,MAAMF,KAAKE;AAAAA,IACXC,QAAQH,KAAKG;AAAAA,IACbC,aAAaJ,KAAKI;AAAAA,IAClBC,QAAQA,CAACC,UAAe;AACtB,aAAON,KAAKK,SAASL,KAAKK,OAAOC,MAAMC,MAAM,IAAID,MAAMC;AAAAA,IAAAA;AAAAA,EACzD,CACD;AACH;"}