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
@@ -0,0 +1,122 @@
1
+ import * as React from "react";
2
+ import { Platform } from "react-native-web";
3
+ let currentLocation = typeof window < "u" ? window.location.pathname + window.location.search : "", isBlocking = !1, isProceeding = !1, pendingNavigation = null;
4
+ const blockerCallbacks = /* @__PURE__ */ new Map();
5
+ let listenersSetup = !1;
6
+ function setupListeners() {
7
+ if (listenersSetup || typeof window > "u") return;
8
+ listenersSetup = !0, currentLocation = window.location.pathname + window.location.search, window.addEventListener("popstate", () => {
9
+ if (isProceeding) return;
10
+ const nextLocation = window.location.pathname + window.location.search;
11
+ for (const [, callbacks] of blockerCallbacks)
12
+ if (callbacks.shouldBlock()) {
13
+ isBlocking = !0, pendingNavigation = {
14
+ previousLocation: currentLocation,
15
+ nextLocation,
16
+ historyAction: "pop"
17
+ }, window.history.go(1), callbacks.onBlock(pendingNavigation);
18
+ return;
19
+ }
20
+ currentLocation = nextLocation;
21
+ });
22
+ const originalPushState = window.history.pushState.bind(window.history), originalReplaceState = window.history.replaceState.bind(window.history);
23
+ window.history.pushState = function(state, title, url) {
24
+ if (isProceeding || !url)
25
+ return originalPushState(state, title, url);
26
+ const nextLocation = typeof url == "string" ? url : url.toString();
27
+ for (const [, callbacks] of blockerCallbacks)
28
+ if (callbacks.shouldBlock()) {
29
+ isBlocking = !0, pendingNavigation = {
30
+ previousLocation: currentLocation,
31
+ nextLocation,
32
+ historyAction: "push"
33
+ }, callbacks.onBlock(pendingNavigation);
34
+ return;
35
+ }
36
+ return currentLocation = nextLocation, originalPushState(state, title, url);
37
+ }, window.history.replaceState = function(state, title, url) {
38
+ if (isProceeding || !url)
39
+ return originalReplaceState(state, title, url);
40
+ const nextLocation = typeof url == "string" ? url : url.toString();
41
+ for (const [, callbacks] of blockerCallbacks)
42
+ if (callbacks.shouldBlock()) {
43
+ isBlocking = !0, pendingNavigation = {
44
+ previousLocation: currentLocation,
45
+ nextLocation,
46
+ historyAction: "replace"
47
+ }, callbacks.onBlock(pendingNavigation);
48
+ return;
49
+ }
50
+ return currentLocation = nextLocation, originalReplaceState(state, title, url);
51
+ }, window.addEventListener("beforeunload", (event) => {
52
+ for (const [, callbacks] of blockerCallbacks)
53
+ if (callbacks.shouldBlock()) {
54
+ event.preventDefault(), event.returnValue = "";
55
+ return;
56
+ }
57
+ });
58
+ }
59
+ function useBlocker(shouldBlock) {
60
+ const [state, setState] = React.useState("unblocked"), [blockedLocation, setBlockedLocation] = React.useState(null), idRef = React.useRef(null), shouldBlockRef = React.useRef(shouldBlock);
61
+ shouldBlockRef.current = shouldBlock, React.useEffect(() => {
62
+ if (Platform.OS !== "web" || typeof window > "u") return;
63
+ setupListeners();
64
+ const id = Symbol("blocker");
65
+ return idRef.current = id, blockerCallbacks.set(id, {
66
+ shouldBlock: () => {
67
+ const block = shouldBlockRef.current;
68
+ return typeof block == "function" ? block({
69
+ currentLocation,
70
+ nextLocation: pendingNavigation?.nextLocation || "",
71
+ historyAction: pendingNavigation?.historyAction || "push"
72
+ }) : block;
73
+ },
74
+ onBlock: (pending) => {
75
+ setBlockedLocation(pending.nextLocation), setState("blocked");
76
+ },
77
+ onProceed: () => {
78
+ setState("proceeding");
79
+ },
80
+ onReset: () => {
81
+ setState("unblocked"), setBlockedLocation(null);
82
+ }
83
+ }), () => {
84
+ blockerCallbacks.delete(id);
85
+ };
86
+ }, []);
87
+ const reset = React.useCallback(() => {
88
+ isBlocking = !1, pendingNavigation = null, setBlockedLocation(null), setState("unblocked");
89
+ }, []), proceed = React.useCallback(() => {
90
+ if (!pendingNavigation) return;
91
+ setState("proceeding"), isProceeding = !0;
92
+ const pending = pendingNavigation;
93
+ pendingNavigation = null, isBlocking = !1, requestAnimationFrame(() => {
94
+ pending.historyAction === "pop" ? window.history.back() : pending.historyAction === "push" ? window.history.pushState(null, "", pending.nextLocation) : window.history.replaceState(null, "", pending.nextLocation), currentLocation = pending.nextLocation, requestAnimationFrame(() => {
95
+ isProceeding = !1, setBlockedLocation(null), setState("unblocked");
96
+ });
97
+ });
98
+ }, []);
99
+ return state === "unblocked" ? { state: "unblocked" } : state === "proceeding" ? { state: "proceeding", location: blockedLocation } : {
100
+ state: "blocked",
101
+ reset,
102
+ proceed,
103
+ location: blockedLocation
104
+ };
105
+ }
106
+ function checkBlocker(nextLocation, historyAction = "push") {
107
+ if (Platform.OS !== "web" || typeof window > "u" || isProceeding)
108
+ return !1;
109
+ for (const [, callbacks] of blockerCallbacks)
110
+ if (callbacks.shouldBlock())
111
+ return isBlocking = !0, pendingNavigation = {
112
+ previousLocation: currentLocation,
113
+ nextLocation,
114
+ historyAction
115
+ }, callbacks.onBlock(pendingNavigation), !0;
116
+ return !1;
117
+ }
118
+ export {
119
+ checkBlocker,
120
+ useBlocker
121
+ };
122
+ //# sourceMappingURL=useBlocker.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useBlocker.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,123 @@
1
+ import * as React from "react";
2
+ import { Platform } from "react-native-web";
3
+ let currentLocation = typeof window < "u" ? window.location.pathname + window.location.search : "",
4
+ isBlocking = !1,
5
+ isProceeding = !1,
6
+ pendingNavigation = null;
7
+ const blockerCallbacks = /* @__PURE__ */new Map();
8
+ let listenersSetup = !1;
9
+ function setupListeners() {
10
+ if (listenersSetup || typeof window > "u") return;
11
+ listenersSetup = !0, currentLocation = window.location.pathname + window.location.search, window.addEventListener("popstate", () => {
12
+ if (isProceeding) return;
13
+ const nextLocation = window.location.pathname + window.location.search;
14
+ for (const [, callbacks] of blockerCallbacks) if (callbacks.shouldBlock()) {
15
+ isBlocking = !0, pendingNavigation = {
16
+ previousLocation: currentLocation,
17
+ nextLocation,
18
+ historyAction: "pop"
19
+ }, window.history.go(1), callbacks.onBlock(pendingNavigation);
20
+ return;
21
+ }
22
+ currentLocation = nextLocation;
23
+ });
24
+ const originalPushState = window.history.pushState.bind(window.history),
25
+ originalReplaceState = window.history.replaceState.bind(window.history);
26
+ window.history.pushState = function (state, title, url) {
27
+ if (isProceeding || !url) return originalPushState(state, title, url);
28
+ const nextLocation = typeof url == "string" ? url : url.toString();
29
+ for (const [, callbacks] of blockerCallbacks) if (callbacks.shouldBlock()) {
30
+ isBlocking = !0, pendingNavigation = {
31
+ previousLocation: currentLocation,
32
+ nextLocation,
33
+ historyAction: "push"
34
+ }, callbacks.onBlock(pendingNavigation);
35
+ return;
36
+ }
37
+ return currentLocation = nextLocation, originalPushState(state, title, url);
38
+ }, window.history.replaceState = function (state, title, url) {
39
+ if (isProceeding || !url) return originalReplaceState(state, title, url);
40
+ const nextLocation = typeof url == "string" ? url : url.toString();
41
+ for (const [, callbacks] of blockerCallbacks) if (callbacks.shouldBlock()) {
42
+ isBlocking = !0, pendingNavigation = {
43
+ previousLocation: currentLocation,
44
+ nextLocation,
45
+ historyAction: "replace"
46
+ }, callbacks.onBlock(pendingNavigation);
47
+ return;
48
+ }
49
+ return currentLocation = nextLocation, originalReplaceState(state, title, url);
50
+ }, window.addEventListener("beforeunload", event => {
51
+ for (const [, callbacks] of blockerCallbacks) if (callbacks.shouldBlock()) {
52
+ event.preventDefault(), event.returnValue = "";
53
+ return;
54
+ }
55
+ });
56
+ }
57
+ function useBlocker(shouldBlock) {
58
+ const [state, setState] = React.useState("unblocked"),
59
+ [blockedLocation, setBlockedLocation] = React.useState(null),
60
+ idRef = React.useRef(null),
61
+ shouldBlockRef = React.useRef(shouldBlock);
62
+ shouldBlockRef.current = shouldBlock, React.useEffect(() => {
63
+ if (Platform.OS !== "web" || typeof window > "u") return;
64
+ setupListeners();
65
+ const id = Symbol("blocker");
66
+ return idRef.current = id, blockerCallbacks.set(id, {
67
+ shouldBlock: () => {
68
+ const block = shouldBlockRef.current;
69
+ return typeof block == "function" ? block({
70
+ currentLocation,
71
+ nextLocation: pendingNavigation?.nextLocation || "",
72
+ historyAction: pendingNavigation?.historyAction || "push"
73
+ }) : block;
74
+ },
75
+ onBlock: pending => {
76
+ setBlockedLocation(pending.nextLocation), setState("blocked");
77
+ },
78
+ onProceed: () => {
79
+ setState("proceeding");
80
+ },
81
+ onReset: () => {
82
+ setState("unblocked"), setBlockedLocation(null);
83
+ }
84
+ }), () => {
85
+ blockerCallbacks.delete(id);
86
+ };
87
+ }, []);
88
+ const reset = React.useCallback(() => {
89
+ isBlocking = !1, pendingNavigation = null, setBlockedLocation(null), setState("unblocked");
90
+ }, []),
91
+ proceed = React.useCallback(() => {
92
+ if (!pendingNavigation) return;
93
+ setState("proceeding"), isProceeding = !0;
94
+ const pending = pendingNavigation;
95
+ pendingNavigation = null, isBlocking = !1, requestAnimationFrame(() => {
96
+ pending.historyAction === "pop" ? window.history.back() : pending.historyAction === "push" ? window.history.pushState(null, "", pending.nextLocation) : window.history.replaceState(null, "", pending.nextLocation), currentLocation = pending.nextLocation, requestAnimationFrame(() => {
97
+ isProceeding = !1, setBlockedLocation(null), setState("unblocked");
98
+ });
99
+ });
100
+ }, []);
101
+ return state === "unblocked" ? {
102
+ state: "unblocked"
103
+ } : state === "proceeding" ? {
104
+ state: "proceeding",
105
+ location: blockedLocation
106
+ } : {
107
+ state: "blocked",
108
+ reset,
109
+ proceed,
110
+ location: blockedLocation
111
+ };
112
+ }
113
+ function checkBlocker(nextLocation, historyAction = "push") {
114
+ if (Platform.OS !== "web" || typeof window > "u" || isProceeding) return !1;
115
+ for (const [, callbacks] of blockerCallbacks) if (callbacks.shouldBlock()) return isBlocking = !0, pendingNavigation = {
116
+ previousLocation: currentLocation,
117
+ nextLocation,
118
+ historyAction
119
+ }, callbacks.onBlock(pendingNavigation), !0;
120
+ return !1;
121
+ }
122
+ export { checkBlocker, useBlocker };
123
+ //# sourceMappingURL=useBlocker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Platform","currentLocation","window","location","pathname","search","isBlocking","isProceeding","pendingNavigation","blockerCallbacks","Map","listenersSetup","setupListeners","addEventListener","nextLocation","callbacks","shouldBlock","previousLocation","historyAction","history","go","onBlock","originalPushState","pushState","bind","originalReplaceState","replaceState","state","title","url","toString","event","preventDefault","returnValue","useBlocker","setState","useState","blockedLocation","setBlockedLocation","idRef","useRef","shouldBlockRef","current","useEffect","OS","id","Symbol","set","block","pending","onProceed","onReset","delete","reset","useCallback","proceed","requestAnimationFrame","back","checkBlocker"],"sources":["../../src/useBlocker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ import { useNavigation } from "@react-navigation/native";
2
+ import * as React from "react";
3
+ function useBlocker(shouldBlock) {
4
+ var navigation = useNavigation(),
5
+ [state, setState] = React.useState("unblocked"),
6
+ [pendingEvent, setPendingEvent] = React.useState(null),
7
+ [blockedLocation, setBlockedLocation] = React.useState(null),
8
+ shouldBlockRef = React.useRef(shouldBlock);
9
+ shouldBlockRef.current = shouldBlock, React.useEffect(function () {
10
+ var unsubscribe = navigation.addListener("beforeRemove", function (e) {
11
+ var _e_data_action,
12
+ _e_data,
13
+ currentShouldBlock = shouldBlockRef.current,
14
+ payload = (_e_data = e.data) === null || _e_data === void 0 || (_e_data_action = _e_data.action) === null || _e_data_action === void 0 ? void 0 : _e_data_action.payload,
15
+ nextLocation = payload?.name || "previous screen",
16
+ block = typeof currentShouldBlock == "function" ? currentShouldBlock({
17
+ currentLocation: "",
18
+ // Not easily available on native
19
+ nextLocation,
20
+ historyAction: "pop"
21
+ }) : currentShouldBlock;
22
+ block && (e.preventDefault(), setPendingEvent(e), setBlockedLocation(nextLocation), setState("blocked"));
23
+ });
24
+ return unsubscribe;
25
+ }, [navigation]);
26
+ var reset = React.useCallback(function () {
27
+ setPendingEvent(null), setBlockedLocation(null), setState("unblocked");
28
+ }, []),
29
+ proceed = React.useCallback(function () {
30
+ pendingEvent && (setState("proceeding"), navigation.dispatch(pendingEvent.data.action), setTimeout(function () {
31
+ setPendingEvent(null), setBlockedLocation(null), setState("unblocked");
32
+ }, 100));
33
+ }, [navigation, pendingEvent]);
34
+ return state === "unblocked" ? {
35
+ state: "unblocked"
36
+ } : state === "proceeding" ? {
37
+ state: "proceeding",
38
+ location: blockedLocation
39
+ } : {
40
+ state: "blocked",
41
+ reset,
42
+ proceed,
43
+ location: blockedLocation
44
+ };
45
+ }
46
+ function checkBlocker(_nextLocation) {
47
+ var _historyAction = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "push";
48
+ return !1;
49
+ }
50
+ export { checkBlocker, useBlocker };
51
+ //# sourceMappingURL=useBlocker.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useNavigation","React","useBlocker","shouldBlock","navigation","state","setState","useState","pendingEvent","setPendingEvent","blockedLocation","setBlockedLocation","shouldBlockRef","useRef","current","useEffect","unsubscribe","addListener","e","_e_data_action","_e_data","currentShouldBlock","payload","data","action","nextLocation","name","block","currentLocation","historyAction","preventDefault","reset","useCallback","proceed","dispatch","setTimeout","location","checkBlocker","_nextLocation","_historyAction","arguments","length"],"sources":["../../src/useBlocker.native.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,aAAA,QAAqB;AAC9B,YAAYC,KAAA,MAAW;AA+BZ,SAASC,WAAWC,WAAA,EAAa;EACxC,IAAIC,UAAA,GAAaJ,aAAA,CAAc;IAC3B,CAACK,KAAA,EAAOC,QAAQ,IAAIL,KAAA,CAAMM,QAAA,CAAS,WAAW;IAC9C,CAACC,YAAA,EAAcC,eAAe,IAAIR,KAAA,CAAMM,QAAA,CAAS,IAAI;IACrD,CAACG,eAAA,EAAiBC,kBAAkB,IAAIV,KAAA,CAAMM,QAAA,CAAS,IAAI;IAC3DK,cAAA,GAAiBX,KAAA,CAAMY,MAAA,CAAOV,WAAW;EAC7CS,cAAA,CAAeE,OAAA,GAAUX,WAAA,EACzBF,KAAA,CAAMc,SAAA,CAAU,YAAW;IACvB,IAAIC,WAAA,GAAcZ,UAAA,CAAWa,WAAA,CAAY,gBAAgB,UAASC,CAAA,EAAG;MACjE,IAAIC,cAAA;QAAgBC,OAAA;QAChBC,kBAAA,GAAqBT,cAAA,CAAeE,OAAA;QAEpCQ,OAAA,IAAWF,OAAA,GAAUF,CAAA,CAAEK,IAAA,MAAU,QAAQH,OAAA,KAAY,WAAmBD,cAAA,GAAiBC,OAAA,CAAQI,MAAA,MAAY,QAAQL,cAAA,KAAmB,SAA1E,SAA4FA,cAAA,CAAeG,OAAA;QACzKG,YAAA,GAAkEH,OAAA,EAAQI,IAAA,IAAS;QAEnFC,KAAA,GAAQ,OAAON,kBAAA,IAAuB,aAAaA,kBAAA,CAAmB;UACtEO,eAAA,EAAiB;UAAA;UAEjBH,YAAA;UACAI,aAAA,EAAe;QACnB,CAAC,IAAIR,kBAAA;MACAM,KAAA,KAILT,CAAA,CAAEY,cAAA,CAAe,GAEjBrB,eAAA,CAAgBS,CAAC,GACjBP,kBAAA,CAAmBc,YAAY,GAC/BnB,QAAA,CAAS,SAAS;IACtB,CAAC;IACD,OAAOU,WAAA;EACX,GAAG,CACCZ,UAAA,CACH;EACD,IAAI2B,KAAA,GAAQ9B,KAAA,CAAM+B,WAAA,CAAY,YAAW;MACrCvB,eAAA,CAAgB,IAAI,GACpBE,kBAAA,CAAmB,IAAI,GACvBL,QAAA,CAAS,WAAW;IACxB,GAAG,EAAE;IACD2B,OAAA,GAAUhC,KAAA,CAAM+B,WAAA,CAAY,YAAW;MAClCxB,YAAA,KACLF,QAAA,CAAS,YAAY,GAErBF,UAAA,CAAW8B,QAAA,CAAS1B,YAAA,CAAae,IAAA,CAAKC,MAAM,GAE5CW,UAAA,CAAW,YAAW;QAClB1B,eAAA,CAAgB,IAAI,GACpBE,kBAAA,CAAmB,IAAI,GACvBL,QAAA,CAAS,WAAW;MACxB,GAAG,GAAG;IACV,GAAG,CACCF,UAAA,EACAI,YAAA,CACH;EACD,OAAIH,KAAA,KAAU,cACH;IACHA,KAAA,EAAO;EACX,IAEAA,KAAA,KAAU,eACH;IACHA,KAAA,EAAO;IACP+B,QAAA,EAAU1B;EACd,IAEG;IACHL,KAAA,EAAO;IACP0B,KAAA;IACAE,OAAA;IACAG,QAAA,EAAU1B;EACd;AACJ;AAIW,SAAS2B,aAAaC,aAAA,EAAe;EAC5C,IAAIC,cAAA,GAAiBC,SAAA,CAAUC,MAAA,GAAS,KAAKD,SAAA,CAAU,CAAC,MAAM,SAASA,SAAA,CAAU,CAAC,IAAI;EACtF,OAAO;AACX","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { useEffect } from "react";
2
2
  import { useOptionalNavigation } from "./link/useLoadedNavigation";
3
- function useFocusEffect(effect, args) {
3
+ function useFocusEffect(effect, deps) {
4
4
  const navigation = useOptionalNavigation();
5
5
  useEffect(() => {
6
6
  if (!navigation)
@@ -40,7 +40,7 @@ See usage guide: https://reactnavigation.org/docs/use-focus-effect` : message +=
40
40
  return () => {
41
41
  cleanup?.(), unsubscribeFocus(), unsubscribeBlur();
42
42
  };
43
- }, [navigation, ...args]);
43
+ }, [navigation, ...deps]);
44
44
  }
45
45
  export {
46
46
  useFocusEffect
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useFocusEffect.ts"],
4
- "mappings": "AAGA,SAAS,iBAAiB;AAC1B,SAAS,6BAA6B;AAU/B,SAAS,eAAe,QAAwB,MAAa;AAClE,QAAM,aAAa,sBAAsB;AAEzC,YAAU,MAAM;AACd,QAAI,CAAC;AACH;AAGF,QAAI,YAAY,IACZ;AAEJ,UAAM,WAAW,MAAM;AACrB,YAAM,UAAU,OAAO;AAEvB,UAAI,YAAY,UAAa,OAAO,WAAY;AAC9C,eAAO;AAGT,UAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,YAAI,UACF;AAEF,QAAI,YAAY,OACd,WACE,qGACO,OAAQ,QAAgB,QAAS,aAC1C,WACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sEAeF,WAAW,kBAAkB,KAAK,UAAU,OAAO,CAAC,MAGtD,QAAQ,MAAM,OAAO;AAAA,MACvB;AAAA,IACF;AAGA,IAAI,WAAW,UAAU,MACvB,UAAU,SAAS,GACnB,YAAY;AAGd,UAAM,mBAAmB,WAAW,YAAY,SAAS,MAAM;AAG7D,MAAI,cACJ,UAAU,GACV,UAAU,SAAS,GACnB,YAAY;AAAA,IACd,CAAC,GAEK,kBAAkB,WAAW,YAAY,QAAQ,MAAM;AAC3D,gBAAU,GACV,UAAU,QACV,YAAY;AAAA,IACd,CAAC;AAED,WAAO,MAAM;AACX,gBAAU,GACV,iBAAiB,GACjB,gBAAgB;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;AAC1B;",
4
+ "mappings": "AAGA,SAAS,iBAAiB;AAC1B,SAAS,6BAA6B;AAuB/B,SAAS,eAAe,QAAwB,MAAa;AAClE,QAAM,aAAa,sBAAsB;AAEzC,YAAU,MAAM;AACd,QAAI,CAAC;AACH;AAGF,QAAI,YAAY,IACZ;AAEJ,UAAM,WAAW,MAAM;AACrB,YAAM,UAAU,OAAO;AAEvB,UAAI,YAAY,UAAa,OAAO,WAAY;AAC9C,eAAO;AAGT,UAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,YAAI,UACF;AAEF,QAAI,YAAY,OACd,WACE,qGACO,OAAQ,QAAgB,QAAS,aAC1C,WACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sEAeF,WAAW,kBAAkB,KAAK,UAAU,OAAO,CAAC,MAGtD,QAAQ,MAAM,OAAO;AAAA,MACvB;AAAA,IACF;AAGA,IAAI,WAAW,UAAU,MACvB,UAAU,SAAS,GACnB,YAAY;AAGd,UAAM,mBAAmB,WAAW,YAAY,SAAS,MAAM;AAG7D,MAAI,cACJ,UAAU,GACV,UAAU,SAAS,GACnB,YAAY;AAAA,IACd,CAAC,GAEK,kBAAkB,WAAW,YAAY,QAAQ,MAAM;AAC3D,gBAAU,GACV,UAAU,QACV,YAAY;AAAA,IACd,CAAC;AAED,WAAO,MAAM;AACX,gBAAU,GACV,iBAAiB,GACjB,gBAAgB;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;AAC1B;",
5
5
  "names": []
6
6
  }
@@ -1,6 +1,6 @@
1
1
  import { useEffect } from "react";
2
2
  import { useOptionalNavigation } from "./link/useLoadedNavigation.mjs";
3
- function useFocusEffect(effect, args) {
3
+ function useFocusEffect(effect, deps) {
4
4
  const navigation = useOptionalNavigation();
5
5
  useEffect(() => {
6
6
  if (!navigation) return;
@@ -40,7 +40,7 @@ See usage guide: https://reactnavigation.org/docs/use-focus-effect` : message +=
40
40
  return () => {
41
41
  cleanup?.(), unsubscribeFocus(), unsubscribeBlur();
42
42
  };
43
- }, [navigation, ...args]);
43
+ }, [navigation, ...deps]);
44
44
  }
45
45
  export { useFocusEffect };
46
46
  //# sourceMappingURL=useFocusEffect.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useOptionalNavigation","useFocusEffect","effect","args","navigation","isFocused","cleanup","callback","destroy","process","env","NODE_ENV","message","then","JSON","stringify","console","error","unsubscribeFocus","addListener","unsubscribeBlur"],"sources":["../../src/useFocusEffect.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,SAAA,QAAiB;AAC1B,SAASC,qBAAA,QAA6B;AAU/B,SAASC,eAAeC,MAAA,EAAwBC,IAAA,EAAa;EAClE,MAAMC,UAAA,GAAaJ,qBAAA,CAAsB;EAEzCD,SAAA,CAAU,MAAM;IACd,IAAI,CAACK,UAAA,EACH;IAGF,IAAIC,SAAA,GAAY;MACZC,OAAA;IAEJ,MAAMC,QAAA,GAAWA,CAAA,KAAM;MACrB,MAAMC,OAAA,GAAUN,MAAA,CAAO;MAEvB,IAAIM,OAAA,KAAY,UAAa,OAAOA,OAAA,IAAY,YAC9C,OAAOA,OAAA;MAGT,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,cAAc;QACzC,IAAIC,OAAA,GACF;QAEEJ,OAAA,KAAY,OACdI,OAAA,IACE,qGACO,OAAQJ,OAAA,CAAgBK,IAAA,IAAS,aAC1CD,OAAA,IACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sEAeFA,OAAA,IAAW,kBAAkBE,IAAA,CAAKC,SAAA,CAAUP,OAAO,CAAC,MAGtDQ,OAAA,CAAQC,KAAA,CAAML,OAAO;MACvB;IACF;IAGIR,UAAA,CAAWC,SAAA,CAAU,MACvBC,OAAA,GAAUC,QAAA,CAAS,GACnBF,SAAA,GAAY;IAGd,MAAMa,gBAAA,GAAmBd,UAAA,CAAWe,WAAA,CAAY,SAAS,MAAM;QAGzDd,SAAA,KACJC,OAAA,GAAU,GACVA,OAAA,GAAUC,QAAA,CAAS,GACnBF,SAAA,GAAY;MACd,CAAC;MAEKe,eAAA,GAAkBhB,UAAA,CAAWe,WAAA,CAAY,QAAQ,MAAM;QAC3Db,OAAA,GAAU,GACVA,OAAA,GAAU,QACVD,SAAA,GAAY;MACd,CAAC;IAED,OAAO,MAAM;MACXC,OAAA,GAAU,GACVY,gBAAA,CAAiB,GACjBE,eAAA,CAAgB;IAClB;EACF,GAAG,CAAChB,UAAA,EAAY,GAAGD,IAAI,CAAC;AAC1B","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useOptionalNavigation","useFocusEffect","effect","deps","navigation","isFocused","cleanup","callback","destroy","process","env","NODE_ENV","message","then","JSON","stringify","console","error","unsubscribeFocus","addListener","unsubscribeBlur"],"sources":["../../src/useFocusEffect.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,SAAA,QAAiB;AAC1B,SAASC,qBAAA,QAA6B;AAuB/B,SAASC,eAAeC,MAAA,EAAwBC,IAAA,EAAa;EAClE,MAAMC,UAAA,GAAaJ,qBAAA,CAAsB;EAEzCD,SAAA,CAAU,MAAM;IACd,IAAI,CAACK,UAAA,EACH;IAGF,IAAIC,SAAA,GAAY;MACZC,OAAA;IAEJ,MAAMC,QAAA,GAAWA,CAAA,KAAM;MACrB,MAAMC,OAAA,GAAUN,MAAA,CAAO;MAEvB,IAAIM,OAAA,KAAY,UAAa,OAAOA,OAAA,IAAY,YAC9C,OAAOA,OAAA;MAGT,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,cAAc;QACzC,IAAIC,OAAA,GACF;QAEEJ,OAAA,KAAY,OACdI,OAAA,IACE,qGACO,OAAQJ,OAAA,CAAgBK,IAAA,IAAS,aAC1CD,OAAA,IACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sEAeFA,OAAA,IAAW,kBAAkBE,IAAA,CAAKC,SAAA,CAAUP,OAAO,CAAC,MAGtDQ,OAAA,CAAQC,KAAA,CAAML,OAAO;MACvB;IACF;IAGIR,UAAA,CAAWC,SAAA,CAAU,MACvBC,OAAA,GAAUC,QAAA,CAAS,GACnBF,SAAA,GAAY;IAGd,MAAMa,gBAAA,GAAmBd,UAAA,CAAWe,WAAA,CAAY,SAAS,MAAM;QAGzDd,SAAA,KACJC,OAAA,GAAU,GACVA,OAAA,GAAUC,QAAA,CAAS,GACnBF,SAAA,GAAY;MACd,CAAC;MAEKe,eAAA,GAAkBhB,UAAA,CAAWe,WAAA,CAAY,QAAQ,MAAM;QAC3Db,OAAA,GAAU,GACVA,OAAA,GAAU,QACVD,SAAA,GAAY;MACd,CAAC;IAED,OAAO,MAAM;MACXC,OAAA,GAAU,GACVY,gBAAA,CAAiB,GACjBE,eAAA,CAAgB;IAClB;EACF,GAAG,CAAChB,UAAA,EAAY,GAAGD,IAAI,CAAC;AAC1B","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { useEffect } from "react";
2
2
  import { useOptionalNavigation } from "./link/useLoadedNavigation.native.js";
3
- function useFocusEffect(effect, args) {
3
+ function useFocusEffect(effect, deps) {
4
4
  var navigation = useOptionalNavigation();
5
5
  useEffect(function () {
6
6
  if (navigation) {
@@ -41,7 +41,7 @@ See usage guide: https://reactnavigation.org/docs/use-focus-effect` : message +=
41
41
  cleanup?.(), unsubscribeFocus(), unsubscribeBlur();
42
42
  };
43
43
  }
44
- }, [navigation, ...args]);
44
+ }, [navigation, ...deps]);
45
45
  }
46
46
  export { useFocusEffect };
47
47
  //# sourceMappingURL=useFocusEffect.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useOptionalNavigation","useFocusEffect","effect","args","navigation","isFocused","cleanup","callback","destroy","process","env","NODE_ENV","message","then","JSON","stringify","console","error","unsubscribeFocus","addListener","unsubscribeBlur"],"sources":["../../src/useFocusEffect.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,SAAA,QAAiB;AAC1B,SAASC,qBAAA,QAA6B;AAU/B,SAASC,eAAeC,MAAA,EAAwBC,IAAA,EAAa;EAClE,IAAAC,UAAM,GAAAJ,qBAAa;EAEnBD,SAAA,CAAU,YAAM;IACd,IAAIK,UAAC;MACH,IAAAC,SAAA;QAAAC,OAAA;QAAAC,QAAA,YAAAA,CAAA;UAGE,IAAAC,OAAA,GAAYN,MACZ;UAEJ,IAAMM,OAAA,KAAW,KAAM,YAAAA,OAAA,gBACrB,OAAMA,OAAU;UAEhB,IAAIC,OAAA,CAAAC,GAAY,CAAAC,QAAa,iBAAO,EAAY;YAC9C,IAAAC,OAAO;YAGLJ,OAAA,KAAY,OAAAI,OAAa,sGAAc,UAAAJ,OAAA,CAAAK,IAAA,iBAAAD,OAAA;AACzC;AAGA;AAKI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sEAAAA,OAAA,sBAAAE,IAAA,CAAAC,SAAA,CAAAP,OAAA,OAAAQ,OAAA,CAAAC,KAAA,CAAAL,OAAA;UAAA;QAAA;MAmBNR,UAAA,CAAAC,SAAA,OAAAC,OAAA,GAAAC,QAAA,IAAAF,SAAA;MACF,IAAAa,gBAAA,GAAAd,UAAA,CAAAe,WAAA;UAGId,SAAW,KAAAC,OAAU,GACvB,GAAAA,OAAU,GAAAC,QACV,IAAAF,SAAY;QAGd;QAAMe,eAAA,GAAAhB,UAAmB,CAAAe,WAAW,OAAY,cAAe;UAGzDb,OAAA,MACJA,OAAA,GAAU,KACV,GAAAD,SAAU,IAAS;QAEpB,EAEK;MACJ,mBACA;QAEDC,OAAA,MAAAY,gBAAA,IAAAE,eAAA;MAED;IACE;EAEgB,GAClB,CACFhB,UAAI,EACN,GAAAD,IAAA,C","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useOptionalNavigation","useFocusEffect","effect","deps","navigation","isFocused","cleanup","callback","destroy","process","env","NODE_ENV","message","then","JSON","stringify","console","error","unsubscribeFocus","addListener","unsubscribeBlur"],"sources":["../../src/useFocusEffect.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,SAAA,QAAiB;AAC1B,SAASC,qBAAA,QAA6B;AAuB/B,SAASC,eAAeC,MAAA,EAAwBC,IAAA,EAAa;EAClE,IAAAC,UAAM,GAAAJ,qBAAa;EAEnBD,SAAA,CAAU,YAAM;IACd,IAAIK,UAAC;MACH,IAAAC,SAAA;QAAAC,OAAA;QAAAC,QAAA,YAAAA,CAAA;UAGE,IAAAC,OAAA,GAAYN,MACZ;UAEJ,IAAMM,OAAA,KAAW,KAAM,YAAAA,OAAA,gBACrB,OAAMA,OAAU;UAEhB,IAAIC,OAAA,CAAAC,GAAY,CAAAC,QAAa,iBAAO,EAAY;YAC9C,IAAAC,OAAO;YAGLJ,OAAA,KAAY,OAAAI,OAAa,sGAAc,UAAAJ,OAAA,CAAAK,IAAA,iBAAAD,OAAA;AACzC;AAGA;AAKI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sEAAAA,OAAA,sBAAAE,IAAA,CAAAC,SAAA,CAAAP,OAAA,OAAAQ,OAAA,CAAAC,KAAA,CAAAL,OAAA;UAAA;QAAA;MAmBNR,UAAA,CAAAC,SAAA,OAAAC,OAAA,GAAAC,QAAA,IAAAF,SAAA;MACF,IAAAa,gBAAA,GAAAd,UAAA,CAAAe,WAAA;UAGId,SAAW,KAAAC,OAAU,GACvB,GAAAA,OAAU,GAAAC,QACV,IAAAF,SAAY;QAGd;QAAMe,eAAA,GAAAhB,UAAmB,CAAAe,WAAW,OAAY,cAAe;UAGzDb,OAAA,MACJA,OAAA,GAAU,KACV,GAAAD,SAAU,IAAS;QAEpB,EAEK;MACJ,mBACA;QAEDC,OAAA,MAAAY,gBAAA,IAAAE,eAAA;MAED;IACE;EAEgB,GAClB,CACFhB,UAAI,EACN,GAAAD,IAAA,C","ignoreList":[]}
@@ -1,10 +1,33 @@
1
1
  import { useCallback, useSyncExternalStore } from "react";
2
+ import { registerDevtoolsFunction } from "./devtools/registry";
2
3
  import { useParams, usePathname } from "./hooks";
3
4
  import { preloadedLoaderData, preloadingLoader } from "./router/router";
4
5
  import { getLoaderPath } from "./utils/cleanUrl";
5
6
  import { dynamicImport } from "./utils/dynamicImport";
6
7
  import { weakKey } from "./utils/weakKey";
7
8
  import { useServerContext } from "./vite/one-server-only";
9
+ const loaderTimingHistory = [], MAX_TIMING_HISTORY = 50;
10
+ function recordLoaderTiming(entry) {
11
+ process.env.NODE_ENV === "development" && (loaderTimingHistory.unshift(entry), loaderTimingHistory.length > MAX_TIMING_HISTORY && loaderTimingHistory.pop(), typeof window < "u" && (window.dispatchEvent(new CustomEvent("one-loader-timing", { detail: entry })), entry.error && window.dispatchEvent(
12
+ new CustomEvent("one-error", {
13
+ detail: {
14
+ error: {
15
+ message: entry.error,
16
+ name: "LoaderError"
17
+ },
18
+ route: {
19
+ pathname: entry.path
20
+ },
21
+ timestamp: Date.now(),
22
+ type: "loader"
23
+ }
24
+ })
25
+ )));
26
+ }
27
+ function getLoaderTimingHistory() {
28
+ return loaderTimingHistory;
29
+ }
30
+ registerDevtoolsFunction("getLoaderTimingHistory", getLoaderTimingHistory);
8
31
  const loaderState = {}, subscribers = /* @__PURE__ */ new Set();
9
32
  function updateState(path, updates) {
10
33
  loaderState[path] = { ...loaderState[path], ...updates }, subscribers.forEach((callback) => {
@@ -24,26 +47,41 @@ function getLoaderState(path, preloadedData2) {
24
47
  }), loaderState[path];
25
48
  }
26
49
  async function refetchLoader(pathname2) {
50
+ const startTime2 = performance.now();
27
51
  updateState(pathname2, {
28
52
  state: "loading",
29
53
  error: null
30
54
  });
31
55
  try {
32
- const cacheBust = `${Date.now()}`, loaderJSUrl2 = getLoaderPath(pathname2, !0, cacheBust), result2 = await (await dynamicImport(loaderJSUrl2)).loader();
56
+ const cacheBust = `${Date.now()}`, loaderJSUrl2 = getLoaderPath(pathname2, !0, cacheBust), moduleLoadStart2 = performance.now(), module2 = await dynamicImport(loaderJSUrl2), moduleLoadTime2 = performance.now() - moduleLoadStart2, executionStart2 = performance.now(), result2 = await module2.loader(), executionTime2 = performance.now() - executionStart2, totalTime2 = performance.now() - startTime2;
33
57
  updateState(pathname2, {
34
58
  data: result2,
35
59
  state: "idle",
36
60
  timestamp: Date.now(),
37
61
  hasLoadedOnce: !0
62
+ }), recordLoaderTiming({
63
+ path: pathname2,
64
+ startTime: startTime2,
65
+ moduleLoadTime: moduleLoadTime2,
66
+ executionTime: executionTime2,
67
+ totalTime: totalTime2,
68
+ source: "refetch"
38
69
  });
39
70
  } catch (err) {
71
+ const totalTime2 = performance.now() - startTime2;
40
72
  throw updateState(pathname2, {
41
73
  error: err,
42
74
  state: "idle"
75
+ }), recordLoaderTiming({
76
+ path: pathname2,
77
+ startTime: startTime2,
78
+ totalTime: totalTime2,
79
+ error: err instanceof Error ? err.message : String(err),
80
+ source: "refetch"
43
81
  }), err;
44
82
  }
45
83
  }
46
- typeof window < "u" && (window.__oneRefetchLoader = refetchLoader);
84
+ process.env.NODE_ENV === "development" && typeof window < "u" && (window.__oneRefetchLoader = refetchLoader);
47
85
  function useLoaderState(loader) {
48
86
  const {
49
87
  loaderProps: loaderPropsFromServerContext,
@@ -88,17 +126,32 @@ function useLoaderState(loader) {
88
126
  loaderStateEntry.promise = promise2;
89
127
  } else {
90
128
  const loadData = async () => {
129
+ const startTime = performance.now();
91
130
  try {
92
- const loaderJSUrl = getLoaderPath(currentPath, !0), module = await dynamicImport(loaderJSUrl), result = await module.loader();
131
+ const loaderJSUrl = getLoaderPath(currentPath, !0), moduleLoadStart = performance.now(), module = await dynamicImport(loaderJSUrl), moduleLoadTime = performance.now() - moduleLoadStart, executionStart = performance.now(), result = await module.loader(), executionTime = performance.now() - executionStart, totalTime = performance.now() - startTime;
93
132
  updateState(currentPath, {
94
133
  data: result,
95
134
  hasLoadedOnce: !0,
96
135
  promise: void 0
136
+ }), recordLoaderTiming({
137
+ path: currentPath,
138
+ startTime,
139
+ moduleLoadTime,
140
+ executionTime,
141
+ totalTime,
142
+ source: "initial"
97
143
  });
98
144
  } catch (err) {
145
+ const totalTime2 = performance.now() - startTime;
99
146
  updateState(currentPath, {
100
147
  error: err,
101
148
  promise: void 0
149
+ }), recordLoaderTiming({
150
+ path: currentPath,
151
+ startTime,
152
+ totalTime: totalTime2,
153
+ error: err instanceof Error ? err.message : String(err),
154
+ source: "initial"
102
155
  });
103
156
  }
104
157
  }, promise = loadData();
@@ -143,6 +196,7 @@ function useAsyncFn(val, props) {
143
196
  return current;
144
197
  }
145
198
  export {
199
+ getLoaderTimingHistory,
146
200
  refetchLoader,
147
201
  useLoader,
148
202
  useLoaderState
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useLoader.ts"],
4
- "mappings": "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",
5
- "names": ["preloadedData", "pathname", "loaderJSUrl", "result", "promise", "loader", "data"]
4
+ "mappings": "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",
5
+ "names": ["preloadedData", "pathname", "startTime", "loaderJSUrl", "moduleLoadStart", "module", "moduleLoadTime", "executionStart", "result", "executionTime", "totalTime", "promise", "loader", "data"]
6
6
  }