one 1.16.2 → 1.16.3

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.
@@ -54,7 +54,7 @@ var import_react_native_safe_area_context = require("react-native-safe-area-cont
54
54
  var import_withLayoutContext = require("../layouts/withLayoutContext.cjs");
55
55
  var import_notFoundState = require("../notFoundState.cjs");
56
56
  var import_Route = require("../router/Route.cjs");
57
- var import_matchers = require("../router/matchers.cjs");
57
+ var import_linkingConfig = require("../router/linkingConfig.cjs");
58
58
  var import_router = require("../router/router.cjs");
59
59
  var import_router2 = require("../router/router.cjs");
60
60
  var import_useScreens = require("../router/useScreens.cjs");
@@ -62,6 +62,27 @@ var import_Screen = require("./Screen.cjs");
62
62
  var import_interceptRoutes = require("../router/interceptRoutes.cjs");
63
63
  var import_jsx_runtime = require("react/jsx-runtime");
64
64
  const SLOT_STATIC_KEY = "one-slot-static-key";
65
+ function resolveInitialRouteFromLinking(contextKey, browserPath) {
66
+ const linking = (0, import_linkingConfig.getLinking)();
67
+ if (!linking?.getStateFromPath) return void 0;
68
+ let current = linking.getStateFromPath(browserPath, linking.config);
69
+ const segments = contextKey.split("/").filter(Boolean);
70
+ let i = 0;
71
+ while (i < segments.length) {
72
+ if (!current?.routes?.length) return void 0;
73
+ const idx2 = current.index ?? current.routes.length - 1;
74
+ const focused = current.routes[idx2];
75
+ if (!focused?.name || !focused.state) return void 0;
76
+ const nameSegments = focused.name.split("/").filter(Boolean);
77
+ const expected = segments.slice(i, i + nameSegments.length).join("/");
78
+ if (focused.name !== expected) return void 0;
79
+ current = focused.state;
80
+ i += nameSegments.length;
81
+ }
82
+ if (!current?.routes?.length) return void 0;
83
+ const idx = current.index ?? current.routes.length - 1;
84
+ return current.routes[idx]?.name;
85
+ }
65
86
  const globalSlotState = /* @__PURE__ */new Map();
66
87
  const slotStateListeners = /* @__PURE__ */new Set();
67
88
  function getSlotState(slotName) {
@@ -144,22 +165,10 @@ function QualifiedNavigator({
144
165
  if (initialRouteName) return initialRouteName;
145
166
  const browserPath = import_router.initialPathname ?? (typeof window !== "undefined" ? window.location.pathname : void 0);
146
167
  if (!browserPath) return void 0;
147
- const layoutUrlPrefix = (0, import_matchers.stripGroupSegmentsFromPath)(contextKey).replace(/\/+$/, "");
148
- let best;
149
- for (const screen of screens) {
150
- const name = screen?.props?.name;
151
- if (!name) continue;
152
- const fullPattern = layoutUrlPrefix ? `${layoutUrlPrefix}/${name}` : name;
153
- const match = (0, import_matchers.matchRoutePattern)(fullPattern, browserPath);
154
- if (!match) continue;
155
- if (!best || match.specificity > best.specificity) {
156
- best = {
157
- name,
158
- specificity: match.specificity
159
- };
160
- }
161
- }
162
- return best?.name;
168
+ const resolved = resolveInitialRouteFromLinking(contextKey, browserPath);
169
+ if (!resolved) return void 0;
170
+ const hasScreen = screens.some(s => s?.props?.name === resolved);
171
+ return hasScreen ? resolved : void 0;
163
172
  }, [initialRouteName, screens, contextKey]);
164
173
  const {
165
174
  state,
@@ -57,13 +57,38 @@ var import_react_native_safe_area_context = require("react-native-safe-area-cont
57
57
  var import_withLayoutContext = require("../layouts/withLayoutContext.native.js");
58
58
  var import_notFoundState = require("../notFoundState.native.js");
59
59
  var import_Route = require("../router/Route.native.js");
60
- var import_matchers = require("../router/matchers.native.js");
60
+ var import_linkingConfig = require("../router/linkingConfig.native.js");
61
61
  var import_router = require("../router/router.native.js");
62
62
  var import_router2 = require("../router/router.native.js");
63
63
  var import_useScreens = require("../router/useScreens.native.js");
64
64
  var import_Screen = require("./Screen.native.js");
65
65
  var import_interceptRoutes = require("../router/interceptRoutes.native.js");
66
66
  var SLOT_STATIC_KEY = "one-slot-static-key";
67
+ function resolveInitialRouteFromLinking(contextKey, browserPath) {
68
+ var _current_index;
69
+ var _current_routes, _current_routes_idx;
70
+ var linking = (0, import_linkingConfig.getLinking)();
71
+ if (!(linking === null || linking === void 0 ? void 0 : linking.getStateFromPath)) return void 0;
72
+ var current = linking.getStateFromPath(browserPath, linking.config);
73
+ var segments = contextKey.split("/").filter(Boolean);
74
+ var i = 0;
75
+ while (i < segments.length) {
76
+ var _current_index1;
77
+ var _current_routes1;
78
+ if (!(current === null || current === void 0 ? void 0 : (_current_routes1 = current.routes) === null || _current_routes1 === void 0 ? void 0 : _current_routes1.length)) return void 0;
79
+ var idx = (_current_index1 = current.index) !== null && _current_index1 !== void 0 ? _current_index1 : current.routes.length - 1;
80
+ var focused = current.routes[idx];
81
+ if (!(focused === null || focused === void 0 ? void 0 : focused.name) || !focused.state) return void 0;
82
+ var nameSegments = focused.name.split("/").filter(Boolean);
83
+ var expected = segments.slice(i, i + nameSegments.length).join("/");
84
+ if (focused.name !== expected) return void 0;
85
+ current = focused.state;
86
+ i += nameSegments.length;
87
+ }
88
+ if (!(current === null || current === void 0 ? void 0 : (_current_routes = current.routes) === null || _current_routes === void 0 ? void 0 : _current_routes.length)) return void 0;
89
+ var idx1 = (_current_index = current.index) !== null && _current_index !== void 0 ? _current_index : current.routes.length - 1;
90
+ return (_current_routes_idx = current.routes[idx1]) === null || _current_routes_idx === void 0 ? void 0 : _current_routes_idx.name;
91
+ }
67
92
  var globalSlotState = /* @__PURE__ */new Map();
68
93
  var slotStateListeners = /* @__PURE__ */new Set();
69
94
  function getSlotState(slotName) {
@@ -154,42 +179,13 @@ function QualifiedNavigator(param) {
154
179
  if (initialRouteName) return initialRouteName;
155
180
  var browserPath = import_router.initialPathname !== null && import_router.initialPathname !== void 0 ? import_router.initialPathname : typeof window !== "undefined" ? window.location.pathname : void 0;
156
181
  if (!browserPath) return void 0;
157
- var layoutUrlPrefix = (0, import_matchers.stripGroupSegmentsFromPath)(contextKey).replace(/\/+$/, "");
158
- var best;
159
- var _iteratorNormalCompletion = true,
160
- _didIteratorError = false,
161
- _iteratorError = void 0;
162
- try {
163
- for (var _iterator = screens[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
164
- var screen = _step.value;
165
- var _screen_props;
166
- var name = screen === null || screen === void 0 ? void 0 : (_screen_props = screen.props) === null || _screen_props === void 0 ? void 0 : _screen_props.name;
167
- if (!name) continue;
168
- var fullPattern = layoutUrlPrefix ? `${layoutUrlPrefix}/${name}` : name;
169
- var match = (0, import_matchers.matchRoutePattern)(fullPattern, browserPath);
170
- if (!match) continue;
171
- if (!best || match.specificity > best.specificity) {
172
- best = {
173
- name,
174
- specificity: match.specificity
175
- };
176
- }
177
- }
178
- } catch (err) {
179
- _didIteratorError = true;
180
- _iteratorError = err;
181
- } finally {
182
- try {
183
- if (!_iteratorNormalCompletion && _iterator.return != null) {
184
- _iterator.return();
185
- }
186
- } finally {
187
- if (_didIteratorError) {
188
- throw _iteratorError;
189
- }
190
- }
191
- }
192
- return best === null || best === void 0 ? void 0 : best.name;
182
+ var resolved = resolveInitialRouteFromLinking(contextKey, browserPath);
183
+ if (!resolved) return void 0;
184
+ var hasScreen = screens.some(function (s) {
185
+ var _s_props;
186
+ return (s === null || s === void 0 ? void 0 : (_s_props = s.props) === null || _s_props === void 0 ? void 0 : _s_props.name) === resolved;
187
+ });
188
+ return hasScreen ? resolved : void 0;
193
189
  }, [initialRouteName, screens, contextKey]);
194
190
  var {
195
191
  state,
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Navigator_exports","__export","DefaultNavigator","NamedSlot","Navigator","NavigatorContext","QualifiedSlot","Slot","clearAllSlotStates","getScopedSlotKey","getSlotState","setSlotState","useNamedSlot","useNavigatorContext","useSlot","module","exports","import_jsx_runtime","require","import_native","React","__toESM","import_react_native_safe_area_context","import_withLayoutContext","import_notFoundState","import_Route","import_matchers","import_router","import_router2","import_useScreens","import_Screen","import_interceptRoutes","SLOT_STATIC_KEY","globalSlotState","Map","slotStateListeners","Set","slotName","get","state","delete","set","forEach","listener","clear","registerClearSlotStates","registerSetSlotState","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","createContext","process","env","NODE_ENV","displayName","param","initialRouteName","screenOptions","children","router","contextKey","useContextKey","screens","otherSlot","protectedScreens","useFilterScreenChildren","isCustomNavigator","registerProtectedRoutes","unregisterProtectedRoutes","sorted","useSortedScreens","length","console","warn","jsx","QualifiedNavigator","StackRouter","resolvedInitialRouteName","useMemo","browserPath","initialPathname","window","location","pathname","layoutUrlPrefix","stripGroupSegmentsFromPath","replace","best","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","screen","_screen_props","name","props","fullPattern","match","matchRoutePattern","specificity","err","return","navigation","descriptors","NavigationContent","useNavigationBuilder","id","descriptorsRef","useRef","current","Provider","context","useContext","Error","_ref","_descriptorsRef_current_current_key","notFoundState","useNotFoundState","notFoundRouteNode","findRouteNodeByPath","notFoundPath","routeNode","findNearestNotFoundRoute","originalPath","NotFoundComponent","getQualifiedRouteComponent","route","params","routes","index","renderedElement","key","render","cloneElement","memo","Slot2","SafeAreaView","style","flex"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Navigator_exports","__export","DefaultNavigator","NamedSlot","Navigator","NavigatorContext","QualifiedSlot","Slot","clearAllSlotStates","getScopedSlotKey","getSlotState","setSlotState","useNamedSlot","useNavigatorContext","useSlot","module","exports","import_jsx_runtime","require","import_native","React","__toESM","import_react_native_safe_area_context","import_withLayoutContext","import_notFoundState","import_Route","import_linkingConfig","import_router","import_router2","import_useScreens","import_Screen","import_interceptRoutes","SLOT_STATIC_KEY","resolveInitialRouteFromLinking","contextKey","browserPath","_current_index","_current_routes","_current_routes_idx","linking","getLinking","getStateFromPath","current","config","segments","split","filter","Boolean","i","length","_current_index1","_current_routes1","routes","idx","index","focused","name","state","nameSegments","expected","slice","join","idx1","globalSlotState","Map","slotStateListeners","Set","slotName","get","delete","set","forEach","listener","clear","registerClearSlotStates","registerSetSlotState","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","createContext","process","env","NODE_ENV","displayName","param","initialRouteName","screenOptions","children","router","useContextKey","screens","otherSlot","protectedScreens","useFilterScreenChildren","isCustomNavigator","registerProtectedRoutes","unregisterProtectedRoutes","sorted","useSortedScreens","console","warn","jsx","QualifiedNavigator","StackRouter","resolvedInitialRouteName","useMemo","initialPathname","window","location","pathname","resolved","hasScreen","some","s","_s_props","props","navigation","descriptors","NavigationContent","useNavigationBuilder","id","descriptorsRef","useRef","Provider","context","useContext","Error","_ref","_descriptorsRef_current_current_key","notFoundState","useNotFoundState","notFoundRouteNode","findRouteNodeByPath","notFoundPath","routeNode","findNearestNotFoundRoute","originalPath","NotFoundComponent","getQualifiedRouteComponent","route","params","renderedElement","key","render","cloneElement","memo","Slot2","SafeAreaView","style","flex","Screen","layoutContextKey","scopedKey"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import { SafeAreaView } from "react-native-safe-area-context";
4
4
  import { useFilterScreenChildren } from "../layouts/withLayoutContext.mjs";
5
5
  import { findNearestNotFoundRoute, findRouteNodeByPath, useNotFoundState } from "../notFoundState.mjs";
6
6
  import { useContextKey } from "../router/Route.mjs";
7
- import { matchRoutePattern, stripGroupSegmentsFromPath } from "../router/matchers.mjs";
7
+ import { getLinking } from "../router/linkingConfig.mjs";
8
8
  import { routeNode as globalRouteNode, initialPathname } from "../router/router.mjs";
9
9
  import { registerProtectedRoutes, unregisterProtectedRoutes } from "../router/router.mjs";
10
10
  import { useSortedScreens, getQualifiedRouteComponent } from "../router/useScreens.mjs";
@@ -12,6 +12,27 @@ import { Screen } from "./Screen.mjs";
12
12
  import { registerClearSlotStates, registerSetSlotState } from "../router/interceptRoutes.mjs";
13
13
  import { Fragment, jsx } from "react/jsx-runtime";
14
14
  const SLOT_STATIC_KEY = "one-slot-static-key";
15
+ function resolveInitialRouteFromLinking(contextKey, browserPath) {
16
+ const linking = getLinking();
17
+ if (!linking?.getStateFromPath) return void 0;
18
+ let current = linking.getStateFromPath(browserPath, linking.config);
19
+ const segments = contextKey.split("/").filter(Boolean);
20
+ let i = 0;
21
+ while (i < segments.length) {
22
+ if (!current?.routes?.length) return void 0;
23
+ const idx2 = current.index ?? current.routes.length - 1;
24
+ const focused = current.routes[idx2];
25
+ if (!focused?.name || !focused.state) return void 0;
26
+ const nameSegments = focused.name.split("/").filter(Boolean);
27
+ const expected = segments.slice(i, i + nameSegments.length).join("/");
28
+ if (focused.name !== expected) return void 0;
29
+ current = focused.state;
30
+ i += nameSegments.length;
31
+ }
32
+ if (!current?.routes?.length) return void 0;
33
+ const idx = current.index ?? current.routes.length - 1;
34
+ return current.routes[idx]?.name;
35
+ }
15
36
  const globalSlotState = /* @__PURE__ */new Map();
16
37
  const slotStateListeners = /* @__PURE__ */new Set();
17
38
  function getSlotState(slotName) {
@@ -94,22 +115,10 @@ function QualifiedNavigator({
94
115
  if (initialRouteName) return initialRouteName;
95
116
  const browserPath = initialPathname ?? (typeof window !== "undefined" ? window.location.pathname : void 0);
96
117
  if (!browserPath) return void 0;
97
- const layoutUrlPrefix = stripGroupSegmentsFromPath(contextKey).replace(/\/+$/, "");
98
- let best;
99
- for (const screen of screens) {
100
- const name = screen?.props?.name;
101
- if (!name) continue;
102
- const fullPattern = layoutUrlPrefix ? `${layoutUrlPrefix}/${name}` : name;
103
- const match = matchRoutePattern(fullPattern, browserPath);
104
- if (!match) continue;
105
- if (!best || match.specificity > best.specificity) {
106
- best = {
107
- name,
108
- specificity: match.specificity
109
- };
110
- }
111
- }
112
- return best?.name;
118
+ const resolved = resolveInitialRouteFromLinking(contextKey, browserPath);
119
+ if (!resolved) return void 0;
120
+ const hasScreen = screens.some(s => s?.props?.name === resolved);
121
+ return hasScreen ? resolved : void 0;
113
122
  }, [initialRouteName, screens, contextKey]);
114
123
  const {
115
124
  state,
@@ -1 +1 @@
1
- {"version":3,"names":["StackRouter","useNavigationBuilder","React","SafeAreaView","useFilterScreenChildren","findNearestNotFoundRoute","findRouteNodeByPath","useNotFoundState","useContextKey","matchRoutePattern","stripGroupSegmentsFromPath","routeNode","globalRouteNode","initialPathname","registerProtectedRoutes","unregisterProtectedRoutes","useSortedScreens","getQualifiedRouteComponent","Screen","registerClearSlotStates","registerSetSlotState","Fragment","jsx","SLOT_STATIC_KEY","globalSlotState","Map","slotStateListeners","Set","getSlotState","slotName","get","setSlotState","state","delete","set","forEach","listener","clearAllSlotStates","clear","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","NavigatorContext","createContext","process","env","NODE_ENV","displayName","Navigator","initialRouteName","screenOptions","children","router","contextKey","screens","otherSlot","protectedScreens","isCustomNavigator","sorted","length","console","warn","QualifiedNavigator","resolvedInitialRouteName","useMemo","browserPath","window","location","pathname","layoutUrlPrefix","replace","best","screen","name","props","fullPattern","match","specificity","navigation","descriptors","NavigationContent","id","descriptorsRef","useRef","current","value","Provider","useNavigatorContext","context","useContext","Error","useSlot","notFoundState","notFoundRouteNode","notFoundPath","originalPath","NotFoundComponent","route","params","routes","index","renderedElement","key","render","cloneElement","Slot","memo","Slot2","QualifiedSlot","DefaultNavigator","style","flex","getScopedSlotKey","layoutContextKey","useNamedSlot","scopedKey","slotState","activeRouteKey","isIntercepted","activeRouteNode","Component","NamedSlot","slotContent"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StackRouter","useNavigationBuilder","React","SafeAreaView","useFilterScreenChildren","findNearestNotFoundRoute","findRouteNodeByPath","useNotFoundState","useContextKey","getLinking","routeNode","globalRouteNode","initialPathname","registerProtectedRoutes","unregisterProtectedRoutes","useSortedScreens","getQualifiedRouteComponent","Screen","registerClearSlotStates","registerSetSlotState","Fragment","jsx","SLOT_STATIC_KEY","resolveInitialRouteFromLinking","contextKey","browserPath","linking","getStateFromPath","current","config","segments","split","filter","Boolean","i","length","routes","idx2","index","focused","name","state","nameSegments","expected","slice","join","idx","globalSlotState","Map","slotStateListeners","Set","getSlotState","slotName","get","setSlotState","delete","set","forEach","listener","clearAllSlotStates","clear","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","NavigatorContext","createContext","process","env","NODE_ENV","displayName","Navigator","initialRouteName","screenOptions","children","router","screens","otherSlot","protectedScreens","isCustomNavigator","sorted","console","warn","QualifiedNavigator","resolvedInitialRouteName","useMemo","window","location","pathname","resolved","hasScreen","some","s","props","navigation","descriptors","NavigationContent","id","descriptorsRef","useRef","value","Provider","useNavigatorContext","context","useContext","Error","useSlot","notFoundState","notFoundRouteNode","notFoundPath","originalPath","NotFoundComponent","route","params","renderedElement","key","render","cloneElement","Slot","memo","Slot2","QualifiedSlot","DefaultNavigator","style","flex","getScopedSlotKey","layoutContextKey","useNamedSlot","scopedKey","slotState","activeRouteKey","isIntercepted","activeRouteNode","Component","NamedSlot","slotContent"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -5,13 +5,38 @@ import { SafeAreaView } from "react-native-safe-area-context";
5
5
  import { useFilterScreenChildren } from "../layouts/withLayoutContext.native.js";
6
6
  import { findNearestNotFoundRoute, findRouteNodeByPath, useNotFoundState } from "../notFoundState.native.js";
7
7
  import { useContextKey } from "../router/Route.native.js";
8
- import { matchRoutePattern, stripGroupSegmentsFromPath } from "../router/matchers.native.js";
8
+ import { getLinking } from "../router/linkingConfig.native.js";
9
9
  import { routeNode as globalRouteNode, initialPathname } from "../router/router.native.js";
10
10
  import { registerProtectedRoutes, unregisterProtectedRoutes } from "../router/router.native.js";
11
11
  import { useSortedScreens, getQualifiedRouteComponent } from "../router/useScreens.native.js";
12
12
  import { Screen } from "./Screen.native.js";
13
13
  import { registerClearSlotStates, registerSetSlotState } from "../router/interceptRoutes.native.js";
14
14
  var SLOT_STATIC_KEY = "one-slot-static-key";
15
+ function resolveInitialRouteFromLinking(contextKey, browserPath) {
16
+ var _current_index;
17
+ var _current_routes, _current_routes_idx;
18
+ var linking = getLinking();
19
+ if (!(linking === null || linking === void 0 ? void 0 : linking.getStateFromPath)) return void 0;
20
+ var current = linking.getStateFromPath(browserPath, linking.config);
21
+ var segments = contextKey.split("/").filter(Boolean);
22
+ var i = 0;
23
+ while (i < segments.length) {
24
+ var _current_index1;
25
+ var _current_routes1;
26
+ if (!(current === null || current === void 0 ? void 0 : (_current_routes1 = current.routes) === null || _current_routes1 === void 0 ? void 0 : _current_routes1.length)) return void 0;
27
+ var idx = (_current_index1 = current.index) !== null && _current_index1 !== void 0 ? _current_index1 : current.routes.length - 1;
28
+ var focused = current.routes[idx];
29
+ if (!(focused === null || focused === void 0 ? void 0 : focused.name) || !focused.state) return void 0;
30
+ var nameSegments = focused.name.split("/").filter(Boolean);
31
+ var expected = segments.slice(i, i + nameSegments.length).join("/");
32
+ if (focused.name !== expected) return void 0;
33
+ current = focused.state;
34
+ i += nameSegments.length;
35
+ }
36
+ if (!(current === null || current === void 0 ? void 0 : (_current_routes = current.routes) === null || _current_routes === void 0 ? void 0 : _current_routes.length)) return void 0;
37
+ var idx1 = (_current_index = current.index) !== null && _current_index !== void 0 ? _current_index : current.routes.length - 1;
38
+ return (_current_routes_idx = current.routes[idx1]) === null || _current_routes_idx === void 0 ? void 0 : _current_routes_idx.name;
39
+ }
15
40
  var globalSlotState = /* @__PURE__ */new Map();
16
41
  var slotStateListeners = /* @__PURE__ */new Set();
17
42
  function getSlotState(slotName) {
@@ -102,42 +127,13 @@ function QualifiedNavigator(param) {
102
127
  if (initialRouteName) return initialRouteName;
103
128
  var browserPath = initialPathname !== null && initialPathname !== void 0 ? initialPathname : typeof window !== "undefined" ? window.location.pathname : void 0;
104
129
  if (!browserPath) return void 0;
105
- var layoutUrlPrefix = stripGroupSegmentsFromPath(contextKey).replace(/\/+$/, "");
106
- var best;
107
- var _iteratorNormalCompletion = true,
108
- _didIteratorError = false,
109
- _iteratorError = void 0;
110
- try {
111
- for (var _iterator = screens[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
112
- var screen = _step.value;
113
- var _screen_props;
114
- var name = screen === null || screen === void 0 ? void 0 : (_screen_props = screen.props) === null || _screen_props === void 0 ? void 0 : _screen_props.name;
115
- if (!name) continue;
116
- var fullPattern = layoutUrlPrefix ? `${layoutUrlPrefix}/${name}` : name;
117
- var match = matchRoutePattern(fullPattern, browserPath);
118
- if (!match) continue;
119
- if (!best || match.specificity > best.specificity) {
120
- best = {
121
- name,
122
- specificity: match.specificity
123
- };
124
- }
125
- }
126
- } catch (err) {
127
- _didIteratorError = true;
128
- _iteratorError = err;
129
- } finally {
130
- try {
131
- if (!_iteratorNormalCompletion && _iterator.return != null) {
132
- _iterator.return();
133
- }
134
- } finally {
135
- if (_didIteratorError) {
136
- throw _iteratorError;
137
- }
138
- }
139
- }
140
- return best === null || best === void 0 ? void 0 : best.name;
130
+ var resolved = resolveInitialRouteFromLinking(contextKey, browserPath);
131
+ if (!resolved) return void 0;
132
+ var hasScreen = screens.some(function (s) {
133
+ var _s_props;
134
+ return (s === null || s === void 0 ? void 0 : (_s_props = s.props) === null || _s_props === void 0 ? void 0 : _s_props.name) === resolved;
135
+ });
136
+ return hasScreen ? resolved : void 0;
141
137
  }, [initialRouteName, screens, contextKey]);
142
138
  var {
143
139
  state,
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","Fragment","_Fragment","StackRouter","useNavigationBuilder","React","SafeAreaView","useFilterScreenChildren","findNearestNotFoundRoute","findRouteNodeByPath","useNotFoundState","useContextKey","matchRoutePattern","stripGroupSegmentsFromPath","routeNode","globalRouteNode","initialPathname","registerProtectedRoutes","unregisterProtectedRoutes","useSortedScreens","getQualifiedRouteComponent","Screen","registerClearSlotStates","registerSetSlotState","SLOT_STATIC_KEY","globalSlotState","Map","slotStateListeners","Set","getSlotState","slotName","get","setSlotState","state","delete","set","forEach","listener","clearAllSlotStates","clear","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","NavigatorContext","createContext","process","env","NODE_ENV","displayName","Navigator","param","initialRouteName","screenOptions","children","router","contextKey","screens","otherSlot","protectedScreens","isCustomNavigator","sorted","length","console","warn","QualifiedNavigator","resolvedInitialRouteName","useMemo","browserPath","window","location","pathname","layoutUrlPrefix","replace","best","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","screen","value","_screen_props","name","props","fullPattern","match","specificity","err","return","navigation","descriptors","NavigationContent","id","descriptorsRef","useRef","current","Provider","useNavigatorContext","context","useContext","Error","useSlot","_ref","_descriptorsRef_current_current_key","notFoundState","notFoundRouteNode","notFoundPath","originalPath","NotFoundComponent","route","params","routes","index","renderedElement","key","render","cloneElement","Slot","memo","Slot2","QualifiedSlot","DefaultNavigator","style","flex"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","Fragment","_Fragment","StackRouter","useNavigationBuilder","React","SafeAreaView","useFilterScreenChildren","findNearestNotFoundRoute","findRouteNodeByPath","useNotFoundState","useContextKey","getLinking","routeNode","globalRouteNode","initialPathname","registerProtectedRoutes","unregisterProtectedRoutes","useSortedScreens","getQualifiedRouteComponent","Screen","registerClearSlotStates","registerSetSlotState","SLOT_STATIC_KEY","resolveInitialRouteFromLinking","contextKey","browserPath","_current_index","_current_routes","_current_routes_idx","linking","getStateFromPath","current","config","segments","split","filter","Boolean","i","length","_current_index1","_current_routes1","routes","idx","index","focused","name","state","nameSegments","expected","slice","join","idx1","globalSlotState","Map","slotStateListeners","Set","getSlotState","slotName","get","setSlotState","delete","set","forEach","listener","clearAllSlotStates","clear","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","NavigatorContext","createContext","process","env","NODE_ENV","displayName","Navigator","param","initialRouteName","screenOptions","children","router","screens","otherSlot","protectedScreens","isCustomNavigator","sorted","console","warn","QualifiedNavigator","resolvedInitialRouteName","useMemo","window","location","pathname","resolved","hasScreen","some","s","_s_props","props","navigation","descriptors","NavigationContent","id","descriptorsRef","useRef","value","Provider","useNavigatorContext","context","useContext","Error","useSlot","_ref","_descriptorsRef_current_current_key","notFoundState","notFoundRouteNode","notFoundPath","originalPath","NotFoundComponent","route","params","renderedElement","key","render","cloneElement","Slot","memo","Slot2","QualifiedSlot","DefaultNavigator","style","flex","getScopedSlotKey","layoutContextKey","useNamedSlot","scopedKey","slotState","activeRouteKey","isIntercepted","activeRouteNode","Component"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.16.2",
3
+ "version": "1.16.3",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -170,17 +170,17 @@
170
170
  "@cloudflare/vite-plugin": "^1.33.1",
171
171
  "@swc/core": "^1.14.0",
172
172
  "@ungap/structured-clone": "^1.2.0",
173
- "@vxrn/color-scheme": "1.16.2",
174
- "@vxrn/compiler": "1.16.2",
175
- "@vxrn/resolve": "1.16.2",
176
- "@vxrn/tslib-lite": "1.16.2",
177
- "@vxrn/use-isomorphic-layout-effect": "1.16.2",
178
- "@vxrn/vite-plugin-metro": "1.16.2",
173
+ "@vxrn/color-scheme": "1.16.3",
174
+ "@vxrn/compiler": "1.16.3",
175
+ "@vxrn/resolve": "1.16.3",
176
+ "@vxrn/tslib-lite": "1.16.3",
177
+ "@vxrn/use-isomorphic-layout-effect": "1.16.3",
178
+ "@vxrn/vite-plugin-metro": "1.16.3",
179
179
  "babel-dead-code-elimination": "1.0.10",
180
180
  "babel-plugin-module-resolver": "^5.0.2",
181
181
  "citty": "^0.1.6",
182
182
  "core-js": "^3.38.1",
183
- "create-vxrn": "1.16.2",
183
+ "create-vxrn": "1.16.3",
184
184
  "escape-string-regexp": "^5.0.0",
185
185
  "expo-linking": "~55.0.7",
186
186
  "expo-modules-core": "~55.0.16",
@@ -200,7 +200,7 @@
200
200
  "tsconfig-paths": "^4",
201
201
  "use-latest-callback": "^0.2.3",
202
202
  "vite": "^8.0.0",
203
- "vxrn": "1.16.2",
203
+ "vxrn": "1.16.3",
204
204
  "ws": "^8.18.0",
205
205
  "xxhashjs": "^0.2.2"
206
206
  },
@@ -13,7 +13,7 @@ import {
13
13
  useNotFoundState,
14
14
  } from '../notFoundState'
15
15
  import { useContextKey } from '../router/Route'
16
- import { matchRoutePattern, stripGroupSegmentsFromPath } from '../router/matchers'
16
+ import { getLinking } from '../router/linkingConfig'
17
17
  import { routeNode as globalRouteNode, initialPathname } from '../router/router'
18
18
  import { registerProtectedRoutes, unregisterProtectedRoutes } from '../router/router'
19
19
  import { useSortedScreens, getQualifiedRouteComponent } from '../router/useScreens'
@@ -24,6 +24,46 @@ import { Screen } from './Screen'
24
24
  // at a time anyway, we can safely reuse the same component instance.
25
25
  const SLOT_STATIC_KEY = 'one-slot-static-key'
26
26
 
27
+ // resolve a navigator's initialRouteName by asking the linking config —
28
+ // the same getStateFromPath NavigationContainer uses for initialState —
29
+ // and walking the resulting nested state down to this navigator's depth.
30
+ //
31
+ // the contextKey of a layout (e.g. `/(public)/(auth-flow)`) lines up
32
+ // segment-for-segment with the route names react-navigation uses in its
33
+ // state tree, so this is a lookup at the right depth, not a re-derivation.
34
+ //
35
+ // hoisting wrinkle: when a directory has no `_layout.tsx`, its children
36
+ // are flattened into the nearest parent navigator with a multi-segment
37
+ // route name like `dashboard/[appId]/index`. the walker accepts these by
38
+ // consuming as many contextKey segments as the route's name spans.
39
+ function resolveInitialRouteFromLinking(
40
+ contextKey: string,
41
+ browserPath: string
42
+ ): string | undefined {
43
+ const linking = getLinking()
44
+ if (!linking?.getStateFromPath) return undefined
45
+
46
+ let current = linking.getStateFromPath(browserPath, linking.config)
47
+ const segments = contextKey.split('/').filter(Boolean)
48
+
49
+ let i = 0
50
+ while (i < segments.length) {
51
+ if (!current?.routes?.length) return undefined
52
+ const idx = current.index ?? current.routes.length - 1
53
+ const focused = current.routes[idx]
54
+ if (!focused?.name || !focused.state) return undefined
55
+ const nameSegments = focused.name.split('/').filter(Boolean)
56
+ const expected = segments.slice(i, i + nameSegments.length).join('/')
57
+ if (focused.name !== expected) return undefined
58
+ current = focused.state
59
+ i += nameSegments.length
60
+ }
61
+
62
+ if (!current?.routes?.length) return undefined
63
+ const idx = current.index ?? current.routes.length - 1
64
+ return current.routes[idx]?.name
65
+ }
66
+
27
67
  type NavigatorTypes = ReturnType<typeof useNavigationBuilder>
28
68
 
29
69
  // Import RouteNode type for slot state
@@ -174,22 +214,23 @@ function QualifiedNavigator({
174
214
  }: NavigatorProps & { contextKey: string; screens: React.ReactNode[] }) {
175
215
  // LATE MOUNT FIX: when a parent layout conditionally renders (auth gate,
176
216
  // suspense resolve, provider init, etc.), this navigator may mount after
177
- // initialState was consumed. compute the correct initialRouteName from the
178
- // original URL so the navigator starts on the right route instead of
179
- // defaulting to the first child. uses initialPathname (captured at setup)
180
- // instead of window.location.pathname because React Navigation's linking
181
- // can push a wrong URL during the delay.
217
+ // initialState was consumed by NavigationContainer. compute the correct
218
+ // initialRouteName from the original URL so the navigator starts on the
219
+ // right route instead of defaulting to the first child. uses
220
+ // initialPathname (captured at setup) instead of window.location.pathname
221
+ // because React Navigation's linking can push a wrong URL during the delay.
182
222
  //
183
- // this is especially important for hoisted deep dynamic routes: when a
184
- // directory has no _layout.tsx file, one flattens its children into the
185
- // nearest parent navigator. so for e.g. app/(app)/project/[projectId]/index.tsx
186
- // with no intermediate _layout.tsx files, the (app) navigator ends up with
187
- // children like ["index", "factory", "project/[projectId]/index"] as
188
- // flat siblings. if this navigator re-initializes during hydration and we
189
- // don't resolve the URL ourselves, React Navigation picks the first sibling
190
- // as the default mounting `index` while the browser is still on
191
- // /project/foo. that produces a visible redirect flash (seen in soot,
192
- // commit ea96e360).
223
+ // resolution uses the linking config's getStateFromPath the same
224
+ // function NavigationContainer uses to build the initial state and
225
+ // walks the resulting nested state down to this navigator's depth. that
226
+ // covers both:
227
+ // - sibling route groups, e.g. `(public)` vs `(authed)` at the root
228
+ // (pattern matching alone ties at specificity 0 because group
229
+ // segments don't appear in URLs)
230
+ // - hoisted deep dynamic routes, e.g. `project/[projectId]/index` as
231
+ // a flat sibling under (app) when there's no intermediate _layout
232
+ // (seen in soot, commit ea96e360 — picking the first sibling mounts
233
+ // `index` while the browser URL is still /project/foo)
193
234
  const resolvedInitialRouteName = React.useMemo(() => {
194
235
  if (initialRouteName) return initialRouteName
195
236
 
@@ -198,38 +239,17 @@ function QualifiedNavigator({
198
239
  (typeof window !== 'undefined' ? window.location.pathname : undefined)
199
240
  if (!browserPath) return undefined
200
241
 
201
- // screen names are relative to this navigator's parent layout. rather
202
- // than trying to strip the layout prefix from browserPath (which fails
203
- // when the layout path contains dynamic segments like
204
- // /project/[projectId] — a literal startsWith won't match `/project/foo`),
205
- // prepend the layout prefix to each screen name and match the full
206
- // pattern against browserPath. matchRoutePattern handles dynamic segments
207
- // segment-by-segment, so both the prefix and the screen-relative suffix
208
- // resolve correctly.
209
- //
210
- // contextKey is the layout's path including group segments, e.g.
211
- // `/(app)/project/[projectId]` or `/hooks/cases/route-group-pathname/(tabs)`.
212
- // stripping groups gives the URL-relevant prefix the screens live under.
213
- const layoutUrlPrefix = stripGroupSegmentsFromPath(contextKey).replace(/\/+$/, '')
214
-
215
- // score each screen by how specifically its full pattern matches the
216
- // URL. screen names may contain dynamic segments `[param]`/`[...param]`.
217
- // matchRoutePattern does a prefix match so layout screens (like
218
- // `project`) can match deeper URLs; the specificity score then tiebreaks
219
- // to pick the best leaf.
220
- let best: { name: string; specificity: number } | undefined
221
- for (const screen of screens) {
222
- const name = (screen as any)?.props?.name
223
- if (!name) continue
224
- const fullPattern = layoutUrlPrefix ? `${layoutUrlPrefix}/${name}` : name
225
- const match = matchRoutePattern(fullPattern, browserPath)
226
- if (!match) continue
227
- if (!best || match.specificity > best.specificity) {
228
- best = { name, specificity: match.specificity }
229
- }
230
- }
242
+ const resolved = resolveInitialRouteFromLinking(contextKey, browserPath)
243
+ if (!resolved) return undefined
231
244
 
232
- return best?.name
245
+ // only return a name that is actually one of this navigator's screens.
246
+ // if the linking state's depth doesn't line up with screens here (e.g.
247
+ // a custom navigator that filters screens), fall back to letting react
248
+ // navigation pick its default.
249
+ const hasScreen = screens.some(
250
+ (s) => (s as any)?.props?.name === resolved
251
+ )
252
+ return hasScreen ? resolved : undefined
233
253
  }, [initialRouteName, screens, contextKey])
234
254
 
235
255
  const { state, navigation, descriptors, NavigationContent } = useNavigationBuilder(
@@ -1 +1 @@
1
- {"version":3,"file":"Navigator.d.ts","sourceRoot":"","sources":["../../src/views/Navigator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Navigator.d.ts","sourceRoot":"","sources":["../../src/views/Navigator.tsx"],"names":[],"mappings":"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"}