one 1.21.13 → 1.23.0

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 (750) hide show
  1. package/dist/cjs/Root.cjs +2 -2
  2. package/dist/cjs/Root.native.js +2 -2
  3. package/dist/cjs/Root.native.js.map +1 -1
  4. package/dist/cjs/cli/build.cjs +9 -17
  5. package/dist/cjs/cli/build.native.js +8 -16
  6. package/dist/cjs/cli/build.native.js.map +1 -1
  7. package/dist/cjs/cli.native.js.map +1 -1
  8. package/dist/cjs/clientLoaderResolver.native.js.map +1 -1
  9. package/dist/cjs/config.native.js.map +1 -1
  10. package/dist/cjs/constants.native.js.map +1 -1
  11. package/dist/cjs/constants.test.native.js.map +1 -1
  12. package/dist/cjs/createAPIRoute.native.js.map +1 -1
  13. package/dist/cjs/createApp.cjs +12 -35
  14. package/dist/cjs/createHandleRequest.cjs +4 -2
  15. package/dist/cjs/createHandleRequest.native.js +4 -2
  16. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  17. package/dist/cjs/fallbackViews/Sitemap.cjs +123 -55
  18. package/dist/cjs/fallbackViews/Sitemap.native.js.map +1 -1
  19. package/dist/cjs/fallbackViews/Unmatched.cjs +92 -37
  20. package/dist/cjs/fallbackViews/Unmatched.native.js.map +1 -1
  21. package/dist/cjs/fork/NavigationContainer.cjs +6 -28
  22. package/dist/cjs/fork/NavigationContainer.native.js +5 -27
  23. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  24. package/dist/cjs/{router/renderingRegistry.cjs → fork/localeDirection.cjs} +6 -29
  25. package/dist/cjs/{router/web/ScreenRenderContext.cjs → fork/localeDirection.native.js} +10 -12
  26. package/dist/cjs/fork/localeDirection.native.js.map +1 -0
  27. package/dist/cjs/fork/theme.cjs +71 -0
  28. package/dist/cjs/{router/renderingRegistry.native.js → fork/theme.native.js} +7 -31
  29. package/dist/cjs/fork/theme.native.js.map +1 -0
  30. package/dist/cjs/headless/Presentations.cjs +51 -0
  31. package/dist/cjs/headless/Presentations.native.js +56 -0
  32. package/dist/cjs/headless/Presentations.native.js.map +1 -0
  33. package/dist/cjs/headless/children.cjs +43 -0
  34. package/dist/cjs/headless/children.native.js +46 -0
  35. package/dist/cjs/headless/children.native.js.map +1 -0
  36. package/dist/cjs/headless/devHeadlessNote.cjs +34 -0
  37. package/dist/cjs/{router/web/ScreenRenderContext.native.js → headless/devHeadlessNote.native.js} +11 -12
  38. package/dist/cjs/headless/devHeadlessNote.native.js.map +1 -0
  39. package/dist/cjs/headless/keepMounted.cjs +58 -0
  40. package/dist/cjs/headless/keepMounted.native.js +64 -0
  41. package/dist/cjs/headless/keepMounted.native.js.map +1 -0
  42. package/dist/cjs/headless/types.cjs +18 -0
  43. package/dist/cjs/headless/types.native.js +21 -0
  44. package/dist/cjs/headless/types.native.js.map +1 -0
  45. package/dist/cjs/headless/useDrawer.cjs +83 -0
  46. package/dist/cjs/headless/useDrawer.native.js +95 -0
  47. package/dist/cjs/headless/useDrawer.native.js.map +1 -0
  48. package/dist/cjs/headless/useStack.cjs +75 -0
  49. package/dist/cjs/headless/useStack.native.js +79 -0
  50. package/dist/cjs/headless/useStack.native.js.map +1 -0
  51. package/dist/cjs/headless/useTabs.cjs +62 -0
  52. package/dist/cjs/headless/useTabs.native.js +65 -0
  53. package/dist/cjs/headless/useTabs.native.js.map +1 -0
  54. package/dist/cjs/index.cjs +8 -3
  55. package/dist/cjs/index.native.js +8 -3
  56. package/dist/cjs/index.native.js.map +1 -1
  57. package/dist/cjs/layouts/Drawer.cjs +71 -42
  58. package/dist/cjs/layouts/Drawer.native.js +1 -25
  59. package/dist/cjs/layouts/Drawer.native.js.map +1 -1
  60. package/dist/cjs/layouts/Stack.cjs +9 -13
  61. package/dist/cjs/layouts/Stack.native.js +11 -13
  62. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  63. package/dist/cjs/layouts/Tabs.cjs +104 -88
  64. package/dist/cjs/layouts/Tabs.native.js +1 -13
  65. package/dist/cjs/layouts/Tabs.native.js.map +1 -1
  66. package/dist/cjs/layouts/stack-navigator.cjs +10 -2
  67. package/dist/cjs/layouts/stack-navigator.native.js +5 -1
  68. package/dist/cjs/layouts/stack-navigator.native.js.map +1 -1
  69. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.cjs +4 -0
  70. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js +4 -0
  71. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -1
  72. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.cjs +13 -9
  73. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js +13 -9
  74. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -1
  75. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.cjs +4 -0
  76. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js +4 -0
  77. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -1
  78. package/dist/cjs/layouts/stack-utils/StackHeaderRight.cjs +4 -0
  79. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js +4 -0
  80. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js.map +1 -1
  81. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.cjs +4 -0
  82. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js +4 -0
  83. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -1
  84. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.cjs +8 -4
  85. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js +8 -4
  86. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
  87. package/dist/cjs/layouts/stack-utils/StackScreen.cjs +10 -23
  88. package/dist/cjs/layouts/stack-utils/StackScreen.native.js +21 -27
  89. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
  90. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.cjs +11 -6
  91. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js +15 -6
  92. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  93. package/dist/cjs/layouts/stack-utils/index.cjs +2 -0
  94. package/dist/cjs/layouts/stack-utils/index.native.js +2 -0
  95. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  96. package/dist/cjs/layouts/withLayoutContext.cjs +2 -2
  97. package/dist/cjs/layouts/withLayoutContext.native.js +2 -2
  98. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  99. package/dist/cjs/link/Link.cjs +55 -69
  100. package/dist/cjs/link/Link.native.js.map +1 -1
  101. package/dist/cjs/link/useLinkTo.cjs +3 -17
  102. package/dist/cjs/link/useLinkTo.native.js +1 -23
  103. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  104. package/dist/cjs/metro-config/withOne.test.cjs +2 -2
  105. package/dist/cjs/metro-config/withOne.test.native.js +2 -2
  106. package/dist/cjs/metro-config/withOne.test.native.js.map +1 -1
  107. package/dist/cjs/router/getRouteArtifactPath.test.native.js.map +1 -1
  108. package/dist/cjs/router/router.cjs +2 -2
  109. package/dist/cjs/router/router.native.js +2 -2
  110. package/dist/cjs/router/router.native.js.map +1 -1
  111. package/dist/cjs/router/useScreens.cjs +31 -72
  112. package/dist/cjs/router/useScreens.native.js +15 -71
  113. package/dist/cjs/router/useScreens.native.js.map +1 -1
  114. package/dist/cjs/router/web/WebStackNavigator.cjs +8 -7
  115. package/dist/cjs/router/web/WebStackNavigator.native.js +8 -7
  116. package/dist/cjs/router/web/WebStackNavigator.native.js.map +1 -1
  117. package/dist/cjs/router/web/WebStackView.cjs +108 -131
  118. package/dist/cjs/router/web/WebStackView.native.js +117 -176
  119. package/dist/cjs/router/web/WebStackView.native.js.map +1 -1
  120. package/dist/cjs/router/web/stackStateUtils.native.js.map +1 -1
  121. package/dist/cjs/screensFeatureFlags.cjs +1 -16
  122. package/dist/cjs/screensFeatureFlags.native.js +3 -3
  123. package/dist/cjs/screensFeatureFlags.native.js.map +1 -1
  124. package/dist/cjs/typed-routes/generateRouteTypes.cjs +3 -10
  125. package/dist/cjs/typed-routes/generateRouteTypes.native.js +3 -10
  126. package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
  127. package/dist/cjs/ui/Slot.cjs +4 -25
  128. package/dist/cjs/ui/Slot.native.js.map +1 -1
  129. package/dist/cjs/ui/TabList.cjs +7 -19
  130. package/dist/cjs/ui/TabList.native.js.map +1 -1
  131. package/dist/cjs/ui/TabSlot.cjs +15 -47
  132. package/dist/cjs/ui/TabSlot.native.js.map +1 -1
  133. package/dist/cjs/ui/TabTrigger.cjs +30 -134
  134. package/dist/cjs/ui/TabTrigger.native.js +14 -115
  135. package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
  136. package/dist/cjs/ui/Tabs.cjs +15 -155
  137. package/dist/cjs/ui/Tabs.native.js +4 -144
  138. package/dist/cjs/ui/Tabs.native.js.map +1 -1
  139. package/dist/cjs/ui/Tabs.shared.cjs +160 -0
  140. package/dist/cjs/ui/Tabs.shared.native.js +174 -0
  141. package/dist/cjs/ui/Tabs.shared.native.js.map +1 -0
  142. package/dist/cjs/ui/useTabTrigger.cjs +122 -0
  143. package/dist/cjs/ui/useTabTrigger.native.js +125 -0
  144. package/dist/cjs/ui/useTabTrigger.native.js.map +1 -0
  145. package/dist/cjs/useBlocker.cjs +55 -93
  146. package/dist/cjs/useLoader.native.js +0 -18
  147. package/dist/cjs/useLoader.native.js.map +1 -1
  148. package/dist/cjs/utils/platform.cjs +28 -0
  149. package/dist/cjs/utils/platform.native.js +32 -0
  150. package/dist/cjs/utils/platform.native.js.map +1 -0
  151. package/dist/cjs/utils/routeIndex.cjs +80 -0
  152. package/dist/cjs/utils/routeIndex.native.js +86 -0
  153. package/dist/cjs/utils/routeIndex.native.js.map +1 -0
  154. package/dist/cjs/utils/routeIndex.test.cjs +51 -0
  155. package/dist/cjs/utils/routeIndex.test.native.js +54 -0
  156. package/dist/cjs/utils/routeIndex.test.native.js.map +1 -0
  157. package/dist/cjs/utils/style.cjs +21 -1
  158. package/dist/cjs/utils/style.native.js +40 -1
  159. package/dist/cjs/utils/style.native.js.map +1 -1
  160. package/dist/cjs/views/LoadProgressBar.cjs +59 -23
  161. package/dist/cjs/views/LoadProgressBar.native.js.map +1 -1
  162. package/dist/cjs/views/Protected.cjs +4 -0
  163. package/dist/cjs/views/Protected.native.js +4 -0
  164. package/dist/cjs/views/Protected.native.js.map +1 -1
  165. package/dist/cjs/views/RootErrorBoundary.cjs +107 -148
  166. package/dist/cjs/views/RootErrorBoundary.native.js +30 -140
  167. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  168. package/dist/cjs/views/RouteErrorView.cjs +108 -0
  169. package/dist/cjs/views/RouteErrorView.native.js +110 -0
  170. package/dist/cjs/views/RouteErrorView.native.js.map +1 -0
  171. package/dist/cjs/views/Screen.cjs +5 -1
  172. package/dist/cjs/views/Screen.native.js +4 -0
  173. package/dist/cjs/views/Screen.native.js.map +1 -1
  174. package/dist/cjs/vite/getManifest.cjs +4 -20
  175. package/dist/cjs/vite/getManifest.native.js +4 -20
  176. package/dist/cjs/vite/getManifest.native.js.map +1 -1
  177. package/dist/cjs/vite/one.cjs +12 -46
  178. package/dist/cjs/vite/one.native.js +23 -59
  179. package/dist/cjs/vite/one.native.js.map +1 -1
  180. package/dist/cjs/vite/plugins/bundledDevPlugin.cjs +130 -0
  181. package/dist/cjs/vite/plugins/bundledDevPlugin.native.js +154 -0
  182. package/dist/cjs/vite/plugins/bundledDevPlugin.native.js.map +1 -0
  183. package/dist/cjs/vite/plugins/devtoolsPlugin.cjs +4 -0
  184. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js +5 -0
  185. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -1
  186. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +15 -6
  187. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +15 -5
  188. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  189. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.cjs +12 -2
  190. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js +12 -2
  191. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
  192. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +10 -6
  193. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +11 -7
  194. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  195. package/dist/cjs/vite/plugins/routeModuleHmrPlugin.cjs +79 -0
  196. package/dist/cjs/vite/plugins/routeModuleHmrPlugin.native.js +84 -0
  197. package/dist/cjs/vite/plugins/routeModuleHmrPlugin.native.js.map +1 -0
  198. package/dist/cjs/vite/plugins/routeModuleHmrPlugin.test.cjs +74 -0
  199. package/dist/cjs/vite/plugins/routeModuleHmrPlugin.test.native.js +83 -0
  200. package/dist/cjs/vite/plugins/routeModuleHmrPlugin.test.native.js.map +1 -0
  201. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +11 -5
  202. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +20 -10
  203. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  204. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.cjs +10 -2
  205. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js +14 -2
  206. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  207. package/dist/esm/Root.mjs +1 -1
  208. package/dist/esm/Root.mjs.map +1 -1
  209. package/dist/esm/Root.native.js +1 -1
  210. package/dist/esm/Root.native.js.map +1 -1
  211. package/dist/esm/cli/build.mjs +9 -17
  212. package/dist/esm/cli/build.mjs.map +1 -1
  213. package/dist/esm/cli/build.native.js +8 -16
  214. package/dist/esm/cli/build.native.js.map +1 -1
  215. package/dist/esm/createApp.mjs +12 -35
  216. package/dist/esm/createApp.mjs.map +1 -1
  217. package/dist/esm/createHandleRequest.mjs +4 -2
  218. package/dist/esm/createHandleRequest.mjs.map +1 -1
  219. package/dist/esm/createHandleRequest.native.js +4 -2
  220. package/dist/esm/createHandleRequest.native.js.map +1 -1
  221. package/dist/esm/fallbackViews/Sitemap.mjs +110 -53
  222. package/dist/esm/fallbackViews/Sitemap.mjs.map +1 -1
  223. package/dist/esm/fallbackViews/Sitemap.native.js.map +1 -1
  224. package/dist/esm/fallbackViews/Unmatched.mjs +89 -34
  225. package/dist/esm/fallbackViews/Unmatched.mjs.map +1 -1
  226. package/dist/esm/fallbackViews/Unmatched.native.js.map +1 -1
  227. package/dist/esm/fork/NavigationContainer.mjs +6 -28
  228. package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
  229. package/dist/esm/fork/NavigationContainer.native.js +5 -27
  230. package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
  231. package/dist/esm/fork/localeDirection.mjs +5 -0
  232. package/dist/esm/fork/localeDirection.mjs.map +1 -0
  233. package/dist/esm/fork/localeDirection.native.js +6 -0
  234. package/dist/esm/fork/localeDirection.native.js.map +1 -0
  235. package/dist/esm/fork/theme.mjs +45 -0
  236. package/dist/esm/fork/theme.mjs.map +1 -0
  237. package/dist/esm/fork/theme.native.js +3 -0
  238. package/dist/esm/fork/theme.native.js.map +1 -0
  239. package/dist/esm/headless/Presentations.mjs +25 -0
  240. package/dist/esm/headless/Presentations.mjs.map +1 -0
  241. package/dist/esm/headless/Presentations.native.js +28 -0
  242. package/dist/esm/headless/Presentations.native.js.map +1 -0
  243. package/dist/esm/headless/children.mjs +16 -0
  244. package/dist/esm/headless/children.mjs.map +1 -0
  245. package/dist/esm/headless/children.native.js +16 -0
  246. package/dist/esm/headless/children.native.js.map +1 -0
  247. package/dist/esm/headless/devHeadlessNote.mjs +9 -0
  248. package/dist/esm/headless/devHeadlessNote.mjs.map +1 -0
  249. package/dist/esm/headless/devHeadlessNote.native.js +9 -0
  250. package/dist/esm/headless/devHeadlessNote.native.js.map +1 -0
  251. package/dist/esm/headless/keepMounted.mjs +32 -0
  252. package/dist/esm/headless/keepMounted.mjs.map +1 -0
  253. package/dist/esm/headless/keepMounted.native.js +36 -0
  254. package/dist/esm/headless/keepMounted.native.js.map +1 -0
  255. package/dist/esm/headless/types.mjs +2 -0
  256. package/dist/esm/headless/types.mjs.map +1 -0
  257. package/dist/esm/headless/types.native.js +2 -0
  258. package/dist/esm/headless/types.native.js.map +1 -0
  259. package/dist/esm/headless/useDrawer.mjs +57 -0
  260. package/dist/esm/headless/useDrawer.mjs.map +1 -0
  261. package/dist/esm/headless/useDrawer.native.js +67 -0
  262. package/dist/esm/headless/useDrawer.native.js.map +1 -0
  263. package/dist/esm/headless/useStack.mjs +49 -0
  264. package/dist/esm/headless/useStack.mjs.map +1 -0
  265. package/dist/esm/headless/useStack.native.js +51 -0
  266. package/dist/esm/headless/useStack.native.js.map +1 -0
  267. package/dist/esm/headless/useTabs.mjs +37 -0
  268. package/dist/esm/headless/useTabs.mjs.map +1 -0
  269. package/dist/esm/headless/useTabs.native.js +38 -0
  270. package/dist/esm/headless/useTabs.native.js.map +1 -0
  271. package/dist/esm/index.js +5 -2
  272. package/dist/esm/index.js.map +1 -1
  273. package/dist/esm/index.mjs +5 -2
  274. package/dist/esm/index.mjs.map +1 -1
  275. package/dist/esm/index.native.js +5 -2
  276. package/dist/esm/index.native.js.map +1 -1
  277. package/dist/esm/layouts/Drawer.mjs +69 -29
  278. package/dist/esm/layouts/Drawer.mjs.map +1 -1
  279. package/dist/esm/layouts/Drawer.native.js +2 -26
  280. package/dist/esm/layouts/Drawer.native.js.map +1 -1
  281. package/dist/esm/layouts/Stack.mjs +10 -14
  282. package/dist/esm/layouts/Stack.mjs.map +1 -1
  283. package/dist/esm/layouts/Stack.native.js +12 -14
  284. package/dist/esm/layouts/Stack.native.js.map +1 -1
  285. package/dist/esm/layouts/Tabs.mjs +101 -74
  286. package/dist/esm/layouts/Tabs.mjs.map +1 -1
  287. package/dist/esm/layouts/Tabs.native.js +2 -14
  288. package/dist/esm/layouts/Tabs.native.js.map +1 -1
  289. package/dist/esm/layouts/stack-navigator.mjs +8 -1
  290. package/dist/esm/layouts/stack-navigator.mjs.map +1 -1
  291. package/dist/esm/layouts/stack-navigator.native.js +4 -1
  292. package/dist/esm/layouts/stack-navigator.native.js.map +1 -1
  293. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.mjs +4 -0
  294. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.mjs.map +1 -1
  295. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.native.js +4 -0
  296. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -1
  297. package/dist/esm/layouts/stack-utils/StackHeaderComponent.mjs +7 -3
  298. package/dist/esm/layouts/stack-utils/StackHeaderComponent.mjs.map +1 -1
  299. package/dist/esm/layouts/stack-utils/StackHeaderComponent.native.js +7 -3
  300. package/dist/esm/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -1
  301. package/dist/esm/layouts/stack-utils/StackHeaderLeft.mjs +4 -0
  302. package/dist/esm/layouts/stack-utils/StackHeaderLeft.mjs.map +1 -1
  303. package/dist/esm/layouts/stack-utils/StackHeaderLeft.native.js +4 -0
  304. package/dist/esm/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -1
  305. package/dist/esm/layouts/stack-utils/StackHeaderRight.mjs +4 -0
  306. package/dist/esm/layouts/stack-utils/StackHeaderRight.mjs.map +1 -1
  307. package/dist/esm/layouts/stack-utils/StackHeaderRight.native.js +4 -0
  308. package/dist/esm/layouts/stack-utils/StackHeaderRight.native.js.map +1 -1
  309. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.mjs +4 -0
  310. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.mjs.map +1 -1
  311. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.native.js +4 -0
  312. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -1
  313. package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs +9 -5
  314. package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs.map +1 -1
  315. package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js +9 -5
  316. package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
  317. package/dist/esm/layouts/stack-utils/StackScreen.mjs +10 -23
  318. package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
  319. package/dist/esm/layouts/stack-utils/StackScreen.native.js +23 -29
  320. package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
  321. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs +12 -7
  322. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs.map +1 -1
  323. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js +16 -7
  324. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  325. package/dist/esm/layouts/stack-utils/index.mjs +2 -0
  326. package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
  327. package/dist/esm/layouts/stack-utils/index.native.js +2 -0
  328. package/dist/esm/layouts/stack-utils/index.native.js.map +1 -1
  329. package/dist/esm/layouts/withLayoutContext.mjs +2 -2
  330. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  331. package/dist/esm/layouts/withLayoutContext.native.js +2 -2
  332. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  333. package/dist/esm/link/Link.mjs +57 -68
  334. package/dist/esm/link/Link.mjs.map +1 -1
  335. package/dist/esm/link/useLinkTo.mjs +4 -19
  336. package/dist/esm/link/useLinkTo.mjs.map +1 -1
  337. package/dist/esm/link/useLinkTo.native.js +2 -25
  338. package/dist/esm/link/useLinkTo.native.js.map +1 -1
  339. package/dist/esm/metro-config/withOne.test.mjs +2 -2
  340. package/dist/esm/metro-config/withOne.test.mjs.map +1 -1
  341. package/dist/esm/metro-config/withOne.test.native.js +2 -2
  342. package/dist/esm/metro-config/withOne.test.native.js.map +1 -1
  343. package/dist/esm/router/getRouteArtifactPath.test.mjs.map +1 -1
  344. package/dist/esm/router/getRouteArtifactPath.test.native.js.map +1 -1
  345. package/dist/esm/router/router.mjs +2 -2
  346. package/dist/esm/router/router.mjs.map +1 -1
  347. package/dist/esm/router/router.native.js +2 -2
  348. package/dist/esm/router/router.native.js.map +1 -1
  349. package/dist/esm/router/useScreens.mjs +30 -71
  350. package/dist/esm/router/useScreens.mjs.map +1 -1
  351. package/dist/esm/router/useScreens.native.js +13 -69
  352. package/dist/esm/router/useScreens.native.js.map +1 -1
  353. package/dist/esm/router/useScreens.test.mjs +1 -1
  354. package/dist/esm/router/useScreens.test.mjs.map +1 -1
  355. package/dist/esm/router/web/WebStackNavigator.mjs +5 -4
  356. package/dist/esm/router/web/WebStackNavigator.mjs.map +1 -1
  357. package/dist/esm/router/web/WebStackNavigator.native.js +5 -4
  358. package/dist/esm/router/web/WebStackNavigator.native.js.map +1 -1
  359. package/dist/esm/router/web/WebStackView.mjs +99 -131
  360. package/dist/esm/router/web/WebStackView.mjs.map +1 -1
  361. package/dist/esm/router/web/WebStackView.native.js +107 -175
  362. package/dist/esm/router/web/WebStackView.native.js.map +1 -1
  363. package/dist/esm/router/web/stackStateUtils.mjs.map +1 -1
  364. package/dist/esm/router/web/stackStateUtils.native.js.map +1 -1
  365. package/dist/esm/screensFeatureFlags.mjs +1 -16
  366. package/dist/esm/screensFeatureFlags.mjs.map +1 -1
  367. package/dist/esm/screensFeatureFlags.native.js.map +1 -1
  368. package/dist/esm/typed-routes/generateRouteTypes.mjs +3 -10
  369. package/dist/esm/typed-routes/generateRouteTypes.mjs.map +1 -1
  370. package/dist/esm/typed-routes/generateRouteTypes.native.js +3 -10
  371. package/dist/esm/typed-routes/generateRouteTypes.native.js.map +1 -1
  372. package/dist/esm/ui/Slot.mjs +1 -22
  373. package/dist/esm/ui/Slot.mjs.map +1 -1
  374. package/dist/esm/ui/Slot.native.js.map +1 -1
  375. package/dist/esm/ui/TabList.mjs +3 -15
  376. package/dist/esm/ui/TabList.mjs.map +1 -1
  377. package/dist/esm/ui/TabList.native.js.map +1 -1
  378. package/dist/esm/ui/TabSlot.mjs +12 -44
  379. package/dist/esm/ui/TabSlot.mjs.map +1 -1
  380. package/dist/esm/ui/TabSlot.native.js.map +1 -1
  381. package/dist/esm/ui/TabTrigger.mjs +25 -129
  382. package/dist/esm/ui/TabTrigger.mjs.map +1 -1
  383. package/dist/esm/ui/TabTrigger.native.js +13 -114
  384. package/dist/esm/ui/TabTrigger.native.js.map +1 -1
  385. package/dist/esm/ui/Tabs.mjs +7 -145
  386. package/dist/esm/ui/Tabs.mjs.map +1 -1
  387. package/dist/esm/ui/Tabs.native.js +5 -143
  388. package/dist/esm/ui/Tabs.native.js.map +1 -1
  389. package/dist/esm/ui/Tabs.shared.mjs +134 -0
  390. package/dist/esm/ui/Tabs.shared.mjs.map +1 -0
  391. package/dist/esm/ui/Tabs.shared.native.js +145 -0
  392. package/dist/esm/ui/Tabs.shared.native.js.map +1 -0
  393. package/dist/esm/ui/useTabTrigger.mjs +96 -0
  394. package/dist/esm/ui/useTabTrigger.mjs.map +1 -0
  395. package/dist/esm/ui/useTabTrigger.native.js +96 -0
  396. package/dist/esm/ui/useTabTrigger.native.js.map +1 -0
  397. package/dist/esm/useBlocker.mjs +55 -93
  398. package/dist/esm/useBlocker.mjs.map +1 -1
  399. package/dist/esm/useLoader.native.js +0 -18
  400. package/dist/esm/useLoader.native.js.map +1 -1
  401. package/dist/esm/utils/platform.mjs +3 -0
  402. package/dist/esm/utils/platform.mjs.map +1 -0
  403. package/dist/esm/utils/platform.native.js +4 -0
  404. package/dist/esm/utils/platform.native.js.map +1 -0
  405. package/dist/esm/utils/routeIndex.mjs +43 -0
  406. package/dist/esm/utils/routeIndex.mjs.map +1 -0
  407. package/dist/esm/utils/routeIndex.native.js +46 -0
  408. package/dist/esm/utils/routeIndex.native.js.map +1 -0
  409. package/dist/esm/utils/routeIndex.test.mjs +52 -0
  410. package/dist/esm/utils/routeIndex.test.mjs.map +1 -0
  411. package/dist/esm/utils/routeIndex.test.native.js +52 -0
  412. package/dist/esm/utils/routeIndex.test.native.js.map +1 -0
  413. package/dist/esm/utils/style.mjs +20 -1
  414. package/dist/esm/utils/style.mjs.map +1 -1
  415. package/dist/esm/utils/style.native.js +39 -1
  416. package/dist/esm/utils/style.native.js.map +1 -1
  417. package/dist/esm/views/LoadProgressBar.mjs +45 -20
  418. package/dist/esm/views/LoadProgressBar.mjs.map +1 -1
  419. package/dist/esm/views/LoadProgressBar.native.js.map +1 -1
  420. package/dist/esm/views/Protected.mjs +4 -0
  421. package/dist/esm/views/Protected.mjs.map +1 -1
  422. package/dist/esm/views/Protected.native.js +4 -0
  423. package/dist/esm/views/Protected.native.js.map +1 -1
  424. package/dist/esm/views/RootErrorBoundary.mjs +106 -147
  425. package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
  426. package/dist/esm/views/RootErrorBoundary.native.js +37 -145
  427. package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
  428. package/dist/esm/views/RouteErrorView.mjs +83 -0
  429. package/dist/esm/views/RouteErrorView.mjs.map +1 -0
  430. package/dist/esm/views/RouteErrorView.native.js +82 -0
  431. package/dist/esm/views/RouteErrorView.native.js.map +1 -0
  432. package/dist/esm/views/Screen.mjs +4 -0
  433. package/dist/esm/views/Screen.mjs.map +1 -1
  434. package/dist/esm/views/Screen.native.js +4 -0
  435. package/dist/esm/views/Screen.native.js.map +1 -1
  436. package/dist/esm/vite/getManifest.mjs +4 -9
  437. package/dist/esm/vite/getManifest.mjs.map +1 -1
  438. package/dist/esm/vite/getManifest.native.js +4 -9
  439. package/dist/esm/vite/getManifest.native.js.map +1 -1
  440. package/dist/esm/vite/one.mjs +12 -46
  441. package/dist/esm/vite/one.mjs.map +1 -1
  442. package/dist/esm/vite/one.native.js +23 -59
  443. package/dist/esm/vite/one.native.js.map +1 -1
  444. package/dist/esm/vite/plugins/bundledDevPlugin.mjs +94 -0
  445. package/dist/esm/vite/plugins/bundledDevPlugin.mjs.map +1 -0
  446. package/dist/esm/vite/plugins/bundledDevPlugin.native.js +115 -0
  447. package/dist/esm/vite/plugins/bundledDevPlugin.native.js.map +1 -0
  448. package/dist/esm/vite/plugins/devtoolsPlugin.mjs +4 -0
  449. package/dist/esm/vite/plugins/devtoolsPlugin.mjs.map +1 -1
  450. package/dist/esm/vite/plugins/devtoolsPlugin.native.js +5 -0
  451. package/dist/esm/vite/plugins/devtoolsPlugin.native.js.map +1 -1
  452. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +15 -6
  453. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  454. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +15 -5
  455. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  456. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs +12 -2
  457. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs.map +1 -1
  458. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js +12 -2
  459. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
  460. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +10 -6
  461. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
  462. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +11 -7
  463. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  464. package/dist/esm/vite/plugins/routeModuleHmrPlugin.mjs +43 -0
  465. package/dist/esm/vite/plugins/routeModuleHmrPlugin.mjs.map +1 -0
  466. package/dist/esm/vite/plugins/routeModuleHmrPlugin.native.js +45 -0
  467. package/dist/esm/vite/plugins/routeModuleHmrPlugin.native.js.map +1 -0
  468. package/dist/esm/vite/plugins/routeModuleHmrPlugin.test.mjs +75 -0
  469. package/dist/esm/vite/plugins/routeModuleHmrPlugin.test.mjs.map +1 -0
  470. package/dist/esm/vite/plugins/routeModuleHmrPlugin.test.native.js +81 -0
  471. package/dist/esm/vite/plugins/routeModuleHmrPlugin.test.native.js.map +1 -0
  472. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +11 -5
  473. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  474. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +20 -10
  475. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  476. package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs +10 -2
  477. package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs.map +1 -1
  478. package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js +14 -2
  479. package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  480. package/package.json +27 -28
  481. package/src/Root.tsx +2 -6
  482. package/src/cli/build.ts +25 -37
  483. package/src/createApp.tsx +15 -42
  484. package/src/createHandleRequest.ts +6 -2
  485. package/src/fallbackViews/Sitemap.web.tsx +149 -0
  486. package/src/fallbackViews/Unmatched.web.tsx +91 -0
  487. package/src/fork/NavigationContainer.tsx +12 -39
  488. package/src/fork/localeDirection.native.ts +6 -0
  489. package/src/fork/localeDirection.ts +11 -0
  490. package/src/fork/theme.native.ts +1 -0
  491. package/src/fork/theme.ts +41 -0
  492. package/src/headless/Presentations.tsx +37 -0
  493. package/src/headless/children.ts +25 -0
  494. package/src/headless/devHeadlessNote.ts +13 -0
  495. package/src/headless/keepMounted.tsx +46 -0
  496. package/src/headless/types.ts +72 -0
  497. package/src/headless/useDrawer.tsx +88 -0
  498. package/src/headless/useStack.ts +74 -0
  499. package/src/headless/useTabs.ts +40 -0
  500. package/src/index.ts +14 -18
  501. package/src/layouts/Drawer.tsx +4 -35
  502. package/src/layouts/Drawer.web.tsx +117 -0
  503. package/src/layouts/Stack.tsx +54 -62
  504. package/src/layouts/Tabs.tsx +6 -32
  505. package/src/layouts/Tabs.web.tsx +151 -0
  506. package/src/layouts/stack-navigator.ts +6 -2
  507. package/src/layouts/stack-navigator.web.ts +8 -0
  508. package/src/layouts/stack-utils/StackHeaderBackButton.tsx +4 -0
  509. package/src/layouts/stack-utils/StackHeaderComponent.tsx +7 -3
  510. package/src/layouts/stack-utils/StackHeaderLeft.tsx +4 -0
  511. package/src/layouts/stack-utils/StackHeaderRight.tsx +4 -0
  512. package/src/layouts/stack-utils/StackHeaderSearchBar.tsx +4 -0
  513. package/src/layouts/stack-utils/StackHeaderTitle.tsx +9 -5
  514. package/src/layouts/stack-utils/StackScreen.tsx +31 -36
  515. package/src/layouts/stack-utils/__tests__/composition.test.tsx +12 -11
  516. package/src/layouts/stack-utils/index.tsx +2 -0
  517. package/src/layouts/withLayoutContext.tsx +5 -2
  518. package/src/link/Link.web.tsx +84 -0
  519. package/src/link/useLinkTo.tsx +2 -2
  520. package/src/metro-config/withOne.test.ts +5 -4
  521. package/src/router/getRouteArtifactPath.test.ts +1 -6
  522. package/src/router/router.ts +2 -2
  523. package/src/router/useScreens.tsx +31 -71
  524. package/src/router/web/WebStackNavigator.tsx +22 -20
  525. package/src/router/web/WebStackView.tsx +148 -188
  526. package/src/router/web/stackStateUtils.ts +2 -1
  527. package/src/screensFeatureFlags.native.ts +23 -0
  528. package/src/screensFeatureFlags.ts +3 -23
  529. package/src/typed-routes/generateRouteTypes.ts +4 -10
  530. package/src/ui/Slot.web.tsx +9 -0
  531. package/src/ui/TabList.web.tsx +27 -0
  532. package/src/ui/TabSlot.web.tsx +90 -0
  533. package/src/ui/TabTrigger.tsx +33 -249
  534. package/src/ui/TabTrigger.web.tsx +71 -0
  535. package/src/ui/Tabs.shared.tsx +230 -0
  536. package/src/ui/Tabs.tsx +5 -295
  537. package/src/ui/Tabs.web.tsx +40 -0
  538. package/src/ui/useTabTrigger.ts +182 -0
  539. package/src/useBlocker.ts +2 -3
  540. package/src/useLoader.ts +6 -2
  541. package/src/utils/platform.ts +7 -0
  542. package/src/utils/platform.web.ts +1 -0
  543. package/src/utils/routeIndex.test.ts +55 -0
  544. package/src/utils/routeIndex.ts +59 -0
  545. package/src/utils/style.ts +22 -1
  546. package/src/views/LoadProgressBar.web.tsx +135 -0
  547. package/src/views/Protected.tsx +4 -1
  548. package/src/views/RootErrorBoundary.tsx +2 -158
  549. package/src/views/RootErrorBoundary.web.tsx +163 -0
  550. package/src/views/RouteErrorView.tsx +66 -0
  551. package/src/views/RouteErrorView.web.tsx +62 -0
  552. package/src/views/Screen.tsx +3 -0
  553. package/src/vite/getManifest.ts +4 -6
  554. package/src/vite/one.ts +13 -59
  555. package/src/vite/plugins/bundledDevPlugin.ts +119 -0
  556. package/src/vite/plugins/devtoolsPlugin.ts +19 -0
  557. package/src/vite/plugins/fileSystemRouterPlugin.test.ts +19 -11
  558. package/src/vite/plugins/fileSystemRouterPlugin.tsx +31 -6
  559. package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +22 -11
  560. package/src/vite/plugins/routeModuleHmrPlugin.test.ts +73 -0
  561. package/src/vite/plugins/routeModuleHmrPlugin.ts +54 -0
  562. package/src/vite/plugins/virtualEntryPlugin.test.ts +10 -1
  563. package/src/vite/plugins/virtualEntryPlugin.ts +37 -9
  564. package/src/vite/types.ts +11 -0
  565. package/types/Root.d.ts +1 -1
  566. package/types/Root.d.ts.map +1 -1
  567. package/types/cli/build.d.ts.map +1 -1
  568. package/types/createApp.d.ts.map +1 -1
  569. package/types/createHandleRequest.d.ts +2 -1
  570. package/types/createHandleRequest.d.ts.map +1 -1
  571. package/types/fallbackViews/Sitemap.web.d.ts +4 -0
  572. package/types/fallbackViews/Sitemap.web.d.ts.map +1 -0
  573. package/types/fallbackViews/Unmatched.web.d.ts +2 -0
  574. package/types/fallbackViews/Unmatched.web.d.ts.map +1 -0
  575. package/types/fork/NavigationContainer.d.ts.map +1 -1
  576. package/types/fork/localeDirection.d.ts +9 -0
  577. package/types/fork/localeDirection.d.ts.map +1 -0
  578. package/types/fork/localeDirection.native.d.ts +3 -0
  579. package/types/fork/localeDirection.native.d.ts.map +1 -0
  580. package/types/fork/theme.d.ts +4 -0
  581. package/types/fork/theme.d.ts.map +1 -0
  582. package/types/fork/theme.native.d.ts +2 -0
  583. package/types/fork/theme.native.d.ts.map +1 -0
  584. package/types/fork/useLinking.native.d.ts +4 -4
  585. package/types/headless/Presentations.d.ts +13 -0
  586. package/types/headless/Presentations.d.ts.map +1 -0
  587. package/types/headless/children.d.ts +5 -0
  588. package/types/headless/children.d.ts.map +1 -0
  589. package/types/headless/devHeadlessNote.d.ts +2 -0
  590. package/types/headless/devHeadlessNote.d.ts.map +1 -0
  591. package/types/headless/keepMounted.d.ts +9 -0
  592. package/types/headless/keepMounted.d.ts.map +1 -0
  593. package/types/headless/types.d.ts +59 -0
  594. package/types/headless/types.d.ts.map +1 -0
  595. package/types/headless/useDrawer.d.ts +19 -0
  596. package/types/headless/useDrawer.d.ts.map +1 -0
  597. package/types/headless/useStack.d.ts +16 -0
  598. package/types/headless/useStack.d.ts.map +1 -0
  599. package/types/headless/useTabs.d.ts +3 -0
  600. package/types/headless/useTabs.d.ts.map +1 -0
  601. package/types/index.d.ts +6 -2
  602. package/types/index.d.ts.map +1 -1
  603. package/types/layouts/Drawer.d.ts +5 -15
  604. package/types/layouts/Drawer.d.ts.map +1 -1
  605. package/types/layouts/Drawer.web.d.ts +5 -0
  606. package/types/layouts/Drawer.web.d.ts.map +1 -0
  607. package/types/layouts/Stack.d.ts +8 -17
  608. package/types/layouts/Stack.d.ts.map +1 -1
  609. package/types/layouts/Tabs.d.ts +5 -15
  610. package/types/layouts/Tabs.d.ts.map +1 -1
  611. package/types/layouts/Tabs.web.d.ts +20 -0
  612. package/types/layouts/Tabs.web.d.ts.map +1 -0
  613. package/types/layouts/stack-navigator.d.ts +3 -2
  614. package/types/layouts/stack-navigator.d.ts.map +1 -1
  615. package/types/layouts/stack-navigator.web.d.ts +6 -0
  616. package/types/layouts/stack-navigator.web.d.ts.map +1 -1
  617. package/types/layouts/stack-utils/StackHeaderBackButton.d.ts.map +1 -1
  618. package/types/layouts/stack-utils/StackHeaderComponent.d.ts +1 -1
  619. package/types/layouts/stack-utils/StackHeaderComponent.d.ts.map +1 -1
  620. package/types/layouts/stack-utils/StackHeaderLeft.d.ts.map +1 -1
  621. package/types/layouts/stack-utils/StackHeaderRight.d.ts.map +1 -1
  622. package/types/layouts/stack-utils/StackHeaderSearchBar.d.ts.map +1 -1
  623. package/types/layouts/stack-utils/StackHeaderTitle.d.ts +1 -1
  624. package/types/layouts/stack-utils/StackHeaderTitle.d.ts.map +1 -1
  625. package/types/layouts/stack-utils/StackScreen.d.ts +5 -12
  626. package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
  627. package/types/layouts/stack-utils/index.d.ts +1 -0
  628. package/types/layouts/stack-utils/index.d.ts.map +1 -1
  629. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  630. package/types/link/Link.web.d.ts +3 -0
  631. package/types/link/Link.web.d.ts.map +1 -0
  632. package/types/link/useLinkTo.d.ts +1 -1
  633. package/types/link/useLinkTo.d.ts.map +1 -1
  634. package/types/router/router.d.ts.map +1 -1
  635. package/types/router/useScreens.d.ts.map +1 -1
  636. package/types/router/web/WebStackNavigator.d.ts.map +1 -1
  637. package/types/router/web/WebStackView.d.ts +9 -25
  638. package/types/router/web/WebStackView.d.ts.map +1 -1
  639. package/types/router/web/stackStateUtils.d.ts +1 -1
  640. package/types/router/web/stackStateUtils.d.ts.map +1 -1
  641. package/types/screensFeatureFlags.d.ts.map +1 -1
  642. package/types/screensFeatureFlags.native.d.ts +2 -0
  643. package/types/screensFeatureFlags.native.d.ts.map +1 -0
  644. package/types/typed-routes/generateRouteTypes.d.ts +1 -1
  645. package/types/typed-routes/generateRouteTypes.d.ts.map +1 -1
  646. package/types/ui/Slot.web.d.ts +5 -0
  647. package/types/ui/Slot.web.d.ts.map +1 -0
  648. package/types/ui/TabContext.d.ts +7 -7
  649. package/types/ui/TabList.web.d.ts +11 -0
  650. package/types/ui/TabList.web.d.ts.map +1 -0
  651. package/types/ui/TabRouter.d.ts +5 -5
  652. package/types/ui/TabRouter.d.ts.map +1 -1
  653. package/types/ui/TabSlot.web.d.ts +24 -0
  654. package/types/ui/TabSlot.web.d.ts.map +1 -0
  655. package/types/ui/TabTrigger.d.ts +4 -75
  656. package/types/ui/TabTrigger.d.ts.map +1 -1
  657. package/types/ui/TabTrigger.web.d.ts +11 -0
  658. package/types/ui/TabTrigger.web.d.ts.map +1 -0
  659. package/types/ui/Tabs.d.ts +2 -249
  660. package/types/ui/Tabs.d.ts.map +1 -1
  661. package/types/ui/Tabs.shared.d.ts +201 -0
  662. package/types/ui/Tabs.shared.d.ts.map +1 -0
  663. package/types/ui/Tabs.web.d.ts +10 -0
  664. package/types/ui/Tabs.web.d.ts.map +1 -0
  665. package/types/ui/useTabTrigger.d.ts +49 -0
  666. package/types/ui/useTabTrigger.d.ts.map +1 -0
  667. package/types/useBlocker.d.ts.map +1 -1
  668. package/types/useLoader.d.ts.map +1 -1
  669. package/types/utils/platform.d.ts +6 -0
  670. package/types/utils/platform.d.ts.map +1 -0
  671. package/types/utils/platform.web.d.ts +2 -0
  672. package/types/utils/platform.web.d.ts.map +1 -0
  673. package/types/utils/routeIndex.d.ts +10 -0
  674. package/types/utils/routeIndex.d.ts.map +1 -0
  675. package/types/utils/routeIndex.test.d.ts +2 -0
  676. package/types/utils/routeIndex.test.d.ts.map +1 -0
  677. package/types/utils/style.d.ts +6 -1
  678. package/types/utils/style.d.ts.map +1 -1
  679. package/types/views/LoadProgressBar.web.d.ts +21 -0
  680. package/types/views/LoadProgressBar.web.d.ts.map +1 -0
  681. package/types/views/Protected.d.ts.map +1 -1
  682. package/types/views/RootErrorBoundary.d.ts.map +1 -1
  683. package/types/views/RootErrorBoundary.web.d.ts +20 -0
  684. package/types/views/RootErrorBoundary.web.d.ts.map +1 -0
  685. package/types/views/RouteErrorView.d.ts +9 -0
  686. package/types/views/RouteErrorView.d.ts.map +1 -0
  687. package/types/views/RouteErrorView.web.d.ts +3 -0
  688. package/types/views/RouteErrorView.web.d.ts.map +1 -0
  689. package/types/views/Screen.d.ts.map +1 -1
  690. package/types/vite/getManifest.d.ts +2 -1
  691. package/types/vite/getManifest.d.ts.map +1 -1
  692. package/types/vite/one.d.ts.map +1 -1
  693. package/types/vite/plugins/bundledDevPlugin.d.ts +3 -0
  694. package/types/vite/plugins/bundledDevPlugin.d.ts.map +1 -0
  695. package/types/vite/plugins/devtoolsPlugin.d.ts.map +1 -1
  696. package/types/vite/plugins/fileSystemRouterPlugin.d.ts +2 -1
  697. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  698. package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts +2 -1
  699. package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
  700. package/types/vite/plugins/routeModuleHmrPlugin.d.ts +3 -0
  701. package/types/vite/plugins/routeModuleHmrPlugin.d.ts.map +1 -0
  702. package/types/vite/plugins/routeModuleHmrPlugin.test.d.ts +2 -0
  703. package/types/vite/plugins/routeModuleHmrPlugin.test.d.ts.map +1 -0
  704. package/types/vite/plugins/virtualEntryPlugin.d.ts +2 -0
  705. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  706. package/types/vite/types.d.ts +10 -0
  707. package/types/vite/types.d.ts.map +1 -1
  708. package/vendor/react-dom/package.json +1 -1
  709. package/dist/cjs/fork/SSRNavigationContainer.cjs +0 -149
  710. package/dist/cjs/fork/SSRNavigationContainer.native.js +0 -199
  711. package/dist/cjs/fork/SSRNavigationContainer.native.js.map +0 -1
  712. package/dist/cjs/router/renderingRegistry.native.js.map +0 -1
  713. package/dist/cjs/router/web/ScreenRenderContext.native.js.map +0 -1
  714. package/dist/cjs/router/web/__tests__/WebStackView.runtime.test.cjs +0 -295
  715. package/dist/cjs/router/web/__tests__/WebStackView.runtime.test.native.js +0 -335
  716. package/dist/cjs/router/web/__tests__/WebStackView.runtime.test.native.js.map +0 -1
  717. package/dist/cjs/router/web/__tests__/WebStackView.test.cjs +0 -464
  718. package/dist/cjs/router/web/__tests__/WebStackView.test.native.js +0 -515
  719. package/dist/cjs/router/web/__tests__/WebStackView.test.native.js.map +0 -1
  720. package/dist/esm/fork/SSRNavigationContainer.mjs +0 -124
  721. package/dist/esm/fork/SSRNavigationContainer.mjs.map +0 -1
  722. package/dist/esm/fork/SSRNavigationContainer.native.js +0 -160
  723. package/dist/esm/fork/SSRNavigationContainer.native.js.map +0 -1
  724. package/dist/esm/router/renderingRegistry.mjs +0 -26
  725. package/dist/esm/router/renderingRegistry.mjs.map +0 -1
  726. package/dist/esm/router/renderingRegistry.native.js +0 -26
  727. package/dist/esm/router/renderingRegistry.native.js.map +0 -1
  728. package/dist/esm/router/web/ScreenRenderContext.mjs +0 -10
  729. package/dist/esm/router/web/ScreenRenderContext.mjs.map +0 -1
  730. package/dist/esm/router/web/ScreenRenderContext.native.js +0 -10
  731. package/dist/esm/router/web/ScreenRenderContext.native.js.map +0 -1
  732. package/dist/esm/router/web/__tests__/WebStackView.runtime.test.mjs +0 -272
  733. package/dist/esm/router/web/__tests__/WebStackView.runtime.test.mjs.map +0 -1
  734. package/dist/esm/router/web/__tests__/WebStackView.runtime.test.native.js +0 -309
  735. package/dist/esm/router/web/__tests__/WebStackView.runtime.test.native.js.map +0 -1
  736. package/dist/esm/router/web/__tests__/WebStackView.test.mjs +0 -465
  737. package/dist/esm/router/web/__tests__/WebStackView.test.mjs.map +0 -1
  738. package/dist/esm/router/web/__tests__/WebStackView.test.native.js +0 -513
  739. package/dist/esm/router/web/__tests__/WebStackView.test.native.js.map +0 -1
  740. package/src/fork/SSRNavigationContainer.tsx +0 -148
  741. package/src/router/renderingRegistry.ts +0 -109
  742. package/src/router/web/ScreenRenderContext.tsx +0 -61
  743. package/src/router/web/__tests__/WebStackView.runtime.test.tsx +0 -309
  744. package/src/router/web/__tests__/WebStackView.test.tsx +0 -444
  745. package/types/fork/SSRNavigationContainer.d.ts +0 -16
  746. package/types/fork/SSRNavigationContainer.d.ts.map +0 -1
  747. package/types/router/renderingRegistry.d.ts +0 -90
  748. package/types/router/renderingRegistry.d.ts.map +0 -1
  749. package/types/router/web/ScreenRenderContext.d.ts +0 -46
  750. package/types/router/web/ScreenRenderContext.d.ts.map +0 -1
@@ -1,160 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { NavigationBuilderContext } from "@react-navigation/core/lib/module/NavigationBuilderContext";
3
- import { NavigationStateContext } from "@react-navigation/core/lib/module/NavigationStateContext";
4
- import { SingleNavigatorContext } from "@react-navigation/core/lib/module/EnsureSingleNavigator";
5
- import { NavigationContainerRefContext, ThemeProvider } from "@react-navigation/core";
6
- import { LinkingContext } from "@react-navigation/native";
7
- import * as React from "react";
8
- var noop = function () {};
9
- var SSR_LINKING_CTX = {
10
- options: void 0
11
- };
12
- var SSR_BUILDER_CTX = {
13
- onDispatchAction: noop,
14
- onOptionsChange: noop,
15
- // must execute callback immediately — useNavigationBuilder calls this during render
16
- scheduleUpdate: function (cb) {
17
- return cb();
18
- },
19
- flushUpdates: noop,
20
- stackRef: {
21
- current: void 0
22
- }
23
- };
24
- var SSR_SINGLE_NAV_CTX = {
25
- register: noop,
26
- unregister: noop
27
- };
28
- var SSR_NAV_REF = {
29
- dispatch: noop,
30
- navigate: noop,
31
- reset: noop,
32
- goBack: noop,
33
- isFocused: function () {
34
- return false;
35
- },
36
- canGoBack: function () {
37
- return false;
38
- },
39
- getParent: function () {
40
- return void 0;
41
- },
42
- getState: function () {
43
- return void 0;
44
- },
45
- getRootState: function () {
46
- return void 0;
47
- },
48
- getCurrentRoute: function () {
49
- return void 0;
50
- },
51
- getCurrentOptions: function () {
52
- return void 0;
53
- },
54
- isReady: function () {
55
- return false;
56
- },
57
- addListener: function () {
58
- return noop;
59
- },
60
- removeListener: noop,
61
- resetRoot: noop,
62
- setOptions: noop,
63
- // CommonActions methods
64
- setParams: noop,
65
- popTo: noop,
66
- pop: noop,
67
- popToTop: noop,
68
- push: noop,
69
- replace: noop,
70
- jumpTo: noop,
71
- preload: noop
72
- };
73
- var getPartialState = function (state) {
74
- if (!state) return void 0;
75
- var {
76
- key,
77
- routeNames,
78
- ...partial
79
- } = state;
80
- return {
81
- ...partial,
82
- stale: true,
83
- routes: state.routes.map(function (route) {
84
- return route.state ? {
85
- ...route,
86
- state: getPartialState(route.state)
87
- } : route;
88
- })
89
- };
90
- };
91
- var stateCtxCache = /* @__PURE__ */new WeakMap();
92
- function getStateContext(initialState) {
93
- if (!initialState) {
94
- return {
95
- state: void 0,
96
- getKey: function () {
97
- return void 0;
98
- },
99
- setKey: noop,
100
- getState: function () {
101
- return void 0;
102
- },
103
- setState: noop,
104
- getIsInitial: function () {
105
- return true;
106
- }
107
- };
108
- }
109
- var cached = stateCtxCache.get(initialState);
110
- if (cached) return cached;
111
- var partial = getPartialState(initialState);
112
- var ctx = {
113
- state: partial,
114
- getKey: function () {
115
- return void 0;
116
- },
117
- setKey: noop,
118
- getState: function () {
119
- return partial;
120
- },
121
- setState: noop,
122
- getIsInitial: function () {
123
- return true;
124
- }
125
- };
126
- stateCtxCache.set(initialState, ctx);
127
- return ctx;
128
- }
129
- function SSRNavigationContainer(param) {
130
- var {
131
- initialState,
132
- theme,
133
- linking,
134
- children
135
- } = param;
136
- var linkingCtx = linking ? {
137
- options: linking
138
- } : SSR_LINKING_CTX;
139
- return /* @__PURE__ */_jsx(LinkingContext.Provider, {
140
- value: linkingCtx,
141
- children: /* @__PURE__ */_jsx(NavigationContainerRefContext.Provider, {
142
- value: SSR_NAV_REF,
143
- children: /* @__PURE__ */_jsx(NavigationBuilderContext.Provider, {
144
- value: SSR_BUILDER_CTX,
145
- children: /* @__PURE__ */_jsx(NavigationStateContext.Provider, {
146
- value: getStateContext(initialState),
147
- children: /* @__PURE__ */_jsx(SingleNavigatorContext.Provider, {
148
- value: SSR_SINGLE_NAV_CTX,
149
- children: /* @__PURE__ */_jsx(ThemeProvider, {
150
- value: theme,
151
- children
152
- })
153
- })
154
- })
155
- })
156
- })
157
- });
158
- }
159
- export { SSRNavigationContainer };
160
- //# sourceMappingURL=SSRNavigationContainer.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["jsx","_jsx","NavigationBuilderContext","NavigationStateContext","SingleNavigatorContext","NavigationContainerRefContext","ThemeProvider","LinkingContext","React","noop","SSR_LINKING_CTX","options","SSR_BUILDER_CTX","onDispatchAction","onOptionsChange","scheduleUpdate","cb","flushUpdates","stackRef","current","SSR_SINGLE_NAV_CTX","register","unregister","SSR_NAV_REF","dispatch","navigate","reset","goBack","isFocused","canGoBack","getParent","getState","getRootState","getCurrentRoute","getCurrentOptions","isReady","addListener","removeListener","resetRoot","setOptions","setParams","popTo","pop","popToTop","push","replace","jumpTo","preload","getPartialState","state","key","routeNames","partial","stale","routes","map","route","stateCtxCache","WeakMap","getStateContext","initialState","getKey"],"sources":["../../../src/fork/SSRNavigationContainer.tsx"],"sourcesContent":[null],"mappings":"AAUA,SAASA,GAAA,IAAAC,IAAA,2BAAgC;AAEzC,SAASC,wBAAA,QAA8B;AAEvC,SAASC,sBAAA,QAA8B;AACvC,SAASC,sBAAA,iEAAoD;AAC7D,SAASC,6BAAsB,EAAAC,aAAA;AA4HjB,SAAAC,cAAA;AAzHd,OAAM,KAAAC,KAAO,MAAM;AAAC,IAAAC,IAAA,YAAAA,CAAA,GAGpB;AAGA,IAAAC,eAAM;EACJC,OAAA;AAAkB;AACD,IAAAC,eAAA;EAEjBC,gBAAgB,EAACJ,IAAA;EACjBK,eAAc,EAAAL,IAAA;EACd;EACFM,cAAA,WAAAA,CAAAC,EAAA;IAEA,OAAMA,EAAA;EACJ;EACAC,YAAY,EAAAR,IAAA;EACdS,QAAA;IAGAC,OAAM;EACJ;AAAU;AACA,IACVC,kBAAO;EACPC,QAAQ,EAAAZ,IAAA;EACRa,UAAA,EAAWb;AAAM;AACA,IACjBc,WAAW;EACXC,QAAA,EAAUf,IAAA;EACVgB,QAAA,EAAAhB,IAAc;EACdiB,KAAA,EAAAjB,IAAA;EACAkB,MAAA,EAAAlB,IAAA;EACAmB,SAAS,WAAAA,CAAA,EAAM;IACf,YAAa;EACb;EACAC,SAAA,EAAW,SAAAA,CAAA;IACX,YAAY;EAAA;EAEZC,SAAA,EAAW,SAAAA,CAAA;IACX,OAAO;EACP;EACAC,QAAA,EAAU,SAAAA,CAAA;IACV,OAAM;EACN;EACAC,YAAQ,WAAAA,CAAA;IACR,OAAS;EACX;EAEAC,eAAM,WAAAA,CAAA,EAAmB;IACvB,OAAK,KAAO;EACZ;EACAC,iBAAO,WAAAA,CAAA;IACL,OAAG;EAAA;EACIC,OACP,WAAAA,CAAA,EAAc;IAAO,OAAK;EAC0C;EAEtEC,WAAA,WAAAA,CAAA;IACF,OAAA3B,IAAA;EAIA;EAYA4B,cAAS,EAAA5B,IAAA;EACP6B,SAAK,EAAA7B,IAAA;EACH8B,UAAO,EAAA9B,IAAA;EAAA;EACE+B,SACP,EAAA/B,IAAQ;EAAMgC,KACd,EAAAhC,IAAA;EAAQiC,GAAA,EACRjC,IAAA;EAAgBkC,QAChB,EAAAlC,IAAU;EAAAmC,IACV,EAAAnC,IAAA;EAAoBoC,OACtB,EAAApC,IAAA;EACFqC,MAAA,EAAArC,IAAA;EAEAsC,OAAM,EAAAtC;AACN;AAEA,IAAAuC,eAAgB,YAAAA,CAAAC,KAAgB;EAChC,KAAAA,KAAM,EAAM;EAAA,IACV;IAAAC,GAAO;IAAAC,UAAA;IAAA,GAAAC;EAAA,IAAAH,KAAA;EAAA,OACP;IACA,GAAAG,OAAQ;IACRC,KAAA,MAAU;IACVC,MAAA,EAAAL,KAAU,CAAAK,MAAA,CAAAC,GAAA,WAAAC,KAAA;MACV,OAAAA,KAAc,CAAAP,KAAM;QACtB,GAAAO,KAAA;QACAP,KAAA,EAAAD,eAAkB,CAAAQ,KAAc,CAAGP,KAAA;MACnC,IAAOO,KAAA;IACT;EAEO;AAAgC;AACrC,IACAC,aAAA,sBAAAC,OAAA;AAAA,SACAC,gBAAAC,YAAA;EACA,KAAAA,YAAA;IAMC;MACDX,KAAM;MACNY,MACE,WAAAA,CAAA;QAYJ","ignoreList":[]}
@@ -1,26 +0,0 @@
1
- let renderingConfig = {};
2
- function setupRendering(config) {
3
- renderingConfig = {
4
- ...renderingConfig,
5
- Stack: {
6
- ...renderingConfig.Stack,
7
- ...config.Stack
8
- },
9
- Tabs: {
10
- ...renderingConfig.Tabs,
11
- ...config.Tabs
12
- },
13
- Drawer: {
14
- ...renderingConfig.Drawer,
15
- ...config.Drawer
16
- }
17
- };
18
- }
19
- function getRenderingConfig() {
20
- return renderingConfig;
21
- }
22
- function resetRenderingConfig() {
23
- renderingConfig = {};
24
- }
25
- export { getRenderingConfig, resetRenderingConfig, setupRendering };
26
- //# sourceMappingURL=renderingRegistry.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["renderingConfig","setupRendering","config","Stack","Tabs","Drawer","getRenderingConfig","resetRenderingConfig"],"sources":["../../../src/router/renderingRegistry.ts"],"sourcesContent":[null],"mappings":"AA2DA,IAAIA,eAAA,GAAmC,CAAC;AA4BjC,SAASC,eAAeC,MAAA,EAA+B;EAC5DF,eAAA,GAAkB;IAChB,GAAGA,eAAA;IACHG,KAAA,EAAO;MAAE,GAAGH,eAAA,CAAgBG,KAAA;MAAO,GAAGD,MAAA,CAAOC;IAAM;IACnDC,IAAA,EAAM;MAAE,GAAGJ,eAAA,CAAgBI,IAAA;MAAM,GAAGF,MAAA,CAAOE;IAAK;IAChDC,MAAA,EAAQ;MAAE,GAAGL,eAAA,CAAgBK,MAAA;MAAQ,GAAGH,MAAA,CAAOG;IAAO;EACxD;AACF;AAEO,SAASC,mBAAA,EAAsC;EACpD,OAAON,eAAA;AACT;AAMO,SAASO,qBAAA,EAA6B;EAC3CP,eAAA,GAAkB,CAAC;AACrB","ignoreList":[]}
@@ -1,26 +0,0 @@
1
- var renderingConfig = {};
2
- function setupRendering(config) {
3
- renderingConfig = {
4
- ...renderingConfig,
5
- Stack: {
6
- ...renderingConfig.Stack,
7
- ...config.Stack
8
- },
9
- Tabs: {
10
- ...renderingConfig.Tabs,
11
- ...config.Tabs
12
- },
13
- Drawer: {
14
- ...renderingConfig.Drawer,
15
- ...config.Drawer
16
- }
17
- };
18
- }
19
- function getRenderingConfig() {
20
- return renderingConfig;
21
- }
22
- function resetRenderingConfig() {
23
- renderingConfig = {};
24
- }
25
- export { getRenderingConfig, resetRenderingConfig, setupRendering };
26
- //# sourceMappingURL=renderingRegistry.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["renderingConfig","setupRendering","config","Stack","Tabs","Drawer"],"sources":["../../../src/router/renderingRegistry.ts"],"sourcesContent":[null],"mappings":"AA2DA,IAAIA,eAAA,GAAmC,CAAC;AA4BjC,SAASC,eAAeC,MAAA,EAA+B;EAC5DF,eAAA,GAAkB;IAChB,GAAGA,eAAA;IACHG,KAAA,EAAO;MACP,GAAAH,eAAW,CAAAG,KAAA;MACX,GAAAD,MAAU,CAAAC;IACZ;IACFC,IAAA;MAEO,GAASJ,eAAA,CAAAI,IAAA;MACd,GAAOF,MAAA,CAAAE;IACT;IAMOC,MAAS;MACd,GAAAL,eAAmB,CAAAK,MAAA;MACrB,GAAAH,MAAA,CAAAG","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- "use client";
2
-
3
- import { createContext, useContext } from "react";
4
- const StackRenderContext = createContext(void 0);
5
- const StackRenderProvider = StackRenderContext.Provider;
6
- function useStackRender() {
7
- return useContext(StackRenderContext);
8
- }
9
- export { StackRenderProvider, useStackRender };
10
- //# sourceMappingURL=ScreenRenderContext.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createContext","useContext","StackRenderContext","StackRenderProvider","Provider","useStackRender"],"sources":["../../../../src/router/web/ScreenRenderContext.tsx"],"sourcesContent":[null],"mappings":";;AAEA,SAASA,aAAA,EAAeC,UAAA,QAAsD;AAoD9E,MAAMC,kBAAA,GAAqBF,aAAA,CAAuC,MAAS;AAEpE,MAAMG,mBAAA,GAAsBD,kBAAA,CAAmBE,QAAA;AAE/C,SAASC,eAAA,EAA0C;EACxD,OAAOJ,UAAA,CAAWC,kBAAkB;AACtC","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- "use client";
2
-
3
- import { createContext, useContext } from "react";
4
- var StackRenderContext = /* @__PURE__ */createContext(void 0);
5
- var StackRenderProvider = StackRenderContext.Provider;
6
- function useStackRender() {
7
- return useContext(StackRenderContext);
8
- }
9
- export { StackRenderProvider, useStackRender };
10
- //# sourceMappingURL=ScreenRenderContext.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createContext","useContext","StackRenderContext","StackRenderProvider","Provider","useStackRender"],"sources":["../../../../src/router/web/ScreenRenderContext.tsx"],"sourcesContent":[null],"mappings":";;AAEA,SAASA,aAAA,EAAeC,UAAA,QAAsD;AAoD9E,IAAAC,kBAAM,kBAA4DF,aAAS;AAEpE,IAAAG,mBAAM,GAAAD,kBAAsB,CAAAE,QAAmB;AAE/C,SAASC,eAAA,EAA0C;EACxD,OAAOJ,UAAA,CAAWC,kBAAkB;AACtC","ignoreList":[]}
@@ -1,272 +0,0 @@
1
- import { describe, expect, it, vi } from "vitest";
2
- import React, { createElement, useId, useState } from "react";
3
- import TestRenderer, { act } from "react-test-renderer";
4
- import { WebStackView } from "../WebStackView.mjs";
5
- import { StackRenderProvider } from "../ScreenRenderContext.mjs";
6
- function makeRoute(name) {
7
- return {
8
- key: `${name}-key`,
9
- name,
10
- params: void 0
11
- };
12
- }
13
- function makeState(names, index) {
14
- return {
15
- key: "stack-1",
16
- index,
17
- routeNames: names,
18
- routes: names.map(makeRoute),
19
- type: "stack",
20
- stale: false,
21
- preloadedRoutes: []
22
- };
23
- }
24
- function makeDescriptors(perRoute) {
25
- const out = {};
26
- for (const name of Object.keys(perRoute)) {
27
- out[`${name}-key`] = {
28
- options: perRoute[name].options,
29
- render: () => perRoute[name].content,
30
- navigation: {}
31
- };
32
- }
33
- return out;
34
- }
35
- const KeepMountedRender = ({
36
- children,
37
- open
38
- }) => createElement("div", {
39
- "data-open": String(open),
40
- style: {
41
- display: open ? "block" : "none"
42
- }
43
- }, children);
44
- function IdProbe({
45
- onId
46
- }) {
47
- const id = useId();
48
- React.useEffect(() => {
49
- onId(id);
50
- }, [id, onId]);
51
- return createElement("span", {
52
- "data-id": id
53
- });
54
- }
55
- function MountProbe({
56
- onMount
57
- }) {
58
- React.useEffect(() => {
59
- onMount();
60
- }, [onMount]);
61
- return null;
62
- }
63
- function StatefulProbe({
64
- initial,
65
- onMount
66
- }) {
67
- const [value, setValue] = useState(initial);
68
- React.useEffect(() => {
69
- onMount(setValue);
70
- }, [onMount]);
71
- return createElement("span", {
72
- "data-value": String(value)
73
- });
74
- }
75
- describe("useId stability", () => {
76
- it("returns the same id across parent re-renders for the same mount", () => {
77
- const captured = [];
78
- const onId = id => captured.push(id);
79
- const state = makeState(["home", "sheet"], 1);
80
- const descriptors = makeDescriptors({
81
- home: {
82
- options: {
83
- presentation: "card"
84
- },
85
- content: null
86
- },
87
- sheet: {
88
- options: {
89
- presentation: "formSheet"
90
- },
91
- content: createElement(IdProbe, {
92
- onId
93
- })
94
- }
95
- });
96
- const navigation = {
97
- dispatch: vi.fn()
98
- };
99
- let testRoot;
100
- act(() => {
101
- testRoot = TestRenderer.create(createElement(StackRenderProvider, {
102
- value: {
103
- web: KeepMountedRender
104
- }
105
- }, createElement(WebStackView, {
106
- state,
107
- navigation,
108
- descriptors
109
- })));
110
- });
111
- const firstId = captured.at(-1);
112
- expect(firstId).toBeTruthy();
113
- act(() => {
114
- testRoot.update(createElement(StackRenderProvider, {
115
- value: {
116
- web: KeepMountedRender
117
- }
118
- }, createElement(WebStackView, {
119
- state,
120
- navigation,
121
- descriptors
122
- })));
123
- });
124
- const secondId = captured.at(-1);
125
- expect(secondId).toBe(firstId);
126
- });
127
- });
128
- describe("regular overlay (no keepMounted) lifecycle", () => {
129
- it("mounts once on open, unmounts on pop", () => {
130
- const mounts = [];
131
- const onMount = () => mounts.push(Date.now());
132
- const stateOpen = makeState(["home", "sheet"], 1);
133
- const stateClosed = makeState(["home"], 0);
134
- const descriptors = makeDescriptors({
135
- home: {
136
- options: {
137
- presentation: "card"
138
- },
139
- content: null
140
- },
141
- sheet: {
142
- options: {
143
- presentation: "formSheet"
144
- },
145
- content: createElement(MountProbe, {
146
- onMount
147
- })
148
- }
149
- });
150
- const navigation = {
151
- dispatch: vi.fn()
152
- };
153
- let testRoot;
154
- act(() => {
155
- testRoot = TestRenderer.create(createElement(StackRenderProvider, {
156
- value: {
157
- web: KeepMountedRender
158
- }
159
- }, createElement(WebStackView, {
160
- state: stateOpen,
161
- navigation,
162
- descriptors
163
- })));
164
- });
165
- expect(mounts).toHaveLength(1);
166
- act(() => {
167
- testRoot.update(createElement(StackRenderProvider, {
168
- value: {
169
- web: KeepMountedRender
170
- }
171
- }, createElement(WebStackView, {
172
- state: stateClosed,
173
- navigation,
174
- descriptors
175
- })));
176
- });
177
- expect(mounts).toHaveLength(1);
178
- act(() => {
179
- testRoot.update(createElement(StackRenderProvider, {
180
- value: {
181
- web: KeepMountedRender
182
- }
183
- }, createElement(WebStackView, {
184
- state: stateOpen,
185
- navigation,
186
- descriptors
187
- })));
188
- });
189
- expect(mounts).toHaveLength(2);
190
- });
191
- });
192
- describe("keepMounted overlay lifecycle", () => {
193
- it("survives dismissal: state persists when route is popped and re-opened", () => {
194
- const mounts = [];
195
- let setValue;
196
- const stateOpen = makeState(["home", "settings"], 1);
197
- const stateClosed = makeState(["home"], 0);
198
- const stableContent = createElement(StatefulProbe, {
199
- initial: 7,
200
- onMount: setter => {
201
- mounts.push(Date.now());
202
- setValue = setter;
203
- }
204
- });
205
- const descriptors = makeDescriptors({
206
- home: {
207
- options: {
208
- presentation: "card"
209
- },
210
- content: null
211
- },
212
- settings: {
213
- options: {
214
- presentation: "formSheet",
215
- keepMounted: true
216
- },
217
- content: stableContent
218
- }
219
- });
220
- const navigation = {
221
- dispatch: vi.fn()
222
- };
223
- let testRoot;
224
- act(() => {
225
- testRoot = TestRenderer.create(createElement(StackRenderProvider, {
226
- value: {
227
- web: KeepMountedRender
228
- }
229
- }, createElement(WebStackView, {
230
- state: stateOpen,
231
- navigation,
232
- descriptors
233
- })));
234
- });
235
- expect(mounts).toHaveLength(1);
236
- expect(typeof setValue).toBe("function");
237
- act(() => {
238
- setValue(42);
239
- });
240
- act(() => {
241
- testRoot.update(createElement(StackRenderProvider, {
242
- value: {
243
- web: KeepMountedRender
244
- }
245
- }, createElement(WebStackView, {
246
- state: stateClosed,
247
- navigation,
248
- // descriptor for 'settings' no longer present in state.routes -
249
- // we keep the same map so the captured slot still works.
250
- descriptors
251
- })));
252
- });
253
- expect(mounts).toHaveLength(1);
254
- act(() => {
255
- testRoot.update(createElement(StackRenderProvider, {
256
- value: {
257
- web: KeepMountedRender
258
- }
259
- }, createElement(WebStackView, {
260
- state: stateOpen,
261
- navigation,
262
- descriptors
263
- })));
264
- });
265
- expect(mounts).toHaveLength(1);
266
- const tree = testRoot.toJSON();
267
- const json = JSON.stringify(tree);
268
- expect(json).toContain('"data-value":"42"');
269
- expect(json).not.toContain('"data-value":"7"');
270
- });
271
- });
272
- //# sourceMappingURL=WebStackView.runtime.test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["describe","expect","it","vi","React","createElement","useId","useState","TestRenderer","act","WebStackView","StackRenderProvider","makeRoute","name","key","params","makeState","names","index","routeNames","routes","map","type","stale","preloadedRoutes","makeDescriptors","perRoute","out","Object","keys","options","render","content","navigation","KeepMountedRender","children","open","String","style","display","IdProbe","onId","id","useEffect","MountProbe","onMount","StatefulProbe","initial","value","setValue","captured","push","state","descriptors","home","presentation","sheet","dispatch","fn","testRoot","create","web","firstId","at","toBeTruthy","update","secondId","toBe","mounts","Date","now","stateOpen","stateClosed","toHaveLength","stableContent","setter","settings","keepMounted","tree","toJSON","json","JSON","stringify","toContain","not"],"sources":["../../../../../src/router/web/__tests__/WebStackView.runtime.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}