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.
- package/dist/cjs/router/getNormalizedStatePath.cjs +2 -1
- package/dist/cjs/router/getNormalizedStatePath.native.js +2 -1
- package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/cjs/router/getRouteInfo.cjs +6 -2
- package/dist/cjs/router/getRouteInfo.native.js +6 -2
- package/dist/cjs/router/getRouteInfo.native.js.map +1 -1
- package/dist/cjs/router/getRouteInfo.test.cjs +35 -0
- package/dist/cjs/router/getRouteInfo.test.native.js +42 -0
- package/dist/cjs/router/getRouteInfo.test.native.js.map +1 -0
- package/dist/cjs/router/path.cjs +1 -0
- package/dist/cjs/router/path.native.js +1 -0
- package/dist/cjs/router/path.native.js.map +1 -1
- package/dist/cjs/router/routeHmr.native.js +2 -5
- package/dist/cjs/router/routeHmr.native.js.map +1 -1
- package/dist/cjs/router/routeHmr.native.test.cjs +23 -9
- package/dist/cjs/router/routeHmr.native.test.native.js +27 -9
- package/dist/cjs/router/routeHmr.native.test.native.js.map +1 -1
- package/dist/cjs/router/useScreens.cjs +15 -19
- package/dist/cjs/router/useScreens.native.js +15 -19
- package/dist/cjs/router/useScreens.native.js.map +1 -1
- package/dist/cjs/router/useScreens.test.cjs +78 -0
- package/dist/cjs/router/useScreens.test.native.js +88 -1
- package/dist/cjs/router/useScreens.test.native.js.map +1 -1
- package/dist/cjs/router/useViteRoutes.cjs +3 -2
- package/dist/cjs/router/useViteRoutes.native.js +3 -2
- package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
- package/dist/cjs/useFocusEffect.cjs +7 -1
- package/dist/cjs/useFocusEffect.native.js +9 -4
- package/dist/cjs/useFocusEffect.native.js.map +1 -1
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +7 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +7 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.cjs +15 -0
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js +16 -0
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -1
- package/dist/esm/router/getNormalizedStatePath.mjs +2 -1
- package/dist/esm/router/getNormalizedStatePath.mjs.map +1 -1
- package/dist/esm/router/getNormalizedStatePath.native.js +2 -1
- package/dist/esm/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/esm/router/getRouteInfo.mjs +5 -2
- package/dist/esm/router/getRouteInfo.mjs.map +1 -1
- package/dist/esm/router/getRouteInfo.native.js +5 -2
- package/dist/esm/router/getRouteInfo.native.js.map +1 -1
- package/dist/esm/router/getRouteInfo.test.mjs +36 -0
- package/dist/esm/router/getRouteInfo.test.mjs.map +1 -0
- package/dist/esm/router/getRouteInfo.test.native.js +40 -0
- package/dist/esm/router/getRouteInfo.test.native.js.map +1 -0
- package/dist/esm/router/path.mjs +1 -1
- package/dist/esm/router/path.mjs.map +1 -1
- package/dist/esm/router/path.native.js +1 -1
- package/dist/esm/router/path.native.js.map +1 -1
- package/dist/esm/router/routeHmr.native.js +2 -5
- package/dist/esm/router/routeHmr.native.js.map +1 -1
- package/dist/esm/router/routeHmr.native.test.js +21 -11
- package/dist/esm/router/routeHmr.native.test.js.map +1 -1
- package/dist/esm/router/routeHmr.native.test.mjs +23 -9
- package/dist/esm/router/routeHmr.native.test.mjs.map +1 -1
- package/dist/esm/router/routeHmr.native.test.native.js +27 -9
- package/dist/esm/router/routeHmr.native.test.native.js.map +1 -1
- package/dist/esm/router/useScreens.mjs +15 -18
- package/dist/esm/router/useScreens.mjs.map +1 -1
- package/dist/esm/router/useScreens.native.js +15 -18
- package/dist/esm/router/useScreens.native.js.map +1 -1
- package/dist/esm/router/useScreens.test.mjs +76 -0
- package/dist/esm/router/useScreens.test.mjs.map +1 -1
- package/dist/esm/router/useScreens.test.native.js +86 -0
- package/dist/esm/router/useScreens.test.native.js.map +1 -1
- package/dist/esm/router/useViteRoutes.mjs +3 -2
- package/dist/esm/router/useViteRoutes.mjs.map +1 -1
- package/dist/esm/router/useViteRoutes.native.js +3 -2
- package/dist/esm/router/useViteRoutes.native.js.map +1 -1
- package/dist/esm/useFocusEffect.mjs +8 -2
- package/dist/esm/useFocusEffect.mjs.map +1 -1
- package/dist/esm/useFocusEffect.native.js +10 -5
- package/dist/esm/useFocusEffect.native.js.map +1 -1
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +7 -2
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +7 -2
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs +16 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js +17 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -1
- package/package.json +11 -11
- package/src/router/getNormalizedStatePath.tsx +2 -1
- package/src/router/getRouteInfo.test.ts +33 -0
- package/src/router/getRouteInfo.ts +5 -2
- package/src/router/path.ts +1 -1
- package/src/router/routeHmr.native.test.ts +23 -11
- package/src/router/routeHmr.native.ts +6 -4
- package/src/router/useScreens.test.tsx +72 -0
- package/src/router/useScreens.tsx +11 -19
- package/src/router/useViteRoutes.tsx +3 -2
- package/src/useFocusEffect.ts +14 -4
- package/src/vite/one.ts +3 -1
- package/src/vite/plugins/sourceInspectorPlugin.test.ts +37 -1
- package/src/vite/plugins/sourceInspectorPlugin.ts +24 -3
- package/types/router/getNormalizedStatePath.d.ts.map +1 -1
- package/types/router/getRouteInfo.d.ts +5 -0
- package/types/router/getRouteInfo.d.ts.map +1 -1
- package/types/router/getRouteInfo.test.d.ts +2 -0
- package/types/router/getRouteInfo.test.d.ts.map +1 -0
- package/types/router/path.d.ts +1 -0
- package/types/router/path.d.ts.map +1 -1
- package/types/router/routeHmr.native.d.ts.map +1 -1
- package/types/router/useScreens.d.ts.map +1 -1
- package/types/router/useViteRoutes.d.ts.map +1 -1
- package/types/useFocusEffect.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/sourceInspectorPlugin.d.ts +9 -0
- 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("
|
|
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
|
|
25
|
-
expect(listener).
|
|
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("
|
|
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
|
-
|
|
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,
|
|
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("
|
|
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
|
|
25
|
-
expect(listener).
|
|
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("
|
|
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(
|
|
56
|
-
expect(
|
|
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","
|
|
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":"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","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("
|
|
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
|
|
30
|
-
expect(listener).
|
|
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("
|
|
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(
|
|
65
|
-
expect(
|
|
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","
|
|
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 =
|
|
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
|
|
289
|
-
|
|
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":"AAAA,SAASA,sBAAsB,QAAQ,wBAAwB;AAC/D,OAAOC,KAAK,IAAIC,QAAQ,EAAEC,aAAa,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC7F,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,mBAAmB,QAAQ,mCAA+B;AACnE,SAASC,kBAAkB,QAAQ,uBAAmB;AACtD,SAASC,wBAAwB,QAAQ,mBAAe;AACxD,SAASC,eAAe,EAAEC,gBAAgB,QAAQ,4BAAwB;AAC1E,SAASC,aAAa,QAAQ,4BAAwB;AACtD,SAASC,UAAU,QAAQ,yBAAqB;AAChD,SAASC,SAAS,QAAQ,wBAAoB;AAC9C,SAASC,cAAc,QAAQ,6BAAyB;AACxD,SAASC,GAAG,QAAQ,kBAAc;AAClC,SAASC,OAAO,QAAQ,qBAAiB;AACzC,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,6BAAyB;AAC5E,SAASC,cAAc,QAAQ,sBAAkB;AACjD,SAASC,KAAK,EAAEC,kBAAkB,EAAEC,uBAAuB,EAAEC,YAAY,QAAQ,aAAS;AAC1F,SAASC,eAAe,QAAQ,uBAAmB;AACnD,SAASC,qBAAqB,QAAQ,kBAAc;AACpD,SAASC,QAAQ,EAAEC,GAAG,EAAEC,IAAI,QAAQ,mBAAmB;AAEvD,SAASC,cAAcA,CAACC,QAAQ,EAAE;EACjC,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;IAC3C,IAAI,CAACH,QAAQ,EAAE,OAAO,KAAK;IAC3B,MAAMI,YAAY,GAAIC,KAAK,IAAK;MAC/B,IAAI,CAACrC,KAAK,CAACsC,cAAc,CAACD,KAAK,CAAC,EAAE,OAAO,KAAK;MAC9C,IAAIA,KAAK,CAACE,IAAI,KAAK,MAAM,EAAE;QAC1B,MAAMC,KAAK,GAAGH,KAAK,CAACG,KAAK;QACzB,IAAI,SAAS,IAAIA,KAAK,IAAI,SAAS,IAAIA,KAAK,EAAE,OAAO,IAAI;MAC1D;MACA,MAAMC,UAAU,GAAGJ,KAAK,CAACG,KAAK;MAC9B,IAAIC,UAAU,CAACT,QAAQ,EAAE,OAAOD,cAAc,CAACU,UAAU,CAACT,QAAQ,CAAC;MACnE,OAAO,KAAK;IACb,CAAC;IACD,IAAIU,KAAK,CAACC,OAAO,CAACX,QAAQ,CAAC,EAAE,OAAOA,QAAQ,CAACY,IAAI,CAACR,YAAY,CAAC;IAC/D,OAAOA,YAAY,CAACJ,QAAQ,CAAC;EAC9B;EACA,OAAO,IAAI;AACZ;AACA,MAAM;EAAEa,MAAM;EAAEC;AAAM,CAAC,GAAG/C,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,MAAMgD,uBAAuB,GAAG,OAAOC,QAAQ,KAAK,WAAW,IAAI,OAAOA,QAAQ,CAACC,gBAAgB,KAAK,UAAU,GAAG,CAAC,MAAM;EAC3H,MAAMC,QAAQ,GAAG,EAAE;EACnBF,QAAQ,CAACC,gBAAgB,CAAC,mEAAmE,CAAC,CAACE,OAAO,CAAC,CAACC,EAAE,EAAEC,CAAC,KAAK;IACjH,IAAID,EAAE,CAACE,OAAO,KAAK,OAAO,EAAEJ,QAAQ,CAACK,IAAI,CAAC,eAAgB1B,GAAG,CAAC,OAAO,EAAE;MACtE2B,EAAE,EAAEJ,EAAE,CAACI,EAAE;MACTC,uBAAuB,EAAE;QAAEC,MAAM,EAAEN,EAAE,CAACO;MAAU;IACjD,CAAC,EAAE,cAAcN,CAAC,EAAE,CAAC,CAAC,CAAC,KAClB;MACJ,MAAMO,IAAI,GAAGR,EAAE,CAACS,YAAY,CAAC,MAAM,CAAC;MACpCX,QAAQ,CAACK,IAAI,CAAC,eAAgB1B,GAAG,CAAC,MAAM,EAAE;QACzCiC,GAAG,EAAE,YAAY;QACjBF,IAAI;QACJ,cAAc,EAAE;MACjB,CAAC,EAAEA,IAAI,CAAC,CAAC;IACV;EACD,CAAC,CAAC;EACF,OAAOV,QAAQ;AAChB,CAAC,EAAE,CAAC,GAAG,EAAE;AACT,MAAMa,gBAAgB,GAAG;EACxBC,KAAK,EAAE;IACNC,CAAC,EAAE,CAAC;IACJC,CAAC,EAAE,CAAC;IACJC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACT,CAAC;EACDC,MAAM,EAAE;IACPC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACT;AACD,CAAC;AACD,SAASC,kBAAkBA,CAAC;EAAEC,eAAe;EAAEC,WAAW;EAAEC;AAAa,CAAC,EAAE;EAC3E,IAAI5C,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,IAAI,EAAE;IACnD,MAAM,GAAG2C,SAAS,CAAC,GAAGxE,QAAQ,CAAC,CAAC,CAAC;IACjCD,SAAS,CAAC,MAAM;MACf,MAAM0E,OAAO,GAAGA,CAAA,KAAMD,SAAS,CAAEE,CAAC,IAAKA,CAAC,GAAG,CAAC,CAAC;MAC7CC,MAAM,CAACC,gBAAgB,CAAC,gBAAgB,EAAEH,OAAO,CAAC;MAClD,OAAO,MAAME,MAAM,CAACE,mBAAmB,CAAC,gBAAgB,EAAEJ,OAAO,CAAC;IACnE,CAAC,EAAE,EAAE,CAAC;EACP;EACA,MAAM;IAAE/C,QAAQ;IAAEoD,SAAS;IAAEC,IAAI;IAAEC;EAAU,CAAC,GAAGjE,cAAc,CAACsD,eAAe,CAACC,WAAW,EAAEC,YAAY,CAAC,CAAC;EAC3G,MAAM;IAAE7C,QAAQ,EAAEuD,YAAY;IAAE,GAAGC;EAAU,CAAC,GAAGH,IAAI,EAAE7C,KAAK,IAAI,CAAC,CAAC;EAClE,MAAMiD,aAAa,GAAGrE,gBAAgB,CAAC,CAAC;EACxC,IAAIsE,aAAa,GAAG1D,QAAQ;EAC5B,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;IAC3C,IAAI,CAACJ,cAAc,CAACwD,YAAY,CAAC,EAAEI,OAAO,CAACC,IAAI,CAAC,yLAAyL,CAAC;EAC3O;EACAF,aAAa,GAAG,eAAgB5D,IAAI,CAACF,QAAQ,EAAE;IAAEI,QAAQ,EAAE,CAAC,eAAgBF,IAAI,CAAC,MAAM,EAAE;MACxF,GAAG0D,SAAS;MACZxD,QAAQ,EAAE,CACT,eAAgBH,GAAG,CAACX,OAAO,EAAE,CAAC,CAAC,CAAC,EAChC,eAAgBW,GAAG,CAAC,QAAQ,EAAE;QAAE4B,uBAAuB,EAAE;UAAEC,MAAM,EAAE;QAAoC;MAAE,CAAC,CAAC,EAC3G+B,aAAa,EAAEI,WAAW,EAAEC,MAAM,IAAIL,aAAa,EAAEM,cAAc,GAAGN,aAAa,EAAEI,WAAW,GAAGJ,aAAa,CAACI,WAAW,CAACG,GAAG,CAAC,CAACC,OAAO,EAAE5C,CAAC,KAAK4C,OAAO,GAAG,eAAgBpE,GAAG,CAAC,OAAO,EAAE;QACvL2B,EAAE,EAAE,aAAaH,CAAC,EAAE;QACpBI,uBAAuB,EAAE;UAAEC,MAAM,EAAEuC;QAAQ;MAC5C,CAAC,EAAE,cAAc5C,CAAC,EAAE,CAAC,GAAGoC,aAAa,CAACS,GAAG,GAAG7C,CAAC,CAAC,GAAG,eAAgBxB,GAAG,CAAC,MAAM,EAAE;QAC5EiC,GAAG,EAAE,YAAY;QACjBF,IAAI,EAAE6B,aAAa,CAACS,GAAG,CAAC7C,CAAC;MAC1B,CAAC,EAAEoC,aAAa,CAACS,GAAG,CAAC7C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAGN,uBAAuB,GAAG0C,aAAa,EAAES,GAAG,EAAEF,GAAG,CAAEG,IAAI,IAAK,eAAgBtE,GAAG,CAAC,MAAM,EAAE;QAC1HiC,GAAG,EAAE,YAAY;QACjBF,IAAI,EAAEuC;MACP,CAAC,EAAEA,IAAI,CAAC,CAAC,EACT,eAAgBtE,GAAG,CAACrB,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAC5C+E,YAAY;IAEd,CAAC,EAAE,MAAM,CAAC,EAAE,eAAgB1D,GAAG,CAAC,MAAM,EAAE;MACvCuE,wBAAwB,EAAE,IAAI;MAC9B,GAAGhB,SAAS;MACZpD,QAAQ,EAAE,eAAgBH,GAAG,CAACtB,gBAAgB,EAAE;QAC/C8F,cAAc,EAAEtC,gBAAgB;QAChC/B,QAAQ,EAAE0D;MACX,CAAC;IACF,CAAC,EAAE,MAAM,CAAC;EAAE,CAAC,CAAC;EACd,OAAO,eAAgB7D,GAAG,CAAC,MAAM,EAAE;IAClCuE,wBAAwB,EAAE,IAAI;IAC9BE,IAAI,EAAE,OAAO;IACb,GAAGhB,SAAS;IACZtD,QAAQ,EAAE0D;EACX,CAAC,CAAC;AACH;AACA,SAASa,iBAAiBA,CAACvE,QAAQ,EAAEwE,KAAK,EAAEC,gBAAgB,EAAEC,OAAO,EAAE;EACtE,IAAI,CAACF,KAAK,EAAEV,MAAM,EAAE,OAAO9D,QAAQ,CAAC2E,IAAI,CAAChF,qBAAqB,CAAC8E,gBAAgB,CAAC,CAAC,CAACT,GAAG,CAAEY,KAAK,KAAM;IACjGA,KAAK;IACLpE,KAAK,EAAE,CAAC;EACT,CAAC,CAAC,CAAC;EACH,MAAMqE,OAAO,GAAG,CAAC,GAAG7E,QAAQ,CAAC;EAC7B,MAAM8E,OAAO,GAAGN,KAAK,CAACR,GAAG,CAAC,CAAC;IAAEe,IAAI;IAAEC,QAAQ;IAAEC,aAAa;IAAEC,SAAS;IAAER,OAAO,EAAES,QAAQ;IAAEC;EAAM,CAAC,KAAK;IACrG,IAAI,CAACP,OAAO,CAACf,MAAM,EAAE;MACpBH,OAAO,CAACC,IAAI,CAAC,uDAAuDmB,IAAI,kBAAkB,CAAC;MAC3F,OAAO,IAAI;IACZ;IACA,MAAMM,UAAU,GAAGR,OAAO,CAACS,SAAS,CAAEjF,KAAK,IAAKA,KAAK,CAACuE,KAAK,KAAKG,IAAI,CAAC;IACrE,IAAIM,UAAU,KAAK,CAAC,CAAC,EAAE;MACtB1B,OAAO,CAACC,IAAI,CAAC,sCAAsCmB,IAAI,8BAA8B,EAAE/E,QAAQ,CAACgE,GAAG,CAAC,CAAC;QAAEY;MAAM,CAAC,KAAKA,KAAK,CAAC,CAAC;MAC1H,OAAO,IAAI;IACZ;IACA,MAAMW,KAAK,GAAGV,OAAO,CAACQ,UAAU,CAAC;IACjCR,OAAO,CAACW,MAAM,CAACH,UAAU,EAAE,CAAC,CAAC;IAC7B,IAAIL,QAAQ,EAAE;MACb,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE,MAAM,IAAIS,KAAK,CAAC,uDAAuD,CAAC;MAC1G,OAAO,IAAI;IACZ;IACA,OAAO;MACNb,KAAK,EAAEW,KAAK;MACZ/E,KAAK,EAAE;QACNyE,aAAa;QACbC,SAAS;QACTR,OAAO,EAAES,QAAQ;QACjBC;MACD;IACD,CAAC;EACF,CAAC,CAAC,CAACM,MAAM,CAACC,OAAO,CAAC;EAClB,IAAI,CAACjB,OAAO,EAAEkB,YAAY,EAAEd,OAAO,CAACvD,IAAI,CAAC,GAAGsD,OAAO,CAACF,IAAI,CAAChF,qBAAqB,CAAC8E,gBAAgB,CAAC,CAAC,CAACT,GAAG,CAAEY,KAAK,KAAM;IACjHA,KAAK;IACLpE,KAAK,EAAE,CAAC;EACT,CAAC,CAAC,CAAC,CAAC;EACJ,OAAOsE,OAAO;AACf;AACA,SAASe,gBAAgBA,CAACrB,KAAK,EAAEE,OAAO,EAAE;EACzC,MAAMoB,IAAI,GAAGrG,YAAY,CAAC,CAAC;EAC3B,OAAOzB,KAAK,CAAC+H,OAAO,CAAC,MAAM;IAC1B,OAAO,CAACD,IAAI,EAAE9F,QAAQ,EAAE8D,MAAM,GAAGS,iBAAiB,CAACuB,IAAI,CAAC9F,QAAQ,EAAEwE,KAAK,EAAEsB,IAAI,CAACrB,gBAAgB,EAAEC,OAAO,CAAC,GAAG,EAAE,EAAEgB,MAAM,CAAEM,KAAK,IAAK;MAChI,MAAMC,SAAS,GAAGD,KAAK,CAACpB,KAAK,CAACA,KAAK;MACnC,MAAMsB,UAAU,GAAGD,SAAS,CAACE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;MACpD,OAAO,EAAEzB,OAAO,EAAE0B,gBAAgB,EAAEC,GAAG,CAACJ,SAAS,CAAC,IAAIvB,OAAO,EAAE0B,gBAAgB,EAAEC,GAAG,CAACH,UAAU,CAAC,CAAC;IAClG,CAAC,CAAC,CAAClC,GAAG,CAAEgC,KAAK,IAAKM,aAAa,CAACN,KAAK,CAACpB,KAAK,EAAEoB,KAAK,CAACxF,KAAK,CAAC,CAAC;EAC3D,CAAC,EAAE,CACFsF,IAAI,EAAE9F,QAAQ,EACd8F,IAAI,EAAErB,gBAAgB,EACtBD,KAAK,EACLE,OAAO,EAAE0B,gBAAgB,CACzB,CAAC;AACH;AACA,SAASG,UAAUA,CAAC;EAAEC,aAAa;EAAEC,gBAAgB;EAAE,GAAGC;AAAU,CAAC,EAAE;EACtE,IAAIzG,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IAC1C,MAAMwG,QAAQ,GAAG9H,aAAa,CAAC6H,SAAS,CAAC;IACzC,IAAIC,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIC,MAAM,CAACC,IAAI,CAACF,QAAQ,CAAC,CAAC7C,MAAM,KAAK,CAAC,EAAE,OAAO;MAC1FgD,OAAO,EAAEhI,UAAU;MACnB0H,aAAa;MACbC;IACD,CAAC;EACF;EACA,OAAO;IACNK,OAAO,EAAEjI,aAAa,CAAC6H,SAAS,CAAC;IACjCF,aAAa;IACbC;EACD,CAAC;AACF;AACA,SAASM,qBAAqBA,CAAC;EAAEL,SAAS,EAAEM,SAAS;EAAEpC;AAAM,CAAC,EAAE;EAC/D,MAAMqC,MAAM,GAAG7I,UAAU,CAACmB,kBAAkB,CAAC;EAC7C,OAAOyH,SAAS,GAAG,eAAgBnH,GAAG,CAACmH,SAAS,EAAE;IACjDpC,KAAK;IACLqC,MAAM,EAAEA,MAAM,IAAI,CAAC;EACpB,CAAC,CAAC,GAAG,IAAI;AACV;AACA,MAAMC,cAAc,GAAG,eAAgB,IAAIC,OAAO,CAAC,CAAC;AACpD,SAASC,uBAAuBA,CAAA,EAAG;EAClC,MAAMC,aAAa,GAAGlI,gBAAgB,CAAC,CAAC,EAAEmI,OAAO,IAAI,EAAE;EACvD,IAAIrH,OAAO,CAACC,GAAG,CAACqH,gBAAgB,KAAK,KAAK,EAAE,OAAOF,aAAa;EAChE,MAAMG,aAAa,GAAG9I,wBAAwB,CAAC,CAAC;EAChD,OAAO8I,aAAa,CAAC1D,MAAM,GAAG0D,aAAa,GAAGH,aAAa;AAC5D;AACA,SAASI,0BAA0BA,CAACzB,KAAK,EAAE;EAC1C,IAAIA,KAAK,IAAIkB,cAAc,CAACb,GAAG,CAACL,KAAK,CAAC,EAAE,OAAOkB,cAAc,CAACQ,GAAG,CAAC1B,KAAK,CAAC;EACxE,MAAM2B,eAAe,GAAG3J,KAAK,CAAC4J,UAAU,CAAC,CAACpH,KAAK,EAAEqH,GAAG,KAAK;IACxD,IAAI5H,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,IAAI,EAAE;MACnD,MAAM,GAAG2C,SAAS,CAAC,GAAGxE,QAAQ,CAAC,CAAC,CAAC;MACjCD,SAAS,CAAC,MAAM;QACf,MAAM0E,OAAO,GAAGA,CAAA,KAAMD,SAAS,CAAEE,CAAC,IAAKA,CAAC,GAAG,CAAC,CAAC;QAC7CC,MAAM,CAACC,gBAAgB,CAAC,gBAAgB,EAAEH,OAAO,CAAC;QAClD,OAAO,MAAME,MAAM,CAACE,mBAAmB,CAAC,gBAAgB,EAAEJ,OAAO,CAAC;MACnE,CAAC,EAAE,EAAE,CAAC;IACP;IACA,IAAI9C,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,KAAK,EAAC;IACpD,MAAM2H,UAAU,GAAG1J,UAAU,CAACsB,eAAe,CAAC;IAC9C,MAAMqI,yBAAyB,GAAG3J,UAAU,CAACoB,uBAAuB,CAAC;IACrE,MAAM8H,OAAO,GAAGF,uBAAuB,CAAC,CAAC;IACzC,IAAIU,UAAU,IAAItH,KAAK,CAACwH,OAAO,KAAK,EAAE,EAAE;MACvC,IAAI,EAAEhC,KAAK,CAAChG,QAAQ,EAAE8D,MAAM,KAAKkC,KAAK,CAACiC,gBAAgB,KAAK,KAAK,IAAIjC,KAAK,CAACiC,gBAAgB,KAAK,KAAK,CAAC,CAAC,EAAE,OAAO,eAAgBpI,GAAG,CAAC,KAAK,EAAE;QAAE,sBAAsB,EAAE;MAAG,CAAC,CAAC;IAC3K;IACA,MAAMqI,GAAG,GAAG3B,UAAU,CAACP,KAAK,CAACmC,SAAS,CAAC,CAAC,CAAC;IACzC,MAAMnB,SAAS,GAAGkB,GAAG,CAACpB,OAAO,IAAIhI,UAAU;IAC3C,MAAMsJ,aAAa,GAAGF,GAAG,CAAC1B,aAAa;IACvC,MAAM6B,sBAAsB,GAAGrC,KAAK,CAACzF,IAAI,KAAK,QAAQ,GAAG2H,GAAG,CAACzB,gBAAgB,GAAG,KAAK,CAAC;IACtF,MAAMlB,KAAK,GAAG+B,OAAO,CAACgB,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,OAAO,KAAKxC,KAAK,CAACyC,UAAU,CAAC,KAAK,CAACzC,KAAK,CAAChG,QAAQ,EAAE8D,MAAM,GAAGwD,OAAO,CAACA,OAAO,CAACxD,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/I,MAAM4E,eAAe,GAAGnD,KAAK,IAAI,YAAY,IAAIA,KAAK,GAAG;MAAEoD,UAAU,EAAEpD,KAAK,CAACoD;IAAW,CAAC,GAAG,CAAC,CAAC;IAC9F,IAAI1I,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAIF,OAAO,CAACC,GAAG,CAAC0I,KAAK,KAAK,KAAK,EAAE;MAC1EjF,OAAO,CAACkF,cAAc,CAAC,UAAUrI,KAAK,CAACsI,GAAG,IAAItI,KAAK,CAACwH,OAAO,EAAE,CAAC;MAC9DrE,OAAO,CAACoF,IAAI,CAAC,OAAO,EAAE/C,KAAK,CAAC;MAC5BrC,OAAO,CAACoF,IAAI,CAAC,WAAW,EAAE/B,SAAS,CAAC;MACpCrD,OAAO,CAACqF,QAAQ,CAAC,CAAC;IACnB;IACA,MAAMC,SAAS,GAAG,CAAC,CAAC;IACpB,IAAIjD,KAAK,CAACkD,KAAK,IAAIlD,KAAK,CAACkD,KAAK,CAACC,IAAI,GAAG,CAAC,EAAE,KAAK,MAAM,CAACC,QAAQ,CAAC,IAAIpD,KAAK,CAACkD,KAAK,EAAED,SAAS,CAACG,QAAQ,CAAC,GAAG,eAAgBvJ,GAAG,CAACd,SAAS,EAAE;MACnIgG,IAAI,EAAEqE,QAAQ;MACdC,gBAAgB,EAAErD,KAAK,CAACyC;IACzB,CAAC,CAAC;IACF,IAAIa,QAAQ;IACZ,IAAI9I,KAAK,CAACwH,OAAO,KAAK,EAAE,EAAEsB,QAAQ,GAAG,eAAgBzJ,GAAG,CAAC6C,kBAAkB,EAAE;MAC5EC,eAAe,EAAEqE,SAAS;MAC1BpE,WAAW,EAAE;QACZ,GAAGpC,KAAK;QACR,GAAGyI,SAAS;QACZ,GAAGP;MACJ,CAAC;MACD7F,YAAY,EAAEgF;IACf,CAAC,CAAC,CAAC,KACE;MACJ,MAAM0B,IAAI,GAAG,eAAgB1J,GAAG,CAACmH,SAAS,EAAE;QAC3C,GAAGxG,KAAK;QACR,GAAGyI,SAAS;QACZ,GAAGP,eAAe;QAClBb;MACD,CAAC,CAAC;MACFyB,QAAQ,GAAG,eAAgBzJ,GAAG,CAAC2J,kBAAkB,EAAE;QAClDvD,SAAS,EAAED,KAAK,CAACpB,KAAK;QACtB5E,QAAQ,EAAEoI,aAAa,GAAG,eAAgBvI,GAAG,CAACZ,GAAG,EAAE;UAClDwK,KAAK,EAAErB,aAAa;UACpBpI,QAAQ,EAAEuJ;QACX,CAAC,CAAC,GAAGA;MACN,CAAC,CAAC;IACH;IACA,IAAIvD,KAAK,CAACzF,IAAI,KAAK,QAAQ,EAAE,OAAO+I,QAAQ;IAC5C,MAAMI,wBAAwB,GAAGrB,sBAAsB,IAAIN,yBAAyB;IACpF,OAAO,eAAgBlI,GAAG,CAACL,uBAAuB,CAACmK,QAAQ,EAAE;MAC5D3D,KAAK,EAAE0D,wBAAwB;MAC/B1J,QAAQ,EAAEqI,sBAAsB,GAAGuB,YAAY,CAACN,QAAQ,EAAEjB,sBAAsB,CAAC,GAAGiB;IACrF,CAAC,CAAC;EACH,CAAC,CAAC;EACF,MAAMM,YAAY,GAAGA,CAAC5J,QAAQ,EAAEyG,gBAAgB,KAAK;IACpD,MAAMoD,QAAQ,GAAG,eAAgBhK,GAAG,CAACkH,qBAAqB,EAAE;MAC3DL,SAAS,EAAED,gBAAgB;MAC3B7B,KAAK,EAAEoB,KAAK,CAACyC;IACd,CAAC,CAAC;IACF,IAAIxI,OAAO,CAACC,GAAG,CAAC4J,kBAAkB,KAAK,GAAG,IAAIC,UAAU,CAACC,+BAA+B,KAAK,IAAI,EAAE,OAAO,eAAgBnK,GAAG,CAAC5B,QAAQ,EAAE;MACvI4L,QAAQ;MACR7J;IACD,CAAC,CAAC;IACF,OAAOA,QAAQ;EAChB,CAAC;EACD,MAAMiK,cAAc,GAAGjM,KAAK,CAAC4J,UAAU,CAAC,CAAC;IAAEhD,KAAK;IAAEsF,UAAU;IAAE,GAAG1J;EAAM,CAAC,EAAEqH,GAAG,KAAK;IACjF,MAAME,yBAAyB,GAAG3J,UAAU,CAACoB,uBAAuB,CAAC;IACrE,OAAO,eAAgBK,GAAG,CAACP,KAAK,EAAE;MACjCsF,KAAK;MACLkB,IAAI,EAAEE,KAAK;MACXhG,QAAQ,EAAE,eAAgBH,GAAG,CAACD,QAAQ,EAAE;QAAEI,QAAQ,EAAE4J,YAAY,CAAC,eAAgB/J,GAAG,CAAC8H,eAAe,EAAE;UACrG,GAAGnH,KAAK;UACRqH,GAAG;UACHG,OAAO,EAAEhC,KAAK,CAACpB;QAChB,CAAC,CAAC,EAAEmD,yBAAyB;MAAE,CAAC;IACjC,CAAC,CAAC;EACH,CAAC,CAAC;EACFkC,cAAc,CAACE,WAAW,GAAG,SAASnE,KAAK,CAACpB,KAAK,GAAG;EACpD,MAAMwF,QAAQ,GAAGjM,IAAI,CAAC8L,cAAc,CAAC;EACrC/C,cAAc,CAACmD,GAAG,CAACrE,KAAK,EAAEoE,QAAQ,CAAC;EACnC,OAAOA,QAAQ;AAChB;AACA,SAASE,mBAAmBA,CAAC1F,KAAK,EAAE;EACnC,MAAM2F,OAAO,GAAG,eAAgB,IAAIC,GAAG,CAAC,CAAC;EACzC,IAAI5F,KAAK,CAAC6F,OAAO,EAAE,KAAK,MAAMzC,OAAO,IAAIpD,KAAK,CAAC6F,OAAO,EAAEF,OAAO,CAACF,GAAG,CAACrC,OAAO,CAACjD,IAAI,EAAEiD,OAAO,CAAC;EAC1F,OAAO,CAAC;IAAEf,MAAM,GAAG,CAAC;EAAE,CAAC,GAAG,CAAC,CAAC,KAAK;IAChC,MAAMyD,QAAQ,GAAG,EAAE;IACnB,KAAK,MAAMD,OAAO,IAAIF,OAAO,CAACI,MAAM,CAAC,CAAC,EAAE;MACvC,MAAM3E,KAAK,GAAGiB,MAAM,GAAGwD,OAAO,CAAC1F,IAAI,CAAC;MACpC,IAAIrE,KAAK,CAACC,OAAO,CAACqF,KAAK,CAAC,IAAIA,KAAK,CAAClC,MAAM,GAAG,CAAC,EAAE4G,QAAQ,CAACnJ,IAAI,CAACyE,KAAK,CAAC4E,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KACxE,IAAI5E,KAAK,IAAI,CAACtF,KAAK,CAACC,OAAO,CAACqF,KAAK,CAAC,EAAE0E,QAAQ,CAACnJ,IAAI,CAACyE,KAAK,CAAC,CAAC,KACzD,IAAIyE,OAAO,CAACI,IAAI,EAAEH,QAAQ,CAACnJ,IAAI,CAAC,OAAOkJ,OAAO,CAAC1F,IAAI,GAAG,CAAC,CAAC,KACxD2F,QAAQ,CAACnJ,IAAI,CAAC,IAAIkJ,OAAO,CAAC1F,IAAI,GAAG,CAAC;IACxC;IACA,OAAO2F,QAAQ,CAACE,IAAI,CAAC,GAAG,CAAC,IAAIhG,KAAK,CAAC6D,UAAU;EAC9C,CAAC;AACF;AACA,SAASnC,aAAaA,CAAC1B,KAAK,EAAE;EAAEF,OAAO;EAAE,GAAGlE;AAAM,CAAC,GAAG,CAAC,CAAC,EAAE;EACzD,OAAO,eAAgBtC,aAAa,CAAC2C,MAAM,EAAE;IAC5CuE,KAAK,EAAEkF,mBAAmB,CAAC1F,KAAK,CAAC;IACjC,GAAGpE,KAAK;IACRuE,IAAI,EAAEH,KAAK,CAACA,KAAK;IACjBkE,GAAG,EAAElE,KAAK,CAACA,KAAK;IAChBF,OAAO,EAAGoG,IAAI,IAAK;MAClB,MAAMC,aAAa,GAAGnG,KAAK,CAACoG,SAAS,GAAGpG,KAAK,CAACuD,SAAS,CAAC,CAAC,EAAE8C,aAAa,GAAG,IAAI;MAC/E,MAAMC,YAAY,GAAG,OAAOH,aAAa,KAAK,UAAU,GAAGA,aAAa,CAACD,IAAI,CAAC,GAAGC,aAAa;MAC9F,MAAMI,aAAa,GAAG,OAAOzG,OAAO,KAAK,UAAU,GAAGA,OAAO,GAAGoG,IAAI,CAAC,GAAGpG,OAAO;MAC/E,MAAM0G,MAAM,GAAG;QACd,GAAGF,YAAY;QACf,GAAGC;MACJ,CAAC;MACD,IAAIvG,KAAK,CAACoG,SAAS,EAAE;QACpBI,MAAM,CAACC,YAAY,GAAG,MAAM,IAAI;QAChCD,MAAM,CAACE,eAAe,GAAG;UACxBlJ,MAAM,EAAE,CAAC;UACTmJ,OAAO,EAAE;QACV,CAAC;MACF;MACA,OAAOH,MAAM;IACd,CAAC;IACDI,YAAY,EAAEA,CAAA,KAAM;MACnB,OAAO/D,0BAA0B,CAAC7C,KAAK,CAAC;IACzC;EACD,CAAC,CAAC;AACH;AACA,MAAM6G,kCAAkC,GAAG;EAC1CC,QAAQ,EAAE,KAAK;EACfC,KAAK,EAAE,IAAI;EACXC,SAAS,EAAE;AACZ,CAAC;AACD,IAAIpC,kBAAkB,GAAG,cAAcxL,KAAK,CAACgJ,SAAS,CAAC;EACtD6E,WAAWA,CAACrL,KAAK,EAAE;IAClB,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACsL,KAAK,GAAGL,kCAAkC;EAChD;EACA,OAAOM,wBAAwBA,CAACJ,KAAK,EAAE;IACtC,OAAO;MACND,QAAQ,EAAE,IAAI;MACdC;IACD,CAAC;EACF;EACAK,iBAAiBA,CAACL,KAAK,EAAEC,SAAS,EAAE;IACnCjI,OAAO,CAACgI,KAAK,CAAC,uCAAuC,IAAI,CAACnL,KAAK,CAACyF,SAAS,MAAM0F,KAAK,YAAYlG,KAAK,GAAGkG,KAAK,CAACM,OAAO,GAAGN,KAAK;AAC/H;AACA,EAAEA,KAAK,CAACO,KAAK;AACb;AACA;AACA,EAAEN,SAAS,CAACO,cAAc,EAAE,CAAC;IAC3B,IAAI,CAACC,QAAQ,CAAC;MAAER;IAAU,CAAC,CAAC;IAC5B,IAAI3L,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIF,OAAO,CAACC,GAAG,CAACmM,mBAAmB,KAAK,OAAO,EAAE,IAAIzN,gBAAgB,CAAC+M,KAAK,CAAC,EAAEhN,eAAe,CAAC,CAAC,CAAC,KACpIF,kBAAkB,CAAC,CAAC;EAC1B;EACA6N,UAAUA,CAAA,EAAG;IACZ,IAAI,CAACF,QAAQ,CAACX,kCAAkC,CAAC;EAClD;EACAc,MAAMA,CAAA,EAAG;IACR,IAAI,IAAI,CAACT,KAAK,CAACJ,QAAQ,EAAE;MACxB,MAAM;QAAEC,KAAK;QAAEC;MAAU,CAAC,GAAG,IAAI,CAACE,KAAK;MACvC,OAAO,eAAgBjM,GAAG,CAACb,cAAc,EAAE;QAC1CiH,SAAS,EAAE,IAAI,CAACzF,KAAK,CAACyF,SAAS;QAC/B0F,KAAK;QACLC,SAAS;QACTY,OAAO,EAAE,IAAI,CAACF,UAAU,CAACG,IAAI,CAAC,IAAI;MACnC,CAAC,CAAC;IACH;IACA,OAAO,IAAI,CAACjM,KAAK,CAACR,QAAQ;EAC3B;AACD,CAAC;AAED,SAASc,KAAK,EAAED,MAAM,EAAEyJ,mBAAmB,EAAE7C,0BAA0B,EAAE5B,gBAAgB","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 =
|
|
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
|
|
313
|
-
|
|
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, {
|