one 1.2.57 → 1.2.59

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 (612) hide show
  1. package/dist/cjs/cli/build.cjs +3 -1
  2. package/dist/cjs/cli/build.js +1 -1
  3. package/dist/cjs/cli/build.js.map +1 -1
  4. package/dist/cjs/cli/build.native.js +13 -12
  5. package/dist/cjs/cli/build.native.js.map +1 -1
  6. package/dist/cjs/cli/buildPage.cjs +1 -1
  7. package/dist/cjs/cli/buildPage.js +1 -1
  8. package/dist/cjs/cli/buildPage.native.js +2 -2
  9. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  10. package/dist/cjs/cli/dev.cjs +4 -4
  11. package/dist/cjs/cli/dev.js +4 -4
  12. package/dist/cjs/cli/dev.js.map +1 -1
  13. package/dist/cjs/cli/dev.native.js +4 -4
  14. package/dist/cjs/cli/dev.native.js.map +1 -1
  15. package/dist/cjs/cli/generateRoutes.cjs +1 -1
  16. package/dist/cjs/cli/generateRoutes.js +1 -1
  17. package/dist/cjs/cli/generateRoutes.native.js +1 -1
  18. package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
  19. package/dist/cjs/cli/generateSitemap.native.js +7 -7
  20. package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
  21. package/dist/cjs/config.native.js +2 -2
  22. package/dist/cjs/config.native.js.map +1 -1
  23. package/dist/cjs/constants.native.js +1 -1
  24. package/dist/cjs/constants.native.js.map +1 -1
  25. package/dist/cjs/createApp.cjs +2 -1
  26. package/dist/cjs/createApp.js +2 -2
  27. package/dist/cjs/createApp.js.map +1 -1
  28. package/dist/cjs/createHandleRequest.test.js +3 -1
  29. package/dist/cjs/createHandleRequest.test.js.map +1 -1
  30. package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
  31. package/dist/cjs/devtools/registry.cjs +30 -0
  32. package/dist/cjs/devtools/registry.js +25 -0
  33. package/dist/cjs/devtools/registry.js.map +6 -0
  34. package/dist/cjs/devtools/registry.native.js +33 -0
  35. package/dist/cjs/devtools/registry.native.js.map +1 -0
  36. package/dist/cjs/fork/NavigationContainer.native.js +5 -5
  37. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  38. package/dist/cjs/fork/createMemoryHistory.cjs +20 -9
  39. package/dist/cjs/fork/createMemoryHistory.js +22 -4
  40. package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
  41. package/dist/cjs/fork/createMemoryHistory.native.js +22 -11
  42. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  43. package/dist/cjs/fork/extractPathFromURL.native.js +8 -8
  44. package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
  45. package/dist/cjs/fork/findFocusedRoute.native.js +2 -3
  46. package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
  47. package/dist/cjs/fork/getPathFromState-mods.native.js +2 -3
  48. package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
  49. package/dist/cjs/fork/getStateFromPath-mods.native.js +3 -3
  50. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
  51. package/dist/cjs/fork/useLinking.cjs +11 -5
  52. package/dist/cjs/fork/useLinking.js +6 -6
  53. package/dist/cjs/fork/useLinking.js.map +1 -1
  54. package/dist/cjs/fork/useLinking.native.js.map +1 -1
  55. package/dist/cjs/head/url.native.js +2 -3
  56. package/dist/cjs/head/url.native.js.map +1 -1
  57. package/dist/cjs/hooks.js.map +1 -1
  58. package/dist/cjs/hooks.native.js.map +1 -1
  59. package/dist/cjs/index.cjs +17 -1
  60. package/dist/cjs/index.js +12 -2
  61. package/dist/cjs/index.js.map +1 -1
  62. package/dist/cjs/index.native.js +17 -1
  63. package/dist/cjs/index.native.js.map +1 -1
  64. package/dist/cjs/layouts/withLayoutContext.cjs +34 -15
  65. package/dist/cjs/layouts/withLayoutContext.js +29 -13
  66. package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
  67. package/dist/cjs/layouts/withLayoutContext.native.js +42 -19
  68. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  69. package/dist/cjs/link/Link.cjs +5 -2
  70. package/dist/cjs/link/Link.js +3 -2
  71. package/dist/cjs/link/Link.js.map +1 -1
  72. package/dist/cjs/link/Link.native.js +6 -1
  73. package/dist/cjs/link/Link.native.js.map +1 -1
  74. package/dist/cjs/link/href.native.js +2 -2
  75. package/dist/cjs/link/href.native.js.map +1 -1
  76. package/dist/cjs/link/useLinkTo.cjs +11 -3
  77. package/dist/cjs/link/useLinkTo.js +6 -3
  78. package/dist/cjs/link/useLinkTo.js.map +1 -1
  79. package/dist/cjs/link/useLinkTo.native.js +11 -3
  80. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  81. package/dist/cjs/router/Route.js.map +1 -1
  82. package/dist/cjs/router/Route.native.js.map +1 -1
  83. package/dist/cjs/router/findRouteNode.cjs +70 -0
  84. package/dist/cjs/router/findRouteNode.js +72 -0
  85. package/dist/cjs/router/findRouteNode.js.map +6 -0
  86. package/dist/cjs/router/findRouteNode.native.js +104 -0
  87. package/dist/cjs/router/findRouteNode.native.js.map +1 -0
  88. package/dist/cjs/router/getRoutes.native.js +3 -3
  89. package/dist/cjs/router/getRoutes.native.js.map +1 -1
  90. package/dist/cjs/router/router.cjs +160 -11
  91. package/dist/cjs/router/router.js +142 -7
  92. package/dist/cjs/router/router.js.map +2 -2
  93. package/dist/cjs/router/router.native.js +247 -67
  94. package/dist/cjs/router/router.native.js.map +1 -1
  95. package/dist/cjs/router/useNavigation.js.map +1 -1
  96. package/dist/cjs/router/useNavigation.native.js.map +1 -1
  97. package/dist/cjs/router/useScreens.cjs +1 -1
  98. package/dist/cjs/router/useScreens.js +1 -1
  99. package/dist/cjs/router/useScreens.js.map +1 -1
  100. package/dist/cjs/router/useScreens.native.js +6 -3
  101. package/dist/cjs/router/useScreens.native.js.map +1 -1
  102. package/dist/cjs/router/utils/getNavigateAction.native.js +2 -4
  103. package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
  104. package/dist/cjs/server/oneServe.js.map +1 -1
  105. package/dist/cjs/server/oneServe.native.js +4 -4
  106. package/dist/cjs/server/oneServe.native.js.map +1 -1
  107. package/dist/cjs/server/setupBuildOptions.native.js +1 -1
  108. package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
  109. package/dist/cjs/ui/common.native.js +6 -5
  110. package/dist/cjs/ui/common.native.js.map +1 -1
  111. package/dist/cjs/useBlocker.cjs +158 -0
  112. package/dist/cjs/useBlocker.js +145 -0
  113. package/dist/cjs/useBlocker.js.map +6 -0
  114. package/dist/cjs/useBlocker.native.js +89 -0
  115. package/dist/cjs/useBlocker.native.js.map +1 -0
  116. package/dist/cjs/useFocusEffect.cjs +2 -2
  117. package/dist/cjs/useFocusEffect.js +2 -2
  118. package/dist/cjs/useFocusEffect.js.map +1 -1
  119. package/dist/cjs/useFocusEffect.native.js +2 -2
  120. package/dist/cjs/useFocusEffect.native.js.map +1 -1
  121. package/dist/cjs/useLoader.cjs +69 -3
  122. package/dist/cjs/useLoader.js +57 -4
  123. package/dist/cjs/useLoader.js.map +2 -2
  124. package/dist/cjs/useLoader.native.js +90 -6
  125. package/dist/cjs/useLoader.native.js.map +1 -1
  126. package/dist/cjs/useScrollGroup.cjs +37 -0
  127. package/dist/cjs/useScrollGroup.js +30 -0
  128. package/dist/cjs/useScrollGroup.js.map +6 -0
  129. package/dist/cjs/useScrollGroup.native.js +29 -0
  130. package/dist/cjs/useScrollGroup.native.js.map +1 -0
  131. package/dist/cjs/validateParams.cjs +80 -0
  132. package/dist/cjs/validateParams.js +84 -0
  133. package/dist/cjs/validateParams.js.map +6 -0
  134. package/dist/cjs/validateParams.native.js +180 -0
  135. package/dist/cjs/validateParams.native.js.map +1 -0
  136. package/dist/cjs/validateSearch.cjs +104 -0
  137. package/dist/cjs/validateSearch.js +99 -0
  138. package/dist/cjs/validateSearch.js.map +6 -0
  139. package/dist/cjs/validateSearch.native.js +202 -0
  140. package/dist/cjs/validateSearch.native.js.map +1 -0
  141. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +2 -2
  142. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  143. package/dist/cjs/views/ErrorBoundary.cjs +293 -10
  144. package/dist/cjs/views/ErrorBoundary.js +328 -8
  145. package/dist/cjs/views/ErrorBoundary.js.map +2 -2
  146. package/dist/cjs/views/ErrorBoundary.native.js +159 -4
  147. package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
  148. package/dist/cjs/views/Navigator.cjs +10 -3
  149. package/dist/cjs/views/Navigator.js +11 -3
  150. package/dist/cjs/views/Navigator.js.map +1 -1
  151. package/dist/cjs/views/Navigator.native.js +15 -6
  152. package/dist/cjs/views/Navigator.native.js.map +1 -1
  153. package/dist/cjs/views/Protected.cjs +36 -0
  154. package/dist/cjs/views/Protected.js +27 -0
  155. package/dist/cjs/views/Protected.js.map +6 -0
  156. package/dist/cjs/views/Protected.native.js +44 -0
  157. package/dist/cjs/views/Protected.native.js.map +1 -0
  158. package/dist/cjs/views/RootErrorBoundary.cjs +193 -8
  159. package/dist/cjs/views/RootErrorBoundary.js +213 -8
  160. package/dist/cjs/views/RootErrorBoundary.js.map +1 -1
  161. package/dist/cjs/views/RootErrorBoundary.native.js +192 -8
  162. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  163. package/dist/cjs/views/ScrollBehavior.cjs +49 -11
  164. package/dist/cjs/views/ScrollBehavior.js +47 -11
  165. package/dist/cjs/views/ScrollBehavior.js.map +1 -1
  166. package/dist/cjs/views/ScrollBehavior.native.js +68 -10
  167. package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
  168. package/dist/cjs/views/SourceInspector.cjs +28 -0
  169. package/dist/cjs/views/SourceInspector.js +23 -0
  170. package/dist/cjs/views/SourceInspector.js.map +6 -0
  171. package/dist/cjs/views/SourceInspector.native.js +32 -0
  172. package/dist/cjs/views/SourceInspector.native.js.map +1 -0
  173. package/dist/cjs/views/Try.cjs +40 -7
  174. package/dist/cjs/views/Try.js +38 -4
  175. package/dist/cjs/views/Try.js.map +1 -1
  176. package/dist/cjs/views/Try.native.js +42 -7
  177. package/dist/cjs/views/Try.native.js.map +1 -1
  178. package/dist/cjs/vite/DevHead.cjs +797 -43
  179. package/dist/cjs/vite/DevHead.js +802 -51
  180. package/dist/cjs/vite/DevHead.js.map +1 -1
  181. package/dist/cjs/vite/DevHead.native.js +783 -1
  182. package/dist/cjs/vite/DevHead.native.js.map +1 -1
  183. package/dist/cjs/vite/one.cjs +7 -1
  184. package/dist/cjs/vite/one.js +7 -2
  185. package/dist/cjs/vite/one.js.map +1 -1
  186. package/dist/cjs/vite/one.native.js +17 -7
  187. package/dist/cjs/vite/one.native.js.map +1 -1
  188. package/dist/cjs/vite/plugins/SSRCSSPlugin.cjs +44 -4
  189. package/dist/cjs/vite/plugins/SSRCSSPlugin.js +48 -4
  190. package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
  191. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js +62 -5
  192. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  193. package/dist/cjs/vite/plugins/clientTreeShakePlugin.cjs +34 -15
  194. package/dist/cjs/vite/plugins/clientTreeShakePlugin.js +24 -3
  195. package/dist/cjs/vite/plugins/clientTreeShakePlugin.js.map +1 -1
  196. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js +55 -19
  197. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  198. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.cjs +129 -0
  199. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.js +129 -0
  200. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.js.map +6 -0
  201. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js +140 -0
  202. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -0
  203. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +6 -3
  204. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  205. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +3 -3
  206. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  207. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +5 -1
  208. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js +11 -6
  209. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  210. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +1 -0
  211. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  212. package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +155 -0
  213. package/dist/cjs/vite/plugins/sourceInspectorPlugin.js +148 -0
  214. package/dist/cjs/vite/plugins/sourceInspectorPlugin.js.map +6 -0
  215. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +231 -0
  216. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -0
  217. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +25 -6
  218. package/dist/cjs/vite/plugins/virtualEntryPlugin.js +16 -6
  219. package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
  220. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +26 -7
  221. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  222. package/dist/esm/cli/build.js +1 -1
  223. package/dist/esm/cli/build.js.map +1 -1
  224. package/dist/esm/cli/build.mjs +3 -1
  225. package/dist/esm/cli/build.mjs.map +1 -1
  226. package/dist/esm/cli/build.native.js +13 -12
  227. package/dist/esm/cli/build.native.js.map +1 -1
  228. package/dist/esm/cli/buildPage.js +1 -1
  229. package/dist/esm/cli/buildPage.mjs +1 -1
  230. package/dist/esm/cli/buildPage.mjs.map +1 -1
  231. package/dist/esm/cli/buildPage.native.js +2 -2
  232. package/dist/esm/cli/buildPage.native.js.map +1 -1
  233. package/dist/esm/cli/dev.js +4 -4
  234. package/dist/esm/cli/dev.js.map +1 -1
  235. package/dist/esm/cli/dev.mjs +4 -4
  236. package/dist/esm/cli/dev.mjs.map +1 -1
  237. package/dist/esm/cli/dev.native.js +4 -4
  238. package/dist/esm/cli/dev.native.js.map +1 -1
  239. package/dist/esm/cli/generateRoutes.js +1 -1
  240. package/dist/esm/cli/generateRoutes.mjs +1 -1
  241. package/dist/esm/cli/generateRoutes.mjs.map +1 -1
  242. package/dist/esm/cli/generateRoutes.native.js +1 -1
  243. package/dist/esm/cli/generateRoutes.native.js.map +1 -1
  244. package/dist/esm/cli/generateSitemap.native.js +7 -7
  245. package/dist/esm/cli/generateSitemap.native.js.map +1 -1
  246. package/dist/esm/config.native.js +2 -2
  247. package/dist/esm/config.native.js.map +1 -1
  248. package/dist/esm/constants.native.js +2 -2
  249. package/dist/esm/constants.native.js.map +1 -1
  250. package/dist/esm/createApp.js +2 -2
  251. package/dist/esm/createApp.js.map +1 -1
  252. package/dist/esm/createApp.mjs +2 -1
  253. package/dist/esm/createApp.mjs.map +1 -1
  254. package/dist/esm/createHandleRequest.test.js +3 -1
  255. package/dist/esm/createHandleRequest.test.js.map +1 -1
  256. package/dist/esm/createHandleRequest.test.mjs.map +1 -1
  257. package/dist/esm/createHandleRequest.test.native.js.map +1 -1
  258. package/dist/esm/devtools/registry.js +9 -0
  259. package/dist/esm/devtools/registry.js.map +6 -0
  260. package/dist/esm/devtools/registry.mjs +6 -0
  261. package/dist/esm/devtools/registry.mjs.map +1 -0
  262. package/dist/esm/devtools/registry.native.js +6 -0
  263. package/dist/esm/devtools/registry.native.js.map +1 -0
  264. package/dist/esm/fork/NavigationContainer.native.js +5 -5
  265. package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
  266. package/dist/esm/fork/createMemoryHistory.js +22 -4
  267. package/dist/esm/fork/createMemoryHistory.js.map +1 -1
  268. package/dist/esm/fork/createMemoryHistory.mjs +20 -9
  269. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  270. package/dist/esm/fork/createMemoryHistory.native.js +22 -11
  271. package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
  272. package/dist/esm/fork/extractPathFromURL.native.js +8 -8
  273. package/dist/esm/fork/extractPathFromURL.native.js.map +1 -1
  274. package/dist/esm/fork/findFocusedRoute.native.js +2 -3
  275. package/dist/esm/fork/findFocusedRoute.native.js.map +1 -1
  276. package/dist/esm/fork/getPathFromState-mods.native.js +2 -3
  277. package/dist/esm/fork/getPathFromState-mods.native.js.map +1 -1
  278. package/dist/esm/fork/getStateFromPath-mods.native.js +3 -3
  279. package/dist/esm/fork/getStateFromPath-mods.native.js.map +1 -1
  280. package/dist/esm/fork/useLinking.js +6 -5
  281. package/dist/esm/fork/useLinking.js.map +1 -1
  282. package/dist/esm/fork/useLinking.mjs +11 -5
  283. package/dist/esm/fork/useLinking.mjs.map +1 -1
  284. package/dist/esm/fork/useLinking.native.js.map +1 -1
  285. package/dist/esm/head/url.native.js +2 -3
  286. package/dist/esm/head/url.native.js.map +1 -1
  287. package/dist/esm/hooks.js.map +1 -1
  288. package/dist/esm/hooks.mjs.map +1 -1
  289. package/dist/esm/hooks.native.js.map +1 -1
  290. package/dist/esm/index.js +30 -2
  291. package/dist/esm/index.js.map +1 -1
  292. package/dist/esm/index.mjs +8 -2
  293. package/dist/esm/index.mjs.map +1 -1
  294. package/dist/esm/index.native.js +8 -2
  295. package/dist/esm/index.native.js.map +1 -1
  296. package/dist/esm/layouts/withLayoutContext.js +30 -12
  297. package/dist/esm/layouts/withLayoutContext.js.map +1 -1
  298. package/dist/esm/layouts/withLayoutContext.mjs +34 -15
  299. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  300. package/dist/esm/layouts/withLayoutContext.native.js +42 -19
  301. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  302. package/dist/esm/link/Link.js +3 -2
  303. package/dist/esm/link/Link.js.map +1 -1
  304. package/dist/esm/link/Link.mjs +5 -2
  305. package/dist/esm/link/Link.mjs.map +1 -1
  306. package/dist/esm/link/Link.native.js +6 -1
  307. package/dist/esm/link/Link.native.js.map +1 -1
  308. package/dist/esm/link/href.native.js +2 -2
  309. package/dist/esm/link/href.native.js.map +1 -1
  310. package/dist/esm/link/useLinkTo.js +6 -3
  311. package/dist/esm/link/useLinkTo.js.map +1 -1
  312. package/dist/esm/link/useLinkTo.mjs +11 -3
  313. package/dist/esm/link/useLinkTo.mjs.map +1 -1
  314. package/dist/esm/link/useLinkTo.native.js +11 -3
  315. package/dist/esm/link/useLinkTo.native.js.map +1 -1
  316. package/dist/esm/router/Route.js.map +1 -1
  317. package/dist/esm/router/Route.mjs.map +1 -1
  318. package/dist/esm/router/Route.native.js.map +1 -1
  319. package/dist/esm/router/findRouteNode.js +56 -0
  320. package/dist/esm/router/findRouteNode.js.map +6 -0
  321. package/dist/esm/router/findRouteNode.mjs +44 -0
  322. package/dist/esm/router/findRouteNode.mjs.map +1 -0
  323. package/dist/esm/router/findRouteNode.native.js +75 -0
  324. package/dist/esm/router/findRouteNode.native.js.map +1 -0
  325. package/dist/esm/router/getRoutes.native.js +3 -3
  326. package/dist/esm/router/getRoutes.native.js.map +1 -1
  327. package/dist/esm/router/router.js +154 -6
  328. package/dist/esm/router/router.js.map +1 -1
  329. package/dist/esm/router/router.mjs +151 -10
  330. package/dist/esm/router/router.mjs.map +1 -1
  331. package/dist/esm/router/router.native.js +238 -66
  332. package/dist/esm/router/router.native.js.map +1 -1
  333. package/dist/esm/router/useNavigation.js.map +1 -1
  334. package/dist/esm/router/useNavigation.mjs.map +1 -1
  335. package/dist/esm/router/useNavigation.native.js.map +1 -1
  336. package/dist/esm/router/useScreens.js +1 -1
  337. package/dist/esm/router/useScreens.js.map +1 -1
  338. package/dist/esm/router/useScreens.mjs +1 -1
  339. package/dist/esm/router/useScreens.mjs.map +1 -1
  340. package/dist/esm/router/useScreens.native.js +6 -3
  341. package/dist/esm/router/useScreens.native.js.map +1 -1
  342. package/dist/esm/router/utils/getNavigateAction.native.js +2 -4
  343. package/dist/esm/router/utils/getNavigateAction.native.js.map +1 -1
  344. package/dist/esm/server/oneServe.js.map +1 -1
  345. package/dist/esm/server/oneServe.mjs.map +1 -1
  346. package/dist/esm/server/oneServe.native.js +4 -4
  347. package/dist/esm/server/oneServe.native.js.map +1 -1
  348. package/dist/esm/server/setupBuildOptions.native.js +1 -1
  349. package/dist/esm/server/setupBuildOptions.native.js.map +1 -1
  350. package/dist/esm/ui/common.native.js +6 -5
  351. package/dist/esm/ui/common.native.js.map +1 -1
  352. package/dist/esm/useBlocker.js +122 -0
  353. package/dist/esm/useBlocker.js.map +6 -0
  354. package/dist/esm/useBlocker.mjs +123 -0
  355. package/dist/esm/useBlocker.mjs.map +1 -0
  356. package/dist/esm/useBlocker.native.js +51 -0
  357. package/dist/esm/useBlocker.native.js.map +1 -0
  358. package/dist/esm/useFocusEffect.js +2 -2
  359. package/dist/esm/useFocusEffect.js.map +1 -1
  360. package/dist/esm/useFocusEffect.mjs +2 -2
  361. package/dist/esm/useFocusEffect.mjs.map +1 -1
  362. package/dist/esm/useFocusEffect.native.js +2 -2
  363. package/dist/esm/useFocusEffect.native.js.map +1 -1
  364. package/dist/esm/useLoader.js +57 -3
  365. package/dist/esm/useLoader.js.map +2 -2
  366. package/dist/esm/useLoader.mjs +69 -4
  367. package/dist/esm/useLoader.mjs.map +1 -1
  368. package/dist/esm/useLoader.native.js +90 -7
  369. package/dist/esm/useLoader.native.js.map +1 -1
  370. package/dist/esm/useScrollGroup.js +16 -0
  371. package/dist/esm/useScrollGroup.js.map +6 -0
  372. package/dist/esm/useScrollGroup.mjs +14 -0
  373. package/dist/esm/useScrollGroup.mjs.map +1 -0
  374. package/dist/esm/useScrollGroup.native.js +3 -0
  375. package/dist/esm/useScrollGroup.native.js.map +1 -0
  376. package/dist/esm/validateParams.js +68 -0
  377. package/dist/esm/validateParams.js.map +6 -0
  378. package/dist/esm/validateParams.mjs +54 -0
  379. package/dist/esm/validateParams.mjs.map +1 -0
  380. package/dist/esm/validateParams.native.js +151 -0
  381. package/dist/esm/validateParams.native.js.map +1 -0
  382. package/dist/esm/validateSearch.js +83 -0
  383. package/dist/esm/validateSearch.js.map +6 -0
  384. package/dist/esm/validateSearch.mjs +77 -0
  385. package/dist/esm/validateSearch.mjs.map +1 -0
  386. package/dist/esm/validateSearch.native.js +172 -0
  387. package/dist/esm/validateSearch.native.js.map +1 -0
  388. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +2 -2
  389. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  390. package/dist/esm/views/ErrorBoundary.js +325 -7
  391. package/dist/esm/views/ErrorBoundary.js.map +2 -2
  392. package/dist/esm/views/ErrorBoundary.mjs +289 -6
  393. package/dist/esm/views/ErrorBoundary.mjs.map +1 -1
  394. package/dist/esm/views/ErrorBoundary.native.js +159 -4
  395. package/dist/esm/views/ErrorBoundary.native.js.map +1 -1
  396. package/dist/esm/views/Navigator.js +11 -2
  397. package/dist/esm/views/Navigator.js.map +1 -1
  398. package/dist/esm/views/Navigator.mjs +10 -3
  399. package/dist/esm/views/Navigator.mjs.map +1 -1
  400. package/dist/esm/views/Navigator.native.js +15 -6
  401. package/dist/esm/views/Navigator.native.js.map +1 -1
  402. package/dist/esm/views/Protected.js +14 -0
  403. package/dist/esm/views/Protected.js.map +6 -0
  404. package/dist/esm/views/Protected.mjs +11 -0
  405. package/dist/esm/views/Protected.mjs.map +1 -0
  406. package/dist/esm/views/Protected.native.js +16 -0
  407. package/dist/esm/views/Protected.native.js.map +1 -0
  408. package/dist/esm/views/RootErrorBoundary.js +214 -7
  409. package/dist/esm/views/RootErrorBoundary.js.map +1 -1
  410. package/dist/esm/views/RootErrorBoundary.mjs +192 -7
  411. package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
  412. package/dist/esm/views/RootErrorBoundary.native.js +191 -7
  413. package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
  414. package/dist/esm/views/ScrollBehavior.js +47 -11
  415. package/dist/esm/views/ScrollBehavior.js.map +1 -1
  416. package/dist/esm/views/ScrollBehavior.mjs +48 -11
  417. package/dist/esm/views/ScrollBehavior.mjs.map +1 -1
  418. package/dist/esm/views/ScrollBehavior.native.js +67 -10
  419. package/dist/esm/views/ScrollBehavior.native.js.map +1 -1
  420. package/dist/esm/views/SourceInspector.js +7 -0
  421. package/dist/esm/views/SourceInspector.js.map +6 -0
  422. package/dist/esm/views/SourceInspector.mjs +5 -0
  423. package/dist/esm/views/SourceInspector.mjs.map +1 -0
  424. package/dist/esm/views/SourceInspector.native.js +6 -0
  425. package/dist/esm/views/SourceInspector.native.js.map +1 -0
  426. package/dist/esm/views/Try.js +38 -4
  427. package/dist/esm/views/Try.js.map +1 -1
  428. package/dist/esm/views/Try.mjs +40 -7
  429. package/dist/esm/views/Try.mjs.map +1 -1
  430. package/dist/esm/views/Try.native.js +42 -7
  431. package/dist/esm/views/Try.native.js.map +1 -1
  432. package/dist/esm/vite/DevHead.js +802 -51
  433. package/dist/esm/vite/DevHead.js.map +1 -1
  434. package/dist/esm/vite/DevHead.mjs +797 -43
  435. package/dist/esm/vite/DevHead.mjs.map +1 -1
  436. package/dist/esm/vite/DevHead.native.js +782 -0
  437. package/dist/esm/vite/DevHead.native.js.map +1 -1
  438. package/dist/esm/vite/one.js +7 -1
  439. package/dist/esm/vite/one.js.map +1 -1
  440. package/dist/esm/vite/one.mjs +7 -1
  441. package/dist/esm/vite/one.mjs.map +1 -1
  442. package/dist/esm/vite/one.native.js +17 -7
  443. package/dist/esm/vite/one.native.js.map +1 -1
  444. package/dist/esm/vite/plugins/SSRCSSPlugin.js +48 -4
  445. package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
  446. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs +44 -4
  447. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
  448. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js +61 -4
  449. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  450. package/dist/esm/vite/plugins/clientTreeShakePlugin.js +24 -3
  451. package/dist/esm/vite/plugins/clientTreeShakePlugin.js.map +1 -1
  452. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs +34 -15
  453. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs.map +1 -1
  454. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js +55 -19
  455. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  456. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.js +130 -0
  457. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.js.map +6 -0
  458. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs +130 -0
  459. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs.map +1 -0
  460. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js +138 -0
  461. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -0
  462. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +6 -3
  463. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  464. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  465. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +3 -3
  466. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  467. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js +11 -6
  468. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  469. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +5 -1
  470. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
  471. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +1 -0
  472. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  473. package/dist/esm/vite/plugins/sourceInspectorPlugin.js +126 -0
  474. package/dist/esm/vite/plugins/sourceInspectorPlugin.js.map +6 -0
  475. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +121 -0
  476. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -0
  477. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +194 -0
  478. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -0
  479. package/dist/esm/vite/plugins/virtualEntryPlugin.js +16 -6
  480. package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
  481. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +25 -6
  482. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  483. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +26 -7
  484. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  485. package/package.json +16 -14
  486. package/src/cli/build.ts +1 -1
  487. package/src/cli/buildPage.ts +1 -1
  488. package/src/cli/dev.ts +4 -4
  489. package/src/cli/generateRoutes.ts +1 -1
  490. package/src/createApp.tsx +11 -1
  491. package/src/createHandleRequest.test.ts +3 -1
  492. package/src/devtools/registry.ts +21 -0
  493. package/src/fork/createMemoryHistory.tsx +43 -11
  494. package/src/fork/useLinking.ts +14 -4
  495. package/src/hooks.tsx +71 -21
  496. package/src/index.ts +34 -1
  497. package/src/interfaces/router.ts +48 -0
  498. package/src/layouts/withLayoutContext.tsx +48 -8
  499. package/src/link/Link.tsx +7 -2
  500. package/src/link/useLinkTo.tsx +7 -3
  501. package/src/router/Route.tsx +32 -3
  502. package/src/router/findRouteNode.ts +127 -0
  503. package/src/router/router.ts +291 -2
  504. package/src/router/useNavigation.ts +12 -3
  505. package/src/router/useScreens.tsx +9 -3
  506. package/src/useBlocker.native.ts +153 -0
  507. package/src/useBlocker.ts +340 -0
  508. package/src/useFocusEffect.ts +18 -5
  509. package/src/useLoader.ts +193 -2
  510. package/src/useScrollGroup.native.ts +7 -0
  511. package/src/useScrollGroup.ts +35 -0
  512. package/src/validateParams.ts +196 -0
  513. package/src/validateSearch.ts +241 -0
  514. package/src/views/ErrorBoundary.tsx +154 -156
  515. package/src/views/ErrorBoundary.web.tsx +321 -0
  516. package/src/views/Navigator.tsx +18 -2
  517. package/src/views/Protected.tsx +62 -0
  518. package/src/views/RootErrorBoundary.tsx +214 -17
  519. package/src/views/ScrollBehavior.tsx +82 -3
  520. package/src/views/SourceInspector.tsx +39 -0
  521. package/src/views/Try.tsx +81 -12
  522. package/src/vite/DevHead.tsx +819 -54
  523. package/src/vite/one.ts +13 -0
  524. package/src/vite/plugins/SSRCSSPlugin.ts +104 -0
  525. package/src/vite/plugins/clientTreeShakePlugin.test.ts +174 -0
  526. package/src/vite/plugins/clientTreeShakePlugin.ts +50 -4
  527. package/src/vite/plugins/fileSystemRouterPlugin.tsx +11 -8
  528. package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +4 -0
  529. package/src/vite/plugins/sourceInspectorPlugin.ts +246 -0
  530. package/src/vite/plugins/virtualEntryPlugin.ts +36 -10
  531. package/src/vite/types.ts +28 -0
  532. package/types/createApp.d.ts +5 -0
  533. package/types/createApp.d.ts.map +1 -1
  534. package/types/devtools/registry.d.ts +15 -0
  535. package/types/devtools/registry.d.ts.map +1 -0
  536. package/types/fork/createMemoryHistory.d.ts +8 -3
  537. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  538. package/types/fork/useLinking.d.ts.map +1 -1
  539. package/types/hooks.d.ts +71 -20
  540. package/types/hooks.d.ts.map +1 -1
  541. package/types/index.d.ts +8 -1
  542. package/types/index.d.ts.map +1 -1
  543. package/types/interfaces/router.d.ts +47 -0
  544. package/types/interfaces/router.d.ts.map +1 -1
  545. package/types/layouts/Drawer.d.ts +15 -11
  546. package/types/layouts/Drawer.d.ts.map +1 -1
  547. package/types/layouts/withLayoutContext.d.ts +2 -1
  548. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  549. package/types/link/Link.d.ts.map +1 -1
  550. package/types/link/useLinkTo.d.ts +1 -0
  551. package/types/link/useLinkTo.d.ts.map +1 -1
  552. package/types/router/Route.d.ts +32 -3
  553. package/types/router/Route.d.ts.map +1 -1
  554. package/types/router/findRouteNode.d.ts +31 -0
  555. package/types/router/findRouteNode.d.ts.map +1 -0
  556. package/types/router/router.d.ts +35 -0
  557. package/types/router/router.d.ts.map +1 -1
  558. package/types/router/useNavigation.d.ts +12 -3
  559. package/types/router/useNavigation.d.ts.map +1 -1
  560. package/types/router/useScreens.d.ts +2 -0
  561. package/types/router/useScreens.d.ts.map +1 -1
  562. package/types/server/oneServe.d.ts.map +1 -1
  563. package/types/ui/TabContext.d.ts +1 -1
  564. package/types/ui/TabContext.d.ts.map +1 -1
  565. package/types/ui/Tabs.d.ts +2 -2
  566. package/types/ui/Tabs.d.ts.map +1 -1
  567. package/types/useBlocker.d.ts +72 -0
  568. package/types/useBlocker.d.ts.map +1 -0
  569. package/types/useBlocker.native.d.ts +60 -0
  570. package/types/useBlocker.native.d.ts.map +1 -0
  571. package/types/useFocusEffect.d.ts +17 -4
  572. package/types/useFocusEffect.d.ts.map +1 -1
  573. package/types/useLoader.d.ts +63 -0
  574. package/types/useLoader.d.ts.map +1 -1
  575. package/types/useScrollGroup.d.ts +18 -0
  576. package/types/useScrollGroup.d.ts.map +1 -0
  577. package/types/useScrollGroup.native.d.ts +6 -0
  578. package/types/useScrollGroup.native.d.ts.map +1 -0
  579. package/types/validateParams.d.ts +85 -0
  580. package/types/validateParams.d.ts.map +1 -0
  581. package/types/validateSearch.d.ts +107 -0
  582. package/types/validateSearch.d.ts.map +1 -0
  583. package/types/views/ErrorBoundary.d.ts +11 -1
  584. package/types/views/ErrorBoundary.d.ts.map +1 -1
  585. package/types/views/ErrorBoundary.web.d.ts +13 -0
  586. package/types/views/ErrorBoundary.web.d.ts.map +1 -0
  587. package/types/views/Navigator.d.ts.map +1 -1
  588. package/types/views/Protected.d.ts +39 -0
  589. package/types/views/Protected.d.ts.map +1 -0
  590. package/types/views/RootErrorBoundary.d.ts +14 -8
  591. package/types/views/RootErrorBoundary.d.ts.map +1 -1
  592. package/types/views/ScrollBehavior.d.ts +8 -0
  593. package/types/views/ScrollBehavior.d.ts.map +1 -1
  594. package/types/views/SourceInspector.d.ts +35 -0
  595. package/types/views/SourceInspector.d.ts.map +1 -0
  596. package/types/views/Try.d.ts +29 -6
  597. package/types/views/Try.d.ts.map +1 -1
  598. package/types/vite/DevHead.d.ts.map +1 -1
  599. package/types/vite/one.d.ts.map +1 -1
  600. package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
  601. package/types/vite/plugins/clientTreeShakePlugin.d.ts.map +1 -1
  602. package/types/vite/plugins/clientTreeShakePlugin.test.d.ts +2 -0
  603. package/types/vite/plugins/clientTreeShakePlugin.test.d.ts.map +1 -0
  604. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  605. package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
  606. package/types/vite/plugins/sourceInspectorPlugin.d.ts +3 -0
  607. package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -0
  608. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  609. package/types/vite/types.d.ts +24 -0
  610. package/types/vite/types.d.ts.map +1 -1
  611. package/types/env.d.ts +0 -66
  612. /package/types/vercel/build/generate/{createSSRServerlessFunction.d.ts → createSsrServerlessFunction.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/link/Link.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,EA0DA,SAAS,CAAC,aAAa,CAAA"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/link/Link.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,EA+DA,SAAS,CAAC,aAAa,CAAA"}
@@ -3,6 +3,7 @@ import { type GestureResponderEvent } from 'react-native';
3
3
  export declare function useLinkTo(props: {
4
4
  href: string;
5
5
  replace?: boolean;
6
+ mask?: string;
6
7
  }): {
7
8
  href: string;
8
9
  role: "link";
@@ -1 +1 @@
1
- {"version":3,"file":"useLinkTo.d.ts","sourceRoot":"","sources":["../../src/link/useLinkTo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,KAAK,qBAAqB,EAAY,MAAM,cAAc,CAAA;AA8BnE,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;;kBAI5D,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG,qBAAqB;EAuB9E"}
1
+ {"version":3,"file":"useLinkTo.d.ts","sourceRoot":"","sources":["../../src/link/useLinkTo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,KAAK,qBAAqB,EAAY,MAAM,cAAc,CAAA;AA8BnE,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;;;kBAI3E,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG,qBAAqB;EA2B9E"}
@@ -1,6 +1,8 @@
1
1
  import React, { type ReactNode } from 'react';
2
2
  import type { ErrorBoundaryProps } from '../views/Try';
3
+ import type { LoaderProps } from '../types';
3
4
  import type { One } from '../vite/types';
5
+ import type { ParamValidator, RouteValidationFn } from '../validateParams';
4
6
  export type DynamicConvention = {
5
7
  name: string;
6
8
  deep: boolean;
@@ -14,9 +16,36 @@ export type LoadedRoute = {
14
16
  generateStaticParams?: (props: {
15
17
  params?: Record<string, string | string[]>;
16
18
  }) => Record<string, string | string[]>[];
17
- loader?: (props: {
18
- params?: Record<string, string | string[]>;
19
- }) => Record<string, string | string[]>[];
19
+ loader?: (props: LoaderProps) => Record<string, string | string[]>[];
20
+ /**
21
+ * Validate route params before navigation.
22
+ * Use with Zod, Valibot, or a custom function.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * import { z } from 'zod'
27
+ * export const validateParams = z.object({
28
+ * id: z.string().uuid()
29
+ * })
30
+ * ```
31
+ */
32
+ validateParams?: ParamValidator;
33
+ /**
34
+ * Async route validation function.
35
+ * Runs before navigation to validate the route is accessible.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * export async function validateRoute({ params }) {
40
+ * const exists = await checkResourceExists(params.id)
41
+ * if (!exists) {
42
+ * return { valid: false, error: 'Resource not found' }
43
+ * }
44
+ * return { valid: true }
45
+ * }
46
+ * ```
47
+ */
48
+ validateRoute?: RouteValidationFn;
20
49
  };
21
50
  export type RouteNode = {
22
51
  /** The type of RouteNode */
@@ -1 +1 @@
1
- {"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../src/router/Route.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAIxC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAA;IACvD,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;IAClC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;KAC3C,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAA;IACzC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;KAC3C,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,4BAA4B;IAC5B,IAAI,EAAE,GAAG,CAAC,SAAS,CAAA;IACnB,kEAAkE;IAClE,SAAS,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;IACrC,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oBAAoB;IACpB,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,kCAAkC;IAClC,OAAO,EAAE,IAAI,GAAG,iBAAiB,EAAE,CAAA;IACnC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oLAAoL;IACpL,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;IACrB,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,EAAE,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,kBAAkB,+DAE1B,CAAA;AAQL,+DAA+D;AAC/D,wBAAgB,YAAY,IAAI,SAAS,GAAG,IAAI,CAE/C;AAED,wBAAgB,aAAa,IAAI,MAAM,CAMtC;AAED,iEAAiE;AACjE,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,IAAI,EACJ,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;KAAE,CAAA;CACxD,2CAQA"}
1
+ {"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../src/router/Route.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAI1E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAA;IACvD,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;IAClC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;KAC3C,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAA;IACzC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAA;IACpE;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,4BAA4B;IAC5B,IAAI,EAAE,GAAG,CAAC,SAAS,CAAA;IACnB,kEAAkE;IAClE,SAAS,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;IACrC,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oBAAoB;IACpB,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,kCAAkC;IAClC,OAAO,EAAE,IAAI,GAAG,iBAAiB,EAAE,CAAA;IACnC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oLAAoL;IACpL,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;IACrB,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,EAAE,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,kBAAkB,+DAE1B,CAAA;AAQL,+DAA+D;AAC/D,wBAAgB,YAAY,IAAI,SAAS,GAAG,IAAI,CAE/C;AAED,wBAAgB,aAAa,IAAI,MAAM,CAMtC;AAED,iEAAiE;AACjE,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,IAAI,EACJ,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;KAAE,CAAA;CACxD,2CAQA"}
@@ -0,0 +1,31 @@
1
+ import type { RouteNode } from './Route';
2
+ /**
3
+ * Find a RouteNode from the route tree based on the navigation state.
4
+ * Walks through the state's routes recursively to find the deepest matching route.
5
+ */
6
+ export declare function findRouteNodeFromState(state: {
7
+ routes: Array<{
8
+ name: string;
9
+ state?: any;
10
+ }>;
11
+ } | undefined, rootNode: RouteNode | null): RouteNode | null;
12
+ /**
13
+ * Extract params from navigation state.
14
+ * Collects params from all routes in the state hierarchy.
15
+ */
16
+ export declare function extractParamsFromState(state: {
17
+ routes: Array<{
18
+ name: string;
19
+ params?: Record<string, any>;
20
+ state?: any;
21
+ }>;
22
+ } | undefined): Record<string, string | string[]>;
23
+ /**
24
+ * Extract search params from href string.
25
+ */
26
+ export declare function extractSearchFromHref(href: string): Record<string, string | string[]>;
27
+ /**
28
+ * Extract pathname from href string.
29
+ */
30
+ export declare function extractPathnameFromHref(href: string): string;
31
+ //# sourceMappingURL=findRouteNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findRouteNode.d.ts","sourceRoot":"","sources":["../../src/router/findRouteNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,EACnE,QAAQ,EAAE,SAAS,GAAG,IAAI,GACzB,SAAS,GAAG,IAAI,CA0BlB;AAuBD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EACD;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,GAC9E,SAAS,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAmBnC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAsBrF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS5D"}
@@ -11,11 +11,35 @@ import type { UrlObject } from './getNormalizedStatePath';
11
11
  import type { RouteNode } from './Route';
12
12
  export declare let routeNode: RouteNode | null;
13
13
  export declare let rootComponent: ComponentType;
14
+ /**
15
+ * Register protected routes for a navigator context.
16
+ * Called by navigators when their protectedScreens changes.
17
+ */
18
+ export declare function registerProtectedRoutes(contextKey: string, protectedScreens: Set<string>): void;
19
+ /**
20
+ * Unregister protected routes for a navigator context.
21
+ * Called when a navigator unmounts.
22
+ */
23
+ export declare function unregisterProtectedRoutes(contextKey: string): void;
24
+ /**
25
+ * Check if a route path is protected and should be blocked.
26
+ * Returns true if the route is protected.
27
+ */
28
+ export declare function isRouteProtected(href: string): boolean;
14
29
  export declare let hasAttemptedToHideSplash: boolean;
15
30
  export declare let initialState: OneRouter.ResultState | undefined;
16
31
  export declare let rootState: OneRouter.ResultState | undefined;
17
32
  export declare let routeInfo: UrlObject | undefined;
18
33
  export declare let navigationRef: OneRouter.NavigationRef;
34
+ export type ValidationState = {
35
+ status: 'idle' | 'validating' | 'error' | 'valid';
36
+ error?: Error;
37
+ lastValidatedHref?: string;
38
+ };
39
+ export declare function subscribeToValidationState(subscriber: (state: ValidationState) => void): () => boolean;
40
+ export declare function setValidationState(state: ValidationState): void;
41
+ export declare function getValidationState(): ValidationState;
42
+ export declare function useValidationState(): ValidationState;
19
43
  export declare function initialize(context: One.RouteContext, ref: NavigationContainerRefWithCurrent<ReactNavigation.RootParamList>, initialLocation?: URL): void;
20
44
  export declare function navigate(url: OneRouter.Href, options?: OneRouter.LinkToOptions): Promise<void>;
21
45
  export declare function push(url: OneRouter.Href, options?: OneRouter.LinkToOptions): Promise<void>;
@@ -71,6 +95,17 @@ export declare function useStoreRouteInfo(): UrlObject;
71
95
  export declare function cleanup(): void;
72
96
  export declare const preloadingLoader: Record<string, Promise<any> | undefined>;
73
97
  export declare const preloadedLoaderData: Record<string, any>;
98
+ export type PreloadStatus = 'pending' | 'loading' | 'loaded' | 'error';
99
+ export type PreloadEntry = {
100
+ href: string;
101
+ status: PreloadStatus;
102
+ startTime: number;
103
+ endTime?: number;
104
+ error?: string;
105
+ hasLoader: boolean;
106
+ hasCss: boolean;
107
+ };
108
+ export declare function getPreloadHistory(): PreloadEntry[];
74
109
  export declare function preloadRoute(href: string, injectCSS?: boolean): Promise<any> | undefined;
75
110
  export declare function linkTo(href: string, event?: string, options?: OneRouter.LinkToOptions): Promise<void>;
76
111
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,17 @@
1
1
  import { type NavigationProp } from '@react-navigation/native';
2
2
  /**
3
- * Return the navigation object for the current route.
4
- * @param parent Provide an absolute path like `/(root)` to the parent route or a relative path like `../../` to the parent route.
5
- * @returns the navigation object for the provided route.
3
+ * Returns the React Navigation navigation object for the current route.
4
+ * Provides low-level access to navigation actions, events, and screen options.
5
+ *
6
+ * @param parent - Optional path to parent navigator (absolute like `/(tabs)` or relative like `../`)
7
+ * @returns The navigation object with methods like setOptions, addListener, getParent
8
+ * @link https://onestack.dev/docs/api/hooks/useNavigation
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * const navigation = useNavigation()
13
+ * navigation.setOptions({ title: 'My Screen' })
14
+ * ```
6
15
  */
7
16
  export declare function useNavigation<T = NavigationProp<ReactNavigation.RootParamList>>(parent?: string): T;
8
17
  export declare function resolveParentId(contextKey: string, parentId?: string | null): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigation.d.ts","sourceRoot":"","sources":["../../src/router/useNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,0BAA0B,CAAA;AAMjC;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,EAC7E,MAAM,CAAC,EAAE,MAAM,GACd,CAAC,CA4BH;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,GAAG,IAAI,CASf"}
1
+ {"version":3,"file":"useNavigation.d.ts","sourceRoot":"","sources":["../../src/router/useNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,0BAA0B,CAAA;AAMjC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,EAC7E,MAAM,CAAC,EAAE,MAAM,GACd,CAAC,CA4BH;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,GAAG,IAAI,CASf"}
@@ -25,6 +25,8 @@ export type ScreenProps<TOptions extends Record<string, any> = Record<string, an
25
25
  */
26
26
  export declare function useSortedScreens(order: ScreenProps[], options?: {
27
27
  onlyMatching?: boolean;
28
+ /** Set of route names to filter out (protected routes with guard=false) */
29
+ protectedScreens?: Set<string>;
28
30
  }): React.ReactNode[];
29
31
  /** Wrap the component with various enhancements and add access to child routes. */
30
32
  export declare function getQualifiedRouteComponent(value: RouteNode): React.ComponentType<any> | React.NamedExoticComponent<Omit<any, "ref"> & React.RefAttributes<unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"useScreens.d.ts","sourceRoot":"","sources":["../../src/router/useScreens.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,eAAe,EAChB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAqD,MAAM,OAAO,CAAA;AASzE,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,SAAS,CAAA;AAKhB,eAAO,MAAQ,MAAM,OAAE,KAAK,KAAwC,CAAA;AAuGpE,MAAM,MAAM,WAAW,CACrB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,KAAK,SAAS,eAAe,GAAG,eAAe,EAC/C,QAAQ,SAAS,YAAY,GAAG,YAAY,IAC1C;IACF,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,OAAO,CAAC,EAAE,QAAQ,CAAA;IAElB,SAAS,CAAC,EACN,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,GAChC,CAAC,CAAC,IAAI,EAAE;QACN,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QACvC,UAAU,EAAE,GAAG,CAAA;KAChB,KAAK,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE3C,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAA;CAC7E,CAAA;AAkED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,KAAK,CAAC,SAAS,EAAE,CAYnB;AA4BD,mFAAmF;AACnF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,0GAqG1D;AAED,oGAAoG;AACpG,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAC,IAU/D;aAAmC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAAE,YAoBjE"}
1
+ {"version":3,"file":"useScreens.d.ts","sourceRoot":"","sources":["../../src/router/useScreens.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,eAAe,EAChB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAqD,MAAM,OAAO,CAAA;AASzE,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,SAAS,CAAA;AAKhB,eAAO,MAAQ,MAAM,OAAE,KAAK,KAAwC,CAAA;AAuGpE,MAAM,MAAM,WAAW,CACrB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,KAAK,SAAS,eAAe,GAAG,eAAe,EAC/C,QAAQ,SAAS,YAAY,GAAG,YAAY,IAC1C;IACF,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,OAAO,CAAC,EAAE,QAAQ,CAAA;IAElB,SAAS,CAAC,EACN,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,GAChC,CAAC,CAAC,IAAI,EAAE;QACN,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QACvC,UAAU,EAAE,GAAG,CAAA;KAChB,KAAK,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE3C,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAA;CAC7E,CAAA;AAkED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC/B,GACA,KAAK,CAAC,SAAS,EAAE,CAcnB;AA4BD,mFAAmF;AACnF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,0GAqG1D;AAED,oGAAoG;AACpG,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAC,IAU/D;aAAmC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAAE,YAoBjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"oneServe.d.ts","sourceRoot":"","sources":["../../src/server/oneServe.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAqB,MAAM,MAAM,CAAA;AAgBnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAMxC;;;GAGG;AACH,KAAK,UAAU,GAAG;IAChB,WAAW,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE;YAAE,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;SAAE,CAAA;KAAE,CAAC,CAAA;IACxE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;CAChD,CAAA;AAED,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,GAAG,CAAC,aAAa,EAC7B,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE;IACR,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;IAC5E,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,iBA2ZF"}
1
+ {"version":3,"file":"oneServe.d.ts","sourceRoot":"","sources":["../../src/server/oneServe.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAqB,MAAM,MAAM,CAAA;AAgBnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAMxC;;;GAGG;AACH,KAAK,UAAU,GAAG;IAChB,WAAW,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE;YAAE,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;SAAE,CAAA;KAAE,CAAC,CAAA;IACxE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;CAChD,CAAA;AAED,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,GAAG,CAAC,aAAa,EAC7B,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE;IACR,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;IAC5E,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,iBA6ZF"}
@@ -83,7 +83,7 @@ export declare const TabsDescriptorsContext: import("react").Context<Record<stri
83
83
  getParent<T = import("@react-navigation/core").NavigationHelpers<ParamListBase, {}> | undefined>(id?: string): T;
84
84
  getState(): TabNavigationState<any>;
85
85
  } & import("@react-navigation/core").PrivateValueStore<[ParamListBase, unknown, unknown]>, "getParent"> & {
86
- getParent<T = NavigationProp<ParamListBase, string, undefined, Readonly<{
86
+ getParent<T = NavigationProp<ParamListBase, string, string | undefined, Readonly<{
87
87
  key: string;
88
88
  index: number;
89
89
  routeNames: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"TabContext.d.ts","sourceRoot":"","sources":["../../src/ui/TabContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabContext.d.ts","sourceRoot":"","sources":["../../src/ui/TabContext.tsx"],"names":[],"mappings":"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"}
@@ -182,7 +182,7 @@ export declare function useTabsWithChildren(options: UseTabsWithChildrenOptions)
182
182
  getParent<T = import("@react-navigation/core").NavigationHelpers<ParamListBase, {}> | undefined>(id?: string): T;
183
183
  getState(): TabNavigationState<any>;
184
184
  } & import("@react-navigation/core").PrivateValueStore<[ParamListBase, unknown, unknown]>, "getParent"> & {
185
- getParent<T = import("@react-navigation/core").NavigationProp<ParamListBase, string, undefined, Readonly<{
185
+ getParent<T = import("@react-navigation/core").NavigationProp<ParamListBase, string, string | undefined, Readonly<{
186
186
  key: string;
187
187
  index: number;
188
188
  routeNames: string[];
@@ -234,7 +234,7 @@ export declare function useTabsWithChildren(options: UseTabsWithChildrenOptions)
234
234
  getParent<T = import("@react-navigation/core").NavigationHelpers<ParamListBase, {}> | undefined>(id?: string): T;
235
235
  getState(): TabNavigationState<any>;
236
236
  } & import("@react-navigation/core").PrivateValueStore<[ParamListBase, unknown, unknown]>, "getParent"> & {
237
- getParent<T = import("@react-navigation/core").NavigationProp<ParamListBase, string, undefined, Readonly<{
237
+ getParent<T = import("@react-navigation/core").NavigationProp<ParamListBase, string, string | undefined, Readonly<{
238
238
  key: string;
239
239
  index: number;
240
240
  routeNames: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/ui/Tabs.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAEtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAKL,KAAK,iBAAiB,EAKvB,MAAM,OAAO,CAAA;AACd,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAM/D,OAAO,EAAE,KAAK,aAAa,EAA+B,MAAM,UAAU,CAAA;AAC1E,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAA;AAerB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,uBAAuB,CACrB,aAAa,EACb,GAAG,EACH,kBAAkB,CAAC,GAAG,CAAC,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,GAAG,CACJ,EACD,UAAU,CACX,GAAG;IACF,YAAY,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG;IAClC,mGAAmG;IACnG,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,2CAsBpC;AAGD,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;AAG1E,MAAM,MAAM,0BAA0B,GAAG,cAAc,GAAG;IACxD,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B;;;;;mBAtGxD,CAAC;kBAChB,CAAC;kBAA4B,CAAC;;;;;mBAKA,CAAC;;;;;;mBAQ1B,CAAC;kBAGL,CAAA;kBAA4B,CAAC;;0GAO1B,CAAD,6BACE,CAAC;iBACF,CAAH;eAGC,CAAA;;;;;gBAOA,CAAD;;YAGD;;;;;;;;;;;;;eAaG;YACH,CAfA;eAEsB,CAAA;;oHAMrB,CAAA;;;;iBASY,CAAA;;yGAG8C,CAAC;;;;;mBAMrC,CAAC;;;;;;;;mBAcgC,CAAC;;;;;;;;;;;;;;mBAkBtC,CAAC;;;;;;;;;;;;;;;;;mBAgCb,CAAC;kBAA4B,CAAC;kBAA6B,CAAA;;0GAI/D,CAAC,6BAA6B,CAAC;iBACzB,CAAC;eAER,CAAD;;;;;gBAOG,CAAJ;iBACa,CAAC;eAEF,CAAC;;oHAQJ,CAAC;;;;iBAYR,CADF;;yGASK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+CkB,CAAC;kBAEjB,CAAD;kBAA4B,CAAC;;0GAMX,CAAC,6BAKtB,CADH;iBAAqB,CAAC;eAA0B,CAAC;;;;;gBAQP,CAAC;iBACzB,CAAC;eACI,CAAC;;oHAMjB,CAAC;;;;iBAWH,CAAN;;yGAEoE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EAzJpE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,gBAAgB,CAiElB"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/ui/Tabs.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAEtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAKL,KAAK,iBAAiB,EAKvB,MAAM,OAAO,CAAA;AACd,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAM/D,OAAO,EAAE,KAAK,aAAa,EAA+B,MAAM,UAAU,CAAA;AAC1E,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAA;AAerB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAE5B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,uBAAuB,CACrB,aAAa,EACb,GAAG,EACH,kBAAkB,CAAC,GAAG,CAAC,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,GAAG,CACJ,EACD,UAAU,CACX,GAAG;IACF,YAAY,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG;IAClC,mGAAmG;IACnG,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,2CAsBpC;AAGD,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;AAG1E,MAAM,MAAM,0BAA0B,GAAG,cAAc,GAAG;IACxD,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B;;;;;mBAtGxD,CAAC;kBAChB,CAAC;kBAA4B,CAAC;;;;;mBAKA,CAAC;;;;;;mBAQ1B,CAAC;kBAGL,CAAA;kBAA4B,CAAC;;0GAO1B,CAAD,6BACE,CAAC;iBACF,CAAH;eAGC,CAAA;;;;;gBAOA,CAAD;;YAGD;;;;;;;;;;;;;eAaG;YACH,CAfA;eAEsB,CAAA;;oHAMrB,CAAA;;;;iBASY,CAAA;;yGAG8C,CAAC;;;;;mBAMrC,CAAC;;;;;;;;mBAcgC,CAAC;;;;;;;;;;;;;;mBAkBtC,CAAC;;;;;;;;;;;;;;;;;mBAgCb,CAAC;kBAA4B,CAAC;kBAA6B,CAAA;;0GAI/D,CAAC,6BAA6B,CAAC;iBACzB,CAAC;eAER,CAAD;;;;;gBAOG,CAAJ;iBACa,CAAC;eAEF,CAAC;;oHAQJ,CAAC;;;;iBAYR,CADF;;yGASK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+C2B,CAAC;kBAEnB,CAAC;kBAA4B,CAAC;;0GAMX,CAAC,6BAIzB,CAAA;iBAAqB,CAAC;eAA0B,CAAC;;;;;gBASnD,CAAP;iBACS,CAAH;eAA0B,CAAC;;oHAMjB,CAAC;;;;iBAWT,CAAA;;yGAEoE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EAzJ7E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,gBAAgB,CAiElB"}
@@ -0,0 +1,72 @@
1
+ export type BlockerState = 'unblocked' | 'blocked' | 'proceeding';
2
+ export type BlockerFunction = (args: {
3
+ currentLocation: string;
4
+ nextLocation: string;
5
+ historyAction: 'push' | 'pop' | 'replace';
6
+ }) => boolean;
7
+ export type Blocker = {
8
+ state: 'unblocked';
9
+ reset?: undefined;
10
+ proceed?: undefined;
11
+ location?: undefined;
12
+ } | {
13
+ state: 'blocked';
14
+ reset: () => void;
15
+ proceed: () => void;
16
+ location: string;
17
+ } | {
18
+ state: 'proceeding';
19
+ reset?: undefined;
20
+ proceed?: undefined;
21
+ location: string;
22
+ };
23
+ /**
24
+ * Block navigation when a condition is met.
25
+ *
26
+ * This is useful for preventing users from accidentally leaving a page with unsaved changes.
27
+ * Works with both browser navigation (back/forward, URL changes) and programmatic navigation.
28
+ *
29
+ * @param shouldBlock - Either a boolean or a function that returns whether to block.
30
+ * When using a function, you receive the current and next locations and can make dynamic decisions.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * function EditForm() {
35
+ * const [isDirty, setIsDirty] = useState(false)
36
+ * const blocker = useBlocker(isDirty)
37
+ *
38
+ * return (
39
+ * <>
40
+ * <form onChange={() => setIsDirty(true)}>
41
+ * {// form fields}
42
+ * </form>
43
+ *
44
+ * {blocker.state === 'blocked' && (
45
+ * <Dialog>
46
+ * <p>You have unsaved changes. Leave anyway?</p>
47
+ * <button onClick={blocker.reset}>Stay</button>
48
+ * <button onClick={blocker.proceed}>Leave</button>
49
+ * </Dialog>
50
+ * )}
51
+ * </>
52
+ * )
53
+ * }
54
+ * ```
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * // Function-based blocking with location info
59
+ * const blocker = useBlocker(({ currentLocation, nextLocation }) => {
60
+ * // Only block when leaving this specific section
61
+ * return currentLocation.startsWith('/edit') && !nextLocation.startsWith('/edit')
62
+ * })
63
+ * ```
64
+ */
65
+ export declare function useBlocker(shouldBlock: BlockerFunction | boolean): Blocker;
66
+ /**
67
+ * Check if any active blocker wants to block navigation.
68
+ * Called by the router before navigating via Link.
69
+ * Returns true if navigation was blocked.
70
+ */
71
+ export declare function checkBlocker(nextLocation: string, historyAction?: 'push' | 'pop' | 'replace'): boolean;
72
+ //# sourceMappingURL=useBlocker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBlocker.d.ts","sourceRoot":"","sources":["../src/useBlocker.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAA;AAEjE,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE;IACnC,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;CAC1C,KAAK,OAAO,CAAA;AAEb,MAAM,MAAM,OAAO,GACf;IACE,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,GACD;IACE,KAAK,EAAE,SAAS,CAAA;IAChB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAuIL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,GAAG,OAAO,CAoG1E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,EACpB,aAAa,GAAE,MAAM,GAAG,KAAK,GAAG,SAAkB,GACjD,OAAO,CAuBT"}
@@ -0,0 +1,60 @@
1
+ export type BlockerState = 'unblocked' | 'blocked' | 'proceeding';
2
+ export type BlockerFunction = (args: {
3
+ currentLocation: string;
4
+ nextLocation: string;
5
+ historyAction: 'push' | 'pop' | 'replace';
6
+ }) => boolean;
7
+ export type Blocker = {
8
+ state: 'unblocked';
9
+ reset?: undefined;
10
+ proceed?: undefined;
11
+ location?: undefined;
12
+ } | {
13
+ state: 'blocked';
14
+ reset: () => void;
15
+ proceed: () => void;
16
+ location: string;
17
+ } | {
18
+ state: 'proceeding';
19
+ reset?: undefined;
20
+ proceed?: undefined;
21
+ location: string;
22
+ };
23
+ /**
24
+ * Block navigation when a condition is met.
25
+ *
26
+ * On native, this uses React Navigation's `beforeRemove` event to prevent navigation.
27
+ * Note that this only works for navigation within the app - it cannot prevent
28
+ * the app from being closed or backgrounded.
29
+ *
30
+ * @param shouldBlock - Either a boolean or a function that returns whether to block.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * function EditForm() {
35
+ * const [isDirty, setIsDirty] = useState(false)
36
+ * const blocker = useBlocker(isDirty)
37
+ *
38
+ * return (
39
+ * <>
40
+ * <TextInput onChange={() => setIsDirty(true)} />
41
+ *
42
+ * {blocker.state === 'blocked' && (
43
+ * <Modal>
44
+ * <Text>You have unsaved changes. Leave anyway?</Text>
45
+ * <Button title="Stay" onPress={blocker.reset} />
46
+ * <Button title="Leave" onPress={blocker.proceed} />
47
+ * </Modal>
48
+ * )}
49
+ * </>
50
+ * )
51
+ * }
52
+ * ```
53
+ */
54
+ export declare function useBlocker(shouldBlock: BlockerFunction | boolean): Blocker;
55
+ /**
56
+ * No-op on native - native uses React Navigation's beforeRemove event instead.
57
+ * This is only used by the router on web.
58
+ */
59
+ export declare function checkBlocker(_nextLocation: string, _historyAction?: 'push' | 'pop' | 'replace'): boolean;
60
+ //# sourceMappingURL=useBlocker.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBlocker.native.d.ts","sourceRoot":"","sources":["../src/useBlocker.native.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAA;AAEjE,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE;IACnC,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;CAC1C,KAAK,OAAO,CAAA;AAEb,MAAM,MAAM,OAAO,GACf;IACE,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,GACD;IACE,KAAK,EAAE,SAAS,CAAA;IAChB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,GAAG,OAAO,CA+E1E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,cAAc,GAAE,MAAM,GAAG,KAAK,GAAG,SAAkB,GAClD,OAAO,CAET"}
@@ -1,10 +1,23 @@
1
1
  type EffectCallback = () => undefined | void | (() => void);
2
2
  /**
3
- * Hook to run an effect in a focused screen, similar to `React.useEffect`.
4
- * This can be used to perform side-effects such as fetching data or subscribing to events.
3
+ * Run side effects when a screen is focused. The effect runs when the screen
4
+ * gains focus and cleans up when it loses focus.
5
5
  *
6
- * @param callback Memoized callback containing the effect, should optionally return a cleanup function.
6
+ * @param effect - Memoized callback containing the effect, optionally returns cleanup function
7
+ * @param deps - Dependency array, effect re-runs when dependencies change (if focused)
8
+ * @link https://onestack.dev/docs/api/hooks/useFocusEffect
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * useFocusEffect(
13
+ * useCallback(() => {
14
+ * const subscription = subscribeToUpdates()
15
+ * return () => subscription.unsubscribe()
16
+ * }, []),
17
+ * []
18
+ * )
19
+ * ```
7
20
  */
8
- export declare function useFocusEffect(effect: EffectCallback, args: any[]): void;
21
+ export declare function useFocusEffect(effect: EffectCallback, deps: any[]): void;
9
22
  export {};
10
23
  //# sourceMappingURL=useFocusEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusEffect.d.ts","sourceRoot":"","sources":["../src/useFocusEffect.ts"],"names":[],"mappings":"AAMA,KAAK,cAAc,GAAG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;AAE3D;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,QA4EjE"}
1
+ {"version":3,"file":"useFocusEffect.d.ts","sourceRoot":"","sources":["../src/useFocusEffect.ts"],"names":[],"mappings":"AAMA,KAAK,cAAc,GAAG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,QA4EjE"}
@@ -1,4 +1,47 @@
1
+ export type LoaderTimingEntry = {
2
+ path: string;
3
+ startTime: number;
4
+ moduleLoadTime?: number;
5
+ executionTime?: number;
6
+ totalTime?: number;
7
+ error?: string;
8
+ source: 'preload' | 'initial' | 'refetch';
9
+ };
10
+ export declare function getLoaderTimingHistory(): LoaderTimingEntry[];
11
+ /**
12
+ * Imperatively refetch loader data for a given path.
13
+ *
14
+ * @param pathname - The route path to refetch (e.g., '/users/123')
15
+ * @returns Promise that resolves when refetch completes
16
+ * @link https://onestack.dev/docs/api/hooks/useLoaderState#refetchloader
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * await refetchLoader('/users/123')
21
+ * ```
22
+ */
1
23
  export declare function refetchLoader(pathname: string): Promise<void>;
24
+ /**
25
+ * Access loader data with full state control including refetch capability.
26
+ * Use this when you need loading state or refetch; use `useLoader` for just data.
27
+ *
28
+ * @param loader - The loader function (optional - omit for just refetch/state)
29
+ * @returns Object with data, state ('idle' | 'loading'), and refetch function
30
+ * @link https://onestack.dev/docs/api/hooks/useLoaderState
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * const { data, state, refetch } = useLoaderState(loader)
35
+ *
36
+ * return (
37
+ * <div>
38
+ * {state === 'loading' && <Spinner />}
39
+ * <button onClick={refetch}>Refresh</button>
40
+ * <pre>{JSON.stringify(data)}</pre>
41
+ * </div>
42
+ * )
43
+ * ```
44
+ */
2
45
  export declare function useLoaderState<Loader extends Function = any, Returned = Loader extends (p: any) => any ? ReturnType<Loader> : unknown>(loader?: Loader): Loader extends undefined ? {
3
46
  refetch: () => Promise<void>;
4
47
  state: 'idle' | 'loading';
@@ -7,5 +50,25 @@ export declare function useLoaderState<Loader extends Function = any, Returned =
7
50
  refetch: () => Promise<void>;
8
51
  state: 'idle' | 'loading';
9
52
  };
53
+ /**
54
+ * Load route data with SSR/SSG support. Returns the loader's data directly.
55
+ * For loading state and refetch capability, use `useLoaderState` instead.
56
+ *
57
+ * @param loader - The loader function exported from the route file
58
+ * @returns The awaited return value of your loader function
59
+ * @link https://onestack.dev/docs/api/hooks/useLoader
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * export async function loader({ params }) {
64
+ * return { user: await fetchUser(params.id) }
65
+ * }
66
+ *
67
+ * export default function UserPage() {
68
+ * const { user } = useLoader(loader)
69
+ * return <div>{user.name}</div>
70
+ * }
71
+ * ```
72
+ */
10
73
  export declare function useLoader<Loader extends Function, Returned = Loader extends (p: any) => any ? ReturnType<Loader> : unknown>(loader: Loader): Returned extends Promise<any> ? Awaited<Returned> : Returned;
11
74
  //# sourceMappingURL=useLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLoader.d.ts","sourceRoot":"","sources":["../src/useLoader.ts"],"names":[],"mappings":"AA6CA,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BnE;AAMD,wBAAgB,cAAc,CAC5B,MAAM,SAAS,QAAQ,GAAG,GAAG,EAC7B,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,EAExE,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,SAAS,SAAS,GACvB;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC3D;IACE,IAAI,EAAE,QAAQ,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;IAClE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CA2KJ;AAED,wBAAgB,SAAS,CACvB,MAAM,SAAS,QAAQ,EACvB,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,EACxE,MAAM,EAAE,MAAM,GAAG,QAAQ,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAG9E"}
1
+ {"version":3,"file":"useLoader.d.ts","sourceRoot":"","sources":["../src/useLoader.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;CAC1C,CAAA;AAsCD,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,CAE5D;AAiCD;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDnE;AAOD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,SAAS,QAAQ,GAAG,GAAG,EAC7B,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,EAExE,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,SAAS,SAAS,GACvB;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC3D;IACE,IAAI,EAAE,QAAQ,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;IAClE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAgOJ;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CACvB,MAAM,SAAS,QAAQ,EACvB,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,EACxE,MAAM,EAAE,MAAM,GAAG,QAAQ,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAG9E"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Register a route as a scroll group. Routes within the same scroll group
3
+ * preserve their scroll position when navigating between them.
4
+ *
5
+ * @param groupPath - Optional path to define the group. Defaults to current pathname.
6
+ * @link https://onestack.dev/docs/api/hooks/useScrollGroup
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * // app/dashboard/_layout.tsx
11
+ * export default function DashboardLayout() {
12
+ * useScrollGroup() // All /dashboard/* routes share scroll
13
+ * return <Slot />
14
+ * }
15
+ * ```
16
+ */
17
+ export declare function useScrollGroup(groupPath?: string): void;
18
+ //# sourceMappingURL=useScrollGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollGroup.d.ts","sourceRoot":"","sources":["../src/useScrollGroup.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,QAchD"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Native no-op for useScrollGroup.
3
+ * Scroll position groups are a web-only feature.
4
+ */
5
+ export declare function useScrollGroup(_groupPath?: string): void;
6
+ //# sourceMappingURL=useScrollGroup.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollGroup.native.d.ts","sourceRoot":"","sources":["../src/useScrollGroup.native.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,QAEjD"}