one 1.1.389 → 1.1.391
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.
- package/dist/cjs/Root.cjs +13 -28
- package/dist/cjs/Root.js +15 -26
- package/dist/cjs/Root.js.map +1 -1
- package/dist/cjs/Root.native.js +25 -26
- package/dist/cjs/Root.native.js.map +2 -2
- package/dist/cjs/cli/build.cjs +1 -1
- package/dist/cjs/cli/build.js +1 -1
- package/dist/cjs/cli/build.js.map +1 -1
- package/dist/cjs/cli/build.native.js +1 -1
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/constants.cjs +5 -1
- package/dist/cjs/constants.js +3 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/constants.native.js +5 -1
- package/dist/cjs/constants.native.js.map +2 -2
- package/dist/cjs/createApp.cjs +22 -82
- package/dist/cjs/createApp.js +17 -75
- package/dist/cjs/createApp.js.map +1 -1
- package/dist/cjs/createApp.native.js +0 -1
- package/dist/cjs/createApp.native.js.map +2 -2
- package/dist/cjs/createHandleRequest.cjs +1 -1
- package/dist/cjs/createHandleRequest.js +1 -1
- package/dist/cjs/createHandleRequest.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js +1 -1
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/fork/NavigationContainer.cjs +49 -31
- package/dist/cjs/fork/NavigationContainer.js +40 -21
- package/dist/cjs/fork/NavigationContainer.js.map +2 -2
- package/dist/cjs/fork/NavigationContainer.native.js +51 -29
- package/dist/cjs/fork/NavigationContainer.native.js.map +2 -2
- package/dist/cjs/fork/createMemoryHistory.cjs +4 -3
- package/dist/cjs/fork/createMemoryHistory.js +3 -2
- package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
- package/dist/cjs/fork/createMemoryHistory.native.js +8 -4
- package/dist/cjs/fork/createMemoryHistory.native.js.map +2 -2
- package/dist/cjs/fork/extractPathFromURL.cjs +48 -28
- package/dist/cjs/fork/extractPathFromURL.js +44 -21
- package/dist/cjs/fork/extractPathFromURL.js.map +2 -2
- package/dist/cjs/fork/extractPathFromURL.native.js +58 -26
- package/dist/cjs/fork/extractPathFromURL.native.js.map +2 -2
- package/dist/cjs/fork/findFocusedRoute.js.map +1 -1
- package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState-mods.cjs +65 -0
- package/dist/cjs/fork/getPathFromState-mods.js +56 -0
- package/dist/cjs/fork/getPathFromState-mods.js.map +6 -0
- package/dist/cjs/fork/getPathFromState-mods.native.js +70 -0
- package/dist/cjs/fork/getPathFromState-mods.native.js.map +6 -0
- package/dist/cjs/fork/getPathFromState.cjs +75 -224
- package/dist/cjs/fork/getPathFromState.js +68 -223
- package/dist/cjs/fork/getPathFromState.js.map +2 -2
- package/dist/cjs/fork/getPathFromState.native.js +79 -261
- package/dist/cjs/fork/getPathFromState.native.js.map +2 -2
- package/dist/cjs/fork/getStateFromPath-mods.cjs +187 -0
- package/dist/cjs/fork/getStateFromPath-mods.js +199 -0
- package/dist/cjs/fork/getStateFromPath-mods.js.map +6 -0
- package/dist/cjs/fork/getStateFromPath-mods.native.js +284 -0
- package/dist/cjs/fork/getStateFromPath-mods.native.js.map +6 -0
- package/dist/cjs/fork/getStateFromPath.cjs +181 -263
- package/dist/cjs/fork/getStateFromPath.js +148 -264
- package/dist/cjs/fork/getStateFromPath.js.map +2 -2
- package/dist/cjs/fork/getStateFromPath.native.js +164 -304
- package/dist/cjs/fork/getStateFromPath.native.js.map +2 -2
- package/dist/cjs/fork/useBackButton.js.map +1 -1
- package/dist/cjs/fork/useBackButton.native.js.map +1 -1
- package/dist/cjs/fork/useDocumentTitle.js +4 -1
- package/dist/cjs/fork/useDocumentTitle.js.map +1 -1
- package/dist/cjs/fork/useDocumentTitle.native.js +1 -1
- package/dist/cjs/fork/useDocumentTitle.native.js.map +2 -2
- package/dist/cjs/fork/useLinking.cjs +21 -24
- package/dist/cjs/fork/useLinking.js +21 -25
- package/dist/cjs/fork/useLinking.js.map +2 -2
- package/dist/cjs/fork/useLinking.native.js +68 -66
- package/dist/cjs/fork/useLinking.native.js.map +2 -2
- package/dist/cjs/fork/useThenable.js.map +1 -1
- package/dist/cjs/fork/useThenable.native.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.cjs +32 -11
- package/dist/cjs/fork/validatePathConfig.js +41 -11
- package/dist/cjs/fork/validatePathConfig.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.native.js +47 -18
- package/dist/cjs/fork/validatePathConfig.native.js.map +2 -2
- package/dist/cjs/getReactNavigationConfig.cjs +1 -1
- package/dist/cjs/getReactNavigationConfig.js +1 -1
- package/dist/cjs/getReactNavigationConfig.native.js +1 -1
- package/dist/cjs/hooks.cjs +2 -2
- package/dist/cjs/hooks.js +1 -1
- package/dist/cjs/hooks.js.map +1 -1
- package/dist/cjs/hooks.native.js +1 -1
- package/dist/cjs/hooks.native.js.map +1 -1
- package/dist/cjs/index.cjs +3 -3
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +2 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.cjs +3 -3
- package/dist/cjs/layouts/withLayoutContext.js +2 -2
- package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.native.js +2 -2
- package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/cjs/link/linking.cjs +4 -4
- package/dist/cjs/link/linking.js +3 -3
- package/dist/cjs/link/linking.js.map +2 -2
- package/dist/cjs/link/linking.native.js +3 -3
- package/dist/cjs/link/linking.native.js.map +1 -1
- package/dist/cjs/link/useLinkTo.cjs +3 -3
- package/dist/cjs/link/useLinkTo.js +2 -2
- package/dist/cjs/link/useLinkTo.js.map +1 -1
- package/dist/cjs/link/useLinkTo.native.js +2 -2
- package/dist/cjs/link/useLinkTo.native.js.map +1 -1
- package/dist/cjs/render.cjs +3 -2
- package/dist/cjs/render.js +3 -2
- package/dist/cjs/render.js.map +1 -1
- package/dist/cjs/{Route.js.map → router/Route.js.map} +1 -1
- package/dist/cjs/{Route.native.js.map → router/Route.native.js.map} +1 -1
- package/dist/cjs/{createRoute.cjs → router/createRoute.cjs} +1 -1
- package/dist/cjs/{createRoute.js → router/createRoute.js} +1 -1
- package/dist/cjs/{createRoute.js.map → router/createRoute.js.map} +1 -1
- package/dist/cjs/{createRoute.native.js → router/createRoute.native.js} +1 -1
- package/dist/cjs/{createRoute.native.js.map → router/createRoute.native.js.map} +1 -1
- package/dist/cjs/router/filterRootHTML.cjs +62 -0
- package/dist/cjs/router/filterRootHTML.js +49 -0
- package/dist/cjs/router/filterRootHTML.js.map +6 -0
- package/dist/cjs/router/filterRootHTML.native.js +55 -0
- package/dist/cjs/router/filterRootHTML.native.js.map +6 -0
- package/dist/cjs/{getLinkingConfig.cjs → router/getLinkingConfig.cjs} +2 -2
- package/dist/cjs/{getLinkingConfig.js → router/getLinkingConfig.js} +1 -1
- package/dist/cjs/router/getLinkingConfig.js.map +6 -0
- package/dist/cjs/{getLinkingConfig.native.js → router/getLinkingConfig.native.js} +1 -1
- package/dist/cjs/router/getLinkingConfig.native.js.map +6 -0
- package/dist/cjs/router/getNormalizedStatePath.cjs +2 -2
- package/dist/cjs/router/getNormalizedStatePath.js +2 -2
- package/dist/cjs/router/getNormalizedStatePath.js.map +1 -1
- package/dist/cjs/router/getNormalizedStatePath.native.js +2 -2
- package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/cjs/{getRoutes.cjs → router/getRoutes.cjs} +3 -3
- package/dist/cjs/{getRoutes.js → router/getRoutes.js} +2 -2
- package/dist/cjs/{getRoutes.js.map → router/getRoutes.js.map} +2 -2
- package/dist/cjs/{getRoutes.native.js → router/getRoutes.native.js} +2 -2
- package/dist/cjs/{getRoutes.native.js.map → router/getRoutes.native.js.map} +2 -2
- package/dist/cjs/{imperative-api.cjs → router/imperative-api.cjs} +1 -1
- package/dist/cjs/{imperative-api.js → router/imperative-api.js} +1 -1
- package/dist/cjs/{imperative-api.js.map → router/imperative-api.js.map} +1 -1
- package/dist/cjs/{imperative-api.native.js → router/imperative-api.native.js} +1 -1
- package/dist/cjs/{imperative-api.native.js.map → router/imperative-api.native.js.map} +2 -2
- package/dist/cjs/{matchers.js.map → router/matchers.js.map} +1 -1
- package/dist/cjs/{matchers.native.js.map → router/matchers.native.js.map} +1 -1
- package/dist/cjs/router/router.cjs +25 -9
- package/dist/cjs/router/router.js +25 -3
- package/dist/cjs/router/router.js.map +1 -1
- package/dist/cjs/router/router.native.js +39 -3
- package/dist/cjs/router/router.native.js.map +2 -2
- package/dist/cjs/{sortRoutes.js.map → router/sortRoutes.js.map} +1 -1
- package/dist/cjs/{sortRoutes.native.js.map → router/sortRoutes.native.js.map} +1 -1
- package/dist/cjs/{useNavigation.js.map → router/useNavigation.js.map} +1 -1
- package/dist/cjs/{useNavigation.native.js.map → router/useNavigation.native.js.map} +1 -1
- package/dist/cjs/{useScreens.cjs → router/useScreens.cjs} +57 -6
- package/dist/cjs/{useScreens.js → router/useScreens.js} +29 -3
- package/dist/cjs/router/useScreens.js.map +6 -0
- package/dist/cjs/{useScreens.native.js → router/useScreens.native.js} +10 -3
- package/dist/cjs/router/useScreens.native.js.map +6 -0
- package/dist/cjs/{useViteRoutes.js.map → router/useViteRoutes.js.map} +1 -1
- package/dist/cjs/{useViteRoutes.native.js.map → router/useViteRoutes.native.js.map} +1 -1
- package/dist/cjs/server/createRoutesManifest.cjs +1 -1
- package/dist/cjs/server/createRoutesManifest.js +1 -1
- package/dist/cjs/server/createRoutesManifest.js.map +1 -1
- package/dist/cjs/server/createRoutesManifest.native.js +1 -1
- package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
- package/dist/cjs/server/getServerManifest.cjs +2 -2
- package/dist/cjs/server/getServerManifest.js +1 -1
- package/dist/cjs/server/getServerManifest.js.map +1 -1
- package/dist/cjs/server/getServerManifest.native.js +1 -1
- package/dist/cjs/server/getServerManifest.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +1 -1
- package/dist/cjs/server/oneServe.js +1 -1
- package/dist/cjs/server/oneServe.js.map +1 -1
- package/dist/cjs/server/oneServe.native.js +1 -1
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.cjs +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.js +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.js.map +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.native.js +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.cjs +2 -2
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/cjs/useLoader.cjs +2 -2
- package/dist/cjs/useLoader.js +1 -1
- package/dist/cjs/useLoader.js.map +1 -1
- package/dist/cjs/useLoader.native.js +1 -1
- package/dist/cjs/useLoader.native.js.map +1 -1
- package/dist/cjs/{cleanUrl.cjs → utils/cleanUrl.cjs} +3 -3
- package/dist/cjs/{cleanUrl.js → utils/cleanUrl.js} +1 -1
- package/dist/cjs/{cleanUrl.js.map → utils/cleanUrl.js.map} +2 -2
- package/dist/cjs/{cleanUrl.native.js → utils/cleanUrl.native.js} +1 -1
- package/dist/cjs/{cleanUrl.native.js.map → utils/cleanUrl.native.js.map} +2 -2
- package/dist/cjs/{platform.js.map → utils/platform.js.map} +1 -1
- package/dist/cjs/{platform.native.js.map → utils/platform.native.js.map} +1 -1
- package/dist/cjs/utils/redirect.cjs +1 -1
- package/dist/cjs/utils/redirect.js +1 -1
- package/dist/cjs/utils/redirect.native.js +1 -1
- package/dist/cjs/utils/redirect.native.js.map +1 -1
- package/dist/cjs/utils/serverContext.cjs +54 -0
- package/dist/cjs/utils/serverContext.js +51 -0
- package/dist/cjs/utils/serverContext.js.map +6 -0
- package/dist/cjs/utils/serverContext.native.js +55 -0
- package/dist/cjs/utils/serverContext.native.js.map +6 -0
- package/dist/cjs/utils/useConstant.cjs +44 -0
- package/dist/cjs/utils/useConstant.js +35 -0
- package/dist/cjs/utils/useConstant.js.map +6 -0
- package/dist/cjs/utils/useConstant.native.js +44 -0
- package/dist/cjs/utils/useConstant.native.js.map +6 -0
- package/dist/cjs/views/EmptyRoute.cjs +1 -1
- package/dist/cjs/views/EmptyRoute.js +1 -1
- package/dist/cjs/views/EmptyRoute.native.js +1 -1
- package/dist/cjs/views/LoadProgressBar.cjs +1 -1
- package/dist/cjs/views/LoadProgressBar.js +1 -1
- package/dist/cjs/views/LoadProgressBar.js.map +1 -1
- package/dist/cjs/views/LoadProgressBar.native.js +1 -1
- package/dist/cjs/views/LoadProgressBar.native.js.map +1 -1
- package/dist/cjs/views/Navigator.cjs +2 -2
- package/dist/cjs/views/Navigator.js +1 -1
- package/dist/cjs/views/Navigator.js.map +1 -1
- package/dist/cjs/views/Navigator.native.js +1 -1
- package/dist/cjs/views/Navigator.native.js.map +1 -1
- package/dist/cjs/views/Screen.cjs +1 -1
- package/dist/cjs/views/Screen.js +1 -1
- package/dist/cjs/views/Screen.native.js +1 -1
- package/dist/cjs/vite/DevHead.cjs +59 -0
- package/dist/cjs/vite/DevHead.js +54 -0
- package/dist/cjs/vite/DevHead.js.map +6 -0
- package/dist/cjs/vite/DevHead.native.js +29 -0
- package/dist/cjs/vite/DevHead.native.js.map +6 -0
- package/dist/cjs/vite/plugins/SSRCSSPlugin.cjs +6 -8
- package/dist/cjs/vite/plugins/SSRCSSPlugin.js +6 -8
- package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js +7 -9
- package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +2 -2
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +8 -4
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +10 -5
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +11 -6
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +2 -2
- package/dist/cjs/zero/useQuery.cjs +3 -2
- package/dist/cjs/zero/useQuery.js +2 -2
- package/dist/cjs/zero/useQuery.js.map +1 -1
- package/dist/cjs/zero/useQuery.native.js +1 -1
- package/dist/cjs/zero/useQuery.native.js.map +2 -2
- package/dist/esm/Root.js +16 -19
- package/dist/esm/Root.js.map +1 -1
- package/dist/esm/Root.mjs +9 -13
- package/dist/esm/Root.mjs.map +1 -1
- package/dist/esm/Root.native.js +26 -19
- package/dist/esm/Root.native.js.map +2 -2
- package/dist/esm/cli/build.js +1 -1
- package/dist/esm/cli/build.mjs +1 -1
- package/dist/esm/cli/build.native.js +1 -1
- package/dist/esm/constants.js +3 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/constants.mjs +4 -2
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +3 -1
- package/dist/esm/constants.native.js.map +2 -2
- package/dist/esm/createApp.js +22 -76
- package/dist/esm/createApp.js.map +1 -1
- package/dist/esm/createApp.mjs +23 -83
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/createApp.native.js +0 -1
- package/dist/esm/createApp.native.js.map +2 -2
- package/dist/esm/createHandleRequest.js +1 -1
- package/dist/esm/createHandleRequest.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs +1 -1
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js +1 -1
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/fork/NavigationContainer.js +43 -20
- package/dist/esm/fork/NavigationContainer.js.map +1 -1
- package/dist/esm/fork/NavigationContainer.mjs +42 -24
- package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
- package/dist/esm/fork/NavigationContainer.native.js +44 -24
- package/dist/esm/fork/NavigationContainer.native.js.map +2 -2
- package/dist/esm/fork/createMemoryHistory.js +3 -2
- package/dist/esm/fork/createMemoryHistory.js.map +1 -1
- package/dist/esm/fork/createMemoryHistory.mjs +4 -3
- package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
- package/dist/esm/fork/createMemoryHistory.native.js +4 -4
- package/dist/esm/fork/createMemoryHistory.native.js.map +2 -2
- package/dist/esm/fork/extractPathFromURL.js +42 -11
- package/dist/esm/fork/extractPathFromURL.js.map +1 -1
- package/dist/esm/fork/extractPathFromURL.mjs +39 -11
- package/dist/esm/fork/extractPathFromURL.mjs.map +1 -1
- package/dist/esm/fork/extractPathFromURL.native.js +52 -15
- package/dist/esm/fork/extractPathFromURL.native.js.map +2 -2
- package/dist/esm/fork/findFocusedRoute.js.map +1 -1
- package/dist/esm/fork/findFocusedRoute.mjs.map +1 -1
- package/dist/esm/fork/findFocusedRoute.native.js.map +1 -1
- package/dist/esm/fork/getPathFromState-mods.js +40 -0
- package/dist/esm/fork/getPathFromState-mods.js.map +6 -0
- package/dist/esm/fork/getPathFromState-mods.mjs +40 -0
- package/dist/esm/fork/getPathFromState-mods.mjs.map +1 -0
- package/dist/esm/fork/getPathFromState-mods.native.js +47 -0
- package/dist/esm/fork/getPathFromState-mods.native.js.map +6 -0
- package/dist/esm/fork/getPathFromState.js +71 -228
- package/dist/esm/fork/getPathFromState.js.map +2 -2
- package/dist/esm/fork/getPathFromState.mjs +73 -221
- package/dist/esm/fork/getPathFromState.mjs.map +1 -1
- package/dist/esm/fork/getPathFromState.native.js +79 -260
- package/dist/esm/fork/getPathFromState.native.js.map +2 -2
- package/dist/esm/fork/getStateFromPath-mods.js +176 -0
- package/dist/esm/fork/getStateFromPath-mods.js.map +6 -0
- package/dist/esm/fork/getStateFromPath-mods.mjs +143 -0
- package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -0
- package/dist/esm/fork/getStateFromPath-mods.native.js +246 -0
- package/dist/esm/fork/getStateFromPath-mods.native.js.map +6 -0
- package/dist/esm/fork/getStateFromPath.js +160 -265
- package/dist/esm/fork/getStateFromPath.js.map +2 -2
- package/dist/esm/fork/getStateFromPath.mjs +181 -260
- package/dist/esm/fork/getStateFromPath.mjs.map +1 -1
- package/dist/esm/fork/getStateFromPath.native.js +164 -302
- package/dist/esm/fork/getStateFromPath.native.js.map +2 -2
- package/dist/esm/fork/useBackButton.js.map +1 -1
- package/dist/esm/fork/useBackButton.mjs.map +1 -1
- package/dist/esm/fork/useBackButton.native.js.map +1 -1
- package/dist/esm/fork/useDocumentTitle.js +4 -1
- package/dist/esm/fork/useDocumentTitle.js.map +1 -1
- package/dist/esm/fork/useDocumentTitle.mjs.map +1 -1
- package/dist/esm/fork/useDocumentTitle.native.js +1 -1
- package/dist/esm/fork/useDocumentTitle.native.js.map +2 -2
- package/dist/esm/fork/useLinking.js +22 -26
- package/dist/esm/fork/useLinking.js.map +1 -1
- package/dist/esm/fork/useLinking.mjs +20 -23
- package/dist/esm/fork/useLinking.mjs.map +1 -1
- package/dist/esm/fork/useLinking.native.js +65 -67
- package/dist/esm/fork/useLinking.native.js.map +2 -2
- package/dist/esm/fork/useThenable.js.map +1 -1
- package/dist/esm/fork/useThenable.mjs.map +1 -1
- package/dist/esm/fork/useThenable.native.js.map +1 -1
- package/dist/esm/fork/validatePathConfig.js +41 -11
- package/dist/esm/fork/validatePathConfig.js.map +1 -1
- package/dist/esm/fork/validatePathConfig.mjs +32 -11
- package/dist/esm/fork/validatePathConfig.mjs.map +1 -1
- package/dist/esm/fork/validatePathConfig.native.js +43 -18
- package/dist/esm/fork/validatePathConfig.native.js.map +2 -2
- package/dist/esm/getReactNavigationConfig.js +1 -1
- package/dist/esm/getReactNavigationConfig.mjs +1 -1
- package/dist/esm/getReactNavigationConfig.native.js +1 -1
- package/dist/esm/hooks.js +2 -2
- package/dist/esm/hooks.mjs +2 -2
- package/dist/esm/hooks.native.js +2 -2
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/index.native.js +3 -3
- package/dist/esm/layouts/withLayoutContext.js +3 -3
- package/dist/esm/layouts/withLayoutContext.js.map +1 -1
- package/dist/esm/layouts/withLayoutContext.mjs +3 -3
- package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
- package/dist/esm/layouts/withLayoutContext.native.js +3 -3
- package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/esm/link/linking.js +2 -2
- package/dist/esm/link/linking.js.map +1 -1
- package/dist/esm/link/linking.mjs +2 -2
- package/dist/esm/link/linking.mjs.map +1 -1
- package/dist/esm/link/linking.native.js +2 -2
- package/dist/esm/link/linking.native.js.map +1 -1
- package/dist/esm/link/useLinkTo.js +2 -2
- package/dist/esm/link/useLinkTo.mjs +2 -2
- package/dist/esm/link/useLinkTo.native.js +2 -2
- package/dist/esm/render.js +3 -2
- package/dist/esm/render.js.map +1 -1
- package/dist/esm/render.mjs +3 -2
- package/dist/esm/render.mjs.map +1 -1
- package/dist/esm/{Route.js.map → router/Route.js.map} +1 -1
- package/dist/esm/router/Route.mjs.map +1 -0
- package/dist/esm/{Route.native.js.map → router/Route.native.js.map} +1 -1
- package/dist/esm/{createRoute.js → router/createRoute.js} +1 -1
- package/dist/esm/{createRoute.js.map → router/createRoute.js.map} +1 -1
- package/dist/esm/{createRoute.mjs → router/createRoute.mjs} +1 -1
- package/dist/esm/router/createRoute.mjs.map +1 -0
- package/dist/esm/{createRoute.native.js → router/createRoute.native.js} +1 -1
- package/dist/esm/{createRoute.native.js.map → router/createRoute.native.js.map} +1 -1
- package/dist/esm/router/filterRootHTML.js +33 -0
- package/dist/esm/router/filterRootHTML.js.map +6 -0
- package/dist/esm/router/filterRootHTML.mjs +39 -0
- package/dist/esm/router/filterRootHTML.mjs.map +1 -0
- package/dist/esm/router/filterRootHTML.native.js +34 -0
- package/dist/esm/router/filterRootHTML.native.js.map +6 -0
- package/dist/esm/{getLinkingConfig.js → router/getLinkingConfig.js} +7 -2
- package/dist/esm/router/getLinkingConfig.js.map +6 -0
- package/dist/esm/{getLinkingConfig.mjs → router/getLinkingConfig.mjs} +2 -2
- package/dist/esm/router/getLinkingConfig.mjs.map +1 -0
- package/dist/esm/{getLinkingConfig.native.js → router/getLinkingConfig.native.js} +2 -2
- package/dist/esm/router/getLinkingConfig.native.js.map +6 -0
- package/dist/esm/router/getNormalizedStatePath.js +1 -1
- package/dist/esm/router/getNormalizedStatePath.mjs +1 -1
- package/dist/esm/router/getNormalizedStatePath.native.js +1 -1
- package/dist/esm/{getRoutes.js → router/getRoutes.js} +3 -3
- package/dist/esm/{getRoutes.js.map → router/getRoutes.js.map} +2 -2
- package/dist/esm/{getRoutes.mjs → router/getRoutes.mjs} +3 -3
- package/dist/esm/router/getRoutes.mjs.map +1 -0
- package/dist/esm/{getRoutes.native.js → router/getRoutes.native.js} +3 -3
- package/dist/esm/{getRoutes.native.js.map → router/getRoutes.native.js.map} +2 -2
- package/dist/esm/{imperative-api.js → router/imperative-api.js} +1 -1
- package/dist/esm/{imperative-api.js.map → router/imperative-api.js.map} +1 -1
- package/dist/esm/{imperative-api.mjs → router/imperative-api.mjs} +1 -1
- package/dist/esm/router/imperative-api.mjs.map +1 -0
- package/dist/esm/{imperative-api.native.js → router/imperative-api.native.js} +1 -1
- package/dist/esm/{imperative-api.native.js.map → router/imperative-api.native.js.map} +1 -1
- package/dist/esm/{matchers.js.map → router/matchers.js.map} +1 -1
- package/dist/esm/router/matchers.mjs.map +1 -0
- package/dist/esm/{matchers.native.js.map → router/matchers.native.js.map} +1 -1
- package/dist/esm/router/router.js +30 -8
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs +24 -8
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +44 -8
- package/dist/esm/router/router.native.js.map +2 -2
- package/dist/esm/{sortRoutes.js.map → router/sortRoutes.js.map} +1 -1
- package/dist/esm/router/sortRoutes.mjs.map +1 -0
- package/dist/esm/{sortRoutes.native.js.map → router/sortRoutes.native.js.map} +1 -1
- package/dist/esm/{useNavigation.js.map → router/useNavigation.js.map} +1 -1
- package/dist/esm/router/useNavigation.mjs.map +1 -0
- package/dist/esm/{useNavigation.native.js.map → router/useNavigation.native.js.map} +1 -1
- package/dist/esm/{useScreens.js → router/useScreens.js} +39 -8
- package/dist/esm/router/useScreens.js.map +6 -0
- package/dist/esm/{useScreens.mjs → router/useScreens.mjs} +59 -8
- package/dist/esm/router/useScreens.mjs.map +1 -0
- package/dist/esm/{useScreens.native.js → router/useScreens.native.js} +20 -8
- package/dist/esm/router/useScreens.native.js.map +6 -0
- package/dist/esm/{useViteRoutes.js.map → router/useViteRoutes.js.map} +1 -1
- package/dist/esm/router/useViteRoutes.mjs.map +1 -0
- package/dist/esm/{useViteRoutes.native.js.map → router/useViteRoutes.native.js.map} +1 -1
- package/dist/esm/server/createRoutesManifest.js +1 -1
- package/dist/esm/server/createRoutesManifest.mjs +1 -1
- package/dist/esm/server/createRoutesManifest.native.js +1 -1
- package/dist/esm/server/getServerManifest.js +2 -2
- package/dist/esm/server/getServerManifest.mjs +2 -2
- package/dist/esm/server/getServerManifest.native.js +2 -2
- package/dist/esm/server/oneServe.js +1 -1
- package/dist/esm/server/oneServe.mjs +1 -1
- package/dist/esm/server/oneServe.native.js +1 -1
- package/dist/esm/typed-routes/generateRouteTypes.js +1 -1
- package/dist/esm/typed-routes/generateRouteTypes.mjs +1 -1
- package/dist/esm/typed-routes/generateRouteTypes.native.js +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.js +2 -2
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs +2 -2
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js +2 -2
- package/dist/esm/useLoader.js +2 -2
- package/dist/esm/useLoader.mjs +2 -2
- package/dist/esm/useLoader.native.js +2 -2
- package/dist/esm/{cleanUrl.js → utils/cleanUrl.js} +3 -3
- package/dist/esm/{cleanUrl.js.map → utils/cleanUrl.js.map} +1 -1
- package/dist/esm/{cleanUrl.mjs → utils/cleanUrl.mjs} +3 -3
- package/dist/esm/utils/cleanUrl.mjs.map +1 -0
- package/dist/esm/{cleanUrl.native.js → utils/cleanUrl.native.js} +3 -3
- package/dist/esm/{cleanUrl.native.js.map → utils/cleanUrl.native.js.map} +1 -1
- package/dist/esm/{platform.js.map → utils/platform.js.map} +1 -1
- package/dist/esm/utils/platform.mjs.map +1 -0
- package/dist/esm/{platform.native.js.map → utils/platform.native.js.map} +1 -1
- package/dist/esm/utils/redirect.js +1 -1
- package/dist/esm/utils/redirect.mjs +1 -1
- package/dist/esm/utils/redirect.native.js +1 -1
- package/dist/esm/utils/serverContext.js +35 -0
- package/dist/esm/utils/serverContext.js.map +6 -0
- package/dist/esm/utils/serverContext.mjs +28 -0
- package/dist/esm/utils/serverContext.mjs.map +1 -0
- package/dist/esm/utils/serverContext.native.js +32 -0
- package/dist/esm/utils/serverContext.native.js.map +6 -0
- package/dist/esm/utils/useConstant.js +11 -0
- package/dist/esm/utils/useConstant.js.map +6 -0
- package/dist/esm/utils/useConstant.mjs +10 -0
- package/dist/esm/utils/useConstant.mjs.map +1 -0
- package/dist/esm/utils/useConstant.native.js +15 -0
- package/dist/esm/utils/useConstant.native.js.map +6 -0
- package/dist/esm/views/EmptyRoute.js +1 -1
- package/dist/esm/views/EmptyRoute.mjs +1 -1
- package/dist/esm/views/EmptyRoute.native.js +1 -1
- package/dist/esm/views/LoadProgressBar.js +1 -1
- package/dist/esm/views/LoadProgressBar.mjs +1 -1
- package/dist/esm/views/LoadProgressBar.native.js +1 -1
- package/dist/esm/views/Navigator.js +2 -2
- package/dist/esm/views/Navigator.mjs +2 -2
- package/dist/esm/views/Navigator.native.js +2 -2
- package/dist/esm/views/Screen.js +1 -1
- package/dist/esm/views/Screen.mjs +1 -1
- package/dist/esm/views/Screen.native.js +1 -1
- package/dist/esm/vite/DevHead.js +39 -0
- package/dist/esm/vite/DevHead.js.map +6 -0
- package/dist/esm/vite/DevHead.mjs +36 -0
- package/dist/esm/vite/DevHead.mjs.map +1 -0
- package/dist/esm/vite/DevHead.native.js +9 -0
- package/dist/esm/vite/DevHead.native.js.map +6 -0
- package/dist/esm/vite/plugins/SSRCSSPlugin.js +6 -8
- package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.mjs +7 -8
- package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.native.js +7 -8
- package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +2 -2
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +10 -4
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +7 -3
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +11 -5
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +2 -2
- package/dist/esm/zero/useQuery.js +2 -1
- package/dist/esm/zero/useQuery.js.map +1 -1
- package/dist/esm/zero/useQuery.mjs +2 -1
- package/dist/esm/zero/useQuery.mjs.map +1 -1
- package/dist/esm/zero/useQuery.native.js +2 -1
- package/dist/esm/zero/useQuery.native.js.map +2 -2
- package/package.json +9 -16
- package/src/Root.tsx +33 -44
- package/src/cli/build.ts +1 -1
- package/src/constants.ts +4 -0
- package/src/createApp.native.tsx +1 -1
- package/src/createApp.tsx +23 -82
- package/src/createHandleRequest.ts +3 -2
- package/src/fork/NavigationContainer.tsx +101 -39
- package/src/fork/createMemoryHistory.tsx +15 -13
- package/src/fork/extractPathFromURL.ts +85 -40
- package/src/fork/findFocusedRoute.tsx +9 -1
- package/src/fork/getPathFromState-mods.ts +142 -0
- package/src/fork/getPathFromState.ts +244 -501
- package/src/fork/getStateFromPath-mods.ts +400 -0
- package/src/fork/getStateFromPath.ts +447 -538
- package/src/fork/useBackButton.native.tsx +16 -2
- package/src/fork/useBackButton.tsx +11 -2
- package/src/fork/useDocumentTitle.native.tsx +9 -4
- package/src/fork/useDocumentTitle.tsx +12 -7
- package/src/fork/useLinking.native.ts +71 -63
- package/src/fork/useLinking.ts +75 -40
- package/src/fork/useThenable.tsx +7 -1
- package/src/fork/validatePathConfig.ts +64 -12
- package/src/getReactNavigationConfig.ts +2 -2
- package/src/hooks.tsx +2 -2
- package/src/index.ts +3 -3
- package/src/layouts/withLayoutContext.tsx +3 -3
- package/src/link/linking.ts +2 -2
- package/src/link/useLinkTo.tsx +2 -2
- package/src/render.tsx +3 -5
- package/src/{Route.tsx → router/Route.tsx} +2 -2
- package/src/{createRoute.ts → router/createRoute.ts} +2 -2
- package/src/router/filterRootHTML.ts +81 -0
- package/src/{getLinkingConfig.ts → router/getLinkingConfig.ts} +8 -3
- package/src/router/getNormalizedStatePath.tsx +1 -1
- package/src/{getRoutes.ts → router/getRoutes.ts} +5 -5
- package/src/{imperative-api.ts → router/imperative-api.ts} +2 -2
- package/src/router/router.ts +48 -9
- package/src/{useScreens.tsx → router/useScreens.tsx} +63 -48
- package/src/{useViteRoutes.tsx → router/useViteRoutes.tsx} +2 -2
- package/src/server/createRoutesManifest.ts +3 -3
- package/src/server/getServerManifest.ts +3 -3
- package/src/server/oneServe.ts +1 -1
- package/src/typed-routes/generateRouteTypes.ts +1 -1
- package/src/typed-routes/getTypedRoutesDeclarationFile.ts +3 -3
- package/src/useLoader.ts +2 -2
- package/src/{cleanUrl.ts → utils/cleanUrl.ts} +3 -3
- package/src/utils/redirect.ts +1 -1
- package/src/utils/serverContext.tsx +52 -0
- package/src/utils/useConstant.ts +18 -0
- package/src/views/EmptyRoute.tsx +1 -1
- package/src/views/LoadProgressBar.tsx +1 -1
- package/src/views/Navigator.tsx +2 -2
- package/src/views/Screen.tsx +1 -1
- package/src/vite/DevHead.tsx +39 -0
- package/src/vite/plugins/SSRCSSPlugin.ts +6 -10
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +12 -6
- package/src/zero/useQuery.ts +2 -1
- package/types/Root.d.ts +3 -2
- package/types/Root.d.ts.map +1 -1
- package/types/constants.d.ts +2 -0
- package/types/constants.d.ts.map +1 -1
- package/types/createApp.d.ts.map +1 -1
- package/types/createHandleRequest.d.ts +1 -1
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/fork/NavigationContainer.d.ts +19 -8
- package/types/fork/NavigationContainer.d.ts.map +1 -1
- package/types/fork/createMemoryHistory.d.ts +10 -1
- package/types/fork/createMemoryHistory.d.ts.map +1 -1
- package/types/fork/extractPathFromURL.d.ts +7 -1
- package/types/fork/extractPathFromURL.d.ts.map +1 -1
- package/types/fork/findFocusedRoute.d.ts +9 -0
- package/types/fork/findFocusedRoute.d.ts.map +1 -1
- package/types/fork/getPathFromState-mods.d.ts +23 -0
- package/types/fork/getPathFromState-mods.d.ts.map +1 -0
- package/types/fork/getPathFromState.d.ts +15 -14
- package/types/fork/getPathFromState.d.ts.map +1 -1
- package/types/fork/getStateFromPath-mods.d.ts +58 -0
- package/types/fork/getStateFromPath-mods.d.ts.map +1 -0
- package/types/fork/getStateFromPath.d.ts +28 -29
- package/types/fork/getStateFromPath.d.ts.map +1 -1
- package/types/fork/useBackButton.d.ts +6 -0
- package/types/fork/useBackButton.d.ts.map +1 -1
- package/types/fork/useBackButton.native.d.ts +9 -1
- package/types/fork/useBackButton.native.d.ts.map +1 -1
- package/types/fork/useDocumentTitle.d.ts +8 -6
- package/types/fork/useDocumentTitle.d.ts.map +1 -1
- package/types/fork/useDocumentTitle.native.d.ts +5 -2
- package/types/fork/useDocumentTitle.native.d.ts.map +1 -1
- package/types/fork/useLinking.d.ts +8 -1
- package/types/fork/useLinking.d.ts.map +1 -1
- package/types/fork/useLinking.native.d.ts +9 -2
- package/types/fork/useLinking.native.d.ts.map +1 -1
- package/types/fork/useThenable.d.ts +6 -0
- package/types/fork/useThenable.d.ts.map +1 -1
- package/types/fork/validatePathConfig.d.ts +8 -1
- package/types/fork/validatePathConfig.d.ts.map +1 -1
- package/types/getReactNavigationConfig.d.ts +1 -1
- package/types/getReactNavigationConfig.d.ts.map +1 -1
- package/types/index.d.ts +3 -3
- package/types/index.d.ts.map +1 -1
- package/types/layouts/withLayoutContext.d.ts +1 -1
- package/types/layouts/withLayoutContext.d.ts.map +1 -1
- package/types/link/linking.d.ts +2 -2
- package/types/link/linking.d.ts.map +1 -1
- package/types/render.d.ts.map +1 -1
- package/types/{Route.d.ts → router/Route.d.ts} +2 -2
- package/types/router/Route.d.ts.map +1 -0
- package/types/{createRoute.d.ts → router/createRoute.d.ts} +1 -1
- package/types/router/createRoute.d.ts.map +1 -0
- package/types/router/filterRootHTML.d.ts +19 -0
- package/types/router/filterRootHTML.d.ts.map +1 -0
- package/types/{getLinkingConfig.d.ts → router/getLinkingConfig.d.ts} +2 -2
- package/types/router/getLinkingConfig.d.ts.map +1 -0
- package/types/{getRoutes.d.ts → router/getRoutes.d.ts} +1 -1
- package/types/router/getRoutes.d.ts.map +1 -0
- package/types/router/imperative-api.d.ts +3 -0
- package/types/router/imperative-api.d.ts.map +1 -0
- package/types/router/matchers.d.ts.map +1 -0
- package/types/router/router.d.ts +2 -2
- package/types/router/router.d.ts.map +1 -1
- package/types/router/sortRoutes.d.ts.map +1 -0
- package/types/router/useNavigation.d.ts.map +1 -0
- package/types/router/useScreens.d.ts.map +1 -0
- package/types/{useViteRoutes.d.ts → router/useViteRoutes.d.ts} +2 -2
- package/types/router/useViteRoutes.d.ts.map +1 -0
- package/types/server/createRoutesManifest.d.ts +3 -3
- package/types/server/createRoutesManifest.d.ts.map +1 -1
- package/types/server/getServerManifest.d.ts +1 -1
- package/types/server/getServerManifest.d.ts.map +1 -1
- package/types/utils/cleanUrl.d.ts.map +1 -0
- package/types/utils/platform.d.ts.map +1 -0
- package/types/utils/serverContext.d.ts +14 -0
- package/types/utils/serverContext.d.ts.map +1 -0
- package/types/utils/useConstant.d.ts +2 -0
- package/types/utils/useConstant.d.ts.map +1 -0
- package/types/vite/DevHead.d.ts +2 -0
- package/types/vite/DevHead.d.ts.map +1 -0
- package/types/vite/plugins/SSRCSSPlugin.d.ts +0 -1
- package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
- package/types/zero/useQuery.d.ts.map +1 -1
- package/dist/cjs/getLinkingConfig.js.map +0 -6
- package/dist/cjs/getLinkingConfig.native.js.map +0 -6
- package/dist/cjs/useScreens.js.map +0 -6
- package/dist/cjs/useScreens.native.js.map +0 -6
- package/dist/esm/Route.mjs.map +0 -1
- package/dist/esm/cleanUrl.mjs.map +0 -1
- package/dist/esm/createRoute.mjs.map +0 -1
- package/dist/esm/getLinkingConfig.js.map +0 -6
- package/dist/esm/getLinkingConfig.mjs.map +0 -1
- package/dist/esm/getLinkingConfig.native.js.map +0 -6
- package/dist/esm/getRoutes.mjs.map +0 -1
- package/dist/esm/imperative-api.mjs.map +0 -1
- package/dist/esm/matchers.mjs.map +0 -1
- package/dist/esm/platform.mjs.map +0 -1
- package/dist/esm/sortRoutes.mjs.map +0 -1
- package/dist/esm/useNavigation.mjs.map +0 -1
- package/dist/esm/useScreens.js.map +0 -6
- package/dist/esm/useScreens.mjs.map +0 -1
- package/dist/esm/useScreens.native.js.map +0 -6
- package/dist/esm/useViteRoutes.mjs.map +0 -1
- package/types/Route.d.ts.map +0 -1
- package/types/cleanUrl.d.ts.map +0 -1
- package/types/createRoute.d.ts.map +0 -1
- package/types/getLinkingConfig.d.ts.map +0 -1
- package/types/getRoutes.d.ts.map +0 -1
- package/types/imperative-api.d.ts +0 -3
- package/types/imperative-api.d.ts.map +0 -1
- package/types/matchers.d.ts.map +0 -1
- package/types/platform.d.ts.map +0 -1
- package/types/sortRoutes.d.ts.map +0 -1
- package/types/useNavigation.d.ts.map +0 -1
- package/types/useScreens.d.ts.map +0 -1
- package/types/useViteRoutes.d.ts.map +0 -1
- /package/dist/cjs/{Route.cjs → router/Route.cjs} +0 -0
- /package/dist/cjs/{Route.js → router/Route.js} +0 -0
- /package/dist/cjs/{Route.native.js → router/Route.native.js} +0 -0
- /package/dist/cjs/{matchers.cjs → router/matchers.cjs} +0 -0
- /package/dist/cjs/{matchers.js → router/matchers.js} +0 -0
- /package/dist/cjs/{matchers.native.js → router/matchers.native.js} +0 -0
- /package/dist/cjs/{sortRoutes.cjs → router/sortRoutes.cjs} +0 -0
- /package/dist/cjs/{sortRoutes.js → router/sortRoutes.js} +0 -0
- /package/dist/cjs/{sortRoutes.native.js → router/sortRoutes.native.js} +0 -0
- /package/dist/cjs/{useNavigation.cjs → router/useNavigation.cjs} +0 -0
- /package/dist/cjs/{useNavigation.js → router/useNavigation.js} +0 -0
- /package/dist/cjs/{useNavigation.native.js → router/useNavigation.native.js} +0 -0
- /package/dist/cjs/{useViteRoutes.cjs → router/useViteRoutes.cjs} +0 -0
- /package/dist/cjs/{useViteRoutes.js → router/useViteRoutes.js} +0 -0
- /package/dist/cjs/{useViteRoutes.native.js → router/useViteRoutes.native.js} +0 -0
- /package/dist/cjs/{platform.cjs → utils/platform.cjs} +0 -0
- /package/dist/cjs/{platform.js → utils/platform.js} +0 -0
- /package/dist/cjs/{platform.native.js → utils/platform.native.js} +0 -0
- /package/dist/esm/{Route.js → router/Route.js} +0 -0
- /package/dist/esm/{Route.mjs → router/Route.mjs} +0 -0
- /package/dist/esm/{Route.native.js → router/Route.native.js} +0 -0
- /package/dist/esm/{matchers.js → router/matchers.js} +0 -0
- /package/dist/esm/{matchers.mjs → router/matchers.mjs} +0 -0
- /package/dist/esm/{matchers.native.js → router/matchers.native.js} +0 -0
- /package/dist/esm/{sortRoutes.js → router/sortRoutes.js} +0 -0
- /package/dist/esm/{sortRoutes.mjs → router/sortRoutes.mjs} +0 -0
- /package/dist/esm/{sortRoutes.native.js → router/sortRoutes.native.js} +0 -0
- /package/dist/esm/{useNavigation.js → router/useNavigation.js} +0 -0
- /package/dist/esm/{useNavigation.mjs → router/useNavigation.mjs} +0 -0
- /package/dist/esm/{useNavigation.native.js → router/useNavigation.native.js} +0 -0
- /package/dist/esm/{useViteRoutes.js → router/useViteRoutes.js} +0 -0
- /package/dist/esm/{useViteRoutes.mjs → router/useViteRoutes.mjs} +0 -0
- /package/dist/esm/{useViteRoutes.native.js → router/useViteRoutes.native.js} +0 -0
- /package/dist/esm/{platform.js → utils/platform.js} +0 -0
- /package/dist/esm/{platform.mjs → utils/platform.mjs} +0 -0
- /package/dist/esm/{platform.native.js → utils/platform.native.js} +0 -0
- /package/src/{matchers.ts → router/matchers.ts} +0 -0
- /package/src/{sortRoutes.ts → router/sortRoutes.ts} +0 -0
- /package/src/{useNavigation.ts → router/useNavigation.ts} +0 -0
- /package/src/{platform.ts → utils/platform.ts} +0 -0
- /package/types/{matchers.d.ts → router/matchers.d.ts} +0 -0
- /package/types/{sortRoutes.d.ts → router/sortRoutes.d.ts} +0 -0
- /package/types/{useNavigation.d.ts → router/useNavigation.d.ts} +0 -0
- /package/types/{useScreens.d.ts → router/useScreens.d.ts} +0 -0
- /package/types/{cleanUrl.d.ts → utils/cleanUrl.d.ts} +0 -0
- /package/types/{platform.d.ts → utils/platform.d.ts} +0 -0
@@ -1,25 +1,77 @@
|
|
1
|
-
|
1
|
+
/**
|
2
|
+
* This file is copied from the react-navigation repo:
|
3
|
+
* https://github.com/react-navigation/react-navigation/blob/%40react-navigation/core%407.1.2/packages/core/src/validatePathConfig.tsx
|
4
|
+
*
|
5
|
+
* Please refrain from making changes to this file, as it will make merging updates from the upstream harder.
|
6
|
+
* All modifications except formatting should be marked with `// @modified` comment.
|
7
|
+
*/
|
2
8
|
|
3
|
-
|
4
|
-
|
9
|
+
const formatToList = (items: Record<string, string>) =>
|
10
|
+
Object.entries(items)
|
11
|
+
.map(([key, value]) => `- ${key} (${value})`)
|
12
|
+
.join('\n')
|
5
13
|
|
6
|
-
|
7
|
-
|
14
|
+
export function validatePathConfig(config: unknown, root = true) {
|
15
|
+
const validation = {
|
16
|
+
path: 'string',
|
17
|
+
initialRouteName: 'string',
|
18
|
+
screens: 'object',
|
19
|
+
// @modified - start
|
20
|
+
preserveDynamicRoutes: 'boolean',
|
21
|
+
preserveGroups: 'boolean',
|
22
|
+
// @modified - end
|
23
|
+
...(root
|
24
|
+
? null
|
25
|
+
: {
|
26
|
+
exact: 'boolean',
|
27
|
+
stringify: 'object',
|
28
|
+
parse: 'object',
|
29
|
+
}),
|
8
30
|
}
|
9
31
|
|
10
|
-
|
32
|
+
if (typeof config !== 'object' || config === null) {
|
33
|
+
throw new Error(
|
34
|
+
`Expected the configuration to be an object, but got ${JSON.stringify(config)}.`
|
35
|
+
)
|
36
|
+
}
|
37
|
+
|
38
|
+
const validationErrors = Object.fromEntries(
|
39
|
+
Object.keys(config)
|
40
|
+
.map((key) => {
|
41
|
+
if (key in validation) {
|
42
|
+
const type = validation[key as keyof typeof validation] as string
|
43
|
+
const value: string = config[key]
|
44
|
+
|
45
|
+
// biome-ignore lint/suspicious/useValidTypeof: do not check copied code
|
46
|
+
if (value !== undefined && typeof value !== type) {
|
47
|
+
return [key, `expected '${type}', got '${typeof value}'`]
|
48
|
+
}
|
49
|
+
} else {
|
50
|
+
return [key, 'extraneous']
|
51
|
+
}
|
11
52
|
|
12
|
-
|
53
|
+
return null
|
54
|
+
})
|
55
|
+
.filter(Boolean) as [string, string][]
|
56
|
+
)
|
57
|
+
|
58
|
+
if (Object.keys(validationErrors).length) {
|
13
59
|
throw new Error(
|
14
60
|
`Found invalid properties in the configuration:\n${formatToList(
|
15
|
-
|
16
|
-
)}\n\
|
17
|
-
|
18
|
-
)}\n\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`
|
61
|
+
validationErrors
|
62
|
+
)}\n\nYou can only specify the following properties:\n${formatToList(
|
63
|
+
validation
|
64
|
+
)}\n\nIf you want to specify configuration for screens, you need to specify them under a 'screens' property.\n\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`
|
65
|
+
)
|
66
|
+
}
|
67
|
+
|
68
|
+
if (root && 'path' in config && typeof config.path === 'string' && config.path.includes(':')) {
|
69
|
+
throw new Error(
|
70
|
+
`Found invalid path '${config.path}'. The 'path' in the top-level configuration cannot contain patterns for params.`
|
19
71
|
)
|
20
72
|
}
|
21
73
|
|
22
|
-
if (config.screens) {
|
74
|
+
if ('screens' in config && config.screens) {
|
23
75
|
Object.entries(config.screens).forEach(([_, value]) => {
|
24
76
|
if (typeof value !== 'string') {
|
25
77
|
validatePathConfig(value, false)
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { matchDeepDynamicRouteName, matchDynamicName } from './matchers'
|
2
|
-
import type { RouteNode } from './Route'
|
1
|
+
import { matchDeepDynamicRouteName, matchDynamicName } from './router/matchers'
|
2
|
+
import type { RouteNode } from './router/Route'
|
3
3
|
|
4
4
|
export type Screen =
|
5
5
|
| string
|
package/src/hooks.tsx
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import React, { createContext, type ReactNode } from 'react'
|
2
|
-
import { router } from './imperative-api'
|
2
|
+
import { router } from './router/imperative-api'
|
3
3
|
import type { OneRouter } from './interfaces/router'
|
4
|
-
import { RouteParamsContext } from './Route'
|
4
|
+
import { RouteParamsContext } from './router/Route'
|
5
5
|
import { navigationRef, useStoreRootState, useStoreRouteInfo } from './router/router'
|
6
6
|
|
7
7
|
type SearchParams = OneRouter.SearchParams
|
package/src/index.ts
CHANGED
@@ -9,8 +9,8 @@ export type LinkProps<T extends string | object = string> = OneRouter.LinkProps<
|
|
9
9
|
export type { Endpoint, LoaderProps } from './types'
|
10
10
|
|
11
11
|
// base
|
12
|
-
export { router } from './imperative-api'
|
13
|
-
export { createRoute, route } from './createRoute'
|
12
|
+
export { router } from './router/imperative-api'
|
13
|
+
export { createRoute, route } from './router/createRoute'
|
14
14
|
export { onClientLoaderResolve } from './clientLoaderResolver'
|
15
15
|
|
16
16
|
// middleware
|
@@ -66,5 +66,5 @@ export * from '@vxrn/universal-color-scheme'
|
|
66
66
|
|
67
67
|
// React Navigation
|
68
68
|
export { useFocusEffect } from './useFocusEffect'
|
69
|
-
export { useNavigation } from './useNavigation'
|
69
|
+
export { useNavigation } from './router/useNavigation'
|
70
70
|
export { useLoader } from './useLoader'
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import type { EventMapBase, NavigationState } from '@react-navigation/native'
|
2
2
|
import React from 'react'
|
3
|
-
import { useContextKey } from '../Route'
|
3
|
+
import { useContextKey } from '../router/Route'
|
4
4
|
import type { PickPartial } from '../types'
|
5
|
-
import { useSortedScreens, type ScreenProps } from '../useScreens'
|
5
|
+
import { useSortedScreens, type ScreenProps } from '../router/useScreens'
|
6
6
|
import { Screen } from '../views/Screen'
|
7
7
|
import { withStaticProperties } from '../utils/withStaticProperties'
|
8
8
|
|
@@ -94,7 +94,7 @@ export function withLayoutContext<
|
|
94
94
|
}
|
95
95
|
|
96
96
|
return (
|
97
|
-
<Nav {...props} {...
|
97
|
+
<Nav {...options?.props} {...props} id={contextKey} ref={ref}>
|
98
98
|
{sorted}
|
99
99
|
</Nav>
|
100
100
|
)
|
package/src/link/linking.ts
CHANGED
@@ -2,8 +2,8 @@ import * as Linking from 'expo-linking'
|
|
2
2
|
import { Platform } from 'react-native'
|
3
3
|
|
4
4
|
import { adjustPathname } from '../fork/extractPathFromURL'
|
5
|
-
import getPathFromState from '../fork/getPathFromState'
|
6
|
-
import getStateFromPath from '../fork/getStateFromPath'
|
5
|
+
import { getPathFromState } from '../fork/getPathFromState'
|
6
|
+
import { getStateFromPath } from '../fork/getStateFromPath'
|
7
7
|
|
8
8
|
// @ts-ignore
|
9
9
|
const isExpoGo = typeof expo !== 'undefined' && globalThis.expo?.modules?.ExpoGo
|
package/src/link/useLinkTo.tsx
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
import type * as React from 'react'
|
2
2
|
import { Platform, type GestureResponderEvent } from 'react-native'
|
3
3
|
|
4
|
-
import { appendBaseUrl } from '../fork/getPathFromState'
|
4
|
+
import { appendBaseUrl } from '../fork/getPathFromState-mods'
|
5
5
|
import { useOneRouter } from '../router/router'
|
6
|
-
import { stripGroupSegmentsFromPath } from '../matchers'
|
6
|
+
import { stripGroupSegmentsFromPath } from '../router/matchers'
|
7
7
|
|
8
8
|
function eventShouldPreventDefault(
|
9
9
|
e: React.MouseEvent<HTMLAnchorElement, MouseEvent> | GestureResponderEvent
|
package/src/render.tsx
CHANGED
@@ -9,15 +9,14 @@ export function render(element: React.ReactNode) {
|
|
9
9
|
globalThis['__vxrnVersion']++
|
10
10
|
globalThis['__vxrnRoot'].render(element)
|
11
11
|
} else {
|
12
|
-
// const deferLoad = requestAnimationFrame || setImmediate
|
13
|
-
// deferLoad(() => {
|
14
12
|
startTransition(() => {
|
13
|
+
const rootElement = document as any
|
15
14
|
if (globalThis['__vxrnIsSPA']) {
|
16
|
-
const root = createRoot(
|
15
|
+
const root = createRoot(rootElement)
|
17
16
|
globalThis['__vxrnRoot'] = root
|
18
17
|
root.render(element)
|
19
18
|
} else {
|
20
|
-
globalThis['__vxrnRoot'] = hydrateRoot(
|
19
|
+
globalThis['__vxrnRoot'] = hydrateRoot(rootElement, element, {
|
21
20
|
onRecoverableError(...args) {
|
22
21
|
console.groupCollapsed(
|
23
22
|
`[one] Non-critical recoverable React error occurred, expand group to see details`
|
@@ -35,6 +34,5 @@ export function render(element: React.ReactNode) {
|
|
35
34
|
})
|
36
35
|
}
|
37
36
|
})
|
38
|
-
// })
|
39
37
|
}
|
40
38
|
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import React, { createContext, useContext, type ReactNode } from 'react'
|
2
2
|
|
3
3
|
import { getContextKey } from './matchers'
|
4
|
-
import type { ErrorBoundaryProps } from '
|
5
|
-
import type { One } from '
|
4
|
+
import type { ErrorBoundaryProps } from '../views/Try'
|
5
|
+
import type { One } from '../vite/types'
|
6
6
|
|
7
7
|
export type DynamicConvention = { name: string; deep: boolean; notFound?: boolean }
|
8
8
|
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { useActiveParams, useParams, usePathname } from '
|
2
|
-
import type { OneRouter } from '
|
1
|
+
import { useActiveParams, useParams, usePathname } from '../hooks'
|
2
|
+
import type { OneRouter } from '../interfaces/router'
|
3
3
|
|
4
4
|
export function createRoute<Path>() {
|
5
5
|
type Route = OneRouter.Route<Path>
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import { cloneElement, isValidElement } from 'react'
|
2
|
+
|
3
|
+
type Props = Record<string, any>
|
4
|
+
|
5
|
+
export type FoundRootHTML = {
|
6
|
+
children: React.ReactElement
|
7
|
+
htmlProps?: Props
|
8
|
+
bodyProps?: Props
|
9
|
+
head?: React.ReactElement
|
10
|
+
}
|
11
|
+
|
12
|
+
/**
|
13
|
+
* To enable custom <html> and other html-like stuff in the root _layout
|
14
|
+
* we are doing some fancy stuff, namely, just capturing the root layout return
|
15
|
+
* value and deep-mapping over it.
|
16
|
+
*
|
17
|
+
* On server, we filter it out and hoist it to the parent root html in createApp
|
18
|
+
*
|
19
|
+
* On client, we just filter it out completely as in One we don't hydrate html
|
20
|
+
*/
|
21
|
+
|
22
|
+
export function filterRootHTML(el: React.ReactNode): FoundRootHTML {
|
23
|
+
let htmlProps: Props | undefined
|
24
|
+
let bodyProps: React.ReactElement | undefined
|
25
|
+
let head: React.ReactElement | undefined
|
26
|
+
|
27
|
+
function traverse(element: React.ReactNode) {
|
28
|
+
if (!element || typeof element !== 'object') {
|
29
|
+
return element
|
30
|
+
}
|
31
|
+
if (Array.isArray(element)) {
|
32
|
+
return element.map(traverse)
|
33
|
+
}
|
34
|
+
|
35
|
+
const reactElement = element as React.ReactElement
|
36
|
+
const { type, props } = reactElement
|
37
|
+
|
38
|
+
if (type === 'html') {
|
39
|
+
const { children, ...restProps } = reactElement.props
|
40
|
+
htmlProps = restProps
|
41
|
+
return traverse(children)
|
42
|
+
}
|
43
|
+
|
44
|
+
if (type === 'head') {
|
45
|
+
head = reactElement
|
46
|
+
return null
|
47
|
+
}
|
48
|
+
|
49
|
+
if (type === 'body') {
|
50
|
+
const { children, ...restProps } = reactElement.props
|
51
|
+
bodyProps = restProps
|
52
|
+
return children
|
53
|
+
}
|
54
|
+
|
55
|
+
if (process.env.TAMAGUI_TARGET === 'native') {
|
56
|
+
if (
|
57
|
+
isValidElement(element) &&
|
58
|
+
typeof element.type === 'string' &&
|
59
|
+
element.type.toLowerCase() === element.type
|
60
|
+
) {
|
61
|
+
// filter out things like <meta /> etc on native
|
62
|
+
// because it could just be thown in <html> or a fragment to be hoisted on web
|
63
|
+
return null
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
67
|
+
return element
|
68
|
+
}
|
69
|
+
|
70
|
+
const children =
|
71
|
+
traverse(el) ||
|
72
|
+
// if none found, we assume they aren't returning any html so just pass it on
|
73
|
+
el
|
74
|
+
|
75
|
+
return {
|
76
|
+
children,
|
77
|
+
htmlProps,
|
78
|
+
bodyProps,
|
79
|
+
head,
|
80
|
+
}
|
81
|
+
}
|
@@ -1,8 +1,13 @@
|
|
1
1
|
import { getActionFromState, type LinkingOptions } from '@react-navigation/native'
|
2
2
|
import type { RouteNode } from './Route'
|
3
|
-
import type { State } from '
|
4
|
-
import { getReactNavigationConfig, type Screen } from '
|
5
|
-
import {
|
3
|
+
import type { State } from '../fork/getPathFromState'
|
4
|
+
import { getReactNavigationConfig, type Screen } from '../getReactNavigationConfig'
|
5
|
+
import {
|
6
|
+
addEventListener,
|
7
|
+
getInitialURL,
|
8
|
+
getPathFromState,
|
9
|
+
getStateFromPath,
|
10
|
+
} from '../link/linking'
|
6
11
|
|
7
12
|
export function getNavigationConfig(
|
8
13
|
routes: RouteNode,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { getDefaultRenderMode } from '
|
1
|
+
import { getDefaultRenderMode } from '../config'
|
2
2
|
import {
|
3
3
|
matchArrayGroupName,
|
4
4
|
matchDeepDynamicRouteName,
|
@@ -7,8 +7,8 @@ import {
|
|
7
7
|
removeSupportedExtensions,
|
8
8
|
} from './matchers'
|
9
9
|
import type { DynamicConvention, RouteNode } from './Route'
|
10
|
-
import { getPageExport } from '
|
11
|
-
import type { One } from '
|
10
|
+
import { getPageExport } from '../utils/getPageExport'
|
11
|
+
import type { One } from '../vite/types'
|
12
12
|
// import { Unmatched } from './views/Unmatched'
|
13
13
|
|
14
14
|
export type Options = {
|
@@ -242,7 +242,7 @@ function getDirectoryTree(contextModule: One.RouteContext, options: Options) {
|
|
242
242
|
{
|
243
243
|
type: 'layout',
|
244
244
|
loadRoute: () => ({
|
245
|
-
default: (require('
|
245
|
+
default: (require('../views/Navigator') as typeof import('../views/Navigator'))
|
246
246
|
.DefaultNavigator,
|
247
247
|
}),
|
248
248
|
// Generate a fake file name for the directory
|
@@ -481,7 +481,7 @@ function appendSitemapRoute(directory: DirectoryNode) {
|
|
481
481
|
{
|
482
482
|
loadRoute() {
|
483
483
|
// console.warn(`Loading sitemap`)
|
484
|
-
// const { Sitemap, getNavOptions } = require('
|
484
|
+
// const { Sitemap, getNavOptions } = require('../views/Sitemap')
|
485
485
|
// return { default: Sitemap, getNavOptions }
|
486
486
|
return { default: () => null, getNavOptions: () => {} }
|
487
487
|
},
|
package/src/router/router.ts
CHANGED
@@ -8,19 +8,19 @@ import * as Linking from 'expo-linking'
|
|
8
8
|
import { nanoid } from 'nanoid/non-secure'
|
9
9
|
import { Fragment, startTransition, useSyncExternalStore, type ComponentType } from 'react'
|
10
10
|
import { Platform } from 'react-native'
|
11
|
-
import type { RouteNode } from '
|
12
|
-
import { getLoaderPath, getPreloadPath } from '../cleanUrl'
|
11
|
+
import type { RouteNode } from './Route'
|
12
|
+
import { getLoaderPath, getPreloadPath } from '../utils/cleanUrl'
|
13
13
|
import type { State } from '../fork/getPathFromState'
|
14
|
-
import {
|
15
|
-
import { stripBaseUrl } from '../fork/getStateFromPath'
|
16
|
-
import { getLinkingConfig, type OneLinkingOptions } from '
|
17
|
-
import { getRoutes } from '
|
14
|
+
import { getPathDataFromState } from '../fork/getPathFromState'
|
15
|
+
import { stripBaseUrl } from '../fork/getStateFromPath-mods'
|
16
|
+
import { getLinkingConfig, type OneLinkingOptions } from './getLinkingConfig'
|
17
|
+
import { getRoutes } from './getRoutes'
|
18
18
|
import type { OneRouter } from '../interfaces/router'
|
19
19
|
import { resolveHref } from '../link/href'
|
20
20
|
import { resolve } from '../link/path'
|
21
|
-
import { matchDynamicName } from '
|
22
|
-
import { sortRoutes } from '
|
23
|
-
import { getQualifiedRouteComponent } from '
|
21
|
+
import { matchDynamicName } from './matchers'
|
22
|
+
import { sortRoutes } from './sortRoutes'
|
23
|
+
import { getQualifiedRouteComponent } from './useScreens'
|
24
24
|
import { assertIsReady } from '../utils/assertIsReady'
|
25
25
|
import { dynamicImport } from '../utils/dynamicImport'
|
26
26
|
import { removeSearch } from '../utils/removeSearch'
|
@@ -641,3 +641,42 @@ function getNavigateAction(
|
|
641
641
|
},
|
642
642
|
}
|
643
643
|
}
|
644
|
+
|
645
|
+
function deepEqual(a: any, b: any) {
|
646
|
+
if (a === b) {
|
647
|
+
return true
|
648
|
+
}
|
649
|
+
|
650
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
651
|
+
if (a.length !== b.length) {
|
652
|
+
return false
|
653
|
+
}
|
654
|
+
|
655
|
+
for (let i = 0; i < a.length; i++) {
|
656
|
+
if (!deepEqual(a[i], b[i])) {
|
657
|
+
return false
|
658
|
+
}
|
659
|
+
}
|
660
|
+
|
661
|
+
return true
|
662
|
+
}
|
663
|
+
|
664
|
+
if (typeof a === 'object' && typeof b === 'object') {
|
665
|
+
const keysA = Object.keys(a)
|
666
|
+
const keysB = Object.keys(b)
|
667
|
+
|
668
|
+
if (keysA.length !== keysB.length) {
|
669
|
+
return false
|
670
|
+
}
|
671
|
+
|
672
|
+
for (const key of keysA) {
|
673
|
+
if (!deepEqual(a[key], b[key])) {
|
674
|
+
return false
|
675
|
+
}
|
676
|
+
}
|
677
|
+
|
678
|
+
return true
|
679
|
+
}
|
680
|
+
|
681
|
+
return false
|
682
|
+
}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { createNavigatorFactory } from '@react-navigation/core'
|
2
|
+
import { SafeAreaProviderCompat } from '@react-navigation/elements'
|
2
3
|
import type {
|
3
4
|
EventMapBase,
|
4
5
|
NavigationState,
|
@@ -6,7 +7,15 @@ import type {
|
|
6
7
|
RouteProp,
|
7
8
|
ScreenListeners,
|
8
9
|
} from '@react-navigation/native'
|
9
|
-
import React, { Suspense, useEffect } from 'react'
|
10
|
+
import React, { forwardRef, Suspense, useEffect } from 'react'
|
11
|
+
import { getPageExport } from '../utils/getPageExport'
|
12
|
+
import { getServerContext, ServerContextScript } from '../utils/serverContext'
|
13
|
+
import { useConstant } from '../utils/useConstant'
|
14
|
+
import { EmptyRoute } from '../views/EmptyRoute'
|
15
|
+
import { RootErrorBoundary } from '../views/RootErrorBoundary'
|
16
|
+
import { Try } from '../views/Try'
|
17
|
+
import { DevHead } from '../vite/DevHead'
|
18
|
+
import { filterRootHTML } from './filterRootHTML'
|
10
19
|
import {
|
11
20
|
Route,
|
12
21
|
useRouteNode,
|
@@ -15,10 +24,6 @@ import {
|
|
15
24
|
type RouteNode,
|
16
25
|
} from './Route'
|
17
26
|
import { sortRoutesWithInitial } from './sortRoutes'
|
18
|
-
import { getPageExport } from './utils/getPageExport'
|
19
|
-
import { EmptyRoute } from './views/EmptyRoute'
|
20
|
-
import { RootErrorBoundary } from './views/RootErrorBoundary'
|
21
|
-
import { Try } from './views/Try'
|
22
27
|
|
23
28
|
// `@react-navigation/core` does not expose the Screen or Group components directly, so we have to
|
24
29
|
// do this hack.
|
@@ -163,52 +168,63 @@ export function getQualifiedRouteComponent(value: RouteNode) {
|
|
163
168
|
return qualifiedStore.get(value)!
|
164
169
|
}
|
165
170
|
|
166
|
-
let ScreenComponent: React.ForwardRefExoticComponent<
|
167
|
-
|
168
|
-
// if (One_ROUTER_IMPORT_MODE === 'lazy') {
|
169
|
-
// ScreenComponent = React.forwardRef((props, ref) => {
|
170
|
-
// // for native avoid suspense for now
|
171
|
-
// const [loaded, setLoaded] = useState<any>(null)
|
172
|
-
|
173
|
-
// useEffect(() => {
|
174
|
-
// try {
|
175
|
-
// const found = value.loadRoute()
|
176
|
-
// if (found) {
|
177
|
-
// setLoaded(found)
|
178
|
-
// }
|
179
|
-
// } catch (err) {
|
180
|
-
// if (err instanceof Promise) {
|
181
|
-
// err
|
182
|
-
// .then((res) => {
|
183
|
-
// setLoaded(res)
|
184
|
-
// })
|
185
|
-
// .catch((err) => {
|
186
|
-
// console.error(`Error loading route`, err)
|
187
|
-
// })
|
188
|
-
// } else {
|
189
|
-
// setLoaded(err as any)
|
190
|
-
// }
|
191
|
-
// }
|
192
|
-
// }, [])
|
193
|
-
|
194
|
-
// if (loaded) {
|
195
|
-
// const Component = getPageExport(fromImport(loaded)) as React.ComponentType<any>
|
196
|
-
// return (
|
197
|
-
// // <Suspense fallback={null}>
|
198
|
-
// <Component {...props} ref={ref} />
|
199
|
-
// // </Suspense>
|
200
|
-
// )
|
201
|
-
// }
|
202
|
-
|
203
|
-
// return null
|
204
|
-
// })
|
205
|
-
// } else {
|
171
|
+
let ScreenComponent: React.ForwardRefExoticComponent<{ segment: string; key?: string }>
|
172
|
+
|
206
173
|
ScreenComponent = React.forwardRef((props, ref) => {
|
207
174
|
const res = value.loadRoute()
|
208
|
-
const Component =
|
175
|
+
const Component = useConstant(() => {
|
176
|
+
const BaseComponent = getPageExport(fromImport(res)) as React.ComponentType<any>
|
177
|
+
const serverContext = getServerContext()
|
178
|
+
|
179
|
+
// root layout do special html handling only
|
180
|
+
if (props.segment === '') {
|
181
|
+
return forwardRef((props, ref) => {
|
182
|
+
// @ts-expect-error
|
183
|
+
const out = BaseComponent(props, ref)
|
184
|
+
const { children, bodyProps, head, htmlProps } = filterRootHTML(out)
|
185
|
+
const { children: headChildren, ...headProps } = head?.props || {}
|
186
|
+
|
187
|
+
if (process.env.TAMAGUI_TARGET === 'native') {
|
188
|
+
// on native we just ignore all html/body/head
|
189
|
+
return children
|
190
|
+
}
|
191
|
+
|
192
|
+
const contents = (
|
193
|
+
<>
|
194
|
+
<head key="head" {...headProps}>
|
195
|
+
<DevHead />
|
196
|
+
<script
|
197
|
+
dangerouslySetInnerHTML={{
|
198
|
+
__html: `globalThis['global'] = globalThis`,
|
199
|
+
}}
|
200
|
+
/>
|
201
|
+
{serverContext?.css?.map((file) => {
|
202
|
+
return <link key={file} rel="stylesheet" href={file} />
|
203
|
+
})}
|
204
|
+
<ServerContextScript />
|
205
|
+
{headChildren}
|
206
|
+
</head>
|
207
|
+
<body key="body" suppressHydrationWarning {...bodyProps}>
|
208
|
+
<SafeAreaProviderCompat>{children}</SafeAreaProviderCompat>
|
209
|
+
</body>
|
210
|
+
</>
|
211
|
+
)
|
212
|
+
|
213
|
+
return (
|
214
|
+
// tamagui and libraries can add className on hydration to have ssr safe styling
|
215
|
+
// so supress hydration warnings here
|
216
|
+
<html suppressHydrationWarning lang="en-US" {...htmlProps}>
|
217
|
+
{contents}
|
218
|
+
</html>
|
219
|
+
)
|
220
|
+
})
|
221
|
+
}
|
222
|
+
|
223
|
+
return BaseComponent
|
224
|
+
})
|
209
225
|
|
210
226
|
if (process.env.NODE_ENV === 'development' && process.env.DEBUG === 'one') {
|
211
|
-
console.groupCollapsed(`Render ${props.key}`)
|
227
|
+
console.groupCollapsed(`Render ${props.key} ${props.segment}`)
|
212
228
|
console.info(`res`, res)
|
213
229
|
console.info(`value`, value)
|
214
230
|
console.info(`fromImport`, fromImport(res))
|
@@ -222,7 +238,6 @@ export function getQualifiedRouteComponent(value: RouteNode) {
|
|
222
238
|
// </Suspense>
|
223
239
|
)
|
224
240
|
})
|
225
|
-
// }
|
226
241
|
|
227
242
|
const wrapSuspense = (children: any) => {
|
228
243
|
if (process.env.TAMAGUI_TARGET === 'native') {
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import { type Options, getRoutes } from '../getRoutes'
|
1
|
+
import { type Options, getRoutes } from '../router/getRoutes'
|
2
2
|
import { getServerManifest } from './getServerManifest'
|
3
|
-
import type { RouteNode } from '../Route'
|
3
|
+
import type { RouteNode } from '../router/Route'
|
4
4
|
import type { One } from '../vite/types'
|
5
5
|
|
6
|
-
export { type Options } from '../getRoutes'
|
6
|
+
export { type Options } from '../router/getRoutes'
|
7
7
|
|
8
8
|
export type RouteInfo<TRegex = string> = {
|
9
9
|
file: string
|
@@ -8,9 +8,9 @@
|
|
8
8
|
*
|
9
9
|
* Based on https://github.com/vercel/next.js/blob/1df2686bc9964f1a86c444701fa5cbf178669833/packages/next/src/shared/lib/router/utils/route-regex.ts
|
10
10
|
*/
|
11
|
-
import type { RouteNode } from '../Route'
|
12
|
-
import { getContextKey, matchGroupName } from '../matchers'
|
13
|
-
import { sortRoutes } from '../sortRoutes'
|
11
|
+
import type { RouteNode } from '../router/Route'
|
12
|
+
import { getContextKey, matchGroupName } from '../router/matchers'
|
13
|
+
import { sortRoutes } from '../router/sortRoutes'
|
14
14
|
import type { One } from '../vite/types'
|
15
15
|
|
16
16
|
// TODO: Share these types across cli, server, router, etc.
|
package/src/server/oneServe.ts
CHANGED
@@ -2,7 +2,7 @@ import type { Hono, MiddlewareHandler } from 'hono'
|
|
2
2
|
import type { BlankEnv } from 'hono/types'
|
3
3
|
import { extname, join } from 'node:path'
|
4
4
|
import { getServerEntry } from 'vxrn/serve'
|
5
|
-
import { getPathFromLoaderPath } from '../cleanUrl'
|
5
|
+
import { getPathFromLoaderPath } from '../utils/cleanUrl'
|
6
6
|
import { LOADER_JS_POSTFIX_UNCACHED } from '../constants'
|
7
7
|
import { compileManifest, getURLfromRequestURL, type RequestHandlers } from '../createHandleRequest'
|
8
8
|
import type { RenderAppProps } from '../types'
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import FSExtra from 'fs-extra'
|
2
2
|
import { writeFile } from 'node:fs/promises'
|
3
3
|
import { dirname } from 'node:path'
|
4
|
-
import { globbedRoutesToRouteContext } from '../useViteRoutes'
|
4
|
+
import { globbedRoutesToRouteContext } from '../router/useViteRoutes'
|
5
5
|
import { globDir } from '../utils/globDir'
|
6
6
|
import { getTypedRoutesDeclarationFile } from './getTypedRoutesDeclarationFile'
|
7
7
|
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { getRoutes } from '../getRoutes'
|
2
|
-
import { isTypedRoute, removeSupportedExtensions } from '../matchers'
|
3
|
-
import type { RouteNode } from '../Route'
|
1
|
+
import { getRoutes } from '../router/getRoutes'
|
2
|
+
import { isTypedRoute, removeSupportedExtensions } from '../router/matchers'
|
3
|
+
import type { RouteNode } from '../router/Route'
|
4
4
|
import type { One } from '../vite/types'
|
5
5
|
|
6
6
|
// /[...param1]/ - Match [...param1]
|