one 2.7.7 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/One.podspec +3 -0
  2. package/android/build.gradle +8 -1
  3. package/android/consumer-rules.pro +6 -0
  4. package/dist/cjs/cli/build.cjs +2 -2
  5. package/dist/cjs/cli/build.native.cjs +2 -2
  6. package/dist/cjs/cli/build.native.js +2 -2
  7. package/dist/cjs/cli/build.native.js.map +1 -1
  8. package/dist/cjs/cli/buildPage.cjs +1 -1
  9. package/dist/cjs/cli/buildPage.native.cjs +1 -1
  10. package/dist/cjs/cli/buildPage.native.js +1 -1
  11. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  12. package/dist/cjs/constants.cjs +2 -0
  13. package/dist/cjs/constants.native.cjs +2 -0
  14. package/dist/cjs/constants.native.js +2 -0
  15. package/dist/cjs/constants.native.js.map +1 -1
  16. package/dist/cjs/fork/useLinking.cjs +1 -1
  17. package/dist/cjs/layouts/Stack.cjs +2 -2
  18. package/dist/cjs/layouts/Stack.native.cjs +3 -3
  19. package/dist/cjs/layouts/Stack.native.js +3 -3
  20. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  21. package/dist/cjs/layouts/stack-navigator.cjs +5 -2
  22. package/dist/cjs/layouts/stack-navigator.native.cjs +14 -2
  23. package/dist/cjs/layouts/stack-navigator.native.js +14 -2
  24. package/dist/cjs/layouts/stack-navigator.native.js.map +1 -1
  25. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.cjs +1 -1
  26. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.cjs +1 -1
  27. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js +1 -1
  28. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -1
  29. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +10 -4
  30. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.cjs +10 -4
  31. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +10 -4
  32. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  33. package/dist/cjs/metro-config/withOne.cjs +2 -2
  34. package/dist/cjs/metro-config/withOne.native.cjs +2 -2
  35. package/dist/cjs/metro-config/withOne.native.js +2 -2
  36. package/dist/cjs/metro-config/withOne.native.js.map +1 -1
  37. package/dist/cjs/router/linkingConfig.cjs +3 -3
  38. package/dist/cjs/router/linkingConfig.native.cjs +3 -3
  39. package/dist/cjs/router/linkingConfig.native.js +3 -3
  40. package/dist/cjs/router/linkingConfig.native.js.map +1 -1
  41. package/dist/cjs/useLoader.cjs +0 -2
  42. package/dist/cjs/useLoader.native.cjs +1 -3
  43. package/dist/cjs/useLoader.native.js +1 -3
  44. package/dist/cjs/useLoader.native.js.map +1 -1
  45. package/dist/cjs/utils/cleanUrl.cjs +8 -3
  46. package/dist/cjs/utils/cleanUrl.native.cjs +8 -3
  47. package/dist/cjs/utils/cleanUrl.native.js +8 -3
  48. package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
  49. package/dist/cjs/vite/one.cjs +5 -5
  50. package/dist/cjs/vite/one.native.cjs +5 -5
  51. package/dist/cjs/vite/one.native.js +5 -5
  52. package/dist/cjs/vite/one.native.js.map +1 -1
  53. package/dist/cjs/vite/plugins/workerdDevPlugin.cjs +3 -3
  54. package/dist/cjs/vite/plugins/workerdDevPlugin.native.cjs +3 -3
  55. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js +3 -3
  56. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  57. package/dist/esm/cli/build.mjs +2 -2
  58. package/dist/esm/cli/build.mjs.map +1 -1
  59. package/dist/esm/cli/build.native.js +2 -2
  60. package/dist/esm/cli/build.native.js.map +1 -1
  61. package/dist/esm/cli/buildPage.mjs +2 -2
  62. package/dist/esm/cli/buildPage.mjs.map +1 -1
  63. package/dist/esm/cli/buildPage.native.js +2 -2
  64. package/dist/esm/cli/buildPage.native.js.map +1 -1
  65. package/dist/esm/constants.mjs +2 -1
  66. package/dist/esm/constants.mjs.map +1 -1
  67. package/dist/esm/constants.native.js +2 -1
  68. package/dist/esm/constants.native.js.map +1 -1
  69. package/dist/esm/fork/useLinking.mjs +1 -1
  70. package/dist/esm/fork/useLinking.mjs.map +1 -1
  71. package/dist/esm/layouts/Stack.mjs +2 -2
  72. package/dist/esm/layouts/Stack.mjs.map +1 -1
  73. package/dist/esm/layouts/Stack.native.js +3 -3
  74. package/dist/esm/layouts/Stack.native.js.map +1 -1
  75. package/dist/esm/layouts/stack-navigator.mjs +5 -2
  76. package/dist/esm/layouts/stack-navigator.mjs.map +1 -1
  77. package/dist/esm/layouts/stack-navigator.native.js +14 -2
  78. package/dist/esm/layouts/stack-navigator.native.js.map +1 -1
  79. package/dist/esm/metro-config/buildOneMetroResolverOverrides.mjs +1 -1
  80. package/dist/esm/metro-config/buildOneMetroResolverOverrides.mjs.map +1 -1
  81. package/dist/esm/metro-config/buildOneMetroResolverOverrides.native.js +1 -1
  82. package/dist/esm/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -1
  83. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +10 -4
  84. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  85. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +10 -4
  86. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  87. package/dist/esm/metro-config/withOne.mjs +1 -1
  88. package/dist/esm/metro-config/withOne.mjs.map +1 -1
  89. package/dist/esm/metro-config/withOne.native.js +1 -1
  90. package/dist/esm/metro-config/withOne.native.js.map +1 -1
  91. package/dist/esm/router/linkingConfig.mjs +3 -3
  92. package/dist/esm/router/linkingConfig.mjs.map +1 -1
  93. package/dist/esm/router/linkingConfig.native.js +3 -3
  94. package/dist/esm/router/linkingConfig.native.js.map +1 -1
  95. package/dist/esm/useLoader.native.js +2 -4
  96. package/dist/esm/useLoader.native.js.map +1 -1
  97. package/dist/esm/utils/cleanUrl.mjs +9 -5
  98. package/dist/esm/utils/cleanUrl.mjs.map +1 -1
  99. package/dist/esm/utils/cleanUrl.native.js +9 -5
  100. package/dist/esm/utils/cleanUrl.native.js.map +1 -1
  101. package/dist/esm/vite/one.mjs +1 -1
  102. package/dist/esm/vite/one.mjs.map +1 -1
  103. package/dist/esm/vite/one.native.js +1 -1
  104. package/dist/esm/vite/one.native.js.map +1 -1
  105. package/dist/esm/vite/plugins/workerdDevPlugin.mjs +2 -2
  106. package/dist/esm/vite/plugins/workerdDevPlugin.mjs.map +1 -1
  107. package/dist/esm/vite/plugins/workerdDevPlugin.native.js +2 -2
  108. package/dist/esm/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  109. package/ios/PrivacyInfo.xcprivacy +52 -0
  110. package/metro-entry.js +1 -1
  111. package/package.json +79 -42
  112. package/src/__tests__/polyfills-mobile-metro.test.ts +2 -2
  113. package/src/cli/build.ts +2 -2
  114. package/src/cli/buildPage.ts +5 -4
  115. package/src/constants.ts +2 -0
  116. package/src/fork/useLinking.ts +4 -1
  117. package/src/layouts/Stack.tsx +5 -2
  118. package/src/layouts/stack-navigator.tsx +34 -0
  119. package/src/layouts/stack-navigator.web.ts +5 -2
  120. package/src/metro-config/buildOneMetroResolverOverrides.ts +1 -1
  121. package/src/metro-config/getViteMetroPluginOptions.integration.test.ts +5 -3
  122. package/src/metro-config/getViteMetroPluginOptions.ts +10 -4
  123. package/src/metro-config/withOne.ts +3 -1
  124. package/src/native/packedClosure.test.ts +68 -6
  125. package/src/native/shippedAndroid.test.ts +21 -0
  126. package/src/native/shippedArtifacts.test.ts +81 -0
  127. package/src/router/linkingConfig.test.ts +144 -2
  128. package/src/router/linkingConfig.ts +6 -3
  129. package/src/useLoader.ts +3 -15
  130. package/src/utils/cleanUrl.test.ts +28 -0
  131. package/src/utils/cleanUrl.ts +11 -4
  132. package/src/vite/one.ts +2 -1
  133. package/src/vite/plugins/workerdDevPlugin.ts +2 -2
  134. package/src/vite/types.ts +4 -4
  135. package/types/Frozen.d.ts +1 -1
  136. package/types/Frozen.d.ts.map +1 -1
  137. package/types/Frozen.native.d.ts +1 -1
  138. package/types/Frozen.native.d.ts.map +1 -1
  139. package/types/Root.d.ts +1 -1
  140. package/types/Root.d.ts.map +1 -1
  141. package/types/cli/buildPage.d.ts.map +1 -1
  142. package/types/constants.d.ts +1 -0
  143. package/types/constants.d.ts.map +1 -1
  144. package/types/fallbackViews/Sitemap.d.ts +1 -1
  145. package/types/fallbackViews/Sitemap.d.ts.map +1 -1
  146. package/types/fallbackViews/Sitemap.web.d.ts +2 -1
  147. package/types/fallbackViews/Sitemap.web.d.ts.map +1 -1
  148. package/types/fallbackViews/Unmatched.d.ts +2 -1
  149. package/types/fallbackViews/Unmatched.d.ts.map +1 -1
  150. package/types/fallbackViews/Unmatched.web.d.ts +2 -1
  151. package/types/fallbackViews/Unmatched.web.d.ts.map +1 -1
  152. package/types/fork/useLinking.d.ts.map +1 -1
  153. package/types/headless/Presentations.d.ts +1 -1
  154. package/types/headless/Presentations.d.ts.map +1 -1
  155. package/types/headless/keepMounted.d.ts +1 -1
  156. package/types/headless/keepMounted.d.ts.map +1 -1
  157. package/types/headless/useDrawer.d.ts +1 -1
  158. package/types/headless/useDrawer.d.ts.map +1 -1
  159. package/types/layouts/Stack.d.ts.map +1 -1
  160. package/types/layouts/stack-navigator.d.ts +6 -2
  161. package/types/layouts/stack-navigator.d.ts.map +1 -1
  162. package/types/layouts/stack-navigator.web.d.ts +3 -4
  163. package/types/layouts/stack-navigator.web.d.ts.map +1 -1
  164. package/types/layouts/stack-utils/StackScreen.d.ts +1 -1
  165. package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
  166. package/types/layouts/stack-utils/StackToolbar.d.ts +1 -1
  167. package/types/layouts/stack-utils/StackToolbar.d.ts.map +1 -1
  168. package/types/layouts/stack-utils/StackToolbarBottomHost.d.ts +1 -1
  169. package/types/layouts/stack-utils/StackToolbarBottomHost.d.ts.map +1 -1
  170. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
  171. package/types/metro-config/withOne.d.ts.map +1 -1
  172. package/types/platform/AndroidMenu.d.ts +2 -2
  173. package/types/platform/AndroidMenu.d.ts.map +1 -1
  174. package/types/platform/Animators.native.d.ts +2 -2
  175. package/types/platform/Animators.native.d.ts.map +1 -1
  176. package/types/platform/ArrangementView.d.ts +1 -1
  177. package/types/platform/ArrangementView.d.ts.map +1 -1
  178. package/types/platform/ArrangementView.native.d.ts +1 -1
  179. package/types/platform/ArrangementView.native.d.ts.map +1 -1
  180. package/types/platform/Containers.native.d.ts +34 -34
  181. package/types/platform/Containers.native.d.ts.map +1 -1
  182. package/types/platform/Menu.native.d.ts +2 -2
  183. package/types/platform/Menu.native.d.ts.map +1 -1
  184. package/types/platform/NavigationSplitView.native.d.ts +1 -1
  185. package/types/platform/NavigationSplitView.native.d.ts.map +1 -1
  186. package/types/platform/NavigationStack.native.d.ts +2 -2
  187. package/types/platform/NavigationStack.native.d.ts.map +1 -1
  188. package/types/platform/Pager.native.d.ts +1 -1
  189. package/types/platform/Pager.native.d.ts.map +1 -1
  190. package/types/platform/Popover.native.d.ts +1 -1
  191. package/types/platform/Popover.native.d.ts.map +1 -1
  192. package/types/platform/Sheet.native.d.ts +2 -2
  193. package/types/platform/Sheet.native.d.ts.map +1 -1
  194. package/types/platform/Tabs.native.d.ts +1 -1
  195. package/types/platform/Tabs.native.d.ts.map +1 -1
  196. package/types/platform/adaptive/ReservedRegions.d.ts +1 -1
  197. package/types/platform/adaptive/ReservedRegions.d.ts.map +1 -1
  198. package/types/platform/adaptive/ReservedRegions.native.d.ts +1 -1
  199. package/types/platform/adaptive/ReservedRegions.native.d.ts.map +1 -1
  200. package/types/platform/compose.android.d.ts +101 -101
  201. package/types/platform/compose.android.d.ts.map +1 -1
  202. package/types/platform/effects/Blur.d.ts +1 -1
  203. package/types/platform/effects/Blur.d.ts.map +1 -1
  204. package/types/platform/effects/Blur.native.d.ts +1 -1
  205. package/types/platform/effects/Blur.native.d.ts.map +1 -1
  206. package/types/platform/effects/EdgeFade.d.ts +1 -1
  207. package/types/platform/effects/EdgeFade.d.ts.map +1 -1
  208. package/types/platform/effects/EdgeFade.native.d.ts +1 -1
  209. package/types/platform/effects/EdgeFade.native.d.ts.map +1 -1
  210. package/types/platform/effects/Mask.d.ts +1 -1
  211. package/types/platform/effects/Mask.d.ts.map +1 -1
  212. package/types/platform/effects/Mask.native.d.ts +1 -1
  213. package/types/platform/effects/Mask.native.d.ts.map +1 -1
  214. package/types/platform/generated/Controls.native.d.ts +55 -55
  215. package/types/platform/generated/Controls.native.d.ts.map +1 -1
  216. package/types/platform/index.native.d.ts +58 -58
  217. package/types/platform/menu/index.native.d.ts +1 -1
  218. package/types/platform/menu/index.native.d.ts.map +1 -1
  219. package/types/platform/native-source/view.native.d.ts +1 -1
  220. package/types/platform/native-source/view.native.d.ts.map +1 -1
  221. package/types/platform/split-view/split-view.d.ts +2 -2
  222. package/types/platform/split-view/split-view.d.ts.map +1 -1
  223. package/types/platform/split-view/split-view.native.d.ts +3 -3
  224. package/types/platform/split-view/split-view.native.d.ts.map +1 -1
  225. package/types/platform/swift/index.native.d.ts +1 -1
  226. package/types/platform/swift/index.native.d.ts.map +1 -1
  227. package/types/platform/toolbar/index.native.d.ts +2 -2
  228. package/types/platform/toolbar/index.native.d.ts.map +1 -1
  229. package/types/platform/ui/Icon.android.d.ts +1 -1
  230. package/types/platform/ui/Icon.android.d.ts.map +1 -1
  231. package/types/platform/ui/Image.d.ts +1 -1
  232. package/types/platform/ui/Image.d.ts.map +1 -1
  233. package/types/platform/ui/Image.native.d.ts +1 -1
  234. package/types/platform/ui/Image.native.d.ts.map +1 -1
  235. package/types/platform/ui/Map.android.d.ts +1 -1
  236. package/types/platform/ui/Map.android.d.ts.map +1 -1
  237. package/types/platform/ui/Map.ios.d.ts +1 -1
  238. package/types/platform/ui/Map.ios.d.ts.map +1 -1
  239. package/types/platform/ui/PictureInPicture.d.ts +1 -1
  240. package/types/platform/ui/PictureInPicture.d.ts.map +1 -1
  241. package/types/platform/ui/PictureInPicture.native.d.ts +1 -1
  242. package/types/platform/ui/PictureInPicture.native.d.ts.map +1 -1
  243. package/types/platform/ui/Portal.d.ts +2 -2
  244. package/types/platform/ui/Portal.d.ts.map +1 -1
  245. package/types/platform/ui/Portal.native.d.ts +2 -2
  246. package/types/platform/ui/Portal.native.d.ts.map +1 -1
  247. package/types/platform/universal/TextInput/index.android.d.ts +1 -1
  248. package/types/platform/universal/TextInput/index.android.d.ts.map +1 -1
  249. package/types/platform/universal/TextInput/index.d.ts +1 -1
  250. package/types/platform/universal/TextInput/index.d.ts.map +1 -1
  251. package/types/platform/universal/TextInput/index.ios.d.ts +1 -1
  252. package/types/platform/universal/TextInput/index.ios.d.ts.map +1 -1
  253. package/types/platform/web/DomView.d.ts +1 -1
  254. package/types/platform/web/DomView.d.ts.map +1 -1
  255. package/types/platform/zoom/index.native.d.ts +3 -3
  256. package/types/platform/zoom/index.native.d.ts.map +1 -1
  257. package/types/router/Route.d.ts +1 -1
  258. package/types/router/Route.d.ts.map +1 -1
  259. package/types/router/RouteInfoContext.d.ts +1 -1
  260. package/types/router/RouteInfoContext.d.ts.map +1 -1
  261. package/types/router/linkingConfig.d.ts.map +1 -1
  262. package/types/router/web/WebStackView.d.ts +1 -1
  263. package/types/router/web/WebStackView.d.ts.map +1 -1
  264. package/types/safe-area-context/NativeSafeAreaProvider.d.ts +1 -1
  265. package/types/safe-area-context/NativeSafeAreaProvider.d.ts.map +1 -1
  266. package/types/safe-area-context/NativeSafeAreaProvider.native.d.ts +2 -1
  267. package/types/safe-area-context/NativeSafeAreaProvider.native.d.ts.map +1 -1
  268. package/types/safe-area-context/SafeAreaContext.d.ts +1 -1
  269. package/types/safe-area-context/SafeAreaContext.d.ts.map +1 -1
  270. package/types/server/ServerContextScript.d.ts +1 -1
  271. package/types/server/ServerContextScript.d.ts.map +1 -1
  272. package/types/ui/TabList.d.ts +1 -1
  273. package/types/ui/TabList.d.ts.map +1 -1
  274. package/types/ui/TabSlot.d.ts +3 -3
  275. package/types/ui/TabSlot.d.ts.map +1 -1
  276. package/types/ui/TabTrigger.d.ts +1 -1
  277. package/types/ui/TabTrigger.d.ts.map +1 -1
  278. package/types/ui/Tabs.d.ts +1 -1
  279. package/types/ui/Tabs.d.ts.map +1 -1
  280. package/types/useLoader.d.ts.map +1 -1
  281. package/types/utils/cleanUrl.d.ts +1 -0
  282. package/types/utils/cleanUrl.d.ts.map +1 -1
  283. package/types/views/ErrorBoundary.d.ts +2 -1
  284. package/types/views/ErrorBoundary.d.ts.map +1 -1
  285. package/types/views/ErrorBoundary.web.d.ts +2 -1
  286. package/types/views/ErrorBoundary.web.d.ts.map +1 -1
  287. package/types/views/LoadProgressBar.d.ts +1 -1
  288. package/types/views/LoadProgressBar.d.ts.map +1 -1
  289. package/types/views/LoadProgressBar.web.d.ts +2 -1
  290. package/types/views/LoadProgressBar.web.d.ts.map +1 -1
  291. package/types/views/Navigator.d.ts +6 -6
  292. package/types/views/Navigator.d.ts.map +1 -1
  293. package/types/views/RootErrorBoundary.d.ts +1 -1
  294. package/types/views/RootErrorBoundary.d.ts.map +1 -1
  295. package/types/views/RootErrorBoundary.web.d.ts +1 -1
  296. package/types/views/RootErrorBoundary.web.d.ts.map +1 -1
  297. package/types/views/RouteErrorView.d.ts +1 -1
  298. package/types/views/RouteErrorView.d.ts.map +1 -1
  299. package/types/views/RouteErrorView.web.d.ts +1 -1
  300. package/types/views/RouteErrorView.web.d.ts.map +1 -1
  301. package/types/views/Try.d.ts +1 -1
  302. package/types/views/Try.d.ts.map +1 -1
  303. package/types/vite/DevHead.d.ts +1 -1
  304. package/types/vite/DevHead.d.ts.map +1 -1
  305. package/types/vite/one.d.ts.map +1 -1
  306. package/types/vite/types.d.ts +4 -4
  307. package/src/layouts/stack-navigator.ts +0 -13
@@ -2,7 +2,7 @@ import { join } from "path";
2
2
  import FSExtra from "fs-extra";
3
3
  import { normalizePath } from "vite";
4
4
  import * as constants from "../constants.native.js";
5
- import { LOADER_JS_POSTFIX_UNCACHED } from "../constants.native.js";
5
+ import { NATIVE_LOADER_JS_POSTFIX_UNCACHED } from "../constants.native.js";
6
6
  import { encodeReservedFilenameChars, getLoaderPath, getPreloadCSSPath, getPreloadPath } from "../utils/cleanUrl.native.js";
7
7
  import { isResponse } from "../utils/isResponse.native.js";
8
8
  import { toAbsolute, toAbsoluteUrl } from "../utils/toAbsolute.native.js";
@@ -242,7 +242,7 @@ prefetchCSS()
242
242
  }
243
243
  if (clientJsPath) {
244
244
  var loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)));
245
- var uncachedNativePath = loaderPartialPath.replace(constants.LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_UNCACHED).replace(/\.js$/, ".native.js");
245
+ var uncachedNativePath = loaderPartialPath.replace(constants.LOADER_JS_POSTFIX, NATIVE_LOADER_JS_POSTFIX_UNCACHED);
246
246
  if (loaderRedirectInfo) {
247
247
  var redirectData = JSON.stringify({
248
248
  __oneRedirect: loaderRedirectInfo.path,
@@ -1 +1 @@
1
- {"version":3,"file":"buildPage.native.js","names":[],"sources":["esm/cli/buildPage.native.js"],"sourcesContent":["import { join } from \"path\";\nimport FSExtra from \"fs-extra\";\nimport { normalizePath } from \"vite\";\nimport * as constants from \"../constants\";\nimport { LOADER_JS_POSTFIX_UNCACHED } from \"../constants\";\nimport { encodeReservedFilenameChars, getLoaderPath, getPreloadCSSPath, getPreloadPath } from \"../utils/cleanUrl\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { toAbsolute, toAbsoluteUrl } from \"../utils/toAbsolute\";\nimport { getRouteExports } from \"./serverRouteModules\";\nvar { outputFile } = FSExtra;\nfunction urlPathToFilePath(urlPath) {\n var parts = urlPath.replace(/^\\//, \"\").split(\"/\");\n return join(...parts);\n}\nvar buildTiming = process.env.ONE_BUILD_TIMING === \"1\";\nvar timings = {};\nfunction recordTiming(label, ms) {\n var _timings, _label;\n if (!buildTiming) return;\n ((_timings = timings)[_label = label] || (_timings[_label] = [])).push(ms);\n}\nfunction printBuildTimings() {\n if (!buildTiming) return;\n console.info(\"\\n\\u{1F4CA} Build timing breakdown:\");\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(timings)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [label, times] = _step.value;\n var total = times.reduce(function(a, b) {\n return a + b;\n }, 0);\n var avg = total / times.length;\n console.info(` ${label}: ${avg.toFixed(1)}ms avg, ${total.toFixed(0)}ms total (${times.length} calls)`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nasync function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive) {\n var t0 = performance.now();\n var render = await getRender(serverEntry);\n recordTiming(\"getRender\", performance.now() - t0);\n var htmlPath = encodeReservedFilenameChars(`${path.endsWith(\"/\") ? `${removeTrailingSlash(path)}/index` : path}.html`);\n var clientJsPath = clientManifestEntry ? normalizePath(join(clientDir, clientManifestEntry.file)) : \"\";\n var htmlOutPath = toAbsolute(join(staticDir, htmlPath));\n var preloadPath = getPreloadPath(path);\n var cssPreloadPath = getPreloadCSSPath(path);\n var loaderPath = \"\";\n var loaderData = {};\n try {\n var _foundRoute_layouts;\n var routeImports = [];\n var routeRegistrations = [];\n var routeIndex = 0;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(routePreloads)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [routeKey, bundlePath] = _step.value;\n var varName = `_r${routeIndex++}`;\n routeImports.push(`import * as ${varName} from \"${bundlePath}\"`);\n routeRegistrations.push(`registerPreloadedRoute(\"${routeKey}\", ${varName})`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var registrationCalls = routeRegistrations.map(function(call) {\n return call.replace(\"registerPreloadedRoute(\", \"window.__oneRegisterPreloadedRoute(\");\n });\n var preloadContent = [\n // import all route modules\n ...routeImports,\n // static imports for cache warming (original behavior)\n ...preloads.map(function(preload) {\n return `import \"${preload}\"`;\n }),\n // register all route modules using window global\n ...registrationCalls\n ].join(\"\\n\");\n t0 = performance.now();\n await FSExtra.writeFile(join(clientDir, urlPathToFilePath(preloadPath)), preloadContent);\n recordTiming(\"writePreload\", performance.now() - t0);\n var uniqueCSS = [\n ...new Set(allCSS)\n ];\n var cssPreloadContent = `\nconst CSS_TIMEOUT = 1000\nconst cssUrls = ${JSON.stringify(uniqueCSS)}\n\n// Global cache for loaded CSS - avoids DOM queries and tracks across navigations\nconst loaded = (window.__oneLoadedCSS ||= new Set())\n\n// Prefetch CSS without applying - called on link hover\nexport function prefetchCSS() {\n cssUrls.forEach(href => {\n if (loaded.has(href)) return\n if (document.querySelector(\\`link[href=\"\\${href}\"]\\`)) return\n const link = document.createElement('link')\n link.rel = 'prefetch'\n link.as = 'style'\n link.href = href\n document.head.appendChild(link)\n })\n}\n\n// Inject CSS to apply styles - called on actual navigation\nexport function injectCSS() {\n return Promise.all(cssUrls.map(href => {\n // Skip if already loaded\n if (loaded.has(href)) return Promise.resolve()\n // Remove any prefetch link for this href\n const prefetchLink = document.querySelector(\\`link[rel=\"prefetch\"][href=\"\\${href}\"]\\`)\n if (prefetchLink) prefetchLink.remove()\n // Skip if stylesheet already exists in DOM\n if (document.querySelector(\\`link[rel=\"stylesheet\"][href=\"\\${href}\"]\\`)) {\n loaded.add(href)\n return Promise.resolve()\n }\n return new Promise(resolve => {\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = href\n const timeoutId = setTimeout(() => {\n console.warn('[one] CSS load timeout:', href)\n loaded.add(href)\n resolve()\n }, CSS_TIMEOUT)\n link.onload = link.onerror = () => {\n clearTimeout(timeoutId)\n loaded.add(href)\n resolve()\n }\n document.head.appendChild(link)\n })\n }))\n}\n\n// For backwards compatibility, also prefetch on import\nprefetchCSS()\n`;\n t0 = performance.now();\n await FSExtra.writeFile(join(clientDir, urlPathToFilePath(cssPreloadPath)), cssPreloadContent);\n recordTiming(\"writeCSSPreload\", performance.now() - t0);\n t0 = performance.now();\n var exported = await getRouteExports(serverEntry, routerRoot, foundRoute.file);\n recordTiming(\"importServerModule\", performance.now() - t0);\n var loaderProps = {\n path,\n params\n };\n var matches = [];\n t0 = performance.now();\n if ((_foundRoute_layouts = foundRoute.layouts) === null || _foundRoute_layouts === void 0 ? void 0 : _foundRoute_layouts.length) {\n var layoutResults = await Promise.all(foundRoute.layouts.map(async function(layout) {\n try {\n var _layoutExported_loader;\n if (!layout.loaderServerPath) {\n return {\n contextKey: layout.contextKey,\n loaderData: void 0\n };\n }\n var layoutExported = await getRouteExports(serverEntry, routerRoot, layout.contextKey);\n var layoutLoaderData = await (layoutExported === null || layoutExported === void 0 ? void 0 : (_layoutExported_loader = layoutExported.loader) === null || _layoutExported_loader === void 0 ? void 0 : _layoutExported_loader.call(layoutExported, loaderProps));\n return {\n contextKey: layout.contextKey,\n loaderData: layoutLoaderData\n };\n } catch (err) {\n if (isResponse(err)) {\n throw err;\n }\n console.warn(`[one] Warning: layout loader failed for ${layout.contextKey}:`, err);\n return {\n contextKey: layout.contextKey,\n loaderData: void 0\n };\n }\n }));\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = layoutResults[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var result = _step1.value;\n matches.push({\n routeId: result.contextKey,\n pathname: path,\n params: params || {},\n loaderData: result.loaderData\n });\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n recordTiming(\"layoutLoaders\", performance.now() - t0);\n t0 = performance.now();\n var loaderRedirectInfo = null;\n if (exported.loader && foundRoute.type !== \"ssr\") {\n var _loaderData_constructor;\n try {\n var _ref;\n var _exported_loader;\n loaderData = (_ref = await ((_exported_loader = exported.loader) === null || _exported_loader === void 0 ? void 0 : _exported_loader.call(exported, loaderProps))) !== null && _ref !== void 0 ? _ref : null;\n } catch (err) {\n if (isResponse(err)) {\n loaderRedirectInfo = extractRedirectInfo(err);\n } else {\n throw err;\n }\n }\n if (!loaderRedirectInfo && loaderData && (isResponse(loaderData) || loaderData instanceof Response || (loaderData === null || loaderData === void 0 ? void 0 : (_loaderData_constructor = loaderData.constructor) === null || _loaderData_constructor === void 0 ? void 0 : _loaderData_constructor.name) === \"Response\")) {\n loaderRedirectInfo = extractRedirectInfo(loaderData);\n loaderData = {};\n }\n if (clientJsPath) {\n var loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n var uncachedNativePath = loaderPartialPath.replace(constants.LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_UNCACHED).replace(/\\.js$/, \".native.js\");\n if (loaderRedirectInfo) {\n var redirectData = JSON.stringify({\n __oneRedirect: loaderRedirectInfo.path,\n __oneRedirectStatus: loaderRedirectInfo.status\n });\n await outputFile(loaderPartialPath, `export function loader(){return ${redirectData}}`);\n var nativeCjs = `exports.loader = function(){return ${redirectData}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs);\n await outputFile(uncachedNativePath, nativeCjs);\n loaderPath = getLoaderPath(path);\n loaderData = {};\n } else {\n var data = JSON.stringify(loaderData);\n await outputFile(loaderPartialPath, `export function loader(){return ${data}}`);\n var nativeCjs1 = `exports.loader = function(){return ${data}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs1);\n await outputFile(uncachedNativePath, nativeCjs1);\n loaderPath = getLoaderPath(path);\n }\n }\n }\n if (!exported.loader && foundRoute.type === \"spa\") {\n var loaderPartialPath1 = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n await outputFile(loaderPartialPath1, \"export function loader() { return undefined }\");\n loaderPath = getLoaderPath(path);\n }\n recordTiming(\"pageLoader\", performance.now() - t0);\n matches.push({\n routeId: foundRoute.file,\n pathname: path,\n params: params || {},\n loaderData\n });\n if (foundRoute.type !== \"ssr\") {\n var _globalThis___vxrnresetState, _globalThis;\n (_globalThis___vxrnresetState = (_globalThis = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);\n if (foundRoute.type === \"ssg\") {\n var renderPreloads = useAfterLCPAggressive ? [] : criticalPreloads || preloads;\n var renderDeferredPreloads = useAfterLCPAggressive ? [] : deferredPreloads;\n t0 = performance.now();\n var html = await render({\n path,\n preloads: renderPreloads,\n deferredPreloads: renderDeferredPreloads,\n loaderProps,\n loaderData,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"ssg\",\n routePreloads,\n matches\n });\n recordTiming(\"ssrRender\", performance.now() - t0);\n if (useAfterLCP) {\n html = applyAfterLCPScriptLoad(html, useAfterLCPAggressive ? criticalPreloads || preloads : preloads);\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else if (foundRoute.type === \"spa\") {\n var _foundRoute_layouts1;\n var needsSpaShell = (_foundRoute_layouts1 = foundRoute.layouts) === null || _foundRoute_layouts1 === void 0 ? void 0 : _foundRoute_layouts1.some(function(layout) {\n return layout.layoutRenderMode === \"ssg\" || layout.layoutRenderMode === \"ssr\";\n });\n if (needsSpaShell) {\n var _globalThis___vxrnresetState1, _globalThis1;\n (_globalThis___vxrnresetState1 = (_globalThis1 = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState1 === void 0 ? void 0 : _globalThis___vxrnresetState1.call(_globalThis1);\n var renderPreloads1 = criticalPreloads || preloads;\n var renderDeferredPreloads1 = deferredPreloads || [];\n var layoutMatches = matches.slice(0, -1);\n t0 = performance.now();\n var html1 = await render({\n path,\n preloads: renderPreloads1,\n deferredPreloads: renderDeferredPreloads1,\n loaderProps,\n // don't pass loaderData for spa-shell - the page loader runs on client\n // passing {} here would make useLoaderState think data is preloaded\n loaderData: void 0,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"spa-shell\",\n routePreloads,\n matches: layoutMatches\n });\n recordTiming(\"spaShellRender\", performance.now() - t0);\n if (useAfterLCP) {\n html1 = applyAfterLCPScriptLoad(html1, useAfterLCPAggressive ? criticalPreloads || preloads : preloads);\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html1);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else {\n let renderCSSTag2 = function(file, index) {\n var content = allCSSContents === null || allCSSContents === void 0 ? void 0 : allCSSContents[index];\n if (content) {\n return ` <style>${content}</style>`;\n }\n return ` <link rel=\"stylesheet\" href=${file} />`;\n };\n var renderCSSTag = renderCSSTag2;\n var layoutCSSSet = new Set(layoutCSS);\n var layoutCssOutput = allCSS.map(function(file, i) {\n return layoutCSSSet.has(file) ? renderCSSTag2(file, i) : \"\";\n }).filter(Boolean).join(\"\\n\");\n var pageCssOutput = allCSS.map(function(file, i) {\n return !layoutCSSSet.has(file) ? renderCSSTag2(file, i) : \"\";\n }).filter(Boolean).join(\"\\n\");\n var criticalScripts = (criticalPreloads || preloads).map(function(preload) {\n return ` <script type=\"module\" src=\"${preload}\"></script>`;\n }).join(\"\\n\");\n await outputFile(htmlOutPath, `<!DOCTYPE html><html><head>\n ${constants.getSpaHeaderElements({\n serverContext: {\n loaderProps,\n loaderData\n }\n })}\n ${layoutCssOutput}\n ${criticalScripts}\n ${pageCssOutput}\n </head><body></body></html>`);\n }\n }\n }\n } catch (err) {\n var errMsg = err instanceof Error ? `${err.message}\n${err.stack}` : `${err}`;\n console.error(`Error building static page at ${path} with id ${relativeId}:\n\n${errMsg}\n\nloaderData:\n\n${JSON.stringify(loaderData || null, null, 2)}\nparams:\n\n${JSON.stringify(params || null, null, 2)}`);\n console.error(err);\n throw err;\n }\n var middlewares = (foundRoute.middlewares || []).map(function(x) {\n return builtMiddlewares[x.contextKey];\n });\n var cleanPath = path === \"/\" ? path : removeTrailingSlash(path);\n return {\n type: foundRoute.type,\n css: allCSS,\n layoutCSS,\n cssContents: allCSSContents,\n routeFile: foundRoute.file,\n middlewares,\n cleanPath,\n preloadPath,\n cssPreloadPath,\n loaderPath,\n clientJsPath,\n serverJsPath: foundRoute.type === \"spa\" ? \"\" : serverJsPath,\n htmlPath,\n loaderData,\n params,\n path,\n preloads,\n criticalPreloads,\n deferredPreloads\n };\n}\nasync function getRender(serverEntry) {\n try {\n var _serverImport_default_default;\n var serverImport = await import(toAbsoluteUrl(serverEntry));\n var render = serverImport.default.render || ((_serverImport_default_default = serverImport.default.default) === null || _serverImport_default_default === void 0 ? void 0 : _serverImport_default_default.render);\n if (typeof render !== \"function\") {\n throw new Error(`didn't find render function in entry: ${serverEntry}`);\n }\n return render;\n } catch (err) {\n console.error(`\\u274C Error importing the root entry:`);\n console.error(` This error happened in the built file: ${serverEntry}`);\n console.error(err[\"stack\"]);\n throw err;\n }\n}\nfunction removeTrailingSlash(path) {\n return path.endsWith(\"/\") ? path.slice(0, path.length - 1) : path;\n}\nfunction extractRedirectInfo(response) {\n if (response.status >= 300 && response.status < 400) {\n var location = response.headers.get(\"location\");\n if (location) {\n try {\n var url = new URL(location);\n return {\n path: url.pathname + url.search + url.hash,\n status: response.status\n };\n } catch (unused) {\n return {\n path: location,\n status: response.status\n };\n }\n }\n }\n return null;\n}\nfunction applyAfterLCPScriptLoad(html, preloads) {\n html = html.replace(/<script\\s+type=\"module\"[^>]*async[^>]*><\\/script>/gi, \"\");\n var loaderScript = `\n<script>\n(function() {\n var scripts = ${JSON.stringify(preloads)};\n function loadScripts() {\n scripts.forEach(function(src) {\n var script = document.createElement('script');\n script.type = 'module';\n script.src = src;\n document.head.appendChild(script);\n });\n }\n function waitIdle(n) {\n if (n <= 0) {\n requestAnimationFrame(function() {\n requestAnimationFrame(loadScripts);\n });\n return;\n }\n setTimeout(function() {\n setTimeout(function() {\n waitIdle(n - 1);\n }, 0);\n }, 0);\n }\n waitIdle(5);\n})();\n</script>`;\n html = html.replace(\"</head>\", `${loaderScript}</head>`);\n return html;\n}\nexport {\n buildPage,\n printBuildTimings\n};\n//# sourceMappingURL=buildPage.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"buildPage.native.js","names":[],"sources":["esm/cli/buildPage.native.js"],"sourcesContent":["import { join } from \"path\";\nimport FSExtra from \"fs-extra\";\nimport { normalizePath } from \"vite\";\nimport * as constants from \"../constants\";\nimport { NATIVE_LOADER_JS_POSTFIX_UNCACHED } from \"../constants\";\nimport { encodeReservedFilenameChars, getLoaderPath, getPreloadCSSPath, getPreloadPath } from \"../utils/cleanUrl\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { toAbsolute, toAbsoluteUrl } from \"../utils/toAbsolute\";\nimport { getRouteExports } from \"./serverRouteModules\";\nvar { outputFile } = FSExtra;\nfunction urlPathToFilePath(urlPath) {\n var parts = urlPath.replace(/^\\//, \"\").split(\"/\");\n return join(...parts);\n}\nvar buildTiming = process.env.ONE_BUILD_TIMING === \"1\";\nvar timings = {};\nfunction recordTiming(label, ms) {\n var _timings, _label;\n if (!buildTiming) return;\n ((_timings = timings)[_label = label] || (_timings[_label] = [])).push(ms);\n}\nfunction printBuildTimings() {\n if (!buildTiming) return;\n console.info(\"\\n\\u{1F4CA} Build timing breakdown:\");\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(timings)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [label, times] = _step.value;\n var total = times.reduce(function(a, b) {\n return a + b;\n }, 0);\n var avg = total / times.length;\n console.info(` ${label}: ${avg.toFixed(1)}ms avg, ${total.toFixed(0)}ms total (${times.length} calls)`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nasync function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive) {\n var t0 = performance.now();\n var render = await getRender(serverEntry);\n recordTiming(\"getRender\", performance.now() - t0);\n var htmlPath = encodeReservedFilenameChars(`${path.endsWith(\"/\") ? `${removeTrailingSlash(path)}/index` : path}.html`);\n var clientJsPath = clientManifestEntry ? normalizePath(join(clientDir, clientManifestEntry.file)) : \"\";\n var htmlOutPath = toAbsolute(join(staticDir, htmlPath));\n var preloadPath = getPreloadPath(path);\n var cssPreloadPath = getPreloadCSSPath(path);\n var loaderPath = \"\";\n var loaderData = {};\n try {\n var _foundRoute_layouts;\n var routeImports = [];\n var routeRegistrations = [];\n var routeIndex = 0;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(routePreloads)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [routeKey, bundlePath] = _step.value;\n var varName = `_r${routeIndex++}`;\n routeImports.push(`import * as ${varName} from \"${bundlePath}\"`);\n routeRegistrations.push(`registerPreloadedRoute(\"${routeKey}\", ${varName})`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var registrationCalls = routeRegistrations.map(function(call) {\n return call.replace(\"registerPreloadedRoute(\", \"window.__oneRegisterPreloadedRoute(\");\n });\n var preloadContent = [\n // import all route modules\n ...routeImports,\n // static imports for cache warming (original behavior)\n ...preloads.map(function(preload) {\n return `import \"${preload}\"`;\n }),\n // register all route modules using window global\n ...registrationCalls\n ].join(\"\\n\");\n t0 = performance.now();\n await FSExtra.writeFile(join(clientDir, urlPathToFilePath(preloadPath)), preloadContent);\n recordTiming(\"writePreload\", performance.now() - t0);\n var uniqueCSS = [\n ...new Set(allCSS)\n ];\n var cssPreloadContent = `\nconst CSS_TIMEOUT = 1000\nconst cssUrls = ${JSON.stringify(uniqueCSS)}\n\n// Global cache for loaded CSS - avoids DOM queries and tracks across navigations\nconst loaded = (window.__oneLoadedCSS ||= new Set())\n\n// Prefetch CSS without applying - called on link hover\nexport function prefetchCSS() {\n cssUrls.forEach(href => {\n if (loaded.has(href)) return\n if (document.querySelector(\\`link[href=\"\\${href}\"]\\`)) return\n const link = document.createElement('link')\n link.rel = 'prefetch'\n link.as = 'style'\n link.href = href\n document.head.appendChild(link)\n })\n}\n\n// Inject CSS to apply styles - called on actual navigation\nexport function injectCSS() {\n return Promise.all(cssUrls.map(href => {\n // Skip if already loaded\n if (loaded.has(href)) return Promise.resolve()\n // Remove any prefetch link for this href\n const prefetchLink = document.querySelector(\\`link[rel=\"prefetch\"][href=\"\\${href}\"]\\`)\n if (prefetchLink) prefetchLink.remove()\n // Skip if stylesheet already exists in DOM\n if (document.querySelector(\\`link[rel=\"stylesheet\"][href=\"\\${href}\"]\\`)) {\n loaded.add(href)\n return Promise.resolve()\n }\n return new Promise(resolve => {\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = href\n const timeoutId = setTimeout(() => {\n console.warn('[one] CSS load timeout:', href)\n loaded.add(href)\n resolve()\n }, CSS_TIMEOUT)\n link.onload = link.onerror = () => {\n clearTimeout(timeoutId)\n loaded.add(href)\n resolve()\n }\n document.head.appendChild(link)\n })\n }))\n}\n\n// For backwards compatibility, also prefetch on import\nprefetchCSS()\n`;\n t0 = performance.now();\n await FSExtra.writeFile(join(clientDir, urlPathToFilePath(cssPreloadPath)), cssPreloadContent);\n recordTiming(\"writeCSSPreload\", performance.now() - t0);\n t0 = performance.now();\n var exported = await getRouteExports(serverEntry, routerRoot, foundRoute.file);\n recordTiming(\"importServerModule\", performance.now() - t0);\n var loaderProps = {\n path,\n params\n };\n var matches = [];\n t0 = performance.now();\n if ((_foundRoute_layouts = foundRoute.layouts) === null || _foundRoute_layouts === void 0 ? void 0 : _foundRoute_layouts.length) {\n var layoutResults = await Promise.all(foundRoute.layouts.map(async function(layout) {\n try {\n var _layoutExported_loader;\n if (!layout.loaderServerPath) {\n return {\n contextKey: layout.contextKey,\n loaderData: void 0\n };\n }\n var layoutExported = await getRouteExports(serverEntry, routerRoot, layout.contextKey);\n var layoutLoaderData = await (layoutExported === null || layoutExported === void 0 ? void 0 : (_layoutExported_loader = layoutExported.loader) === null || _layoutExported_loader === void 0 ? void 0 : _layoutExported_loader.call(layoutExported, loaderProps));\n return {\n contextKey: layout.contextKey,\n loaderData: layoutLoaderData\n };\n } catch (err) {\n if (isResponse(err)) {\n throw err;\n }\n console.warn(`[one] Warning: layout loader failed for ${layout.contextKey}:`, err);\n return {\n contextKey: layout.contextKey,\n loaderData: void 0\n };\n }\n }));\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = layoutResults[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var result = _step1.value;\n matches.push({\n routeId: result.contextKey,\n pathname: path,\n params: params || {},\n loaderData: result.loaderData\n });\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n recordTiming(\"layoutLoaders\", performance.now() - t0);\n t0 = performance.now();\n var loaderRedirectInfo = null;\n if (exported.loader && foundRoute.type !== \"ssr\") {\n var _loaderData_constructor;\n try {\n var _ref;\n var _exported_loader;\n loaderData = (_ref = await ((_exported_loader = exported.loader) === null || _exported_loader === void 0 ? void 0 : _exported_loader.call(exported, loaderProps))) !== null && _ref !== void 0 ? _ref : null;\n } catch (err) {\n if (isResponse(err)) {\n loaderRedirectInfo = extractRedirectInfo(err);\n } else {\n throw err;\n }\n }\n if (!loaderRedirectInfo && loaderData && (isResponse(loaderData) || loaderData instanceof Response || (loaderData === null || loaderData === void 0 ? void 0 : (_loaderData_constructor = loaderData.constructor) === null || _loaderData_constructor === void 0 ? void 0 : _loaderData_constructor.name) === \"Response\")) {\n loaderRedirectInfo = extractRedirectInfo(loaderData);\n loaderData = {};\n }\n if (clientJsPath) {\n var loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n var uncachedNativePath = loaderPartialPath.replace(constants.LOADER_JS_POSTFIX, NATIVE_LOADER_JS_POSTFIX_UNCACHED);\n if (loaderRedirectInfo) {\n var redirectData = JSON.stringify({\n __oneRedirect: loaderRedirectInfo.path,\n __oneRedirectStatus: loaderRedirectInfo.status\n });\n await outputFile(loaderPartialPath, `export function loader(){return ${redirectData}}`);\n var nativeCjs = `exports.loader = function(){return ${redirectData}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs);\n await outputFile(uncachedNativePath, nativeCjs);\n loaderPath = getLoaderPath(path);\n loaderData = {};\n } else {\n var data = JSON.stringify(loaderData);\n await outputFile(loaderPartialPath, `export function loader(){return ${data}}`);\n var nativeCjs1 = `exports.loader = function(){return ${data}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs1);\n await outputFile(uncachedNativePath, nativeCjs1);\n loaderPath = getLoaderPath(path);\n }\n }\n }\n if (!exported.loader && foundRoute.type === \"spa\") {\n var loaderPartialPath1 = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n await outputFile(loaderPartialPath1, \"export function loader() { return undefined }\");\n loaderPath = getLoaderPath(path);\n }\n recordTiming(\"pageLoader\", performance.now() - t0);\n matches.push({\n routeId: foundRoute.file,\n pathname: path,\n params: params || {},\n loaderData\n });\n if (foundRoute.type !== \"ssr\") {\n var _globalThis___vxrnresetState, _globalThis;\n (_globalThis___vxrnresetState = (_globalThis = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);\n if (foundRoute.type === \"ssg\") {\n var renderPreloads = useAfterLCPAggressive ? [] : criticalPreloads || preloads;\n var renderDeferredPreloads = useAfterLCPAggressive ? [] : deferredPreloads;\n t0 = performance.now();\n var html = await render({\n path,\n preloads: renderPreloads,\n deferredPreloads: renderDeferredPreloads,\n loaderProps,\n loaderData,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"ssg\",\n routePreloads,\n matches\n });\n recordTiming(\"ssrRender\", performance.now() - t0);\n if (useAfterLCP) {\n html = applyAfterLCPScriptLoad(html, useAfterLCPAggressive ? criticalPreloads || preloads : preloads);\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else if (foundRoute.type === \"spa\") {\n var _foundRoute_layouts1;\n var needsSpaShell = (_foundRoute_layouts1 = foundRoute.layouts) === null || _foundRoute_layouts1 === void 0 ? void 0 : _foundRoute_layouts1.some(function(layout) {\n return layout.layoutRenderMode === \"ssg\" || layout.layoutRenderMode === \"ssr\";\n });\n if (needsSpaShell) {\n var _globalThis___vxrnresetState1, _globalThis1;\n (_globalThis___vxrnresetState1 = (_globalThis1 = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState1 === void 0 ? void 0 : _globalThis___vxrnresetState1.call(_globalThis1);\n var renderPreloads1 = criticalPreloads || preloads;\n var renderDeferredPreloads1 = deferredPreloads || [];\n var layoutMatches = matches.slice(0, -1);\n t0 = performance.now();\n var html1 = await render({\n path,\n preloads: renderPreloads1,\n deferredPreloads: renderDeferredPreloads1,\n loaderProps,\n // don't pass loaderData for spa-shell - the page loader runs on client\n // passing {} here would make useLoaderState think data is preloaded\n loaderData: void 0,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"spa-shell\",\n routePreloads,\n matches: layoutMatches\n });\n recordTiming(\"spaShellRender\", performance.now() - t0);\n if (useAfterLCP) {\n html1 = applyAfterLCPScriptLoad(html1, useAfterLCPAggressive ? criticalPreloads || preloads : preloads);\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html1);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else {\n let renderCSSTag2 = function(file, index) {\n var content = allCSSContents === null || allCSSContents === void 0 ? void 0 : allCSSContents[index];\n if (content) {\n return ` <style>${content}</style>`;\n }\n return ` <link rel=\"stylesheet\" href=${file} />`;\n };\n var renderCSSTag = renderCSSTag2;\n var layoutCSSSet = new Set(layoutCSS);\n var layoutCssOutput = allCSS.map(function(file, i) {\n return layoutCSSSet.has(file) ? renderCSSTag2(file, i) : \"\";\n }).filter(Boolean).join(\"\\n\");\n var pageCssOutput = allCSS.map(function(file, i) {\n return !layoutCSSSet.has(file) ? renderCSSTag2(file, i) : \"\";\n }).filter(Boolean).join(\"\\n\");\n var criticalScripts = (criticalPreloads || preloads).map(function(preload) {\n return ` <script type=\"module\" src=\"${preload}\"></script>`;\n }).join(\"\\n\");\n await outputFile(htmlOutPath, `<!DOCTYPE html><html><head>\n ${constants.getSpaHeaderElements({\n serverContext: {\n loaderProps,\n loaderData\n }\n })}\n ${layoutCssOutput}\n ${criticalScripts}\n ${pageCssOutput}\n </head><body></body></html>`);\n }\n }\n }\n } catch (err) {\n var errMsg = err instanceof Error ? `${err.message}\n${err.stack}` : `${err}`;\n console.error(`Error building static page at ${path} with id ${relativeId}:\n\n${errMsg}\n\nloaderData:\n\n${JSON.stringify(loaderData || null, null, 2)}\nparams:\n\n${JSON.stringify(params || null, null, 2)}`);\n console.error(err);\n throw err;\n }\n var middlewares = (foundRoute.middlewares || []).map(function(x) {\n return builtMiddlewares[x.contextKey];\n });\n var cleanPath = path === \"/\" ? path : removeTrailingSlash(path);\n return {\n type: foundRoute.type,\n css: allCSS,\n layoutCSS,\n cssContents: allCSSContents,\n routeFile: foundRoute.file,\n middlewares,\n cleanPath,\n preloadPath,\n cssPreloadPath,\n loaderPath,\n clientJsPath,\n serverJsPath: foundRoute.type === \"spa\" ? \"\" : serverJsPath,\n htmlPath,\n loaderData,\n params,\n path,\n preloads,\n criticalPreloads,\n deferredPreloads\n };\n}\nasync function getRender(serverEntry) {\n try {\n var _serverImport_default_default;\n var serverImport = await import(toAbsoluteUrl(serverEntry));\n var render = serverImport.default.render || ((_serverImport_default_default = serverImport.default.default) === null || _serverImport_default_default === void 0 ? void 0 : _serverImport_default_default.render);\n if (typeof render !== \"function\") {\n throw new Error(`didn't find render function in entry: ${serverEntry}`);\n }\n return render;\n } catch (err) {\n console.error(`\\u274C Error importing the root entry:`);\n console.error(` This error happened in the built file: ${serverEntry}`);\n console.error(err[\"stack\"]);\n throw err;\n }\n}\nfunction removeTrailingSlash(path) {\n return path.endsWith(\"/\") ? path.slice(0, path.length - 1) : path;\n}\nfunction extractRedirectInfo(response) {\n if (response.status >= 300 && response.status < 400) {\n var location = response.headers.get(\"location\");\n if (location) {\n try {\n var url = new URL(location);\n return {\n path: url.pathname + url.search + url.hash,\n status: response.status\n };\n } catch (unused) {\n return {\n path: location,\n status: response.status\n };\n }\n }\n }\n return null;\n}\nfunction applyAfterLCPScriptLoad(html, preloads) {\n html = html.replace(/<script\\s+type=\"module\"[^>]*async[^>]*><\\/script>/gi, \"\");\n var loaderScript = `\n<script>\n(function() {\n var scripts = ${JSON.stringify(preloads)};\n function loadScripts() {\n scripts.forEach(function(src) {\n var script = document.createElement('script');\n script.type = 'module';\n script.src = src;\n document.head.appendChild(script);\n });\n }\n function waitIdle(n) {\n if (n <= 0) {\n requestAnimationFrame(function() {\n requestAnimationFrame(loadScripts);\n });\n return;\n }\n setTimeout(function() {\n setTimeout(function() {\n waitIdle(n - 1);\n }, 0);\n }, 0);\n }\n waitIdle(5);\n})();\n</script>`;\n html = html.replace(\"</head>\", `${loaderScript}</head>`);\n return html;\n}\nexport {\n buildPage,\n printBuildTimings\n};\n//# sourceMappingURL=buildPage.js.map\n"],"mappings":"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"}
@@ -6,6 +6,7 @@ const isNative = false;
6
6
  const hasWebHistory = isWebClient && typeof window.history !== "undefined" && typeof window.location !== "undefined";
7
7
  let CACHE_KEY = `${process.env.ONE_CACHE_KEY ?? Math.round(Math.random() * 1e8)}`;
8
8
  const LOADER_JS_POSTFIX_UNCACHED = `_vxrn_loader.js`;
9
+ const NATIVE_LOADER_JS_POSTFIX_UNCACHED = `_vxrn_loader.native.js`;
9
10
  const LOADER_JS_POSTFIX_REGEX_STRING = `_\\d+${LOADER_JS_POSTFIX_UNCACHED}$`;
10
11
  const LOADER_JS_POSTFIX_REGEX = new RegExp(LOADER_JS_POSTFIX_REGEX_STRING);
11
12
  let LOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`;
@@ -30,5 +31,5 @@ const getSpaHeaderElements = ({ serverContext = {} } = {}) => `
30
31
  <script>globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(serverContext.css || [])})<\/script>
31
32
  `;
32
33
 
33
- export { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, PRELOAD_JS_POSTFIX_REGEX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, hasWebHistory, isNative, isWebClient, isWebServer, setCacheKey };
34
+ export { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, NATIVE_LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, PRELOAD_JS_POSTFIX_REGEX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, hasWebHistory, isNative, isWebClient, isWebServer, setCacheKey };
34
35
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":[],"sources":["esm/constants.js"],"sourcesContent":["import { safeJsonStringify } from \"./utils/htmlEscape\";\n\nconst isWebClient = typeof window !== \"undefined\";\nconst isWebServer = typeof window === \"undefined\";\nconst isNative = false;\nconst hasWebHistory = isWebClient && typeof window.history !== \"undefined\" && typeof window.location !== \"undefined\";\nlet CACHE_KEY = `${process.env.ONE_CACHE_KEY ?? Math.round(Math.random() * 1e8)}`;\nconst LOADER_JS_POSTFIX_UNCACHED = `_vxrn_loader.js`;\nconst LOADER_JS_POSTFIX_REGEX_STRING = `_\\\\d+${LOADER_JS_POSTFIX_UNCACHED}$`;\nconst LOADER_JS_POSTFIX_REGEX = new RegExp(LOADER_JS_POSTFIX_REGEX_STRING);\nlet LOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`;\nlet PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload.js`;\nlet CSS_PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload_css.js`;\nconst PRELOAD_JS_POSTFIX_REGEX = /_\\d+_preload\\.js$/;\nconst CSS_PRELOAD_JS_POSTFIX_REGEX = /_\\d+_preload_css\\.js$/;\nfunction setCacheKey(key) {\n\tif (!key || key === CACHE_KEY) return;\n\tCACHE_KEY = key;\n\tLOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`;\n\tPRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload.js`;\n\tCSS_PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload_css.js`;\n}\nconst VIRTUAL_SSR_CSS_ENTRY = `virtual:ssr-css.css`;\nconst VIRTUAL_SSR_CSS_HREF = `/@id/__x00__${VIRTUAL_SSR_CSS_ENTRY}`;\nconst SERVER_CONTEXT_KEY = \"__one_server_context__\";\nconst getSpaHeaderElements = ({ serverContext = {} } = {}) => `\n <script>globalThis['global'] = globalThis<\\/script>\n <script>globalThis['__vxrnIsSPA'] = true<\\/script>\n <script>globalThis[\"${SERVER_CONTEXT_KEY}\"] = ${safeJsonStringify(serverContext)}<\\/script>\n <script>globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(serverContext.css || [])})<\\/script>\n`;\n\nexport { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, PRELOAD_JS_POSTFIX_REGEX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, hasWebHistory, isNative, isWebClient, isWebServer, setCacheKey };"],"mappings":";;;AAEA,MAAM,cAAc,OAAO,WAAW;AACtC,MAAM,cAAc,OAAO,WAAW;AACtC,MAAM,WAAW;AACjB,MAAM,gBAAgB,eAAe,OAAO,OAAO,YAAY,eAAe,OAAO,OAAO,aAAa;AACzG,IAAI,YAAY,GAAG,QAAQ,IAAI,iBAAiB,KAAK,MAAM,KAAK,OAAO,IAAI,GAAG;AAC9E,MAAM,6BAA6B;AACnC,MAAM,iCAAiC,QAAQ,2BAA2B;AAC1E,MAAM,0BAA0B,IAAI,OAAO,8BAA8B;AACzE,IAAI,oBAAoB,IAAI,YAAY;AACxC,IAAI,qBAAqB,IAAI,UAAU;AACvC,IAAI,yBAAyB,IAAI,UAAU;AAC3C,MAAM,2BAA2B;AACjC,MAAM,+BAA+B;AACrC,SAAS,YAAY,KAAK;CACzB,IAAI,CAAC,OAAO,QAAQ,WAAW;CAC/B,YAAY;CACZ,oBAAoB,IAAI,YAAY;CACpC,qBAAqB,IAAI,UAAU;CACnC,yBAAyB,IAAI,UAAU;AACxC;AACA,MAAM,wBAAwB;AAC9B,MAAM,uBAAuB,eAAe;AAC5C,MAAM,qBAAqB;AAC3B,MAAM,wBAAwB,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM;;;wBAGtC,mBAAmB,OAAO,kBAAkB,aAAa,EAAE;gDACnC,kBAAkB,cAAc,OAAO,CAAC,CAAC,EAAE"}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["esm/constants.js"],"sourcesContent":["import { safeJsonStringify } from \"./utils/htmlEscape\";\n\nconst isWebClient = typeof window !== \"undefined\";\nconst isWebServer = typeof window === \"undefined\";\nconst isNative = false;\nconst hasWebHistory = isWebClient && typeof window.history !== \"undefined\" && typeof window.location !== \"undefined\";\nlet CACHE_KEY = `${process.env.ONE_CACHE_KEY ?? Math.round(Math.random() * 1e8)}`;\nconst LOADER_JS_POSTFIX_UNCACHED = `_vxrn_loader.js`;\nconst NATIVE_LOADER_JS_POSTFIX_UNCACHED = `_vxrn_loader.native.js`;\nconst LOADER_JS_POSTFIX_REGEX_STRING = `_\\\\d+${LOADER_JS_POSTFIX_UNCACHED}$`;\nconst LOADER_JS_POSTFIX_REGEX = new RegExp(LOADER_JS_POSTFIX_REGEX_STRING);\nlet LOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`;\nlet PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload.js`;\nlet CSS_PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload_css.js`;\nconst PRELOAD_JS_POSTFIX_REGEX = /_\\d+_preload\\.js$/;\nconst CSS_PRELOAD_JS_POSTFIX_REGEX = /_\\d+_preload_css\\.js$/;\nfunction setCacheKey(key) {\n\tif (!key || key === CACHE_KEY) return;\n\tCACHE_KEY = key;\n\tLOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`;\n\tPRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload.js`;\n\tCSS_PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload_css.js`;\n}\nconst VIRTUAL_SSR_CSS_ENTRY = `virtual:ssr-css.css`;\nconst VIRTUAL_SSR_CSS_HREF = `/@id/__x00__${VIRTUAL_SSR_CSS_ENTRY}`;\nconst SERVER_CONTEXT_KEY = \"__one_server_context__\";\nconst getSpaHeaderElements = ({ serverContext = {} } = {}) => `\n <script>globalThis['global'] = globalThis<\\/script>\n <script>globalThis['__vxrnIsSPA'] = true<\\/script>\n <script>globalThis[\"${SERVER_CONTEXT_KEY}\"] = ${safeJsonStringify(serverContext)}<\\/script>\n <script>globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(serverContext.css || [])})<\\/script>\n`;\n\nexport { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, NATIVE_LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, PRELOAD_JS_POSTFIX_REGEX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, hasWebHistory, isNative, isWebClient, isWebServer, setCacheKey };"],"mappings":";;;AAEA,MAAM,cAAc,OAAO,WAAW;AACtC,MAAM,cAAc,OAAO,WAAW;AACtC,MAAM,WAAW;AACjB,MAAM,gBAAgB,eAAe,OAAO,OAAO,YAAY,eAAe,OAAO,OAAO,aAAa;AACzG,IAAI,YAAY,GAAG,QAAQ,IAAI,iBAAiB,KAAK,MAAM,KAAK,OAAO,IAAI,GAAG;AAC9E,MAAM,6BAA6B;AACnC,MAAM,oCAAoC;AAC1C,MAAM,iCAAiC,QAAQ,2BAA2B;AAC1E,MAAM,0BAA0B,IAAI,OAAO,8BAA8B;AACzE,IAAI,oBAAoB,IAAI,YAAY;AACxC,IAAI,qBAAqB,IAAI,UAAU;AACvC,IAAI,yBAAyB,IAAI,UAAU;AAC3C,MAAM,2BAA2B;AACjC,MAAM,+BAA+B;AACrC,SAAS,YAAY,KAAK;CACzB,IAAI,CAAC,OAAO,QAAQ,WAAW;CAC/B,YAAY;CACZ,oBAAoB,IAAI,YAAY;CACpC,qBAAqB,IAAI,UAAU;CACnC,yBAAyB,IAAI,UAAU;AACxC;AACA,MAAM,wBAAwB;AAC9B,MAAM,uBAAuB,eAAe;AAC5C,MAAM,qBAAqB;AAC3B,MAAM,wBAAwB,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM;;;wBAGtC,mBAAmB,OAAO,kBAAkB,aAAa,EAAE;gDACnC,kBAAkB,cAAc,OAAO,CAAC,CAAC,EAAE"}
@@ -7,6 +7,7 @@ var isNative = true;
7
7
  var hasWebHistory = false && typeof window.history !== "undefined" && typeof window.location !== "undefined";
8
8
  var CACHE_KEY = `${(_process_env_ONE_CACHE_KEY = process.env.ONE_CACHE_KEY) !== null && _process_env_ONE_CACHE_KEY !== void 0 ? _process_env_ONE_CACHE_KEY : Math.round(Math.random() * 1e8)}`;
9
9
  var LOADER_JS_POSTFIX_UNCACHED = `_vxrn_loader.js`;
10
+ var NATIVE_LOADER_JS_POSTFIX_UNCACHED = `_vxrn_loader.native.js`;
10
11
  var LOADER_JS_POSTFIX_REGEX_STRING = `_\\d+${LOADER_JS_POSTFIX_UNCACHED}$`;
11
12
  var LOADER_JS_POSTFIX_REGEX = new RegExp(LOADER_JS_POSTFIX_REGEX_STRING);
12
13
  var LOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`;
@@ -34,5 +35,5 @@ var getSpaHeaderElements = function getSpaHeaderElements2() {
34
35
  `;
35
36
  };
36
37
 
37
- export { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, PRELOAD_JS_POSTFIX_REGEX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, hasWebHistory, isNative, isWebClient, isWebServer, setCacheKey };
38
+ export { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, NATIVE_LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, PRELOAD_JS_POSTFIX_REGEX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, hasWebHistory, isNative, isWebClient, isWebServer, setCacheKey };
38
39
  //# sourceMappingURL=constants.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.native.js","names":[],"sources":["esm/constants.native.js"],"sourcesContent":["import { safeJsonStringify } from \"./utils/htmlEscape\";\n\nvar _process_env_ONE_CACHE_KEY;\nvar isWebClient = false;\nvar isWebServer = false;\nvar isNative = true;\nvar hasWebHistory = false && typeof window.history !== \"undefined\" && typeof window.location !== \"undefined\";\nvar CACHE_KEY = `${(_process_env_ONE_CACHE_KEY = process.env.ONE_CACHE_KEY) !== null && _process_env_ONE_CACHE_KEY !== void 0 ? _process_env_ONE_CACHE_KEY : Math.round(Math.random() * 1e8)}`;\nvar LOADER_JS_POSTFIX_UNCACHED = `_vxrn_loader.js`;\nvar LOADER_JS_POSTFIX_REGEX_STRING = `_\\\\d+${LOADER_JS_POSTFIX_UNCACHED}$`;\nvar LOADER_JS_POSTFIX_REGEX = new RegExp(LOADER_JS_POSTFIX_REGEX_STRING);\nvar LOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`;\nvar PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload.js`;\nvar CSS_PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload_css.js`;\nvar PRELOAD_JS_POSTFIX_REGEX = /_\\d+_preload\\.js$/;\nvar CSS_PRELOAD_JS_POSTFIX_REGEX = /_\\d+_preload_css\\.js$/;\nfunction setCacheKey(key) {\n\tif (!key || key === CACHE_KEY) return;\n\tCACHE_KEY = key;\n\tLOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`;\n\tPRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload.js`;\n\tCSS_PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload_css.js`;\n}\nvar VIRTUAL_SSR_CSS_ENTRY = `virtual:ssr-css.css`;\nvar VIRTUAL_SSR_CSS_HREF = `/@id/__x00__${VIRTUAL_SSR_CSS_ENTRY}`;\nvar SERVER_CONTEXT_KEY = \"__one_server_context__\";\nvar getSpaHeaderElements = function getSpaHeaderElements2() {\n\tvar { serverContext = {} } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n\treturn `\n <script>globalThis['global'] = globalThis<\\/script>\n <script>globalThis['__vxrnIsSPA'] = true<\\/script>\n <script>globalThis[\"${SERVER_CONTEXT_KEY}\"] = ${safeJsonStringify(serverContext)}<\\/script>\n <script>globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(serverContext.css || [])})<\\/script>\n`;\n};\n\nexport { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, PRELOAD_JS_POSTFIX_REGEX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, hasWebHistory, isNative, isWebClient, isWebServer, setCacheKey };"],"mappings":";;;AAEA,IAAI;AACJ,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,gBAAgB,SAAS,OAAO,OAAO,YAAY,eAAe,OAAO,OAAO,aAAa;AACjG,IAAI,YAAY,IAAI,6BAA6B,QAAQ,IAAI,mBAAmB,QAAQ,+BAA+B,KAAK,IAAI,6BAA6B,KAAK,MAAM,KAAK,OAAO,IAAI,GAAG;AAC3L,IAAI,6BAA6B;AACjC,IAAI,iCAAiC,QAAQ,2BAA2B;AACxE,IAAI,0BAA0B,IAAI,OAAO,8BAA8B;AACvE,IAAI,oBAAoB,IAAI,YAAY;AACxC,IAAI,qBAAqB,IAAI,UAAU;AACvC,IAAI,yBAAyB,IAAI,UAAU;AAC3C,IAAI,2BAA2B;AAC/B,IAAI,+BAA+B;AACnC,SAAS,YAAY,KAAK;CACzB,IAAI,CAAC,OAAO,QAAQ,WAAW;CAC/B,YAAY;CACZ,oBAAoB,IAAI,YAAY;CACpC,qBAAqB,IAAI,UAAU;CACnC,yBAAyB,IAAI,UAAU;AACxC;AACA,IAAI,wBAAwB;AAC5B,IAAI,uBAAuB,eAAe;AAC1C,IAAI,qBAAqB;AACzB,IAAI,uBAAuB,SAAS,wBAAwB;CAC3D,IAAI,EAAE,gBAAgB,CAAC,MAAM,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,CAAC;CAC/F,OAAO;;;wBAGgB,mBAAmB,OAAO,kBAAkB,aAAa,EAAE;gDACnC,kBAAkB,cAAc,OAAO,CAAC,CAAC,EAAE;;AAE3F"}
1
+ {"version":3,"file":"constants.native.js","names":[],"sources":["esm/constants.native.js"],"sourcesContent":["import { safeJsonStringify } from \"./utils/htmlEscape\";\n\nvar _process_env_ONE_CACHE_KEY;\nvar isWebClient = false;\nvar isWebServer = false;\nvar isNative = true;\nvar hasWebHistory = false && typeof window.history !== \"undefined\" && typeof window.location !== \"undefined\";\nvar CACHE_KEY = `${(_process_env_ONE_CACHE_KEY = process.env.ONE_CACHE_KEY) !== null && _process_env_ONE_CACHE_KEY !== void 0 ? _process_env_ONE_CACHE_KEY : Math.round(Math.random() * 1e8)}`;\nvar LOADER_JS_POSTFIX_UNCACHED = `_vxrn_loader.js`;\nvar NATIVE_LOADER_JS_POSTFIX_UNCACHED = `_vxrn_loader.native.js`;\nvar LOADER_JS_POSTFIX_REGEX_STRING = `_\\\\d+${LOADER_JS_POSTFIX_UNCACHED}$`;\nvar LOADER_JS_POSTFIX_REGEX = new RegExp(LOADER_JS_POSTFIX_REGEX_STRING);\nvar LOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`;\nvar PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload.js`;\nvar CSS_PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload_css.js`;\nvar PRELOAD_JS_POSTFIX_REGEX = /_\\d+_preload\\.js$/;\nvar CSS_PRELOAD_JS_POSTFIX_REGEX = /_\\d+_preload_css\\.js$/;\nfunction setCacheKey(key) {\n\tif (!key || key === CACHE_KEY) return;\n\tCACHE_KEY = key;\n\tLOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`;\n\tPRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload.js`;\n\tCSS_PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload_css.js`;\n}\nvar VIRTUAL_SSR_CSS_ENTRY = `virtual:ssr-css.css`;\nvar VIRTUAL_SSR_CSS_HREF = `/@id/__x00__${VIRTUAL_SSR_CSS_ENTRY}`;\nvar SERVER_CONTEXT_KEY = \"__one_server_context__\";\nvar getSpaHeaderElements = function getSpaHeaderElements2() {\n\tvar { serverContext = {} } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n\treturn `\n <script>globalThis['global'] = globalThis<\\/script>\n <script>globalThis['__vxrnIsSPA'] = true<\\/script>\n <script>globalThis[\"${SERVER_CONTEXT_KEY}\"] = ${safeJsonStringify(serverContext)}<\\/script>\n <script>globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(serverContext.css || [])})<\\/script>\n`;\n};\n\nexport { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, NATIVE_LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, PRELOAD_JS_POSTFIX_REGEX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, hasWebHistory, isNative, isWebClient, isWebServer, setCacheKey };"],"mappings":";;;AAEA,IAAI;AACJ,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,gBAAgB,SAAS,OAAO,OAAO,YAAY,eAAe,OAAO,OAAO,aAAa;AACjG,IAAI,YAAY,IAAI,6BAA6B,QAAQ,IAAI,mBAAmB,QAAQ,+BAA+B,KAAK,IAAI,6BAA6B,KAAK,MAAM,KAAK,OAAO,IAAI,GAAG;AAC3L,IAAI,6BAA6B;AACjC,IAAI,oCAAoC;AACxC,IAAI,iCAAiC,QAAQ,2BAA2B;AACxE,IAAI,0BAA0B,IAAI,OAAO,8BAA8B;AACvE,IAAI,oBAAoB,IAAI,YAAY;AACxC,IAAI,qBAAqB,IAAI,UAAU;AACvC,IAAI,yBAAyB,IAAI,UAAU;AAC3C,IAAI,2BAA2B;AAC/B,IAAI,+BAA+B;AACnC,SAAS,YAAY,KAAK;CACzB,IAAI,CAAC,OAAO,QAAQ,WAAW;CAC/B,YAAY;CACZ,oBAAoB,IAAI,YAAY;CACpC,qBAAqB,IAAI,UAAU;CACnC,yBAAyB,IAAI,UAAU;AACxC;AACA,IAAI,wBAAwB;AAC5B,IAAI,uBAAuB,eAAe;AAC1C,IAAI,qBAAqB;AACzB,IAAI,uBAAuB,SAAS,wBAAwB;CAC3D,IAAI,EAAE,gBAAgB,CAAC,MAAM,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,CAAC;CAC/F,OAAO;;;wBAGgB,mBAAmB,OAAO,kBAAkB,aAAa,EAAE;gDACnC,kBAAkB,cAAc,OAAO,CAAC,CAAC,EAAE;;AAE3F"}
@@ -154,7 +154,7 @@ function useLinking(ref, { enabled = true, config, getStateFromPath: getStateFro
154
154
  if (historyState) {
155
155
  const { __tempLocation, __tempKey } = historyState;
156
156
  if (__tempLocation?.pathname && !__tempKey) {
157
- path = __tempLocation.pathname + (__tempLocation.search || "");
157
+ path = __tempLocation.pathname + (__tempLocation.search || "") + (__tempLocation.hash || "");
158
158
  restoringFromTempLocationRef.current = true;
159
159
  }
160
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useLinking.js","names":["getStateFromPathDefault","getPathFromStateDefault","getActionFromStateDefault","getStateFromPath","getPathFromState","getActionFromState","routerRootState"],"sources":["esm/fork/useLinking.js"],"sourcesContent":["import {\n findFocusedRoute,\n getActionFromState as getActionFromStateDefault,\n getPathFromState as getPathFromStateDefault,\n useNavigationIndependentTree\n} from \"@react-navigation/core\";\nimport { getStateFromPath as getStateFromPathDefault } from \"./getStateFromPath\";\nimport isEqual from \"fast-deep-equal\";\nimport * as React from \"react\";\nimport { stripGroupSegmentsFromPath } from \"../router/matchers\";\nimport {\n setNavigationType,\n isReturningFromIntercept,\n setReturningFromIntercept,\n restoreInterceptFromHistory\n} from \"../router/interceptRoutes\";\nimport {\n consumePendingNavigationAction,\n rootState as routerRootState,\n routeNode\n} from \"../router/router\";\nimport { isStateAwaitingNavigatorMount } from \"../router/isStateAwaitingNavigatorMount\";\nimport { ServerLocationContext } from \"../router/serverLocationContext\";\nimport { clearAllSlotStates } from \"../views/Navigator\";\nimport { createMemoryHistory } from \"./createMemoryHistory\";\nimport { appendBaseUrl } from \"./getPathFromState-mods\";\nconst getPartialState = (state) => {\n if (!state) return void 0;\n const { key, routeNames, stale, routes, ...partial } = state;\n return {\n ...partial,\n stale: true,\n routes: routes.map(({ key: routeKey, state: childState, ...route }) => ({\n ...route,\n ...childState ? { state: getPartialState(childState) } : null\n }))\n };\n};\nfunction getFocusedRouteDepth(state) {\n const length = getTotalHistoryLength(state);\n const focusedRoute = state.routes[state.index];\n const child = focusedRoute?.state;\n if (child) {\n return length + getFocusedRouteDepth(child);\n }\n return length;\n}\nconst getTotalHistoryLength = (state) => {\n const activeRoutes = state.routes.slice(0, state.index + 1);\n const baseHistoryLength = state.history ? state.history.length : activeRoutes.length;\n const routeHistoryLength = activeRoutes.reduce((acc, r) => {\n return acc + (r.history ? r.history.length : 0);\n }, 0);\n return baseHistoryLength + routeHistoryLength;\n};\nfunction getDynamicParamNames(routeName) {\n return Array.from(routeName.matchAll(/\\[(?:\\.\\.\\.)?([^\\]]+)\\]/g), (match) => match[1]);\n}\nfunction hasMissingDynamicParams(route) {\n if (!route) return false;\n const dynamicParamNames = getDynamicParamNames(route.name);\n if (dynamicParamNames.length === 0) return false;\n return dynamicParamNames.some((name) => route.params?.[name] == null);\n}\nfunction currentUrlHasDynamicParams(route, getStateFromPath, config) {\n const currentPath = window.location.pathname + window.location.search;\n const currentState = getStateFromPath(currentPath, config);\n const currentRoute = currentState ? findFocusedRoute(currentState) : void 0;\n return currentRoute?.name === route.name && !hasMissingDynamicParams(currentRoute);\n}\nconst findMatchingState = (a, b) => {\n if (a === void 0 || b === void 0 || a.key !== b.key) {\n return [void 0, void 0];\n }\n const aHistoryLength = getTotalHistoryLength(a);\n const bHistoryLength = getTotalHistoryLength(b);\n const aRoute = a.routes[a.index];\n const bRoute = b.routes[b.index];\n const aChildState = aRoute.state;\n const bChildState = bRoute.state;\n if (aHistoryLength !== bHistoryLength || aRoute.key !== bRoute.key || aChildState === void 0 || bChildState === void 0 || aChildState.key !== bChildState.key || (aRoute.history?.length || 0) !== (bRoute.history?.length || 0)) {\n return [a, b];\n }\n return findMatchingState(aChildState, bChildState);\n};\nconst series = (cb) => {\n let queue = Promise.resolve();\n const callback = () => {\n queue = queue.then(cb);\n };\n return callback;\n};\nconst linkingHandlers = /* @__PURE__ */ new Set();\nfunction useLinking(ref, {\n enabled = true,\n config,\n getStateFromPath = getStateFromPathDefault,\n getPathFromState = getPathFromStateDefault,\n getActionFromState = getActionFromStateDefault\n}) {\n if (typeof window === \"undefined\") {\n const getInitialState2 = React.useCallback(() => {\n return {\n then(fn) {\n return Promise.resolve(fn ? fn(void 0) : void 0);\n },\n catch() {\n return this;\n }\n };\n }, []);\n return { getInitialState: getInitialState2 };\n }\n const independent = useNavigationIndependentTree();\n React.useEffect(() => {\n if (process.env.NODE_ENV === \"production\") {\n return void 0;\n }\n if (independent) {\n return void 0;\n }\n if (enabled !== false && linkingHandlers.size) {\n console.error(\n [\n \"Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:\",\n \"- You don't have multiple NavigationContainers in the app each with 'linking' enabled\",\n \"- Only a single instance of the root component is rendered\"\n ].join(\"\\n\").trim()\n );\n }\n const handler = /* @__PURE__ */ Symbol();\n if (enabled !== false) {\n linkingHandlers.add(handler);\n }\n return () => {\n linkingHandlers.delete(handler);\n };\n }, [enabled, independent]);\n const [history] = React.useState(createMemoryHistory);\n const enabledRef = React.useRef(enabled);\n const configRef = React.useRef(config);\n const getStateFromPathRef = React.useRef(getStateFromPath);\n const getPathFromStateRef = React.useRef(getPathFromState);\n const getActionFromStateRef = React.useRef(getActionFromState);\n const restoringFromTempLocationRef = React.useRef(false);\n const initialHistorySetupDoneRef = React.useRef(false);\n const maskedDisplayPathRef = React.useRef(void 0);\n React.useEffect(() => {\n enabledRef.current = enabled;\n configRef.current = config;\n getStateFromPathRef.current = getStateFromPath;\n getPathFromStateRef.current = getPathFromState;\n getActionFromStateRef.current = getActionFromState;\n });\n const validateRoutesNotExistInRootState = React.useCallback(\n (state) => {\n const navigation = ref.current;\n const rootState = navigation?.getRootState();\n const routeNames = rootState?.routeNames;\n if (!routeNames) {\n return false;\n }\n return state?.routes.some((r) => !routeNames.includes(r.name));\n },\n [ref]\n );\n const location = React.useContext(ServerLocationContext);\n const server = { location };\n const getInitialState = React.useCallback(() => {\n setNavigationType(\"hard\");\n clearAllSlotStates();\n let value;\n if (enabledRef.current) {\n const location2 = server?.location ?? (typeof window !== \"undefined\" ? window.location : void 0);\n let path = location2 ? location2.pathname + location2.search + (location2.hash ?? \"\") : void 0;\n if (location2 && typeof window !== \"undefined\") {\n const historyState = window.history.state;\n if (historyState) {\n const { __tempLocation, __tempKey } = historyState;\n if (__tempLocation?.pathname && !__tempKey) {\n path = __tempLocation.pathname + (__tempLocation.search || \"\");\n restoringFromTempLocationRef.current = true;\n }\n }\n }\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F50D} getInitialState path=${path}`);\n }\n if (path) {\n value = getStateFromPathRef.current(path, configRef.current);\n }\n }\n const thenable = {\n // biome-ignore lint/suspicious/noThenProperty: don't check copied code\n then(onfulfilled) {\n return Promise.resolve(onfulfilled ? onfulfilled(value) : value);\n },\n catch() {\n return thenable;\n }\n };\n return thenable;\n }, []);\n const previousIndexRef = React.useRef(void 0);\n const previousStateRef = React.useRef(void 0);\n const pendingPopStatePathRef = React.useRef(void 0);\n React.useEffect(() => {\n previousIndexRef.current = history.index;\n return history.listen(() => {\n const navigation = ref.current;\n if (!navigation || !enabled) {\n return;\n }\n if (isReturningFromIntercept()) {\n setReturningFromIntercept(false);\n clearAllSlotStates();\n return;\n }\n if (restoreInterceptFromHistory()) {\n return;\n }\n setNavigationType(\"hard\");\n clearAllSlotStates();\n maskedDisplayPathRef.current = void 0;\n const { location: location2 } = window;\n const path = location2.pathname + location2.search;\n const index = history.index;\n const previousIndex = previousIndexRef.current ?? 0;\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(\n `[one] \\u{1F4DC} history.listen path=${path} index=${index} prevIndex=${previousIndex}`\n );\n }\n previousIndexRef.current = index;\n pendingPopStatePathRef.current = path;\n const record = history.get(index);\n const pathMatches = record?.path === path || record?.displayPath === path;\n if (pathMatches && record?.state) {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} history record found, resetRoot to:`, record.state);\n }\n navigation.resetRoot(getPartialState(record.state));\n return;\n }\n const state = getStateFromPathRef.current(path, configRef.current);\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} getStateFromPath result:`, state);\n }\n if (state) {\n if (validateRoutesNotExistInRootState(state)) {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} routes not in root state, skipping`);\n }\n return;\n }\n if (index > previousIndex || index === previousIndex && (!record || `${record?.path}${location2.hash}` === path)) {\n const action = getActionFromStateRef.current(state, configRef.current);\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} dispatching action:`, action);\n }\n if (action !== void 0) {\n try {\n navigation.dispatch(action);\n } catch (e) {\n console.warn(\n `An error occurred when trying to handle the link '${path}': ${typeof e === \"object\" && e != null && \"message\" in e ? e.message : e}`\n );\n }\n } else {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} no action, resetRoot`);\n }\n navigation.resetRoot(state);\n }\n } else {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} going back, resetRoot`);\n }\n navigation.resetRoot(state);\n }\n } else {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} no state for path, resetRoot to undefined`);\n }\n navigation.resetRoot(state);\n }\n });\n }, [enabled, history, ref, validateRoutesNotExistInRootState]);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n const getPathForRoute = (route, state) => {\n let path;\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} getPathForRoute - route:`, route);\n console.info(`[one] \\u{1F4DC} getPathForRoute - state:`, JSON.stringify(state, null, 2));\n }\n if (route?.path) {\n const stateForPath = getStateFromPathRef.current(route.path, configRef.current);\n if (stateForPath) {\n const focusedRoute = findFocusedRoute(stateForPath);\n if (focusedRoute && focusedRoute.name === route.name && isEqual(focusedRoute.params, route.params)) {\n path = appendBaseUrl(route.path);\n }\n }\n }\n if (path == null) {\n path = getPathFromStateRef.current(state, configRef.current);\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} getPathForRoute - computed from state:`, path);\n }\n }\n return path;\n };\n if (ref.current) {\n const refState = ref.current.getRootState();\n const state = routerRootState || refState;\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(\n `[one] \\u{1F4DC} useEffect initial state check - refState:`,\n JSON.stringify(refState, null, 2)\n );\n console.info(\n `[one] \\u{1F4DC} useEffect initial state check - routerRootState:`,\n JSON.stringify(routerRootState, null, 2)\n );\n }\n if (state) {\n const route = findFocusedRoute(state);\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} useEffect focused route:`, route);\n }\n const path = getPathForRoute(route, state);\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(\n `[one] \\u{1F4DC} initial history.replace - state:`,\n JSON.stringify(state, null, 2)\n );\n console.info(`[one] \\u{1F4DC} initial history.replace - focusedRoute:`, route);\n console.info(`[one] \\u{1F4DC} initial history.replace - computed path:`, path);\n }\n if (previousStateRef.current === void 0) {\n previousStateRef.current = refState;\n }\n if (!initialHistorySetupDoneRef.current) {\n const historyState = window.history.state;\n const isRestoringFromMask = restoringFromTempLocationRef.current || historyState?.__tempLocation?.pathname && !historyState.__tempKey;\n if (isRestoringFromMask) {\n const displayPath = window.location.pathname + window.location.search;\n history.replace({ path, state, displayPath });\n restoringFromTempLocationRef.current = false;\n maskedDisplayPathRef.current = { displayPath, actualPath: path };\n } else {\n history.replace({ path, state });\n }\n initialHistorySetupDoneRef.current = true;\n }\n }\n }\n const onStateChange = async () => {\n const navigation = ref.current;\n if (!navigation || !enabled) {\n return;\n }\n const previousState = previousStateRef.current;\n const refState = navigation.getRootState();\n const state = routerRootState || refState;\n if (!state) {\n return;\n }\n const pendingPath = pendingPopStatePathRef.current;\n const route = findFocusedRoute(state);\n if (isStateAwaitingNavigatorMount(state, routeNode)) {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(\n `[one] \\u{1F4DC} onStateChange - skipping: navigator below`,\n route?.name,\n `has not mounted`\n );\n }\n return;\n }\n if (route && hasMissingDynamicParams(route) && currentUrlHasDynamicParams(route, getStateFromPathRef.current, configRef.current)) {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(\n `[one] \\u{1F4DC} onStateChange - skipping: focused dynamic route is missing params`,\n route.name\n );\n }\n return;\n }\n let path = getPathForRoute(route, state);\n if (typeof window !== \"undefined\" && !route?.params) {\n const currentSearch = window.location.search;\n if (currentSearch && !path.includes(\"?\") && window.location.pathname === path) {\n path = path + currentSearch;\n }\n }\n const maskOptions = state.linkOptions?.mask;\n const maskHref = maskOptions?.href;\n const maskedInfo = maskedDisplayPathRef.current;\n let displayPath;\n if (maskedInfo) {\n if (path === maskedInfo.actualPath) {\n displayPath = maskedInfo.displayPath;\n }\n maskedDisplayPathRef.current = void 0;\n }\n if (!displayPath && maskHref) {\n displayPath = appendBaseUrl(stripGroupSegmentsFromPath(maskHref) || \"/\");\n }\n const unmaskOnReload = maskOptions?.unmaskOnReload;\n const pendingNavigationAction = consumePendingNavigationAction();\n previousStateRef.current = refState;\n pendingPopStatePathRef.current = void 0;\n if (pendingNavigationAction === \"PUSH\" && path !== pendingPath) {\n history.push({ path, state, displayPath, unmaskOnReload });\n return;\n }\n if (pendingNavigationAction === \"REPLACE\" && path !== pendingPath) {\n history.replace({ path, state, displayPath, unmaskOnReload });\n return;\n }\n const [previousFocusedState, focusedState] = findMatchingState(previousState, state);\n if (previousFocusedState && focusedState && // We should only handle push/pop if path changed from what was in last `popstate`\n // Otherwise it's likely a change triggered by `popstate`\n path !== pendingPath) {\n const historyDelta = getFocusedRouteDepth(focusedState) - getFocusedRouteDepth(previousFocusedState);\n if (historyDelta > 0) {\n const currentRecord = history.get(history.index);\n const samePath = currentRecord?.path === path || currentRecord?.displayPath === path;\n if (samePath) {\n history.replace({ path, state, displayPath, unmaskOnReload });\n } else {\n history.push({ path, state, displayPath, unmaskOnReload });\n }\n } else if (historyDelta < 0) {\n const nextIndex = history.backIndex({ path });\n const currentIndex = history.index;\n try {\n if (nextIndex !== -1 && nextIndex < currentIndex && // We should only go back if the entry exists and it's less than current index\n history.get(nextIndex - currentIndex)) {\n await history.go(nextIndex - currentIndex);\n } else {\n await history.go(historyDelta);\n }\n history.replace({ path, state });\n } catch (e) {\n }\n } else {\n history.replace({ path, state, displayPath, unmaskOnReload });\n }\n } else {\n history.replace({ path, state, displayPath, unmaskOnReload });\n }\n };\n return ref.current?.addListener(\"state\", series(onStateChange));\n }, [enabled, history, ref]);\n return {\n getInitialState\n };\n}\nexport {\n series,\n useLinking\n};\n//# sourceMappingURL=useLinking.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"useLinking.js","names":["getStateFromPathDefault","getPathFromStateDefault","getActionFromStateDefault","getStateFromPath","getPathFromState","getActionFromState","routerRootState"],"sources":["esm/fork/useLinking.js"],"sourcesContent":["import {\n findFocusedRoute,\n getActionFromState as getActionFromStateDefault,\n getPathFromState as getPathFromStateDefault,\n useNavigationIndependentTree\n} from \"@react-navigation/core\";\nimport { getStateFromPath as getStateFromPathDefault } from \"./getStateFromPath\";\nimport isEqual from \"fast-deep-equal\";\nimport * as React from \"react\";\nimport { stripGroupSegmentsFromPath } from \"../router/matchers\";\nimport {\n setNavigationType,\n isReturningFromIntercept,\n setReturningFromIntercept,\n restoreInterceptFromHistory\n} from \"../router/interceptRoutes\";\nimport {\n consumePendingNavigationAction,\n rootState as routerRootState,\n routeNode\n} from \"../router/router\";\nimport { isStateAwaitingNavigatorMount } from \"../router/isStateAwaitingNavigatorMount\";\nimport { ServerLocationContext } from \"../router/serverLocationContext\";\nimport { clearAllSlotStates } from \"../views/Navigator\";\nimport { createMemoryHistory } from \"./createMemoryHistory\";\nimport { appendBaseUrl } from \"./getPathFromState-mods\";\nconst getPartialState = (state) => {\n if (!state) return void 0;\n const { key, routeNames, stale, routes, ...partial } = state;\n return {\n ...partial,\n stale: true,\n routes: routes.map(({ key: routeKey, state: childState, ...route }) => ({\n ...route,\n ...childState ? { state: getPartialState(childState) } : null\n }))\n };\n};\nfunction getFocusedRouteDepth(state) {\n const length = getTotalHistoryLength(state);\n const focusedRoute = state.routes[state.index];\n const child = focusedRoute?.state;\n if (child) {\n return length + getFocusedRouteDepth(child);\n }\n return length;\n}\nconst getTotalHistoryLength = (state) => {\n const activeRoutes = state.routes.slice(0, state.index + 1);\n const baseHistoryLength = state.history ? state.history.length : activeRoutes.length;\n const routeHistoryLength = activeRoutes.reduce((acc, r) => {\n return acc + (r.history ? r.history.length : 0);\n }, 0);\n return baseHistoryLength + routeHistoryLength;\n};\nfunction getDynamicParamNames(routeName) {\n return Array.from(routeName.matchAll(/\\[(?:\\.\\.\\.)?([^\\]]+)\\]/g), (match) => match[1]);\n}\nfunction hasMissingDynamicParams(route) {\n if (!route) return false;\n const dynamicParamNames = getDynamicParamNames(route.name);\n if (dynamicParamNames.length === 0) return false;\n return dynamicParamNames.some((name) => route.params?.[name] == null);\n}\nfunction currentUrlHasDynamicParams(route, getStateFromPath, config) {\n const currentPath = window.location.pathname + window.location.search;\n const currentState = getStateFromPath(currentPath, config);\n const currentRoute = currentState ? findFocusedRoute(currentState) : void 0;\n return currentRoute?.name === route.name && !hasMissingDynamicParams(currentRoute);\n}\nconst findMatchingState = (a, b) => {\n if (a === void 0 || b === void 0 || a.key !== b.key) {\n return [void 0, void 0];\n }\n const aHistoryLength = getTotalHistoryLength(a);\n const bHistoryLength = getTotalHistoryLength(b);\n const aRoute = a.routes[a.index];\n const bRoute = b.routes[b.index];\n const aChildState = aRoute.state;\n const bChildState = bRoute.state;\n if (aHistoryLength !== bHistoryLength || aRoute.key !== bRoute.key || aChildState === void 0 || bChildState === void 0 || aChildState.key !== bChildState.key || (aRoute.history?.length || 0) !== (bRoute.history?.length || 0)) {\n return [a, b];\n }\n return findMatchingState(aChildState, bChildState);\n};\nconst series = (cb) => {\n let queue = Promise.resolve();\n const callback = () => {\n queue = queue.then(cb);\n };\n return callback;\n};\nconst linkingHandlers = /* @__PURE__ */ new Set();\nfunction useLinking(ref, {\n enabled = true,\n config,\n getStateFromPath = getStateFromPathDefault,\n getPathFromState = getPathFromStateDefault,\n getActionFromState = getActionFromStateDefault\n}) {\n if (typeof window === \"undefined\") {\n const getInitialState2 = React.useCallback(() => {\n return {\n then(fn) {\n return Promise.resolve(fn ? fn(void 0) : void 0);\n },\n catch() {\n return this;\n }\n };\n }, []);\n return { getInitialState: getInitialState2 };\n }\n const independent = useNavigationIndependentTree();\n React.useEffect(() => {\n if (process.env.NODE_ENV === \"production\") {\n return void 0;\n }\n if (independent) {\n return void 0;\n }\n if (enabled !== false && linkingHandlers.size) {\n console.error(\n [\n \"Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:\",\n \"- You don't have multiple NavigationContainers in the app each with 'linking' enabled\",\n \"- Only a single instance of the root component is rendered\"\n ].join(\"\\n\").trim()\n );\n }\n const handler = /* @__PURE__ */ Symbol();\n if (enabled !== false) {\n linkingHandlers.add(handler);\n }\n return () => {\n linkingHandlers.delete(handler);\n };\n }, [enabled, independent]);\n const [history] = React.useState(createMemoryHistory);\n const enabledRef = React.useRef(enabled);\n const configRef = React.useRef(config);\n const getStateFromPathRef = React.useRef(getStateFromPath);\n const getPathFromStateRef = React.useRef(getPathFromState);\n const getActionFromStateRef = React.useRef(getActionFromState);\n const restoringFromTempLocationRef = React.useRef(false);\n const initialHistorySetupDoneRef = React.useRef(false);\n const maskedDisplayPathRef = React.useRef(void 0);\n React.useEffect(() => {\n enabledRef.current = enabled;\n configRef.current = config;\n getStateFromPathRef.current = getStateFromPath;\n getPathFromStateRef.current = getPathFromState;\n getActionFromStateRef.current = getActionFromState;\n });\n const validateRoutesNotExistInRootState = React.useCallback(\n (state) => {\n const navigation = ref.current;\n const rootState = navigation?.getRootState();\n const routeNames = rootState?.routeNames;\n if (!routeNames) {\n return false;\n }\n return state?.routes.some((r) => !routeNames.includes(r.name));\n },\n [ref]\n );\n const location = React.useContext(ServerLocationContext);\n const server = { location };\n const getInitialState = React.useCallback(() => {\n setNavigationType(\"hard\");\n clearAllSlotStates();\n let value;\n if (enabledRef.current) {\n const location2 = server?.location ?? (typeof window !== \"undefined\" ? window.location : void 0);\n let path = location2 ? location2.pathname + location2.search + (location2.hash ?? \"\") : void 0;\n if (location2 && typeof window !== \"undefined\") {\n const historyState = window.history.state;\n if (historyState) {\n const { __tempLocation, __tempKey } = historyState;\n if (__tempLocation?.pathname && !__tempKey) {\n path = __tempLocation.pathname + (__tempLocation.search || \"\") + (__tempLocation.hash || \"\");\n restoringFromTempLocationRef.current = true;\n }\n }\n }\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F50D} getInitialState path=${path}`);\n }\n if (path) {\n value = getStateFromPathRef.current(path, configRef.current);\n }\n }\n const thenable = {\n // biome-ignore lint/suspicious/noThenProperty: don't check copied code\n then(onfulfilled) {\n return Promise.resolve(onfulfilled ? onfulfilled(value) : value);\n },\n catch() {\n return thenable;\n }\n };\n return thenable;\n }, []);\n const previousIndexRef = React.useRef(void 0);\n const previousStateRef = React.useRef(void 0);\n const pendingPopStatePathRef = React.useRef(void 0);\n React.useEffect(() => {\n previousIndexRef.current = history.index;\n return history.listen(() => {\n const navigation = ref.current;\n if (!navigation || !enabled) {\n return;\n }\n if (isReturningFromIntercept()) {\n setReturningFromIntercept(false);\n clearAllSlotStates();\n return;\n }\n if (restoreInterceptFromHistory()) {\n return;\n }\n setNavigationType(\"hard\");\n clearAllSlotStates();\n maskedDisplayPathRef.current = void 0;\n const { location: location2 } = window;\n const path = location2.pathname + location2.search;\n const index = history.index;\n const previousIndex = previousIndexRef.current ?? 0;\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(\n `[one] \\u{1F4DC} history.listen path=${path} index=${index} prevIndex=${previousIndex}`\n );\n }\n previousIndexRef.current = index;\n pendingPopStatePathRef.current = path;\n const record = history.get(index);\n const pathMatches = record?.path === path || record?.displayPath === path;\n if (pathMatches && record?.state) {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} history record found, resetRoot to:`, record.state);\n }\n navigation.resetRoot(getPartialState(record.state));\n return;\n }\n const state = getStateFromPathRef.current(path, configRef.current);\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} getStateFromPath result:`, state);\n }\n if (state) {\n if (validateRoutesNotExistInRootState(state)) {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} routes not in root state, skipping`);\n }\n return;\n }\n if (index > previousIndex || index === previousIndex && (!record || `${record?.path}${location2.hash}` === path)) {\n const action = getActionFromStateRef.current(state, configRef.current);\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} dispatching action:`, action);\n }\n if (action !== void 0) {\n try {\n navigation.dispatch(action);\n } catch (e) {\n console.warn(\n `An error occurred when trying to handle the link '${path}': ${typeof e === \"object\" && e != null && \"message\" in e ? e.message : e}`\n );\n }\n } else {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} no action, resetRoot`);\n }\n navigation.resetRoot(state);\n }\n } else {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} going back, resetRoot`);\n }\n navigation.resetRoot(state);\n }\n } else {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} no state for path, resetRoot to undefined`);\n }\n navigation.resetRoot(state);\n }\n });\n }, [enabled, history, ref, validateRoutesNotExistInRootState]);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n const getPathForRoute = (route, state) => {\n let path;\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} getPathForRoute - route:`, route);\n console.info(`[one] \\u{1F4DC} getPathForRoute - state:`, JSON.stringify(state, null, 2));\n }\n if (route?.path) {\n const stateForPath = getStateFromPathRef.current(route.path, configRef.current);\n if (stateForPath) {\n const focusedRoute = findFocusedRoute(stateForPath);\n if (focusedRoute && focusedRoute.name === route.name && isEqual(focusedRoute.params, route.params)) {\n path = appendBaseUrl(route.path);\n }\n }\n }\n if (path == null) {\n path = getPathFromStateRef.current(state, configRef.current);\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} getPathForRoute - computed from state:`, path);\n }\n }\n return path;\n };\n if (ref.current) {\n const refState = ref.current.getRootState();\n const state = routerRootState || refState;\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(\n `[one] \\u{1F4DC} useEffect initial state check - refState:`,\n JSON.stringify(refState, null, 2)\n );\n console.info(\n `[one] \\u{1F4DC} useEffect initial state check - routerRootState:`,\n JSON.stringify(routerRootState, null, 2)\n );\n }\n if (state) {\n const route = findFocusedRoute(state);\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(`[one] \\u{1F4DC} useEffect focused route:`, route);\n }\n const path = getPathForRoute(route, state);\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(\n `[one] \\u{1F4DC} initial history.replace - state:`,\n JSON.stringify(state, null, 2)\n );\n console.info(`[one] \\u{1F4DC} initial history.replace - focusedRoute:`, route);\n console.info(`[one] \\u{1F4DC} initial history.replace - computed path:`, path);\n }\n if (previousStateRef.current === void 0) {\n previousStateRef.current = refState;\n }\n if (!initialHistorySetupDoneRef.current) {\n const historyState = window.history.state;\n const isRestoringFromMask = restoringFromTempLocationRef.current || historyState?.__tempLocation?.pathname && !historyState.__tempKey;\n if (isRestoringFromMask) {\n const displayPath = window.location.pathname + window.location.search;\n history.replace({ path, state, displayPath });\n restoringFromTempLocationRef.current = false;\n maskedDisplayPathRef.current = { displayPath, actualPath: path };\n } else {\n history.replace({ path, state });\n }\n initialHistorySetupDoneRef.current = true;\n }\n }\n }\n const onStateChange = async () => {\n const navigation = ref.current;\n if (!navigation || !enabled) {\n return;\n }\n const previousState = previousStateRef.current;\n const refState = navigation.getRootState();\n const state = routerRootState || refState;\n if (!state) {\n return;\n }\n const pendingPath = pendingPopStatePathRef.current;\n const route = findFocusedRoute(state);\n if (isStateAwaitingNavigatorMount(state, routeNode)) {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(\n `[one] \\u{1F4DC} onStateChange - skipping: navigator below`,\n route?.name,\n `has not mounted`\n );\n }\n return;\n }\n if (route && hasMissingDynamicParams(route) && currentUrlHasDynamicParams(route, getStateFromPathRef.current, configRef.current)) {\n if (process.env.ONE_DEBUG_ROUTER) {\n console.info(\n `[one] \\u{1F4DC} onStateChange - skipping: focused dynamic route is missing params`,\n route.name\n );\n }\n return;\n }\n let path = getPathForRoute(route, state);\n if (typeof window !== \"undefined\" && !route?.params) {\n const currentSearch = window.location.search;\n if (currentSearch && !path.includes(\"?\") && window.location.pathname === path) {\n path = path + currentSearch;\n }\n }\n const maskOptions = state.linkOptions?.mask;\n const maskHref = maskOptions?.href;\n const maskedInfo = maskedDisplayPathRef.current;\n let displayPath;\n if (maskedInfo) {\n if (path === maskedInfo.actualPath) {\n displayPath = maskedInfo.displayPath;\n }\n maskedDisplayPathRef.current = void 0;\n }\n if (!displayPath && maskHref) {\n displayPath = appendBaseUrl(stripGroupSegmentsFromPath(maskHref) || \"/\");\n }\n const unmaskOnReload = maskOptions?.unmaskOnReload;\n const pendingNavigationAction = consumePendingNavigationAction();\n previousStateRef.current = refState;\n pendingPopStatePathRef.current = void 0;\n if (pendingNavigationAction === \"PUSH\" && path !== pendingPath) {\n history.push({ path, state, displayPath, unmaskOnReload });\n return;\n }\n if (pendingNavigationAction === \"REPLACE\" && path !== pendingPath) {\n history.replace({ path, state, displayPath, unmaskOnReload });\n return;\n }\n const [previousFocusedState, focusedState] = findMatchingState(previousState, state);\n if (previousFocusedState && focusedState && // We should only handle push/pop if path changed from what was in last `popstate`\n // Otherwise it's likely a change triggered by `popstate`\n path !== pendingPath) {\n const historyDelta = getFocusedRouteDepth(focusedState) - getFocusedRouteDepth(previousFocusedState);\n if (historyDelta > 0) {\n const currentRecord = history.get(history.index);\n const samePath = currentRecord?.path === path || currentRecord?.displayPath === path;\n if (samePath) {\n history.replace({ path, state, displayPath, unmaskOnReload });\n } else {\n history.push({ path, state, displayPath, unmaskOnReload });\n }\n } else if (historyDelta < 0) {\n const nextIndex = history.backIndex({ path });\n const currentIndex = history.index;\n try {\n if (nextIndex !== -1 && nextIndex < currentIndex && // We should only go back if the entry exists and it's less than current index\n history.get(nextIndex - currentIndex)) {\n await history.go(nextIndex - currentIndex);\n } else {\n await history.go(historyDelta);\n }\n history.replace({ path, state });\n } catch (e) {\n }\n } else {\n history.replace({ path, state, displayPath, unmaskOnReload });\n }\n } else {\n history.replace({ path, state, displayPath, unmaskOnReload });\n }\n };\n return ref.current?.addListener(\"state\", series(onStateChange));\n }, [enabled, history, ref]);\n return {\n getInitialState\n };\n}\nexport {\n series,\n useLinking\n};\n//# sourceMappingURL=useLinking.js.map\n"],"mappings":"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"}
@@ -35,7 +35,7 @@ function mapChildren(children) {
35
35
  }).filter(Boolean);
36
36
  }
37
37
  const StackWithComposition = React.forwardRef((props, ref) => {
38
- const { children, screenOptions, ...rest } = props;
38
+ const { children, screenOptions, screenLayout, ...rest } = props;
39
39
  const screenOptionsWithHeader = useMemo(() => {
40
40
  const stackHeader = Children.toArray(children).find((child) => isChildOfType(child, StackHeaderComponent));
41
41
  const stackToolbars = Children.toArray(children).filter((child) => isChildOfType(child, StackToolbarComponent));
@@ -63,7 +63,7 @@ const StackWithComposition = React.forwardRef((props, ref) => {
63
63
  return applyComposition({});
64
64
  }, [children, screenOptions]);
65
65
  const processedChildren = useMemo(() => mapChildren(children), [children]);
66
- const navigatorProps = useMemo(() => getStackNavigatorProps(children), [children]);
66
+ const navigatorProps = useMemo(() => getStackNavigatorProps(children, screenLayout), [children, screenLayout]);
67
67
  return /* @__PURE__ */ jsx(RNStack, {
68
68
  ...rest,
69
69
  ...navigatorProps,
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.js","names":[],"sources":["esm/layouts/Stack.js"],"sourcesContent":["import React, { Children, useMemo } from \"react\";\nimport { isChildOfType } from \"../utils/children\";\nimport { Protected } from \"../views/Protected\";\nimport { Screen } from \"../views/Screen\";\nimport { createStackNavigator, getStackNavigatorProps } from \"./stack-navigator\";\nimport {\n appendScreenStackPropsToOptions,\n StackHeader,\n StackHeaderComponent,\n StackHeaderSearchBar,\n StackScreen,\n StackToolbarBadge,\n StackToolbarButton,\n StackToolbarComponent,\n StackToolbarIcon,\n StackToolbarLabel,\n StackToolbarMenu,\n StackToolbarMenuAction,\n StackToolbarSearchBarSlot,\n StackToolbarSpacer,\n appendStackToolbarPropsToOptions\n} from \"./stack-utils\";\nimport { withLayoutContext } from \"./withLayoutContext\";\nimport { jsx } from \"react/jsx-runtime\";\nconst NativeStackNavigator = createStackNavigator().Navigator;\nconst RNStack = withLayoutContext(NativeStackNavigator, void 0, { undeclaredRoutes: true });\nfunction mapChildren(children) {\n return Children.toArray(children).map((child, index) => {\n if (isChildOfType(child, StackScreen)) {\n const options = appendScreenStackPropsToOptions({}, child.props);\n const { children: _, ...rest } = child.props;\n return /* @__PURE__ */ jsx(Screen, { ...rest, options }, child.props.name ?? index);\n }\n if (isChildOfType(child, Protected)) {\n return React.cloneElement(\n child,\n { key: `protected-${index}` },\n mapChildren(child.props.children)\n );\n }\n if (isChildOfType(child, StackHeaderComponent)) {\n return null;\n }\n if (isChildOfType(child, StackToolbarComponent)) {\n return null;\n }\n if (isChildOfType(child, Screen)) {\n return child;\n }\n return null;\n }).filter(Boolean);\n}\nconst StackWithComposition = React.forwardRef(\n (props, ref) => {\n const { children, screenOptions, ...rest } = props;\n const screenOptionsWithHeader = useMemo(() => {\n const stackHeader = Children.toArray(children).find(\n (child) => isChildOfType(child, StackHeaderComponent)\n );\n const stackToolbars = Children.toArray(children).filter(\n (child) => isChildOfType(child, StackToolbarComponent)\n );\n if (!stackHeader && !stackToolbars.length) return screenOptions;\n const applyComposition = (opts) => {\n let result = opts;\n for (const stackToolbar of stackToolbars) {\n result = appendStackToolbarPropsToOptions(\n result,\n stackToolbar.props\n );\n }\n if (stackHeader && isChildOfType(stackHeader, StackHeaderComponent)) {\n const headerProps = { children: stackHeader };\n result = appendScreenStackPropsToOptions(\n result,\n headerProps\n );\n }\n return result;\n };\n if (screenOptions) {\n if (typeof screenOptions === \"function\") {\n return (...args) => {\n const opts = screenOptions(...args);\n return applyComposition(opts);\n };\n }\n return applyComposition(screenOptions);\n }\n return applyComposition({});\n }, [children, screenOptions]);\n const processedChildren = useMemo(() => mapChildren(children), [children]);\n const navigatorProps = useMemo(() => getStackNavigatorProps(children), [children]);\n return /* @__PURE__ */ jsx(\n RNStack,\n {\n ...rest,\n ...navigatorProps,\n ref,\n screenOptions: screenOptionsWithHeader,\n children: processedChildren\n }\n );\n }\n);\nconst StackToolbar = Object.assign(StackToolbarComponent, {\n Button: StackToolbarButton,\n Menu: StackToolbarMenu,\n MenuAction: StackToolbarMenuAction,\n Spacer: StackToolbarSpacer,\n SearchBarSlot: StackToolbarSearchBarSlot,\n Label: StackToolbarLabel,\n Icon: StackToolbarIcon,\n Badge: StackToolbarBadge\n});\nconst Stack = Object.assign(StackWithComposition, {\n Screen: StackScreen,\n Header: StackHeader,\n Toolbar: StackToolbar,\n Protected,\n SearchBar: StackHeaderSearchBar\n});\nvar Stack_default = Stack;\nexport {\n Stack,\n Stack_default as default\n};\n//# sourceMappingURL=Stack.js.map\n"],"mappings":";;;;;;;;;;AAwBA,MAAM,uBAAuB,qBAAqB,CAAC,CAAC;AACpD,MAAM,UAAU,kBAAkB,sBAAsB,KAAK,GAAG,EAAE,kBAAkB,KAAK,CAAC;AAC1F,SAAS,YAAY,UAAU;CAC7B,OAAO,SAAS,QAAQ,QAAQ,CAAC,CAAC,KAAK,OAAO,UAAU;EACtD,IAAI,cAAc,OAAO,WAAW,GAAG;GACrC,MAAM,UAAU,gCAAgC,CAAC,GAAG,MAAM,KAAK;GAC/D,MAAM,EAAE,UAAU,GAAG,GAAG,SAAS,MAAM;GACvC,OAAuB,oBAAI,QAAQ;IAAE,GAAG;IAAM;GAAQ,GAAG,MAAM,MAAM,QAAQ,KAAK;EACpF;EACA,IAAI,cAAc,OAAO,SAAS,GAAG;GACnC,OAAO,MAAM,aACX,OACA,EAAE,KAAK,aAAa,QAAQ,GAC5B,YAAY,MAAM,MAAM,QAAQ,CAClC;EACF;EACA,IAAI,cAAc,OAAO,oBAAoB,GAAG;GAC9C,OAAO;EACT;EACA,IAAI,cAAc,OAAO,qBAAqB,GAAG;GAC/C,OAAO;EACT;EACA,IAAI,cAAc,OAAO,MAAM,GAAG;GAChC,OAAO;EACT;EACA,OAAO;CACT,CAAC,CAAC,CAAC,OAAO,OAAO;AACnB;AACA,MAAM,uBAAuB,MAAM,YAChC,OAAO,QAAQ;CACd,MAAM,EAAE,UAAU,eAAe,GAAG,SAAS;CAC7C,MAAM,0BAA0B,cAAc;EAC5C,MAAM,cAAc,SAAS,QAAQ,QAAQ,CAAC,CAAC,MAC5C,UAAU,cAAc,OAAO,oBAAoB,CACtD;EACA,MAAM,gBAAgB,SAAS,QAAQ,QAAQ,CAAC,CAAC,QAC9C,UAAU,cAAc,OAAO,qBAAqB,CACvD;EACA,IAAI,CAAC,eAAe,CAAC,cAAc,QAAQ,OAAO;EAClD,MAAM,oBAAoB,SAAS;GACjC,IAAI,SAAS;GACb,KAAK,MAAM,gBAAgB,eAAe;IACxC,SAAS,iCACP,QACA,aAAa,KACf;GACF;GACA,IAAI,eAAe,cAAc,aAAa,oBAAoB,GAAG;IACnE,MAAM,cAAc,EAAE,UAAU,YAAY;IAC5C,SAAS,gCACP,QACA,WACF;GACF;GACA,OAAO;EACT;EACA,IAAI,eAAe;GACjB,IAAI,OAAO,kBAAkB,YAAY;IACvC,QAAQ,GAAG,SAAS;KAClB,MAAM,OAAO,cAAc,GAAG,IAAI;KAClC,OAAO,iBAAiB,IAAI;IAC9B;GACF;GACA,OAAO,iBAAiB,aAAa;EACvC;EACA,OAAO,iBAAiB,CAAC,CAAC;CAC5B,GAAG,CAAC,UAAU,aAAa,CAAC;CAC5B,MAAM,oBAAoB,cAAc,YAAY,QAAQ,GAAG,CAAC,QAAQ,CAAC;CACzE,MAAM,iBAAiB,cAAc,uBAAuB,QAAQ,GAAG,CAAC,QAAQ,CAAC;CACjF,OAAuB,oBACrB,SACA;EACE,GAAG;EACH,GAAG;EACH;EACA,eAAe;EACf,UAAU;CACZ,CACF;AACF,CACF;AACA,MAAM,eAAe,OAAO,OAAO,uBAAuB;CACxD,QAAQ;CACR,MAAM;CACN,YAAY;CACZ,QAAQ;CACR,eAAe;CACf,OAAO;CACP,MAAM;CACN,OAAO;AACT,CAAC;AACD,MAAM,QAAQ,OAAO,OAAO,sBAAsB;CAChD,QAAQ;CACR,QAAQ;CACR,SAAS;CACT;CACA,WAAW;AACb,CAAC;AACD,IAAI,gBAAgB"}
1
+ {"version":3,"file":"Stack.js","names":[],"sources":["esm/layouts/Stack.js"],"sourcesContent":["import React, { Children, useMemo } from \"react\";\nimport { isChildOfType } from \"../utils/children\";\nimport { Protected } from \"../views/Protected\";\nimport { Screen } from \"../views/Screen\";\nimport { createStackNavigator, getStackNavigatorProps } from \"./stack-navigator\";\nimport {\n appendScreenStackPropsToOptions,\n StackHeader,\n StackHeaderComponent,\n StackHeaderSearchBar,\n StackScreen,\n StackToolbarBadge,\n StackToolbarButton,\n StackToolbarComponent,\n StackToolbarIcon,\n StackToolbarLabel,\n StackToolbarMenu,\n StackToolbarMenuAction,\n StackToolbarSearchBarSlot,\n StackToolbarSpacer,\n appendStackToolbarPropsToOptions\n} from \"./stack-utils\";\nimport { withLayoutContext } from \"./withLayoutContext\";\nimport { jsx } from \"react/jsx-runtime\";\nconst NativeStackNavigator = createStackNavigator().Navigator;\nconst RNStack = withLayoutContext(NativeStackNavigator, void 0, { undeclaredRoutes: true });\nfunction mapChildren(children) {\n return Children.toArray(children).map((child, index) => {\n if (isChildOfType(child, StackScreen)) {\n const options = appendScreenStackPropsToOptions({}, child.props);\n const { children: _, ...rest } = child.props;\n return /* @__PURE__ */ jsx(Screen, { ...rest, options }, child.props.name ?? index);\n }\n if (isChildOfType(child, Protected)) {\n return React.cloneElement(\n child,\n { key: `protected-${index}` },\n mapChildren(child.props.children)\n );\n }\n if (isChildOfType(child, StackHeaderComponent)) {\n return null;\n }\n if (isChildOfType(child, StackToolbarComponent)) {\n return null;\n }\n if (isChildOfType(child, Screen)) {\n return child;\n }\n return null;\n }).filter(Boolean);\n}\nconst StackWithComposition = React.forwardRef(\n (props, ref) => {\n const { children, screenOptions, screenLayout, ...rest } = props;\n const screenOptionsWithHeader = useMemo(() => {\n const stackHeader = Children.toArray(children).find(\n (child) => isChildOfType(child, StackHeaderComponent)\n );\n const stackToolbars = Children.toArray(children).filter(\n (child) => isChildOfType(child, StackToolbarComponent)\n );\n if (!stackHeader && !stackToolbars.length) return screenOptions;\n const applyComposition = (opts) => {\n let result = opts;\n for (const stackToolbar of stackToolbars) {\n result = appendStackToolbarPropsToOptions(\n result,\n stackToolbar.props\n );\n }\n if (stackHeader && isChildOfType(stackHeader, StackHeaderComponent)) {\n const headerProps = { children: stackHeader };\n result = appendScreenStackPropsToOptions(\n result,\n headerProps\n );\n }\n return result;\n };\n if (screenOptions) {\n if (typeof screenOptions === \"function\") {\n return (...args) => {\n const opts = screenOptions(...args);\n return applyComposition(opts);\n };\n }\n return applyComposition(screenOptions);\n }\n return applyComposition({});\n }, [children, screenOptions]);\n const processedChildren = useMemo(() => mapChildren(children), [children]);\n const navigatorProps = useMemo(\n () => getStackNavigatorProps(children, screenLayout),\n [children, screenLayout]\n );\n return /* @__PURE__ */ jsx(\n RNStack,\n {\n ...rest,\n ...navigatorProps,\n ref,\n screenOptions: screenOptionsWithHeader,\n children: processedChildren\n }\n );\n }\n);\nconst StackToolbar = Object.assign(StackToolbarComponent, {\n Button: StackToolbarButton,\n Menu: StackToolbarMenu,\n MenuAction: StackToolbarMenuAction,\n Spacer: StackToolbarSpacer,\n SearchBarSlot: StackToolbarSearchBarSlot,\n Label: StackToolbarLabel,\n Icon: StackToolbarIcon,\n Badge: StackToolbarBadge\n});\nconst Stack = Object.assign(StackWithComposition, {\n Screen: StackScreen,\n Header: StackHeader,\n Toolbar: StackToolbar,\n Protected,\n SearchBar: StackHeaderSearchBar\n});\nvar Stack_default = Stack;\nexport {\n Stack,\n Stack_default as default\n};\n//# sourceMappingURL=Stack.js.map\n"],"mappings":";;;;;;;;;;AAwBA,MAAM,uBAAuB,qBAAqB,CAAC,CAAC;AACpD,MAAM,UAAU,kBAAkB,sBAAsB,KAAK,GAAG,EAAE,kBAAkB,KAAK,CAAC;AAC1F,SAAS,YAAY,UAAU;CAC7B,OAAO,SAAS,QAAQ,QAAQ,CAAC,CAAC,KAAK,OAAO,UAAU;EACtD,IAAI,cAAc,OAAO,WAAW,GAAG;GACrC,MAAM,UAAU,gCAAgC,CAAC,GAAG,MAAM,KAAK;GAC/D,MAAM,EAAE,UAAU,GAAG,GAAG,SAAS,MAAM;GACvC,OAAuB,oBAAI,QAAQ;IAAE,GAAG;IAAM;GAAQ,GAAG,MAAM,MAAM,QAAQ,KAAK;EACpF;EACA,IAAI,cAAc,OAAO,SAAS,GAAG;GACnC,OAAO,MAAM,aACX,OACA,EAAE,KAAK,aAAa,QAAQ,GAC5B,YAAY,MAAM,MAAM,QAAQ,CAClC;EACF;EACA,IAAI,cAAc,OAAO,oBAAoB,GAAG;GAC9C,OAAO;EACT;EACA,IAAI,cAAc,OAAO,qBAAqB,GAAG;GAC/C,OAAO;EACT;EACA,IAAI,cAAc,OAAO,MAAM,GAAG;GAChC,OAAO;EACT;EACA,OAAO;CACT,CAAC,CAAC,CAAC,OAAO,OAAO;AACnB;AACA,MAAM,uBAAuB,MAAM,YAChC,OAAO,QAAQ;CACd,MAAM,EAAE,UAAU,eAAe,cAAc,GAAG,SAAS;CAC3D,MAAM,0BAA0B,cAAc;EAC5C,MAAM,cAAc,SAAS,QAAQ,QAAQ,CAAC,CAAC,MAC5C,UAAU,cAAc,OAAO,oBAAoB,CACtD;EACA,MAAM,gBAAgB,SAAS,QAAQ,QAAQ,CAAC,CAAC,QAC9C,UAAU,cAAc,OAAO,qBAAqB,CACvD;EACA,IAAI,CAAC,eAAe,CAAC,cAAc,QAAQ,OAAO;EAClD,MAAM,oBAAoB,SAAS;GACjC,IAAI,SAAS;GACb,KAAK,MAAM,gBAAgB,eAAe;IACxC,SAAS,iCACP,QACA,aAAa,KACf;GACF;GACA,IAAI,eAAe,cAAc,aAAa,oBAAoB,GAAG;IACnE,MAAM,cAAc,EAAE,UAAU,YAAY;IAC5C,SAAS,gCACP,QACA,WACF;GACF;GACA,OAAO;EACT;EACA,IAAI,eAAe;GACjB,IAAI,OAAO,kBAAkB,YAAY;IACvC,QAAQ,GAAG,SAAS;KAClB,MAAM,OAAO,cAAc,GAAG,IAAI;KAClC,OAAO,iBAAiB,IAAI;IAC9B;GACF;GACA,OAAO,iBAAiB,aAAa;EACvC;EACA,OAAO,iBAAiB,CAAC,CAAC;CAC5B,GAAG,CAAC,UAAU,aAAa,CAAC;CAC5B,MAAM,oBAAoB,cAAc,YAAY,QAAQ,GAAG,CAAC,QAAQ,CAAC;CACzE,MAAM,iBAAiB,cACf,uBAAuB,UAAU,YAAY,GACnD,CAAC,UAAU,YAAY,CACzB;CACA,OAAuB,oBACrB,SACA;EACE,GAAG;EACH,GAAG;EACH;EACA,eAAe;EACf,UAAU;CACZ,CACF;AACF,CACF;AACA,MAAM,eAAe,OAAO,OAAO,uBAAuB;CACxD,QAAQ;CACR,MAAM;CACN,YAAY;CACZ,QAAQ;CACR,eAAe;CACf,OAAO;CACP,MAAM;CACN,OAAO;AACT,CAAC;AACD,MAAM,QAAQ,OAAO,OAAO,sBAAsB;CAChD,QAAQ;CACR,QAAQ;CACR,SAAS;CACT;CACA,WAAW;AACb,CAAC;AACD,IAAI,gBAAgB"}
@@ -36,7 +36,7 @@ function mapChildren(children) {
36
36
  }).filter(Boolean);
37
37
  }
38
38
  var StackWithComposition = /* @__PURE__ */ React.forwardRef(function(props, ref) {
39
- var { children, screenOptions, ...rest } = props;
39
+ var { children, screenOptions, screenLayout, ...rest } = props;
40
40
  var screenOptionsWithHeader = useMemo(function() {
41
41
  var stackHeader = Children.toArray(children).find(function(child) {
42
42
  return isChildOfType(child, StackHeaderComponent);
@@ -91,8 +91,8 @@ var StackWithComposition = /* @__PURE__ */ React.forwardRef(function(props, ref)
91
91
  return mapChildren(children);
92
92
  }, [children]);
93
93
  var navigatorProps = useMemo(function() {
94
- return getStackNavigatorProps(children);
95
- }, [children]);
94
+ return getStackNavigatorProps(children, screenLayout);
95
+ }, [children, screenLayout]);
96
96
  return /* @__PURE__ */ jsx(RNStack, {
97
97
  ...rest,
98
98
  ...navigatorProps,
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.native.js","names":[],"sources":["esm/layouts/Stack.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React, { Children, useMemo } from \"react\";\nimport { isChildOfType } from \"../utils/children\";\nimport { Protected } from \"../views/Protected\";\nimport { Screen } from \"../views/Screen\";\nimport { createStackNavigator, getStackNavigatorProps } from \"./stack-navigator\";\nimport { appendScreenStackPropsToOptions, StackHeader, StackHeaderComponent, StackHeaderSearchBar, StackScreen, StackToolbarBadge, StackToolbarButton, StackToolbarComponent, StackToolbarIcon, StackToolbarLabel, StackToolbarMenu, StackToolbarMenuAction, StackToolbarSearchBarSlot, StackToolbarSpacer, appendStackToolbarPropsToOptions } from \"./stack-utils\";\nimport { withLayoutContext } from \"./withLayoutContext\";\nvar NativeStackNavigator = createStackNavigator().Navigator;\nvar RNStack = withLayoutContext(NativeStackNavigator, void 0, {\n undeclaredRoutes: true\n});\nfunction mapChildren(children) {\n return Children.toArray(children).map(function(child, index) {\n if (isChildOfType(child, StackScreen)) {\n var _child_props_name;\n var options = appendScreenStackPropsToOptions({}, child.props);\n var { children: _, ...rest } = child.props;\n return /* @__PURE__ */ _jsx(Screen, {\n ...rest,\n options\n }, (_child_props_name = child.props.name) !== null && _child_props_name !== void 0 ? _child_props_name : index);\n }\n if (isChildOfType(child, Protected)) {\n return /* @__PURE__ */ React.cloneElement(child, {\n key: `protected-${index}`\n }, mapChildren(child.props.children));\n }\n if (isChildOfType(child, StackHeaderComponent)) {\n return null;\n }\n if (isChildOfType(child, StackToolbarComponent)) {\n return null;\n }\n if (isChildOfType(child, Screen)) {\n return child;\n }\n return null;\n }).filter(Boolean);\n}\nvar StackWithComposition = /* @__PURE__ */ React.forwardRef(function(props, ref) {\n var { children, screenOptions, ...rest } = props;\n var screenOptionsWithHeader = useMemo(function() {\n var stackHeader = Children.toArray(children).find(function(child) {\n return isChildOfType(child, StackHeaderComponent);\n });\n var stackToolbars = Children.toArray(children).filter(function(child) {\n return isChildOfType(child, StackToolbarComponent);\n });\n if (!stackHeader && !stackToolbars.length) return screenOptions;\n var applyComposition = function applyComposition2(opts) {\n var result = opts;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = stackToolbars[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var stackToolbar = _step.value;\n result = appendStackToolbarPropsToOptions(result, stackToolbar.props);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (stackHeader && isChildOfType(stackHeader, StackHeaderComponent)) {\n var headerProps = {\n children: stackHeader\n };\n result = appendScreenStackPropsToOptions(result, headerProps);\n }\n return result;\n };\n if (screenOptions) {\n if (typeof screenOptions === \"function\") {\n return function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var opts = screenOptions(...args);\n return applyComposition(opts);\n };\n }\n return applyComposition(screenOptions);\n }\n return applyComposition({});\n }, [\n children,\n screenOptions\n ]);\n var processedChildren = useMemo(function() {\n return mapChildren(children);\n }, [\n children\n ]);\n var navigatorProps = useMemo(function() {\n return getStackNavigatorProps(children);\n }, [\n children\n ]);\n return /* @__PURE__ */ _jsx(RNStack, {\n ...rest,\n ...navigatorProps,\n ref,\n screenOptions: screenOptionsWithHeader,\n children: processedChildren\n });\n});\nvar StackToolbar = Object.assign(StackToolbarComponent, {\n Button: StackToolbarButton,\n Menu: StackToolbarMenu,\n MenuAction: StackToolbarMenuAction,\n Spacer: StackToolbarSpacer,\n SearchBarSlot: StackToolbarSearchBarSlot,\n Label: StackToolbarLabel,\n Icon: StackToolbarIcon,\n Badge: StackToolbarBadge\n});\nvar Stack = Object.assign(StackWithComposition, {\n Screen: StackScreen,\n Header: StackHeader,\n Toolbar: StackToolbar,\n Protected,\n SearchBar: StackHeaderSearchBar\n});\nvar Stack_default = Stack;\nexport {\n Stack,\n Stack_default as default\n};\n//# sourceMappingURL=Stack.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"Stack.native.js","names":[],"sources":["esm/layouts/Stack.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React, { Children, useMemo } from \"react\";\nimport { isChildOfType } from \"../utils/children\";\nimport { Protected } from \"../views/Protected\";\nimport { Screen } from \"../views/Screen\";\nimport { createStackNavigator, getStackNavigatorProps } from \"./stack-navigator\";\nimport { appendScreenStackPropsToOptions, StackHeader, StackHeaderComponent, StackHeaderSearchBar, StackScreen, StackToolbarBadge, StackToolbarButton, StackToolbarComponent, StackToolbarIcon, StackToolbarLabel, StackToolbarMenu, StackToolbarMenuAction, StackToolbarSearchBarSlot, StackToolbarSpacer, appendStackToolbarPropsToOptions } from \"./stack-utils\";\nimport { withLayoutContext } from \"./withLayoutContext\";\nvar NativeStackNavigator = createStackNavigator().Navigator;\nvar RNStack = withLayoutContext(NativeStackNavigator, void 0, {\n undeclaredRoutes: true\n});\nfunction mapChildren(children) {\n return Children.toArray(children).map(function(child, index) {\n if (isChildOfType(child, StackScreen)) {\n var _child_props_name;\n var options = appendScreenStackPropsToOptions({}, child.props);\n var { children: _, ...rest } = child.props;\n return /* @__PURE__ */ _jsx(Screen, {\n ...rest,\n options\n }, (_child_props_name = child.props.name) !== null && _child_props_name !== void 0 ? _child_props_name : index);\n }\n if (isChildOfType(child, Protected)) {\n return /* @__PURE__ */ React.cloneElement(child, {\n key: `protected-${index}`\n }, mapChildren(child.props.children));\n }\n if (isChildOfType(child, StackHeaderComponent)) {\n return null;\n }\n if (isChildOfType(child, StackToolbarComponent)) {\n return null;\n }\n if (isChildOfType(child, Screen)) {\n return child;\n }\n return null;\n }).filter(Boolean);\n}\nvar StackWithComposition = /* @__PURE__ */ React.forwardRef(function(props, ref) {\n var { children, screenOptions, screenLayout, ...rest } = props;\n var screenOptionsWithHeader = useMemo(function() {\n var stackHeader = Children.toArray(children).find(function(child) {\n return isChildOfType(child, StackHeaderComponent);\n });\n var stackToolbars = Children.toArray(children).filter(function(child) {\n return isChildOfType(child, StackToolbarComponent);\n });\n if (!stackHeader && !stackToolbars.length) return screenOptions;\n var applyComposition = function applyComposition2(opts) {\n var result = opts;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = stackToolbars[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var stackToolbar = _step.value;\n result = appendStackToolbarPropsToOptions(result, stackToolbar.props);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (stackHeader && isChildOfType(stackHeader, StackHeaderComponent)) {\n var headerProps = {\n children: stackHeader\n };\n result = appendScreenStackPropsToOptions(result, headerProps);\n }\n return result;\n };\n if (screenOptions) {\n if (typeof screenOptions === \"function\") {\n return function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var opts = screenOptions(...args);\n return applyComposition(opts);\n };\n }\n return applyComposition(screenOptions);\n }\n return applyComposition({});\n }, [\n children,\n screenOptions\n ]);\n var processedChildren = useMemo(function() {\n return mapChildren(children);\n }, [\n children\n ]);\n var navigatorProps = useMemo(function() {\n return getStackNavigatorProps(children, screenLayout);\n }, [\n children,\n screenLayout\n ]);\n return /* @__PURE__ */ _jsx(RNStack, {\n ...rest,\n ...navigatorProps,\n ref,\n screenOptions: screenOptionsWithHeader,\n children: processedChildren\n });\n});\nvar StackToolbar = Object.assign(StackToolbarComponent, {\n Button: StackToolbarButton,\n Menu: StackToolbarMenu,\n MenuAction: StackToolbarMenuAction,\n Spacer: StackToolbarSpacer,\n SearchBarSlot: StackToolbarSearchBarSlot,\n Label: StackToolbarLabel,\n Icon: StackToolbarIcon,\n Badge: StackToolbarBadge\n});\nvar Stack = Object.assign(StackWithComposition, {\n Screen: StackScreen,\n Header: StackHeader,\n Toolbar: StackToolbar,\n Protected,\n SearchBar: StackHeaderSearchBar\n});\nvar Stack_default = Stack;\nexport {\n Stack,\n Stack_default as default\n};\n//# sourceMappingURL=Stack.js.map\n"],"mappings":"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"}
@@ -2,9 +2,12 @@ import { getCustomNavigatorChildren } from "../headless/children.mjs";
2
2
  import { createWebStackNavigator } from "../router/web/WebStackNavigator.mjs";
3
3
 
4
4
  const createStackNavigator = createWebStackNavigator;
5
- function getStackNavigatorProps(children) {
5
+ function getStackNavigatorProps(children, screenLayout) {
6
6
  const headlessChildren = getCustomNavigatorChildren(children);
7
- return headlessChildren.length ? { headlessChildren } : {};
7
+ return {
8
+ ...screenLayout ? { screenLayout } : null,
9
+ ...headlessChildren.length ? { headlessChildren } : null
10
+ };
8
11
  }
9
12
 
10
13
  export { createStackNavigator, getStackNavigatorProps };
@@ -1 +1 @@
1
- {"version":3,"file":"stack-navigator.js","names":[],"sources":["esm/layouts/stack-navigator.js"],"sourcesContent":["import { getCustomNavigatorChildren } from \"../headless/children\";\nimport { createWebStackNavigator } from \"../router/web/WebStackNavigator\";\nconst createStackNavigator = createWebStackNavigator;\nfunction getStackNavigatorProps(children) {\n const headlessChildren = getCustomNavigatorChildren(children);\n return headlessChildren.length ? { headlessChildren } : {};\n}\nexport {\n createStackNavigator,\n getStackNavigatorProps\n};\n//# sourceMappingURL=stack-navigator.web.js.map\n"],"mappings":";;;;AAEA,MAAM,uBAAuB;AAC7B,SAAS,uBAAuB,UAAU;CACxC,MAAM,mBAAmB,2BAA2B,QAAQ;CAC5D,OAAO,iBAAiB,SAAS,EAAE,iBAAiB,IAAI,CAAC;AAC3D"}
1
+ {"version":3,"file":"stack-navigator.js","names":[],"sources":["esm/layouts/stack-navigator.js"],"sourcesContent":["import { getCustomNavigatorChildren } from \"../headless/children\";\nimport { createWebStackNavigator } from \"../router/web/WebStackNavigator\";\nconst createStackNavigator = createWebStackNavigator;\nfunction getStackNavigatorProps(children, screenLayout) {\n const headlessChildren = getCustomNavigatorChildren(children);\n return {\n ...screenLayout ? { screenLayout } : null,\n ...headlessChildren.length ? { headlessChildren } : null\n };\n}\nexport {\n createStackNavigator,\n getStackNavigatorProps\n};\n//# sourceMappingURL=stack-navigator.web.js.map\n"],"mappings":";;;;AAEA,MAAM,uBAAuB;AAC7B,SAAS,uBAAuB,UAAU,cAAc;CACtD,MAAM,mBAAmB,2BAA2B,QAAQ;CAC5D,OAAO;EACL,GAAG,eAAe,EAAE,aAAa,IAAI;EACrC,GAAG,iBAAiB,SAAS,EAAE,iBAAiB,IAAI;CACtD;AACF"}
@@ -1,8 +1,20 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import { createNativeStackNavigator } from "@react-navigation/native-stack";
3
+ import { useIsFocused } from "@react-navigation/native";
4
+ import { SharedTransitionBoundary } from "react-native-reanimated";
2
5
 
3
6
  var createStackNavigator = createNativeStackNavigator;
4
- function getStackNavigatorProps(_children) {
5
- return {};
7
+ function SharedTransitionScreen(param) {
8
+ var { children } = param;
9
+ return /* @__PURE__ */ jsx(SharedTransitionBoundary, {
10
+ isActive: useIsFocused(),
11
+ children
12
+ });
13
+ }
14
+ function getStackNavigatorProps(_children, screenLayout) {
15
+ return { screenLayout: function screenLayout1(props) {
16
+ return /* @__PURE__ */ jsx(SharedTransitionScreen, { children: screenLayout ? screenLayout(props) : props.children });
17
+ } };
6
18
  }
7
19
 
8
20
  export { createStackNavigator, getStackNavigatorProps };
@@ -1 +1 @@
1
- {"version":3,"file":"stack-navigator.native.js","names":[],"sources":["esm/layouts/stack-navigator.native.js"],"sourcesContent":["import { createNativeStackNavigator } from \"@react-navigation/native-stack\";\nvar createStackNavigator = createNativeStackNavigator;\nfunction getStackNavigatorProps(_children) {\n return {};\n}\nexport {\n createStackNavigator,\n getStackNavigatorProps\n};\n//# sourceMappingURL=stack-navigator.js.map\n"],"mappings":";;;AACA,IAAI,uBAAuB;AAC3B,SAAS,uBAAuB,WAAW;CACzC,OAAO,CAAC;AACV"}
1
+ {"version":3,"file":"stack-navigator.native.js","names":[],"sources":["esm/layouts/stack-navigator.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createNativeStackNavigator } from \"@react-navigation/native-stack\";\nimport { useIsFocused } from \"@react-navigation/native\";\nimport { SharedTransitionBoundary } from \"react-native-reanimated\";\nvar createStackNavigator = createNativeStackNavigator;\nfunction SharedTransitionScreen(param) {\n var { children } = param;\n return /* @__PURE__ */ _jsx(SharedTransitionBoundary, {\n isActive: useIsFocused(),\n children\n });\n}\nfunction getStackNavigatorProps(_children, screenLayout) {\n return {\n screenLayout: function screenLayout1(props) {\n return /* @__PURE__ */ _jsx(SharedTransitionScreen, {\n children: screenLayout ? screenLayout(props) : props.children\n });\n }\n };\n}\nexport {\n createStackNavigator,\n getStackNavigatorProps\n};\n//# sourceMappingURL=stack-navigator.js.map\n"],"mappings":";;;;;;AAIA,IAAI,uBAAuB;AAC3B,SAAS,uBAAuB,OAAO;CACrC,IAAI,EAAE,aAAa;CACnB,OAAuB,oBAAK,0BAA0B;EACpD,UAAU,aAAa;EACvB;CACF,CAAC;AACH;AACA,SAAS,uBAAuB,WAAW,cAAc;CACvD,OAAO,EACL,cAAc,SAAS,cAAc,OAAO;EAC1C,OAAuB,oBAAK,wBAAwB,EAClD,UAAU,eAAe,aAAa,KAAK,IAAI,MAAM,SACvD,CAAC;CACH,EACF;AACF"}
@@ -4,7 +4,7 @@ import { absorbedPackageAliases } from "../utils/absorbedPackages.mjs";
4
4
 
5
5
  function buildOneMetroResolverOverrides({ projectRoot }) {
6
6
  const require2 = module.createRequire(projectRoot + "/");
7
- const emptyPath = require2.resolve("@vxrn/vite-plugin-metro/empty", { paths: [projectRoot] });
7
+ const emptyPath = require2.resolve("@vxrn/utils/empty", { paths: [projectRoot] });
8
8
  const projectPackagePath = path.join(projectRoot, "package.json");
9
9
  const absorbed = absorbedPackageAliases(projectRoot, "native");
10
10
  return (defaultConfig) => {
@@ -1 +1 @@
1
- {"version":3,"file":"buildOneMetroResolverOverrides.js","names":[],"sources":["esm/metro-config/buildOneMetroResolverOverrides.js"],"sourcesContent":["import module from \"node:module\";\nimport path from \"node:path\";\nimport { absorbedPackageAliases } from \"../utils/absorbedPackages\";\nfunction buildOneMetroResolverOverrides({\n projectRoot\n}) {\n const require2 = module.createRequire(projectRoot + \"/\");\n const emptyPath = require2.resolve(\"@vxrn/vite-plugin-metro/empty\", {\n paths: [projectRoot]\n });\n const projectPackagePath = path.join(projectRoot, \"package.json\");\n const absorbed = absorbedPackageAliases(projectRoot, \"native\");\n return (defaultConfig) => {\n const resolver = {\n ...defaultConfig?.resolver,\n assetExts: [.../* @__PURE__ */ new Set([...defaultConfig?.resolver?.assetExts ?? [], \"txt\"])],\n extraNodeModules: {\n ...defaultConfig?.resolver?.extraNodeModules\n },\n nodeModulesPaths: defaultConfig?.resolver?.nodeModulesPaths,\n resolveRequest: (context, moduleName, platform) => {\n const defaultResolveRequest = defaultConfig?.resolver?.resolveRequest || context.resolveRequest;\n if (moduleName === \"react-native-worklets\" || moduleName.startsWith(\"react-native-worklets/\")) {\n return defaultResolveRequest(\n { ...context, originModulePath: projectPackagePath },\n moduleName,\n platform\n );\n }\n if (moduleName in absorbed) {\n return { type: \"sourceFile\", filePath: absorbed[moduleName] };\n }\n if (moduleName.endsWith(\".css\")) {\n return {\n type: \"sourceFile\",\n filePath: emptyPath\n };\n }\n if (/_middleware.tsx?$/.test(moduleName)) {\n return {\n type: \"sourceFile\",\n filePath: emptyPath\n };\n }\n if (/\\.server(\\.[jt]sx?)?$/.test(moduleName)) {\n return {\n type: \"sourceFile\",\n filePath: emptyPath\n };\n }\n if (moduleName === \"react-native-svg\") {\n const res2 = defaultResolveRequest(context, moduleName, platform);\n const svgSrcSuffix = `${path.sep}src${path.sep}index.ts`;\n if (res2 && \"filePath\" in res2 && res2.filePath.includes(svgSrcSuffix)) {\n return {\n ...res2,\n filePath: res2.filePath.replace(\n svgSrcSuffix,\n `${path.sep}lib${path.sep}commonjs${path.sep}index.js`\n )\n };\n }\n return res2;\n }\n const res = defaultResolveRequest(context, moduleName, platform);\n if (res && \"filePath\" in res && /\\.server\\.[jt]sx?$/.test(res.filePath)) {\n return { type: \"sourceFile\", filePath: emptyPath };\n }\n return res;\n }\n };\n return {\n ...defaultConfig,\n resolver\n };\n };\n}\nexport {\n buildOneMetroResolverOverrides\n};\n//# sourceMappingURL=buildOneMetroResolverOverrides.js.map\n"],"mappings":";;;;;AAGA,SAAS,+BAA+B,EACtC,eACC;CACD,MAAM,WAAW,OAAO,cAAc,cAAc,GAAG;CACvD,MAAM,YAAY,SAAS,QAAQ,iCAAiC,EAClE,OAAO,CAAC,WAAW,EACrB,CAAC;CACD,MAAM,qBAAqB,KAAK,KAAK,aAAa,cAAc;CAChE,MAAM,WAAW,uBAAuB,aAAa,QAAQ;CAC7D,QAAQ,kBAAkB;EACxB,MAAM,WAAW;GACf,GAAG,eAAe;GAClB,WAAW,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,eAAe,UAAU,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC;GAC5F,kBAAkB,EAChB,GAAG,eAAe,UAAU,iBAC9B;GACA,kBAAkB,eAAe,UAAU;GAC3C,iBAAiB,SAAS,YAAY,aAAa;IACjD,MAAM,wBAAwB,eAAe,UAAU,kBAAkB,QAAQ;IACjF,IAAI,eAAe,2BAA2B,WAAW,WAAW,wBAAwB,GAAG;KAC7F,OAAO,sBACL;MAAE,GAAG;MAAS,kBAAkB;KAAmB,GACnD,YACA,QACF;IACF;IACA,IAAI,cAAc,UAAU;KAC1B,OAAO;MAAE,MAAM;MAAc,UAAU,SAAS;KAAY;IAC9D;IACA,IAAI,WAAW,SAAS,MAAM,GAAG;KAC/B,OAAO;MACL,MAAM;MACN,UAAU;KACZ;IACF;IACA,IAAI,oBAAoB,KAAK,UAAU,GAAG;KACxC,OAAO;MACL,MAAM;MACN,UAAU;KACZ;IACF;IACA,IAAI,wBAAwB,KAAK,UAAU,GAAG;KAC5C,OAAO;MACL,MAAM;MACN,UAAU;KACZ;IACF;IACA,IAAI,eAAe,oBAAoB;KACrC,MAAM,OAAO,sBAAsB,SAAS,YAAY,QAAQ;KAChE,MAAM,eAAe,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI;KAC/C,IAAI,QAAQ,cAAc,QAAQ,KAAK,SAAS,SAAS,YAAY,GAAG;MACtE,OAAO;OACL,GAAG;OACH,UAAU,KAAK,SAAS,QACtB,cACA,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,SAC/C;MACF;KACF;KACA,OAAO;IACT;IACA,MAAM,MAAM,sBAAsB,SAAS,YAAY,QAAQ;IAC/D,IAAI,OAAO,cAAc,OAAO,qBAAqB,KAAK,IAAI,QAAQ,GAAG;KACvE,OAAO;MAAE,MAAM;MAAc,UAAU;KAAU;IACnD;IACA,OAAO;GACT;EACF;EACA,OAAO;GACL,GAAG;GACH;EACF;CACF;AACF"}
1
+ {"version":3,"file":"buildOneMetroResolverOverrides.js","names":[],"sources":["esm/metro-config/buildOneMetroResolverOverrides.js"],"sourcesContent":["import module from \"node:module\";\nimport path from \"node:path\";\nimport { absorbedPackageAliases } from \"../utils/absorbedPackages\";\nfunction buildOneMetroResolverOverrides({\n projectRoot\n}) {\n const require2 = module.createRequire(projectRoot + \"/\");\n const emptyPath = require2.resolve(\"@vxrn/utils/empty\", {\n paths: [projectRoot]\n });\n const projectPackagePath = path.join(projectRoot, \"package.json\");\n const absorbed = absorbedPackageAliases(projectRoot, \"native\");\n return (defaultConfig) => {\n const resolver = {\n ...defaultConfig?.resolver,\n assetExts: [.../* @__PURE__ */ new Set([...defaultConfig?.resolver?.assetExts ?? [], \"txt\"])],\n extraNodeModules: {\n ...defaultConfig?.resolver?.extraNodeModules\n },\n nodeModulesPaths: defaultConfig?.resolver?.nodeModulesPaths,\n resolveRequest: (context, moduleName, platform) => {\n const defaultResolveRequest = defaultConfig?.resolver?.resolveRequest || context.resolveRequest;\n if (moduleName === \"react-native-worklets\" || moduleName.startsWith(\"react-native-worklets/\")) {\n return defaultResolveRequest(\n { ...context, originModulePath: projectPackagePath },\n moduleName,\n platform\n );\n }\n if (moduleName in absorbed) {\n return { type: \"sourceFile\", filePath: absorbed[moduleName] };\n }\n if (moduleName.endsWith(\".css\")) {\n return {\n type: \"sourceFile\",\n filePath: emptyPath\n };\n }\n if (/_middleware.tsx?$/.test(moduleName)) {\n return {\n type: \"sourceFile\",\n filePath: emptyPath\n };\n }\n if (/\\.server(\\.[jt]sx?)?$/.test(moduleName)) {\n return {\n type: \"sourceFile\",\n filePath: emptyPath\n };\n }\n if (moduleName === \"react-native-svg\") {\n const res2 = defaultResolveRequest(context, moduleName, platform);\n const svgSrcSuffix = `${path.sep}src${path.sep}index.ts`;\n if (res2 && \"filePath\" in res2 && res2.filePath.includes(svgSrcSuffix)) {\n return {\n ...res2,\n filePath: res2.filePath.replace(\n svgSrcSuffix,\n `${path.sep}lib${path.sep}commonjs${path.sep}index.js`\n )\n };\n }\n return res2;\n }\n const res = defaultResolveRequest(context, moduleName, platform);\n if (res && \"filePath\" in res && /\\.server\\.[jt]sx?$/.test(res.filePath)) {\n return { type: \"sourceFile\", filePath: emptyPath };\n }\n return res;\n }\n };\n return {\n ...defaultConfig,\n resolver\n };\n };\n}\nexport {\n buildOneMetroResolverOverrides\n};\n//# sourceMappingURL=buildOneMetroResolverOverrides.js.map\n"],"mappings":";;;;;AAGA,SAAS,+BAA+B,EACtC,eACC;CACD,MAAM,WAAW,OAAO,cAAc,cAAc,GAAG;CACvD,MAAM,YAAY,SAAS,QAAQ,qBAAqB,EACtD,OAAO,CAAC,WAAW,EACrB,CAAC;CACD,MAAM,qBAAqB,KAAK,KAAK,aAAa,cAAc;CAChE,MAAM,WAAW,uBAAuB,aAAa,QAAQ;CAC7D,QAAQ,kBAAkB;EACxB,MAAM,WAAW;GACf,GAAG,eAAe;GAClB,WAAW,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,eAAe,UAAU,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC;GAC5F,kBAAkB,EAChB,GAAG,eAAe,UAAU,iBAC9B;GACA,kBAAkB,eAAe,UAAU;GAC3C,iBAAiB,SAAS,YAAY,aAAa;IACjD,MAAM,wBAAwB,eAAe,UAAU,kBAAkB,QAAQ;IACjF,IAAI,eAAe,2BAA2B,WAAW,WAAW,wBAAwB,GAAG;KAC7F,OAAO,sBACL;MAAE,GAAG;MAAS,kBAAkB;KAAmB,GACnD,YACA,QACF;IACF;IACA,IAAI,cAAc,UAAU;KAC1B,OAAO;MAAE,MAAM;MAAc,UAAU,SAAS;KAAY;IAC9D;IACA,IAAI,WAAW,SAAS,MAAM,GAAG;KAC/B,OAAO;MACL,MAAM;MACN,UAAU;KACZ;IACF;IACA,IAAI,oBAAoB,KAAK,UAAU,GAAG;KACxC,OAAO;MACL,MAAM;MACN,UAAU;KACZ;IACF;IACA,IAAI,wBAAwB,KAAK,UAAU,GAAG;KAC5C,OAAO;MACL,MAAM;MACN,UAAU;KACZ;IACF;IACA,IAAI,eAAe,oBAAoB;KACrC,MAAM,OAAO,sBAAsB,SAAS,YAAY,QAAQ;KAChE,MAAM,eAAe,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI;KAC/C,IAAI,QAAQ,cAAc,QAAQ,KAAK,SAAS,SAAS,YAAY,GAAG;MACtE,OAAO;OACL,GAAG;OACH,UAAU,KAAK,SAAS,QACtB,cACA,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,SAC/C;MACF;KACF;KACA,OAAO;IACT;IACA,MAAM,MAAM,sBAAsB,SAAS,YAAY,QAAQ;IAC/D,IAAI,OAAO,cAAc,OAAO,qBAAqB,KAAK,IAAI,QAAQ,GAAG;KACvE,OAAO;MAAE,MAAM;MAAc,UAAU;KAAU;IACnD;IACA,OAAO;GACT;EACF;EACA,OAAO;GACL,GAAG;GACH;EACF;CACF;AACF"}
@@ -5,7 +5,7 @@ import { absorbedPackageAliases } from "../utils/absorbedPackages.native.js";
5
5
  function buildOneMetroResolverOverrides(param) {
6
6
  var { projectRoot } = param;
7
7
  var require2 = module.createRequire(projectRoot + "/");
8
- var emptyPath = require2.resolve("@vxrn/vite-plugin-metro/empty", { paths: [projectRoot] });
8
+ var emptyPath = require2.resolve("@vxrn/utils/empty", { paths: [projectRoot] });
9
9
  var projectPackagePath = path.join(projectRoot, "package.json");
10
10
  var absorbed = absorbedPackageAliases(projectRoot, "native");
11
11
  return function(defaultConfig) {