one 1.26.0 → 1.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/cjs/router/getNormalizedStatePath.cjs +2 -1
  2. package/dist/cjs/router/getNormalizedStatePath.native.js +2 -1
  3. package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
  4. package/dist/cjs/router/getRouteInfo.cjs +6 -2
  5. package/dist/cjs/router/getRouteInfo.native.js +6 -2
  6. package/dist/cjs/router/getRouteInfo.native.js.map +1 -1
  7. package/dist/cjs/router/getRouteInfo.test.cjs +35 -0
  8. package/dist/cjs/router/getRouteInfo.test.native.js +42 -0
  9. package/dist/cjs/router/getRouteInfo.test.native.js.map +1 -0
  10. package/dist/cjs/router/path.cjs +1 -0
  11. package/dist/cjs/router/path.native.js +1 -0
  12. package/dist/cjs/router/path.native.js.map +1 -1
  13. package/dist/cjs/router/routeHmr.native.js +2 -5
  14. package/dist/cjs/router/routeHmr.native.js.map +1 -1
  15. package/dist/cjs/router/routeHmr.native.test.cjs +23 -9
  16. package/dist/cjs/router/routeHmr.native.test.native.js +27 -9
  17. package/dist/cjs/router/routeHmr.native.test.native.js.map +1 -1
  18. package/dist/cjs/router/useScreens.cjs +15 -19
  19. package/dist/cjs/router/useScreens.native.js +15 -19
  20. package/dist/cjs/router/useScreens.native.js.map +1 -1
  21. package/dist/cjs/router/useScreens.test.cjs +78 -0
  22. package/dist/cjs/router/useScreens.test.native.js +88 -1
  23. package/dist/cjs/router/useScreens.test.native.js.map +1 -1
  24. package/dist/cjs/router/useViteRoutes.cjs +3 -2
  25. package/dist/cjs/router/useViteRoutes.native.js +3 -2
  26. package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
  27. package/dist/cjs/useFocusEffect.cjs +7 -1
  28. package/dist/cjs/useFocusEffect.native.js +9 -4
  29. package/dist/cjs/useFocusEffect.native.js.map +1 -1
  30. package/dist/cjs/vite/one.native.js.map +1 -1
  31. package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +7 -1
  32. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +7 -1
  33. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  34. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.cjs +15 -0
  35. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js +16 -0
  36. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -1
  37. package/dist/esm/router/getNormalizedStatePath.mjs +2 -1
  38. package/dist/esm/router/getNormalizedStatePath.mjs.map +1 -1
  39. package/dist/esm/router/getNormalizedStatePath.native.js +2 -1
  40. package/dist/esm/router/getNormalizedStatePath.native.js.map +1 -1
  41. package/dist/esm/router/getRouteInfo.mjs +5 -2
  42. package/dist/esm/router/getRouteInfo.mjs.map +1 -1
  43. package/dist/esm/router/getRouteInfo.native.js +5 -2
  44. package/dist/esm/router/getRouteInfo.native.js.map +1 -1
  45. package/dist/esm/router/getRouteInfo.test.mjs +36 -0
  46. package/dist/esm/router/getRouteInfo.test.mjs.map +1 -0
  47. package/dist/esm/router/getRouteInfo.test.native.js +40 -0
  48. package/dist/esm/router/getRouteInfo.test.native.js.map +1 -0
  49. package/dist/esm/router/path.mjs +1 -1
  50. package/dist/esm/router/path.mjs.map +1 -1
  51. package/dist/esm/router/path.native.js +1 -1
  52. package/dist/esm/router/path.native.js.map +1 -1
  53. package/dist/esm/router/routeHmr.native.js +2 -5
  54. package/dist/esm/router/routeHmr.native.js.map +1 -1
  55. package/dist/esm/router/routeHmr.native.test.js +21 -11
  56. package/dist/esm/router/routeHmr.native.test.js.map +1 -1
  57. package/dist/esm/router/routeHmr.native.test.mjs +23 -9
  58. package/dist/esm/router/routeHmr.native.test.mjs.map +1 -1
  59. package/dist/esm/router/routeHmr.native.test.native.js +27 -9
  60. package/dist/esm/router/routeHmr.native.test.native.js.map +1 -1
  61. package/dist/esm/router/useScreens.mjs +15 -18
  62. package/dist/esm/router/useScreens.mjs.map +1 -1
  63. package/dist/esm/router/useScreens.native.js +15 -18
  64. package/dist/esm/router/useScreens.native.js.map +1 -1
  65. package/dist/esm/router/useScreens.test.mjs +76 -0
  66. package/dist/esm/router/useScreens.test.mjs.map +1 -1
  67. package/dist/esm/router/useScreens.test.native.js +86 -0
  68. package/dist/esm/router/useScreens.test.native.js.map +1 -1
  69. package/dist/esm/router/useViteRoutes.mjs +3 -2
  70. package/dist/esm/router/useViteRoutes.mjs.map +1 -1
  71. package/dist/esm/router/useViteRoutes.native.js +3 -2
  72. package/dist/esm/router/useViteRoutes.native.js.map +1 -1
  73. package/dist/esm/useFocusEffect.mjs +8 -2
  74. package/dist/esm/useFocusEffect.mjs.map +1 -1
  75. package/dist/esm/useFocusEffect.native.js +10 -5
  76. package/dist/esm/useFocusEffect.native.js.map +1 -1
  77. package/dist/esm/vite/one.mjs.map +1 -1
  78. package/dist/esm/vite/one.native.js.map +1 -1
  79. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +7 -2
  80. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
  81. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +7 -2
  82. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  83. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs +16 -1
  84. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs.map +1 -1
  85. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js +17 -1
  86. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -1
  87. package/package.json +11 -11
  88. package/src/router/getNormalizedStatePath.tsx +2 -1
  89. package/src/router/getRouteInfo.test.ts +33 -0
  90. package/src/router/getRouteInfo.ts +5 -2
  91. package/src/router/path.ts +1 -1
  92. package/src/router/routeHmr.native.test.ts +23 -11
  93. package/src/router/routeHmr.native.ts +6 -4
  94. package/src/router/useScreens.test.tsx +72 -0
  95. package/src/router/useScreens.tsx +11 -19
  96. package/src/router/useViteRoutes.tsx +3 -2
  97. package/src/useFocusEffect.ts +14 -4
  98. package/src/vite/one.ts +3 -1
  99. package/src/vite/plugins/sourceInspectorPlugin.test.ts +37 -1
  100. package/src/vite/plugins/sourceInspectorPlugin.ts +24 -3
  101. package/types/router/getNormalizedStatePath.d.ts.map +1 -1
  102. package/types/router/getRouteInfo.d.ts +5 -0
  103. package/types/router/getRouteInfo.d.ts.map +1 -1
  104. package/types/router/getRouteInfo.test.d.ts +2 -0
  105. package/types/router/getRouteInfo.test.d.ts.map +1 -0
  106. package/types/router/path.d.ts +1 -0
  107. package/types/router/path.d.ts.map +1 -1
  108. package/types/router/routeHmr.native.d.ts.map +1 -1
  109. package/types/router/useScreens.d.ts.map +1 -1
  110. package/types/router/useViteRoutes.d.ts.map +1 -1
  111. package/types/useFocusEffect.d.ts.map +1 -1
  112. package/types/vite/one.d.ts.map +1 -1
  113. package/types/vite/plugins/sourceInspectorPlugin.d.ts +9 -0
  114. package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -1
@@ -16,31 +16,42 @@ describe("routeHmr.native", () => {
16
16
  it("registers globalThis.__VXRN_ON_MODULE_UPDATED__ in development", () => {
17
17
  expect(typeof globalThis.__VXRN_ON_MODULE_UPDATED__).toBe("function");
18
18
  });
19
- it("bumps the epoch and notifies subscribers, and stops after unsubscribe", () => {
19
+ it("does not bump the epoch, so Fast Refresh can keep the mounted route", () => {
20
20
  const before = routeHmr.getRouteHmrEpoch();
21
21
  const listener = vi.fn();
22
22
  const unsubscribe = routeHmr.subscribeRouteHmr(listener);
23
23
  globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx");
24
- expect(routeHmr.getRouteHmrEpoch()).toBe(before + 1);
25
- expect(listener).toHaveBeenCalledTimes(1);
24
+ expect(routeHmr.getRouteHmrEpoch()).toBe(before);
25
+ expect(listener).not.toHaveBeenCalled();
26
26
  unsubscribe();
27
- globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx");
28
- expect(listener).toHaveBeenCalledTimes(1);
29
27
  });
30
28
  it("evicts the route cache for the updated file when window.__oneRouteCache is present", () => {
31
- const clearFile = vi.fn();
29
+ const clearFile = vi.fn(() => true);
32
30
  globalThis.window = { __oneRouteCache: { clearFile } };
33
31
  globalThis.__VXRN_ON_MODULE_UPDATED__("app/_layout.tsx");
34
32
  expect(clearFile).toHaveBeenCalledWith("app/_layout.tsx");
35
33
  });
34
+ it("does not bump the epoch for a non-route module either", () => {
35
+ const before = routeHmr.getRouteHmrEpoch();
36
+ const listener = vi.fn();
37
+ const unsubscribe = routeHmr.subscribeRouteHmr(listener);
38
+ globalThis.window = {
39
+ __oneRouteCache: { clearFile: () => false }
40
+ };
41
+ globalThis.__VXRN_ON_MODULE_UPDATED__("features/onboarding/HmrProbeChild.tsx");
42
+ expect(routeHmr.getRouteHmrEpoch()).toBe(before);
43
+ expect(listener).not.toHaveBeenCalled();
44
+ unsubscribe();
45
+ });
36
46
  it("does not throw when window / route cache is absent", () => {
37
47
  ;
38
48
  globalThis.window = void 0;
39
49
  expect(() => globalThis.__VXRN_ON_MODULE_UPDATED__("x.tsx")).not.toThrow();
40
50
  });
41
- it("still notifies subscribers when route-cache eviction throws", () => {
51
+ it("does not throw or bump the epoch when route-cache eviction throws", () => {
42
52
  const listener = vi.fn();
43
53
  const unsubscribe = routeHmr.subscribeRouteHmr(listener);
54
+ const before = routeHmr.getRouteHmrEpoch();
44
55
  globalThis.window = {
45
56
  __oneRouteCache: {
46
57
  clearFile() {
@@ -48,10 +59,9 @@ describe("routeHmr.native", () => {
48
59
  }
49
60
  }
50
61
  };
51
- expect(() => globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx")).toThrow(
52
- "cache eviction failed"
53
- );
54
- expect(listener).toHaveBeenCalledOnce();
62
+ expect(() => globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx")).not.toThrow();
63
+ expect(routeHmr.getRouteHmrEpoch()).toBe(before);
64
+ expect(listener).not.toHaveBeenCalled();
55
65
  unsubscribe();
56
66
  });
57
67
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/router/routeHmr.native.test.ts"],
4
- "mappings": "AAAA,SAAS,WAAW,YAAY,UAAU,QAAQ,IAAI,UAAU;AAIhE,SAAS,mBAAmB,MAAM;AAChC,MAAI;AACJ,QAAM,aAAc,WAAmB;AACvC,QAAM,wBAAwB,WAAW;AAEzC,aAAW,YAAY;AAGrB,OAAG,QAAQ,YAAY,aAAa;AACpC,OAAG,aAAa;AAChB,eAAW,MAAM,OAAO,mBAAmB;AAAA,EAC7C,CAAC;AAED,YAAU,MAAM;AACd,OAAG,cAAc;AACjB,eAAW,6BAA6B;AACvC,IAAC,WAAmB,SAAS;AAAA,EAChC,CAAC;AAED,KAAG,kEAAkE,MAAM;AACzE,WAAO,OAAO,WAAW,0BAA0B,EAAE,KAAK,UAAU;AAAA,EACtE,CAAC;AAED,KAAG,yEAAyE,MAAM;AAChF,UAAM,SAAS,SAAS,iBAAiB;AACzC,UAAM,WAAW,GAAG,GAAG;AACvB,UAAM,cAAc,SAAS,kBAAkB,QAAQ;AAEvD,eAAW,2BAA4B,eAAe;AACtD,WAAO,SAAS,iBAAiB,CAAC,EAAE,KAAK,SAAS,CAAC;AACnD,WAAO,QAAQ,EAAE,sBAAsB,CAAC;AAExC,gBAAY;AACZ,eAAW,2BAA4B,eAAe;AACtD,WAAO,QAAQ,EAAE,sBAAsB,CAAC;AAAA,EAC1C,CAAC;AAED,KAAG,sFAAsF,MAAM;AAC7F,UAAM,YAAY,GAAG,GAAG;AACvB,IAAC,WAAmB,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE;AAC/D,eAAW,2BAA4B,iBAAiB;AACxD,WAAO,SAAS,EAAE,qBAAqB,iBAAiB;AAAA,EAC1D,CAAC;AAED,KAAG,sDAAsD,MAAM;AAC7D;AAAC,IAAC,WAAmB,SAAS;AAC9B,WAAO,MAAM,WAAW,2BAA4B,OAAO,CAAC,EAAE,IAAI,QAAQ;AAAA,EAC5E,CAAC;AAED,KAAG,+DAA+D,MAAM;AACtE,UAAM,WAAW,GAAG,GAAG;AACvB,UAAM,cAAc,SAAS,kBAAkB,QAAQ;AACtD,IAAC,WAAmB,SAAS;AAAA,MAC5B,iBAAiB;AAAA,QACf,YAAY;AACV,gBAAM,IAAI,MAAM,uBAAuB;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAEA,WAAO,MAAM,WAAW,2BAA4B,eAAe,CAAC,EAAE;AAAA,MACpE;AAAA,IACF;AACA,WAAO,QAAQ,EAAE,qBAAqB;AACtC,gBAAY;AAAA,EACd,CAAC;AACH,CAAC;",
4
+ "mappings": "AAAA,SAAS,WAAW,YAAY,UAAU,QAAQ,IAAI,UAAU;AAIhE,SAAS,mBAAmB,MAAM;AAChC,MAAI;AACJ,QAAM,aAAc,WAAmB;AACvC,QAAM,wBAAwB,WAAW;AAEzC,aAAW,YAAY;AAGrB,OAAG,QAAQ,YAAY,aAAa;AACpC,OAAG,aAAa;AAChB,eAAW,MAAM,OAAO,mBAAmB;AAAA,EAC7C,CAAC;AAED,YAAU,MAAM;AACd,OAAG,cAAc;AACjB,eAAW,6BAA6B;AACvC,IAAC,WAAmB,SAAS;AAAA,EAChC,CAAC;AAED,KAAG,kEAAkE,MAAM;AACzE,WAAO,OAAO,WAAW,0BAA0B,EAAE,KAAK,UAAU;AAAA,EACtE,CAAC;AAED,KAAG,uEAAuE,MAAM;AAC9E,UAAM,SAAS,SAAS,iBAAiB;AACzC,UAAM,WAAW,GAAG,GAAG;AACvB,UAAM,cAAc,SAAS,kBAAkB,QAAQ;AAEvD,eAAW,2BAA4B,eAAe;AACtD,WAAO,SAAS,iBAAiB,CAAC,EAAE,KAAK,MAAM;AAC/C,WAAO,QAAQ,EAAE,IAAI,iBAAiB;AAEtC,gBAAY;AAAA,EACd,CAAC;AAED,KAAG,sFAAsF,MAAM;AAC7F,UAAM,YAAY,GAAG,GAAG,MAAM,IAAI;AACjC,IAAC,WAAmB,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE;AAC/D,eAAW,2BAA4B,iBAAiB;AACxD,WAAO,SAAS,EAAE,qBAAqB,iBAAiB;AAAA,EAC1D,CAAC;AAED,KAAG,yDAAyD,MAAM;AAChE,UAAM,SAAS,SAAS,iBAAiB;AACzC,UAAM,WAAW,GAAG,GAAG;AACvB,UAAM,cAAc,SAAS,kBAAkB,QAAQ;AACtD,IAAC,WAAmB,SAAS;AAAA,MAC5B,iBAAiB,EAAE,WAAW,MAAM,MAAM;AAAA,IAC5C;AAEA,eAAW,2BAA4B,uCAAuC;AAC9E,WAAO,SAAS,iBAAiB,CAAC,EAAE,KAAK,MAAM;AAC/C,WAAO,QAAQ,EAAE,IAAI,iBAAiB;AACtC,gBAAY;AAAA,EACd,CAAC;AAED,KAAG,sDAAsD,MAAM;AAC7D;AAAC,IAAC,WAAmB,SAAS;AAC9B,WAAO,MAAM,WAAW,2BAA4B,OAAO,CAAC,EAAE,IAAI,QAAQ;AAAA,EAC5E,CAAC;AAED,KAAG,qEAAqE,MAAM;AAC5E,UAAM,WAAW,GAAG,GAAG;AACvB,UAAM,cAAc,SAAS,kBAAkB,QAAQ;AACvD,UAAM,SAAS,SAAS,iBAAiB;AACxC,IAAC,WAAmB,SAAS;AAAA,MAC5B,iBAAiB;AAAA,QACf,YAAY;AACV,gBAAM,IAAI,MAAM,uBAAuB;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAEA,WAAO,MAAM,WAAW,2BAA4B,eAAe,CAAC,EAAE,IAAI,QAAQ;AAClF,WAAO,SAAS,iBAAiB,CAAC,EAAE,KAAK,MAAM;AAC/C,WAAO,QAAQ,EAAE,IAAI,iBAAiB;AACtC,gBAAY;AAAA,EACd,CAAC;AACH,CAAC;",
5
5
  "names": []
6
6
  }
@@ -16,19 +16,17 @@ describe("routeHmr.native", () => {
16
16
  it("registers globalThis.__VXRN_ON_MODULE_UPDATED__ in development", () => {
17
17
  expect(typeof globalThis.__VXRN_ON_MODULE_UPDATED__).toBe("function");
18
18
  });
19
- it("bumps the epoch and notifies subscribers, and stops after unsubscribe", () => {
19
+ it("does not bump the epoch, so Fast Refresh can keep the mounted route", () => {
20
20
  const before = routeHmr.getRouteHmrEpoch();
21
21
  const listener = vi.fn();
22
22
  const unsubscribe = routeHmr.subscribeRouteHmr(listener);
23
23
  globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx");
24
- expect(routeHmr.getRouteHmrEpoch()).toBe(before + 1);
25
- expect(listener).toHaveBeenCalledTimes(1);
24
+ expect(routeHmr.getRouteHmrEpoch()).toBe(before);
25
+ expect(listener).not.toHaveBeenCalled();
26
26
  unsubscribe();
27
- globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx");
28
- expect(listener).toHaveBeenCalledTimes(1);
29
27
  });
30
28
  it("evicts the route cache for the updated file when window.__oneRouteCache is present", () => {
31
- const clearFile = vi.fn();
29
+ const clearFile = vi.fn(() => true);
32
30
  globalThis.window = {
33
31
  __oneRouteCache: {
34
32
  clearFile
@@ -37,14 +35,29 @@ describe("routeHmr.native", () => {
37
35
  globalThis.__VXRN_ON_MODULE_UPDATED__("app/_layout.tsx");
38
36
  expect(clearFile).toHaveBeenCalledWith("app/_layout.tsx");
39
37
  });
38
+ it("does not bump the epoch for a non-route module either", () => {
39
+ const before = routeHmr.getRouteHmrEpoch();
40
+ const listener = vi.fn();
41
+ const unsubscribe = routeHmr.subscribeRouteHmr(listener);
42
+ globalThis.window = {
43
+ __oneRouteCache: {
44
+ clearFile: () => false
45
+ }
46
+ };
47
+ globalThis.__VXRN_ON_MODULE_UPDATED__("features/onboarding/HmrProbeChild.tsx");
48
+ expect(routeHmr.getRouteHmrEpoch()).toBe(before);
49
+ expect(listener).not.toHaveBeenCalled();
50
+ unsubscribe();
51
+ });
40
52
  it("does not throw when window / route cache is absent", () => {
41
53
  ;
42
54
  globalThis.window = void 0;
43
55
  expect(() => globalThis.__VXRN_ON_MODULE_UPDATED__("x.tsx")).not.toThrow();
44
56
  });
45
- it("still notifies subscribers when route-cache eviction throws", () => {
57
+ it("does not throw or bump the epoch when route-cache eviction throws", () => {
46
58
  const listener = vi.fn();
47
59
  const unsubscribe = routeHmr.subscribeRouteHmr(listener);
60
+ const before = routeHmr.getRouteHmrEpoch();
48
61
  globalThis.window = {
49
62
  __oneRouteCache: {
50
63
  clearFile() {
@@ -52,8 +65,9 @@ describe("routeHmr.native", () => {
52
65
  }
53
66
  }
54
67
  };
55
- expect(() => globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx")).toThrow("cache eviction failed");
56
- expect(listener).toHaveBeenCalledOnce();
68
+ expect(() => globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx")).not.toThrow();
69
+ expect(routeHmr.getRouteHmrEpoch()).toBe(before);
70
+ expect(listener).not.toHaveBeenCalled();
57
71
  unsubscribe();
58
72
  });
59
73
  });
@@ -1 +1 @@
1
- {"version":3,"names":["afterEach","beforeEach","describe","expect","it","vi","routeHmr","realWindow","globalThis","window","realModuleUpdatedHook","__VXRN_ON_MODULE_UPDATED__","stubEnv","resetModules","unstubAllEnvs","toBe","before","getRouteHmrEpoch","listener","fn","unsubscribe","subscribeRouteHmr","toHaveBeenCalledTimes","clearFile","__oneRouteCache","toHaveBeenCalledWith","not","toThrow","Error","toHaveBeenCalledOnce"],"sources":["../../../src/router/routeHmr.native.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAIhEH,QAAA,CAAS,mBAAmB,MAAM;EAChC,IAAII,QAAA;EACJ,MAAMC,UAAA,GAAcC,UAAA,CAAmBC,MAAA;EACvC,MAAMC,qBAAA,GAAwBF,UAAA,CAAWG,0BAAA;EAEzCV,UAAA,CAAW,YAAY;IAGrBI,EAAA,CAAGO,OAAA,CAAQ,YAAY,aAAa;IACpCP,EAAA,CAAGQ,YAAA,CAAa;IAChBP,QAAA,GAAW,MAAM,OAAO,uBAAmB;EAC7C,CAAC;EAEDN,SAAA,CAAU,MAAM;IACdK,EAAA,CAAGS,aAAA,CAAc;IACjBN,UAAA,CAAWG,0BAAA,GAA6BD,qBAAA;IACtCF,UAAA,CAAmBC,MAAA,GAASF,UAAA;EAChC,CAAC;EAEDH,EAAA,CAAG,kEAAkE,MAAM;IACzED,MAAA,CAAO,OAAOK,UAAA,CAAWG,0BAA0B,EAAEI,IAAA,CAAK,UAAU;EACtE,CAAC;EAEDX,EAAA,CAAG,yEAAyE,MAAM;IAChF,MAAMY,MAAA,GAASV,QAAA,CAASW,gBAAA,CAAiB;IACzC,MAAMC,QAAA,GAAWb,EAAA,CAAGc,EAAA,CAAG;IACvB,MAAMC,WAAA,GAAcd,QAAA,CAASe,iBAAA,CAAkBH,QAAQ;IAEvDV,UAAA,CAAWG,0BAAA,CAA4B,eAAe;IACtDR,MAAA,CAAOG,QAAA,CAASW,gBAAA,CAAiB,CAAC,EAAEF,IAAA,CAAKC,MAAA,GAAS,CAAC;IACnDb,MAAA,CAAOe,QAAQ,EAAEI,qBAAA,CAAsB,CAAC;IAExCF,WAAA,CAAY;IACZZ,UAAA,CAAWG,0BAAA,CAA4B,eAAe;IACtDR,MAAA,CAAOe,QAAQ,EAAEI,qBAAA,CAAsB,CAAC;EAC1C,CAAC;EAEDlB,EAAA,CAAG,sFAAsF,MAAM;IAC7F,MAAMmB,SAAA,GAAYlB,EAAA,CAAGc,EAAA,CAAG;IACtBX,UAAA,CAAmBC,MAAA,GAAS;MAAEe,eAAA,EAAiB;QAAED;MAAU;IAAE;IAC/Df,UAAA,CAAWG,0BAAA,CAA4B,iBAAiB;IACxDR,MAAA,CAAOoB,SAAS,EAAEE,oBAAA,CAAqB,iBAAiB;EAC1D,CAAC;EAEDrB,EAAA,CAAG,sDAAsD,MAAM;IAC7D;IAAEI,UAAA,CAAmBC,MAAA,GAAS;IAC9BN,MAAA,CAAO,MAAMK,UAAA,CAAWG,0BAAA,CAA4B,OAAO,CAAC,EAAEe,GAAA,CAAIC,OAAA,CAAQ;EAC5E,CAAC;EAEDvB,EAAA,CAAG,+DAA+D,MAAM;IACtE,MAAMc,QAAA,GAAWb,EAAA,CAAGc,EAAA,CAAG;IACvB,MAAMC,WAAA,GAAcd,QAAA,CAASe,iBAAA,CAAkBH,QAAQ;IACrDV,UAAA,CAAmBC,MAAA,GAAS;MAC5Be,eAAA,EAAiB;QACfD,UAAA,EAAY;UACV,MAAM,IAAIK,KAAA,CAAM,uBAAuB;QACzC;MACF;IACF;IAEAzB,MAAA,CAAO,MAAMK,UAAA,CAAWG,0BAAA,CAA4B,eAAe,CAAC,EAAEgB,OAAA,CACpE,uBACF;IACAxB,MAAA,CAAOe,QAAQ,EAAEW,oBAAA,CAAqB;IACtCT,WAAA,CAAY;EACd,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["afterEach","beforeEach","describe","expect","it","vi","routeHmr","realWindow","globalThis","window","realModuleUpdatedHook","__VXRN_ON_MODULE_UPDATED__","stubEnv","resetModules","unstubAllEnvs","toBe","before","getRouteHmrEpoch","listener","fn","unsubscribe","subscribeRouteHmr","not","toHaveBeenCalled","clearFile","__oneRouteCache","toHaveBeenCalledWith","toThrow","Error"],"sources":["../../../src/router/routeHmr.native.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAIhEH,QAAA,CAAS,mBAAmB,MAAM;EAChC,IAAII,QAAA;EACJ,MAAMC,UAAA,GAAcC,UAAA,CAAmBC,MAAA;EACvC,MAAMC,qBAAA,GAAwBF,UAAA,CAAWG,0BAAA;EAEzCV,UAAA,CAAW,YAAY;IAGrBI,EAAA,CAAGO,OAAA,CAAQ,YAAY,aAAa;IACpCP,EAAA,CAAGQ,YAAA,CAAa;IAChBP,QAAA,GAAW,MAAM,OAAO,uBAAmB;EAC7C,CAAC;EAEDN,SAAA,CAAU,MAAM;IACdK,EAAA,CAAGS,aAAA,CAAc;IACjBN,UAAA,CAAWG,0BAAA,GAA6BD,qBAAA;IACtCF,UAAA,CAAmBC,MAAA,GAASF,UAAA;EAChC,CAAC;EAEDH,EAAA,CAAG,kEAAkE,MAAM;IACzED,MAAA,CAAO,OAAOK,UAAA,CAAWG,0BAA0B,EAAEI,IAAA,CAAK,UAAU;EACtE,CAAC;EAEDX,EAAA,CAAG,uEAAuE,MAAM;IAC9E,MAAMY,MAAA,GAASV,QAAA,CAASW,gBAAA,CAAiB;IACzC,MAAMC,QAAA,GAAWb,EAAA,CAAGc,EAAA,CAAG;IACvB,MAAMC,WAAA,GAAcd,QAAA,CAASe,iBAAA,CAAkBH,QAAQ;IAEvDV,UAAA,CAAWG,0BAAA,CAA4B,eAAe;IACtDR,MAAA,CAAOG,QAAA,CAASW,gBAAA,CAAiB,CAAC,EAAEF,IAAA,CAAKC,MAAM;IAC/Cb,MAAA,CAAOe,QAAQ,EAAEI,GAAA,CAAIC,gBAAA,CAAiB;IAEtCH,WAAA,CAAY;EACd,CAAC;EAEDhB,EAAA,CAAG,sFAAsF,MAAM;IAC7F,MAAMoB,SAAA,GAAYnB,EAAA,CAAGc,EAAA,CAAG,MAAM,IAAI;IAChCX,UAAA,CAAmBC,MAAA,GAAS;MAAEgB,eAAA,EAAiB;QAAED;MAAU;IAAE;IAC/DhB,UAAA,CAAWG,0BAAA,CAA4B,iBAAiB;IACxDR,MAAA,CAAOqB,SAAS,EAAEE,oBAAA,CAAqB,iBAAiB;EAC1D,CAAC;EAEDtB,EAAA,CAAG,yDAAyD,MAAM;IAChE,MAAMY,MAAA,GAASV,QAAA,CAASW,gBAAA,CAAiB;IACzC,MAAMC,QAAA,GAAWb,EAAA,CAAGc,EAAA,CAAG;IACvB,MAAMC,WAAA,GAAcd,QAAA,CAASe,iBAAA,CAAkBH,QAAQ;IACrDV,UAAA,CAAmBC,MAAA,GAAS;MAC5BgB,eAAA,EAAiB;QAAED,SAAA,EAAWA,CAAA,KAAM;MAAM;IAC5C;IAEAhB,UAAA,CAAWG,0BAAA,CAA4B,uCAAuC;IAC9ER,MAAA,CAAOG,QAAA,CAASW,gBAAA,CAAiB,CAAC,EAAEF,IAAA,CAAKC,MAAM;IAC/Cb,MAAA,CAAOe,QAAQ,EAAEI,GAAA,CAAIC,gBAAA,CAAiB;IACtCH,WAAA,CAAY;EACd,CAAC;EAEDhB,EAAA,CAAG,sDAAsD,MAAM;IAC7D;IAAEI,UAAA,CAAmBC,MAAA,GAAS;IAC9BN,MAAA,CAAO,MAAMK,UAAA,CAAWG,0BAAA,CAA4B,OAAO,CAAC,EAAEW,GAAA,CAAIK,OAAA,CAAQ;EAC5E,CAAC;EAEDvB,EAAA,CAAG,qEAAqE,MAAM;IAC5E,MAAMc,QAAA,GAAWb,EAAA,CAAGc,EAAA,CAAG;IACvB,MAAMC,WAAA,GAAcd,QAAA,CAASe,iBAAA,CAAkBH,QAAQ;IACvD,MAAMF,MAAA,GAASV,QAAA,CAASW,gBAAA,CAAiB;IACvCT,UAAA,CAAmBC,MAAA,GAAS;MAC5BgB,eAAA,EAAiB;QACfD,UAAA,EAAY;UACV,MAAM,IAAII,KAAA,CAAM,uBAAuB;QACzC;MACF;IACF;IAEAzB,MAAA,CAAO,MAAMK,UAAA,CAAWG,0BAAA,CAA4B,eAAe,CAAC,EAAEW,GAAA,CAAIK,OAAA,CAAQ;IAClFxB,MAAA,CAAOG,QAAA,CAASW,gBAAA,CAAiB,CAAC,EAAEF,IAAA,CAAKC,MAAM;IAC/Cb,MAAA,CAAOe,QAAQ,EAAEI,GAAA,CAAIC,gBAAA,CAAiB;IACtCH,WAAA,CAAY;EACd,CAAC;AACH,CAAC","ignoreList":[]}
@@ -21,19 +21,19 @@ describe("routeHmr.native", function () {
21
21
  it("registers globalThis.__VXRN_ON_MODULE_UPDATED__ in development", function () {
22
22
  expect(_type_of(globalThis.__VXRN_ON_MODULE_UPDATED__)).toBe("function");
23
23
  });
24
- it("bumps the epoch and notifies subscribers, and stops after unsubscribe", function () {
24
+ it("does not bump the epoch, so Fast Refresh can keep the mounted route", function () {
25
25
  var before = routeHmr.getRouteHmrEpoch();
26
26
  var listener = vi.fn();
27
27
  var unsubscribe = routeHmr.subscribeRouteHmr(listener);
28
28
  globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx");
29
- expect(routeHmr.getRouteHmrEpoch()).toBe(before + 1);
30
- expect(listener).toHaveBeenCalledTimes(1);
29
+ expect(routeHmr.getRouteHmrEpoch()).toBe(before);
30
+ expect(listener).not.toHaveBeenCalled();
31
31
  unsubscribe();
32
- globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx");
33
- expect(listener).toHaveBeenCalledTimes(1);
34
32
  });
35
33
  it("evicts the route cache for the updated file when window.__oneRouteCache is present", function () {
36
- var clearFile = vi.fn();
34
+ var clearFile = vi.fn(function () {
35
+ return true;
36
+ });
37
37
  globalThis.window = {
38
38
  __oneRouteCache: {
39
39
  clearFile
@@ -42,6 +42,22 @@ describe("routeHmr.native", function () {
42
42
  globalThis.__VXRN_ON_MODULE_UPDATED__("app/_layout.tsx");
43
43
  expect(clearFile).toHaveBeenCalledWith("app/_layout.tsx");
44
44
  });
45
+ it("does not bump the epoch for a non-route module either", function () {
46
+ var before = routeHmr.getRouteHmrEpoch();
47
+ var listener = vi.fn();
48
+ var unsubscribe = routeHmr.subscribeRouteHmr(listener);
49
+ globalThis.window = {
50
+ __oneRouteCache: {
51
+ clearFile: function () {
52
+ return false;
53
+ }
54
+ }
55
+ };
56
+ globalThis.__VXRN_ON_MODULE_UPDATED__("features/onboarding/HmrProbeChild.tsx");
57
+ expect(routeHmr.getRouteHmrEpoch()).toBe(before);
58
+ expect(listener).not.toHaveBeenCalled();
59
+ unsubscribe();
60
+ });
45
61
  it("does not throw when window / route cache is absent", function () {
46
62
  ;
47
63
  globalThis.window = void 0;
@@ -49,9 +65,10 @@ describe("routeHmr.native", function () {
49
65
  return globalThis.__VXRN_ON_MODULE_UPDATED__("x.tsx");
50
66
  }).not.toThrow();
51
67
  });
52
- it("still notifies subscribers when route-cache eviction throws", function () {
68
+ it("does not throw or bump the epoch when route-cache eviction throws", function () {
53
69
  var listener = vi.fn();
54
70
  var unsubscribe = routeHmr.subscribeRouteHmr(listener);
71
+ var before = routeHmr.getRouteHmrEpoch();
55
72
  globalThis.window = {
56
73
  __oneRouteCache: {
57
74
  clearFile() {
@@ -61,8 +78,9 @@ describe("routeHmr.native", function () {
61
78
  };
62
79
  expect(function () {
63
80
  return globalThis.__VXRN_ON_MODULE_UPDATED__("app/index.tsx");
64
- }).toThrow("cache eviction failed");
65
- expect(listener).toHaveBeenCalledOnce();
81
+ }).not.toThrow();
82
+ expect(routeHmr.getRouteHmrEpoch()).toBe(before);
83
+ expect(listener).not.toHaveBeenCalled();
66
84
  unsubscribe();
67
85
  });
68
86
  });
@@ -1 +1 @@
1
- {"version":3,"names":["afterEach","beforeEach","describe","expect","it","vi","_type_of","obj","Symbol","constructor","routeHmr","realWindow","globalThis","window","realModuleUpdatedHook","__VXRN_ON_MODULE_UPDATED__","stubEnv","resetModules","unstubAllEnvs","toBe","before","getRouteHmrEpoch","listener","fn","unsubscribe","subscribeRouteHmr","toHaveBeenCalledTimes","clearFile","__oneRouteCache","toHaveBeenCalledWith","not","toThrow","Error"],"sources":["../../../src/router/routeHmr.native.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAIhE,SAASC,SAAAC,GAAA;EACP,uBAAI;;EACJ,OAAMA,GAAA,WAAcC,MAAA,KAAmB,eAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AACvC;AAEAL,QAAA,kBAAuB;EAGrB,IAAAQ,QAAG;EACH,IAAAC,UAAG,GAAAC,UAAa,CAAAC,MAAA;EAChB,IAAAC,qBAAiB,GAAOF,UAAA,CAAAG,0BAAmB;EAC7Cd,UAAC;IAEDI,EAAA,CAAAW,OAAU,WAAM;IACdX,EAAA,CAAGY,YAAA,EAAc;IACjBP,QAAA,GAAW,0CAA6B;EACvC,EAAC;EACJV,SAAC;IAEDK,EAAG,CAAAa,aAAA;IACDN,UAAO,CAAAG,0BAAkB,GAAAD,qBAAiC;IAC3DF,UAAA,CAAAC,MAAA,GAAAF,UAAA;EAED;EACEP,EAAA,iEAAyC;IACzCD,MAAM,CAAAG,QAAA,CAAAM,UAAiB,CAAAG,0BAAA,GAAAI,IAAA;EACvB;EAEAf,EAAA,wEAAsD;IACtD,IAAAgB,MAAO,GAAAV,QAAS,CAAAW,gBAAoB;IACpC,IAAAC,QAAO,GAAQjB,EAAE,CAAAkB,EAAA;IAEjB,IAAAC,WAAY,GAAAd,QAAA,CAAAe,iBAAA,CAAAH,QAAA;IACZV,UAAA,CAAWG,0BAAA,CAA4B,eAAe;IACtDZ,MAAA,CAAOO,QAAQ,CAAAW,gBAAE,IAAAF,IAAuB,CAAAC,MAAA;IACzCjB,MAAA,CAAAmB,QAAA,EAAAI,qBAAA;IAEDF,WAAG;IACDZ,UAAM,CAAAG,0BAAkB;IACtBZ,MAAA,CAAAmB,QAAmB,EAAAI,qBAAW,CAAiB,EAAE;EACnD;EACAtB,EAAA,qFAAwD;IACzD,IAAAuB,SAAA,GAAAtB,EAAA,CAAAkB,EAAA;IAEDX,UAAG,CAAAC,MAAA;MACDe,eAAA;QAAED;MACF;IACD;IAEDf,UAAG,CAAAG,0BAAA;IACDZ,MAAM,CAAAwB,SAAA,CAAW,CAAAE,oBAAM;EACvB;EACCzB,EAAC,qDAA4B;IAAA;IACXQ,UACf,CAAAC,MAAY;IACVV,MAAA,aAAU;MAA6B,OACzCS,UAAA,CAAAG,0BAAA;IAAA,EACF,CAAAe,GAAA,CAAAC,OAAA;EAAA,EACF;EAEA3B,EAAA,8DAAoD,cAAkB;IAAA,IACpEkB,QAAA,GAAAjB,EAAA,CAAAkB,EAAA;IACF,IAAAC,WAAA,GAAAd,QAAA,CAAAe,iBAAA,CAAAH,QAAA;IACAV,UAAO,CAAAC,MAAU;MACjBe,eAAY;QACbD,UAAA;UACF,UAAAK,KAAA","ignoreList":[]}
1
+ {"version":3,"names":["afterEach","beforeEach","describe","expect","it","vi","_type_of","obj","Symbol","constructor","routeHmr","realWindow","globalThis","window","realModuleUpdatedHook","__VXRN_ON_MODULE_UPDATED__","stubEnv","resetModules","unstubAllEnvs","toBe","before","getRouteHmrEpoch","listener","fn","unsubscribe","subscribeRouteHmr","not","toHaveBeenCalled","clearFile","__oneRouteCache","toHaveBeenCalledWith","toThrow"],"sources":["../../../src/router/routeHmr.native.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAIhE,SAASC,SAAAC,GAAA;EACP,uBAAI;;EACJ,OAAMA,GAAA,WAAcC,MAAA,KAAmB,eAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AACvC;AAEAL,QAAA,kBAAuB;EAGrB,IAAAQ,QAAG;EACH,IAAAC,UAAG,GAAAC,UAAa,CAAAC,MAAA;EAChB,IAAAC,qBAAiB,GAAOF,UAAA,CAAAG,0BAAmB;EAC7Cd,UAAC;IAEDI,EAAA,CAAAW,OAAU,WAAM;IACdX,EAAA,CAAGY,YAAA,EAAc;IACjBP,QAAA,GAAW,0CAA6B;EACvC,EAAC;EACJV,SAAC;IAEDK,EAAG,CAAAa,aAAA;IACDN,UAAO,CAAAG,0BAAkB,GAAAD,qBAAiC;IAC3DF,UAAA,CAAAC,MAAA,GAAAF,UAAA;EAED;EACEP,EAAA,iEAAyC;IACzCD,MAAM,CAAAG,QAAA,CAAAM,UAAiB,CAAAG,0BAAA,GAAAI,IAAA;EACvB;EAEAf,EAAA,sEAAsD;IACtD,IAAAgB,MAAO,GAAAV,QAAS,CAAAW,gBAAoB;IACpC,IAAAC,QAAO,GAAQjB,EAAE,CAAAkB,EAAA,CAAI;IAErB,IAAAC,WAAY,GAAAd,QAAA,CAAAe,iBAAA,CAAAH,QAAA;IACbV,UAAA,CAAAG,0BAAA;IAEDZ,MAAG,CAAAO,QAAA,CAAAW,gBAAA,IAAAF,IAAA,CAAAC,MAAA;IACDjB,MAAM,CAAAmB,QAAA,EAAAI,GAAY,CAAGC,gBAAa;IAChCH,WAAmB;EACrB;EACApB,EAAA,qFAAwD;IACzD,IAAAwB,SAAA,GAAAvB,EAAA,CAAAkB,EAAA;MAEE;IACD;IACAX,UAAM,CAAAC,MAAW,GAAG;MACpBgB,eAAM;QACJD;MACA;IACF;IAEAhB,UAAA,CAAWG,0BAAA,CAA4B;IACvCZ,MAAA,CAAOyB,SAAS,EAAAE,oBAAoB,kBAAW;EAC/C;EACA1B,EAAA,wDAAY;IACb,IAAAgB,MAAA,GAAAV,QAAA,CAAAW,gBAAA;IAED,IAAGC,QAAA,GAAAjB,EAAA,CAAAkB,EAAA;IACD,IAAAC,WAAA,GAAAd,QAAA,CAAAe,iBAAA,CAAAH,QAAA;IAAEV,UAAA,CAAmBC,MAAA,GAAS;MAC9BgB,eAAa;QACdD,SAAA,WAAAA,CAAA;UAEE;QACD;MACA;IACA;IACEhB,UAAA,CAAmBG,0BAAS;IAAAZ,MAC5B,CAAAO,QAAA,CAAAW,gBAAiB,IAAAF,IAAA,CAAAC,MAAA;IAAAjB,MACf,CAAAmB,QAAA,CAAY,CAAAI,GAAA,CAAAC,gBAAA;IACVH,WAAA,CAAM;EAAiC;EACzCpB,EAAA,qDACF;IACF;IAEAQ,UAAO,CAAAC,MAAM,QAAW;IACxBV,MAAA,CAAO,YAAS;MAChB,OAAOS,UAAU,CAAAG,0BAAqB;IACtC,GAAAW,GAAA,CAAAK,OAAY;EACd,CAAC;EACF3B,EAAA","ignoreList":[]}
@@ -197,27 +197,17 @@ function fromImport({
197
197
  SuspenseFallback,
198
198
  ...component
199
199
  }) {
200
- if (ErrorBoundary) return {
201
- default: React.forwardRef((props, ref) => {
202
- return /* @__PURE__ */jsx(Try, {
203
- catch: ErrorBoundary,
204
- children: React.createElement(getPageExport(component) || EmptyRoute, {
205
- ...props,
206
- ref
207
- })
208
- });
209
- }),
210
- SuspenseFallback
211
- };
212
200
  if (process.env.NODE_ENV !== "production") {
213
201
  const exported = getPageExport(component);
214
202
  if (exported && typeof exported === "object" && Object.keys(exported).length === 0) return {
215
203
  default: EmptyRoute,
204
+ ErrorBoundary,
216
205
  SuspenseFallback
217
206
  };
218
207
  }
219
208
  return {
220
209
  default: getPageExport(component),
210
+ ErrorBoundary,
221
211
  SuspenseFallback
222
212
  };
223
213
  }
@@ -259,7 +249,8 @@ function getQualifiedRouteComponent(value) {
259
249
  });
260
250
  }
261
251
  const res = fromImport(value.loadRoute());
262
- const Component = getPageExport(res);
252
+ const Component = res.default || EmptyRoute;
253
+ const CatchBoundary = res.ErrorBoundary;
263
254
  const LayoutSuspenseFallback = value.type === "layout" ? res.SuspenseFallback : void 0;
264
255
  const match = matches.find(match2 => match2.routeId === value.contextKey) || (!value.children?.length ? matches[matches.length - 1] : void 0);
265
256
  const loaderDataProps = match && "loaderData" in match ? {
@@ -285,15 +276,21 @@ function getQualifiedRouteComponent(value) {
285
276
  ...loaderDataProps
286
277
  },
287
278
  forwardedRef: ref
288
- });else rendered = /* @__PURE__ */jsx(RouteErrorBoundary, {
289
- routeName: value.route,
290
- children: /* @__PURE__ */jsx(Component, {
279
+ });else {
280
+ const page = /* @__PURE__ */jsx(Component, {
291
281
  ...props,
292
282
  ...slotProps,
293
283
  ...loaderDataProps,
294
284
  ref
295
- })
296
- });
285
+ });
286
+ rendered = /* @__PURE__ */jsx(RouteErrorBoundary, {
287
+ routeName: value.route,
288
+ children: CatchBoundary ? /* @__PURE__ */jsx(Try, {
289
+ catch: CatchBoundary,
290
+ children: page
291
+ }) : page
292
+ });
293
+ }
297
294
  if (value.type !== "layout") return rendered;
298
295
  const providedSuspenseFallback = LayoutSuspenseFallback ?? InheritedSuspenseFallback;
299
296
  return /* @__PURE__ */jsx(SuspenseFallbackContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"names":["createNavigatorFactory","React","Suspense","createElement","memo","useContext","useEffect","useState","SafeAreaProvider","ServerContextScript","checkSkewAndReload","getClientMatchesSnapshot","handleSkewError","isChunkLoadError","getPageExport","EmptyRoute","NamedSlot","RouteErrorView","Try","DevHead","getServerContext","useServerContext","filterRootHTML","Route","RouteParamsContext","SuspenseFallbackContext","useRouteNode","SpaShellContext","sortRoutesWithInitial","Fragment","jsx","jsxs","hasMetaCharset","children","process","env","NODE_ENV","checkElement","child","isValidElement","type","props","childProps","Array","isArray","some","Screen","Group","cachedInlineCSSElements","document","querySelectorAll","elements","forEach","el","i","tagName","push","id","dangerouslySetInnerHTML","__html","innerHTML","href","getAttribute","rel","SSR_SAFE_METRICS","frame","x","y","width","height","insets","top","left","right","bottom","RootLayoutRenderer","LayoutComponent","layoutProps","forwardedRef","setHmrKey","handler","k","window","addEventListener","removeEventListener","bodyProps","head","htmlProps","headChildren","headProps","serverContext","finalChildren","console","warn","cssContents","length","cssInlineCount","map","content","css","file","suppressHydrationWarning","initialMetrics","lang","getSortedChildren","order","initialRouteName","options","sort","route","entries","ordered","name","redirect","initialParams","listeners","options2","getId","matchIndex","findIndex","match","splice","Error","filter","Boolean","onlyMatching","useSortedScreens","node","useMemo","value","routeName","normalized","replace","protectedScreens","has","routeToScreen","fromImport","ErrorBoundary","SuspenseFallback","component","default","forwardRef","ref","catch","exported","Object","keys","RouteSuspenseFallback","Component","params","qualifiedStore","WeakMap","getRouteMatchesForProps","serverMatches","matches","VITE_ENVIRONMENT","clientMatches","getQualifiedRouteComponent","get","ScreenComponent","isSpaShell","InheritedSuspenseFallback","segment","layoutRenderMode","res","loadRoute","LayoutSuspenseFallback","find","match2","routeId","contextKey","loaderDataProps","loaderData","DEBUG","groupCollapsed","key","info","groupEnd","slotProps","slots","size","slotName","layoutContextKey","rendered","RouteErrorBoundary","providedSuspenseFallback","Provider","wrapSuspense","fallback","ONE_SUSPEND_ROUTES","globalThis","__ONE_DISABLE_SUSPENSE_ROUTES__","QualifiedRoute","navigation","displayName","Memoized","set","createGetIdForRoute","include","Map","dynamic","segments","values","join","deep","args","staticOptions","generated","getNavOptions","staticResult","dynamicResult","output","tabBarButton","drawerItemStyle","display","getComponent","ROUTE_ERROR_BOUNDARY_INITIAL_STATE","hasError","error","errorInfo","constructor","state","getDerivedStateFromError","componentDidCatch","message","stack","componentStack","setState","ONE_SKEW_PROTECTION","clearError","render","onRetry","bind"],"sources":["useScreens.mjs"],"sourcesContent":["import { createNavigatorFactory } from \"@react-navigation/core\";\nimport React, { Suspense, createElement, memo, useContext, useEffect, useState } from \"react\";\nimport { SafeAreaProvider } from \"react-native-safe-area-context\";\nimport { ServerContextScript } from \"../server/ServerContextScript\";\nimport { checkSkewAndReload } from \"../skewProtection\";\nimport { getClientMatchesSnapshot } from \"../useMatches\";\nimport { handleSkewError, isChunkLoadError } from \"../utils/dynamicImport\";\nimport { getPageExport } from \"../utils/getPageExport\";\nimport { EmptyRoute } from \"../views/EmptyRoute\";\nimport { NamedSlot } from \"../views/Navigator\";\nimport { RouteErrorView } from \"../views/RouteErrorView\";\nimport { Try } from \"../views/Try\";\nimport { DevHead } from \"../vite/DevHead\";\nimport { getServerContext, useServerContext } from \"../vite/one-server-only\";\nimport { filterRootHTML } from \"./filterRootHTML\";\nimport { Route, RouteParamsContext, SuspenseFallbackContext, useRouteNode } from \"./Route\";\nimport { SpaShellContext } from \"./SpaShellContext\";\nimport { sortRoutesWithInitial } from \"./sortRoutes\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n\nfunction hasMetaCharset(children) {\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (!children) return false;\n\t\tconst checkElement = (child) => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\tif (child.type === \"meta\") {\n\t\t\t\tconst props = child.props;\n\t\t\t\tif (\"charSet\" in props || \"charset\" in props) return true;\n\t\t\t}\n\t\t\tconst childProps = child.props;\n\t\t\tif (childProps.children) return hasMetaCharset(childProps.children);\n\t\t\treturn false;\n\t\t};\n\t\tif (Array.isArray(children)) return children.some(checkElement);\n\t\treturn checkElement(children);\n\t}\n\treturn true;\n}\nconst { Screen, Group } = createNavigatorFactory({})();\nconst cachedInlineCSSElements = typeof document !== \"undefined\" && typeof document.querySelectorAll === \"function\" ? (() => {\n\tconst elements = [];\n\tdocument.querySelectorAll(\"style[id^=\\\"__one_css_\\\"], link[rel=\\\"stylesheet\\\"][data-one-css]\").forEach((el, i) => {\n\t\tif (el.tagName === \"STYLE\") elements.push(/* @__PURE__ */ jsx(\"style\", {\n\t\t\tid: el.id,\n\t\t\tdangerouslySetInnerHTML: { __html: el.innerHTML }\n\t\t}, `inline-css-${i}`));\n\t\telse {\n\t\t\tconst href = el.getAttribute(\"href\");\n\t\t\telements.push(/* @__PURE__ */ jsx(\"link\", {\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\thref,\n\t\t\t\t\"data-one-css\": \"\"\n\t\t\t}, href));\n\t\t}\n\t});\n\treturn elements;\n})() : [];\nconst SSR_SAFE_METRICS = {\n\tframe: {\n\t\tx: 0,\n\t\ty: 0,\n\t\twidth: 0,\n\t\theight: 0\n\t},\n\tinsets: {\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbottom: 0\n\t}\n};\nfunction RootLayoutRenderer({ LayoutComponent, layoutProps, forwardedRef }) {\n\tif (process.env.NODE_ENV === \"development\" && true) {\n\t\tconst [, setHmrKey] = useState(0);\n\t\tuseEffect(() => {\n\t\t\tconst handler = () => setHmrKey((k) => k + 1);\n\t\t\twindow.addEventListener(\"one-hmr-update\", handler);\n\t\t\treturn () => window.removeEventListener(\"one-hmr-update\", handler);\n\t\t}, []);\n\t}\n\tconst { children, bodyProps, head, htmlProps } = filterRootHTML(LayoutComponent(layoutProps, forwardedRef));\n\tconst { children: headChildren, ...headProps } = head?.props || {};\n\tconst serverContext = useServerContext();\n\tlet finalChildren = children;\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (!hasMetaCharset(headChildren)) console.warn(`[one] Missing <meta charSet=\"utf-8\" /> in your root _layout.tsx <head>. This can cause React hydration issues due to encoding mismatch. Add it as the first element in your <head> tag.`);\n\t}\n\tfinalChildren = /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(\"head\", {\n\t\t...headProps,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsx(DevHead, {}),\n\t\t\t/* @__PURE__ */ jsx(\"script\", { dangerouslySetInnerHTML: { __html: `globalThis['global'] = globalThis` } }),\n\t\t\tserverContext?.cssContents?.length || serverContext?.cssInlineCount ? serverContext?.cssContents ? serverContext.cssContents.map((content, i) => content ? /* @__PURE__ */ jsx(\"style\", {\n\t\t\t\tid: `__one_css_${i}`,\n\t\t\t\tdangerouslySetInnerHTML: { __html: content }\n\t\t\t}, `inline-css-${i}`) : serverContext.css?.[i] ? /* @__PURE__ */ jsx(\"link\", {\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\thref: serverContext.css[i]\n\t\t\t}, serverContext.css[i]) : null) : cachedInlineCSSElements : serverContext?.css?.map((file) => /* @__PURE__ */ jsx(\"link\", {\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\thref: file\n\t\t\t}, file)),\n\t\t\t/* @__PURE__ */ jsx(ServerContextScript, {}),\n\t\t\theadChildren\n\t\t]\n\t}, \"head\"), /* @__PURE__ */ jsx(\"body\", {\n\t\tsuppressHydrationWarning: true,\n\t\t...bodyProps,\n\t\tchildren: /* @__PURE__ */ jsx(SafeAreaProvider, {\n\t\t\tinitialMetrics: SSR_SAFE_METRICS,\n\t\t\tchildren: finalChildren\n\t\t})\n\t}, \"body\")] });\n\treturn /* @__PURE__ */ jsx(\"html\", {\n\t\tsuppressHydrationWarning: true,\n\t\tlang: \"en-US\",\n\t\t...htmlProps,\n\t\tchildren: finalChildren\n\t});\n}\nfunction getSortedChildren(children, order, initialRouteName, options) {\n\tif (!order?.length) return children.sort(sortRoutesWithInitial(initialRouteName)).map((route) => ({\n\t\troute,\n\t\tprops: {}\n\t}));\n\tconst entries = [...children];\n\tconst ordered = order.map(({ name, redirect, initialParams, listeners, options: options2, getId }) => {\n\t\tif (!entries.length) {\n\t\t\tconsole.warn(`[Layout children]: Too many screens defined. Route \"${name}\" is extraneous.`);\n\t\t\treturn null;\n\t\t}\n\t\tconst matchIndex = entries.findIndex((child) => child.route === name);\n\t\tif (matchIndex === -1) {\n\t\t\tconsole.warn(`[Layout children]: No route named \"${name}\" exists in nested children:`, children.map(({ route }) => route));\n\t\t\treturn null;\n\t\t}\n\t\tconst match = entries[matchIndex];\n\t\tentries.splice(matchIndex, 1);\n\t\tif (redirect) {\n\t\t\tif (typeof redirect === \"string\") throw new Error(`Redirecting to a specific route is not supported yet.`);\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\troute: match,\n\t\t\tprops: {\n\t\t\t\tinitialParams,\n\t\t\t\tlisteners,\n\t\t\t\toptions: options2,\n\t\t\t\tgetId\n\t\t\t}\n\t\t};\n\t}).filter(Boolean);\n\tif (!options?.onlyMatching) ordered.push(...entries.sort(sortRoutesWithInitial(initialRouteName)).map((route) => ({\n\t\troute,\n\t\tprops: {}\n\t})));\n\treturn ordered;\n}\nfunction useSortedScreens(order, options) {\n\tconst node = useRouteNode();\n\treturn React.useMemo(() => {\n\t\treturn (node?.children?.length ? getSortedChildren(node.children, order, node.initialRouteName, options) : []).filter((value) => {\n\t\t\tconst routeName = value.route.route;\n\t\t\tconst normalized = routeName.replace(/\\/index$/, \"\");\n\t\t\treturn !(options?.protectedScreens?.has(routeName) || options?.protectedScreens?.has(normalized));\n\t\t}).map((value) => routeToScreen(value.route, value.props));\n\t}, [\n\t\tnode?.children,\n\t\tnode?.initialRouteName,\n\t\torder,\n\t\toptions?.protectedScreens\n\t]);\n}\nfunction fromImport({ ErrorBoundary, SuspenseFallback, ...component }) {\n\tif (ErrorBoundary) return {\n\t\tdefault: React.forwardRef((props, ref) => {\n\t\t\treturn /* @__PURE__ */ jsx(Try, {\n\t\t\t\tcatch: ErrorBoundary,\n\t\t\t\tchildren: React.createElement(getPageExport(component) || EmptyRoute, {\n\t\t\t\t\t...props,\n\t\t\t\t\tref\n\t\t\t\t})\n\t\t\t});\n\t\t}),\n\t\tSuspenseFallback\n\t};\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst exported = getPageExport(component);\n\t\tif (exported && typeof exported === \"object\" && Object.keys(exported).length === 0) return {\n\t\t\tdefault: EmptyRoute,\n\t\t\tSuspenseFallback\n\t\t};\n\t}\n\treturn {\n\t\tdefault: getPageExport(component),\n\t\tSuspenseFallback\n\t};\n}\nfunction RouteSuspenseFallback({ component: Component, route }) {\n\tconst params = useContext(RouteParamsContext);\n\treturn Component ? /* @__PURE__ */ jsx(Component, {\n\t\troute,\n\t\tparams: params ?? {}\n\t}) : null;\n}\nconst qualifiedStore = /* @__PURE__ */ new WeakMap();\nfunction getRouteMatchesForProps() {\n\tconst serverMatches = getServerContext()?.matches ?? [];\n\tif (process.env.VITE_ENVIRONMENT === \"ssr\") return serverMatches;\n\tconst clientMatches = getClientMatchesSnapshot();\n\treturn clientMatches.length ? clientMatches : serverMatches;\n}\nfunction getQualifiedRouteComponent(value) {\n\tif (value && qualifiedStore.has(value)) return qualifiedStore.get(value);\n\tconst ScreenComponent = React.forwardRef((props, ref) => {\n\t\tif (process.env.NODE_ENV === \"development\" && true) {\n\t\t\tconst [, setHmrKey] = useState(0);\n\t\t\tuseEffect(() => {\n\t\t\t\tconst handler = () => setHmrKey((k) => k + 1);\n\t\t\t\twindow.addEventListener(\"one-hmr-update\", handler);\n\t\t\t\treturn () => window.removeEventListener(\"one-hmr-update\", handler);\n\t\t\t}, []);\n\t\t}\n\t\tif (process.env.NODE_ENV === \"development\" && false);\n\t\tconst isSpaShell = useContext(SpaShellContext);\n\t\tconst InheritedSuspenseFallback = useContext(SuspenseFallbackContext);\n\t\tconst matches = getRouteMatchesForProps();\n\t\tif (isSpaShell && props.segment !== \"\") {\n\t\t\tif (!(value.children?.length && (value.layoutRenderMode === \"ssg\" || value.layoutRenderMode === \"ssr\"))) return /* @__PURE__ */ jsx(\"div\", { \"data-one-spa-content\": \"\" });\n\t\t}\n\t\tconst res = fromImport(value.loadRoute());\n\t\tconst Component = getPageExport(res);\n\t\tconst LayoutSuspenseFallback = value.type === \"layout\" ? res.SuspenseFallback : void 0;\n\t\tconst match = matches.find((match2) => match2.routeId === value.contextKey) || (!value.children?.length ? matches[matches.length - 1] : void 0);\n\t\tconst loaderDataProps = match && \"loaderData\" in match ? { loaderData: match.loaderData } : {};\n\t\tif (process.env.NODE_ENV === \"development\" && process.env.DEBUG === \"one\") {\n\t\t\tconsole.groupCollapsed(`Render ${props.key} ${props.segment}`);\n\t\t\tconsole.info(`value`, value);\n\t\t\tconsole.info(`Component`, Component);\n\t\t\tconsole.groupEnd();\n\t\t}\n\t\tconst slotProps = {};\n\t\tif (value.slots && value.slots.size > 0) for (const [slotName] of value.slots) slotProps[slotName] = /* @__PURE__ */ jsx(NamedSlot, {\n\t\t\tname: slotName,\n\t\t\tlayoutContextKey: value.contextKey\n\t\t});\n\t\tlet rendered;\n\t\tif (props.segment === \"\") rendered = /* @__PURE__ */ jsx(RootLayoutRenderer, {\n\t\t\tLayoutComponent: Component,\n\t\t\tlayoutProps: {\n\t\t\t\t...props,\n\t\t\t\t...slotProps,\n\t\t\t\t...loaderDataProps\n\t\t\t},\n\t\t\tforwardedRef: ref\n\t\t});\n\t\telse rendered = /* @__PURE__ */ jsx(RouteErrorBoundary, {\n\t\t\trouteName: value.route,\n\t\t\tchildren: /* @__PURE__ */ jsx(Component, {\n\t\t\t\t...props,\n\t\t\t\t...slotProps,\n\t\t\t\t...loaderDataProps,\n\t\t\t\tref\n\t\t\t})\n\t\t});\n\t\tif (value.type !== \"layout\") return rendered;\n\t\tconst providedSuspenseFallback = LayoutSuspenseFallback ?? InheritedSuspenseFallback;\n\t\treturn /* @__PURE__ */ jsx(SuspenseFallbackContext.Provider, {\n\t\t\tvalue: providedSuspenseFallback,\n\t\t\tchildren: LayoutSuspenseFallback ? wrapSuspense(rendered, LayoutSuspenseFallback) : rendered\n\t\t});\n\t});\n\tconst wrapSuspense = (children, SuspenseFallback) => {\n\t\tconst fallback = /* @__PURE__ */ jsx(RouteSuspenseFallback, {\n\t\t\tcomponent: SuspenseFallback,\n\t\t\troute: value.contextKey\n\t\t});\n\t\tif (process.env.ONE_SUSPEND_ROUTES === \"1\" && globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__ !== true) return /* @__PURE__ */ jsx(Suspense, {\n\t\t\tfallback,\n\t\t\tchildren\n\t\t});\n\t\treturn children;\n\t};\n\tconst QualifiedRoute = React.forwardRef(({ route, navigation, ...props }, ref) => {\n\t\tconst InheritedSuspenseFallback = useContext(SuspenseFallbackContext);\n\t\treturn /* @__PURE__ */ jsx(Route, {\n\t\t\troute,\n\t\t\tnode: value,\n\t\t\tchildren: /* @__PURE__ */ jsx(Fragment, { children: wrapSuspense(/* @__PURE__ */ jsx(ScreenComponent, {\n\t\t\t\t...props,\n\t\t\t\tref,\n\t\t\t\tsegment: value.route\n\t\t\t}), InheritedSuspenseFallback) })\n\t\t});\n\t});\n\tQualifiedRoute.displayName = `Route(${value.route})`;\n\tconst Memoized = memo(QualifiedRoute);\n\tqualifiedStore.set(value, Memoized);\n\treturn Memoized;\n}\nfunction createGetIdForRoute(route) {\n\tconst include = /* @__PURE__ */ new Map();\n\tif (route.dynamic) for (const segment of route.dynamic) include.set(segment.name, segment);\n\treturn ({ params = {} } = {}) => {\n\t\tconst segments = [];\n\t\tfor (const dynamic of include.values()) {\n\t\t\tconst value = params?.[dynamic.name];\n\t\t\tif (Array.isArray(value) && value.length > 0) segments.push(value.join(\"/\"));\n\t\t\telse if (value && !Array.isArray(value)) segments.push(value);\n\t\t\telse if (dynamic.deep) segments.push(`[...${dynamic.name}]`);\n\t\t\telse segments.push(`[${dynamic.name}]`);\n\t\t}\n\t\treturn segments.join(\"/\") ?? route.contextKey;\n\t};\n}\nfunction routeToScreen(route, { options, ...props } = {}) {\n\treturn /* @__PURE__ */ createElement(Screen, {\n\t\tgetId: createGetIdForRoute(route),\n\t\t...props,\n\t\tname: route.route,\n\t\tkey: route.route,\n\t\toptions: (args) => {\n\t\t\tconst staticOptions = route.generated ? route.loadRoute()?.getNavOptions : null;\n\t\t\tconst staticResult = typeof staticOptions === \"function\" ? staticOptions(args) : staticOptions;\n\t\t\tconst dynamicResult = typeof options === \"function\" ? options?.(args) : options;\n\t\t\tconst output = {\n\t\t\t\t...staticResult,\n\t\t\t\t...dynamicResult\n\t\t\t};\n\t\t\tif (route.generated) {\n\t\t\t\toutput.tabBarButton = () => null;\n\t\t\t\toutput.drawerItemStyle = {\n\t\t\t\t\theight: 0,\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn output;\n\t\t},\n\t\tgetComponent: () => {\n\t\t\treturn getQualifiedRouteComponent(route);\n\t\t}\n\t});\n}\nconst ROUTE_ERROR_BOUNDARY_INITIAL_STATE = {\n\thasError: false,\n\terror: null,\n\terrorInfo: null\n};\nvar RouteErrorBoundary = class extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = ROUTE_ERROR_BOUNDARY_INITIAL_STATE;\n\t}\n\tstatic getDerivedStateFromError(error) {\n\t\treturn {\n\t\t\thasError: true,\n\t\t\terror\n\t\t};\n\t}\n\tcomponentDidCatch(error, errorInfo) {\n\t\tconsole.error(`Error occurred while running route \"${this.props.routeName}\": ${error instanceof Error ? error.message : error}\n\n${error.stack}\n\nComponent Stack:\n${errorInfo.componentStack}`);\n\t\tthis.setState({ errorInfo });\n\t\tif (process.env.NODE_ENV === \"production\" && process.env.ONE_SKEW_PROTECTION !== \"false\") if (isChunkLoadError(error)) handleSkewError();\n\t\telse checkSkewAndReload();\n\t}\n\tclearError() {\n\t\tthis.setState(ROUTE_ERROR_BOUNDARY_INITIAL_STATE);\n\t}\n\trender() {\n\t\tif (this.state.hasError) {\n\t\t\tconst { error, errorInfo } = this.state;\n\t\t\treturn /* @__PURE__ */ jsx(RouteErrorView, {\n\t\t\t\trouteName: this.props.routeName,\n\t\t\t\terror,\n\t\t\t\terrorInfo,\n\t\t\t\tonRetry: this.clearError.bind(this)\n\t\t\t});\n\t\t}\n\t\treturn this.props.children;\n\t}\n};\n\nexport { Group, Screen, createGetIdForRoute, getQualifiedRouteComponent, useSortedScreens };"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createNavigatorFactory","React","Suspense","createElement","memo","useContext","useEffect","useState","SafeAreaProvider","ServerContextScript","checkSkewAndReload","getClientMatchesSnapshot","handleSkewError","isChunkLoadError","getPageExport","EmptyRoute","NamedSlot","RouteErrorView","Try","DevHead","getServerContext","useServerContext","filterRootHTML","Route","RouteParamsContext","SuspenseFallbackContext","useRouteNode","SpaShellContext","sortRoutesWithInitial","Fragment","jsx","jsxs","hasMetaCharset","children","process","env","NODE_ENV","checkElement","child","isValidElement","type","props","childProps","Array","isArray","some","Screen","Group","cachedInlineCSSElements","document","querySelectorAll","elements","forEach","el","i","tagName","push","id","dangerouslySetInnerHTML","__html","innerHTML","href","getAttribute","rel","SSR_SAFE_METRICS","frame","x","y","width","height","insets","top","left","right","bottom","RootLayoutRenderer","LayoutComponent","layoutProps","forwardedRef","setHmrKey","handler","k","window","addEventListener","removeEventListener","bodyProps","head","htmlProps","headChildren","headProps","serverContext","finalChildren","console","warn","cssContents","length","cssInlineCount","map","content","css","file","suppressHydrationWarning","initialMetrics","lang","getSortedChildren","order","initialRouteName","options","sort","route","entries","ordered","name","redirect","initialParams","listeners","options2","getId","matchIndex","findIndex","match","splice","Error","filter","Boolean","onlyMatching","useSortedScreens","node","useMemo","value","routeName","normalized","replace","protectedScreens","has","routeToScreen","fromImport","ErrorBoundary","SuspenseFallback","component","exported","Object","keys","default","RouteSuspenseFallback","Component","params","qualifiedStore","WeakMap","getRouteMatchesForProps","serverMatches","matches","VITE_ENVIRONMENT","clientMatches","getQualifiedRouteComponent","get","ScreenComponent","forwardRef","ref","isSpaShell","InheritedSuspenseFallback","segment","layoutRenderMode","res","loadRoute","CatchBoundary","LayoutSuspenseFallback","find","match2","routeId","contextKey","loaderDataProps","loaderData","DEBUG","groupCollapsed","key","info","groupEnd","slotProps","slots","size","slotName","layoutContextKey","rendered","page","RouteErrorBoundary","catch","providedSuspenseFallback","Provider","wrapSuspense","fallback","ONE_SUSPEND_ROUTES","globalThis","__ONE_DISABLE_SUSPENSE_ROUTES__","QualifiedRoute","navigation","displayName","Memoized","set","createGetIdForRoute","include","Map","dynamic","segments","values","join","deep","args","staticOptions","generated","getNavOptions","staticResult","dynamicResult","output","tabBarButton","drawerItemStyle","display","getComponent","ROUTE_ERROR_BOUNDARY_INITIAL_STATE","hasError","error","errorInfo","constructor","state","getDerivedStateFromError","componentDidCatch","message","stack","componentStack","setState","ONE_SKEW_PROTECTION","clearError","render","onRetry","bind"],"sources":["useScreens.mjs"],"sourcesContent":["import { createNavigatorFactory } from \"@react-navigation/core\";\nimport React, { Suspense, createElement, memo, useContext, useEffect, useState } from \"react\";\nimport { SafeAreaProvider } from \"react-native-safe-area-context\";\nimport { ServerContextScript } from \"../server/ServerContextScript\";\nimport { checkSkewAndReload } from \"../skewProtection\";\nimport { getClientMatchesSnapshot } from \"../useMatches\";\nimport { handleSkewError, isChunkLoadError } from \"../utils/dynamicImport\";\nimport { getPageExport } from \"../utils/getPageExport\";\nimport { EmptyRoute } from \"../views/EmptyRoute\";\nimport { NamedSlot } from \"../views/Navigator\";\nimport { RouteErrorView } from \"../views/RouteErrorView\";\nimport { Try } from \"../views/Try\";\nimport { DevHead } from \"../vite/DevHead\";\nimport { getServerContext, useServerContext } from \"../vite/one-server-only\";\nimport { filterRootHTML } from \"./filterRootHTML\";\nimport { Route, RouteParamsContext, SuspenseFallbackContext, useRouteNode } from \"./Route\";\nimport { SpaShellContext } from \"./SpaShellContext\";\nimport { sortRoutesWithInitial } from \"./sortRoutes\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n\nfunction hasMetaCharset(children) {\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (!children) return false;\n\t\tconst checkElement = (child) => {\n\t\t\tif (!React.isValidElement(child)) return false;\n\t\t\tif (child.type === \"meta\") {\n\t\t\t\tconst props = child.props;\n\t\t\t\tif (\"charSet\" in props || \"charset\" in props) return true;\n\t\t\t}\n\t\t\tconst childProps = child.props;\n\t\t\tif (childProps.children) return hasMetaCharset(childProps.children);\n\t\t\treturn false;\n\t\t};\n\t\tif (Array.isArray(children)) return children.some(checkElement);\n\t\treturn checkElement(children);\n\t}\n\treturn true;\n}\nconst { Screen, Group } = createNavigatorFactory({})();\nconst cachedInlineCSSElements = typeof document !== \"undefined\" && typeof document.querySelectorAll === \"function\" ? (() => {\n\tconst elements = [];\n\tdocument.querySelectorAll(\"style[id^=\\\"__one_css_\\\"], link[rel=\\\"stylesheet\\\"][data-one-css]\").forEach((el, i) => {\n\t\tif (el.tagName === \"STYLE\") elements.push(/* @__PURE__ */ jsx(\"style\", {\n\t\t\tid: el.id,\n\t\t\tdangerouslySetInnerHTML: { __html: el.innerHTML }\n\t\t}, `inline-css-${i}`));\n\t\telse {\n\t\t\tconst href = el.getAttribute(\"href\");\n\t\t\telements.push(/* @__PURE__ */ jsx(\"link\", {\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\thref,\n\t\t\t\t\"data-one-css\": \"\"\n\t\t\t}, href));\n\t\t}\n\t});\n\treturn elements;\n})() : [];\nconst SSR_SAFE_METRICS = {\n\tframe: {\n\t\tx: 0,\n\t\ty: 0,\n\t\twidth: 0,\n\t\theight: 0\n\t},\n\tinsets: {\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbottom: 0\n\t}\n};\nfunction RootLayoutRenderer({ LayoutComponent, layoutProps, forwardedRef }) {\n\tif (process.env.NODE_ENV === \"development\" && true) {\n\t\tconst [, setHmrKey] = useState(0);\n\t\tuseEffect(() => {\n\t\t\tconst handler = () => setHmrKey((k) => k + 1);\n\t\t\twindow.addEventListener(\"one-hmr-update\", handler);\n\t\t\treturn () => window.removeEventListener(\"one-hmr-update\", handler);\n\t\t}, []);\n\t}\n\tconst { children, bodyProps, head, htmlProps } = filterRootHTML(LayoutComponent(layoutProps, forwardedRef));\n\tconst { children: headChildren, ...headProps } = head?.props || {};\n\tconst serverContext = useServerContext();\n\tlet finalChildren = children;\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (!hasMetaCharset(headChildren)) console.warn(`[one] Missing <meta charSet=\"utf-8\" /> in your root _layout.tsx <head>. This can cause React hydration issues due to encoding mismatch. Add it as the first element in your <head> tag.`);\n\t}\n\tfinalChildren = /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(\"head\", {\n\t\t...headProps,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsx(DevHead, {}),\n\t\t\t/* @__PURE__ */ jsx(\"script\", { dangerouslySetInnerHTML: { __html: `globalThis['global'] = globalThis` } }),\n\t\t\tserverContext?.cssContents?.length || serverContext?.cssInlineCount ? serverContext?.cssContents ? serverContext.cssContents.map((content, i) => content ? /* @__PURE__ */ jsx(\"style\", {\n\t\t\t\tid: `__one_css_${i}`,\n\t\t\t\tdangerouslySetInnerHTML: { __html: content }\n\t\t\t}, `inline-css-${i}`) : serverContext.css?.[i] ? /* @__PURE__ */ jsx(\"link\", {\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\thref: serverContext.css[i]\n\t\t\t}, serverContext.css[i]) : null) : cachedInlineCSSElements : serverContext?.css?.map((file) => /* @__PURE__ */ jsx(\"link\", {\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\thref: file\n\t\t\t}, file)),\n\t\t\t/* @__PURE__ */ jsx(ServerContextScript, {}),\n\t\t\theadChildren\n\t\t]\n\t}, \"head\"), /* @__PURE__ */ jsx(\"body\", {\n\t\tsuppressHydrationWarning: true,\n\t\t...bodyProps,\n\t\tchildren: /* @__PURE__ */ jsx(SafeAreaProvider, {\n\t\t\tinitialMetrics: SSR_SAFE_METRICS,\n\t\t\tchildren: finalChildren\n\t\t})\n\t}, \"body\")] });\n\treturn /* @__PURE__ */ jsx(\"html\", {\n\t\tsuppressHydrationWarning: true,\n\t\tlang: \"en-US\",\n\t\t...htmlProps,\n\t\tchildren: finalChildren\n\t});\n}\nfunction getSortedChildren(children, order, initialRouteName, options) {\n\tif (!order?.length) return children.sort(sortRoutesWithInitial(initialRouteName)).map((route) => ({\n\t\troute,\n\t\tprops: {}\n\t}));\n\tconst entries = [...children];\n\tconst ordered = order.map(({ name, redirect, initialParams, listeners, options: options2, getId }) => {\n\t\tif (!entries.length) {\n\t\t\tconsole.warn(`[Layout children]: Too many screens defined. Route \"${name}\" is extraneous.`);\n\t\t\treturn null;\n\t\t}\n\t\tconst matchIndex = entries.findIndex((child) => child.route === name);\n\t\tif (matchIndex === -1) {\n\t\t\tconsole.warn(`[Layout children]: No route named \"${name}\" exists in nested children:`, children.map(({ route }) => route));\n\t\t\treturn null;\n\t\t}\n\t\tconst match = entries[matchIndex];\n\t\tentries.splice(matchIndex, 1);\n\t\tif (redirect) {\n\t\t\tif (typeof redirect === \"string\") throw new Error(`Redirecting to a specific route is not supported yet.`);\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\troute: match,\n\t\t\tprops: {\n\t\t\t\tinitialParams,\n\t\t\t\tlisteners,\n\t\t\t\toptions: options2,\n\t\t\t\tgetId\n\t\t\t}\n\t\t};\n\t}).filter(Boolean);\n\tif (!options?.onlyMatching) ordered.push(...entries.sort(sortRoutesWithInitial(initialRouteName)).map((route) => ({\n\t\troute,\n\t\tprops: {}\n\t})));\n\treturn ordered;\n}\nfunction useSortedScreens(order, options) {\n\tconst node = useRouteNode();\n\treturn React.useMemo(() => {\n\t\treturn (node?.children?.length ? getSortedChildren(node.children, order, node.initialRouteName, options) : []).filter((value) => {\n\t\t\tconst routeName = value.route.route;\n\t\t\tconst normalized = routeName.replace(/\\/index$/, \"\");\n\t\t\treturn !(options?.protectedScreens?.has(routeName) || options?.protectedScreens?.has(normalized));\n\t\t}).map((value) => routeToScreen(value.route, value.props));\n\t}, [\n\t\tnode?.children,\n\t\tnode?.initialRouteName,\n\t\torder,\n\t\toptions?.protectedScreens\n\t]);\n}\nfunction fromImport({ ErrorBoundary, SuspenseFallback, ...component }) {\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst exported = getPageExport(component);\n\t\tif (exported && typeof exported === \"object\" && Object.keys(exported).length === 0) return {\n\t\t\tdefault: EmptyRoute,\n\t\t\tErrorBoundary,\n\t\t\tSuspenseFallback\n\t\t};\n\t}\n\treturn {\n\t\tdefault: getPageExport(component),\n\t\tErrorBoundary,\n\t\tSuspenseFallback\n\t};\n}\nfunction RouteSuspenseFallback({ component: Component, route }) {\n\tconst params = useContext(RouteParamsContext);\n\treturn Component ? /* @__PURE__ */ jsx(Component, {\n\t\troute,\n\t\tparams: params ?? {}\n\t}) : null;\n}\nconst qualifiedStore = /* @__PURE__ */ new WeakMap();\nfunction getRouteMatchesForProps() {\n\tconst serverMatches = getServerContext()?.matches ?? [];\n\tif (process.env.VITE_ENVIRONMENT === \"ssr\") return serverMatches;\n\tconst clientMatches = getClientMatchesSnapshot();\n\treturn clientMatches.length ? clientMatches : serverMatches;\n}\nfunction getQualifiedRouteComponent(value) {\n\tif (value && qualifiedStore.has(value)) return qualifiedStore.get(value);\n\tconst ScreenComponent = React.forwardRef((props, ref) => {\n\t\tif (process.env.NODE_ENV === \"development\" && true) {\n\t\t\tconst [, setHmrKey] = useState(0);\n\t\t\tuseEffect(() => {\n\t\t\t\tconst handler = () => setHmrKey((k) => k + 1);\n\t\t\t\twindow.addEventListener(\"one-hmr-update\", handler);\n\t\t\t\treturn () => window.removeEventListener(\"one-hmr-update\", handler);\n\t\t\t}, []);\n\t\t}\n\t\tif (process.env.NODE_ENV === \"development\" && false);\n\t\tconst isSpaShell = useContext(SpaShellContext);\n\t\tconst InheritedSuspenseFallback = useContext(SuspenseFallbackContext);\n\t\tconst matches = getRouteMatchesForProps();\n\t\tif (isSpaShell && props.segment !== \"\") {\n\t\t\tif (!(value.children?.length && (value.layoutRenderMode === \"ssg\" || value.layoutRenderMode === \"ssr\"))) return /* @__PURE__ */ jsx(\"div\", { \"data-one-spa-content\": \"\" });\n\t\t}\n\t\tconst res = fromImport(value.loadRoute());\n\t\tconst Component = res.default || EmptyRoute;\n\t\tconst CatchBoundary = res.ErrorBoundary;\n\t\tconst LayoutSuspenseFallback = value.type === \"layout\" ? res.SuspenseFallback : void 0;\n\t\tconst match = matches.find((match2) => match2.routeId === value.contextKey) || (!value.children?.length ? matches[matches.length - 1] : void 0);\n\t\tconst loaderDataProps = match && \"loaderData\" in match ? { loaderData: match.loaderData } : {};\n\t\tif (process.env.NODE_ENV === \"development\" && process.env.DEBUG === \"one\") {\n\t\t\tconsole.groupCollapsed(`Render ${props.key} ${props.segment}`);\n\t\t\tconsole.info(`value`, value);\n\t\t\tconsole.info(`Component`, Component);\n\t\t\tconsole.groupEnd();\n\t\t}\n\t\tconst slotProps = {};\n\t\tif (value.slots && value.slots.size > 0) for (const [slotName] of value.slots) slotProps[slotName] = /* @__PURE__ */ jsx(NamedSlot, {\n\t\t\tname: slotName,\n\t\t\tlayoutContextKey: value.contextKey\n\t\t});\n\t\tlet rendered;\n\t\tif (props.segment === \"\") rendered = /* @__PURE__ */ jsx(RootLayoutRenderer, {\n\t\t\tLayoutComponent: Component,\n\t\t\tlayoutProps: {\n\t\t\t\t...props,\n\t\t\t\t...slotProps,\n\t\t\t\t...loaderDataProps\n\t\t\t},\n\t\t\tforwardedRef: ref\n\t\t});\n\t\telse {\n\t\t\tconst page = /* @__PURE__ */ jsx(Component, {\n\t\t\t\t...props,\n\t\t\t\t...slotProps,\n\t\t\t\t...loaderDataProps,\n\t\t\t\tref\n\t\t\t});\n\t\t\trendered = /* @__PURE__ */ jsx(RouteErrorBoundary, {\n\t\t\t\trouteName: value.route,\n\t\t\t\tchildren: CatchBoundary ? /* @__PURE__ */ jsx(Try, {\n\t\t\t\t\tcatch: CatchBoundary,\n\t\t\t\t\tchildren: page\n\t\t\t\t}) : page\n\t\t\t});\n\t\t}\n\t\tif (value.type !== \"layout\") return rendered;\n\t\tconst providedSuspenseFallback = LayoutSuspenseFallback ?? InheritedSuspenseFallback;\n\t\treturn /* @__PURE__ */ jsx(SuspenseFallbackContext.Provider, {\n\t\t\tvalue: providedSuspenseFallback,\n\t\t\tchildren: LayoutSuspenseFallback ? wrapSuspense(rendered, LayoutSuspenseFallback) : rendered\n\t\t});\n\t});\n\tconst wrapSuspense = (children, SuspenseFallback) => {\n\t\tconst fallback = /* @__PURE__ */ jsx(RouteSuspenseFallback, {\n\t\t\tcomponent: SuspenseFallback,\n\t\t\troute: value.contextKey\n\t\t});\n\t\tif (process.env.ONE_SUSPEND_ROUTES === \"1\" && globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__ !== true) return /* @__PURE__ */ jsx(Suspense, {\n\t\t\tfallback,\n\t\t\tchildren\n\t\t});\n\t\treturn children;\n\t};\n\tconst QualifiedRoute = React.forwardRef(({ route, navigation, ...props }, ref) => {\n\t\tconst InheritedSuspenseFallback = useContext(SuspenseFallbackContext);\n\t\treturn /* @__PURE__ */ jsx(Route, {\n\t\t\troute,\n\t\t\tnode: value,\n\t\t\tchildren: /* @__PURE__ */ jsx(Fragment, { children: wrapSuspense(/* @__PURE__ */ jsx(ScreenComponent, {\n\t\t\t\t...props,\n\t\t\t\tref,\n\t\t\t\tsegment: value.route\n\t\t\t}), InheritedSuspenseFallback) })\n\t\t});\n\t});\n\tQualifiedRoute.displayName = `Route(${value.route})`;\n\tconst Memoized = memo(QualifiedRoute);\n\tqualifiedStore.set(value, Memoized);\n\treturn Memoized;\n}\nfunction createGetIdForRoute(route) {\n\tconst include = /* @__PURE__ */ new Map();\n\tif (route.dynamic) for (const segment of route.dynamic) include.set(segment.name, segment);\n\treturn ({ params = {} } = {}) => {\n\t\tconst segments = [];\n\t\tfor (const dynamic of include.values()) {\n\t\t\tconst value = params?.[dynamic.name];\n\t\t\tif (Array.isArray(value) && value.length > 0) segments.push(value.join(\"/\"));\n\t\t\telse if (value && !Array.isArray(value)) segments.push(value);\n\t\t\telse if (dynamic.deep) segments.push(`[...${dynamic.name}]`);\n\t\t\telse segments.push(`[${dynamic.name}]`);\n\t\t}\n\t\treturn segments.join(\"/\") ?? route.contextKey;\n\t};\n}\nfunction routeToScreen(route, { options, ...props } = {}) {\n\treturn /* @__PURE__ */ createElement(Screen, {\n\t\tgetId: createGetIdForRoute(route),\n\t\t...props,\n\t\tname: route.route,\n\t\tkey: route.route,\n\t\toptions: (args) => {\n\t\t\tconst staticOptions = route.generated ? route.loadRoute()?.getNavOptions : null;\n\t\t\tconst staticResult = typeof staticOptions === \"function\" ? staticOptions(args) : staticOptions;\n\t\t\tconst dynamicResult = typeof options === \"function\" ? options?.(args) : options;\n\t\t\tconst output = {\n\t\t\t\t...staticResult,\n\t\t\t\t...dynamicResult\n\t\t\t};\n\t\t\tif (route.generated) {\n\t\t\t\toutput.tabBarButton = () => null;\n\t\t\t\toutput.drawerItemStyle = {\n\t\t\t\t\theight: 0,\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn output;\n\t\t},\n\t\tgetComponent: () => {\n\t\t\treturn getQualifiedRouteComponent(route);\n\t\t}\n\t});\n}\nconst ROUTE_ERROR_BOUNDARY_INITIAL_STATE = {\n\thasError: false,\n\terror: null,\n\terrorInfo: null\n};\nvar RouteErrorBoundary = class extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = ROUTE_ERROR_BOUNDARY_INITIAL_STATE;\n\t}\n\tstatic getDerivedStateFromError(error) {\n\t\treturn {\n\t\t\thasError: true,\n\t\t\terror\n\t\t};\n\t}\n\tcomponentDidCatch(error, errorInfo) {\n\t\tconsole.error(`Error occurred while running route \"${this.props.routeName}\": ${error instanceof Error ? error.message : error}\n\n${error.stack}\n\nComponent Stack:\n${errorInfo.componentStack}`);\n\t\tthis.setState({ errorInfo });\n\t\tif (process.env.NODE_ENV === \"production\" && process.env.ONE_SKEW_PROTECTION !== \"false\") if (isChunkLoadError(error)) handleSkewError();\n\t\telse checkSkewAndReload();\n\t}\n\tclearError() {\n\t\tthis.setState(ROUTE_ERROR_BOUNDARY_INITIAL_STATE);\n\t}\n\trender() {\n\t\tif (this.state.hasError) {\n\t\t\tconst { error, errorInfo } = this.state;\n\t\t\treturn /* @__PURE__ */ jsx(RouteErrorView, {\n\t\t\t\trouteName: this.props.routeName,\n\t\t\t\terror,\n\t\t\t\terrorInfo,\n\t\t\t\tonRetry: this.clearError.bind(this)\n\t\t\t});\n\t\t}\n\t\treturn this.props.children;\n\t}\n};\n\nexport { Group, Screen, createGetIdForRoute, getQualifiedRouteComponent, useSortedScreens };"],"mappings":"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","ignoreList":[]}
@@ -202,27 +202,17 @@ function fromImport(param) {
202
202
  SuspenseFallback,
203
203
  ...component
204
204
  } = param;
205
- if (ErrorBoundary) return {
206
- default: /* @__PURE__ */React.forwardRef(function (props, ref) {
207
- return /* @__PURE__ */jsx(Try, {
208
- catch: ErrorBoundary,
209
- children: /* @__PURE__ */React.createElement(getPageExport(component) || EmptyRoute, {
210
- ...props,
211
- ref
212
- })
213
- });
214
- }),
215
- SuspenseFallback
216
- };
217
205
  if (process.env.NODE_ENV !== "production") {
218
206
  var exported = getPageExport(component);
219
207
  if (exported && (typeof exported === "undefined" ? "undefined" : _type_of(exported)) === "object" && Object.keys(exported).length === 0) return {
220
208
  default: EmptyRoute,
209
+ ErrorBoundary,
221
210
  SuspenseFallback
222
211
  };
223
212
  }
224
213
  return {
225
214
  default: getPageExport(component),
215
+ ErrorBoundary,
226
216
  SuspenseFallback
227
217
  };
228
218
  }
@@ -262,7 +252,8 @@ function getQualifiedRouteComponent(value) {
262
252
  });
263
253
  }
264
254
  var res = fromImport(value.loadRoute());
265
- var Component = getPageExport(res);
255
+ var Component = res.default || EmptyRoute;
256
+ var CatchBoundary = res.ErrorBoundary;
266
257
  var LayoutSuspenseFallback = value.type === "layout" ? res.SuspenseFallback : void 0;
267
258
  var match = matches.find(function (match2) {
268
259
  return match2.routeId === value.contextKey;
@@ -309,15 +300,21 @@ function getQualifiedRouteComponent(value) {
309
300
  ...loaderDataProps
310
301
  },
311
302
  forwardedRef: ref
312
- });else rendered = /* @__PURE__ */jsx(RouteErrorBoundary, {
313
- routeName: value.route,
314
- children: /* @__PURE__ */jsx(Component, {
303
+ });else {
304
+ var page = /* @__PURE__ */jsx(Component, {
315
305
  ...props,
316
306
  ...slotProps,
317
307
  ...loaderDataProps,
318
308
  ref
319
- })
320
- });
309
+ });
310
+ rendered = /* @__PURE__ */jsx(RouteErrorBoundary, {
311
+ routeName: value.route,
312
+ children: CatchBoundary ? /* @__PURE__ */jsx(Try, {
313
+ catch: CatchBoundary,
314
+ children: page
315
+ }) : page
316
+ });
317
+ }
321
318
  if (value.type !== "layout") return rendered;
322
319
  var providedSuspenseFallback = LayoutSuspenseFallback !== null && LayoutSuspenseFallback !== void 0 ? LayoutSuspenseFallback : InheritedSuspenseFallback;
323
320
  return /* @__PURE__ */jsx(SuspenseFallbackContext.Provider, {