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,295 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __copyProps = (to, from, except, desc) => {
8
- if (from && typeof from === "object" || typeof from === "function") {
9
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
- get: () => from[key],
11
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
- });
13
- }
14
- return to;
15
- };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
22
- value: mod,
23
- enumerable: true
24
- }) : target, mod));
25
- var import_vitest = require("vitest");
26
- var import_react = __toESM(require("react"), 1);
27
- var import_react_test_renderer = __toESM(require("react-test-renderer"), 1);
28
- var import_WebStackView = require("../WebStackView.cjs");
29
- var import_ScreenRenderContext = require("../ScreenRenderContext.cjs");
30
- function makeRoute(name) {
31
- return {
32
- key: `${name}-key`,
33
- name,
34
- params: void 0
35
- };
36
- }
37
- function makeState(names, index) {
38
- return {
39
- key: "stack-1",
40
- index,
41
- routeNames: names,
42
- routes: names.map(makeRoute),
43
- type: "stack",
44
- stale: false,
45
- preloadedRoutes: []
46
- };
47
- }
48
- function makeDescriptors(perRoute) {
49
- const out = {};
50
- for (const name of Object.keys(perRoute)) {
51
- out[`${name}-key`] = {
52
- options: perRoute[name].options,
53
- render: () => perRoute[name].content,
54
- navigation: {}
55
- };
56
- }
57
- return out;
58
- }
59
- const KeepMountedRender = ({
60
- children,
61
- open
62
- }) => (0, import_react.createElement)("div", {
63
- "data-open": String(open),
64
- style: {
65
- display: open ? "block" : "none"
66
- }
67
- }, children);
68
- function IdProbe({
69
- onId
70
- }) {
71
- const id = (0, import_react.useId)();
72
- import_react.default.useEffect(() => {
73
- onId(id);
74
- }, [id, onId]);
75
- return (0, import_react.createElement)("span", {
76
- "data-id": id
77
- });
78
- }
79
- function MountProbe({
80
- onMount
81
- }) {
82
- import_react.default.useEffect(() => {
83
- onMount();
84
- }, [onMount]);
85
- return null;
86
- }
87
- function StatefulProbe({
88
- initial,
89
- onMount
90
- }) {
91
- const [value, setValue] = (0, import_react.useState)(initial);
92
- import_react.default.useEffect(() => {
93
- onMount(setValue);
94
- }, [onMount]);
95
- return (0, import_react.createElement)("span", {
96
- "data-value": String(value)
97
- });
98
- }
99
- (0, import_vitest.describe)("useId stability", () => {
100
- (0, import_vitest.it)("returns the same id across parent re-renders for the same mount", () => {
101
- const captured = [];
102
- const onId = id => captured.push(id);
103
- const state = makeState(["home", "sheet"], 1);
104
- const descriptors = makeDescriptors({
105
- home: {
106
- options: {
107
- presentation: "card"
108
- },
109
- content: null
110
- },
111
- sheet: {
112
- options: {
113
- presentation: "formSheet"
114
- },
115
- content: (0, import_react.createElement)(IdProbe, {
116
- onId
117
- })
118
- }
119
- });
120
- const navigation = {
121
- dispatch: import_vitest.vi.fn()
122
- };
123
- let testRoot;
124
- (0, import_react_test_renderer.act)(() => {
125
- testRoot = import_react_test_renderer.default.create((0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
126
- value: {
127
- web: KeepMountedRender
128
- }
129
- }, (0, import_react.createElement)(import_WebStackView.WebStackView, {
130
- state,
131
- navigation,
132
- descriptors
133
- })));
134
- });
135
- const firstId = captured.at(-1);
136
- (0, import_vitest.expect)(firstId).toBeTruthy();
137
- (0, import_react_test_renderer.act)(() => {
138
- testRoot.update((0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
139
- value: {
140
- web: KeepMountedRender
141
- }
142
- }, (0, import_react.createElement)(import_WebStackView.WebStackView, {
143
- state,
144
- navigation,
145
- descriptors
146
- })));
147
- });
148
- const secondId = captured.at(-1);
149
- (0, import_vitest.expect)(secondId).toBe(firstId);
150
- });
151
- });
152
- (0, import_vitest.describe)("regular overlay (no keepMounted) lifecycle", () => {
153
- (0, import_vitest.it)("mounts once on open, unmounts on pop", () => {
154
- const mounts = [];
155
- const onMount = () => mounts.push(Date.now());
156
- const stateOpen = makeState(["home", "sheet"], 1);
157
- const stateClosed = makeState(["home"], 0);
158
- const descriptors = makeDescriptors({
159
- home: {
160
- options: {
161
- presentation: "card"
162
- },
163
- content: null
164
- },
165
- sheet: {
166
- options: {
167
- presentation: "formSheet"
168
- },
169
- content: (0, import_react.createElement)(MountProbe, {
170
- onMount
171
- })
172
- }
173
- });
174
- const navigation = {
175
- dispatch: import_vitest.vi.fn()
176
- };
177
- let testRoot;
178
- (0, import_react_test_renderer.act)(() => {
179
- testRoot = import_react_test_renderer.default.create((0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
180
- value: {
181
- web: KeepMountedRender
182
- }
183
- }, (0, import_react.createElement)(import_WebStackView.WebStackView, {
184
- state: stateOpen,
185
- navigation,
186
- descriptors
187
- })));
188
- });
189
- (0, import_vitest.expect)(mounts).toHaveLength(1);
190
- (0, import_react_test_renderer.act)(() => {
191
- testRoot.update((0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
192
- value: {
193
- web: KeepMountedRender
194
- }
195
- }, (0, import_react.createElement)(import_WebStackView.WebStackView, {
196
- state: stateClosed,
197
- navigation,
198
- descriptors
199
- })));
200
- });
201
- (0, import_vitest.expect)(mounts).toHaveLength(1);
202
- (0, import_react_test_renderer.act)(() => {
203
- testRoot.update((0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
204
- value: {
205
- web: KeepMountedRender
206
- }
207
- }, (0, import_react.createElement)(import_WebStackView.WebStackView, {
208
- state: stateOpen,
209
- navigation,
210
- descriptors
211
- })));
212
- });
213
- (0, import_vitest.expect)(mounts).toHaveLength(2);
214
- });
215
- });
216
- (0, import_vitest.describe)("keepMounted overlay lifecycle", () => {
217
- (0, import_vitest.it)("survives dismissal: state persists when route is popped and re-opened", () => {
218
- const mounts = [];
219
- let setValue;
220
- const stateOpen = makeState(["home", "settings"], 1);
221
- const stateClosed = makeState(["home"], 0);
222
- const stableContent = (0, import_react.createElement)(StatefulProbe, {
223
- initial: 7,
224
- onMount: setter => {
225
- mounts.push(Date.now());
226
- setValue = setter;
227
- }
228
- });
229
- const descriptors = makeDescriptors({
230
- home: {
231
- options: {
232
- presentation: "card"
233
- },
234
- content: null
235
- },
236
- settings: {
237
- options: {
238
- presentation: "formSheet",
239
- keepMounted: true
240
- },
241
- content: stableContent
242
- }
243
- });
244
- const navigation = {
245
- dispatch: import_vitest.vi.fn()
246
- };
247
- let testRoot;
248
- (0, import_react_test_renderer.act)(() => {
249
- testRoot = import_react_test_renderer.default.create((0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
250
- value: {
251
- web: KeepMountedRender
252
- }
253
- }, (0, import_react.createElement)(import_WebStackView.WebStackView, {
254
- state: stateOpen,
255
- navigation,
256
- descriptors
257
- })));
258
- });
259
- (0, import_vitest.expect)(mounts).toHaveLength(1);
260
- (0, import_vitest.expect)(typeof setValue).toBe("function");
261
- (0, import_react_test_renderer.act)(() => {
262
- setValue(42);
263
- });
264
- (0, import_react_test_renderer.act)(() => {
265
- testRoot.update((0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
266
- value: {
267
- web: KeepMountedRender
268
- }
269
- }, (0, import_react.createElement)(import_WebStackView.WebStackView, {
270
- state: stateClosed,
271
- navigation,
272
- // descriptor for 'settings' no longer present in state.routes -
273
- // we keep the same map so the captured slot still works.
274
- descriptors
275
- })));
276
- });
277
- (0, import_vitest.expect)(mounts).toHaveLength(1);
278
- (0, import_react_test_renderer.act)(() => {
279
- testRoot.update((0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
280
- value: {
281
- web: KeepMountedRender
282
- }
283
- }, (0, import_react.createElement)(import_WebStackView.WebStackView, {
284
- state: stateOpen,
285
- navigation,
286
- descriptors
287
- })));
288
- });
289
- (0, import_vitest.expect)(mounts).toHaveLength(1);
290
- const tree = testRoot.toJSON();
291
- const json = JSON.stringify(tree);
292
- (0, import_vitest.expect)(json).toContain('"data-value":"42"');
293
- (0, import_vitest.expect)(json).not.toContain('"data-value":"7"');
294
- });
295
- });
@@ -1,335 +0,0 @@
1
- "use strict";
2
-
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
- get: () => from[key],
13
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
- });
15
- }
16
- return to;
17
- };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
19
- // If the importer is in node compatibility mode or this is not an ESM
20
- // file that has been converted to a CommonJS file using a Babel-
21
- // compatible transform (i.e. "__esModule" has not been set), then set
22
- // "default" to the CommonJS "module.exports" for node compatibility.
23
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
24
- value: mod,
25
- enumerable: true
26
- }) : target, mod));
27
- var import_vitest = require("vitest");
28
- var import_react = __toESM(require("react"), 1);
29
- var import_react_test_renderer = __toESM(require("react-test-renderer"), 1);
30
- var import_WebStackView = require("../WebStackView.native.js");
31
- var import_ScreenRenderContext = require("../ScreenRenderContext.native.js");
32
- function _type_of(obj) {
33
- "@swc/helpers - typeof";
34
-
35
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
36
- }
37
- function makeRoute(name) {
38
- return {
39
- key: `${name}-key`,
40
- name,
41
- params: void 0
42
- };
43
- }
44
- function makeState(names, index) {
45
- return {
46
- key: "stack-1",
47
- index,
48
- routeNames: names,
49
- routes: names.map(makeRoute),
50
- type: "stack",
51
- stale: false,
52
- preloadedRoutes: []
53
- };
54
- }
55
- function makeDescriptors(perRoute) {
56
- var out = {};
57
- var _iteratorNormalCompletion = true,
58
- _didIteratorError = false,
59
- _iteratorError = void 0;
60
- try {
61
- var _loop = function () {
62
- var name = _step.value;
63
- out[`${name}-key`] = {
64
- options: perRoute[name].options,
65
- render: function () {
66
- return perRoute[name].content;
67
- },
68
- navigation: {}
69
- };
70
- };
71
- for (var _iterator = Object.keys(perRoute)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
72
- } catch (err) {
73
- _didIteratorError = true;
74
- _iteratorError = err;
75
- } finally {
76
- try {
77
- if (!_iteratorNormalCompletion && _iterator.return != null) {
78
- _iterator.return();
79
- }
80
- } finally {
81
- if (_didIteratorError) {
82
- throw _iteratorError;
83
- }
84
- }
85
- }
86
- return out;
87
- }
88
- var KeepMountedRender = function (param) {
89
- var {
90
- children,
91
- open
92
- } = param;
93
- return /* @__PURE__ */(0, import_react.createElement)("div", {
94
- "data-open": String(open),
95
- style: {
96
- display: open ? "block" : "none"
97
- }
98
- }, children);
99
- };
100
- function IdProbe(param) {
101
- var {
102
- onId
103
- } = param;
104
- var id = (0, import_react.useId)();
105
- import_react.default.useEffect(function () {
106
- onId(id);
107
- }, [id, onId]);
108
- return /* @__PURE__ */(0, import_react.createElement)("span", {
109
- "data-id": id
110
- });
111
- }
112
- function MountProbe(param) {
113
- var {
114
- onMount
115
- } = param;
116
- import_react.default.useEffect(function () {
117
- onMount();
118
- }, [onMount]);
119
- return null;
120
- }
121
- function StatefulProbe(param) {
122
- var {
123
- initial,
124
- onMount
125
- } = param;
126
- var [value, setValue] = (0, import_react.useState)(initial);
127
- import_react.default.useEffect(function () {
128
- onMount(setValue);
129
- }, [onMount]);
130
- return /* @__PURE__ */(0, import_react.createElement)("span", {
131
- "data-value": String(value)
132
- });
133
- }
134
- (0, import_vitest.describe)("useId stability", function () {
135
- (0, import_vitest.it)("returns the same id across parent re-renders for the same mount", function () {
136
- var captured = [];
137
- var onId = function (id) {
138
- return captured.push(id);
139
- };
140
- var state = makeState(["home", "sheet"], 1);
141
- var descriptors = makeDescriptors({
142
- home: {
143
- options: {
144
- presentation: "card"
145
- },
146
- content: null
147
- },
148
- sheet: {
149
- options: {
150
- presentation: "formSheet"
151
- },
152
- content: /* @__PURE__ */(0, import_react.createElement)(IdProbe, {
153
- onId
154
- })
155
- }
156
- });
157
- var navigation = {
158
- dispatch: import_vitest.vi.fn()
159
- };
160
- var testRoot;
161
- (0, import_react_test_renderer.act)(function () {
162
- testRoot = import_react_test_renderer.default.create(/* @__PURE__ */(0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
163
- value: {
164
- web: KeepMountedRender
165
- }
166
- }, /* @__PURE__ */(0, import_react.createElement)(import_WebStackView.WebStackView, {
167
- state,
168
- navigation,
169
- descriptors
170
- })));
171
- });
172
- var firstId = captured.at(-1);
173
- (0, import_vitest.expect)(firstId).toBeTruthy();
174
- (0, import_react_test_renderer.act)(function () {
175
- testRoot.update(/* @__PURE__ */(0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
176
- value: {
177
- web: KeepMountedRender
178
- }
179
- }, /* @__PURE__ */(0, import_react.createElement)(import_WebStackView.WebStackView, {
180
- state,
181
- navigation,
182
- descriptors
183
- })));
184
- });
185
- var secondId = captured.at(-1);
186
- (0, import_vitest.expect)(secondId).toBe(firstId);
187
- });
188
- });
189
- (0, import_vitest.describe)("regular overlay (no keepMounted) lifecycle", function () {
190
- (0, import_vitest.it)("mounts once on open, unmounts on pop", function () {
191
- var mounts = [];
192
- var onMount = function () {
193
- return mounts.push(Date.now());
194
- };
195
- var stateOpen = makeState(["home", "sheet"], 1);
196
- var stateClosed = makeState(["home"], 0);
197
- var descriptors = makeDescriptors({
198
- home: {
199
- options: {
200
- presentation: "card"
201
- },
202
- content: null
203
- },
204
- sheet: {
205
- options: {
206
- presentation: "formSheet"
207
- },
208
- content: /* @__PURE__ */(0, import_react.createElement)(MountProbe, {
209
- onMount
210
- })
211
- }
212
- });
213
- var navigation = {
214
- dispatch: import_vitest.vi.fn()
215
- };
216
- var testRoot;
217
- (0, import_react_test_renderer.act)(function () {
218
- testRoot = import_react_test_renderer.default.create(/* @__PURE__ */(0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
219
- value: {
220
- web: KeepMountedRender
221
- }
222
- }, /* @__PURE__ */(0, import_react.createElement)(import_WebStackView.WebStackView, {
223
- state: stateOpen,
224
- navigation,
225
- descriptors
226
- })));
227
- });
228
- (0, import_vitest.expect)(mounts).toHaveLength(1);
229
- (0, import_react_test_renderer.act)(function () {
230
- testRoot.update(/* @__PURE__ */(0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
231
- value: {
232
- web: KeepMountedRender
233
- }
234
- }, /* @__PURE__ */(0, import_react.createElement)(import_WebStackView.WebStackView, {
235
- state: stateClosed,
236
- navigation,
237
- descriptors
238
- })));
239
- });
240
- (0, import_vitest.expect)(mounts).toHaveLength(1);
241
- (0, import_react_test_renderer.act)(function () {
242
- testRoot.update(/* @__PURE__ */(0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
243
- value: {
244
- web: KeepMountedRender
245
- }
246
- }, /* @__PURE__ */(0, import_react.createElement)(import_WebStackView.WebStackView, {
247
- state: stateOpen,
248
- navigation,
249
- descriptors
250
- })));
251
- });
252
- (0, import_vitest.expect)(mounts).toHaveLength(2);
253
- });
254
- });
255
- (0, import_vitest.describe)("keepMounted overlay lifecycle", function () {
256
- (0, import_vitest.it)("survives dismissal: state persists when route is popped and re-opened", function () {
257
- var mounts = [];
258
- var setValue;
259
- var stateOpen = makeState(["home", "settings"], 1);
260
- var stateClosed = makeState(["home"], 0);
261
- var stableContent = /* @__PURE__ */(0, import_react.createElement)(StatefulProbe, {
262
- initial: 7,
263
- onMount: function (setter) {
264
- mounts.push(Date.now());
265
- setValue = setter;
266
- }
267
- });
268
- var descriptors = makeDescriptors({
269
- home: {
270
- options: {
271
- presentation: "card"
272
- },
273
- content: null
274
- },
275
- settings: {
276
- options: {
277
- presentation: "formSheet",
278
- keepMounted: true
279
- },
280
- content: stableContent
281
- }
282
- });
283
- var navigation = {
284
- dispatch: import_vitest.vi.fn()
285
- };
286
- var testRoot;
287
- (0, import_react_test_renderer.act)(function () {
288
- testRoot = import_react_test_renderer.default.create(/* @__PURE__ */(0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
289
- value: {
290
- web: KeepMountedRender
291
- }
292
- }, /* @__PURE__ */(0, import_react.createElement)(import_WebStackView.WebStackView, {
293
- state: stateOpen,
294
- navigation,
295
- descriptors
296
- })));
297
- });
298
- (0, import_vitest.expect)(mounts).toHaveLength(1);
299
- (0, import_vitest.expect)(typeof setValue === "undefined" ? "undefined" : _type_of(setValue)).toBe("function");
300
- (0, import_react_test_renderer.act)(function () {
301
- setValue(42);
302
- });
303
- (0, import_react_test_renderer.act)(function () {
304
- testRoot.update(/* @__PURE__ */(0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
305
- value: {
306
- web: KeepMountedRender
307
- }
308
- }, /* @__PURE__ */(0, import_react.createElement)(import_WebStackView.WebStackView, {
309
- state: stateClosed,
310
- navigation,
311
- // descriptor for 'settings' no longer present in state.routes -
312
- // we keep the same map so the captured slot still works.
313
- descriptors
314
- })));
315
- });
316
- (0, import_vitest.expect)(mounts).toHaveLength(1);
317
- (0, import_react_test_renderer.act)(function () {
318
- testRoot.update(/* @__PURE__ */(0, import_react.createElement)(import_ScreenRenderContext.StackRenderProvider, {
319
- value: {
320
- web: KeepMountedRender
321
- }
322
- }, /* @__PURE__ */(0, import_react.createElement)(import_WebStackView.WebStackView, {
323
- state: stateOpen,
324
- navigation,
325
- descriptors
326
- })));
327
- });
328
- (0, import_vitest.expect)(mounts).toHaveLength(1);
329
- var tree = testRoot.toJSON();
330
- var json = JSON.stringify(tree);
331
- (0, import_vitest.expect)(json).toContain('"data-value":"42"');
332
- (0, import_vitest.expect)(json).not.toContain('"data-value":"7"');
333
- });
334
- });
335
- //# sourceMappingURL=WebStackView.runtime.test.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["import_vitest","require","import_react","__toESM","import_react_test_renderer","import_WebStackView","import_ScreenRenderContext","_type_of","obj","Symbol","constructor","makeRoute","name","key","params","makeState","names","index","routeNames","routes","map","type","stale","preloadedRoutes","makeDescriptors","perRoute","out","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","_step","value","options","render","content","navigation","_iterator","Object","keys","iterator","next","done","err","return","KeepMountedRender","param","children","open","createElement","String","style","display","IdProbe","onId","id","useId","default","useEffect","MountProbe","onMount","StatefulProbe","initial","setValue","useState","describe","it","captured","push","state","descriptors","home","presentation","sheet","dispatch","vi","fn","testRoot","act","create","StackRenderProvider","web","WebStackView","firstId","at","expect","toBeTruthy","update","secondId","toBe","mounts","Date","now","stateOpen","stateClosed","toHaveLength"],"sources":["../../../../../src/router/web/__tests__/WebStackView.runtime.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}