one 1.2.57 → 1.2.58

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 (481) hide show
  1. package/dist/cjs/cli/buildPage.cjs +1 -1
  2. package/dist/cjs/cli/buildPage.js +1 -1
  3. package/dist/cjs/cli/buildPage.native.js +1 -1
  4. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  5. package/dist/cjs/cli/dev.cjs +4 -4
  6. package/dist/cjs/cli/dev.js +4 -4
  7. package/dist/cjs/cli/dev.js.map +1 -1
  8. package/dist/cjs/cli/dev.native.js +4 -4
  9. package/dist/cjs/cli/dev.native.js.map +1 -1
  10. package/dist/cjs/createApp.cjs +2 -1
  11. package/dist/cjs/createApp.js +2 -2
  12. package/dist/cjs/createApp.js.map +1 -1
  13. package/dist/cjs/createHandleRequest.test.js +3 -1
  14. package/dist/cjs/createHandleRequest.test.js.map +1 -1
  15. package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
  16. package/dist/cjs/devtools/registry.cjs +30 -0
  17. package/dist/cjs/devtools/registry.js +25 -0
  18. package/dist/cjs/devtools/registry.js.map +6 -0
  19. package/dist/cjs/devtools/registry.native.js +33 -0
  20. package/dist/cjs/devtools/registry.native.js.map +1 -0
  21. package/dist/cjs/fork/createMemoryHistory.cjs +20 -9
  22. package/dist/cjs/fork/createMemoryHistory.js +22 -4
  23. package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
  24. package/dist/cjs/fork/createMemoryHistory.native.js +20 -9
  25. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  26. package/dist/cjs/fork/useLinking.cjs +11 -5
  27. package/dist/cjs/fork/useLinking.js +6 -6
  28. package/dist/cjs/fork/useLinking.js.map +1 -1
  29. package/dist/cjs/index.cjs +17 -1
  30. package/dist/cjs/index.js +12 -2
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/index.native.js +17 -1
  33. package/dist/cjs/index.native.js.map +1 -1
  34. package/dist/cjs/layouts/withLayoutContext.cjs +34 -15
  35. package/dist/cjs/layouts/withLayoutContext.js +29 -13
  36. package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
  37. package/dist/cjs/layouts/withLayoutContext.native.js +42 -19
  38. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  39. package/dist/cjs/link/Link.cjs +5 -2
  40. package/dist/cjs/link/Link.js +3 -2
  41. package/dist/cjs/link/Link.js.map +1 -1
  42. package/dist/cjs/link/Link.native.js +6 -1
  43. package/dist/cjs/link/Link.native.js.map +1 -1
  44. package/dist/cjs/link/useLinkTo.cjs +11 -3
  45. package/dist/cjs/link/useLinkTo.js +6 -3
  46. package/dist/cjs/link/useLinkTo.js.map +1 -1
  47. package/dist/cjs/link/useLinkTo.native.js +11 -3
  48. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  49. package/dist/cjs/router/Route.js.map +1 -1
  50. package/dist/cjs/router/Route.native.js.map +1 -1
  51. package/dist/cjs/router/findRouteNode.cjs +70 -0
  52. package/dist/cjs/router/findRouteNode.js +72 -0
  53. package/dist/cjs/router/findRouteNode.js.map +6 -0
  54. package/dist/cjs/router/findRouteNode.native.js +104 -0
  55. package/dist/cjs/router/findRouteNode.native.js.map +1 -0
  56. package/dist/cjs/router/router.cjs +160 -11
  57. package/dist/cjs/router/router.js +142 -7
  58. package/dist/cjs/router/router.js.map +2 -2
  59. package/dist/cjs/router/router.native.js +241 -57
  60. package/dist/cjs/router/router.native.js.map +1 -1
  61. package/dist/cjs/router/useScreens.cjs +1 -1
  62. package/dist/cjs/router/useScreens.js +1 -1
  63. package/dist/cjs/router/useScreens.js.map +1 -1
  64. package/dist/cjs/router/useScreens.native.js +5 -2
  65. package/dist/cjs/router/useScreens.native.js.map +1 -1
  66. package/dist/cjs/server/oneServe.js.map +1 -1
  67. package/dist/cjs/server/oneServe.native.js.map +1 -1
  68. package/dist/cjs/useBlocker.cjs +158 -0
  69. package/dist/cjs/useBlocker.js +145 -0
  70. package/dist/cjs/useBlocker.js.map +6 -0
  71. package/dist/cjs/useBlocker.native.js +89 -0
  72. package/dist/cjs/useBlocker.native.js.map +1 -0
  73. package/dist/cjs/useLoader.cjs +69 -3
  74. package/dist/cjs/useLoader.js +57 -4
  75. package/dist/cjs/useLoader.js.map +2 -2
  76. package/dist/cjs/useLoader.native.js +90 -6
  77. package/dist/cjs/useLoader.native.js.map +1 -1
  78. package/dist/cjs/useScrollGroup.cjs +37 -0
  79. package/dist/cjs/useScrollGroup.js +30 -0
  80. package/dist/cjs/useScrollGroup.js.map +6 -0
  81. package/dist/cjs/useScrollGroup.native.js +29 -0
  82. package/dist/cjs/useScrollGroup.native.js.map +1 -0
  83. package/dist/cjs/validateParams.cjs +80 -0
  84. package/dist/cjs/validateParams.js +84 -0
  85. package/dist/cjs/validateParams.js.map +6 -0
  86. package/dist/cjs/validateParams.native.js +180 -0
  87. package/dist/cjs/validateParams.native.js.map +1 -0
  88. package/dist/cjs/validateSearch.cjs +104 -0
  89. package/dist/cjs/validateSearch.js +99 -0
  90. package/dist/cjs/validateSearch.js.map +6 -0
  91. package/dist/cjs/validateSearch.native.js +202 -0
  92. package/dist/cjs/validateSearch.native.js.map +1 -0
  93. package/dist/cjs/views/ErrorBoundary.cjs +293 -10
  94. package/dist/cjs/views/ErrorBoundary.js +328 -8
  95. package/dist/cjs/views/ErrorBoundary.js.map +2 -2
  96. package/dist/cjs/views/ErrorBoundary.native.js +159 -4
  97. package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
  98. package/dist/cjs/views/Navigator.cjs +10 -3
  99. package/dist/cjs/views/Navigator.js +7 -3
  100. package/dist/cjs/views/Navigator.js.map +1 -1
  101. package/dist/cjs/views/Navigator.native.js +12 -3
  102. package/dist/cjs/views/Navigator.native.js.map +1 -1
  103. package/dist/cjs/views/Protected.cjs +36 -0
  104. package/dist/cjs/views/Protected.js +27 -0
  105. package/dist/cjs/views/Protected.js.map +6 -0
  106. package/dist/cjs/views/Protected.native.js +44 -0
  107. package/dist/cjs/views/Protected.native.js.map +1 -0
  108. package/dist/cjs/views/RootErrorBoundary.cjs +193 -8
  109. package/dist/cjs/views/RootErrorBoundary.js +213 -8
  110. package/dist/cjs/views/RootErrorBoundary.js.map +1 -1
  111. package/dist/cjs/views/RootErrorBoundary.native.js +192 -8
  112. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  113. package/dist/cjs/views/ScrollBehavior.cjs +49 -11
  114. package/dist/cjs/views/ScrollBehavior.js +47 -11
  115. package/dist/cjs/views/ScrollBehavior.js.map +1 -1
  116. package/dist/cjs/views/ScrollBehavior.native.js +68 -10
  117. package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
  118. package/dist/cjs/views/SourceInspector.cjs +28 -0
  119. package/dist/cjs/views/SourceInspector.js +23 -0
  120. package/dist/cjs/views/SourceInspector.js.map +6 -0
  121. package/dist/cjs/views/SourceInspector.native.js +32 -0
  122. package/dist/cjs/views/SourceInspector.native.js.map +1 -0
  123. package/dist/cjs/views/Try.cjs +40 -7
  124. package/dist/cjs/views/Try.js +38 -4
  125. package/dist/cjs/views/Try.js.map +1 -1
  126. package/dist/cjs/views/Try.native.js +42 -7
  127. package/dist/cjs/views/Try.native.js.map +1 -1
  128. package/dist/cjs/vite/DevHead.cjs +797 -43
  129. package/dist/cjs/vite/DevHead.js +802 -51
  130. package/dist/cjs/vite/DevHead.js.map +1 -1
  131. package/dist/cjs/vite/DevHead.native.js +783 -1
  132. package/dist/cjs/vite/DevHead.native.js.map +1 -1
  133. package/dist/cjs/vite/one.cjs +7 -1
  134. package/dist/cjs/vite/one.js +7 -2
  135. package/dist/cjs/vite/one.js.map +1 -1
  136. package/dist/cjs/vite/one.native.js +11 -1
  137. package/dist/cjs/vite/one.native.js.map +1 -1
  138. package/dist/cjs/vite/plugins/SSRCSSPlugin.cjs +44 -4
  139. package/dist/cjs/vite/plugins/SSRCSSPlugin.js +48 -4
  140. package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
  141. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js +62 -5
  142. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  143. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +6 -3
  144. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  145. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  146. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +5 -1
  147. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js +11 -6
  148. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  149. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +1 -0
  150. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  151. package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +155 -0
  152. package/dist/cjs/vite/plugins/sourceInspectorPlugin.js +148 -0
  153. package/dist/cjs/vite/plugins/sourceInspectorPlugin.js.map +6 -0
  154. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +231 -0
  155. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -0
  156. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +25 -6
  157. package/dist/cjs/vite/plugins/virtualEntryPlugin.js +16 -6
  158. package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
  159. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +26 -7
  160. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  161. package/dist/esm/cli/buildPage.js +1 -1
  162. package/dist/esm/cli/buildPage.mjs +1 -1
  163. package/dist/esm/cli/buildPage.mjs.map +1 -1
  164. package/dist/esm/cli/buildPage.native.js +1 -1
  165. package/dist/esm/cli/buildPage.native.js.map +1 -1
  166. package/dist/esm/cli/dev.js +4 -4
  167. package/dist/esm/cli/dev.js.map +1 -1
  168. package/dist/esm/cli/dev.mjs +4 -4
  169. package/dist/esm/cli/dev.mjs.map +1 -1
  170. package/dist/esm/cli/dev.native.js +4 -4
  171. package/dist/esm/cli/dev.native.js.map +1 -1
  172. package/dist/esm/createApp.js +2 -2
  173. package/dist/esm/createApp.js.map +1 -1
  174. package/dist/esm/createApp.mjs +2 -1
  175. package/dist/esm/createApp.mjs.map +1 -1
  176. package/dist/esm/createHandleRequest.test.js +3 -1
  177. package/dist/esm/createHandleRequest.test.js.map +1 -1
  178. package/dist/esm/createHandleRequest.test.mjs.map +1 -1
  179. package/dist/esm/createHandleRequest.test.native.js.map +1 -1
  180. package/dist/esm/devtools/registry.js +9 -0
  181. package/dist/esm/devtools/registry.js.map +6 -0
  182. package/dist/esm/devtools/registry.mjs +6 -0
  183. package/dist/esm/devtools/registry.mjs.map +1 -0
  184. package/dist/esm/devtools/registry.native.js +6 -0
  185. package/dist/esm/devtools/registry.native.js.map +1 -0
  186. package/dist/esm/fork/createMemoryHistory.js +22 -4
  187. package/dist/esm/fork/createMemoryHistory.js.map +1 -1
  188. package/dist/esm/fork/createMemoryHistory.mjs +20 -9
  189. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  190. package/dist/esm/fork/createMemoryHistory.native.js +20 -9
  191. package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
  192. package/dist/esm/fork/useLinking.js +6 -5
  193. package/dist/esm/fork/useLinking.js.map +1 -1
  194. package/dist/esm/fork/useLinking.mjs +11 -5
  195. package/dist/esm/fork/useLinking.mjs.map +1 -1
  196. package/dist/esm/index.js +30 -2
  197. package/dist/esm/index.js.map +1 -1
  198. package/dist/esm/index.mjs +8 -2
  199. package/dist/esm/index.mjs.map +1 -1
  200. package/dist/esm/index.native.js +8 -2
  201. package/dist/esm/index.native.js.map +1 -1
  202. package/dist/esm/layouts/withLayoutContext.js +30 -12
  203. package/dist/esm/layouts/withLayoutContext.js.map +1 -1
  204. package/dist/esm/layouts/withLayoutContext.mjs +34 -15
  205. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  206. package/dist/esm/layouts/withLayoutContext.native.js +42 -19
  207. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  208. package/dist/esm/link/Link.js +3 -2
  209. package/dist/esm/link/Link.js.map +1 -1
  210. package/dist/esm/link/Link.mjs +5 -2
  211. package/dist/esm/link/Link.mjs.map +1 -1
  212. package/dist/esm/link/Link.native.js +6 -1
  213. package/dist/esm/link/Link.native.js.map +1 -1
  214. package/dist/esm/link/useLinkTo.js +6 -3
  215. package/dist/esm/link/useLinkTo.js.map +1 -1
  216. package/dist/esm/link/useLinkTo.mjs +11 -3
  217. package/dist/esm/link/useLinkTo.mjs.map +1 -1
  218. package/dist/esm/link/useLinkTo.native.js +11 -3
  219. package/dist/esm/link/useLinkTo.native.js.map +1 -1
  220. package/dist/esm/router/Route.js.map +1 -1
  221. package/dist/esm/router/Route.mjs.map +1 -1
  222. package/dist/esm/router/Route.native.js.map +1 -1
  223. package/dist/esm/router/findRouteNode.js +56 -0
  224. package/dist/esm/router/findRouteNode.js.map +6 -0
  225. package/dist/esm/router/findRouteNode.mjs +44 -0
  226. package/dist/esm/router/findRouteNode.mjs.map +1 -0
  227. package/dist/esm/router/findRouteNode.native.js +75 -0
  228. package/dist/esm/router/findRouteNode.native.js.map +1 -0
  229. package/dist/esm/router/router.js +154 -6
  230. package/dist/esm/router/router.js.map +1 -1
  231. package/dist/esm/router/router.mjs +151 -10
  232. package/dist/esm/router/router.mjs.map +1 -1
  233. package/dist/esm/router/router.native.js +232 -56
  234. package/dist/esm/router/router.native.js.map +1 -1
  235. package/dist/esm/router/useScreens.js +1 -1
  236. package/dist/esm/router/useScreens.js.map +1 -1
  237. package/dist/esm/router/useScreens.mjs +1 -1
  238. package/dist/esm/router/useScreens.mjs.map +1 -1
  239. package/dist/esm/router/useScreens.native.js +5 -2
  240. package/dist/esm/router/useScreens.native.js.map +1 -1
  241. package/dist/esm/server/oneServe.js.map +1 -1
  242. package/dist/esm/server/oneServe.mjs.map +1 -1
  243. package/dist/esm/server/oneServe.native.js.map +1 -1
  244. package/dist/esm/useBlocker.js +122 -0
  245. package/dist/esm/useBlocker.js.map +6 -0
  246. package/dist/esm/useBlocker.mjs +123 -0
  247. package/dist/esm/useBlocker.mjs.map +1 -0
  248. package/dist/esm/useBlocker.native.js +51 -0
  249. package/dist/esm/useBlocker.native.js.map +1 -0
  250. package/dist/esm/useLoader.js +57 -3
  251. package/dist/esm/useLoader.js.map +2 -2
  252. package/dist/esm/useLoader.mjs +69 -4
  253. package/dist/esm/useLoader.mjs.map +1 -1
  254. package/dist/esm/useLoader.native.js +90 -7
  255. package/dist/esm/useLoader.native.js.map +1 -1
  256. package/dist/esm/useScrollGroup.js +16 -0
  257. package/dist/esm/useScrollGroup.js.map +6 -0
  258. package/dist/esm/useScrollGroup.mjs +14 -0
  259. package/dist/esm/useScrollGroup.mjs.map +1 -0
  260. package/dist/esm/useScrollGroup.native.js +3 -0
  261. package/dist/esm/useScrollGroup.native.js.map +1 -0
  262. package/dist/esm/validateParams.js +68 -0
  263. package/dist/esm/validateParams.js.map +6 -0
  264. package/dist/esm/validateParams.mjs +54 -0
  265. package/dist/esm/validateParams.mjs.map +1 -0
  266. package/dist/esm/validateParams.native.js +151 -0
  267. package/dist/esm/validateParams.native.js.map +1 -0
  268. package/dist/esm/validateSearch.js +83 -0
  269. package/dist/esm/validateSearch.js.map +6 -0
  270. package/dist/esm/validateSearch.mjs +77 -0
  271. package/dist/esm/validateSearch.mjs.map +1 -0
  272. package/dist/esm/validateSearch.native.js +172 -0
  273. package/dist/esm/validateSearch.native.js.map +1 -0
  274. package/dist/esm/views/ErrorBoundary.js +325 -7
  275. package/dist/esm/views/ErrorBoundary.js.map +2 -2
  276. package/dist/esm/views/ErrorBoundary.mjs +289 -6
  277. package/dist/esm/views/ErrorBoundary.mjs.map +1 -1
  278. package/dist/esm/views/ErrorBoundary.native.js +159 -4
  279. package/dist/esm/views/ErrorBoundary.native.js.map +1 -1
  280. package/dist/esm/views/Navigator.js +7 -2
  281. package/dist/esm/views/Navigator.js.map +1 -1
  282. package/dist/esm/views/Navigator.mjs +10 -3
  283. package/dist/esm/views/Navigator.mjs.map +1 -1
  284. package/dist/esm/views/Navigator.native.js +12 -3
  285. package/dist/esm/views/Navigator.native.js.map +1 -1
  286. package/dist/esm/views/Protected.js +14 -0
  287. package/dist/esm/views/Protected.js.map +6 -0
  288. package/dist/esm/views/Protected.mjs +11 -0
  289. package/dist/esm/views/Protected.mjs.map +1 -0
  290. package/dist/esm/views/Protected.native.js +16 -0
  291. package/dist/esm/views/Protected.native.js.map +1 -0
  292. package/dist/esm/views/RootErrorBoundary.js +214 -7
  293. package/dist/esm/views/RootErrorBoundary.js.map +1 -1
  294. package/dist/esm/views/RootErrorBoundary.mjs +192 -7
  295. package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
  296. package/dist/esm/views/RootErrorBoundary.native.js +191 -7
  297. package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
  298. package/dist/esm/views/ScrollBehavior.js +47 -11
  299. package/dist/esm/views/ScrollBehavior.js.map +1 -1
  300. package/dist/esm/views/ScrollBehavior.mjs +48 -11
  301. package/dist/esm/views/ScrollBehavior.mjs.map +1 -1
  302. package/dist/esm/views/ScrollBehavior.native.js +67 -10
  303. package/dist/esm/views/ScrollBehavior.native.js.map +1 -1
  304. package/dist/esm/views/SourceInspector.js +7 -0
  305. package/dist/esm/views/SourceInspector.js.map +6 -0
  306. package/dist/esm/views/SourceInspector.mjs +5 -0
  307. package/dist/esm/views/SourceInspector.mjs.map +1 -0
  308. package/dist/esm/views/SourceInspector.native.js +6 -0
  309. package/dist/esm/views/SourceInspector.native.js.map +1 -0
  310. package/dist/esm/views/Try.js +38 -4
  311. package/dist/esm/views/Try.js.map +1 -1
  312. package/dist/esm/views/Try.mjs +40 -7
  313. package/dist/esm/views/Try.mjs.map +1 -1
  314. package/dist/esm/views/Try.native.js +42 -7
  315. package/dist/esm/views/Try.native.js.map +1 -1
  316. package/dist/esm/vite/DevHead.js +802 -51
  317. package/dist/esm/vite/DevHead.js.map +1 -1
  318. package/dist/esm/vite/DevHead.mjs +797 -43
  319. package/dist/esm/vite/DevHead.mjs.map +1 -1
  320. package/dist/esm/vite/DevHead.native.js +782 -0
  321. package/dist/esm/vite/DevHead.native.js.map +1 -1
  322. package/dist/esm/vite/one.js +7 -1
  323. package/dist/esm/vite/one.js.map +1 -1
  324. package/dist/esm/vite/one.mjs +7 -1
  325. package/dist/esm/vite/one.mjs.map +1 -1
  326. package/dist/esm/vite/one.native.js +11 -1
  327. package/dist/esm/vite/one.native.js.map +1 -1
  328. package/dist/esm/vite/plugins/SSRCSSPlugin.js +48 -4
  329. package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
  330. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs +44 -4
  331. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
  332. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js +61 -4
  333. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  334. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +6 -3
  335. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  336. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  337. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  338. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js +11 -6
  339. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  340. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +5 -1
  341. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
  342. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +1 -0
  343. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  344. package/dist/esm/vite/plugins/sourceInspectorPlugin.js +126 -0
  345. package/dist/esm/vite/plugins/sourceInspectorPlugin.js.map +6 -0
  346. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +121 -0
  347. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -0
  348. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +194 -0
  349. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -0
  350. package/dist/esm/vite/plugins/virtualEntryPlugin.js +16 -6
  351. package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
  352. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +25 -6
  353. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  354. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +26 -7
  355. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  356. package/package.json +11 -9
  357. package/src/cli/buildPage.ts +1 -1
  358. package/src/cli/dev.ts +4 -4
  359. package/src/createApp.tsx +11 -1
  360. package/src/createHandleRequest.test.ts +3 -1
  361. package/src/devtools/registry.ts +21 -0
  362. package/src/fork/createMemoryHistory.tsx +43 -11
  363. package/src/fork/useLinking.ts +14 -4
  364. package/src/index.ts +34 -1
  365. package/src/interfaces/router.ts +48 -0
  366. package/src/layouts/withLayoutContext.tsx +48 -8
  367. package/src/link/Link.tsx +7 -2
  368. package/src/link/useLinkTo.tsx +7 -3
  369. package/src/router/Route.tsx +32 -3
  370. package/src/router/findRouteNode.ts +127 -0
  371. package/src/router/router.ts +286 -2
  372. package/src/router/useScreens.tsx +9 -3
  373. package/src/useBlocker.native.ts +153 -0
  374. package/src/useBlocker.ts +340 -0
  375. package/src/useLoader.ts +139 -1
  376. package/src/useScrollGroup.native.ts +7 -0
  377. package/src/useScrollGroup.ts +44 -0
  378. package/src/validateParams.ts +196 -0
  379. package/src/validateSearch.ts +241 -0
  380. package/src/views/ErrorBoundary.tsx +154 -156
  381. package/src/views/ErrorBoundary.web.tsx +321 -0
  382. package/src/views/Navigator.tsx +14 -2
  383. package/src/views/Protected.tsx +62 -0
  384. package/src/views/RootErrorBoundary.tsx +214 -17
  385. package/src/views/ScrollBehavior.tsx +82 -3
  386. package/src/views/SourceInspector.tsx +39 -0
  387. package/src/views/Try.tsx +81 -12
  388. package/src/vite/DevHead.tsx +819 -54
  389. package/src/vite/one.ts +13 -0
  390. package/src/vite/plugins/SSRCSSPlugin.ts +104 -0
  391. package/src/vite/plugins/fileSystemRouterPlugin.tsx +11 -8
  392. package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +4 -0
  393. package/src/vite/plugins/sourceInspectorPlugin.ts +246 -0
  394. package/src/vite/plugins/virtualEntryPlugin.ts +35 -10
  395. package/src/vite/types.ts +28 -0
  396. package/types/Route.d.ts.map +1 -0
  397. package/types/cleanUrl.d.ts.map +1 -0
  398. package/types/cli/run.d.ts.map +1 -0
  399. package/types/createApp.d.ts +5 -0
  400. package/types/createApp.d.ts.map +1 -1
  401. package/types/createRoute.d.ts.map +1 -0
  402. package/types/devtools/registry.d.ts +15 -0
  403. package/types/devtools/registry.d.ts.map +1 -0
  404. package/types/fork/NavigationContainer.native.d.ts.map +1 -0
  405. package/types/fork/createMemoryHistory.d.ts +8 -3
  406. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  407. package/types/fork/useLinking.d.ts.map +1 -1
  408. package/types/getLinkingConfig.d.ts.map +1 -0
  409. package/types/getRoutes.d.ts.map +1 -0
  410. package/types/imperative-api.d.ts.map +1 -0
  411. package/types/index.d.ts +8 -1
  412. package/types/index.d.ts.map +1 -1
  413. package/types/interfaces/router.d.ts +47 -0
  414. package/types/interfaces/router.d.ts.map +1 -1
  415. package/types/layouts/withLayoutContext.d.ts +2 -1
  416. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  417. package/types/link/Link.d.ts.map +1 -1
  418. package/types/link/useLinkTo.d.ts +1 -0
  419. package/types/link/useLinkTo.d.ts.map +1 -1
  420. package/types/matchers.d.ts.map +1 -0
  421. package/types/platform.d.ts.map +1 -0
  422. package/types/router/Route.d.ts +32 -3
  423. package/types/router/Route.d.ts.map +1 -1
  424. package/types/router/findRouteNode.d.ts +31 -0
  425. package/types/router/findRouteNode.d.ts.map +1 -0
  426. package/types/router/router.d.ts +35 -0
  427. package/types/router/router.d.ts.map +1 -1
  428. package/types/router/useScreens.d.ts +2 -0
  429. package/types/router/useScreens.d.ts.map +1 -1
  430. package/types/server/oneServe.d.ts.map +1 -1
  431. package/types/sortRoutes.d.ts.map +1 -0
  432. package/types/useBlocker.d.ts +72 -0
  433. package/types/useBlocker.d.ts.map +1 -0
  434. package/types/useBlocker.native.d.ts +60 -0
  435. package/types/useBlocker.native.d.ts.map +1 -0
  436. package/types/useLoader.d.ts +10 -0
  437. package/types/useLoader.d.ts.map +1 -1
  438. package/types/useNavigation.d.ts.map +1 -0
  439. package/types/useScreens.d.ts.map +1 -0
  440. package/types/useScrollGroup.d.ts +27 -0
  441. package/types/useScrollGroup.d.ts.map +1 -0
  442. package/types/useScrollGroup.native.d.ts +6 -0
  443. package/types/useScrollGroup.native.d.ts.map +1 -0
  444. package/types/useSearch.d.ts.map +1 -0
  445. package/types/useViteRoutes.d.ts.map +1 -0
  446. package/types/validateParams.d.ts +85 -0
  447. package/types/validateParams.d.ts.map +1 -0
  448. package/types/validateSearch.d.ts +107 -0
  449. package/types/validateSearch.d.ts.map +1 -0
  450. package/types/views/ErrorBoundary.d.ts +11 -1
  451. package/types/views/ErrorBoundary.d.ts.map +1 -1
  452. package/types/views/ErrorBoundary.web.d.ts +13 -0
  453. package/types/views/ErrorBoundary.web.d.ts.map +1 -0
  454. package/types/views/Navigator.d.ts.map +1 -1
  455. package/types/views/Protected.d.ts +39 -0
  456. package/types/views/Protected.d.ts.map +1 -0
  457. package/types/views/RootErrorBoundary.d.ts +14 -8
  458. package/types/views/RootErrorBoundary.d.ts.map +1 -1
  459. package/types/views/ScrollBehavior.d.ts +8 -0
  460. package/types/views/ScrollBehavior.d.ts.map +1 -1
  461. package/types/views/ScrollRestoration.d.ts.map +1 -0
  462. package/types/views/SourceInspector.d.ts +35 -0
  463. package/types/views/SourceInspector.d.ts.map +1 -0
  464. package/types/views/Try.d.ts +29 -6
  465. package/types/views/Try.d.ts.map +1 -1
  466. package/types/vite/DevHead.d.ts.map +1 -1
  467. package/types/vite/build.d.ts.map +1 -0
  468. package/types/vite/headers.d.ts.map +1 -0
  469. package/types/vite/headers.native.d.ts.map +1 -0
  470. package/types/vite/one.d.ts.map +1 -1
  471. package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
  472. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  473. package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
  474. package/types/vite/plugins/seoPreviewPlugin.d.ts.map +1 -0
  475. package/types/vite/plugins/sourceInspectorPlugin.d.ts +3 -0
  476. package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -0
  477. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  478. package/types/vite/resolveAPIRequest.d.ts.map +1 -0
  479. package/types/vite/server.d.ts.map +1 -0
  480. package/types/vite/types.d.ts +24 -0
  481. package/types/vite/types.d.ts.map +1 -1
@@ -2,6 +2,7 @@ import { findFocusedRoute, getActionFromState as getActionFromStateDefault, getP
2
2
  import isEqual from "fast-deep-equal";
3
3
  import * as React from "react";
4
4
  import { rootState as routerRootState } from "../router/router.mjs";
5
+ import { stripGroupSegmentsFromPath } from "../router/matchers.mjs";
5
6
  import { ServerLocationContext } from "../router/serverLocationContext.mjs";
6
7
  import { createMemoryHistory } from "./createMemoryHistory.mjs";
7
8
  import { appendBaseUrl } from "./getPathFromState-mods.mjs";
@@ -88,7 +89,7 @@ function useLinking(ref, {
88
89
  previousIndex = previousIndexRef.current ?? 0;
89
90
  process.env.ONE_DEBUG_ROUTER && console.info(`[one] \u{1F4DC} history.listen path=${path} index=${index} prevIndex=${previousIndex}`), previousIndexRef.current = index, pendingPopStatePathRef.current = path;
90
91
  const record = history.get(index);
91
- if (record?.path === path && record?.state) {
92
+ if ((record?.path === path || record?.displayPath === path) && record?.state) {
92
93
  process.env.ONE_DEBUG_ROUTER && console.info("[one] \u{1F4DC} history record found, resetRoot to:", record.state), navigation.resetRoot(record.state);
93
94
  return;
94
95
  }
@@ -142,7 +143,9 @@ function useLinking(ref, {
142
143
  if (!state) return;
143
144
  const pendingPath = pendingPopStatePathRef.current,
144
145
  route = findFocusedRoute(state),
145
- path = getPathForRoute(route, state);
146
+ path = getPathForRoute(route, state),
147
+ maskHref = state.linkOptions?.mask?.href,
148
+ displayPath = maskHref ? appendBaseUrl(stripGroupSegmentsFromPath(maskHref) || "/") : void 0;
146
149
  previousStateRef.current = refState, pendingPopStatePathRef.current = void 0;
147
150
  const [previousFocusedState, focusedState] = findMatchingState(previousState, state);
148
151
  if (previousFocusedState && focusedState &&
@@ -152,7 +155,8 @@ function useLinking(ref, {
152
155
  const historyDelta = (focusedState.history ? focusedState.history.length : focusedState.routes.length) - (previousFocusedState.history ? previousFocusedState.history.length : previousFocusedState.routes.length);
153
156
  if (historyDelta > 0) history.push({
154
157
  path,
155
- state
158
+ state,
159
+ displayPath
156
160
  });else if (historyDelta < 0) {
157
161
  const nextIndex = history.backIndex({
158
162
  path
@@ -168,11 +172,13 @@ function useLinking(ref, {
168
172
  } catch {}
169
173
  } else history.replace({
170
174
  path,
171
- state
175
+ state,
176
+ displayPath
172
177
  });
173
178
  } else history.replace({
174
179
  path,
175
- state
180
+ state,
181
+ displayPath
176
182
  });
177
183
  };
178
184
  return ref.current?.addListener("state", series(onStateChange));
@@ -1 +1 @@
1
- {"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","rootState","routerRootState","ServerLocationContext","createMemoryHistory","appendBaseUrl","findMatchingState","a","b","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","then","linkingHandlers","useLinking","ref","enabled","config","onUnhandledLinking","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","validateRoutesNotExistInRootState","useCallback","routeNames","getRootState","some","r","includes","name","server","location","useContext","getInitialState","value","location2","window","path","pathname","search","ONE_DEBUG_ROUTER","info","JSON","stringify","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","navigation","previousIndex","record","get","resetRoot","hash","action","dispatch","e","warn","message","getPathForRoute","route","stateForPath","focusedRoute","params","refState","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sources":["../../../src/fork/useLinking.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","rootState","routerRootState","stripGroupSegmentsFromPath","ServerLocationContext","createMemoryHistory","appendBaseUrl","findMatchingState","a","b","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","then","linkingHandlers","useLinking","ref","enabled","config","onUnhandledLinking","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","validateRoutesNotExistInRootState","useCallback","routeNames","getRootState","some","r","includes","name","server","location","useContext","getInitialState","value","location2","window","path","pathname","search","ONE_DEBUG_ROUTER","info","JSON","stringify","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","navigation","previousIndex","record","get","displayPath","resetRoot","hash","action","dispatch","e","warn","message","getPathForRoute","route","stateForPath","focusedRoute","params","refState","replace","onStateChange","previousState","pendingPath","maskHref","linkOptions","mask","href","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sources":["../../../src/fork/useLinking.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -21,6 +21,7 @@ import {
21
21
  import { href } from "./href";
22
22
  import { Stack } from "./layouts/Stack";
23
23
  import { Tabs } from "./layouts/Tabs";
24
+ import { Protected } from "./views/Protected";
24
25
  import { withLayoutContext } from "./layouts/withLayoutContext";
25
26
  import { Link } from "./link/Link";
26
27
  import { Redirect } from "./link/Redirect";
@@ -32,8 +33,23 @@ import { router } from "./router/imperative-api";
32
33
  import * as routerStore from "./router/router";
33
34
  import { useNavigation } from "./router/useNavigation";
34
35
  import { registerPreloadedRoute } from "./router/useViteRoutes";
36
+ import {
37
+ useBlocker
38
+ } from "./useBlocker";
39
+ import {
40
+ validateParams,
41
+ zodParamValidator,
42
+ ParamValidationError,
43
+ RouteValidationError
44
+ } from "./validateParams";
45
+ import { useValidationState } from "./router/router";
35
46
  import { useFocusEffect } from "./useFocusEffect";
36
- import { refetchLoader, useLoader, useLoaderState } from "./useLoader";
47
+ import {
48
+ getLoaderTimingHistory,
49
+ refetchLoader,
50
+ useLoader,
51
+ useLoaderState
52
+ } from "./useLoader";
37
53
  import {
38
54
  useServerHeadInsertion
39
55
  } from "./useServerHeadInsertion";
@@ -44,6 +60,8 @@ import { ErrorBoundary } from "./views/ErrorBoundary";
44
60
  import { LoadProgressBar } from "./views/LoadProgressBar";
45
61
  import { Navigator, Slot } from "./views/Navigator";
46
62
  import { ScrollBehavior } from "./views/ScrollBehavior";
63
+ import { SourceInspector } from "./views/SourceInspector";
64
+ import { useScrollGroup } from "./useScrollGroup";
47
65
  import { getServerData, setResponseHeaders, setServerData } from "./vite/one-server-only";
48
66
  export {
49
67
  ErrorBoundary,
@@ -51,16 +69,21 @@ export {
51
69
  Link,
52
70
  LoadProgressBar,
53
71
  Navigator,
72
+ ParamValidationError,
73
+ Protected,
54
74
  Redirect,
55
75
  Root,
76
+ RouteValidationError,
56
77
  SafeAreaView,
57
78
  ScrollBehavior,
58
79
  Slot,
80
+ SourceInspector,
59
81
  Stack,
60
82
  Tabs,
61
83
  createApp,
62
84
  createMiddleware,
63
85
  createRoute,
86
+ getLoaderTimingHistory,
64
87
  getServerData,
65
88
  getURL,
66
89
  href,
@@ -76,6 +99,7 @@ export {
76
99
  setResponseHeaders,
77
100
  setServerData,
78
101
  useActiveParams,
102
+ useBlocker,
79
103
  useFocusEffect,
80
104
  useGlobalSearchParams,
81
105
  useIsFocused,
@@ -89,10 +113,14 @@ export {
89
113
  usePathname,
90
114
  useRootNavigationState,
91
115
  useRouter,
116
+ useScrollGroup,
92
117
  useSegments,
93
118
  useServerHeadInsertion,
94
119
  useUnstableGlobalHref,
120
+ useValidationState,
121
+ validateParams,
95
122
  watchFile,
96
- withLayoutContext
123
+ withLayoutContext,
124
+ zodParamValidator
97
125
  };
98
126
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,SAAS,iBAAiB;AA2C1B,SAAS,oBAAoB;AAE7B,cAAc;AAId,SAAS,oBAAoB;AAC7B,SAAS,6BAA6B;AAGtC,SAAS,wBAAyC;AAClD,SAAS,cAAc;AACvB,SAAS,YAAY;AAErB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,YAAY;AAErB,SAAS,aAAa;AACtB,SAAS,YAAY;AAErB,SAAS,yBAAyB;AAClC,SAAS,YAAY;AACrB,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AAErB,SAAS,cAAc;AACvB,SAAS,aAAa,aAAa;AAEnC,SAAS,cAAc;AACvB,YAAY,iBAAiB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,8BAA8B;AAGvC,SAAS,sBAAsB;AAC/B,SAAS,eAAe,WAAW,sBAAsB;AACzD;AAAA,EAEE;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAChC,SAAS,WAAW,YAAY;AAChC,SAAS,sBAAsB;AAE/B,SAAS,eAAe,oBAAoB,qBAAqB;",
4
+ "mappings": "AAAA,SAAS,iBAAiB;AA2C1B,SAAS,oBAAoB;AAE7B,cAAc;AAId,SAAS,oBAAoB;AAC7B,SAAS,6BAA6B;AAGtC,SAAS,wBAAyC;AAClD,SAAS,cAAc;AACvB,SAAS,YAAY;AAErB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,YAAY;AAErB,SAAS,aAAa;AACtB,SAAS,YAAY;AACrB,SAAS,iBAAsC;AAE/C,SAAS,yBAAyB;AAClC,SAAS,YAAY;AACrB,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AAErB,SAAS,cAAc;AACvB,SAAS,aAAa,aAAa;AAEnC,SAAS,cAAc;AACvB,YAAY,iBAAiB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,8BAA8B;AAGvC;AAAA,EACE;AAAA,OAIK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAOK;AAEP,SAAS,0BAAgD;AAEzD,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EAEE;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAE9B,SAAS,uBAAuB;AAChC,SAAS,WAAW,YAAY;AAChC,SAAS,sBAAsB;AAC/B,SAAS,uBAAkD;AAE3D,SAAS,sBAAsB;AAE/B,SAAS,eAAe,oBAAoB,qBAAqB;",
5
5
  "names": []
6
6
  }
@@ -10,6 +10,7 @@ import { useActiveParams, useGlobalSearchParams, useLocalSearchParams, useNaviga
10
10
  import { href } from "./href.mjs";
11
11
  import { Stack } from "./layouts/Stack.mjs";
12
12
  import { Tabs } from "./layouts/Tabs.mjs";
13
+ import { Protected } from "./views/Protected.mjs";
13
14
  import { withLayoutContext } from "./layouts/withLayoutContext.mjs";
14
15
  import { Link } from "./link/Link.mjs";
15
16
  import { Redirect } from "./link/Redirect.mjs";
@@ -21,8 +22,11 @@ import { router } from "./router/imperative-api.mjs";
21
22
  import * as routerStore from "./router/router.mjs";
22
23
  import { useNavigation } from "./router/useNavigation.mjs";
23
24
  import { registerPreloadedRoute } from "./router/useViteRoutes.mjs";
25
+ import { useBlocker } from "./useBlocker.mjs";
26
+ import { validateParams, zodParamValidator, ParamValidationError, RouteValidationError } from "./validateParams.mjs";
27
+ import { useValidationState } from "./router/router.mjs";
24
28
  import { useFocusEffect } from "./useFocusEffect.mjs";
25
- import { refetchLoader, useLoader, useLoaderState } from "./useLoader.mjs";
29
+ import { getLoaderTimingHistory, refetchLoader, useLoader, useLoaderState } from "./useLoader.mjs";
26
30
  import { useServerHeadInsertion } from "./useServerHeadInsertion.mjs";
27
31
  import { isResponse } from "./utils/isResponse.mjs";
28
32
  import { redirect } from "./utils/redirect.mjs";
@@ -31,6 +35,8 @@ import { ErrorBoundary } from "./views/ErrorBoundary.mjs";
31
35
  import { LoadProgressBar } from "./views/LoadProgressBar.mjs";
32
36
  import { Navigator, Slot } from "./views/Navigator.mjs";
33
37
  import { ScrollBehavior } from "./views/ScrollBehavior.mjs";
38
+ import { SourceInspector } from "./views/SourceInspector.mjs";
39
+ import { useScrollGroup } from "./useScrollGroup.mjs";
34
40
  import { getServerData, setResponseHeaders, setServerData } from "./vite/one-server-only.mjs";
35
- export { ErrorBoundary, Head, Link, LoadProgressBar, Navigator, Redirect, Root, SafeAreaView, ScrollBehavior, Slot, Stack, Tabs, createApp, createMiddleware, createRoute, getServerData, getURL, href, isResponse, onClientLoaderResolve, redirect, refetchLoader, registerPreloadedRoute, render, route, router, routerStore, setResponseHeaders, setServerData, useActiveParams, useFocusEffect, useGlobalSearchParams, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useNavigation, useNavigationContainerRef, useParams, usePathname, useRootNavigationState, useRouter, useSegments, useServerHeadInsertion, useUnstableGlobalHref, watchFile, withLayoutContext };
41
+ export { ErrorBoundary, Head, Link, LoadProgressBar, Navigator, ParamValidationError, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, createApp, createMiddleware, createRoute, getLoaderTimingHistory, getServerData, getURL, href, isResponse, onClientLoaderResolve, redirect, refetchLoader, registerPreloadedRoute, render, route, router, routerStore, setResponseHeaders, setServerData, useActiveParams, useBlocker, useFocusEffect, useGlobalSearchParams, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useNavigation, useNavigationContainerRef, useParams, usePathname, useRootNavigationState, useRouter, useScrollGroup, useSegments, useServerHeadInsertion, useUnstableGlobalHref, useValidationState, validateParams, watchFile, withLayoutContext, zodParamValidator };
36
42
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createApp","useIsFocused","SafeAreaView","onClientLoaderResolve","createMiddleware","getURL","Head","useActiveParams","useGlobalSearchParams","useLocalSearchParams","useNavigationContainerRef","useParams","usePathname","useRootNavigationState","useRouter","useSegments","useUnstableGlobalHref","href","Stack","Tabs","withLayoutContext","Link","Redirect","useLinkTo","Root","render","createRoute","route","router","routerStore","useNavigation","registerPreloadedRoute","useFocusEffect","refetchLoader","useLoader","useLoaderState","useServerHeadInsertion","isResponse","redirect","watchFile","ErrorBoundary","LoadProgressBar","Navigator","Slot","ScrollBehavior","getServerData","setResponseHeaders","setServerData"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AA2C1B,SAASC,YAAA,QAAoB;AAE7B,cAAc;AAId,SAASC,YAAA,QAAoB;AAC7B,SAASC,qBAAA,QAA6B;AAGtC,SAASC,gBAAA,QAAyC;AAClD,SAASC,MAAA,QAAc;AACvB,SAASC,IAAA,QAAY;AAErB,SACEC,eAAA,EACAC,qBAAA,EACAC,oBAAA,EACAC,yBAAA,EACAC,SAAA,EACAC,WAAA,EACAC,sBAAA,EACAC,SAAA,EACAC,WAAA,EACAC,qBAAA,QACK;AACP,SAASC,IAAA,QAAY;AAErB,SAASC,KAAA,QAAa;AACtB,SAASC,IAAA,QAAY;AAErB,SAASC,iBAAA,QAAyB;AAClC,SAASC,IAAA,QAAY;AACrB,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,QAAiB;AAC1B,SAASC,IAAA,QAAY;AAErB,SAASC,MAAA,QAAc;AACvB,SAASC,WAAA,EAAaC,KAAA,QAAa;AAEnC,SAASC,MAAA,QAAc;AACvB,YAAYC,WAAA,MAAiB;AAC7B,SAASC,aAAA,QAAqB;AAC9B,SAASC,sBAAA,QAA8B;AAGvC,SAASC,cAAA,QAAsB;AAC/B,SAASC,aAAA,EAAeC,SAAA,EAAWC,cAAA,QAAsB;AACzD,SAEEC,sBAAA,QACK;AACP,SAASC,UAAA,QAAkB;AAC3B,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,QAAiB;AAC1B,SAASC,aAAA,QAAqB;AAC9B,SAASC,eAAA,QAAuB;AAChC,SAASC,SAAA,EAAWC,IAAA,QAAY;AAChC,SAASC,cAAA,QAAsB;AAE/B,SAASC,aAAA,EAAeC,kBAAA,EAAoBC,aAAA,QAAqB","ignoreList":[]}
1
+ {"version":3,"names":["createApp","useIsFocused","SafeAreaView","onClientLoaderResolve","createMiddleware","getURL","Head","useActiveParams","useGlobalSearchParams","useLocalSearchParams","useNavigationContainerRef","useParams","usePathname","useRootNavigationState","useRouter","useSegments","useUnstableGlobalHref","href","Stack","Tabs","Protected","withLayoutContext","Link","Redirect","useLinkTo","Root","render","createRoute","route","router","routerStore","useNavigation","registerPreloadedRoute","useBlocker","validateParams","zodParamValidator","ParamValidationError","RouteValidationError","useValidationState","useFocusEffect","getLoaderTimingHistory","refetchLoader","useLoader","useLoaderState","useServerHeadInsertion","isResponse","redirect","watchFile","ErrorBoundary","LoadProgressBar","Navigator","Slot","ScrollBehavior","SourceInspector","useScrollGroup","getServerData","setResponseHeaders","setServerData"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AA2C1B,SAASC,YAAA,QAAoB;AAE7B,cAAc;AAId,SAASC,YAAA,QAAoB;AAC7B,SAASC,qBAAA,QAA6B;AAGtC,SAASC,gBAAA,QAAyC;AAClD,SAASC,MAAA,QAAc;AACvB,SAASC,IAAA,QAAY;AAErB,SACEC,eAAA,EACAC,qBAAA,EACAC,oBAAA,EACAC,yBAAA,EACAC,SAAA,EACAC,WAAA,EACAC,sBAAA,EACAC,SAAA,EACAC,WAAA,EACAC,qBAAA,QACK;AACP,SAASC,IAAA,QAAY;AAErB,SAASC,KAAA,QAAa;AACtB,SAASC,IAAA,QAAY;AACrB,SAASC,SAAA,QAAsC;AAE/C,SAASC,iBAAA,QAAyB;AAClC,SAASC,IAAA,QAAY;AACrB,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,QAAiB;AAC1B,SAASC,IAAA,QAAY;AAErB,SAASC,MAAA,QAAc;AACvB,SAASC,WAAA,EAAaC,KAAA,QAAa;AAEnC,SAASC,MAAA,QAAc;AACvB,YAAYC,WAAA,MAAiB;AAC7B,SAASC,aAAA,QAAqB;AAC9B,SAASC,sBAAA,QAA8B;AAGvC,SACEC,UAAA,QAIK;AAEP,SACEC,cAAA,EACAC,iBAAA,EACAC,oBAAA,EACAC,oBAAA,QAOK;AAEP,SAASC,kBAAA,QAAgD;AAEzD,SAASC,cAAA,QAAsB;AAC/B,SACEC,sBAAA,EACAC,aAAA,EACAC,SAAA,EACAC,cAAA,QAEK;AACP,SAEEC,sBAAA,QACK;AACP,SAASC,UAAA,QAAkB;AAC3B,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,QAAiB;AAC1B,SAASC,aAAA,QAAqB;AAE9B,SAASC,eAAA,QAAuB;AAChC,SAASC,SAAA,EAAWC,IAAA,QAAY;AAChC,SAASC,cAAA,QAAsB;AAC/B,SAASC,eAAA,QAAkD;AAE3D,SAASC,cAAA,QAAsB;AAE/B,SAASC,aAAA,EAAeC,kBAAA,EAAoBC,aAAA,QAAqB","ignoreList":[]}
@@ -10,6 +10,7 @@ import { useActiveParams, useGlobalSearchParams, useLocalSearchParams, useNaviga
10
10
  import { href } from "./href.native.js";
11
11
  import { Stack } from "./layouts/Stack.native.js";
12
12
  import { Tabs } from "./layouts/Tabs.native.js";
13
+ import { Protected } from "./views/Protected.native.js";
13
14
  import { withLayoutContext } from "./layouts/withLayoutContext.native.js";
14
15
  import { Link } from "./link/Link.native.js";
15
16
  import { Redirect } from "./link/Redirect.native.js";
@@ -21,8 +22,11 @@ import { router } from "./router/imperative-api.native.js";
21
22
  import * as _routerStore from "./router/router.native.js";
22
23
  import { useNavigation } from "./router/useNavigation.native.js";
23
24
  import { registerPreloadedRoute } from "./router/useViteRoutes.native.js";
25
+ import { useBlocker } from "./useBlocker.native.js";
26
+ import { validateParams, zodParamValidator, ParamValidationError, RouteValidationError } from "./validateParams.native.js";
27
+ import { useValidationState } from "./router/router.native.js";
24
28
  import { useFocusEffect } from "./useFocusEffect.native.js";
25
- import { refetchLoader, useLoader, useLoaderState } from "./useLoader.native.js";
29
+ import { getLoaderTimingHistory, refetchLoader, useLoader, useLoaderState } from "./useLoader.native.js";
26
30
  import { useServerHeadInsertion } from "./useServerHeadInsertion.native.js";
27
31
  import { isResponse } from "./utils/isResponse.native.js";
28
32
  import { redirect } from "./utils/redirect.native.js";
@@ -31,6 +35,8 @@ import { ErrorBoundary } from "./views/ErrorBoundary.native.js";
31
35
  import { LoadProgressBar } from "./views/LoadProgressBar.native.js";
32
36
  import { Navigator, Slot } from "./views/Navigator.native.js";
33
37
  import { ScrollBehavior } from "./views/ScrollBehavior.native.js";
38
+ import { SourceInspector } from "./views/SourceInspector.native.js";
39
+ import { useScrollGroup } from "./useScrollGroup.native.js";
34
40
  import { getServerData, setResponseHeaders, setServerData } from "./vite/one-server-only.native.js";
35
- export { ErrorBoundary, Head, Link, LoadProgressBar, Navigator, Redirect, Root, SafeAreaView, ScrollBehavior, Slot, Stack, Tabs, createApp, createMiddleware, createRoute, getServerData, getURL, href, isResponse, onClientLoaderResolve, redirect, refetchLoader, registerPreloadedRoute, render, route, router, _routerStore as routerStore, setResponseHeaders, setServerData, useActiveParams, useFocusEffect, useGlobalSearchParams, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useNavigation, useNavigationContainerRef, useParams, usePathname, useRootNavigationState, useRouter, useSegments, useServerHeadInsertion, useUnstableGlobalHref, watchFile, withLayoutContext };
41
+ export { ErrorBoundary, Head, Link, LoadProgressBar, Navigator, ParamValidationError, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, createApp, createMiddleware, createRoute, getLoaderTimingHistory, getServerData, getURL, href, isResponse, onClientLoaderResolve, redirect, refetchLoader, registerPreloadedRoute, render, route, router, _routerStore as routerStore, setResponseHeaders, setServerData, useActiveParams, useBlocker, useFocusEffect, useGlobalSearchParams, useIsFocused, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useNavigation, useNavigationContainerRef, useParams, usePathname, useRootNavigationState, useRouter, useScrollGroup, useSegments, useServerHeadInsertion, useUnstableGlobalHref, useValidationState, validateParams, watchFile, withLayoutContext, zodParamValidator };
36
42
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createApp","useIsFocused","SafeAreaView","onClientLoaderResolve","createMiddleware","getURL","Head","useActiveParams","useGlobalSearchParams","useLocalSearchParams","useNavigationContainerRef","useParams","usePathname","useRootNavigationState","useRouter","useSegments","useUnstableGlobalHref","href","Stack","Tabs","withLayoutContext","Link","Redirect","useLinkTo","Root","render","createRoute","route","router","_routerStore","useNavigation","registerPreloadedRoute","useFocusEffect","refetchLoader","useLoader","useLoaderState","useServerHeadInsertion","isResponse","redirect","watchFile","ErrorBoundary","LoadProgressBar","Navigator","Slot","ScrollBehavior","getServerData","setResponseHeaders","setServerData"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AA2C1B,SAASC,YAAA,QAAoB;AAE7B,cAAc;AAId,SAASC,YAAA,QAAoB;AAC7B,SAASC,qBAAA,QAA6B;AAGtC,SAASC,gBAAA,QAAyC;AAClD,SAASC,MAAA,QAAc;AACvB,SAASC,IAAA,QAAY;AAErB,SAAAC,eAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,yBAAA,EAAAC,SAAA,EAAAC,WAAA,EAAAC,sBAAA,EAAAC,SAAA,EAAAC,WAAA,EAAAC,qBAAA;AAAA,SACEC,IAAA;AAAA,SACAC,KAAA;AAAA,SACAC,IAAA;AAAA,SACAC,iBAAA;AAAA,SACAC,IAAA;AAAA,SACAC,QAAA;AAAA,SACAC,SAAA;AAAA,SACAC,IAAA;AAAA,SACAC,MAAA;AAAA,SACAC,WAAA,EAAAC,KAAA;AAAA,SACKC,MAAA;AACP,YAASC,YAAY;AAErB,SAASC,aAAa;AACtB,SAASC,sBAAY;AAErB,SAASC,cAAA,oCAAyB;AAClC,SAASC,aAAY,EAAAC,SAAA,EAAAC,cAAA;AACrB,SAASC,sBAAgB;AACzB,SAASC,UAAA,QAAiB;AAC1B,SAASC,QAAA,QAAY;AAErB,SAASC,SAAA,QAAc;AACvB,SAASC,aAAa,yCAAa;AAEnC,SAASC,eAAc;AACvB,SAAAC,SAAY,EAAAC,IAAA,QAAiB;AAC7B,SAASC,cAAA,QAAqB;AAC9B,SAASC,aAAA,EAAAC,kBAA8B,EAAAC,aAAA;AAGvC,SACAP,aAAS,EACTlC,IAAA,EAEEe,IAAA,EAAAoB,eACK,EACPC,SAAS,EACTpB,QAAS,EACTE,IAAA,EACAtB,YAAS,EACT0C,cAAS,EACTD,IAAA,EACAzB,KAAA,EAEAC,IAAA,E","ignoreList":[]}
1
+ {"version":3,"names":["createApp","useIsFocused","SafeAreaView","onClientLoaderResolve","createMiddleware","getURL","Head","useActiveParams","useGlobalSearchParams","useLocalSearchParams","useNavigationContainerRef","useParams","usePathname","useRootNavigationState","useRouter","useSegments","useUnstableGlobalHref","href","Stack","Tabs","Protected","withLayoutContext","Link","Redirect","useLinkTo","Root","render","createRoute","route","router","_routerStore","useNavigation","registerPreloadedRoute","useBlocker","validateParams","zodParamValidator","ParamValidationError","RouteValidationError","useValidationState","useFocusEffect","getLoaderTimingHistory","refetchLoader","useLoader","useLoaderState","useServerHeadInsertion","isResponse","redirect","watchFile","ErrorBoundary","LoadProgressBar","Navigator","Slot","ScrollBehavior","SourceInspector","useScrollGroup","getServerData","setResponseHeaders","setServerData"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AA2C1B,SAASC,YAAA,QAAoB;AAE7B,cAAc;AAId,SAASC,YAAA,QAAoB;AAC7B,SAASC,qBAAA,QAA6B;AAGtC,SAASC,gBAAA,QAAyC;AAClD,SAASC,MAAA,QAAc;AACvB,SAASC,IAAA,QAAY;AAErB,SAAAC,eAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,yBAAA,EAAAC,SAAA,EAAAC,WAAA,EAAAC,sBAAA,EAAAC,SAAA,EAAAC,WAAA,EAAAC,qBAAA;AAAA,SACEC,IAAA;AAAA,SACAC,KAAA;AAAA,SACAC,IAAA;AAAA,SACAC,SAAA;AAAA,SACAC,iBAAA;AAAA,SACAC,IAAA;AAAA,SACAC,QAAA;AAAA,SACAC,SAAA;AAAA,SACAC,IAAA;AAAA,SACAC,MAAA;AAAA,SACKC,WAAA,EAAAC,KAAA;AACP,SAASC,MAAA,QAAY;AAErB,YAASC,YAAa;AACtB,SAASC,aAAY;AACrB,SAASC,sBAAsC;AAE/C,SAASC,UAAA,gCAAyB;AAClC,SAASC,cAAY,EAAAC,iBAAA,EAAAC,oBAAA,EAAAC,oBAAA;AACrB,SAASC,kBAAgB;AACzB,SAASC,cAAA,QAAiB;AAC1B,SAASC,sBAAY,EAAAC,aAAA,EAAAC,SAAA,EAAAC,cAAA;AAErB,SAASC,sBAAc;AACvB,SAASC,UAAA,QAAa,8BAAa;AAEnC,SAASC,QAAA,QAAc;AACvB,SAAAC,SAAY,qCAAiB;AAC7B,SAASC,aAAA,QAAqB;AAC9B,SAASC,eAAA,2CAA8B;AAGvC,SAAAC,SAAA,EAAAC,IAAA;AAAA,SACEC,cAAA;AAAA,SAIKC,eAAA;AAEP,SAAAC,cAAA;AAAA,SACEC,aAAA,EAAAC,kBAAA,EAAAC,aAAA;AAAA,SAEAT,aAAA,EACA1C,IAAA,EAAAgB,IAAA,EASF2B,eAAS,EAETC,SAAS,EACTd,oBAAA,EACEhB,SAAA,EACAG,QAAA,EACAE,IAAA,EACAY,oBAAA,EAAAnC,YAEK,EACPkD,cAAA,EAEED,IAAA,EAAAE,eACK,EACPnC,KAAA,EACAC,IAAA,EACAnB,SAAS,EACTI,gBAAS,EAETuB,WAAS,EACTa,sBAAoB,EACpBe,aAAS,EACTlD,MAAA,EAEAY,IAAA,EAEA4B,UAAS,E","ignoreList":[]}
@@ -1,7 +1,9 @@
1
1
  import React from "react";
2
2
  import { useContextKey } from "../router/Route";
3
+ import { registerProtectedRoutes, unregisterProtectedRoutes } from "../router/router";
3
4
  import { useSortedScreens } from "../router/useScreens";
4
5
  import { withStaticProperties } from "../utils/withStaticProperties";
6
+ import { isProtectedElement } from "../views/Protected";
5
7
  import { Screen } from "../views/Screen";
6
8
  import { jsx } from "react/jsx-runtime";
7
9
  function useFilterScreenChildren(children, {
@@ -9,8 +11,9 @@ function useFilterScreenChildren(children, {
9
11
  contextKey
10
12
  } = {}) {
11
13
  return React.useMemo(() => {
12
- const customChildren = [], screens = React.Children.map(children, (child) => {
13
- if (React.isValidElement(child) && child && child.type === Screen) {
14
+ const customChildren = [], screens = [], protectedScreens = /* @__PURE__ */ new Set();
15
+ function flattenChild(child, exclude = !1) {
16
+ if (React.isValidElement(child) && child.type === Screen) {
14
17
  if (typeof child.props == "object" && child.props && "name" in child.props && !child.props.name)
15
18
  throw new Error(
16
19
  `<Screen /> component in \`default export\` at \`app${contextKey}/_layout\` must have a \`name\` prop when used as a child of a Layout Route.`
@@ -21,20 +24,30 @@ function useFilterScreenChildren(children, {
21
24
  throw new Error(
22
25
  `<Screen /> component in \`default export\` at \`app${contextKey}/_layout\` must not have a \`children\`, \`component\`, or \`getComponent\` prop when used as a child of a Layout Route`
23
26
  );
24
- return child.props;
27
+ const screenProps = child.props;
28
+ exclude && screenProps.name ? protectedScreens.add(screenProps.name) : screens.push(screenProps);
29
+ return;
25
30
  }
26
- return isCustomNavigator ? customChildren.push(child) : console.warn(
31
+ if (isProtectedElement(child)) {
32
+ const excludeChildren = exclude || !child.props.guard;
33
+ React.Children.forEach(child.props.children, (nested) => {
34
+ flattenChild(nested, excludeChildren);
35
+ });
36
+ return;
37
+ }
38
+ isCustomNavigator ? customChildren.push(child) : child != null && console.warn(
27
39
  `Layout children must be of type Screen, all other children are ignored. To use custom children, create a custom <Layout />. Update Layout Route at: "app${contextKey}/_layout"`
28
- ), null;
29
- })?.filter(Boolean);
30
- if (process.env.NODE_ENV !== "production") {
31
- const names = screens?.map((screen) => screen.name);
40
+ );
41
+ }
42
+ if (React.Children.forEach(children, (child) => flattenChild(child)), process.env.NODE_ENV !== "production") {
43
+ const names = screens.map((screen) => screen.name);
32
44
  if (names && new Set(names).size !== names.length)
33
45
  throw new Error("Screen names must be unique: " + names);
34
46
  }
35
47
  return {
36
48
  screens,
37
- children: customChildren
49
+ children: customChildren,
50
+ protectedScreens
38
51
  };
39
52
  }, [children, contextKey, isCustomNavigator]);
40
53
  }
@@ -42,10 +55,15 @@ function withLayoutContext(Nav, processor, options) {
42
55
  return withStaticProperties(
43
56
  React.forwardRef(
44
57
  (propsIn, ref) => {
45
- const { children, ...props } = propsIn, contextKey = useContextKey(), { screens } = useFilterScreenChildren(children, {
58
+ const { children, ...props } = propsIn, contextKey = useContextKey(), { screens, protectedScreens } = useFilterScreenChildren(children, {
46
59
  contextKey
47
- }), processed = processor ? processor(screens ?? []) : screens, sorted = useSortedScreens(processed ?? [], {
48
- onlyMatching: !0
60
+ });
61
+ registerProtectedRoutes(contextKey, protectedScreens), React.useEffect(() => (registerProtectedRoutes(contextKey, protectedScreens), () => {
62
+ unregisterProtectedRoutes(contextKey);
63
+ }), [contextKey, protectedScreens]);
64
+ const processed = processor ? processor(screens ?? []) : screens, sorted = useSortedScreens(processed ?? [], {
65
+ onlyMatching: !0,
66
+ protectedScreens
49
67
  });
50
68
  return sorted.length ? /* @__PURE__ */ jsx(Nav, { ...options?.props, ...props, id: contextKey, ref, children: sorted }) : null;
51
69
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/layouts/withLayoutContext.tsx"],
4
- "mappings": "AACA,OAAO,WAAW;AAClB,SAAS,qBAAqB;AAC9B,SAA2B,wBAAwB;AAEnD,SAAS,4BAA4B;AACrC,SAAS,cAAc;AAuGb;AArGH,SAAS,wBACd,UACA;AAAA,EACE;AAAA,EACA;AACF,IAII,CAAC,GACL;AACA,SAAO,MAAM,QAAQ,MAAM;AACzB,UAAM,iBAAwB,CAAC,GAEzB,UAAU,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU;AACtD,UAAI,MAAM,eAAe,KAAK,KAAK,SAAS,MAAM,SAAS,QAAQ;AACjE,YACE,OAAO,MAAM,SAAU,YACvB,MAAM,SACN,UAAU,MAAM,SAChB,CAAC,MAAM,MAAM;AAEb,gBAAM,IAAI;AAAA,YACR,sDAAsD,UAAU;AAAA,UAClE;AAEF,YAAI,QAAQ,IAAI,aAAa,gBAEzB,CAAC,YAAY,aAAa,cAAc,EAAE;AAAA,UACxC,CAAC,QACC,MAAM,SAAS,OAAO,MAAM,SAAU,YAAY,OAAO,MAAM;AAAA,QACnE;AAEA,gBAAM,IAAI;AAAA,YACR,sDAAsD,UAAU;AAAA,UAClE;AAGJ,eAAO,MAAM;AAAA,MACf;AAEA,aAAI,oBACF,eAAe,KAAK,KAAK,IAEzB,QAAQ;AAAA,QACN,2JAA2J,UAAU;AAAA,MACvK,GAGK;AAAA,IACT,CAAC,GAAG,OAAO,OAAO;AAGlB,QAAI,QAAQ,IAAI,aAAa,cAAc;AAEzC,YAAM,QAAQ,SAAS,IAAI,CAAC,WAAW,OAAO,IAAI;AAClD,UAAI,SAAS,IAAI,IAAI,KAAK,EAAE,SAAS,MAAM;AACzC,cAAM,IAAI,MAAM,kCAAkC,KAAK;AAAA,IAE3D;AAEA,WAAO;AAAA,MACL;AAAA,MACA,UAAU;AAAA,IACZ;AAAA,EACF,GAAG,CAAC,UAAU,YAAY,iBAAiB,CAAC;AAC9C;AAGO,SAAS,kBAMd,KACA,WAGA,SACA;AACA,SAAO;AAAA,IACL,MAAM;AAAA,MACJ,CAAC,SAAS,QAAQ;AAChB,cAAM,EAAE,UAAU,GAAG,MAAM,IAAI,SACzB,aAAa,cAAc,GAC3B,EAAE,QAAQ,IAAI,wBAAwB,UAAU;AAAA,UACpD;AAAA,QACF,CAAC,GAEK,YAAY,YAAY,UAAU,WAAY,CAAC,CAAS,IAAI,SAC5D,SAAS,iBAAkB,aAAa,CAAC,GAAW;AAAA,UACxD,cAAc;AAAA,QAChB,CAAC;AAGD,eAAK,OAAO,SAKV,oBAAC,OAAK,GAAG,SAAS,OAAQ,GAAG,OAAO,IAAI,YAAY,KACjD,kBACH,IANO;AAAA,MAQX;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "mappings": "AACA,OAAO,WAAW;AAClB,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB,iCAAiC;AACnE,SAA2B,wBAAwB;AAEnD,SAAS,4BAA4B;AACrC,SAAS,0BAA0B;AACnC,SAAS,cAAc;AA6Ib;AA3IH,SAAS,wBACd,UACA;AAAA,EACE;AAAA,EACA;AACF,IAII,CAAC,GACL;AACA,SAAO,MAAM,QAAQ,MAAM;AACzB,UAAM,iBAAwB,CAAC,GACzB,UAAiB,CAAC,GAClB,mBAAmB,oBAAI,IAAY;AAMzC,aAAS,aAAa,OAAwB,UAAU,IAAO;AAE7D,UAAI,MAAM,eAAe,KAAK,KAAK,MAAM,SAAS,QAAQ;AACxD,YACE,OAAO,MAAM,SAAU,YACvB,MAAM,SACN,UAAU,MAAM,SAChB,CAAC,MAAM,MAAM;AAEb,gBAAM,IAAI;AAAA,YACR,sDAAsD,UAAU;AAAA,UAClE;AAEF,YAAI,QAAQ,IAAI,aAAa,gBAEzB,CAAC,YAAY,aAAa,cAAc,EAAE;AAAA,UACxC,CAAC,QACC,MAAM,SAAS,OAAO,MAAM,SAAU,YAAY,OAAO,MAAM;AAAA,QACnE;AAEA,gBAAM,IAAI;AAAA,YACR,sDAAsD,UAAU;AAAA,UAClE;AAIJ,cAAM,cAAc,MAAM;AAC1B,QAAI,WAAW,YAAY,OACzB,iBAAiB,IAAI,YAAY,IAAI,IAErC,QAAQ,KAAK,WAAW;AAE1B;AAAA,MACF;AAGA,UAAI,mBAAmB,KAAK,GAAG;AAE7B,cAAM,kBAAkB,WAAW,CAAC,MAAM,MAAM;AAChD,cAAM,SAAS,QAAQ,MAAM,MAAM,UAAU,CAAC,WAAW;AACvD,uBAAa,QAAQ,eAAe;AAAA,QACtC,CAAC;AACD;AAAA,MACF;AAGA,MAAI,oBACF,eAAe,KAAK,KAAK,IAChB,SAAS,QAClB,QAAQ;AAAA,QACN,2JAA2J,UAAU;AAAA,MACvK;AAAA,IAEJ;AAKA,QAHA,MAAM,SAAS,QAAQ,UAAU,CAAC,UAAU,aAAa,KAAK,CAAC,GAG3D,QAAQ,IAAI,aAAa,cAAc;AAEzC,YAAM,QAAQ,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI;AACjD,UAAI,SAAS,IAAI,IAAI,KAAK,EAAE,SAAS,MAAM;AACzC,cAAM,IAAI,MAAM,kCAAkC,KAAK;AAAA,IAE3D;AAEA,WAAO;AAAA,MACL;AAAA,MACA,UAAU;AAAA,MACV;AAAA,IACF;AAAA,EACF,GAAG,CAAC,UAAU,YAAY,iBAAiB,CAAC;AAC9C;AAGO,SAAS,kBAMd,KACA,WAGA,SACA;AACA,SAAO;AAAA,IACL,MAAM;AAAA,MACJ,CAAC,SAAS,QAAQ;AAChB,cAAM,EAAE,UAAU,GAAG,MAAM,IAAI,SACzB,aAAa,cAAc,GAC3B,EAAE,SAAS,iBAAiB,IAAI,wBAAwB,UAAU;AAAA,UACtE;AAAA,QACF,CAAC;AAID,gCAAwB,YAAY,gBAAgB,GAEpD,MAAM,UAAU,OACd,wBAAwB,YAAY,gBAAgB,GAC7C,MAAM;AACX,oCAA0B,UAAU;AAAA,QACtC,IACC,CAAC,YAAY,gBAAgB,CAAC;AAEjC,cAAM,YAAY,YAAY,UAAU,WAAY,CAAC,CAAS,IAAI,SAC5D,SAAS,iBAAkB,aAAa,CAAC,GAAW;AAAA,UACxD,cAAc;AAAA,UACd;AAAA,QACF,CAAC;AAGD,eAAK,OAAO,SAKV,oBAAC,OAAK,GAAG,SAAS,OAAQ,GAAG,OAAO,IAAI,YAAY,KACjD,kBACH,IANO;AAAA,MAQX;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,IACF;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -1,7 +1,9 @@
1
1
  import React from "react";
2
2
  import { useContextKey } from "../router/Route.mjs";
3
+ import { registerProtectedRoutes, unregisterProtectedRoutes } from "../router/router.mjs";
3
4
  import { useSortedScreens } from "../router/useScreens.mjs";
4
5
  import { withStaticProperties } from "../utils/withStaticProperties.mjs";
6
+ import { isProtectedElement } from "../views/Protected.mjs";
5
7
  import { Screen } from "../views/Screen.mjs";
6
8
  import { jsx } from "react/jsx-runtime";
7
9
  function useFilterScreenChildren(children, {
@@ -10,21 +12,33 @@ function useFilterScreenChildren(children, {
10
12
  } = {}) {
11
13
  return React.useMemo(() => {
12
14
  const customChildren = [],
13
- screens = React.Children.map(children, child => {
14
- if (React.isValidElement(child) && child && child.type === Screen) {
15
- if (typeof child.props == "object" && child.props && "name" in child.props && !child.props.name) throw new Error(`<Screen /> component in \`default export\` at \`app${contextKey}/_layout\` must have a \`name\` prop when used as a child of a Layout Route.`);
16
- if (process.env.NODE_ENV !== "production" && ["children", "component", "getComponent"].some(key => child.props && typeof child.props == "object" && key in child.props)) throw new Error(`<Screen /> component in \`default export\` at \`app${contextKey}/_layout\` must not have a \`children\`, \`component\`, or \`getComponent\` prop when used as a child of a Layout Route`);
17
- return child.props;
18
- }
19
- return isCustomNavigator ? customChildren.push(child) : console.warn(`Layout children must be of type Screen, all other children are ignored. To use custom children, create a custom <Layout />. Update Layout Route at: "app${contextKey}/_layout"`), null;
20
- })?.filter(Boolean);
21
- if (process.env.NODE_ENV !== "production") {
22
- const names = screens?.map(screen => screen.name);
15
+ screens = [],
16
+ protectedScreens = /* @__PURE__ */new Set();
17
+ function flattenChild(child, exclude = !1) {
18
+ if (React.isValidElement(child) && child.type === Screen) {
19
+ if (typeof child.props == "object" && child.props && "name" in child.props && !child.props.name) throw new Error(`<Screen /> component in \`default export\` at \`app${contextKey}/_layout\` must have a \`name\` prop when used as a child of a Layout Route.`);
20
+ if (process.env.NODE_ENV !== "production" && ["children", "component", "getComponent"].some(key => child.props && typeof child.props == "object" && key in child.props)) throw new Error(`<Screen /> component in \`default export\` at \`app${contextKey}/_layout\` must not have a \`children\`, \`component\`, or \`getComponent\` prop when used as a child of a Layout Route`);
21
+ const screenProps = child.props;
22
+ exclude && screenProps.name ? protectedScreens.add(screenProps.name) : screens.push(screenProps);
23
+ return;
24
+ }
25
+ if (isProtectedElement(child)) {
26
+ const excludeChildren = exclude || !child.props.guard;
27
+ React.Children.forEach(child.props.children, nested => {
28
+ flattenChild(nested, excludeChildren);
29
+ });
30
+ return;
31
+ }
32
+ isCustomNavigator ? customChildren.push(child) : child != null && console.warn(`Layout children must be of type Screen, all other children are ignored. To use custom children, create a custom <Layout />. Update Layout Route at: "app${contextKey}/_layout"`);
33
+ }
34
+ if (React.Children.forEach(children, child => flattenChild(child)), process.env.NODE_ENV !== "production") {
35
+ const names = screens.map(screen => screen.name);
23
36
  if (names && new Set(names).size !== names.length) throw new Error("Screen names must be unique: " + names);
24
37
  }
25
38
  return {
26
39
  screens,
27
- children: customChildren
40
+ children: customChildren,
41
+ protectedScreens
28
42
  };
29
43
  }, [children, contextKey, isCustomNavigator]);
30
44
  }
@@ -36,13 +50,18 @@ function withLayoutContext(Nav, processor, options) {
36
50
  } = propsIn,
37
51
  contextKey = useContextKey(),
38
52
  {
39
- screens
53
+ screens,
54
+ protectedScreens
40
55
  } = useFilterScreenChildren(children, {
41
56
  contextKey
42
- }),
43
- processed = processor ? processor(screens ?? []) : screens,
57
+ });
58
+ registerProtectedRoutes(contextKey, protectedScreens), React.useEffect(() => (registerProtectedRoutes(contextKey, protectedScreens), () => {
59
+ unregisterProtectedRoutes(contextKey);
60
+ }), [contextKey, protectedScreens]);
61
+ const processed = processor ? processor(screens ?? []) : screens,
44
62
  sorted = useSortedScreens(processed ?? [], {
45
- onlyMatching: !0
63
+ onlyMatching: !0,
64
+ protectedScreens
46
65
  });
47
66
  return sorted.length ? /* @__PURE__ */jsx(Nav, {
48
67
  ...options?.props,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useContextKey","useSortedScreens","withStaticProperties","Screen","jsx","useFilterScreenChildren","children","isCustomNavigator","contextKey","useMemo","customChildren","screens","Children","map","child","isValidElement","type","props","name","Error","process","env","NODE_ENV","some","key","push","console","warn","filter","Boolean","names","screen","Set","size","length","withLayoutContext","Nav","processor","options","forwardRef","propsIn","ref","processed","sorted","onlyMatching","id"],"sources":["../../../src/layouts/withLayoutContext.tsx"],"sourcesContent":[null],"mappings":"AACA,OAAOA,KAAA,MAAW;AAClB,SAASC,aAAA,QAAqB;AAC9B,SAA2BC,gBAAA,QAAwB;AAEnD,SAASC,oBAAA,QAA4B;AACrC,SAASC,MAAA,QAAc;AAuGb,SAAAC,GAAA;AArGH,SAASC,wBACdC,QAAA,EACA;EACEC,iBAAA;EACAC;AACF,IAII,CAAC,GACL;EACA,OAAOT,KAAA,CAAMU,OAAA,CAAQ,MAAM;IACzB,MAAMC,cAAA,GAAwB,EAAC;MAEzBC,OAAA,GAAUZ,KAAA,CAAMa,QAAA,CAASC,GAAA,CAAIP,QAAA,EAAWQ,KAAA,IAAU;QACtD,IAAIf,KAAA,CAAMgB,cAAA,CAAeD,KAAK,KAAKA,KAAA,IAASA,KAAA,CAAME,IAAA,KAASb,MAAA,EAAQ;UACjE,IACE,OAAOW,KAAA,CAAMG,KAAA,IAAU,YACvBH,KAAA,CAAMG,KAAA,IACN,UAAUH,KAAA,CAAMG,KAAA,IAChB,CAACH,KAAA,CAAMG,KAAA,CAAMC,IAAA,EAEb,MAAM,IAAIC,KAAA,CACR,sDAAsDX,UAAU,8EAClE;UAEF,IAAIY,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBAEzB,CAAC,YAAY,aAAa,cAAc,EAAEC,IAAA,CACvCC,GAAA,IACCV,KAAA,CAAMG,KAAA,IAAS,OAAOH,KAAA,CAAMG,KAAA,IAAU,YAAYO,GAAA,IAAOV,KAAA,CAAMG,KACnE,GAEA,MAAM,IAAIE,KAAA,CACR,sDAAsDX,UAAU,yHAClE;UAGJ,OAAOM,KAAA,CAAMG,KAAA;QACf;QAEA,OAAIV,iBAAA,GACFG,cAAA,CAAee,IAAA,CAAKX,KAAK,IAEzBY,OAAA,CAAQC,IAAA,CACN,2JAA2JnB,UAAU,WACvK,GAGK;MACT,CAAC,GAAGoB,MAAA,CAAOC,OAAO;IAGlB,IAAIT,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,cAAc;MAEzC,MAAMQ,KAAA,GAAQnB,OAAA,EAASE,GAAA,CAAKkB,MAAA,IAAWA,MAAA,CAAOb,IAAI;MAClD,IAAIY,KAAA,IAAS,IAAIE,GAAA,CAAIF,KAAK,EAAEG,IAAA,KAASH,KAAA,CAAMI,MAAA,EACzC,MAAM,IAAIf,KAAA,CAAM,kCAAkCW,KAAK;IAE3D;IAEA,OAAO;MACLnB,OAAA;MACAL,QAAA,EAAUI;IACZ;EACF,GAAG,CAACJ,QAAA,EAAUE,UAAA,EAAYD,iBAAiB,CAAC;AAC9C;AAGO,SAAS4B,kBAMdC,GAAA,EACAC,SAAA,EAGAC,OAAA,EACA;EACA,OAAOpC,oBAAA,CACLH,KAAA,CAAMwC,UAAA,CACJ,CAACC,OAAA,EAASC,GAAA,KAAQ;IAChB,MAAM;QAAEnC,QAAA;QAAU,GAAGW;MAAM,IAAIuB,OAAA;MACzBhC,UAAA,GAAaR,aAAA,CAAc;MAC3B;QAAEW;MAAQ,IAAIN,uBAAA,CAAwBC,QAAA,EAAU;QACpDE;MACF,CAAC;MAEKkC,SAAA,GAAYL,SAAA,GAAYA,SAAA,CAAU1B,OAAA,IAAY,EAAU,IAAIA,OAAA;MAC5DgC,MAAA,GAAS1C,gBAAA,CAAkByC,SAAA,IAAa,EAAC,EAAW;QACxDE,YAAA,EAAc;MAChB,CAAC;IAGD,OAAKD,MAAA,CAAOT,MAAA,GAKV,eAAA9B,GAAA,CAACgC,GAAA;MAAK,GAAGE,OAAA,EAASrB,KAAA;MAAQ,GAAGA,KAAA;MAAO4B,EAAA,EAAIrC,UAAA;MAAYiC,GAAA;MACjDnC,QAAA,EAAAqC;IAAA,CACH,IANO;EAQX,CACF,GACA;IACExC;EACF,CACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","useContextKey","registerProtectedRoutes","unregisterProtectedRoutes","useSortedScreens","withStaticProperties","isProtectedElement","Screen","jsx","useFilterScreenChildren","children","isCustomNavigator","contextKey","useMemo","customChildren","screens","protectedScreens","Set","flattenChild","child","exclude","isValidElement","type","props","name","Error","process","env","NODE_ENV","some","key","screenProps","add","push","excludeChildren","guard","Children","forEach","nested","console","warn","names","map","screen","size","length","withLayoutContext","Nav","processor","options","forwardRef","propsIn","ref","useEffect","processed","sorted","onlyMatching","id"],"sources":["../../../src/layouts/withLayoutContext.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from "react";
3
3
  import { useContextKey } from "../router/Route.native.js";
4
+ import { registerProtectedRoutes, unregisterProtectedRoutes } from "../router/router.native.js";
4
5
  import { useSortedScreens } from "../router/useScreens.native.js";
5
6
  import { withStaticProperties } from "../utils/withStaticProperties.native.js";
7
+ import { isProtectedElement } from "../views/Protected.native.js";
6
8
  import { Screen } from "../views/Screen.native.js";
7
9
  function _type_of(obj) {
8
10
  "@swc/helpers - typeof";
@@ -16,27 +18,41 @@ function useFilterScreenChildren(children) {
16
18
  } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : (/** Used for sending developer hints */
17
19
  {});
18
20
  return React.useMemo(function () {
19
- var _React_Children_map,
20
- customChildren = [],
21
- screens = (_React_Children_map = React.Children.map(children, function (child) {
22
- if (/* @__PURE__ */React.isValidElement(child) && child && child.type === Screen) {
23
- if (_type_of(child.props) === "object" && child.props && "name" in child.props && !child.props.name) throw new Error(`<Screen /> component in \`default export\` at \`app${contextKey}/_layout\` must have a \`name\` prop when used as a child of a Layout Route.`);
24
- if (process.env.NODE_ENV !== "production" && ["children", "component", "getComponent"].some(function (key) {
25
- return child.props && _type_of(child.props) === "object" && key in child.props;
26
- })) throw new Error(`<Screen /> component in \`default export\` at \`app${contextKey}/_layout\` must not have a \`children\`, \`component\`, or \`getComponent\` prop when used as a child of a Layout Route`);
27
- return child.props;
28
- }
29
- return isCustomNavigator ? customChildren.push(child) : console.warn(`Layout children must be of type Screen, all other children are ignored. To use custom children, create a custom <Layout />. Update Layout Route at: "app${contextKey}/_layout"`), null;
30
- })) === null || _React_Children_map === void 0 ? void 0 : _React_Children_map.filter(Boolean);
31
- if (process.env.NODE_ENV !== "production") {
32
- var names = screens?.map(function (screen) {
21
+ var customChildren = [],
22
+ screens = [],
23
+ protectedScreens = /* @__PURE__ */new Set();
24
+ function flattenChild(child) {
25
+ var exclude = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
26
+ if (/* @__PURE__ */React.isValidElement(child) && child.type === Screen) {
27
+ if (_type_of(child.props) === "object" && child.props && "name" in child.props && !child.props.name) throw new Error(`<Screen /> component in \`default export\` at \`app${contextKey}/_layout\` must have a \`name\` prop when used as a child of a Layout Route.`);
28
+ if (process.env.NODE_ENV !== "production" && ["children", "component", "getComponent"].some(function (key) {
29
+ return child.props && _type_of(child.props) === "object" && key in child.props;
30
+ })) throw new Error(`<Screen /> component in \`default export\` at \`app${contextKey}/_layout\` must not have a \`children\`, \`component\`, or \`getComponent\` prop when used as a child of a Layout Route`);
31
+ var screenProps = child.props;
32
+ exclude && screenProps.name ? protectedScreens.add(screenProps.name) : screens.push(screenProps);
33
+ return;
34
+ }
35
+ if (isProtectedElement(child)) {
36
+ var excludeChildren = exclude || !child.props.guard;
37
+ React.Children.forEach(child.props.children, function (nested) {
38
+ flattenChild(nested, excludeChildren);
39
+ });
40
+ return;
41
+ }
42
+ isCustomNavigator ? customChildren.push(child) : child != null && console.warn(`Layout children must be of type Screen, all other children are ignored. To use custom children, create a custom <Layout />. Update Layout Route at: "app${contextKey}/_layout"`);
43
+ }
44
+ if (React.Children.forEach(children, function (child) {
45
+ return flattenChild(child);
46
+ }), process.env.NODE_ENV !== "production") {
47
+ var names = screens.map(function (screen) {
33
48
  return screen.name;
34
49
  });
35
50
  if (names && new Set(names).size !== names.length) throw new Error("Screen names must be unique: " + names);
36
51
  }
37
52
  return {
38
53
  screens,
39
- children: customChildren
54
+ children: customChildren,
55
+ protectedScreens
40
56
  };
41
57
  }, [children, contextKey, isCustomNavigator]);
42
58
  }
@@ -48,13 +64,20 @@ function withLayoutContext(Nav, processor, options) {
48
64
  } = propsIn,
49
65
  contextKey = useContextKey(),
50
66
  {
51
- screens
67
+ screens,
68
+ protectedScreens
52
69
  } = useFilterScreenChildren(children, {
53
70
  contextKey
54
- }),
55
- processed = processor ? processor(screens ?? []) : screens,
71
+ });
72
+ registerProtectedRoutes(contextKey, protectedScreens), React.useEffect(function () {
73
+ return registerProtectedRoutes(contextKey, protectedScreens), function () {
74
+ unregisterProtectedRoutes(contextKey);
75
+ };
76
+ }, [contextKey, protectedScreens]);
77
+ var processed = processor ? processor(screens ?? []) : screens,
56
78
  sorted = useSortedScreens(processed ?? [], {
57
- onlyMatching: !0
79
+ onlyMatching: !0,
80
+ protectedScreens
58
81
  });
59
82
  return sorted.length ? /* @__PURE__ */_jsx(Nav, {
60
83
  ...options?.props,