@multiplatform.one/router 8.3.0 → 8.4.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.
Files changed (39) hide show
  1. package/dist/cjs/router/index.native.js +18 -6
  2. package/dist/cjs/router/index.native.js.map +1 -1
  3. package/dist/cjs/router/nativeFallback.cjs +45 -0
  4. package/dist/cjs/router/nativeFallback.native.js +53 -0
  5. package/dist/cjs/router/nativeFallback.native.js.map +1 -0
  6. package/dist/cjs/seam/DomNavigationHost.cjs +29 -2
  7. package/dist/cjs/seam/DomNavigationHost.native.js +34 -2
  8. package/dist/cjs/seam/DomNavigationHost.native.js.map +1 -1
  9. package/dist/esm/router/index.native.js +15 -3
  10. package/dist/esm/router/index.native.js.map +1 -1
  11. package/dist/esm/router/nativeFallback.mjs +19 -0
  12. package/dist/esm/router/nativeFallback.mjs.map +1 -0
  13. package/dist/esm/router/nativeFallback.native.js +24 -0
  14. package/dist/esm/router/nativeFallback.native.js.map +1 -0
  15. package/dist/esm/seam/DomNavigationHost.mjs +30 -3
  16. package/dist/esm/seam/DomNavigationHost.mjs.map +1 -1
  17. package/dist/esm/seam/DomNavigationHost.native.js +35 -3
  18. package/dist/esm/seam/DomNavigationHost.native.js.map +1 -1
  19. package/dist/jsx/router/index.native.js +18 -6
  20. package/dist/jsx/router/index.native.js.map +1 -1
  21. package/dist/jsx/router/nativeFallback.mjs +19 -0
  22. package/dist/jsx/router/nativeFallback.mjs.map +1 -0
  23. package/dist/jsx/router/nativeFallback.native.js +53 -0
  24. package/dist/jsx/router/nativeFallback.native.js.map +1 -0
  25. package/dist/jsx/seam/DomNavigationHost.mjs +30 -3
  26. package/dist/jsx/seam/DomNavigationHost.mjs.map +1 -1
  27. package/dist/jsx/seam/DomNavigationHost.native.js +34 -2
  28. package/dist/jsx/seam/DomNavigationHost.native.js.map +1 -1
  29. package/package.json +15 -4
  30. package/src/router/index.native.tsx +18 -3
  31. package/src/router/nativeFallback.spec.tsx +46 -0
  32. package/src/router/nativeFallback.tsx +19 -0
  33. package/src/seam/DomNavigationHost.routeHold.spec.tsx +78 -0
  34. package/src/seam/DomNavigationHost.tsx +34 -3
  35. package/types/router/index.native.d.ts +4 -2
  36. package/types/router/index.native.d.ts.map +1 -1
  37. package/types/router/nativeFallback.d.ts +10 -0
  38. package/types/router/nativeFallback.d.ts.map +1 -0
  39. 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: () => import_one.Link,
28
- useParams: () => import_one.useParams,
27
+ Link: () => Link,
28
+ useParams: () => useParams,
29
29
  usePathname: () => usePathname,
30
- useRouter: () => import_one.useRouter
30
+ useRouter: () => useRouter
31
31
  });
32
32
  module.exports = __toCommonJS(index_native_exports);
33
- var import_one = require("one");
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 _useOnePathname;
37
- return (_useOnePathname = (0, import_one.usePathname)()) !== null && _useOnePathname !== void 0 ? _useOnePathname : "/";
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","import_one","useParams","usePathname","useRouter","module","exports","__toCommonJS","require","_useOnePathname","unused"],"sources":["../../../src/router/index.native.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAC,UAAA,CAAAD,IAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAD,UAAA,CAAAC,SAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAH,UAAA,CAAAG;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAT,oBAAA;AAAA,IAAAG,UAAA,GAA0EO,OAAA;AAQ/D,SAASL,YAAA,EAAc;EAC9B,IAAI;IACA,IAAIM,eAAA;IACJ,QAAQA,eAAA,OAAkBR,UAAA,CAAAE,WAAA,EAAe,OAAO,QAAQM,eAAA,KAAoB,SAASA,eAAA,GAAkB;EAC3G,SAASC,MAAA,EAAQ;IACb,OAAO;EACX;AACJ","ignoreList":[]}
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 = nav.tag === route.tag;
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: null,
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 = nav.tag === route.tag;
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: null,
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":"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","ignoreList":[]}
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 { Link, useParams, usePathname as useOnePathname, useRouter } from "one";
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 _useOnePathname;
5
- return (_useOnePathname = useOnePathname()) !== null && _useOnePathname !== void 0 ? _useOnePathname : "/";
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":["Link","useParams","usePathname","useOnePathname","useRouter","_useOnePathname","unused"],"sources":["../../../src/router/index.native.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAA,EAAMC,SAAA,EAAWC,WAAA,IAAeC,cAAA,EAAgBC,SAAA,QAAiB;AAQ/D,SAASF,YAAA,EAAc;EAC9B,IAAI;IACA,IAAIG,eAAA;IACJ,QAAQA,eAAA,GAAkBF,cAAA,CAAe,OAAO,QAAQE,eAAA,KAAoB,SAASA,eAAA,GAAkB;EAC3G,SAASC,MAAA,EAAQ;IACb,OAAO;EACX;AACJ","ignoreList":[]}
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 = nav.tag === route.tag;
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: null,
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":"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","ignoreList":[]}
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 = nav.tag === route.tag;
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: null,
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":"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","ignoreList":[]}
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: () => import_one.Link,
28
- useParams: () => import_one.useParams,
27
+ Link: () => Link,
28
+ useParams: () => useParams,
29
29
  usePathname: () => usePathname,
30
- useRouter: () => import_one.useRouter
30
+ useRouter: () => useRouter
31
31
  });
32
32
  module.exports = __toCommonJS(index_native_exports);
33
- var import_one = require("one");
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 _useOnePathname;
37
- return (_useOnePathname = (0, import_one.usePathname)()) !== null && _useOnePathname !== void 0 ? _useOnePathname : "/";
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","import_one","useParams","usePathname","useRouter","module","exports","__toCommonJS","require","_useOnePathname","unused"],"sources":["../../../src/router/index.native.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAC,UAAA,CAAAD,IAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAD,UAAA,CAAAC,SAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAH,UAAA,CAAAG;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAT,oBAAA;AAAA,IAAAG,UAAA,GAA0EO,OAAA;AAQ/D,SAASL,YAAA,EAAc;EAC9B,IAAI;IACA,IAAIM,eAAA;IACJ,QAAQA,eAAA,OAAkBR,UAAA,CAAAE,WAAA,EAAe,OAAO,QAAQM,eAAA,KAAoB,SAASA,eAAA,GAAkB;EAC3G,SAASC,MAAA,EAAQ;IACb,OAAO;EACX;AACJ","ignoreList":[]}
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":[]}