@multiplatform.one/router 8.3.0 → 8.5.0
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/index.native.js +18 -6
- package/dist/cjs/router/index.native.js.map +1 -1
- package/dist/cjs/router/nativeFallback.cjs +45 -0
- package/dist/cjs/router/nativeFallback.native.js +53 -0
- package/dist/cjs/router/nativeFallback.native.js.map +1 -0
- package/dist/cjs/seam/DomNavigationHost.cjs +29 -2
- package/dist/cjs/seam/DomNavigationHost.native.js +34 -2
- package/dist/cjs/seam/DomNavigationHost.native.js.map +1 -1
- package/dist/esm/router/index.native.js +15 -3
- package/dist/esm/router/index.native.js.map +1 -1
- package/dist/esm/router/nativeFallback.mjs +19 -0
- package/dist/esm/router/nativeFallback.mjs.map +1 -0
- package/dist/esm/router/nativeFallback.native.js +24 -0
- package/dist/esm/router/nativeFallback.native.js.map +1 -0
- package/dist/esm/seam/DomNavigationHost.mjs +30 -3
- package/dist/esm/seam/DomNavigationHost.mjs.map +1 -1
- package/dist/esm/seam/DomNavigationHost.native.js +35 -3
- package/dist/esm/seam/DomNavigationHost.native.js.map +1 -1
- package/dist/jsx/router/index.native.js +18 -6
- package/dist/jsx/router/index.native.js.map +1 -1
- package/dist/jsx/router/nativeFallback.mjs +19 -0
- package/dist/jsx/router/nativeFallback.mjs.map +1 -0
- package/dist/jsx/router/nativeFallback.native.js +53 -0
- package/dist/jsx/router/nativeFallback.native.js.map +1 -0
- package/dist/jsx/seam/DomNavigationHost.mjs +30 -3
- package/dist/jsx/seam/DomNavigationHost.mjs.map +1 -1
- package/dist/jsx/seam/DomNavigationHost.native.js +34 -2
- package/dist/jsx/seam/DomNavigationHost.native.js.map +1 -1
- package/package.json +15 -4
- package/src/router/index.native.tsx +18 -3
- package/src/router/nativeFallback.spec.tsx +46 -0
- package/src/router/nativeFallback.tsx +19 -0
- package/src/seam/DomNavigationHost.routeHold.spec.tsx +78 -0
- package/src/seam/DomNavigationHost.tsx +34 -3
- package/types/router/index.native.d.ts +4 -2
- package/types/router/index.native.d.ts.map +1 -1
- package/types/router/nativeFallback.d.ts +10 -0
- package/types/router/nativeFallback.d.ts.map +1 -0
- package/types/seam/DomNavigationHost.d.ts.map +1 -1
|
@@ -24,17 +24,29 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
24
24
|
}), mod);
|
|
25
25
|
var index_native_exports = {};
|
|
26
26
|
__export(index_native_exports, {
|
|
27
|
-
Link: () =>
|
|
28
|
-
useParams: () =>
|
|
27
|
+
Link: () => Link,
|
|
28
|
+
useParams: () => useParams,
|
|
29
29
|
usePathname: () => usePathname,
|
|
30
|
-
useRouter: () =>
|
|
30
|
+
useRouter: () => useRouter
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(index_native_exports);
|
|
33
|
-
var
|
|
33
|
+
var import_nativeFallback = require("./nativeFallback.native.js");
|
|
34
|
+
function loadOne() {
|
|
35
|
+
try {
|
|
36
|
+
return require("one");
|
|
37
|
+
} catch (unused) {
|
|
38
|
+
return void 0;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
var router = (0, import_nativeFallback.pickRouter)(loadOne());
|
|
42
|
+
var Link = router.Link;
|
|
43
|
+
var useParams = router.useParams;
|
|
44
|
+
var useRouter = router.useRouter;
|
|
45
|
+
var useRouterPathname = router.usePathname;
|
|
34
46
|
function usePathname() {
|
|
35
47
|
try {
|
|
36
|
-
var
|
|
37
|
-
return (
|
|
48
|
+
var _useRouterPathname;
|
|
49
|
+
return (_useRouterPathname = useRouterPathname()) !== null && _useRouterPathname !== void 0 ? _useRouterPathname : "/";
|
|
38
50
|
} catch (unused) {
|
|
39
51
|
return "/";
|
|
40
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["index_native_exports","__export","Link","
|
|
1
|
+
{"version":3,"names":["index_native_exports","__export","Link","useParams","usePathname","useRouter","module","exports","__toCommonJS","import_nativeFallback","require","loadOne","unused","router","pickRouter","useRouterPathname","_useRouterPathname"],"sources":["../../../src/router/index.native.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAA,IAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAR,oBAAA;AAAA,IAAAS,qBAAA,GAA2BC,OAAA;AAC3B,SAASC,QAAA,EAAU;EACf,IAAI;IACA,OAAOD,OAAA,CAAQ,KAAK;EACxB,SAASE,MAAA,EAAQ;IACb,OAAO;EACX;AACJ;AACA,IAAIC,MAAA,OAASJ,qBAAA,CAAAK,UAAA,EAAWH,OAAA,CAAQ,CAAC;AAC1B,IAAIT,IAAA,GAAOW,MAAA,CAAOX,IAAA;AAClB,IAAIC,SAAA,GAAYU,MAAA,CAAOV,SAAA;AACvB,IAAIE,SAAA,GAAYQ,MAAA,CAAOR,SAAA;AAC9B,IAAIU,iBAAA,GAAoBF,MAAA,CAAOT,WAAA;AAOpB,SAASA,YAAA,EAAc;EAC9B,IAAI;IACA,IAAIY,kBAAA;IACJ,QAAQA,kBAAA,GAAqBD,iBAAA,CAAkB,OAAO,QAAQC,kBAAA,KAAuB,SAASA,kBAAA,GAAqB;EACvH,SAASJ,MAAA,EAAQ;IACb,OAAO;EACX;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var nativeFallback_exports = {};
|
|
24
|
+
__export(nativeFallback_exports, {
|
|
25
|
+
nativeFallback: () => nativeFallback,
|
|
26
|
+
pickRouter: () => pickRouter
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(nativeFallback_exports);
|
|
29
|
+
var import_EmptyRouter = require("./EmptyRouter.cjs");
|
|
30
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
31
|
+
const Link = ({
|
|
32
|
+
children
|
|
33
|
+
}) => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
34
|
+
children
|
|
35
|
+
});
|
|
36
|
+
Link.resolveHref = href => href.toString();
|
|
37
|
+
const nativeFallback = {
|
|
38
|
+
Link,
|
|
39
|
+
useParams: import_EmptyRouter.useParams,
|
|
40
|
+
usePathname: import_EmptyRouter.usePathname,
|
|
41
|
+
useRouter: import_EmptyRouter.useRouter
|
|
42
|
+
};
|
|
43
|
+
function pickRouter(one) {
|
|
44
|
+
return one ?? nativeFallback;
|
|
45
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var nativeFallback_exports = {};
|
|
26
|
+
__export(nativeFallback_exports, {
|
|
27
|
+
nativeFallback: () => nativeFallback,
|
|
28
|
+
pickRouter: () => pickRouter
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(nativeFallback_exports);
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_EmptyRouter = require("./EmptyRouter.native.js");
|
|
33
|
+
var Link = function Link2(param) {
|
|
34
|
+
var {
|
|
35
|
+
children
|
|
36
|
+
} = param;
|
|
37
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
38
|
+
children
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
Link.resolveHref = function (href) {
|
|
42
|
+
return href.toString();
|
|
43
|
+
};
|
|
44
|
+
var nativeFallback = {
|
|
45
|
+
Link,
|
|
46
|
+
useParams: import_EmptyRouter.useParams,
|
|
47
|
+
usePathname: import_EmptyRouter.usePathname,
|
|
48
|
+
useRouter: import_EmptyRouter.useRouter
|
|
49
|
+
};
|
|
50
|
+
function pickRouter(one) {
|
|
51
|
+
return one !== null && one !== void 0 ? one : nativeFallback;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=nativeFallback.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","nativeFallback_exports","__export","nativeFallback","pickRouter","module","exports","import_jsx_runtime","require","import_EmptyRouter","Link","Link2","param","children","jsx","Fragment"],"sources":["../../../src/router/nativeFallback.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,UAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAV,YAAkD,CAAAK,sBAAA;AASJ,IAAAM,kBAAA,GAAAC,OAAA;AAA9C,IAAAC,kBAA+B,GAASD,OAAM;AAE9C,IAAAE,IAAK,YAAeC,MAAAC,KAAS;EAEtB,IAAM;IAAAC;EAAA,IAAAD,KAAiC;EAEvC,OAAS,eAAwD,IAAAL,kBAAA,CAAAO,GAAA,EAAAP,kBAAA,CAAAQ,QAAA;IACtEF;EACF","ignoreList":[]}
|
|
@@ -87,6 +87,16 @@ function useZeroHeightWarning(ref) {
|
|
|
87
87
|
return () => cancelAnimationFrame(raf);
|
|
88
88
|
}, [ref]);
|
|
89
89
|
}
|
|
90
|
+
function PageLoading({
|
|
91
|
+
tag,
|
|
92
|
+
onPending
|
|
93
|
+
}) {
|
|
94
|
+
(0, import_react.useLayoutEffect)(() => {
|
|
95
|
+
onPending(tag, true);
|
|
96
|
+
return () => onPending(tag, false);
|
|
97
|
+
}, [tag, onPending]);
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
90
100
|
function DomNavigationHost({
|
|
91
101
|
routes,
|
|
92
102
|
initialHref,
|
|
@@ -109,6 +119,19 @@ function DomNavigationHost({
|
|
|
109
119
|
}, []);
|
|
110
120
|
useZeroHeightWarning(hostRef);
|
|
111
121
|
const nav = (0, import_navigator.useNavState)();
|
|
122
|
+
const pendingRef = (0, import_react.useRef)(/* @__PURE__ */new Set());
|
|
123
|
+
const [, setPendingVersion] = (0, import_react.useState)(0);
|
|
124
|
+
const markPending = (0, import_react.useCallback)((tag, isPending) => {
|
|
125
|
+
if (pendingRef.current.has(tag) === isPending) return;
|
|
126
|
+
if (isPending) pendingRef.current.add(tag);else pendingRef.current.delete(tag);
|
|
127
|
+
setPendingVersion(version => version + 1);
|
|
128
|
+
}, []);
|
|
129
|
+
const settledRef = (0, import_react.useRef)(nav.tag);
|
|
130
|
+
(0, import_react.useLayoutEffect)(() => {
|
|
131
|
+
if (!pendingRef.current.has(nav.tag)) settledRef.current = nav.tag;
|
|
132
|
+
});
|
|
133
|
+
const pending = pendingRef.current;
|
|
134
|
+
const shown = pending.has(nav.tag) ? settledRef.current : nav.tag;
|
|
112
135
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
113
136
|
ref: hostRef,
|
|
114
137
|
style: {
|
|
@@ -121,11 +144,12 @@ function DomNavigationHost({
|
|
|
121
144
|
...style
|
|
122
145
|
},
|
|
123
146
|
children: routes.map(route => {
|
|
124
|
-
const active =
|
|
147
|
+
const active = shown === route.tag;
|
|
125
148
|
const mounted = import_navigator.stackNavigator.isVisited(route.tag);
|
|
126
149
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
127
150
|
"data-seam-page": route.tag,
|
|
128
151
|
"data-seam-active": active ? "true" : "false",
|
|
152
|
+
"data-seam-pending": pending.has(route.tag) ? "true" : void 0,
|
|
129
153
|
style: {
|
|
130
154
|
...PAGE_STYLE,
|
|
131
155
|
display: active ? "flex" : "none"
|
|
@@ -133,7 +157,10 @@ function DomNavigationHost({
|
|
|
133
157
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_navigator.RouteTagContext.Provider, {
|
|
134
158
|
value: route.tag,
|
|
135
159
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.Suspense, {
|
|
136
|
-
fallback:
|
|
160
|
+
fallback: /* @__PURE__ */(0, import_jsx_runtime.jsx)(PageLoading, {
|
|
161
|
+
tag: route.tag,
|
|
162
|
+
onPending: markPending
|
|
163
|
+
}),
|
|
137
164
|
children: mounted ? route.element : null
|
|
138
165
|
})
|
|
139
166
|
})
|
|
@@ -145,6 +145,19 @@ function useZeroHeightWarning(ref) {
|
|
|
145
145
|
};
|
|
146
146
|
}, [ref]);
|
|
147
147
|
}
|
|
148
|
+
function PageLoading(param) {
|
|
149
|
+
var {
|
|
150
|
+
tag,
|
|
151
|
+
onPending
|
|
152
|
+
} = param;
|
|
153
|
+
(0, import_react.useLayoutEffect)(function () {
|
|
154
|
+
onPending(tag, true);
|
|
155
|
+
return function () {
|
|
156
|
+
return onPending(tag, false);
|
|
157
|
+
};
|
|
158
|
+
}, [tag, onPending]);
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
148
161
|
function DomNavigationHost(param) {
|
|
149
162
|
var {
|
|
150
163
|
routes,
|
|
@@ -174,6 +187,21 @@ function DomNavigationHost(param) {
|
|
|
174
187
|
}, []);
|
|
175
188
|
useZeroHeightWarning(hostRef);
|
|
176
189
|
var nav = (0, import_navigator.useNavState)();
|
|
190
|
+
var pendingRef = (0, import_react.useRef)(/* @__PURE__ */new Set());
|
|
191
|
+
var [, setPendingVersion] = (0, import_react.useState)(0);
|
|
192
|
+
var markPending = (0, import_react.useCallback)(function (tag, isPending) {
|
|
193
|
+
if (pendingRef.current.has(tag) === isPending) return;
|
|
194
|
+
if (isPending) pendingRef.current.add(tag);else pendingRef.current.delete(tag);
|
|
195
|
+
setPendingVersion(function (version) {
|
|
196
|
+
return version + 1;
|
|
197
|
+
});
|
|
198
|
+
}, []);
|
|
199
|
+
var settledRef = (0, import_react.useRef)(nav.tag);
|
|
200
|
+
(0, import_react.useLayoutEffect)(function () {
|
|
201
|
+
if (!pendingRef.current.has(nav.tag)) settledRef.current = nav.tag;
|
|
202
|
+
});
|
|
203
|
+
var pending = pendingRef.current;
|
|
204
|
+
var shown = pending.has(nav.tag) ? settledRef.current : nav.tag;
|
|
177
205
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
178
206
|
ref: hostRef,
|
|
179
207
|
style: {
|
|
@@ -186,11 +214,12 @@ function DomNavigationHost(param) {
|
|
|
186
214
|
...style
|
|
187
215
|
},
|
|
188
216
|
children: routes.map(function (route) {
|
|
189
|
-
var active =
|
|
217
|
+
var active = shown === route.tag;
|
|
190
218
|
var mounted = import_navigator.stackNavigator.isVisited(route.tag);
|
|
191
219
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
|
|
192
220
|
"data-seam-page": route.tag,
|
|
193
221
|
"data-seam-active": active ? "true" : "false",
|
|
222
|
+
"data-seam-pending": pending.has(route.tag) ? "true" : void 0,
|
|
194
223
|
style: {
|
|
195
224
|
...PAGE_STYLE,
|
|
196
225
|
display: active ? "flex" : "none"
|
|
@@ -198,7 +227,10 @@ function DomNavigationHost(param) {
|
|
|
198
227
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_navigator.RouteTagContext.Provider, {
|
|
199
228
|
value: route.tag,
|
|
200
229
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.Suspense, {
|
|
201
|
-
fallback:
|
|
230
|
+
fallback: /* @__PURE__ */(0, import_jsx_runtime.jsx)(PageLoading, {
|
|
231
|
+
tag: route.tag,
|
|
232
|
+
onPending: markPending
|
|
233
|
+
}),
|
|
202
234
|
children: mounted ? route.element : null
|
|
203
235
|
})
|
|
204
236
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","DomNavigationHost_exports","__export","DomNavigationHost","DomStackAdapter","module","exports","import_jsx_runtime","require","import_react","import_navigator","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","DomStackAdapter2","rootTag","onChanged","stack","push_by_tag","tag","push","pop","pop_to_tag","idx","lastIndexOf","slice","replace_with_tags","tags","get_navigation_stack","snapshot","get_n_items","get_item","index","get_tag","_snapshot_index","PAGE_STYLE","position","flex","minHeight","display","flexDirection","overflow","useZeroHeightWarning","ref"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,yBAAA;AAAAC,QAAA,CAAAD,yBAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA;AAAA;AA4BAC,MAAA,CAAAC,OAAA,GAAAV,
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","DomNavigationHost_exports","__export","DomNavigationHost","DomStackAdapter","module","exports","import_jsx_runtime","require","import_react","import_navigator","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","DomStackAdapter2","rootTag","onChanged","stack","push_by_tag","tag","push","pop","pop_to_tag","idx","lastIndexOf","slice","replace_with_tags","tags","get_navigation_stack","snapshot","get_n_items","get_item","index","get_tag","_snapshot_index","PAGE_STYLE","position","flex","minHeight","display","flexDirection","overflow","useZeroHeightWarning","ref","useEffect","process","env","NODE_ENV","el","current","raf","requestAnimationFrame","offsetParent","getBoundingClientRect","height","console","error","cancelAnimationFrame","PageLoading","param","onPending","useLayoutEffect"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { pickRouter } from "./nativeFallback.native.js";
|
|
2
|
+
function loadOne() {
|
|
3
|
+
try {
|
|
4
|
+
return require("one");
|
|
5
|
+
} catch (unused) {
|
|
6
|
+
return void 0;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
var router = pickRouter(loadOne());
|
|
10
|
+
var Link = router.Link;
|
|
11
|
+
var useParams = router.useParams;
|
|
12
|
+
var useRouter = router.useRouter;
|
|
13
|
+
var useRouterPathname = router.usePathname;
|
|
2
14
|
function usePathname() {
|
|
3
15
|
try {
|
|
4
|
-
var
|
|
5
|
-
return (
|
|
16
|
+
var _useRouterPathname;
|
|
17
|
+
return (_useRouterPathname = useRouterPathname()) !== null && _useRouterPathname !== void 0 ? _useRouterPathname : "/";
|
|
6
18
|
} catch (unused) {
|
|
7
19
|
return "/";
|
|
8
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["pickRouter","loadOne","require","unused","router","Link","useParams","useRouter","useRouterPathname","usePathname","_useRouterPathname"],"sources":["../../../src/router/index.native.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,QAAA,EAAU;EACf,IAAI;IACA,OAAOC,OAAA,CAAQ,KAAK;EACxB,SAASC,MAAA,EAAQ;IACb,OAAO;EACX;AACJ;AACA,IAAIC,MAAA,GAASJ,UAAA,CAAWC,OAAA,CAAQ,CAAC;AAC1B,IAAII,IAAA,GAAOD,MAAA,CAAOC,IAAA;AAClB,IAAIC,SAAA,GAAYF,MAAA,CAAOE,SAAA;AACvB,IAAIC,SAAA,GAAYH,MAAA,CAAOG,SAAA;AAC9B,IAAIC,iBAAA,GAAoBJ,MAAA,CAAOK,WAAA;AAOpB,SAASA,YAAA,EAAc;EAC9B,IAAI;IACA,IAAIC,kBAAA;IACJ,QAAQA,kBAAA,GAAqBF,iBAAA,CAAkB,OAAO,QAAQE,kBAAA,KAAuB,SAASA,kBAAA,GAAqB;EACvH,SAASP,MAAA,EAAQ;IACb,OAAO;EACX;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useParams, usePathname, useRouter } from "./EmptyRouter.mjs";
|
|
2
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
3
|
+
const Link = ({
|
|
4
|
+
children
|
|
5
|
+
}) => /* @__PURE__ */jsx(Fragment, {
|
|
6
|
+
children
|
|
7
|
+
});
|
|
8
|
+
Link.resolveHref = href => href.toString();
|
|
9
|
+
const nativeFallback = {
|
|
10
|
+
Link,
|
|
11
|
+
useParams,
|
|
12
|
+
usePathname,
|
|
13
|
+
useRouter
|
|
14
|
+
};
|
|
15
|
+
function pickRouter(one) {
|
|
16
|
+
return one ?? nativeFallback;
|
|
17
|
+
}
|
|
18
|
+
export { nativeFallback, pickRouter };
|
|
19
|
+
//# sourceMappingURL=nativeFallback.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useParams","usePathname","useRouter","Fragment","jsx","Link","children","resolveHref","href","toString","nativeFallback","pickRouter","one"],"sources":["../../../src/router/nativeFallback.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,SAAA,EAAWC,WAAA,EAAaC,SAAA,QAAiB;AASJ,SAAAC,QAAA,EAAAC,GAAA;AAA9C,MAAMC,IAAA,GAAsBA,CAAC;EAAEC;AAAS,MAAM,eAAAF,GAAA,CAAAD,QAAA;EAAGG;AAAA,CAAS;AAE1DD,IAAA,CAAKE,WAAA,GAAeC,IAAA,IAASA,IAAA,CAAKC,QAAA,CAAS;AAEpC,MAAMC,cAAA,GAA+B;EAAEL,IAAA;EAAML,SAAA;EAAWC,WAAA;EAAaC;AAAU;AAE/E,SAASS,WAAWC,GAAA,EAA6C;EACtE,OAAOA,GAAA,IAAOF,cAAA;AAChB","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useParams, usePathname, useRouter } from "./EmptyRouter.native.js";
|
|
3
|
+
var Link = function Link2(param) {
|
|
4
|
+
var {
|
|
5
|
+
children
|
|
6
|
+
} = param;
|
|
7
|
+
return /* @__PURE__ */_jsx(_Fragment, {
|
|
8
|
+
children
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Link.resolveHref = function (href) {
|
|
12
|
+
return href.toString();
|
|
13
|
+
};
|
|
14
|
+
var nativeFallback = {
|
|
15
|
+
Link,
|
|
16
|
+
useParams,
|
|
17
|
+
usePathname,
|
|
18
|
+
useRouter
|
|
19
|
+
};
|
|
20
|
+
function pickRouter(one) {
|
|
21
|
+
return one !== null && one !== void 0 ? one : nativeFallback;
|
|
22
|
+
}
|
|
23
|
+
export { nativeFallback, pickRouter };
|
|
24
|
+
//# sourceMappingURL=nativeFallback.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","Fragment","_Fragment","useParams","usePathname","useRouter","Link","Link2","param","children"],"sources":["../../../src/router/nativeFallback.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAW,EAAAC,QAAA,IAAaC,SAAA,QAAiB;AASJ,SAAAC,SAAA,EAAAC,WAAA,EAAAC,SAAA;AAA9C,IAAAC,IAAM,YAAyBC,KAASA,CAAAC,KAAM;EAE9C,IAAK;IAAAC;EAAA,IAAeD,KAAA;EAEb,OAAM,eAAiCR,IAAA,CAAAE,SAAM;IAE7CO;EACL;AACF","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Suspense, useEffect, useRef } from "react";
|
|
1
|
+
import { Suspense, useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
2
2
|
import { RouteTagContext, stackNavigator, useNavState } from "./navigator.mjs";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
class DomStackAdapter {
|
|
@@ -59,6 +59,16 @@ function useZeroHeightWarning(ref) {
|
|
|
59
59
|
return () => cancelAnimationFrame(raf);
|
|
60
60
|
}, [ref]);
|
|
61
61
|
}
|
|
62
|
+
function PageLoading({
|
|
63
|
+
tag,
|
|
64
|
+
onPending
|
|
65
|
+
}) {
|
|
66
|
+
useLayoutEffect(() => {
|
|
67
|
+
onPending(tag, true);
|
|
68
|
+
return () => onPending(tag, false);
|
|
69
|
+
}, [tag, onPending]);
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
62
72
|
function DomNavigationHost({
|
|
63
73
|
routes,
|
|
64
74
|
initialHref,
|
|
@@ -81,6 +91,19 @@ function DomNavigationHost({
|
|
|
81
91
|
}, []);
|
|
82
92
|
useZeroHeightWarning(hostRef);
|
|
83
93
|
const nav = useNavState();
|
|
94
|
+
const pendingRef = useRef(/* @__PURE__ */new Set());
|
|
95
|
+
const [, setPendingVersion] = useState(0);
|
|
96
|
+
const markPending = useCallback((tag, isPending) => {
|
|
97
|
+
if (pendingRef.current.has(tag) === isPending) return;
|
|
98
|
+
if (isPending) pendingRef.current.add(tag);else pendingRef.current.delete(tag);
|
|
99
|
+
setPendingVersion(version => version + 1);
|
|
100
|
+
}, []);
|
|
101
|
+
const settledRef = useRef(nav.tag);
|
|
102
|
+
useLayoutEffect(() => {
|
|
103
|
+
if (!pendingRef.current.has(nav.tag)) settledRef.current = nav.tag;
|
|
104
|
+
});
|
|
105
|
+
const pending = pendingRef.current;
|
|
106
|
+
const shown = pending.has(nav.tag) ? settledRef.current : nav.tag;
|
|
84
107
|
return /* @__PURE__ */jsx("div", {
|
|
85
108
|
ref: hostRef,
|
|
86
109
|
style: {
|
|
@@ -93,11 +116,12 @@ function DomNavigationHost({
|
|
|
93
116
|
...style
|
|
94
117
|
},
|
|
95
118
|
children: routes.map(route => {
|
|
96
|
-
const active =
|
|
119
|
+
const active = shown === route.tag;
|
|
97
120
|
const mounted = stackNavigator.isVisited(route.tag);
|
|
98
121
|
return /* @__PURE__ */jsx("div", {
|
|
99
122
|
"data-seam-page": route.tag,
|
|
100
123
|
"data-seam-active": active ? "true" : "false",
|
|
124
|
+
"data-seam-pending": pending.has(route.tag) ? "true" : void 0,
|
|
101
125
|
style: {
|
|
102
126
|
...PAGE_STYLE,
|
|
103
127
|
display: active ? "flex" : "none"
|
|
@@ -105,7 +129,10 @@ function DomNavigationHost({
|
|
|
105
129
|
children: /* @__PURE__ */jsx(RouteTagContext.Provider, {
|
|
106
130
|
value: route.tag,
|
|
107
131
|
children: /* @__PURE__ */jsx(Suspense, {
|
|
108
|
-
fallback:
|
|
132
|
+
fallback: /* @__PURE__ */jsx(PageLoading, {
|
|
133
|
+
tag: route.tag,
|
|
134
|
+
onPending: markPending
|
|
135
|
+
}),
|
|
109
136
|
children: mounted ? route.element : null
|
|
110
137
|
})
|
|
111
138
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Suspense","useEffect","useRef","RouteTagContext","stackNavigator","useNavState","jsx","DomStackAdapter","stack","onChanged","constructor","rootTag","push_by_tag","tag","push","pop","length","pop_to_tag","idx","lastIndexOf","slice","replace_with_tags","tags","get_navigation_stack","snapshot","get_n_items","get_item","index","get_tag","PAGE_STYLE","position","flex","minHeight","display","flexDirection","overflow","useZeroHeightWarning","ref","process","env","NODE_ENV","el","current","raf","requestAnimationFrame","offsetParent","getBoundingClientRect","height","console","error","cancelAnimationFrame","DomNavigationHost","routes","initialHref","style","hostRef","adapterRef","seedInitialRoute","syncFromHost","initialHrefRef","adapter","attach","detach","nav","children","map","route","active","mounted","isVisited","Provider","value","fallback","element"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":"AA4BA,SAASA,QAAA,EAAUC,SAAA,EAAWC,MAAA,
|
|
1
|
+
{"version":3,"names":["Suspense","useCallback","useEffect","useLayoutEffect","useRef","useState","RouteTagContext","stackNavigator","useNavState","jsx","DomStackAdapter","stack","onChanged","constructor","rootTag","push_by_tag","tag","push","pop","length","pop_to_tag","idx","lastIndexOf","slice","replace_with_tags","tags","get_navigation_stack","snapshot","get_n_items","get_item","index","get_tag","PAGE_STYLE","position","flex","minHeight","display","flexDirection","overflow","useZeroHeightWarning","ref","process","env","NODE_ENV","el","current","raf","requestAnimationFrame","offsetParent","getBoundingClientRect","height","console","error","cancelAnimationFrame","PageLoading","onPending","DomNavigationHost","routes","initialHref","style","hostRef","adapterRef","seedInitialRoute","syncFromHost","initialHrefRef","adapter","attach","detach","nav","pendingRef","Set","setPendingVersion","markPending","isPending","has","add","delete","version","settledRef","pending","shown","children","map","route","active","mounted","isVisited","Provider","value","fallback","element"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Suspense, useEffect, useRef } from "react";
|
|
2
|
+
import { Suspense, useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
3
3
|
import { RouteTagContext, stackNavigator, useNavState } from "./navigator.native.js";
|
|
4
4
|
function _class_call_check(instance, Constructor) {
|
|
5
5
|
if (!(instance instanceof Constructor)) {
|
|
@@ -115,6 +115,19 @@ function useZeroHeightWarning(ref) {
|
|
|
115
115
|
};
|
|
116
116
|
}, [ref]);
|
|
117
117
|
}
|
|
118
|
+
function PageLoading(param) {
|
|
119
|
+
var {
|
|
120
|
+
tag,
|
|
121
|
+
onPending
|
|
122
|
+
} = param;
|
|
123
|
+
useLayoutEffect(function () {
|
|
124
|
+
onPending(tag, true);
|
|
125
|
+
return function () {
|
|
126
|
+
return onPending(tag, false);
|
|
127
|
+
};
|
|
128
|
+
}, [tag, onPending]);
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
118
131
|
function DomNavigationHost(param) {
|
|
119
132
|
var {
|
|
120
133
|
routes,
|
|
@@ -144,6 +157,21 @@ function DomNavigationHost(param) {
|
|
|
144
157
|
}, []);
|
|
145
158
|
useZeroHeightWarning(hostRef);
|
|
146
159
|
var nav = useNavState();
|
|
160
|
+
var pendingRef = useRef(/* @__PURE__ */new Set());
|
|
161
|
+
var [, setPendingVersion] = useState(0);
|
|
162
|
+
var markPending = useCallback(function (tag, isPending) {
|
|
163
|
+
if (pendingRef.current.has(tag) === isPending) return;
|
|
164
|
+
if (isPending) pendingRef.current.add(tag);else pendingRef.current.delete(tag);
|
|
165
|
+
setPendingVersion(function (version) {
|
|
166
|
+
return version + 1;
|
|
167
|
+
});
|
|
168
|
+
}, []);
|
|
169
|
+
var settledRef = useRef(nav.tag);
|
|
170
|
+
useLayoutEffect(function () {
|
|
171
|
+
if (!pendingRef.current.has(nav.tag)) settledRef.current = nav.tag;
|
|
172
|
+
});
|
|
173
|
+
var pending = pendingRef.current;
|
|
174
|
+
var shown = pending.has(nav.tag) ? settledRef.current : nav.tag;
|
|
147
175
|
return /* @__PURE__ */_jsx("div", {
|
|
148
176
|
ref: hostRef,
|
|
149
177
|
style: {
|
|
@@ -156,11 +184,12 @@ function DomNavigationHost(param) {
|
|
|
156
184
|
...style
|
|
157
185
|
},
|
|
158
186
|
children: routes.map(function (route) {
|
|
159
|
-
var active =
|
|
187
|
+
var active = shown === route.tag;
|
|
160
188
|
var mounted = stackNavigator.isVisited(route.tag);
|
|
161
189
|
return /* @__PURE__ */_jsx("div", {
|
|
162
190
|
"data-seam-page": route.tag,
|
|
163
191
|
"data-seam-active": active ? "true" : "false",
|
|
192
|
+
"data-seam-pending": pending.has(route.tag) ? "true" : void 0,
|
|
164
193
|
style: {
|
|
165
194
|
...PAGE_STYLE,
|
|
166
195
|
display: active ? "flex" : "none"
|
|
@@ -168,7 +197,10 @@ function DomNavigationHost(param) {
|
|
|
168
197
|
children: /* @__PURE__ */_jsx(RouteTagContext.Provider, {
|
|
169
198
|
value: route.tag,
|
|
170
199
|
children: /* @__PURE__ */_jsx(Suspense, {
|
|
171
|
-
fallback:
|
|
200
|
+
fallback: /* @__PURE__ */_jsx(PageLoading, {
|
|
201
|
+
tag: route.tag,
|
|
202
|
+
onPending: markPending
|
|
203
|
+
}),
|
|
172
204
|
children: mounted ? route.element : null
|
|
173
205
|
})
|
|
174
206
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","Suspense","useEffect","useRef","RouteTagContext","stackNavigator","useNavState","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","DomStackAdapter","DomStackAdapter2","rootTag","onChanged","stack","push_by_tag","tag","push","pop","pop_to_tag","idx","lastIndexOf","slice","replace_with_tags","tags","get_navigation_stack","snapshot","get_n_items","get_item","index","get_tag","_snapshot_index","PAGE_STYLE","position","flex","minHeight","display","flexDirection","overflow","useZeroHeightWarning","ref","process","env","NODE_ENV","el","current","raf","requestAnimationFrame"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":"AA4BA,SAASA,GAAA,IAAAC,IAAU,
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","Suspense","useCallback","useEffect","useLayoutEffect","useRef","useState","RouteTagContext","stackNavigator","useNavState","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","DomStackAdapter","DomStackAdapter2","rootTag","onChanged","stack","push_by_tag","tag","push","pop","pop_to_tag","idx","lastIndexOf","slice","replace_with_tags","tags","get_navigation_stack","snapshot","get_n_items","get_item","index","get_tag","_snapshot_index","PAGE_STYLE","position","flex","minHeight","display","flexDirection","overflow","useZeroHeightWarning","ref","process","env","NODE_ENV","el","current","raf","requestAnimationFrame","offsetParent","getBoundingClientRect","height","console","error","cancelAnimationFrame","PageLoading","param","onPending","DomNavigationHost","routes","initialHref","style"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -24,17 +24,29 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
24
24
|
}), mod);
|
|
25
25
|
var index_native_exports = {};
|
|
26
26
|
__export(index_native_exports, {
|
|
27
|
-
Link: () =>
|
|
28
|
-
useParams: () =>
|
|
27
|
+
Link: () => Link,
|
|
28
|
+
useParams: () => useParams,
|
|
29
29
|
usePathname: () => usePathname,
|
|
30
|
-
useRouter: () =>
|
|
30
|
+
useRouter: () => useRouter
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(index_native_exports);
|
|
33
|
-
var
|
|
33
|
+
var import_nativeFallback = require("./nativeFallback.native.js");
|
|
34
|
+
function loadOne() {
|
|
35
|
+
try {
|
|
36
|
+
return require("one");
|
|
37
|
+
} catch (unused) {
|
|
38
|
+
return void 0;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
var router = (0, import_nativeFallback.pickRouter)(loadOne());
|
|
42
|
+
var Link = router.Link;
|
|
43
|
+
var useParams = router.useParams;
|
|
44
|
+
var useRouter = router.useRouter;
|
|
45
|
+
var useRouterPathname = router.usePathname;
|
|
34
46
|
function usePathname() {
|
|
35
47
|
try {
|
|
36
|
-
var
|
|
37
|
-
return (
|
|
48
|
+
var _useRouterPathname;
|
|
49
|
+
return (_useRouterPathname = useRouterPathname()) !== null && _useRouterPathname !== void 0 ? _useRouterPathname : "/";
|
|
38
50
|
} catch (unused) {
|
|
39
51
|
return "/";
|
|
40
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["index_native_exports","__export","Link","
|
|
1
|
+
{"version":3,"names":["index_native_exports","__export","Link","useParams","usePathname","useRouter","module","exports","__toCommonJS","import_nativeFallback","require","loadOne","unused","router","pickRouter","useRouterPathname","_useRouterPathname"],"sources":["../../../src/router/index.native.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAA,IAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAR,oBAAA;AAAA,IAAAS,qBAAA,GAA2BC,OAAA;AAC3B,SAASC,QAAA,EAAU;EACf,IAAI;IACA,OAAOD,OAAA,CAAQ,KAAK;EACxB,SAASE,MAAA,EAAQ;IACb,OAAO;EACX;AACJ;AACA,IAAIC,MAAA,OAASJ,qBAAA,CAAAK,UAAA,EAAWH,OAAA,CAAQ,CAAC;AAC1B,IAAIT,IAAA,GAAOW,MAAA,CAAOX,IAAA;AAClB,IAAIC,SAAA,GAAYU,MAAA,CAAOV,SAAA;AACvB,IAAIE,SAAA,GAAYQ,MAAA,CAAOR,SAAA;AAC9B,IAAIU,iBAAA,GAAoBF,MAAA,CAAOT,WAAA;AAOpB,SAASA,YAAA,EAAc;EAC9B,IAAI;IACA,IAAIY,kBAAA;IACJ,QAAQA,kBAAA,GAAqBD,iBAAA,CAAkB,OAAO,QAAQC,kBAAA,KAAuB,SAASA,kBAAA,GAAqB;EACvH,SAASJ,MAAA,EAAQ;IACb,OAAO;EACX;AACJ","ignoreList":[]}
|