one 1.21.6 → 1.21.8

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 (209) hide show
  1. package/dist/cjs/cli/dev.native.js.map +1 -1
  2. package/dist/cjs/cli.cjs +0 -3
  3. package/dist/cjs/cli.native.js +0 -3
  4. package/dist/cjs/cli.native.js.map +1 -1
  5. package/dist/cjs/image/getImageData.cjs +1 -1
  6. package/dist/cjs/image/getImageData.native.js +1 -1
  7. package/dist/cjs/image/getImageData.native.js.map +1 -1
  8. package/dist/cjs/index.native.js.map +1 -1
  9. package/dist/cjs/layouts/Stack.cjs +5 -5
  10. package/dist/cjs/layouts/Stack.native.js +5 -5
  11. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  12. package/dist/cjs/layouts/stack-utils/StackScreen.cjs +3 -0
  13. package/dist/cjs/layouts/stack-utils/StackScreen.native.js +3 -0
  14. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
  15. package/dist/cjs/layouts/stack-utils/StackToolbar.cjs +419 -0
  16. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js +453 -0
  17. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js.map +1 -0
  18. package/dist/cjs/layouts/stack-utils/StackToolbar.types.cjs +18 -0
  19. package/dist/cjs/layouts/stack-utils/StackToolbar.types.native.js +21 -0
  20. package/dist/cjs/layouts/stack-utils/StackToolbar.types.native.js.map +1 -0
  21. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.runtime.test.cjs +63 -0
  22. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.runtime.test.native.js +73 -0
  23. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.runtime.test.native.js.map +1 -0
  24. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.cjs +205 -0
  25. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js +220 -0
  26. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  27. package/dist/cjs/layouts/stack-utils/index.cjs +2 -0
  28. package/dist/cjs/layouts/stack-utils/index.native.js +2 -0
  29. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  30. package/dist/cjs/layouts/withLayoutContext.cjs +39 -8
  31. package/dist/cjs/layouts/withLayoutContext.native.js +43 -8
  32. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  33. package/dist/cjs/layouts/withLayoutContext.test.cjs +96 -0
  34. package/dist/cjs/layouts/withLayoutContext.test.native.js +100 -0
  35. package/dist/cjs/layouts/withLayoutContext.test.native.js.map +1 -0
  36. package/dist/cjs/router/Route.cjs +3 -0
  37. package/dist/cjs/router/Route.native.js +3 -0
  38. package/dist/cjs/router/Route.native.js.map +1 -1
  39. package/dist/cjs/router/protectedRoutes.test.cjs +22 -0
  40. package/dist/cjs/router/protectedRoutes.test.native.js +25 -0
  41. package/dist/cjs/router/protectedRoutes.test.native.js.map +1 -0
  42. package/dist/cjs/router/router.cjs +26 -8
  43. package/dist/cjs/router/router.native.js +26 -8
  44. package/dist/cjs/router/router.native.js.map +1 -1
  45. package/dist/cjs/router/useScreens.cjs +38 -11
  46. package/dist/cjs/router/useScreens.native.js +39 -11
  47. package/dist/cjs/router/useScreens.native.js.map +1 -1
  48. package/dist/cjs/router/useScreens.test.cjs +134 -0
  49. package/dist/cjs/router/useScreens.test.native.js +163 -0
  50. package/dist/cjs/router/useScreens.test.native.js.map +1 -0
  51. package/dist/cjs/views/Navigator.cjs +14 -6
  52. package/dist/cjs/views/Navigator.native.js +14 -6
  53. package/dist/cjs/views/Navigator.native.js.map +1 -1
  54. package/dist/cjs/views/Protected.native.js.map +1 -1
  55. package/dist/cjs/views/SuspenseFallback.cjs +18 -0
  56. package/dist/cjs/views/SuspenseFallback.native.js +21 -0
  57. package/dist/cjs/views/SuspenseFallback.native.js.map +1 -0
  58. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +47 -7
  59. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +47 -7
  60. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  61. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.cjs +15 -6
  62. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js +15 -6
  63. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
  64. package/dist/esm/cli/dev.mjs.map +1 -1
  65. package/dist/esm/cli/dev.native.js.map +1 -1
  66. package/dist/esm/cli.mjs +0 -3
  67. package/dist/esm/cli.mjs.map +1 -1
  68. package/dist/esm/cli.native.js +0 -3
  69. package/dist/esm/cli.native.js.map +1 -1
  70. package/dist/esm/image/getImageData.mjs +1 -1
  71. package/dist/esm/image/getImageData.mjs.map +1 -1
  72. package/dist/esm/image/getImageData.native.js +1 -1
  73. package/dist/esm/image/getImageData.native.js.map +1 -1
  74. package/dist/esm/index.js.map +1 -1
  75. package/dist/esm/index.mjs.map +1 -1
  76. package/dist/esm/index.native.js.map +1 -1
  77. package/dist/esm/layouts/Stack.mjs +6 -6
  78. package/dist/esm/layouts/Stack.mjs.map +1 -1
  79. package/dist/esm/layouts/Stack.native.js +6 -6
  80. package/dist/esm/layouts/Stack.native.js.map +1 -1
  81. package/dist/esm/layouts/stack-utils/StackScreen.mjs +3 -0
  82. package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
  83. package/dist/esm/layouts/stack-utils/StackScreen.native.js +3 -0
  84. package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
  85. package/dist/esm/layouts/stack-utils/StackToolbar.mjs +384 -0
  86. package/dist/esm/layouts/stack-utils/StackToolbar.mjs.map +1 -0
  87. package/dist/esm/layouts/stack-utils/StackToolbar.native.js +416 -0
  88. package/dist/esm/layouts/stack-utils/StackToolbar.native.js.map +1 -0
  89. package/dist/esm/layouts/stack-utils/StackToolbar.types.mjs +2 -0
  90. package/dist/esm/layouts/stack-utils/StackToolbar.types.mjs.map +1 -0
  91. package/dist/esm/layouts/stack-utils/StackToolbar.types.native.js +2 -0
  92. package/dist/esm/layouts/stack-utils/StackToolbar.types.native.js.map +1 -0
  93. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.runtime.test.mjs +40 -0
  94. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.runtime.test.mjs.map +1 -0
  95. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.runtime.test.native.js +47 -0
  96. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.runtime.test.native.js.map +1 -0
  97. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs +205 -0
  98. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs.map +1 -1
  99. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js +220 -0
  100. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  101. package/dist/esm/layouts/stack-utils/index.mjs +2 -1
  102. package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
  103. package/dist/esm/layouts/stack-utils/index.native.js +2 -1
  104. package/dist/esm/layouts/stack-utils/index.native.js.map +1 -1
  105. package/dist/esm/layouts/withLayoutContext.mjs +41 -11
  106. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  107. package/dist/esm/layouts/withLayoutContext.native.js +45 -11
  108. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  109. package/dist/esm/layouts/withLayoutContext.test.mjs +73 -0
  110. package/dist/esm/layouts/withLayoutContext.test.mjs.map +1 -0
  111. package/dist/esm/layouts/withLayoutContext.test.native.js +74 -0
  112. package/dist/esm/layouts/withLayoutContext.test.native.js.map +1 -0
  113. package/dist/esm/router/Route.mjs +3 -1
  114. package/dist/esm/router/Route.mjs.map +1 -1
  115. package/dist/esm/router/Route.native.js +3 -1
  116. package/dist/esm/router/Route.native.js.map +1 -1
  117. package/dist/esm/router/protectedRoutes.test.mjs +23 -0
  118. package/dist/esm/router/protectedRoutes.test.mjs.map +1 -0
  119. package/dist/esm/router/protectedRoutes.test.native.js +23 -0
  120. package/dist/esm/router/protectedRoutes.test.native.js.map +1 -0
  121. package/dist/esm/router/router.mjs +26 -9
  122. package/dist/esm/router/router.mjs.map +1 -1
  123. package/dist/esm/router/router.native.js +26 -9
  124. package/dist/esm/router/router.native.js.map +1 -1
  125. package/dist/esm/router/useScreens.mjs +39 -11
  126. package/dist/esm/router/useScreens.mjs.map +1 -1
  127. package/dist/esm/router/useScreens.native.js +40 -11
  128. package/dist/esm/router/useScreens.native.js.map +1 -1
  129. package/dist/esm/router/useScreens.test.mjs +105 -0
  130. package/dist/esm/router/useScreens.test.mjs.map +1 -0
  131. package/dist/esm/router/useScreens.test.native.js +130 -0
  132. package/dist/esm/router/useScreens.test.native.js.map +1 -0
  133. package/dist/esm/views/Navigator.mjs +15 -7
  134. package/dist/esm/views/Navigator.mjs.map +1 -1
  135. package/dist/esm/views/Navigator.native.js +15 -7
  136. package/dist/esm/views/Navigator.native.js.map +1 -1
  137. package/dist/esm/views/Protected.mjs.map +1 -1
  138. package/dist/esm/views/Protected.native.js.map +1 -1
  139. package/dist/esm/views/SuspenseFallback.mjs +2 -0
  140. package/dist/esm/views/SuspenseFallback.mjs.map +1 -0
  141. package/dist/esm/views/SuspenseFallback.native.js +2 -0
  142. package/dist/esm/views/SuspenseFallback.native.js.map +1 -0
  143. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +47 -7
  144. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  145. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +47 -7
  146. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  147. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs +15 -6
  148. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs.map +1 -1
  149. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js +15 -6
  150. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
  151. package/package.json +12 -11
  152. package/src/cli/dev.ts +0 -1
  153. package/src/cli.ts +0 -3
  154. package/src/image/getImageData.ts +2 -2
  155. package/src/index.ts +12 -0
  156. package/src/layouts/Stack.tsx +6 -4
  157. package/src/layouts/stack-utils/README.md +1 -0
  158. package/src/layouts/stack-utils/StackScreen.tsx +7 -0
  159. package/src/layouts/stack-utils/StackToolbar.tsx +550 -0
  160. package/src/layouts/stack-utils/StackToolbar.types.ts +98 -0
  161. package/src/layouts/stack-utils/__tests__/StackToolbar.runtime.test.tsx +46 -0
  162. package/src/layouts/stack-utils/__tests__/composition.test.tsx +176 -0
  163. package/src/layouts/stack-utils/index.tsx +16 -0
  164. package/src/layouts/withLayoutContext.test.tsx +74 -0
  165. package/src/layouts/withLayoutContext.tsx +71 -12
  166. package/src/router/Route.tsx +8 -0
  167. package/src/router/protectedRoutes.test.ts +35 -0
  168. package/src/router/router.ts +48 -20
  169. package/src/router/useScreens.test.tsx +139 -0
  170. package/src/router/useScreens.tsx +59 -13
  171. package/src/views/Navigator.tsx +25 -5
  172. package/src/views/Protected.tsx +3 -0
  173. package/src/views/SuspenseFallback.ts +7 -0
  174. package/src/vite/plugins/fileSystemRouterPlugin.test.ts +15 -6
  175. package/src/vite/plugins/fileSystemRouterPlugin.tsx +52 -7
  176. package/types/cli/dev.d.ts +0 -1
  177. package/types/cli/dev.d.ts.map +1 -1
  178. package/types/image/getImageData.d.ts +1 -1
  179. package/types/image/getImageData.d.ts.map +1 -1
  180. package/types/index.d.ts +2 -1
  181. package/types/index.d.ts.map +1 -1
  182. package/types/layouts/Stack.d.ts +11 -0
  183. package/types/layouts/Stack.d.ts.map +1 -1
  184. package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
  185. package/types/layouts/stack-utils/StackToolbar.d.ts +26 -0
  186. package/types/layouts/stack-utils/StackToolbar.d.ts.map +1 -0
  187. package/types/layouts/stack-utils/StackToolbar.types.d.ts +82 -0
  188. package/types/layouts/stack-utils/StackToolbar.types.d.ts.map +1 -0
  189. package/types/layouts/stack-utils/index.d.ts +3 -1
  190. package/types/layouts/stack-utils/index.d.ts.map +1 -1
  191. package/types/layouts/withLayoutContext.d.ts +7 -0
  192. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  193. package/types/layouts/withLayoutContext.test.d.ts +2 -0
  194. package/types/layouts/withLayoutContext.test.d.ts.map +1 -0
  195. package/types/router/Route.d.ts +4 -0
  196. package/types/router/Route.d.ts.map +1 -1
  197. package/types/router/protectedRoutes.test.d.ts +2 -0
  198. package/types/router/protectedRoutes.test.d.ts.map +1 -0
  199. package/types/router/router.d.ts +4 -6
  200. package/types/router/router.d.ts.map +1 -1
  201. package/types/router/useScreens.d.ts.map +1 -1
  202. package/types/router/useScreens.test.d.ts +2 -0
  203. package/types/router/useScreens.test.d.ts.map +1 -0
  204. package/types/views/Navigator.d.ts.map +1 -1
  205. package/types/views/Protected.d.ts +3 -0
  206. package/types/views/Protected.d.ts.map +1 -1
  207. package/types/views/SuspenseFallback.d.ts +8 -0
  208. package/types/views/SuspenseFallback.d.ts.map +1 -0
  209. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
@@ -0,0 +1,105 @@
1
+ import TestRenderer, { act } from "react-test-renderer";
2
+ import { afterEach, beforeEach, describe, expect, it } from "vitest";
3
+ import { getQualifiedRouteComponent } from "./useScreens.mjs";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ const pendingRoute = new Promise(() => {});
6
+ const previousTarget = "web";
7
+ const previousSuspendRoutesNative = process.env.ONE_SUSPEND_ROUTES_NATIVE;
8
+ const previousDisableSuspense = globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;
9
+ function createRouteNode(type, route, contextKey, loadRoute) {
10
+ return {
11
+ type,
12
+ route,
13
+ contextKey,
14
+ loadRoute,
15
+ children: [],
16
+ dynamic: null
17
+ };
18
+ }
19
+ function SuspendingRoute() {
20
+ throw pendingRoute;
21
+ }
22
+ beforeEach(() => {
23
+ process.env.TAMAGUI_TARGET = "native";
24
+ delete process.env.ONE_SUSPEND_ROUTES_NATIVE;
25
+ delete globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;
26
+ });
27
+ afterEach(() => {
28
+ if (previousTarget === void 0) delete "web";else process.env.TAMAGUI_TARGET = previousTarget;
29
+ if (previousSuspendRoutesNative === void 0) delete process.env.ONE_SUSPEND_ROUTES_NATIVE;else process.env.ONE_SUSPEND_ROUTES_NATIVE = previousSuspendRoutesNative;
30
+ if (previousDisableSuspense === void 0) delete globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;else globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__ = previousDisableSuspense;
31
+ });
32
+ describe("route SuspenseFallback", () => {
33
+ it("inherits the layout fallback and passes the suspended route details", async () => {
34
+ const ChildRoute = getQualifiedRouteComponent(createRouteNode("spa", "profile/[id]", "./(app)/profile/[id].tsx", () => {
35
+ throw pendingRoute;
36
+ }));
37
+ const LayoutRoute = getQualifiedRouteComponent(createRouteNode("layout", "(app)", "./(app)/_layout.tsx", () => ({
38
+ default: () => /* @__PURE__ */jsx(ChildRoute, {
39
+ route: {
40
+ params: {
41
+ id: "123"
42
+ }
43
+ }
44
+ }),
45
+ SuspenseFallback: ({
46
+ route,
47
+ params
48
+ }) => /* @__PURE__ */jsxs("div", {
49
+ "data-fallback": "layout",
50
+ children: [route, ":", params.id]
51
+ })
52
+ })));
53
+ let renderer;
54
+ await act(async () => {
55
+ renderer = TestRenderer.create(/* @__PURE__ */jsx(LayoutRoute, {}));
56
+ });
57
+ expect(renderer.root.findByProps({
58
+ "data-fallback": "layout"
59
+ }).children).toEqual(["./(app)/profile/[id].tsx", ":", "123"]);
60
+ });
61
+ it("uses the nearest layout fallback", async () => {
62
+ const ChildRoute = getQualifiedRouteComponent(createRouteNode("spa", "profile", "./(app)/profile.tsx", () => ({
63
+ default: SuspendingRoute
64
+ })));
65
+ const NestedLayoutRoute = getQualifiedRouteComponent(createRouteNode("layout", "(app)", "./(app)/_layout.tsx", () => ({
66
+ default: () => /* @__PURE__ */jsx(ChildRoute, {}),
67
+ SuspenseFallback: () => /* @__PURE__ */jsx("div", {
68
+ "data-fallback": "nested"
69
+ })
70
+ })));
71
+ const RootLayoutRoute = getQualifiedRouteComponent(createRouteNode("layout", "", "./_layout.tsx", () => ({
72
+ default: () => /* @__PURE__ */jsx(NestedLayoutRoute, {}),
73
+ SuspenseFallback: () => /* @__PURE__ */jsx("div", {
74
+ "data-fallback": "root"
75
+ })
76
+ })));
77
+ let renderer;
78
+ await act(async () => {
79
+ renderer = TestRenderer.create(/* @__PURE__ */jsx(RootLayoutRoute, {}));
80
+ });
81
+ expect(renderer.root.findAllByProps({
82
+ "data-fallback": "nested"
83
+ })).toHaveLength(1);
84
+ expect(renderer.root.findAllByProps({
85
+ "data-fallback": "root"
86
+ })).toHaveLength(0);
87
+ });
88
+ it("ignores a SuspenseFallback exported from a leaf route", async () => {
89
+ const ChildRoute = getQualifiedRouteComponent(createRouteNode("spa", "profile", "./profile.tsx", () => ({
90
+ default: SuspendingRoute,
91
+ SuspenseFallback: () => /* @__PURE__ */jsx("div", {
92
+ "data-fallback": "leaf"
93
+ })
94
+ })));
95
+ let renderer;
96
+ await act(async () => {
97
+ renderer = TestRenderer.create(/* @__PURE__ */jsx(ChildRoute, {}));
98
+ });
99
+ expect(renderer.root.findAllByProps({
100
+ "data-fallback": "leaf"
101
+ })).toHaveLength(0);
102
+ expect(renderer.toJSON()).toBeNull();
103
+ });
104
+ });
105
+ //# sourceMappingURL=useScreens.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TestRenderer","act","afterEach","beforeEach","describe","expect","it","getQualifiedRouteComponent","jsx","jsxs","pendingRoute","Promise","previousTarget","previousSuspendRoutesNative","process","env","ONE_SUSPEND_ROUTES_NATIVE","previousDisableSuspense","globalThis","__ONE_DISABLE_SUSPENSE_ROUTES__","createRouteNode","type","route","contextKey","loadRoute","children","dynamic","SuspendingRoute","TAMAGUI_TARGET","ChildRoute","LayoutRoute","default","params","id","SuspenseFallback","renderer","create","root","findByProps","toEqual","NestedLayoutRoute","RootLayoutRoute","findAllByProps","toHaveLength","toJSON","toBeNull"],"sources":["useScreens.test.mjs"],"sourcesContent":["import TestRenderer, { act } from \"react-test-renderer\";\nimport { afterEach, beforeEach, describe, expect, it } from \"vitest\";\nimport { getQualifiedRouteComponent } from \"./useScreens\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n\nconst pendingRoute = new Promise(() => {});\nconst previousTarget = \"web\";\nconst previousSuspendRoutesNative = process.env.ONE_SUSPEND_ROUTES_NATIVE;\nconst previousDisableSuspense = globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;\nfunction createRouteNode(type, route, contextKey, loadRoute) {\n\treturn {\n\t\ttype,\n\t\troute,\n\t\tcontextKey,\n\t\tloadRoute,\n\t\tchildren: [],\n\t\tdynamic: null\n\t};\n}\nfunction SuspendingRoute() {\n\tthrow pendingRoute;\n}\nbeforeEach(() => {\n\tprocess.env.TAMAGUI_TARGET = \"native\";\n\tdelete process.env.ONE_SUSPEND_ROUTES_NATIVE;\n\tdelete globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;\n});\nafterEach(() => {\n\tif (previousTarget === void 0) delete \"web\";\n\telse process.env.TAMAGUI_TARGET = previousTarget;\n\tif (previousSuspendRoutesNative === void 0) delete process.env.ONE_SUSPEND_ROUTES_NATIVE;\n\telse process.env.ONE_SUSPEND_ROUTES_NATIVE = previousSuspendRoutesNative;\n\tif (previousDisableSuspense === void 0) delete globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;\n\telse globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__ = previousDisableSuspense;\n});\ndescribe(\"route SuspenseFallback\", () => {\n\tit(\"inherits the layout fallback and passes the suspended route details\", async () => {\n\t\tconst ChildRoute = getQualifiedRouteComponent(createRouteNode(\"spa\", \"profile/[id]\", \"./(app)/profile/[id].tsx\", () => {\n\t\t\tthrow pendingRoute;\n\t\t}));\n\t\tconst LayoutRoute = getQualifiedRouteComponent(createRouteNode(\"layout\", \"(app)\", \"./(app)/_layout.tsx\", () => ({\n\t\t\tdefault: () => /* @__PURE__ */ jsx(ChildRoute, { route: { params: { id: \"123\" } } }),\n\t\t\tSuspenseFallback: ({ route, params }) => /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\"data-fallback\": \"layout\",\n\t\t\t\tchildren: [\n\t\t\t\t\troute,\n\t\t\t\t\t\":\",\n\t\t\t\t\tparams.id\n\t\t\t\t]\n\t\t\t})\n\t\t})));\n\t\tlet renderer;\n\t\tawait act(async () => {\n\t\t\trenderer = TestRenderer.create(/* @__PURE__ */ jsx(LayoutRoute, {}));\n\t\t});\n\t\texpect(renderer.root.findByProps({ \"data-fallback\": \"layout\" }).children).toEqual([\n\t\t\t\"./(app)/profile/[id].tsx\",\n\t\t\t\":\",\n\t\t\t\"123\"\n\t\t]);\n\t});\n\tit(\"uses the nearest layout fallback\", async () => {\n\t\tconst ChildRoute = getQualifiedRouteComponent(createRouteNode(\"spa\", \"profile\", \"./(app)/profile.tsx\", () => ({ default: SuspendingRoute })));\n\t\tconst NestedLayoutRoute = getQualifiedRouteComponent(createRouteNode(\"layout\", \"(app)\", \"./(app)/_layout.tsx\", () => ({\n\t\t\tdefault: () => /* @__PURE__ */ jsx(ChildRoute, {}),\n\t\t\tSuspenseFallback: () => /* @__PURE__ */ jsx(\"div\", { \"data-fallback\": \"nested\" })\n\t\t})));\n\t\tconst RootLayoutRoute = getQualifiedRouteComponent(createRouteNode(\"layout\", \"\", \"./_layout.tsx\", () => ({\n\t\t\tdefault: () => /* @__PURE__ */ jsx(NestedLayoutRoute, {}),\n\t\t\tSuspenseFallback: () => /* @__PURE__ */ jsx(\"div\", { \"data-fallback\": \"root\" })\n\t\t})));\n\t\tlet renderer;\n\t\tawait act(async () => {\n\t\t\trenderer = TestRenderer.create(/* @__PURE__ */ jsx(RootLayoutRoute, {}));\n\t\t});\n\t\texpect(renderer.root.findAllByProps({ \"data-fallback\": \"nested\" })).toHaveLength(1);\n\t\texpect(renderer.root.findAllByProps({ \"data-fallback\": \"root\" })).toHaveLength(0);\n\t});\n\tit(\"ignores a SuspenseFallback exported from a leaf route\", async () => {\n\t\tconst ChildRoute = getQualifiedRouteComponent(createRouteNode(\"spa\", \"profile\", \"./profile.tsx\", () => ({\n\t\t\tdefault: SuspendingRoute,\n\t\t\tSuspenseFallback: () => /* @__PURE__ */ jsx(\"div\", { \"data-fallback\": \"leaf\" })\n\t\t})));\n\t\tlet renderer;\n\t\tawait act(async () => {\n\t\t\trenderer = TestRenderer.create(/* @__PURE__ */ jsx(ChildRoute, {}));\n\t\t});\n\t\texpect(renderer.root.findAllByProps({ \"data-fallback\": \"leaf\" })).toHaveLength(0);\n\t\texpect(renderer.toJSON()).toBeNull();\n\t});\n});\n\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import TestRenderer, { act } from "react-test-renderer";
3
+ import { afterEach, beforeEach, describe, expect, it } from "vitest";
4
+ import { getQualifiedRouteComponent } from "./useScreens.native.js";
5
+ var pendingRoute = new Promise(function () {});
6
+ var previousTarget = "native";
7
+ var previousSuspendRoutesNative = process.env.ONE_SUSPEND_ROUTES_NATIVE;
8
+ var previousDisableSuspense = globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;
9
+ function createRouteNode(type, route, contextKey, loadRoute) {
10
+ return {
11
+ type,
12
+ route,
13
+ contextKey,
14
+ loadRoute,
15
+ children: [],
16
+ dynamic: null
17
+ };
18
+ }
19
+ function SuspendingRoute() {
20
+ throw pendingRoute;
21
+ }
22
+ beforeEach(function () {
23
+ process.env.TAMAGUI_TARGET = "native";
24
+ delete process.env.ONE_SUSPEND_ROUTES_NATIVE;
25
+ delete globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;
26
+ });
27
+ afterEach(function () {
28
+ if (previousTarget === void 0) delete "native";else process.env.TAMAGUI_TARGET = previousTarget;
29
+ if (previousSuspendRoutesNative === void 0) delete process.env.ONE_SUSPEND_ROUTES_NATIVE;else process.env.ONE_SUSPEND_ROUTES_NATIVE = previousSuspendRoutesNative;
30
+ if (previousDisableSuspense === void 0) delete globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;else globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__ = previousDisableSuspense;
31
+ });
32
+ describe("route SuspenseFallback", function () {
33
+ it("inherits the layout fallback and passes the suspended route details", async function () {
34
+ var ChildRoute = getQualifiedRouteComponent(createRouteNode("spa", "profile/[id]", "./(app)/profile/[id].tsx", function () {
35
+ throw pendingRoute;
36
+ }));
37
+ var LayoutRoute = getQualifiedRouteComponent(createRouteNode("layout", "(app)", "./(app)/_layout.tsx", function () {
38
+ return {
39
+ default: function () {
40
+ return /* @__PURE__ */jsx(ChildRoute, {
41
+ route: {
42
+ params: {
43
+ id: "123"
44
+ }
45
+ }
46
+ });
47
+ },
48
+ SuspenseFallback: function (param) {
49
+ var {
50
+ route,
51
+ params
52
+ } = param;
53
+ return /* @__PURE__ */jsxs("div", {
54
+ "data-fallback": "layout",
55
+ children: [route, ":", params.id]
56
+ });
57
+ }
58
+ };
59
+ }));
60
+ var renderer;
61
+ await act(async function () {
62
+ renderer = TestRenderer.create(/* @__PURE__ */jsx(LayoutRoute, {}));
63
+ });
64
+ expect(renderer.root.findByProps({
65
+ "data-fallback": "layout"
66
+ }).children).toEqual(["./(app)/profile/[id].tsx", ":", "123"]);
67
+ });
68
+ it("uses the nearest layout fallback", async function () {
69
+ var ChildRoute = getQualifiedRouteComponent(createRouteNode("spa", "profile", "./(app)/profile.tsx", function () {
70
+ return {
71
+ default: SuspendingRoute
72
+ };
73
+ }));
74
+ var NestedLayoutRoute = getQualifiedRouteComponent(createRouteNode("layout", "(app)", "./(app)/_layout.tsx", function () {
75
+ return {
76
+ default: function () {
77
+ return /* @__PURE__ */jsx(ChildRoute, {});
78
+ },
79
+ SuspenseFallback: function () {
80
+ return /* @__PURE__ */jsx("div", {
81
+ "data-fallback": "nested"
82
+ });
83
+ }
84
+ };
85
+ }));
86
+ var RootLayoutRoute = getQualifiedRouteComponent(createRouteNode("layout", "", "./_layout.tsx", function () {
87
+ return {
88
+ default: function () {
89
+ return /* @__PURE__ */jsx(NestedLayoutRoute, {});
90
+ },
91
+ SuspenseFallback: function () {
92
+ return /* @__PURE__ */jsx("div", {
93
+ "data-fallback": "root"
94
+ });
95
+ }
96
+ };
97
+ }));
98
+ var renderer;
99
+ await act(async function () {
100
+ renderer = TestRenderer.create(/* @__PURE__ */jsx(RootLayoutRoute, {}));
101
+ });
102
+ expect(renderer.root.findAllByProps({
103
+ "data-fallback": "nested"
104
+ })).toHaveLength(1);
105
+ expect(renderer.root.findAllByProps({
106
+ "data-fallback": "root"
107
+ })).toHaveLength(0);
108
+ });
109
+ it("ignores a SuspenseFallback exported from a leaf route", async function () {
110
+ var ChildRoute = getQualifiedRouteComponent(createRouteNode("spa", "profile", "./profile.tsx", function () {
111
+ return {
112
+ default: SuspendingRoute,
113
+ SuspenseFallback: function () {
114
+ return /* @__PURE__ */jsx("div", {
115
+ "data-fallback": "leaf"
116
+ });
117
+ }
118
+ };
119
+ }));
120
+ var renderer;
121
+ await act(async function () {
122
+ renderer = TestRenderer.create(/* @__PURE__ */jsx(ChildRoute, {}));
123
+ });
124
+ expect(renderer.root.findAllByProps({
125
+ "data-fallback": "leaf"
126
+ })).toHaveLength(0);
127
+ expect(renderer.toJSON()).toBeNull();
128
+ });
129
+ });
130
+ //# sourceMappingURL=useScreens.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","jsxs","TestRenderer","act","afterEach","beforeEach","describe","expect","it","getQualifiedRouteComponent","pendingRoute","Promise","previousTarget","previousSuspendRoutesNative","process","env","ONE_SUSPEND_ROUTES_NATIVE","previousDisableSuspense","globalThis","__ONE_DISABLE_SUSPENSE_ROUTES__","createRouteNode","type","route","contextKey","loadRoute","children","dynamic","SuspendingRoute","TAMAGUI_TARGET","ChildRoute","LayoutRoute","default","params","id","SuspenseFallback","param","renderer","create","root","findByProps","toEqual","NestedLayoutRoute","RootLayoutRoute","findAllByProps","toHaveLength","toJSON","toBeNull"],"sources":["useScreens.test.native.js"],"sourcesContent":["import { jsx, jsxs } from \"react/jsx-runtime\";\n\nimport TestRenderer, { act } from \"react-test-renderer\";\nimport { afterEach, beforeEach, describe, expect, it } from \"vitest\";\nimport { getQualifiedRouteComponent } from \"./useScreens\";\n\nvar pendingRoute = new Promise(function() {});\nvar previousTarget = \"native\";\nvar previousSuspendRoutesNative = process.env.ONE_SUSPEND_ROUTES_NATIVE;\nvar previousDisableSuspense = globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;\nfunction createRouteNode(type, route, contextKey, loadRoute) {\n\treturn {\n\t\ttype,\n\t\troute,\n\t\tcontextKey,\n\t\tloadRoute,\n\t\tchildren: [],\n\t\tdynamic: null\n\t};\n}\nfunction SuspendingRoute() {\n\tthrow pendingRoute;\n}\nbeforeEach(function() {\n\tprocess.env.TAMAGUI_TARGET = \"native\";\n\tdelete process.env.ONE_SUSPEND_ROUTES_NATIVE;\n\tdelete globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;\n});\nafterEach(function() {\n\tif (previousTarget === void 0) delete \"native\";\n\telse process.env.TAMAGUI_TARGET = previousTarget;\n\tif (previousSuspendRoutesNative === void 0) delete process.env.ONE_SUSPEND_ROUTES_NATIVE;\n\telse process.env.ONE_SUSPEND_ROUTES_NATIVE = previousSuspendRoutesNative;\n\tif (previousDisableSuspense === void 0) delete globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__;\n\telse globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__ = previousDisableSuspense;\n});\ndescribe(\"route SuspenseFallback\", function() {\n\tit(\"inherits the layout fallback and passes the suspended route details\", async function() {\n\t\tvar ChildRoute = getQualifiedRouteComponent(createRouteNode(\"spa\", \"profile/[id]\", \"./(app)/profile/[id].tsx\", function() {\n\t\t\tthrow pendingRoute;\n\t\t}));\n\t\tvar LayoutRoute = getQualifiedRouteComponent(createRouteNode(\"layout\", \"(app)\", \"./(app)/_layout.tsx\", function() {\n\t\t\treturn {\n\t\t\t\tdefault: function() {\n\t\t\t\t\treturn /* @__PURE__ */ jsx(ChildRoute, { route: { params: { id: \"123\" } } });\n\t\t\t\t},\n\t\t\t\tSuspenseFallback: function(param) {\n\t\t\t\t\tvar { route, params } = param;\n\t\t\t\t\treturn /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t\t\"data-fallback\": \"layout\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\troute,\n\t\t\t\t\t\t\t\":\",\n\t\t\t\t\t\t\tparams.id\n\t\t\t\t\t\t]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\t\t}));\n\t\tvar renderer;\n\t\tawait act(async function() {\n\t\t\trenderer = TestRenderer.create(/* @__PURE__ */ jsx(LayoutRoute, {}));\n\t\t});\n\t\texpect(renderer.root.findByProps({ \"data-fallback\": \"layout\" }).children).toEqual([\n\t\t\t\"./(app)/profile/[id].tsx\",\n\t\t\t\":\",\n\t\t\t\"123\"\n\t\t]);\n\t});\n\tit(\"uses the nearest layout fallback\", async function() {\n\t\tvar ChildRoute = getQualifiedRouteComponent(createRouteNode(\"spa\", \"profile\", \"./(app)/profile.tsx\", function() {\n\t\t\treturn { default: SuspendingRoute };\n\t\t}));\n\t\tvar NestedLayoutRoute = getQualifiedRouteComponent(createRouteNode(\"layout\", \"(app)\", \"./(app)/_layout.tsx\", function() {\n\t\t\treturn {\n\t\t\t\tdefault: function() {\n\t\t\t\t\treturn /* @__PURE__ */ jsx(ChildRoute, {});\n\t\t\t\t},\n\t\t\t\tSuspenseFallback: function() {\n\t\t\t\t\treturn /* @__PURE__ */ jsx(\"div\", { \"data-fallback\": \"nested\" });\n\t\t\t\t}\n\t\t\t};\n\t\t}));\n\t\tvar RootLayoutRoute = getQualifiedRouteComponent(createRouteNode(\"layout\", \"\", \"./_layout.tsx\", function() {\n\t\t\treturn {\n\t\t\t\tdefault: function() {\n\t\t\t\t\treturn /* @__PURE__ */ jsx(NestedLayoutRoute, {});\n\t\t\t\t},\n\t\t\t\tSuspenseFallback: function() {\n\t\t\t\t\treturn /* @__PURE__ */ jsx(\"div\", { \"data-fallback\": \"root\" });\n\t\t\t\t}\n\t\t\t};\n\t\t}));\n\t\tvar renderer;\n\t\tawait act(async function() {\n\t\t\trenderer = TestRenderer.create(/* @__PURE__ */ jsx(RootLayoutRoute, {}));\n\t\t});\n\t\texpect(renderer.root.findAllByProps({ \"data-fallback\": \"nested\" })).toHaveLength(1);\n\t\texpect(renderer.root.findAllByProps({ \"data-fallback\": \"root\" })).toHaveLength(0);\n\t});\n\tit(\"ignores a SuspenseFallback exported from a leaf route\", async function() {\n\t\tvar ChildRoute = getQualifiedRouteComponent(createRouteNode(\"spa\", \"profile\", \"./profile.tsx\", function() {\n\t\t\treturn {\n\t\t\t\tdefault: SuspendingRoute,\n\t\t\t\tSuspenseFallback: function() {\n\t\t\t\t\treturn /* @__PURE__ */ jsx(\"div\", { \"data-fallback\": \"leaf\" });\n\t\t\t\t}\n\t\t\t};\n\t\t}));\n\t\tvar renderer;\n\t\tawait act(async function() {\n\t\t\trenderer = TestRenderer.create(/* @__PURE__ */ jsx(ChildRoute, {}));\n\t\t});\n\t\texpect(renderer.root.findAllByProps({ \"data-fallback\": \"leaf\" })).toHaveLength(0);\n\t\texpect(renderer.toJSON()).toBeNull();\n\t});\n});\n\n"],"mappings":"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","ignoreList":[]}
@@ -2,12 +2,11 @@ import { StackRouter, useNavigationBuilder } from "@react-navigation/native";
2
2
  import { NavigationRouteContext } from "@react-navigation/core";
3
3
  import * as React from "react";
4
4
  import { SafeAreaView } from "react-native-safe-area-context";
5
- import { useFilterScreenChildren } from "../layouts/withLayoutContext.mjs";
5
+ import { useFilterScreenChildren, useResolvedGuardedRedirects } from "../layouts/withLayoutContext.mjs";
6
6
  import { findNearestNotFoundRoute, findRouteNodeByPath, useNotFoundState } from "../notFoundState.mjs";
7
7
  import { useContextKey } from "../router/Route.mjs";
8
8
  import { getResolvedLinking } from "../router/linkingConfig.mjs";
9
- import { routeNode as globalRouteNode, getSafeWindowPathname, initialPathname, lastIntendedPathname } from "../router/router.mjs";
10
- import { registerProtectedRoutes, unregisterProtectedRoutes } from "../router/router.mjs";
9
+ import { routeNode as globalRouteNode, getSafeWindowPathname, initialPathname, lastIntendedPathname, replace, registerProtectedRoutes, resolveProtectedHref, routeInfo, unregisterProtectedRoutes } from "../router/router.mjs";
11
10
  import { useSortedScreens, getQualifiedRouteComponent } from "../router/useScreens.mjs";
12
11
  import { Screen } from "./Screen.mjs";
13
12
  import { registerClearSlotStates, registerSetSlotState } from "../router/interceptRoutes.mjs";
@@ -76,18 +75,27 @@ function Navigator({
76
75
  const {
77
76
  screens,
78
77
  children: otherSlot,
79
- protectedScreens
78
+ protectedScreens,
79
+ guardedRedirects
80
80
  } = useFilterScreenChildren(children, {
81
81
  isCustomNavigator: true,
82
82
  contextKey
83
83
  });
84
- registerProtectedRoutes(contextKey, protectedScreens);
84
+ const resolvedGuardedRedirects = useResolvedGuardedRedirects(guardedRedirects);
85
+ registerProtectedRoutes(contextKey, resolvedGuardedRedirects);
86
+ const currentPathname = routeInfo?.pathname;
87
+ const protectedHref = currentPathname ? resolveProtectedHref(currentPathname) : currentPathname;
85
88
  React.useEffect(() => {
86
- registerProtectedRoutes(contextKey, protectedScreens);
89
+ registerProtectedRoutes(contextKey, resolvedGuardedRedirects);
87
90
  return () => {
88
91
  unregisterProtectedRoutes(contextKey);
89
92
  };
90
- }, [contextKey, protectedScreens]);
93
+ }, [contextKey, resolvedGuardedRedirects]);
94
+ React.useEffect(() => {
95
+ if (currentPathname && protectedHref && protectedHref !== currentPathname) {
96
+ replace(protectedHref);
97
+ }
98
+ }, [currentPathname, protectedHref]);
91
99
  const sorted = useSortedScreens(screens ?? [], {
92
100
  protectedScreens
93
101
  });
@@ -1 +1 @@
1
- {"version":3,"names":["StackRouter","useNavigationBuilder","NavigationRouteContext","React","SafeAreaView","useFilterScreenChildren","findNearestNotFoundRoute","findRouteNodeByPath","useNotFoundState","useContextKey","getResolvedLinking","routeNode","globalRouteNode","getSafeWindowPathname","initialPathname","lastIntendedPathname","registerProtectedRoutes","unregisterProtectedRoutes","useSortedScreens","getQualifiedRouteComponent","Screen","registerClearSlotStates","registerSetSlotState","Fragment","jsx","SLOT_STATIC_KEY","resolveInitialRouteFromLinking","contextKey","browserPath","linking","getStateFromPath","current","config","segments","split","filter","Boolean","i","length","routes","idx","index","focused","name","state","nameSegments","expected","slice","join","globalSlotState","Map","slotStateListeners","Set","getSlotState","slotName","get","setSlotState","delete","set","forEach","listener","clearAllSlotStates","clear","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","NavigatorContext","createContext","process","env","NODE_ENV","displayName","Navigator","initialRouteName","screenOptions","children","router","screens","otherSlot","protectedScreens","isCustomNavigator","sorted","console","warn","QualifiedNavigator","parentRoute","useContext","screenFromParent","params","screen","resolvedInitialRouteName","useMemo","hasScreen","some","s","props","resolved","navigation","descriptors","NavigationContent","id","descriptorsRef","useRef","value","Provider","useNavigatorContext","context","Error","useSlot","notFoundState","notFoundRouteNode","notFoundPath","originalPath","NotFoundComponent","route","renderedElement","key","render","cloneElement","Slot","memo","Slot2","QualifiedSlot","DefaultNavigator","style","flex","getScopedSlotKey","layoutContextKey","useNamedSlot","scopedKey","slotState","activeRouteKey","isIntercepted","activeRouteNode","Component","NamedSlot","slotContent"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StackRouter","useNavigationBuilder","NavigationRouteContext","React","SafeAreaView","useFilterScreenChildren","useResolvedGuardedRedirects","findNearestNotFoundRoute","findRouteNodeByPath","useNotFoundState","useContextKey","getResolvedLinking","routeNode","globalRouteNode","getSafeWindowPathname","initialPathname","lastIntendedPathname","replace","registerProtectedRoutes","resolveProtectedHref","routeInfo","unregisterProtectedRoutes","useSortedScreens","getQualifiedRouteComponent","Screen","registerClearSlotStates","registerSetSlotState","Fragment","jsx","SLOT_STATIC_KEY","resolveInitialRouteFromLinking","contextKey","browserPath","linking","getStateFromPath","current","config","segments","split","filter","Boolean","i","length","routes","idx","index","focused","name","state","nameSegments","expected","slice","join","globalSlotState","Map","slotStateListeners","Set","getSlotState","slotName","get","setSlotState","delete","set","forEach","listener","clearAllSlotStates","clear","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","NavigatorContext","createContext","process","env","NODE_ENV","displayName","Navigator","initialRouteName","screenOptions","children","router","screens","otherSlot","protectedScreens","guardedRedirects","isCustomNavigator","resolvedGuardedRedirects","currentPathname","pathname","protectedHref","sorted","console","warn","QualifiedNavigator","parentRoute","useContext","screenFromParent","params","screen","resolvedInitialRouteName","useMemo","hasScreen","some","s","props","resolved","navigation","descriptors","NavigationContent","id","descriptorsRef","useRef","value","Provider","useNavigatorContext","context","Error","useSlot","notFoundState","notFoundRouteNode","notFoundPath","originalPath","NotFoundComponent","route","renderedElement","key","render","cloneElement","Slot","memo","Slot2","QualifiedSlot","DefaultNavigator","style","flex","getScopedSlotKey","layoutContextKey","useNamedSlot","scopedKey","slotState","activeRouteKey","isIntercepted","activeRouteNode","Component","NamedSlot","slotContent"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"AACA,SAEEA,WAAA,EACAC,oBAAA,QACK;AACP,SAASC,sBAAA,QAA8B;AACvC,YAAYC,KAAA,MAAW;AACvB,SAASC,YAAA,QAAoB;AAC7B,SACEC,uBAAA,EACAC,2BAAA,QACK;AACP,SACEC,wBAAA,EACAC,mBAAA,EACAC,gBAAA,QACK;AACP,SAASC,aAAA,QAAqB;AAC9B,SAASC,kBAAA,QAA0B;AACnC,SACEC,SAAA,IAAaC,eAAA,EACbC,qBAAA,EACAC,eAAA,EACAC,oBAAA,EACAC,OAAA,EACAC,uBAAA,EACAC,oBAAA,EACAC,SAAA,EACAC,yBAAA,QACK;AACP,SAASC,gBAAA,EAAkBC,0BAAA,QAAkC;AAC7D,SAASC,MAAA,QAAc;AAmDvB,SAASC,uBAAA,EAAyBC,oBAAA,QAA4B;AAyI1D,SA2SOC,QAAA,EA3SPC,GAAA;AAvLJ,MAAMC,eAAA,GAAkB;AAcxB,SAASC,+BACPC,UAAA,EACAC,WAAA,EACoB;EACpB,MAAMC,OAAA,GAAUtB,kBAAA,CAAmB;EACnC,IAAI,CAACsB,OAAA,EAASC,gBAAA,EAAkB,OAAO;EAEvC,IAAIC,OAAA,GAAUF,OAAA,CAAQC,gBAAA,CAAiBF,WAAA,EAAaC,OAAA,CAAQG,MAAM;EAClE,MAAMC,QAAA,GAAWN,UAAA,CAAWO,KAAA,CAAM,GAAG,EAAEC,MAAA,CAAOC,OAAO;EAErD,IAAIC,CAAA,GAAI;EACR,OAAOA,CAAA,GAAIJ,QAAA,CAASK,MAAA,EAAQ;IAC1B,IAAI,CAACP,OAAA,EAASQ,MAAA,EAAQD,MAAA,EAAQ,OAAO;IACrC,MAAME,IAAA,GAAMT,OAAA,CAAQU,KAAA,IAASV,OAAA,CAAQQ,MAAA,CAAOD,MAAA,GAAS;IACrD,MAAMI,OAAA,GAAUX,OAAA,CAAQQ,MAAA,CAAOC,IAAG;IAClC,IAAI,CAACE,OAAA,EAASC,IAAA,IAAQ,CAACD,OAAA,CAAQE,KAAA,EAAO,OAAO;IAC7C,MAAMC,YAAA,GAAeH,OAAA,CAAQC,IAAA,CAAKT,KAAA,CAAM,GAAG,EAAEC,MAAA,CAAOC,OAAO;IAC3D,MAAMU,QAAA,GAAWb,QAAA,CAASc,KAAA,CAAMV,CAAA,EAAGA,CAAA,GAAIQ,YAAA,CAAaP,MAAM,EAAEU,IAAA,CAAK,GAAG;IACpE,IAAIN,OAAA,CAAQC,IAAA,KAASG,QAAA,EAAU,OAAO;IACtCf,OAAA,GAAUW,OAAA,CAAQE,KAAA;IAClBP,CAAA,IAAKQ,YAAA,CAAaP,MAAA;EACpB;EAEA,IAAI,CAACP,OAAA,EAASQ,MAAA,EAAQD,MAAA,EAAQ,OAAO;EACrC,MAAME,GAAA,GAAMT,OAAA,CAAQU,KAAA,IAASV,OAAA,CAAQQ,MAAA,CAAOD,MAAA,GAAS;EACrD,OAAOP,OAAA,CAAQQ,MAAA,CAAOC,GAAG,GAAGG,IAAA;AAC9B;AAqBA,MAAMM,eAAA,GAAkB,mBAAIC,GAAA,CAAuB;AACnD,MAAMC,kBAAA,GAAqB,mBAAIC,GAAA,CAAgB;AAExC,SAASC,aAAaC,QAAA,EAAyC;EACpE,OAAOL,eAAA,CAAgBM,GAAA,CAAID,QAAQ;AACrC;AAEO,SAASE,aAAaF,QAAA,EAAkBV,KAAA,EAAyB;EACtE,IAAIA,KAAA,KAAU,MAAM;IAClBK,eAAA,CAAgBQ,MAAA,CAAOH,QAAQ;EACjC,OAAO;IACLL,eAAA,CAAgBS,GAAA,CAAIJ,QAAA,EAAUV,KAAK;EACrC;EAEAO,kBAAA,CAAmBQ,OAAA,CAASC,QAAA,IAAaA,QAAA,CAAS,CAAC;AACrD;AAEO,SAASC,mBAAA,EAAqB;EACnCZ,eAAA,CAAgBa,KAAA,CAAM;EACtBX,kBAAA,CAAmBQ,OAAA,CAASC,QAAA,IAAaA,QAAA,CAAS,CAAC;AACrD;AAGAvC,uBAAA,CAAwBwC,kBAAkB;AAC1CvC,oBAAA,CAAqBkC,YAAY;AAEjC,SAASO,yBAAA,EAA2B;EAClC,MAAM,GAAGC,WAAW,IAAIjE,KAAA,CAAMkE,UAAA,CAAYC,CAAA,IAAMA,CAAA,GAAI,GAAG,CAAC;EAExDnE,KAAA,CAAMoE,SAAA,CAAU,MAAM;IACpBhB,kBAAA,CAAmBiB,GAAA,CAAIJ,WAAW;IAClC,OAAO,MAAM;MACXb,kBAAA,CAAmBM,MAAA,CAAOO,WAAW;IACvC;EACF,GAAG,EAAE;AACP;AAGO,MAAMK,gBAAA,GAAmBtE,KAAA,CAAMuE,aAAA,CAM5B,IAAI;AAEd,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,cAAc;EACzCJ,gBAAA,CAAiBK,WAAA,GAAc;AACjC;AAwBO,SAASC,UAAU;EACxBC,gBAAA;EACAC,aAAA;EACAC,QAAA;EACAC;AACF,GAAmB;EACjB,MAAMpD,UAAA,GAAarB,aAAA,CAAc;EAGjC,MAAM;IACJ0E,OAAA;IACAF,QAAA,EAAUG,SAAA;IACVC,gBAAA;IACAC;EACF,IAAIlF,uBAAA,CAAwB6E,QAAA,EAAU;IACpCM,iBAAA,EAAmB;IACnBzD;EACF,CAAC;EACD,MAAM0D,wBAAA,GAA2BnF,2BAAA,CAA4BiF,gBAAgB;EAI7ErE,uBAAA,CAAwBa,UAAA,EAAY0D,wBAAwB;EAE5D,MAAMC,eAAA,GAAkBtE,SAAA,EAAWuE,QAAA;EACnC,MAAMC,aAAA,GAAgBF,eAAA,GAClBvE,oBAAA,CAAqBuE,eAAe,IACpCA,eAAA;EAEJvF,KAAA,CAAMoE,SAAA,CAAU,MAAM;IACpBrD,uBAAA,CAAwBa,UAAA,EAAY0D,wBAAwB;IAC5D,OAAO,MAAM;MACXpE,yBAAA,CAA0BU,UAAU;IACtC;EACF,GAAG,CAACA,UAAA,EAAY0D,wBAAwB,CAAC;EAEzCtF,KAAA,CAAMoE,SAAA,CAAU,MAAM;IACpB,IAAImB,eAAA,IAAmBE,aAAA,IAAiBA,aAAA,KAAkBF,eAAA,EAAiB;MACzEzE,OAAA,CAAQ2E,aAAa;IACvB;EACF,GAAG,CAACF,eAAA,EAAiBE,aAAa,CAAC;EAEnC,MAAMC,MAAA,GAASvE,gBAAA,CAAiB8D,OAAA,IAAW,EAAC,EAAG;IAAEE;EAAiB,CAAC;EAEnE,IAAI,CAACO,MAAA,CAAOnD,MAAA,EAAQ;IAClBoD,OAAA,CAAQC,IAAA,CAAK,iBAAiBhE,UAAU,oBAAoB;IAC5D,OAAO;EACT;EAEA,OACE,eAAAH,GAAA,CAACoE,kBAAA;IACChB,gBAAA;IACAC,aAAA;IACAG,OAAA,EAASS,MAAA;IACT9D,UAAA;IACAoD,MAAA;IAECD,QAAA,EAAAG;EAAA,CACH;AAEJ;AAEA,SAASW,mBAAmB;EAC1BhB,gBAAA;EACAC,aAAA;EACAC,QAAA;EACAE,OAAA;EACArD,UAAA;EACAoD,MAAA,GAASnF;AACX,GAAwE;EAoCtE,MAAMiG,WAAA,GAAc9F,KAAA,CAAM+F,UAAA,CAAWhG,sBAAsB;EAC3D,MAAMiG,gBAAA,GACJF,WAAA,IACA,OAAOA,WAAA,CAAYG,MAAA,KAAW,YAC9BH,WAAA,CAAYG,MAAA,KAAW,QACvB,OAAQH,WAAA,CAAYG,MAAA,CAAeC,MAAA,KAAW,WACzCJ,WAAA,CAAYG,MAAA,CAAeC,MAAA,GAC5B;EAEN,MAAMC,wBAAA,GAA2BnG,KAAA,CAAMoG,OAAA,CAAQ,MAAM;IACnD,IAAIvB,gBAAA,EAAkB,OAAOA,gBAAA;IAE7B,IAAImB,gBAAA,EAAkB;MACpB,MAAMK,UAAA,GAAYpB,OAAA,CAAQqB,IAAA,CAAMC,CAAA,IAAOA,CAAA,EAAWC,KAAA,EAAO5D,IAAA,KAASoD,gBAAgB;MAClF,IAAIK,UAAA,EAAW,OAAOL,gBAAA;IACxB;IAEA,MAAMnE,WAAA,GAAchB,oBAAA,IAAwBD,eAAA,IAAmBD,qBAAA,CAAsB;IACrF,IAAI,CAACkB,WAAA,EAAa,OAAO;IAEzB,MAAM4E,QAAA,GAAW9E,8BAAA,CAA+BC,UAAA,EAAYC,WAAW;IACvE,IAAI,CAAC4E,QAAA,EAAU,OAAO;IAMtB,MAAMJ,SAAA,GAAYpB,OAAA,CAAQqB,IAAA,CAAMC,CAAA,IAAOA,CAAA,EAAWC,KAAA,EAAO5D,IAAA,KAAS6D,QAAQ;IAC1E,OAAOJ,SAAA,GAAYI,QAAA,GAAW;EAChC,GAAG,CAAC5B,gBAAA,EAAkBI,OAAA,EAASrD,UAAA,EAAYoE,gBAAgB,CAAC;EAE5D,MAAM;IAAEnD,KAAA;IAAO6D,UAAA;IAAYC,WAAA;IAAaC;EAAkB,IAAI9G,oBAAA,CAC5DkF,MAAA,EACA;IAAA;IAEE6B,EAAA,EAAIjF,UAAA;IACJmD,QAAA,EAAUE,OAAA;IACVH,aAAA;IACAD,gBAAA,EAAkBsB;EACpB,CACF;EAMA,MAAMW,cAAA,GAAiB9G,KAAA,CAAM+G,MAAA,CAAOJ,WAAW;EAC/CG,cAAA,CAAe9E,OAAA,GAAU2E,WAAA;EAEzB,MAAMK,KAAA,GAAQhH,KAAA,CAAMoG,OAAA,CAAQ,MAAM;IAChC,OAAO;MACLxE,UAAA;MACAiB,KAAA;MACA6D,UAAA;MACAI,cAAA;MACA9B;IACF;EACF,GAAG,CAACpD,UAAA,EAAYiB,KAAA,EAAO6D,UAAA,EAAY1B,MAAM,CAAC;EAE1C,OACE,eAAAvD,GAAA,CAAC6C,gBAAA,CAAiB2C,QAAA,EAAjB;IAA0BD,KAAA;IACzBjC,QAAA,iBAAAtD,GAAA,CAACmF,iBAAA;MAAmB7B;IAAA,CAAS;EAAA,CAC/B;AAEJ;AAEO,SAASmC,oBAAA,EAAsB;EACpC,MAAMC,OAAA,GAAUnH,KAAA,CAAM+F,UAAA,CAAWzB,gBAAgB;EACjD,IAAI,CAAC6C,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM,yDAAyD;EAC3E;EACA,OAAOD,OAAA;AACT;AAEO,SAASE,QAAA,EAAU;EACxB,MAAMF,OAAA,GAAUD,mBAAA,CAAoB;EACpC,MAAM;IAAErE,KAAA;IAAOiE;EAAe,IAAIK,OAAA;EAClC,MAAMG,aAAA,GAAgBhH,gBAAA,CAAiB;EAGvC,IAAIgH,aAAA,EAAe;IAKjB,MAAMC,iBAAA,GACJD,aAAA,CAAcC,iBAAA,IACdlH,mBAAA,CAAoBiH,aAAA,CAAcE,YAAA,EAAc9G,eAAe,KAC/DN,wBAAA,CAAyBkH,aAAA,CAAcG,YAAA,EAAc/G,eAAe;IAEtE,IAAI6G,iBAAA,EAAmB;MACrB,MAAMG,iBAAA,GAAoBtG,0BAAA,CAA2BmG,iBAAiB;MACtE,OAAO,eAAA9F,GAAA,CAACiG,iBAAA;QAA6CC,KAAA,EAAO;UAAE1B,MAAA,EAAQ,CAAC;QAAE;MAAA,GAA3C,sBAA8C;IAC9E;IAIA,OAAO;EACT;EAEA,IAAI,CAACpD,KAAA,CAAML,MAAA,EAAQ;IACjB,OAAO;EACT;EAEA,MAAMR,OAAA,GAAUa,KAAA,CAAML,MAAA,CAAOK,KAAA,CAAMH,KAAK;EAExC,IAAI,CAACV,OAAA,EAAS;IACZ,OAAO;EACT;EAEA,MAAM4F,eAAA,GAAkBd,cAAA,CAAe9E,OAAA,CAAQA,OAAA,CAAQ6F,GAAG,GAAGC,MAAA,CAAO,KAAK;EAKzE,IAAIF,eAAA,KAAoB,MAAM;IAC5B,OAAO5H,KAAA,CAAM+H,YAAA,CAAaH,eAAA,EAAiB;MACzCC,GAAA,EAAK,GAAGnG,eAAe,IAAIM,OAAA,CAAQY,IAAI;IACzC,CAAC;EACH;EAEA,OAAOgF,eAAA;AACT;AAGO,MAAMI,IAAA,GAAOhI,KAAA,CAAMiI,IAAA,CAAK,SAASC,KAAAF,CAAKxB,KAAA,EAAyC;EACpF,MAAM5E,UAAA,GAAarB,aAAA,CAAc;EACjC,MAAM4G,OAAA,GAAUnH,KAAA,CAAM+F,UAAA,CAAWzB,gBAAgB;EAGjD,IAAI6C,OAAA,EAASvF,UAAA,KAAeA,UAAA,EAAY;IAEtC,OACE,eAAAH,GAAA,CAACmD,SAAA;MAAW,GAAG4B,KAAA;MACbzB,QAAA,iBAAAtD,GAAA,CAAC0G,aAAA,IAAc;IAAA,CACjB;EAEJ;EAEA,OAAO,eAAA1G,GAAA,CAAC0G,aAAA,IAAc;AACxB,CAAC;AAEM,SAASA,cAAA,EAAgB;EAC9B,OAAOd,OAAA,CAAQ;AACjB;AAEO,SAASe,iBAAA,EAAmB;EACjC,OACE,eAAA3G,GAAA,CAACxB,YAAA;IAAaoI,KAAA,EAAO;MAAEC,IAAA,EAAM;IAAE;IAC7BvD,QAAA,iBAAAtD,GAAA,CAACmD,SAAA;MACCG,QAAA,iBAAAtD,GAAA,CAAC0G,aAAA,IAAc;IAAA,CACjB;EAAA,CACF;AAEJ;AAEAvD,SAAA,CAAUoD,IAAA,GAAOA,IAAA;AACjBpD,SAAA,CAAUmB,UAAA,GAAamB,mBAAA;AAGvBtC,SAAA,CAAUvD,MAAA,GAASA,MAAA;AAUZ,SAASkH,iBAAiBhF,QAAA,EAAkBiF,gBAAA,EAAmC;EACpF,IAAI,CAACA,gBAAA,EAAkB,OAAOjF,QAAA;EAC9B,OAAO,GAAGiF,gBAAgB,IAAIjF,QAAQ;AACxC;AASO,SAASkF,aACdlF,QAAA,EACAiF,gBAAA,EACwB;EAExBxE,wBAAA,CAAyB;EAEzB,MAAM0E,SAAA,GAAYH,gBAAA,CAAiBhF,QAAA,EAAUiF,gBAAgB;EAC7D,MAAMG,SAAA,GAAYrF,YAAA,CAAaoF,SAAS;EAExC,IAAI,CAACC,SAAA,EAAWC,cAAA,IAAkB,CAACD,SAAA,CAAUE,aAAA,EAAe;IAE1D,OAAO;EACT;EAGA,IAAIF,SAAA,CAAUG,eAAA,EAAiB;IAC7B,MAAMC,SAAA,GAAY3H,0BAAA,CAA2BuH,SAAA,CAAUG,eAAe;IAEtE,OACE,eAAArH,GAAA,CAACsH,SAAA;MAECpB,KAAA,EAAO;QAAE1B,MAAA,EAAQ0C,SAAA,CAAU1C,MAAA,IAAU,CAAC;MAAE;IAAA,GADnC0C,SAAA,CAAUC,cAEjB;EAEJ;EAEA,OAAO;AACT;AAmBO,SAASI,UAAU;EACxBpG,IAAA;EACA4F,gBAAA;EACAzD;AACF,GAOG;EACD,MAAMkE,WAAA,GAAcR,YAAA,CAAa7F,IAAA,EAAM4F,gBAAgB;EAEvD,IAAIS,WAAA,EAAa;IACf,OAAO,eAAAxH,GAAA,CAAAD,QAAA;MAAGuD,QAAA,EAAAkE;IAAA,CAAY;EACxB;EAGA,OAAO,eAAAxH,GAAA,CAAAD,QAAA;IAAGuD;EAAA,CAAS;AACrB","ignoreList":[]}
@@ -3,12 +3,11 @@ import { StackRouter, useNavigationBuilder } from "@react-navigation/native";
3
3
  import { NavigationRouteContext } from "@react-navigation/core";
4
4
  import * as React from "react";
5
5
  import { SafeAreaView } from "react-native-safe-area-context";
6
- import { useFilterScreenChildren } from "../layouts/withLayoutContext.native.js";
6
+ import { useFilterScreenChildren, useResolvedGuardedRedirects } from "../layouts/withLayoutContext.native.js";
7
7
  import { findNearestNotFoundRoute, findRouteNodeByPath, useNotFoundState } from "../notFoundState.native.js";
8
8
  import { useContextKey } from "../router/Route.native.js";
9
9
  import { getResolvedLinking } from "../router/linkingConfig.native.js";
10
- import { routeNode as globalRouteNode, getSafeWindowPathname, initialPathname, lastIntendedPathname } from "../router/router.native.js";
11
- import { registerProtectedRoutes, unregisterProtectedRoutes } from "../router/router.native.js";
10
+ import { routeNode as globalRouteNode, getSafeWindowPathname, initialPathname, lastIntendedPathname, replace, registerProtectedRoutes, resolveProtectedHref, routeInfo, unregisterProtectedRoutes } from "../router/router.native.js";
12
11
  import { useSortedScreens, getQualifiedRouteComponent } from "../router/useScreens.native.js";
13
12
  import { Screen } from "./Screen.native.js";
14
13
  import { registerClearSlotStates, registerSetSlotState } from "../router/interceptRoutes.native.js";
@@ -92,18 +91,27 @@ function Navigator(param) {
92
91
  var {
93
92
  screens,
94
93
  children: otherSlot,
95
- protectedScreens
94
+ protectedScreens,
95
+ guardedRedirects
96
96
  } = useFilterScreenChildren(children, {
97
97
  isCustomNavigator: true,
98
98
  contextKey
99
99
  });
100
- registerProtectedRoutes(contextKey, protectedScreens);
100
+ var resolvedGuardedRedirects = useResolvedGuardedRedirects(guardedRedirects);
101
+ registerProtectedRoutes(contextKey, resolvedGuardedRedirects);
102
+ var currentPathname = routeInfo === null || routeInfo === void 0 ? void 0 : routeInfo.pathname;
103
+ var protectedHref = currentPathname ? resolveProtectedHref(currentPathname) : currentPathname;
101
104
  React.useEffect(function () {
102
- registerProtectedRoutes(contextKey, protectedScreens);
105
+ registerProtectedRoutes(contextKey, resolvedGuardedRedirects);
103
106
  return function () {
104
107
  unregisterProtectedRoutes(contextKey);
105
108
  };
106
- }, [contextKey, protectedScreens]);
109
+ }, [contextKey, resolvedGuardedRedirects]);
110
+ React.useEffect(function () {
111
+ if (currentPathname && protectedHref && protectedHref !== currentPathname) {
112
+ replace(protectedHref);
113
+ }
114
+ }, [currentPathname, protectedHref]);
107
115
  var sorted = useSortedScreens(screens !== null && screens !== void 0 ? screens : [], {
108
116
  protectedScreens
109
117
  });
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","Fragment","_Fragment","StackRouter","useNavigationBuilder","NavigationRouteContext","React","SafeAreaView","useFilterScreenChildren","findNearestNotFoundRoute","findRouteNodeByPath","useNotFoundState","useContextKey","getResolvedLinking","routeNode","globalRouteNode","getSafeWindowPathname","initialPathname","lastIntendedPathname","registerProtectedRoutes","unregisterProtectedRoutes","useSortedScreens","getQualifiedRouteComponent","Screen","registerClearSlotStates","registerSetSlotState","_type_of","obj","Symbol","constructor","SLOT_STATIC_KEY","resolveInitialRouteFromLinking","contextKey","browserPath","_current_index","_current_routes","_current_routes_idx","linking","getStateFromPath","current","config","segments","split","filter","Boolean","i","length","_current_index1","_current_routes1","routes","idx","index","focused","name","state","nameSegments","expected","slice","join","idx1","globalSlotState","Map","slotStateListeners","Set","getSlotState","slotName","get","setSlotState","delete","set","forEach","listener","clearAllSlotStates","clear","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","NavigatorContext","createContext","process","env","NODE_ENV","displayName","Navigator","param","initialRouteName","screenOptions","children","router","screens","otherSlot","protectedScreens","isCustomNavigator","sorted","console","warn","QualifiedNavigator","parentRoute","useContext","screenFromParent","params","screen","resolvedInitialRouteName","useMemo","_ref","hasScreen","some","s","_s_props","props","resolved","hasScreen1","navigation","descriptors","NavigationContent","id","descriptorsRef","useRef","value","Provider","useNavigatorContext","context","Error","useSlot","_descriptorsRef_current_current_key","notFoundState","notFoundRouteNode","notFoundPath","originalPath","NotFoundComponent","route","renderedElement","key","render","cloneElement","Slot","memo","Slot2","QualifiedSlot","DefaultNavigator","style","flex","getScopedSlotKey","layoutContextKey","useNamedSlot","scopedKey","slotState","activeRouteKey","isIntercepted"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","Fragment","_Fragment","StackRouter","useNavigationBuilder","NavigationRouteContext","React","SafeAreaView","useFilterScreenChildren","useResolvedGuardedRedirects","findNearestNotFoundRoute","findRouteNodeByPath","useNotFoundState","useContextKey","getResolvedLinking","routeNode","globalRouteNode","getSafeWindowPathname","initialPathname","lastIntendedPathname","replace","registerProtectedRoutes","resolveProtectedHref","routeInfo","unregisterProtectedRoutes","useSortedScreens","getQualifiedRouteComponent","Screen","registerClearSlotStates","registerSetSlotState","_type_of","obj","Symbol","constructor","SLOT_STATIC_KEY","resolveInitialRouteFromLinking","contextKey","browserPath","_current_index","_current_routes","_current_routes_idx","linking","getStateFromPath","current","config","segments","split","filter","Boolean","i","length","_current_index1","_current_routes1","routes","idx","index","focused","name","state","nameSegments","expected","slice","join","idx1","globalSlotState","Map","slotStateListeners","Set","getSlotState","slotName","get","setSlotState","delete","set","forEach","listener","clearAllSlotStates","clear","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","NavigatorContext","createContext","process","env","NODE_ENV","displayName","Navigator","param","initialRouteName","screenOptions","children","router","screens","otherSlot","protectedScreens","guardedRedirects","isCustomNavigator","resolvedGuardedRedirects","currentPathname","pathname","protectedHref","sorted","console","warn","QualifiedNavigator","parentRoute","useContext","screenFromParent","params","screen","resolvedInitialRouteName","useMemo","_ref","hasScreen","some","s","_s_props","props","resolved","hasScreen1","navigation","descriptors","NavigationContent","id","descriptorsRef","useRef","value","Provider","useNavigatorContext","context","Error","useSlot","_descriptorsRef_current_current_key","notFoundState","notFoundRouteNode","notFoundPath","originalPath","NotFoundComponent","route","renderedElement","key","render","cloneElement","Slot","memo","Slot2","QualifiedSlot","DefaultNavigator","style","flex","getScopedSlotKey","layoutContextKey","useNamedSlot","scopedKey","slotState","activeRouteKey","isIntercepted","activeRouteNode","Component"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createNavigatorFactory","isValidElement","Group","Protected","isProtectedElement","child","Boolean","type","props"],"sources":["../../../src/views/Protected.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,sBAAA,QAA8B;AACvC,SAIEC,cAAA,QACK;AAIP,MAAM;EAAEC;AAAM,IAAIF,sBAAA,CAAuB,CAAC,CAAQ,EAAE;AAiC7C,MAAMG,SAAA,GAAYD,KAAA;AAQlB,SAASE,mBACdC,KAAA,EACuC;EACvC,OAAOC,OAAA,CACLL,cAAA,CAAeI,KAAK,KACpBA,KAAA,CAAME,IAAA,KAASL,KAAA,IACfG,KAAA,CAAMG,KAAA,IACN,OAAOH,KAAA,CAAMG,KAAA,KAAU,YACvB,WAAWH,KAAA,CAAMG,KACnB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createNavigatorFactory","isValidElement","Group","Protected","isProtectedElement","child","Boolean","type","props"],"sources":["../../../src/views/Protected.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,sBAAA,QAA8B;AACvC,SAIEC,cAAA,QACK;AAKP,MAAM;EAAEC;AAAM,IAAIF,sBAAA,CAAuB,CAAC,CAAQ,EAAE;AAmC7C,MAAMG,SAAA,GAAYD,KAAA;AAQlB,SAASE,mBACdC,KAAA,EACuC;EACvC,OAAOC,OAAA,CACLL,cAAA,CAAeI,KAAK,KACpBA,KAAA,CAAME,IAAA,KAASL,KAAA,IACfG,KAAA,CAAMG,KAAA,IACN,OAAOH,KAAA,CAAMG,KAAA,KAAU,YACvB,WAAWH,KAAA,CAAMG,KACnB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createNavigatorFactory","isValidElement","_type_of","obj","Symbol","constructor","Group","Protected","isProtectedElement","child","Boolean","type","props"],"sources":["../../../src/views/Protected.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,sBAAA,QAA8B;AACvC,SAAAC,cAAA;AAAA,SAIEC,SAAAC,GAAA;EAAA,uBACK;;EAIP,OAAQA,GAAA,IAAM,OAAIC,MAAA,gBAAkC,IAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAiC7C;AAQA;EAAAG;AAAS,IAAAN,sBAEyB;AACvC,IAAAO,SAAO,GAAAD,KAAA;AAAA,SACLE,kBAAoBA,CAAAC,KACpB,EAAM;EAIR,OAAAC,OAAA,gBAAAT,cAAA,CAAAQ,KAAA,KAAAA,KAAA,CAAAE,IAAA,KAAAL,KAAA,IAAAG,KAAA,CAAAG,KAAA,IAAAV,QAAA,CAAAO,KAAA,CAAAG,KAAA,6BAAAH,KAAA,CAAAG,KAAA;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createNavigatorFactory","isValidElement","_type_of","obj","Symbol","constructor","Group","Protected","isProtectedElement","child","Boolean","type","props"],"sources":["../../../src/views/Protected.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,sBAAA,QAA8B;AACvC,SAAAC,cAAA;AAAA,SAIEC,SAAAC,GAAA;EAAA,uBACK;;EAKP,OAAQA,GAAA,IAAM,OAAIC,MAAA,gBAAkC,IAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAmC7C;AAQA;EAAAG;AAAS,IAAAN,sBAEyB;AACvC,IAAAO,SAAO,GAAAD,KAAA;AAAA,SACLE,kBAAoBA,CAAAC,KACpB,EAAM;EAIR,OAAAC,OAAA,gBAAAT,cAAA,CAAAQ,KAAA,KAAAA,KAAA,CAAAE,IAAA,KAAAL,KAAA,IAAAG,KAAA,CAAAG,KAAA,IAAAV,QAAA,CAAAO,KAAA,CAAAG,KAAA,6BAAAH,KAAA,CAAAG,KAAA;AACF","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=SuspenseFallback.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=SuspenseFallback.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import path from "node:path";
2
2
  import { Readable } from "node:stream";
3
+ import { TLSSocket } from "node:tls";
3
4
  import { debounce } from "perfect-debounce";
4
5
  import colors from "picocolors";
5
6
  import { createServerModuleRunner, normalizePath } from "vite";
@@ -517,10 +518,35 @@ ${stack}
517
518
  });
518
519
  server.middlewares.use(async (req, res, next) => {
519
520
  res.setHeader("Cache-Control", "no-store");
521
+ const abortController = new AbortController();
522
+ const cleanupAbortListeners = () => {
523
+ req.removeListener("aborted", abortRequest);
524
+ req.removeListener("close", abortIncompleteRequest);
525
+ res.removeListener("close", abortIncompleteResponse);
526
+ res.removeListener("finish", cleanupAbortListeners);
527
+ };
528
+ const abortRequest = () => {
529
+ cleanupAbortListeners();
530
+ abortController.abort();
531
+ };
532
+ const abortIncompleteRequest = () => {
533
+ if (req.aborted || !req.complete) abortRequest();
534
+ };
535
+ const abortIncompleteResponse = () => {
536
+ if (!res.writableFinished) {
537
+ abortRequest();
538
+ return;
539
+ }
540
+ cleanupAbortListeners();
541
+ };
542
+ req.on("aborted", abortRequest);
543
+ req.on("close", abortIncompleteRequest);
544
+ res.on("close", abortIncompleteResponse);
545
+ res.on("finish", cleanupAbortListeners);
520
546
  try {
521
547
  const redirects = options.web?.redirects;
522
548
  if (redirects) {
523
- const url2 = new URL(req.url || "", `http://${req.headers.host}`);
549
+ const url2 = new URL(req.url || "", "http://127.0.0.1");
524
550
  for (const redirect of redirects) {
525
551
  const regexStr = `^${redirect.source.replace(/:\w+/g, "([^/]+)")}$`;
526
552
  const match = url2.pathname.match(new RegExp(regexStr));
@@ -543,8 +569,9 @@ ${stack}
543
569
  }
544
570
  }
545
571
  }
546
- const reply = await handleRequest.handler(convertIncomingMessageToRequest(req));
572
+ const reply = await handleRequest.handler(convertIncomingMessageToRequest(req, abortController.signal));
547
573
  if (!reply) {
574
+ cleanupAbortListeners();
548
575
  return next();
549
576
  }
550
577
  if (typeof reply !== "string" && isResponse(reply)) {
@@ -580,7 +607,6 @@ ${stack}
580
607
  console.error(`No location provided to redirected status reply`, reply);
581
608
  }
582
609
  res.statusCode = reply.status;
583
- res.statusMessage = reply.statusText;
584
610
  if (reply.body) {
585
611
  if (reply.body.locked) {
586
612
  console.warn(`Body is locked??`, req.url);
@@ -588,7 +614,14 @@ ${stack}
588
614
  return;
589
615
  }
590
616
  try {
591
- Readable.fromWeb(reply.body).pipe(res);
617
+ const body = Readable.fromWeb(reply.body);
618
+ body.on("error", error => {
619
+ if (!abortController.signal.aborted) {
620
+ console.warn("Error streaming reply body to response:", error);
621
+ }
622
+ if (!res.destroyed) res.destroy();
623
+ });
624
+ body.pipe(res);
592
625
  } catch (err) {
593
626
  console.warn("Error piping reply body to response:", err);
594
627
  res.end();
@@ -608,6 +641,7 @@ ${stack}
608
641
  res.end();
609
642
  return;
610
643
  } catch (error) {
644
+ cleanupAbortListeners();
611
645
  console.error(`[one] routing error ${req.url}: ${error}`);
612
646
  next(error);
613
647
  }
@@ -617,25 +651,31 @@ ${stack}
617
651
  }
618
652
  };
619
653
  }
620
- const convertIncomingMessageToRequest = req => {
654
+ const convertIncomingMessageToRequest = (req, signal) => {
621
655
  if (!req.originalUrl) {
622
656
  throw new Error(`Can't convert: originalUrl is missing`);
623
657
  }
624
- const urlBase = `http://${req.headers.host}`;
658
+ const protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? "https" : "http";
659
+ const host = `${req.headers["x-forwarded-host"] || req.headers.host || req.headers[":authority"] || "127.0.0.1"}`;
660
+ const urlBase = `${protocol}://${host}`;
625
661
  const urlString = req.originalUrl;
626
662
  const url2 = new URL(urlString, urlBase);
627
663
  const headers = new Headers();
628
664
  for (const key in req.headers) {
629
- if (req.headers[key]) {
665
+ if (!key.startsWith(":") && req.headers[key]) {
630
666
  headers.append(key, req.headers[key]);
631
667
  }
632
668
  }
669
+ if (!headers.has("host")) {
670
+ headers.set("host", host);
671
+ }
633
672
  const hasBody = ["POST", "PUT", "PATCH", "DELETE"].includes(req.method || "");
634
673
  const body = hasBody ? Readable.toWeb(req) : null;
635
674
  return new Request(url2, {
636
675
  method: req.method,
637
676
  headers,
638
677
  body,
678
+ signal,
639
679
  // Required for streaming bodies in Node's experimental fetch:
640
680
  duplex: "half"
641
681
  });