one 1.24.4 → 1.24.6

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 (59) hide show
  1. package/dist/cjs/createHandleRequest.cjs +2 -1
  2. package/dist/cjs/createHandleRequest.native.js +2 -1
  3. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  4. package/dist/cjs/createHandleRequest.test.cjs +13 -0
  5. package/dist/cjs/createHandleRequest.test.native.js +13 -0
  6. package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
  7. package/dist/cjs/fork/useLinking.cjs +3 -2
  8. package/dist/cjs/router/conditionalSlotPathname.test.cjs +137 -0
  9. package/dist/cjs/router/conditionalSlotPathname.test.native.js +193 -0
  10. package/dist/cjs/router/conditionalSlotPathname.test.native.js.map +1 -0
  11. package/dist/cjs/router/isStateAwaitingNavigatorMount.cjs +48 -0
  12. package/dist/cjs/router/isStateAwaitingNavigatorMount.native.js +71 -0
  13. package/dist/cjs/router/isStateAwaitingNavigatorMount.native.js.map +1 -0
  14. package/dist/cjs/router/router.cjs +5 -0
  15. package/dist/cjs/router/router.native.js +5 -0
  16. package/dist/cjs/router/router.native.js.map +1 -1
  17. package/dist/cjs/views/RootErrorBoundary.cjs +14 -12
  18. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  19. package/dist/esm/createHandleRequest.mjs +2 -1
  20. package/dist/esm/createHandleRequest.mjs.map +1 -1
  21. package/dist/esm/createHandleRequest.native.js +2 -1
  22. package/dist/esm/createHandleRequest.native.js.map +1 -1
  23. package/dist/esm/createHandleRequest.test.mjs +13 -0
  24. package/dist/esm/createHandleRequest.test.mjs.map +1 -1
  25. package/dist/esm/createHandleRequest.test.native.js +13 -0
  26. package/dist/esm/createHandleRequest.test.native.js.map +1 -1
  27. package/dist/esm/fork/useLinking.mjs +4 -3
  28. package/dist/esm/fork/useLinking.mjs.map +1 -1
  29. package/dist/esm/router/conditionalSlotPathname.test.mjs +114 -0
  30. package/dist/esm/router/conditionalSlotPathname.test.mjs.map +1 -0
  31. package/dist/esm/router/conditionalSlotPathname.test.native.js +167 -0
  32. package/dist/esm/router/conditionalSlotPathname.test.native.js.map +1 -0
  33. package/dist/esm/router/isStateAwaitingNavigatorMount.mjs +23 -0
  34. package/dist/esm/router/isStateAwaitingNavigatorMount.mjs.map +1 -0
  35. package/dist/esm/router/isStateAwaitingNavigatorMount.native.js +43 -0
  36. package/dist/esm/router/isStateAwaitingNavigatorMount.native.js.map +1 -0
  37. package/dist/esm/router/router.mjs +5 -0
  38. package/dist/esm/router/router.mjs.map +1 -1
  39. package/dist/esm/router/router.native.js +5 -0
  40. package/dist/esm/router/router.native.js.map +1 -1
  41. package/dist/esm/views/RootErrorBoundary.mjs +14 -12
  42. package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
  43. package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
  44. package/package.json +9 -9
  45. package/src/createHandleRequest.test.ts +17 -0
  46. package/src/createHandleRequest.ts +8 -4
  47. package/src/fork/useLinking.ts +13 -12
  48. package/src/router/conditionalSlotPathname.test.tsx +147 -0
  49. package/src/router/isStateAwaitingNavigatorMount.ts +64 -0
  50. package/src/router/router.ts +13 -0
  51. package/src/views/RootErrorBoundary.web.tsx +18 -13
  52. package/types/createHandleRequest.d.ts.map +1 -1
  53. package/types/fork/useLinking.d.ts.map +1 -1
  54. package/types/router/conditionalSlotPathname.test.d.ts +2 -0
  55. package/types/router/conditionalSlotPathname.test.d.ts.map +1 -0
  56. package/types/router/isStateAwaitingNavigatorMount.d.ts +28 -0
  57. package/types/router/isStateAwaitingNavigatorMount.d.ts.map +1 -0
  58. package/types/router/router.d.ts.map +1 -1
  59. package/types/views/RootErrorBoundary.web.d.ts.map +1 -1
@@ -4,7 +4,8 @@ import isEqual from "fast-deep-equal";
4
4
  import * as React from "react";
5
5
  import { stripGroupSegmentsFromPath } from "../router/matchers.mjs";
6
6
  import { setNavigationType, isReturningFromIntercept, setReturningFromIntercept, restoreInterceptFromHistory } from "../router/interceptRoutes.mjs";
7
- import { consumePendingNavigationAction, rootState as routerRootState } from "../router/router.mjs";
7
+ import { consumePendingNavigationAction, rootState as routerRootState, routeNode } from "../router/router.mjs";
8
+ import { isStateAwaitingNavigatorMount } from "../router/isStateAwaitingNavigatorMount.mjs";
8
9
  import { ServerLocationContext } from "../router/serverLocationContext.mjs";
9
10
  import { clearAllSlotStates } from "../views/Navigator.mjs";
10
11
  import { createMemoryHistory } from "./createMemoryHistory.mjs";
@@ -362,9 +363,9 @@ function useLinking(ref, {
362
363
  }
363
364
  const pendingPath = pendingPopStatePathRef.current;
364
365
  const route = findFocusedRoute(state);
365
- if (route && /^\(.*\)$/.test(route.name)) {
366
+ if (isStateAwaitingNavigatorMount(state, routeNode)) {
366
367
  if (process.env.ONE_DEBUG_ROUTER) {
367
- console.info(`[one] \u{1F4DC} onStateChange - skipping: focused route is a group`, route.name, `(child navigator not mounted yet)`);
368
+ console.info(`[one] \u{1F4DC} onStateChange - skipping: navigator below`, route?.name, `has not mounted`);
368
369
  }
369
370
  return;
370
371
  }
@@ -1 +1 @@
1
- {"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","useNavigationIndependentTree","getStateFromPath","getStateFromPathDefault","isEqual","React","stripGroupSegmentsFromPath","setNavigationType","isReturningFromIntercept","setReturningFromIntercept","restoreInterceptFromHistory","consumePendingNavigationAction","rootState","routerRootState","ServerLocationContext","clearAllSlotStates","createMemoryHistory","appendBaseUrl","getPartialState","state","key","routeNames","stale","routes","partial","map","routeKey","childState","route","getFocusedRouteDepth","length","history","focusedRoute","index","child","getDynamicParamNames","routeName","Array","from","matchAll","match","hasMissingDynamicParams","dynamicParamNames","name","some","params","currentUrlHasDynamicParams","config","currentPath","window","location","pathname","search","currentState","currentRoute","findMatchingState","a","b","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","enabled","onUnhandledLinking","getInitialState","useCallback","fn","catch","getInitialState2","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","restoringFromTempLocationRef","initialHistorySetupDoneRef","maskedDisplayPathRef","current","validateRoutesNotExistInRootState","navigation","getRootState","r","includes","useContext","server","value","path","location2","hash","historyState","__tempLocation","__tempKey","ONE_DEBUG_ROUTER","info","thenable","onfulfilled","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","record","get","pathMatches","displayPath","resetRoot","action","dispatch","e","warn","message","getPathForRoute","JSON","stringify","stateForPath","refState","isRestoringFromMask","replace","actualPath","onStateChange","previousState","pendingPath","test","currentSearch","maskOptions","linkOptions","mask","maskHref","href","maskedInfo","unmaskOnReload","pendingNavigationAction","previousFocusedState","focusedState","historyDelta","currentRecord","samePath","nextIndex","backIndex","currentIndex","go","addListener"],"sources":["../../../src/fork/useLinking.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","useNavigationIndependentTree","getStateFromPath","getStateFromPathDefault","isEqual","React","stripGroupSegmentsFromPath","setNavigationType","isReturningFromIntercept","setReturningFromIntercept","restoreInterceptFromHistory","consumePendingNavigationAction","rootState","routerRootState","routeNode","isStateAwaitingNavigatorMount","ServerLocationContext","clearAllSlotStates","createMemoryHistory","appendBaseUrl","getPartialState","state","key","routeNames","stale","routes","partial","map","routeKey","childState","route","getFocusedRouteDepth","length","history","focusedRoute","index","child","getDynamicParamNames","routeName","Array","from","matchAll","match","hasMissingDynamicParams","dynamicParamNames","name","some","params","currentUrlHasDynamicParams","config","currentPath","window","location","pathname","search","currentState","currentRoute","findMatchingState","a","b","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","enabled","onUnhandledLinking","getInitialState","useCallback","fn","catch","getInitialState2","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","restoringFromTempLocationRef","initialHistorySetupDoneRef","maskedDisplayPathRef","current","validateRoutesNotExistInRootState","navigation","getRootState","r","includes","useContext","server","value","path","location2","hash","historyState","__tempLocation","__tempKey","ONE_DEBUG_ROUTER","info","thenable","onfulfilled","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","record","get","pathMatches","displayPath","resetRoot","action","dispatch","e","warn","message","getPathForRoute","JSON","stringify","stateForPath","refState","isRestoringFromMask","replace","actualPath","onStateChange","previousState","pendingPath","currentSearch","maskOptions","linkOptions","mask","maskHref","href","maskedInfo","unmaskOnReload","pendingNavigationAction","previousFocusedState","focusedState","historyDelta","currentRecord","samePath","nextIndex","backIndex","currentIndex","go","addListener"],"sources":["../../../src/fork/useLinking.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,114 @@
1
+ import React from "react";
2
+ import TestRenderer, { act } from "react-test-renderer";
3
+ import { describe, expect, it } from "vitest";
4
+ import { usePathname } from "../hooks.mjs";
5
+ import { Root } from "../Root.mjs";
6
+ import { Slot } from "../views/Navigator.mjs";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
9
+ globalThis.requestAnimationFrame ??= cb => setTimeout(() => cb(0), 0);
10
+ globalThis.cancelAnimationFrame ??= id => clearTimeout(id);
11
+ const routerRoot = "app";
12
+ function makeRoutes(modules) {
13
+ globalThis["__vxrnVersion"] = (globalThis["__vxrnVersion"] ?? 0) + 1;
14
+ const routes = {};
15
+ for (const [file, module] of Object.entries(modules)) {
16
+ routes[`/${routerRoot}/${file}`] = module;
17
+ }
18
+ return routes;
19
+ }
20
+ const slotLayout = {
21
+ default: () => /* @__PURE__ */jsx(Slot, {})
22
+ };
23
+ const leaf = label => ({
24
+ default: () => label
25
+ });
26
+ function routeTreeWithGate(gate) {
27
+ const Gate = gate;
28
+ return makeRoutes({
29
+ "_layout.tsx": slotLayout,
30
+ "(app)/_layout.tsx": {
31
+ default: () => /* @__PURE__ */jsx(Gate, {
32
+ children: /* @__PURE__ */jsx(Slot, {})
33
+ })
34
+ },
35
+ "(app)/index.tsx": leaf("app-index"),
36
+ "(app)/project/_layout.tsx": slotLayout,
37
+ "(app)/project/[projectId]/_layout.tsx": slotLayout,
38
+ "(app)/project/[projectId]/[sessionId]/_layout.tsx": slotLayout,
39
+ "(app)/project/[projectId]/[sessionId]/index.tsx": leaf("session"),
40
+ "(site)/_layout.tsx": slotLayout,
41
+ "(site)/pricing.tsx": leaf("pricing")
42
+ });
43
+ }
44
+ function renderAt(path, routes) {
45
+ let renderer;
46
+ act(() => {
47
+ renderer = TestRenderer.create(/* @__PURE__ */jsx(Root, {
48
+ path,
49
+ routes,
50
+ routerRoot,
51
+ isClient: false
52
+ }));
53
+ });
54
+ return renderer;
55
+ }
56
+ function bodyText(renderer) {
57
+ const collect = node => typeof node === "string" ? node : Array.isArray(node) ? node.map(collect).join("") : node ? collect(node.children ?? []) : "";
58
+ return collect(renderer.toJSON());
59
+ }
60
+ describe("a layout that renders something other than its <Slot />", () => {
61
+ it("does not move the pathname while the URL stands still", () => {
62
+ const pathnames = [];
63
+ let setBlocked;
64
+ function Probe() {
65
+ const pathname = usePathname();
66
+ if (pathnames[pathnames.length - 1] !== pathname) pathnames.push(pathname);
67
+ return null;
68
+ }
69
+ function Gate({
70
+ children
71
+ }) {
72
+ const [blocked, set] = React.useState(true);
73
+ setBlocked = set;
74
+ return /* @__PURE__ */jsxs(Fragment, {
75
+ children: [/* @__PURE__ */jsx(Probe, {}), blocked ? "placeholder" : children]
76
+ });
77
+ }
78
+ const renderer = renderAt("/project/p1/main", routeTreeWithGate(Gate));
79
+ expect(bodyText(renderer)).toBe("placeholder");
80
+ act(() => setBlocked(false));
81
+ expect(bodyText(renderer)).toBe("session");
82
+ act(() => setBlocked(true));
83
+ expect(bodyText(renderer)).toBe("placeholder");
84
+ act(() => setBlocked(false));
85
+ expect(pathnames).toEqual(["/project/p1/main"]);
86
+ });
87
+ it("settles when the gate itself reads the pathname", async () => {
88
+ let renders = 0;
89
+ let requestBlock;
90
+ function Gate({
91
+ children
92
+ }) {
93
+ const pathname = usePathname();
94
+ const [blockRequested, setBlockRequested] = React.useState(false);
95
+ requestBlock = () => setBlockRequested(true);
96
+ renders++;
97
+ if (renders > 100) {
98
+ throw new Error(`gate rendered ${renders} times without settling`);
99
+ }
100
+ const blocked = blockRequested && pathname.startsWith("/project/");
101
+ return /* @__PURE__ */jsx(Fragment, {
102
+ children: blocked ? "blocked" : children
103
+ });
104
+ }
105
+ const renderer = renderAt("/project/p1/main", routeTreeWithGate(Gate));
106
+ await act(async () => {});
107
+ expect(bodyText(renderer)).toBe("session");
108
+ await act(async () => requestBlock());
109
+ await act(async () => {});
110
+ expect(bodyText(renderer)).toBe("blocked");
111
+ expect(renders).toBeLessThan(20);
112
+ });
113
+ });
114
+ //# sourceMappingURL=conditionalSlotPathname.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","TestRenderer","act","describe","expect","it","usePathname","Root","Slot","Fragment","jsx","jsxs","globalThis","IS_REACT_ACT_ENVIRONMENT","requestAnimationFrame","cb","setTimeout","cancelAnimationFrame","id","clearTimeout","routerRoot","makeRoutes","modules","routes","file","module","Object","entries","slotLayout","default","leaf","label","routeTreeWithGate","gate","Gate","children","renderAt","path","renderer","create","isClient","bodyText","collect","node","Array","isArray","map","join","toJSON","pathnames","setBlocked","Probe","pathname","length","push","blocked","set","useState","toBe","toEqual","renders","requestBlock","blockRequested","setBlockRequested","Error","startsWith","toBeLessThan"],"sources":["../../../src/router/conditionalSlotPathname.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,167 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import TestRenderer, { act } from "react-test-renderer";
4
+ import { describe, expect, it } from "vitest";
5
+ import { usePathname } from "../hooks.native.js";
6
+ import { Root } from "../Root.native.js";
7
+ import { Slot } from "../views/Navigator.native.js";
8
+ var _globalThis;
9
+ var _requestAnimationFrame;
10
+ var _globalThis1;
11
+ var _cancelAnimationFrame;
12
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
13
+ (_requestAnimationFrame = (_globalThis = globalThis).requestAnimationFrame) !== null && _requestAnimationFrame !== void 0 ? _requestAnimationFrame : _globalThis.requestAnimationFrame = function (cb) {
14
+ return setTimeout(function () {
15
+ return cb(0);
16
+ }, 0);
17
+ };
18
+ (_cancelAnimationFrame = (_globalThis1 = globalThis).cancelAnimationFrame) !== null && _cancelAnimationFrame !== void 0 ? _cancelAnimationFrame : _globalThis1.cancelAnimationFrame = function (id) {
19
+ return clearTimeout(id);
20
+ };
21
+ var routerRoot = "app";
22
+ function makeRoutes(modules) {
23
+ var _globalThis___vxrnVersion;
24
+ globalThis["__vxrnVersion"] = ((_globalThis___vxrnVersion = globalThis["__vxrnVersion"]) !== null && _globalThis___vxrnVersion !== void 0 ? _globalThis___vxrnVersion : 0) + 1;
25
+ var routes = {};
26
+ var _iteratorNormalCompletion = true,
27
+ _didIteratorError = false,
28
+ _iteratorError = void 0;
29
+ try {
30
+ for (var _iterator = Object.entries(modules)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
31
+ var [file, module] = _step.value;
32
+ routes[`/${routerRoot}/${file}`] = module;
33
+ }
34
+ } catch (err) {
35
+ _didIteratorError = true;
36
+ _iteratorError = err;
37
+ } finally {
38
+ try {
39
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
40
+ _iterator.return();
41
+ }
42
+ } finally {
43
+ if (_didIteratorError) {
44
+ throw _iteratorError;
45
+ }
46
+ }
47
+ }
48
+ return routes;
49
+ }
50
+ var slotLayout = {
51
+ default: function () {
52
+ return /* @__PURE__ */_jsx(Slot, {});
53
+ }
54
+ };
55
+ var leaf = function (label) {
56
+ return {
57
+ default: function () {
58
+ return label;
59
+ }
60
+ };
61
+ };
62
+ function routeTreeWithGate(gate) {
63
+ var Gate = gate;
64
+ return makeRoutes({
65
+ "_layout.tsx": slotLayout,
66
+ "(app)/_layout.tsx": {
67
+ default: function () {
68
+ return /* @__PURE__ */_jsx(Gate, {
69
+ children: /* @__PURE__ */_jsx(Slot, {})
70
+ });
71
+ }
72
+ },
73
+ "(app)/index.tsx": leaf("app-index"),
74
+ "(app)/project/_layout.tsx": slotLayout,
75
+ "(app)/project/[projectId]/_layout.tsx": slotLayout,
76
+ "(app)/project/[projectId]/[sessionId]/_layout.tsx": slotLayout,
77
+ "(app)/project/[projectId]/[sessionId]/index.tsx": leaf("session"),
78
+ "(site)/_layout.tsx": slotLayout,
79
+ "(site)/pricing.tsx": leaf("pricing")
80
+ });
81
+ }
82
+ function renderAt(path, routes) {
83
+ var renderer;
84
+ act(function () {
85
+ renderer = TestRenderer.create(/* @__PURE__ */_jsx(Root, {
86
+ path,
87
+ routes,
88
+ routerRoot,
89
+ isClient: false
90
+ }));
91
+ });
92
+ return renderer;
93
+ }
94
+ function bodyText(renderer) {
95
+ var collect = function (node) {
96
+ var _node_children;
97
+ return typeof node === "string" ? node : Array.isArray(node) ? node.map(collect).join("") : node ? collect((_node_children = node.children) !== null && _node_children !== void 0 ? _node_children : []) : "";
98
+ };
99
+ return collect(renderer.toJSON());
100
+ }
101
+ describe("a layout that renders something other than its <Slot />", function () {
102
+ it("does not move the pathname while the URL stands still", function () {
103
+ var pathnames = [];
104
+ var setBlocked;
105
+ function Probe() {
106
+ var pathname = usePathname();
107
+ if (pathnames[pathnames.length - 1] !== pathname) pathnames.push(pathname);
108
+ return null;
109
+ }
110
+ function Gate(param) {
111
+ var {
112
+ children
113
+ } = param;
114
+ var [blocked, set] = React.useState(true);
115
+ setBlocked = set;
116
+ return /* @__PURE__ */_jsxs(_Fragment, {
117
+ children: [/* @__PURE__ */_jsx(Probe, {}), blocked ? "placeholder" : children]
118
+ });
119
+ }
120
+ var renderer = renderAt("/project/p1/main", routeTreeWithGate(Gate));
121
+ expect(bodyText(renderer)).toBe("placeholder");
122
+ act(function () {
123
+ return setBlocked(false);
124
+ });
125
+ expect(bodyText(renderer)).toBe("session");
126
+ act(function () {
127
+ return setBlocked(true);
128
+ });
129
+ expect(bodyText(renderer)).toBe("placeholder");
130
+ act(function () {
131
+ return setBlocked(false);
132
+ });
133
+ expect(pathnames).toEqual(["/project/p1/main"]);
134
+ });
135
+ it("settles when the gate itself reads the pathname", async function () {
136
+ var renders = 0;
137
+ var requestBlock;
138
+ function Gate(param) {
139
+ var {
140
+ children
141
+ } = param;
142
+ var pathname = usePathname();
143
+ var [blockRequested, setBlockRequested] = React.useState(false);
144
+ requestBlock = function () {
145
+ return setBlockRequested(true);
146
+ };
147
+ renders++;
148
+ if (renders > 100) {
149
+ throw new Error(`gate rendered ${renders} times without settling`);
150
+ }
151
+ var blocked = blockRequested && pathname.startsWith("/project/");
152
+ return /* @__PURE__ */_jsx(_Fragment, {
153
+ children: blocked ? "blocked" : children
154
+ });
155
+ }
156
+ var renderer = renderAt("/project/p1/main", routeTreeWithGate(Gate));
157
+ await act(async function () {});
158
+ expect(bodyText(renderer)).toBe("session");
159
+ await act(async function () {
160
+ return requestBlock();
161
+ });
162
+ await act(async function () {});
163
+ expect(bodyText(renderer)).toBe("blocked");
164
+ expect(renders).toBeLessThan(20);
165
+ });
166
+ });
167
+ //# sourceMappingURL=conditionalSlotPathname.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","React","TestRenderer","act","describe","expect","it","usePathname","Root","Slot","_globalThis","_requestAnimationFrame","_globalThis1","_cancelAnimationFrame","globalThis","IS_REACT_ACT_ENVIRONMENT","requestAnimationFrame","cb","setTimeout","cancelAnimationFrame","id","clearTimeout","routerRoot","makeRoutes","modules","_globalThis___vxrnVersion","routes","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","file","module","value","err","return","slotLayout","default","leaf","label","routeTreeWithGate","gate","Gate","children","renderAt","path","renderer","create","isClient","bodyText","collect","node","_node_children","Array","isArray","map","join","toJSON","pathnames"],"sources":["../../../src/router/conditionalSlotPathname.test.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAOA,GAAA,IAAAC,IAAW,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAClB,OAAOC,KAAA,aAAgB;AACvB,OAAAC,YAAmB,IAAAC,GAAA,QAAQ,qBAAU;AACrC,SAASC,QAAA,EAAAC,MAAA,EAAAC,EAAmB;AAC5B,SAASC,WAAA,QAAY;AACrB,SAASC,IAAA,QAAY;AAqBe,SA+D5BC,IAAA,QA/D4B;AAlBlC,IAAAC,WAAmB;AACnB,IAAAC,sBAAmB;AACnB,IAAAC,YAAmB;AAErB,IAAAC,qBAAmB;AAKnBC,UAAS,CAAAC,wBAA2E;AAClF,CAAAJ,sBAAW,IAAAD,WAAqB,GAAAI,UAAW,EAAAE,qBAAoC,cAAAL,sBAAA,cAAAA,sBAAA,GAAAD,WAAA,CAAAM,qBAAA,aAAAC,EAAA;EAC/E,OAAMC,UAAmC;IACzC,OAAAD,EAAW,CAAC;EACV;AAAmC;AAErC,CAAAJ,qBAAO,IAAAD,YAAA,GAAAE,UAAA,EAAAK,oBAAA,cAAAN,qBAAA,cAAAA,qBAAA,GAAAD,YAAA,CAAAO,oBAAA,aAAAC,EAAA;EACT,OAAAC,YAAA,CAAAD,EAAA;AAEA;AACA,IAAAE,UAAc;AAId,SAASC,WAAAC,OAAkB;EACzB,IAAAC,yBAAa;EACbX,UAAO,gBAAW,MAAAW,yBAAA,GAAAX,UAAA,+BAAAW,yBAAA,cAAAA,yBAAA;EAAA,IAChBC,MAAA;EAAe,IACfC,yBAAqB;IAAAC,iBAAA;IAAAC,cAAA;EAAA,IACnB;IAKF,SAAAC,SAAA,GAAAC,MAAA,CAAAC,OAAA,CAAAR,OAAA,EAAAS,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAR,yBAAA,IAAAQ,KAAA,GAAAL,SAAA,CAAAM,IAAA,IAAAC,IAAA,GAAAV,yBAAA;MACA,KAAAW,IAAA,EAAAC,MAAmB,IAAAJ,KAAK,CAAAK,KAAA;MACxBd,MAAA,KAAAJ,UAAA,IAAAgB,IAA6B,MAAAC,MAAA;IAC7B;EAAyC,EACzC,OAAAE,GAAA;IACAb,iBAAA;IACAC,cAAA,GAAAY,GAAA;EAAsB,UACtB;IACD;MACH,KAAAd,yBAAA,IAAAG,SAAA,CAAAY,MAAA;QAEAZ,SAAS,CAASY,MAAc;MAC1B;IACJ,UAAU;MACR,IAAAd,iBAAW,EAAa;QACtB,MAAAC,cAAC;MACH;IACD;EACD;EACF,OAAAH,MAAA;AAEA;AACE,IAAAiB,UAAM;EAQNC,OAAO,WAAAA,CAAA,EAAQ;IACjB,sBAAAhD,IAAA,CAAAa,IAAA;EAEA;AACE;AACE,IAAAoC,IAAA,GAAM,SAAAA,CAAAC,KAAuB;EAC7B,OAAI;IAEJF,OAAA,EAAS,SAAAA,CAAA,EAAQ;MACf,OAAME,KAAA;IACN;EACA;AAAO;AAGT,SAAAC,iBAAgBA,CAAAC,IAAS,EAAkC;EACzD,IAAAC,IAAA,GAAOD,IAAA;EACP,OAAAzB,UAAa;IACb,aACE,EAAAoB,UAAA;IACE;MAAOC,OACN,WAAAA,CAAA,EAAU;QAAgB,OAC7B,eAAAhD,IAAA,CAAAqD,IAAA;UAEJC,QAAA,iBAAAtD,IAAA,CAAAa,IAAA;QAEA,EAAM;MAGN;IAEA;IACA,iBAAgB,EAAAoC,IAAA,CAAQ,WAAQ;IAEhC,2BAA2B,EAAAF,UAAA;IAC3B,uCAAgC,EAAAA,UAAa;IAE7C,mDAA4B,EAAAA,UAAA;IAI5B,iDAA8C,EAAAE,IAAA;IAC/C,sBAAAF,UAAA;IAED,oBAAG,EAAAE,IAAA;EAID;AACA;AAEA,SAAAM,QAASA,CAAKC,IAAE,EAAA1B,MAAS,EAAkC;EACzD,IAAA2B,QAAM;EACNlD,GAAA,aAAO;IACPkD,QAAA,GAAAnD,YAAqB,CAAAoD,MAAA,gBAAsB1D,IAAA,CAAAY,IAAA;MAC3C4C,IAAA;MACA1B,MAAI;MACFJ,UAAM;MACRiC,QAAA;IACA;EACA;EAAyC,OAC3CF,QAAA;AAEA;AACA,SAAAG,QAAUA,CAAAH,QAAY;EAAA,IAAEI,OAAA,YAAAA,CAAAC,IAAA;IACxB,IAAAC,cAAgB;IAEhB,OAAM,OAAID,IAAA,KAAY,WAAAA,IAAe,GAAAE,KAAA,CAAAC,OAAA,CAAAH,IAAA,IAAAA,IAAA,CAAAI,GAAA,CAAAL,OAAA,EAAAM,IAAA,OAAAL,IAAA,GAAAD,OAAA,EAAAE,cAAA,GAAAD,IAAA,CAAAR,QAAA,cAAAS,cAAA,cAAAA,cAAA;EACrC;EAAsB,OAAEF,OAAA,CAAAJ,QAAA,CAAAW,MAAA;AAKxB;AACA5D,QAAA,0DAA+B;EACjCE,EAAC;IACF,IAAA2D,SAAA","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ function focusedRouteOf(state) {
2
+ return typeof state.index === "number" ? state.routes[state.index] : state.routes[state.routes.length - 1];
3
+ }
4
+ function isStateAwaitingNavigatorMount(state, rootNode) {
5
+ if (!rootNode) return false;
6
+ let node = rootNode;
7
+ let current = state;
8
+ while (current?.routes?.length) {
9
+ const route = focusedRouteOf(current);
10
+ if (!route) return false;
11
+ const child = node.children.find(candidate => candidate.route === route.name);
12
+ if (!child) return false;
13
+ if (route.state) {
14
+ node = child;
15
+ current = route.state;
16
+ continue;
17
+ }
18
+ return child.children.some(grandchild => !grandchild.internal);
19
+ }
20
+ return false;
21
+ }
22
+ export { isStateAwaitingNavigatorMount };
23
+ //# sourceMappingURL=isStateAwaitingNavigatorMount.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["focusedRouteOf","state","index","routes","length","isStateAwaitingNavigatorMount","rootNode","node","current","route","child","children","find","candidate","name","some","grandchild","internal"],"sources":["../../../src/router/isStateAwaitingNavigatorMount.ts"],"sourcesContent":[null],"mappings":"AAUA,SAASA,eAAeC,KAAA,EAAqB;EAC3C,OAAO,OAAOA,KAAA,CAAMC,KAAA,KAAU,WAC1BD,KAAA,CAAME,MAAA,CAAOF,KAAA,CAAMC,KAAK,IACxBD,KAAA,CAAME,MAAA,CAAOF,KAAA,CAAME,MAAA,CAAOC,MAAA,GAAS,CAAC;AAC1C;AAkBO,SAASC,8BACdJ,KAAA,EACAK,QAAA,EACS;EACT,IAAI,CAACA,QAAA,EAAU,OAAO;EAEtB,IAAIC,IAAA,GAAOD,QAAA;EACX,IAAIE,OAAA,GAAUP,KAAA;EAEd,OAAOO,OAAA,EAASL,MAAA,EAAQC,MAAA,EAAQ;IAC9B,MAAMK,KAAA,GAAQT,cAAA,CAAeQ,OAAO;IACpC,IAAI,CAACC,KAAA,EAAO,OAAO;IAKnB,MAAMC,KAAA,GAAQH,IAAA,CAAKI,QAAA,CAASC,IAAA,CAAMC,SAAA,IAAcA,SAAA,CAAUJ,KAAA,KAAUA,KAAA,CAAMK,IAAI;IAC9E,IAAI,CAACJ,KAAA,EAAO,OAAO;IAEnB,IAAID,KAAA,CAAMR,KAAA,EAAO;MACfM,IAAA,GAAOG,KAAA;MACPF,OAAA,GAAUC,KAAA,CAAMR,KAAA;MAChB;IACF;IAIA,OAAOS,KAAA,CAAMC,QAAA,CAASI,IAAA,CAAMC,UAAA,IAAe,CAACA,UAAA,CAAWC,QAAQ;EACjE;EAEA,OAAO;AACT","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ function _type_of(obj) {
2
+ "@swc/helpers - typeof";
3
+
4
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
5
+ }
6
+ function focusedRouteOf(state) {
7
+ return typeof state.index === "number" ? state.routes[state.index] : state.routes[state.routes.length - 1];
8
+ }
9
+ function isStateAwaitingNavigatorMount(state, rootNode) {
10
+ var _loop = function () {
11
+ var route = focusedRouteOf(current);
12
+ if (!route) return {
13
+ v: false
14
+ };
15
+ var child = node.children.find(function (candidate) {
16
+ return candidate.route === route.name;
17
+ });
18
+ if (!child) return {
19
+ v: false
20
+ };
21
+ if (route.state) {
22
+ node = child;
23
+ current = route.state;
24
+ return "continue";
25
+ }
26
+ return {
27
+ v: child.children.some(function (grandchild) {
28
+ return !grandchild.internal;
29
+ })
30
+ };
31
+ };
32
+ var _current_routes;
33
+ if (!rootNode) return false;
34
+ var node = rootNode;
35
+ var current = state;
36
+ while (current === null || current === void 0 ? void 0 : (_current_routes = current.routes) === null || _current_routes === void 0 ? void 0 : _current_routes.length) {
37
+ var _ret = _loop();
38
+ if (_type_of(_ret) === "object") return _ret.v;
39
+ }
40
+ return false;
41
+ }
42
+ export { isStateAwaitingNavigatorMount };
43
+ //# sourceMappingURL=isStateAwaitingNavigatorMount.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_type_of","obj","Symbol","constructor","focusedRouteOf","state","index","routes","length","isStateAwaitingNavigatorMount","rootNode","_loop","route","current","v","child","node","children","find","candidate","name"],"sources":["../../../src/router/isStateAwaitingNavigatorMount.ts"],"sourcesContent":[null],"mappings":"AAUA,SAASA,SAAAC,GAAA;EACP,uBAAoB;;EAGtB,OAAAA,GAAA,WAAAC,MAAA,oBAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAkBO;AAIL,SAAKG,cAAUA,CAAOC,KAAA;EAEtB,OAAI,OAAOA,KAAA,CAAAC,KAAA,gBAAAD,KAAA,CAAAE,MAAA,CAAAF,KAAA,CAAAC,KAAA,IAAAD,KAAA,CAAAE,MAAA,CAAAF,KAAA,CAAAE,MAAA,CAAAC,MAAA;AACX;AAEA,SAAOC,6BAAyBA,CAAAJ,KAAA,EAAAK,QAAA;EAC9B,IAAAC,KAAM,YAAAA,CAAA,EAAQ;IACd,IAAIC,KAAC,GAAOR,cAAO,CAAAS,OAAA;IAKnB,KAAAD,KAAM,SAAa;MACnBE,CAAA,EAAK;IAEL;IACE,IAAAC,KAAO,GAAAC,IAAA,CAAAC,QAAA,CAAAC,IAAA,WAAAC,SAAA;MACP,OAAAA,SAAgB,CAAAP,KAAA,KAAAA,KAAA,CAAAQ,IAAA;IAChB;IACF,KAAAL,KAAA;MAIAD,CAAA;IACF;IAEA,IAAAF,KAAO,CAAAP,KAAA;MACTW,IAAA,GAAAD,KAAA","ignoreList":[]}
@@ -14,6 +14,7 @@ import { shouldLinkExternally } from "../utils/url.mjs";
14
14
  import { ParamValidationError, RouteValidationError, validateParams } from "../validateParams.mjs";
15
15
  import { extractParamsFromState, extractPathnameFromHref, extractSearchFromHref, findRouteNodeFromState } from "./findRouteNode.mjs";
16
16
  import { getRouteInfo } from "./getRouteInfo.mjs";
17
+ import { isStateAwaitingNavigatorMount } from "./isStateAwaitingNavigatorMount.mjs";
17
18
  import { getRouteArtifactPaths } from "./getRouteArtifactPath.mjs";
18
19
  import { getRoutes } from "./getRoutes.mjs";
19
20
  import { setLastAction } from "./lastAction.mjs";
@@ -268,6 +269,10 @@ function getSortedRoutes() {
268
269
  function updateState(state, nextStateParam = state) {
269
270
  rootState = state;
270
271
  nextState = nextStateParam;
272
+ if (isStateAwaitingNavigatorMount(state, routeNode)) {
273
+ if (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \u{1F9ED} keeping ${routeInfo?.pathname}: a navigator has not mounted`);
274
+ return;
275
+ }
271
276
  const nextRouteInfo = getRouteInfo(state);
272
277
  if (pendingNavigationPathname === nextRouteInfo.pathname) pendingNavigationPathname = void 0;
273
278
  if (!deepEqual(routeInfo, nextRouteInfo)) {