@multiplatform.one/router 6.4.2 → 6.6.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.
@@ -68,17 +68,31 @@ class DomStackAdapter {
68
68
  }
69
69
  }
70
70
  const PAGE_STYLE = {
71
- position: "absolute",
72
- inset: 0,
71
+ position: "relative",
72
+ flex: "1 1 auto",
73
+ minHeight: 0,
73
74
  display: "flex",
74
75
  flexDirection: "column",
75
76
  overflow: "auto"
76
77
  };
78
+ function useZeroHeightWarning(ref) {
79
+ (0, import_react.useEffect)(() => {
80
+ if (process.env.NODE_ENV === "production") return;
81
+ const el = ref.current;
82
+ if (!el) return;
83
+ const raf = requestAnimationFrame(() => {
84
+ if (el.offsetParent === null || el.getBoundingClientRect().height > 0) return;
85
+ console.error("[stack nav] DomNavigationHost rendered 0px tall \u2014 every page is clipped and this surface paints nothing. Give the mount node a definite height (e.g. `#app { display: flex; flex-direction: column; min-height: 100vh }`) or pass `style={{ minHeight: \u2026 }}` to the host.");
86
+ });
87
+ return () => cancelAnimationFrame(raf);
88
+ }, [ref]);
89
+ }
77
90
  function DomNavigationHost({
78
91
  routes,
79
92
  initialHref,
80
93
  style
81
94
  }) {
95
+ const hostRef = (0, import_react.useRef)(null);
82
96
  const adapterRef = (0, import_react.useRef)(null);
83
97
  adapterRef.current ??= new DomStackAdapter(routes[0]?.tag ?? "", () => import_navigator.stackNavigator.syncFromHost());
84
98
  const initialHrefRef = (0, import_react.useRef)(initialHref);
@@ -90,10 +104,14 @@ function DomNavigationHost({
90
104
  if (restore) import_navigator.stackNavigator.replace(restore);
91
105
  return () => import_navigator.stackNavigator.detach();
92
106
  }, []);
107
+ useZeroHeightWarning(hostRef);
93
108
  const nav = (0, import_navigator.useNavState)();
94
109
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
110
+ ref: hostRef,
95
111
  style: {
96
112
  position: "relative",
113
+ display: "flex",
114
+ flexDirection: "column",
97
115
  flex: 1,
98
116
  minHeight: 0,
99
117
  height: "100%",
@@ -124,12 +124,27 @@ var DomStackAdapter = /* @__PURE__ */function () {
124
124
  return DomStackAdapter2;
125
125
  }();
126
126
  var PAGE_STYLE = {
127
- position: "absolute",
128
- inset: 0,
127
+ position: "relative",
128
+ flex: "1 1 auto",
129
+ minHeight: 0,
129
130
  display: "flex",
130
131
  flexDirection: "column",
131
132
  overflow: "auto"
132
133
  };
134
+ function useZeroHeightWarning(ref) {
135
+ (0, import_react.useEffect)(function () {
136
+ if (process.env.NODE_ENV === "production") return;
137
+ var el = ref.current;
138
+ if (!el) return;
139
+ var raf = requestAnimationFrame(function () {
140
+ if (el.offsetParent === null || el.getBoundingClientRect().height > 0) return;
141
+ console.error("[stack nav] DomNavigationHost rendered 0px tall \u2014 every page is clipped and this surface paints nothing. Give the mount node a definite height (e.g. `#app { display: flex; flex-direction: column; min-height: 100vh }`) or pass `style={{ minHeight: \u2026 }}` to the host.");
142
+ });
143
+ return function () {
144
+ return cancelAnimationFrame(raf);
145
+ };
146
+ }, [ref]);
147
+ }
133
148
  function DomNavigationHost(param) {
134
149
  var {
135
150
  routes,
@@ -138,6 +153,7 @@ function DomNavigationHost(param) {
138
153
  } = param;
139
154
  var _adapterRef, _current, _ref;
140
155
  var _routes_;
156
+ var hostRef = (0, import_react.useRef)(null);
141
157
  var adapterRef = (0, import_react.useRef)(null);
142
158
  (_current = (_adapterRef = adapterRef).current) !== null && _current !== void 0 ? _current : _adapterRef.current = new DomStackAdapter((_ref = (_routes_ = routes[0]) === null || _routes_ === void 0 ? void 0 : _routes_.tag) !== null && _ref !== void 0 ? _ref : "", function () {
143
159
  return import_navigator.stackNavigator.syncFromHost();
@@ -153,10 +169,14 @@ function DomNavigationHost(param) {
153
169
  return import_navigator.stackNavigator.detach();
154
170
  };
155
171
  }, []);
172
+ useZeroHeightWarning(hostRef);
156
173
  var nav = (0, import_navigator.useNavState)();
157
174
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
175
+ ref: hostRef,
158
176
  style: {
159
177
  position: "relative",
178
+ display: "flex",
179
+ flexDirection: "column",
160
180
  flex: 1,
161
181
  minHeight: 0,
162
182
  height: "100%",
@@ -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"],"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"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","isWeb","useParams","useRouter","hasRouter","emptyParams","useOptionalRouter","router","params","useSearchParams","localParams","setLocalParams","currentParams","debounceTimerRef","searchParams","params2","Object","entries","forEach","key","value","setSearchParams","newParams","options","replace","_replace","debounceMs","updateParams","updatedParams","cleanParams","setParams","current","clearTimeout","setTimeout","useUrlState","defaultValues","serialize","val","Array","isArray","map","String","JSON","stringify","deserialize","result","defaultValue","Number","parse","keys","currentState","setState","newState","updatedState","mergedState","serialized","useShareableUrl","shareableUrl","window","url","URL","location","href","search","v","append","set","toString","useTypedSearchParams","schema","typedParams","config","rawValue","default"],"sources":["../../../src/hooks/useUrlState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","isWeb","useParams","useRouter","hasRouter","emptyParams","useOptionalRouter","router","params","useSearchParams","localParams","setLocalParams","currentParams","debounceTimerRef","searchParams","Object","entries","forEach","key","value","setSearchParams","newParams","options","replace","_replace","debounceMs","updateParams","updatedParams","cleanParams","setParams","current","clearTimeout","setTimeout","useUrlState","defaultValues","serialize","val","Array","isArray","map","String","JSON","stringify","deserialize","result","defaultValue","Number","parse","keys","currentState","setState","newState","updatedState","mergedState","serialized","useShareableUrl","shareableUrl","window","url","URL","location","href","search","v","append","set","toString","useTypedSearchParams","schema","typedParams","config","rawValue","default"],"sources":["../../../src/hooks/useUrlState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","isWeb","useParams","useRouter","_type_of","obj","Symbol","constructor","hasRouter","emptyParams","useOptionalRouter","router","params","unused","useSearchParams","localParams","setLocalParams","currentParams","debounceTimerRef","searchParams","params2","Object","entries","forEach","param","key","value","setSearchParams","newParams","options","arguments","length","replace","_replace","debounceMs","updateParams","updateParams2","updatedParams","cleanParams","setParams","current","clearTimeout","setTimeout","useUrlState","defaultValues","serialize","val","Array","isArray","map","String","JSON","stringify","deserialize","result","defaultValue","Number","parse","keys","currentState","setState","newState","updatedState","mergedState","serialized","useShareableUrl","_useOptionalRouter_params","shareableUrl","window","url","URL","location","href","search"],"sources":["../../../src/hooks/useUrlState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","isWeb","useParams","useRouter","_type_of","obj","Symbol","constructor","hasRouter","emptyParams","useOptionalRouter","router","params","unused","useSearchParams","localParams","setLocalParams","currentParams","debounceTimerRef","searchParams","params2","Object","entries","forEach","param","key","value","setSearchParams","newParams","options","arguments","length","replace","_replace","debounceMs","updateParams","updateParams2","updatedParams","cleanParams","setParams","current","clearTimeout","setTimeout","useUrlState","defaultValues","serialize","val","Array","isArray","map","String","JSON","stringify","deserialize","result","defaultValue","Number","parse","keys","currentState","setState","newState","updatedState","mergedState","serialized","useShareableUrl","_useOptionalRouter_params","shareableUrl","window","url","URL","location","href","search"],"sources":["../../../src/hooks/useUrlState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -40,17 +40,31 @@ class DomStackAdapter {
40
40
  }
41
41
  }
42
42
  const PAGE_STYLE = {
43
- position: "absolute",
44
- inset: 0,
43
+ position: "relative",
44
+ flex: "1 1 auto",
45
+ minHeight: 0,
45
46
  display: "flex",
46
47
  flexDirection: "column",
47
48
  overflow: "auto"
48
49
  };
50
+ function useZeroHeightWarning(ref) {
51
+ useEffect(() => {
52
+ if (process.env.NODE_ENV === "production") return;
53
+ const el = ref.current;
54
+ if (!el) return;
55
+ const raf = requestAnimationFrame(() => {
56
+ if (el.offsetParent === null || el.getBoundingClientRect().height > 0) return;
57
+ console.error("[stack nav] DomNavigationHost rendered 0px tall \u2014 every page is clipped and this surface paints nothing. Give the mount node a definite height (e.g. `#app { display: flex; flex-direction: column; min-height: 100vh }`) or pass `style={{ minHeight: \u2026 }}` to the host.");
58
+ });
59
+ return () => cancelAnimationFrame(raf);
60
+ }, [ref]);
61
+ }
49
62
  function DomNavigationHost({
50
63
  routes,
51
64
  initialHref,
52
65
  style
53
66
  }) {
67
+ const hostRef = useRef(null);
54
68
  const adapterRef = useRef(null);
55
69
  adapterRef.current ??= new DomStackAdapter(routes[0]?.tag ?? "", () => stackNavigator.syncFromHost());
56
70
  const initialHrefRef = useRef(initialHref);
@@ -62,10 +76,14 @@ function DomNavigationHost({
62
76
  if (restore) stackNavigator.replace(restore);
63
77
  return () => stackNavigator.detach();
64
78
  }, []);
79
+ useZeroHeightWarning(hostRef);
65
80
  const nav = useNavState();
66
81
  return /* @__PURE__ */jsx("div", {
82
+ ref: hostRef,
67
83
  style: {
68
84
  position: "relative",
85
+ display: "flex",
86
+ flexDirection: "column",
69
87
  flex: 1,
70
88
  minHeight: 0,
71
89
  height: "100%",
@@ -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","inset","display","flexDirection","overflow","DomNavigationHost","routes","initialHref","style","adapterRef","current","syncFromHost","initialHrefRef","adapter","attach","restore","replace","detach","nav","flex","minHeight","height","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","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","syncFromHost","initialHrefRef","adapter","attach","restore","replace","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":[]}
@@ -94,12 +94,27 @@ var DomStackAdapter = /* @__PURE__ */function () {
94
94
  return DomStackAdapter2;
95
95
  }();
96
96
  var PAGE_STYLE = {
97
- position: "absolute",
98
- inset: 0,
97
+ position: "relative",
98
+ flex: "1 1 auto",
99
+ minHeight: 0,
99
100
  display: "flex",
100
101
  flexDirection: "column",
101
102
  overflow: "auto"
102
103
  };
104
+ function useZeroHeightWarning(ref) {
105
+ useEffect(function () {
106
+ if (process.env.NODE_ENV === "production") return;
107
+ var el = ref.current;
108
+ if (!el) return;
109
+ var raf = requestAnimationFrame(function () {
110
+ if (el.offsetParent === null || el.getBoundingClientRect().height > 0) return;
111
+ console.error("[stack nav] DomNavigationHost rendered 0px tall \u2014 every page is clipped and this surface paints nothing. Give the mount node a definite height (e.g. `#app { display: flex; flex-direction: column; min-height: 100vh }`) or pass `style={{ minHeight: \u2026 }}` to the host.");
112
+ });
113
+ return function () {
114
+ return cancelAnimationFrame(raf);
115
+ };
116
+ }, [ref]);
117
+ }
103
118
  function DomNavigationHost(param) {
104
119
  var {
105
120
  routes,
@@ -108,6 +123,7 @@ function DomNavigationHost(param) {
108
123
  } = param;
109
124
  var _adapterRef, _current, _ref;
110
125
  var _routes_;
126
+ var hostRef = useRef(null);
111
127
  var adapterRef = useRef(null);
112
128
  (_current = (_adapterRef = adapterRef).current) !== null && _current !== void 0 ? _current : _adapterRef.current = new DomStackAdapter((_ref = (_routes_ = routes[0]) === null || _routes_ === void 0 ? void 0 : _routes_.tag) !== null && _ref !== void 0 ? _ref : "", function () {
113
129
  return stackNavigator.syncFromHost();
@@ -123,10 +139,14 @@ function DomNavigationHost(param) {
123
139
  return stackNavigator.detach();
124
140
  };
125
141
  }, []);
142
+ useZeroHeightWarning(hostRef);
126
143
  var nav = useNavState();
127
144
  return /* @__PURE__ */_jsx("div", {
145
+ ref: hostRef,
128
146
  style: {
129
147
  position: "relative",
148
+ display: "flex",
149
+ flexDirection: "column",
130
150
  flex: 1,
131
151
  minHeight: 0,
132
152
  height: "100%",
@@ -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"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":"AAwBA,SAASA,GAAA,IAAAC,IAAU,2BAAyB;AAC5C,SAAAC,QAAA,EAAAC,SAAA,EAAAC,MAAA;AAAA,SACEC,eAAA,EAAAC,cAAA,EAAAC,WAAA;AAAA,SACAC,kBAAAC,QAAA,EAAAC,WAAA;EACA,MAAAD,QAAA,YAAAC,WAAA;IAAA,MAIK,IAAAC,SAAA;EA8GO;AAzGP;AAAiD,SAC9CC,kBAAAC,MAAA,EAAAC,KAAA;EACS,SAAAC,CAAA,MAAAA,CAAA,GAAAD,KAAA,CAAAE,MAAA,EAAAD,CAAA;IAEjB,IAAAE,UAAY,GAAAH,KAAiB,CAAAC,CAAA;IAC3BE,UAAK,CAAAC,UAAQ,GAAWD,UAAO,CAAIC,UAAC;IACpCD,UAAK,CAAAE,YAAY;IACnB,eAAAF,UAAA,EAAAA,UAAA,CAAAG,QAAA;IAEAC,MAAA,CAAAC,cAA+B,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EAC7B;AACA;AAAe,SACjBO,cAAAd,WAAA,EAAAe,UAAA,EAAAC,WAAA;EAEA,IAAAD,UAAe,EAAAb,iBAAA,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA;EACb,IAAAC,WAAS,EAAMd,iBAAa,CAAAF,WAAO,EAAAgB,WAAA;EACnC,OAAKhB,WAAU;AACf;AACA,SAAAkB,gBAAOA,CAAAC,GAAA,EAAAN,GAAA,EAAAO,KAAA;EACT,IAAAP,GAAA,IAAAM,GAAA;IAEAR,MAAA,CAAAC,cAAiC,CAAAO,GAAA,EAAAN,GAAA;MAC/BO,KAAM;MACNZ,UAAY,MAAM;MAClBC,YAAa,MAAK;MAClBC,QAAK;IACL;EACF;IAEAS,GAAA,CAAAN,GAAA,IAAAO,KAAkB;EAChB;EACA,OAAKD,GAAA;AAAU;AACjB,IAEAE,eAAA,kBAGE;EACA,YAAM;;EACN,SAAOC,iBAAAC,OAAA,EAAAC,SAAA;IAAA1B,iBACQ,KAAM,EAAAwB,gBAAS;IAAAJ,gBACjB,OACT,SAAS,KAAK;IAClBA,gBAAA;IACF,KAAAO,KAAA,GAAAF,OAAA,IACFA,OAAA,CAeA,GAAM;IACJ,KAAAC,SAAU,GAAAA,SAAA;EACV;EACAV,aAAS,CAAAQ,gBAAA,GACT;IACAT,GAAA,eAAU;IACZO,KAAA,WAAAM,YAAAC,GAAA;MAEO,IAAS,CAAAF,KAAA,CAAAG,IAAA,CAAAD,GAAkB;MAChC,KAAAH,SAAA;IACA;EACA,GACoC;IACpCX,GAAM;IACNO,KAAA,EAAW,SAAAS,GAAYA,CAAA;MAAoB,IAAQ,IAAG,CAAAJ,KAAO,CAAAnB,MAAA;MAAI,IAC/D,CAAAmB,KAAA,CAAAI,GAAA;MACF,KAAAL,SAAA;MAGM;IAEN;EACE,GACA;IACAX,GAAA,cAAe;IACfO,KAAM,WAAUU,WAAAH,GAAe;MAC3B,IAAAI,GAAA,GAAS,KAAAN,KAAA,CAAAO,WAAuB,CAAAL,GAAA;MACpC,IAAOI,GAAA,KAAM,MAAAA,GAAA,KAAe,KAAON,KAAA,CAAAnB,MAAA;MAChC,KAAAmB,KAAA,QAAAA,KAAA,CAAAQ,KAAA,IAAAF,GAAA;MAEC,KAAAP,SAAM;MAEZ,OACE;IAEI;EACA,GACA;IACGX,GAAA;IAAAO,KAAA,WAAAc,kBAAAC,IAAA;MAEC,KAAAV,KAAA,IACA,GAAAU,IAAA,CACA;MAEA,KAAAX,SAAA;IAEA;EAAA,GACF;IAGNX,GAAA;IAEJO,KAAA,WAAAgB,qBAAA","ignoreList":[]}
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"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":"AA4BA,SAASA,GAAA,IAAAC,IAAU,2BAAyB;AAC5C,SAAAC,QAAA,EAAAC,SAAA,EAAAC,MAAA;AAAA,SACEC,eAAA,EAAAC,cAAA,EAAAC,WAAA;AAAA,SACAC,kBAAAC,QAAA,EAAAC,WAAA;EACA,MAAAD,QAAA,YAAAC,WAAA;IAAA,MAIK,IAAAC,SAAA;EAqKO;AAhKP;AAAiD,SAC9CC,kBAAAC,MAAA,EAAAC,KAAA;EACS,SAAAC,CAAA,MAAAA,CAAA,GAAAD,KAAA,CAAAE,MAAA,EAAAD,CAAA;IAEjB,IAAAE,UAAY,GAAAH,KAAiB,CAAAC,CAAA;IAC3BE,UAAK,CAAAC,UAAQ,GAAWD,UAAO,CAAIC,UAAC;IACpCD,UAAK,CAAAE,YAAY;IACnB,eAAAF,UAAA,EAAAA,UAAA,CAAAG,QAAA;IAEAC,MAAA,CAAAC,cAA+B,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EAC7B;AACA;AAAe,SACjBO,cAAAd,WAAA,EAAAe,UAAA,EAAAC,WAAA;EAEA,IAAAD,UAAe,EAAAb,iBAAA,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA;EACb,IAAAC,WAAS,EAAMd,iBAAa,CAAAF,WAAO,EAAAgB,WAAA;EACnC,OAAKhB,WAAU;AACf;AACA,SAAAkB,gBAAOA,CAAAC,GAAA,EAAAN,GAAA,EAAAO,KAAA;EACT,IAAAP,GAAA,IAAAM,GAAA;IAEAR,MAAA,CAAAC,cAAiC,CAAAO,GAAA,EAAAN,GAAA;MAC/BO,KAAM;MACNZ,UAAY,MAAM;MAClBC,YAAa,MAAK;MAClBC,QAAK;IACL;EACF;IAEAS,GAAA,CAAAN,GAAA,IAAAO,KAAkB;EAChB;EACA,OAAKD,GAAA;AAAU;AACjB,IAEAE,eAAA,kBAGE;EACA,YAAM;;EACN,SAAOC,iBAAAC,OAAA,EAAAC,SAAA;IAAA1B,iBACQ,KAAM,EAAAwB,gBAAS;IAAAJ,gBACjB,OACT,SAAS,KAAK;IAClBA,gBAAA;IACF,KAAAO,KAAA,GAAAF,OAAA,IACFA,OAAA,CA+BA,GAAM;IACJ,KAAAC,SAAU,GAAAA,SAAA;EACV;EACAV,aAAW,CAAAQ,gBAAA,GACX;IACAT,GAAA,eAAe;IACfO,KAAA,EAAU,SAAAM,YAAAC,GAAA;MACZ,KAAAF,KAAA,CAAAG,IAAA,CAAAD,GAAA;MAIA,IAAS,CAAAH,SAAA;IACP;EACE,GACA;IACAX,GAAK,OAAI;IAGTO,KAAM,WAAMS,IAAA;MAGV,IAAI,IAAG,CAAAJ,KAAA,CAAAnB,MAAA,IAAiB,UAAW;MACnC,KAAAmB,KAAQ,CAAAI,GAAA;MACN,KAAAL,SAAA;MAIF;IACD;EACD,GACF;IACFX,GAAA;IAEOO,KAAS,WAAAU,UAAkBA,CAAAH,GAAA;MAChC,IAAAI,GAAA,QAAAN,KAAA,CAAAO,WAAA,CAAAL,GAAA;MACA,IAAAI,GAAA,WAAAA,GAAA,UAAAN,KAAA,CAAAnB,MAAA;MACA,KAAAmB,KAAA,QAAAA,KAAA,CAAAQ,KAAA,IAAAF,GAAA;MACoC,KAAAP,SAAA;MAC9B,WAAU;IAChB;EACA,GAA2C;IAAsBX,GAAA,EAC/D,mBAAe;IACjBO,KAAA,WAAAc,kBAAAC,IAAA;MAGM,KAAAV,KAAA,IAEN,GAAUU,IAAA,CACR;MACI,IAAC,CAAAX,SAAS;IACd;EACA,GACA;IACAX,GAAA,EAAO,sBAAqB;IAC1BO,KAAC,WAAAgB,qBAAA;MAEL,IAAAC,QAAA,GAAqB,KAAAZ,KAAO;MAEtB,OAAM;QAGVa,WAAA,WAAAA,YAAA;UAAC,OAAAD,QAAA,CAAA/B,MAAA;QAAA;QACCiC,QAAK,WAAAA,SAAAC,KAAA;UACL,OAAOA,KAAA,SAAAA,KAAA,GAAAH,QAAA,CAAA/B,MAAA;YACLmC,OAAU,WAAAA,QAAA;cACV,IAASC,eAAA;cACT,OAAe,CAAAA,eAAA,GAAAL,QAAA,CAAAG,KAAA,eAAAE,eAAA,cAAAA,eAAA;YACT;UACN,QAAW;QACX;MACA;IACF;EAAA,EAGE;EACA,OAAApB,gBAAgB;AAChB;AACE,IAAAqB,UAAC;EAAAC,QAAA;EAAAC,IAAA,YAEC;EAAsBC,SAAA,EACtB;EAAoCC,OAAA,QACpC;EAA0DC,aAE1D;EAEAC,QAAA;AAAA;AAPW,SAQbC,qBAAAC,GAAA;EAAA1D,SAEH;IAAA,IAAA2D,OAAA,CAAAC,GAAA,CAAAC,QAAA;IACH,IAAAC,EAAA,GAAAJ,GAAA,CAAAK,OAAA;IAEJ,KAAAD,EAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","isWeb","useParams","useRouter","hasRouter","emptyParams","useOptionalRouter","router","params","useSearchParams","localParams","setLocalParams","currentParams","debounceTimerRef","searchParams","params2","Object","entries","forEach","key","value","setSearchParams","newParams","options","replace","_replace","debounceMs","updateParams","updatedParams","cleanParams","setParams","current","clearTimeout","setTimeout","useUrlState","defaultValues","serialize","val","Array","isArray","map","String","JSON","stringify","deserialize","result","defaultValue","Number","parse","keys","currentState","setState","newState","updatedState","mergedState","serialized","useShareableUrl","shareableUrl","window","url","URL","location","href","search","v","append","set","toString","useTypedSearchParams","schema","typedParams","config","rawValue","default"],"sources":["../../../src/hooks/useUrlState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,EAAaC,SAAA,EAAWC,OAAA,EAASC,MAAA,EAAQC,QAAA,QAAgB;AAClE,SAASC,KAAA,QAAa;AACtB,SAASC,SAAA,EAAWC,SAAA,QAAiB;AAYrC,MAAMC,SAAA,GAAY,OAAOD,SAAA,KAAc,cAAc,OAAOD,SAAA,KAAc;AAE1E,MAAMG,WAAA,GAA4B,CAAC;AAOnC,SAASC,kBAAA,EAAoC;EAC3C,IAAI,CAACF,SAAA,EAAW,OAAO,CAAC;EACxB,IAAI;IACF,OAAO;MAAEG,MAAA,EAAQJ,SAAA,CAAU;MAAGK,MAAA,EAAQN,SAAA,CAAU;IAAkB;EACpE,QAAQ;IACN,OAAO,CAAC;EACV;AACF;AAMO,SAASO,gBAAA,EAMd;EACA,MAAM,CAACC,WAAA,EAAaC,cAAc,IAAIX,QAAA,CAAuB,CAAC,CAAC;EAC/D,MAAM;IAAEO,MAAA;IAAQC;EAAO,IAAIF,iBAAA,CAAkB;EAC7C,MAAMM,aAAA,GAAgBJ,MAAA,IAAUE,WAAA;EAChC,MAAMG,gBAAA,GAAmBd,MAAA,CAAkD,MAAS;EAGpF,MAAMe,YAAA,GAAehB,OAAA,CAAsB,MAAM;IAC/C,MAAMiB,OAAA,GAAuB,CAAC;IAC9BC,MAAA,CAAOC,OAAA,CAAQL,aAAa,EAAEM,OAAA,CAAQ,CAAC,CAACC,GAAA,EAAKC,KAAK,MAAM;MACtD,IAAIA,KAAA,KAAU,UAAaA,KAAA,KAAU,MAAM;QACzCL,OAAA,CAAOI,GAAG,IAAIC,KAAA;MAChB;IACF,CAAC;IACD,OAAOL,OAAA;EACT,GAAG,CAACH,aAAa,CAAC;EAElB,MAAMS,eAAA,GAAkBzB,WAAA,CACtB,CACE0B,SAAA,EACAC,OAAA,GAAkC,CAAC,MAChC;IACH,MAAM;MAAEC,OAAA,EAASC,QAAA,GAAW;MAAMC,UAAA,GAAa;IAAE,IAAIH,OAAA;IAErD,MAAMI,YAAA,GAAeA,CAAA,KAAM;MACzB,MAAMC,aAAA,GAAgB,OAAON,SAAA,KAAc,aAAaA,SAAA,CAAUR,YAAY,IAAIQ,SAAA;MAGlF,MAAMO,WAAA,GAAiD,CAAC;MACxDb,MAAA,CAAOC,OAAA,CAAQW,aAAa,EAAEV,OAAA,CAAQ,CAAC,CAACC,GAAA,EAAKC,KAAK,MAAM;QACtD,IAAIA,KAAA,KAAU,UAAaA,KAAA,KAAU,QAAQA,KAAA,KAAU,IAAI;UACzDS,WAAA,CAAYV,GAAG,IAAIC,KAAA;QACrB;MACF,CAAC;MAGD,IAAIb,MAAA,IAAUC,MAAA,EAAQ;QACpBD,MAAA,CAAOuB,SAAA,CAAUD,WAAkB;MACrC,OAAO;QACLlB,cAAA,CAAekB,WAAW;MAC5B;IACF;IAEA,IAAIH,UAAA,GAAa,GAAG;MAClB,IAAIb,gBAAA,CAAiBkB,OAAA,EAAS;QAC5BC,YAAA,CAAanB,gBAAA,CAAiBkB,OAAO;MACvC;MACAlB,gBAAA,CAAiBkB,OAAA,GAAUE,UAAA,CAAWN,YAAA,EAAcD,UAAU;IAChE,OAAO;MACLC,YAAA,CAAa;IACf;EACF,GACA,CAACpB,MAAA,EAAQC,MAAA,EAAQM,YAAY,CAC/B;EAGAjB,SAAA,CAAU,MAAM;IACd,OAAO,MAAM;MACX,IAAIgB,gBAAA,CAAiBkB,OAAA,EAAS;QAC5BC,YAAA,CAAanB,gBAAA,CAAiBkB,OAAO;MACvC;IACF;EACF,GAAG,EAAE;EAEL,OAAO,CAACjB,YAAA,EAAcO,eAAe;AACvC;AAMO,SAASa,YACdC,aAAA,EACAZ,OAAA,GAII,CAAC,GAC4D;EACjE,MAAM;IACJG,UAAA,GAAa;IACbU,SAAA,GAAahB,KAAA,IAAU;MAErB,MAAMZ,MAAA,GAAuB,CAAC;MAC9BQ,MAAA,CAAOC,OAAA,CAAQG,KAAK,EAAEF,OAAA,CAAQ,CAAC,CAACC,GAAA,EAAKkB,GAAG,MAAM;QAC5C,IAAIA,GAAA,KAAQ,UAAaA,GAAA,KAAQ,QAAQA,GAAA,KAAQ,IAAI;UACnD,IAAIC,KAAA,CAAMC,OAAA,CAAQF,GAAG,GAAG;YACtB7B,MAAA,CAAOW,GAAG,IAAIkB,GAAA,CAAIG,GAAA,CAAIC,MAAM;UAC9B,WAAW,OAAOJ,GAAA,KAAQ,UAAU;YAClC7B,MAAA,CAAOW,GAAG,IAAIuB,IAAA,CAAKC,SAAA,CAAUN,GAAG;UAClC,OAAO;YACL7B,MAAA,CAAOW,GAAG,IAAIsB,MAAA,CAAOJ,GAAG;UAC1B;QACF;MACF,CAAC;MACD,OAAO7B,MAAA;IACT;IACAoC,WAAA,GAAepC,MAAA,IAAW;MAExB,MAAMqC,MAAA,GAAc,CAAC;MACrB7B,MAAA,CAAOC,OAAA,CAAQT,MAAM,EAAEU,OAAA,CAAQ,CAAC,CAACC,GAAA,EAAKC,KAAK,MAAM;QAC/C,IAAID,GAAA,IAAOgB,aAAA,EAAe;UACxB,MAAMW,YAAA,GAAeX,aAAA,CAAchB,GAAG;UACtC,IAAIC,KAAA,KAAU,QAAW;YACvByB,MAAA,CAAO1B,GAAG,IAAI2B,YAAA;UAChB,WAAWR,KAAA,CAAMC,OAAA,CAAQO,YAAY,GAAG;YACtCD,MAAA,CAAO1B,GAAG,IAAImB,KAAA,CAAMC,OAAA,CAAQnB,KAAK,IAAIA,KAAA,GAAQ,CAACA,KAAK;UACrD,WAAW,OAAO0B,YAAA,KAAiB,WAAW;YAC5CD,MAAA,CAAO1B,GAAG,IAAIC,KAAA,KAAU;UAC1B,WAAW,OAAO0B,YAAA,KAAiB,UAAU;YAC3CD,MAAA,CAAO1B,GAAG,IAAI4B,MAAA,CAAO3B,KAAK;UAC5B,WAAW,OAAO0B,YAAA,KAAiB,YAAYA,YAAA,KAAiB,MAAM;YACpE,IAAI;cACFD,MAAA,CAAO1B,GAAG,IAAIuB,IAAA,CAAKM,KAAA,CAAMP,MAAA,CAAOrB,KAAK,CAAC;YACxC,QAAQ;cACNyB,MAAA,CAAO1B,GAAG,IAAI2B,YAAA;YAChB;UACF,OAAO;YACLD,MAAA,CAAO1B,GAAG,IAAIC,KAAA;UAChB;QACF;MACF,CAAC;MAEDJ,MAAA,CAAOiC,IAAA,CAAKd,aAAa,EAAEjB,OAAA,CAASC,GAAA,IAAQ;QAC1C,IAAI,EAAEA,GAAA,IAAO0B,MAAA,GAAS;UACpBA,MAAA,CAAO1B,GAAG,IAAIgB,aAAA,CAAchB,GAAG;QACjC;MACF,CAAC;MACD,OAAO0B,MAAA;IACT;EACF,IAAItB,OAAA;EAEJ,MAAM,CAACT,YAAA,EAAcO,eAAe,IAAIZ,eAAA,CAAgB;EAGxD,MAAMyC,YAAA,GAAepD,OAAA,CAAQ,MAAM;IACjC,OAAO8C,WAAA,CAAY9B,YAAY;EACjC,GAAG,CAACA,YAAA,EAAc8B,WAAW,CAAC;EAE9B,MAAMO,QAAA,GAAWvD,WAAA,CACdwD,QAAA,IAAqD;IACpD,MAAMC,YAAA,GAAe,OAAOD,QAAA,KAAa,aAAaA,QAAA,CAASF,YAAY,IAAIE,QAAA;IAE/E,MAAME,WAAA,GAAc;MAAE,GAAGJ,YAAA;MAAc,GAAGG;IAAa;IACvD,MAAME,UAAA,GAAanB,SAAA,CAAUkB,WAAW;IAExCjC,eAAA,CAAgBkC,UAAA,EAAY;MAAE7B;IAAW,CAAC;EAC5C,GACA,CAACwB,YAAA,EAAcd,SAAA,EAAWf,eAAA,EAAiBK,UAAU,CACvD;EAEA,OAAO,CAACwB,YAAA,EAAcC,QAAQ;AAChC;AAKO,SAASK,gBAAA,EAA0B;EACxC,MAAMhD,MAAA,GAASF,iBAAA,CAAkB,EAAEE,MAAA,IAAUH,WAAA;EAE7C,MAAMoD,YAAA,GAAe3D,OAAA,CAAQ,MAAM;IACjC,IAAI,CAACG,KAAA,IAAS,OAAOyD,MAAA,KAAW,aAAa;MAC3C,OAAO;IACT;IAEA,MAAMC,GAAA,GAAM,IAAIC,GAAA,CAAIF,MAAA,CAAOG,QAAA,CAASC,IAAI;IACxCH,GAAA,CAAII,MAAA,GAAS;IAEb/C,MAAA,CAAOC,OAAA,CAAQT,MAAM,EAAEU,OAAA,CAAQ,CAAC,CAACC,GAAA,EAAKC,KAAK,MAAM;MAC/C,IAAIA,KAAA,KAAU,UAAaA,KAAA,KAAU,QAAQA,KAAA,KAAU,IAAI;QACzD,IAAIkB,KAAA,CAAMC,OAAA,CAAQnB,KAAK,GAAG;UACxBA,KAAA,CAAMF,OAAA,CAAS8C,CAAA,IAAML,GAAA,CAAI7C,YAAA,CAAamD,MAAA,CAAO9C,GAAA,EAAKsB,MAAA,CAAOuB,CAAC,CAAC,CAAC;QAC9D,OAAO;UACLL,GAAA,CAAI7C,YAAA,CAAaoD,GAAA,CAAI/C,GAAA,EAAKsB,MAAA,CAAOrB,KAAK,CAAC;QACzC;MACF;IACF,CAAC;IAED,OAAOuC,GAAA,CAAIQ,QAAA,CAAS;EACtB,GAAG,CAAC3D,MAAM,CAAC;EAEX,OAAOiD,YAAA;AACT;AAKO,SAASW,qBAAoDC,MAAA,EAK9D;EACJ,MAAM7D,MAAA,GAASF,iBAAA,CAAkB,EAAEE,MAAA,IAAUH,WAAA;EAE7C,MAAMiE,WAAA,GAAcxE,OAAA,CAAQ,MAAM;IAChC,MAAM+C,MAAA,GAAc,CAAC;IAErB7B,MAAA,CAAOC,OAAA,CAAQoD,MAAM,EAAEnD,OAAA,CAAQ,CAAC,CAACC,GAAA,EAAKoD,MAAM,MAAM;MAChD,MAAMC,QAAA,GAAWhE,MAAA,CAAOW,GAAG;MAE3B,IAAIoD,MAAA,CAAOvB,KAAA,EAAO;QAChBH,MAAA,CAAO1B,GAAG,IAAIoD,MAAA,CAAOvB,KAAA,CAAMwB,QAAQ;MACrC,WAAWA,QAAA,KAAa,QAAW;QACjC3B,MAAA,CAAO1B,GAAG,IAAIoD,MAAA,CAAOE,OAAA;MACvB,OAAO;QACL5B,MAAA,CAAO1B,GAAG,IAAIqD,QAAA;MAChB;IACF,CAAC;IAED,OAAO3B,MAAA;EACT,GAAG,CAACrC,MAAA,EAAQ6D,MAAM,CAAC;EAEnB,OAAOC,WAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","isWeb","useParams","useRouter","hasRouter","emptyParams","useOptionalRouter","router","params","useSearchParams","localParams","setLocalParams","currentParams","debounceTimerRef","searchParams","Object","entries","forEach","key","value","setSearchParams","newParams","options","replace","_replace","debounceMs","updateParams","updatedParams","cleanParams","setParams","current","clearTimeout","setTimeout","useUrlState","defaultValues","serialize","val","Array","isArray","map","String","JSON","stringify","deserialize","result","defaultValue","Number","parse","keys","currentState","setState","newState","updatedState","mergedState","serialized","useShareableUrl","shareableUrl","window","url","URL","location","href","search","v","append","set","toString","useTypedSearchParams","schema","typedParams","config","rawValue","default"],"sources":["../../../src/hooks/useUrlState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -40,17 +40,31 @@ class DomStackAdapter {
40
40
  }
41
41
  }
42
42
  const PAGE_STYLE = {
43
- position: "absolute",
44
- inset: 0,
43
+ position: "relative",
44
+ flex: "1 1 auto",
45
+ minHeight: 0,
45
46
  display: "flex",
46
47
  flexDirection: "column",
47
48
  overflow: "auto"
48
49
  };
50
+ function useZeroHeightWarning(ref) {
51
+ useEffect(() => {
52
+ if (process.env.NODE_ENV === "production") return;
53
+ const el = ref.current;
54
+ if (!el) return;
55
+ const raf = requestAnimationFrame(() => {
56
+ if (el.offsetParent === null || el.getBoundingClientRect().height > 0) return;
57
+ console.error("[stack nav] DomNavigationHost rendered 0px tall \u2014 every page is clipped and this surface paints nothing. Give the mount node a definite height (e.g. `#app { display: flex; flex-direction: column; min-height: 100vh }`) or pass `style={{ minHeight: \u2026 }}` to the host.");
58
+ });
59
+ return () => cancelAnimationFrame(raf);
60
+ }, [ref]);
61
+ }
49
62
  function DomNavigationHost({
50
63
  routes,
51
64
  initialHref,
52
65
  style
53
66
  }) {
67
+ const hostRef = useRef(null);
54
68
  const adapterRef = useRef(null);
55
69
  adapterRef.current ??= new DomStackAdapter(routes[0]?.tag ?? "", () => stackNavigator.syncFromHost());
56
70
  const initialHrefRef = useRef(initialHref);
@@ -62,10 +76,14 @@ function DomNavigationHost({
62
76
  if (restore) stackNavigator.replace(restore);
63
77
  return () => stackNavigator.detach();
64
78
  }, []);
79
+ useZeroHeightWarning(hostRef);
65
80
  const nav = useNavState();
66
81
  return /* @__PURE__ */jsx("div", {
82
+ ref: hostRef,
67
83
  style: {
68
84
  position: "relative",
85
+ display: "flex",
86
+ flexDirection: "column",
69
87
  flex: 1,
70
88
  minHeight: 0,
71
89
  height: "100%",
@@ -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","inset","display","flexDirection","overflow","DomNavigationHost","routes","initialHref","style","adapterRef","current","syncFromHost","initialHrefRef","adapter","attach","restore","replace","detach","nav","flex","minHeight","height","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","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","syncFromHost","initialHrefRef","adapter","attach","restore","replace","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":[]}
@@ -124,12 +124,27 @@ var DomStackAdapter = /* @__PURE__ */function () {
124
124
  return DomStackAdapter2;
125
125
  }();
126
126
  var PAGE_STYLE = {
127
- position: "absolute",
128
- inset: 0,
127
+ position: "relative",
128
+ flex: "1 1 auto",
129
+ minHeight: 0,
129
130
  display: "flex",
130
131
  flexDirection: "column",
131
132
  overflow: "auto"
132
133
  };
134
+ function useZeroHeightWarning(ref) {
135
+ (0, import_react.useEffect)(function () {
136
+ if (process.env.NODE_ENV === "production") return;
137
+ var el = ref.current;
138
+ if (!el) return;
139
+ var raf = requestAnimationFrame(function () {
140
+ if (el.offsetParent === null || el.getBoundingClientRect().height > 0) return;
141
+ console.error("[stack nav] DomNavigationHost rendered 0px tall \u2014 every page is clipped and this surface paints nothing. Give the mount node a definite height (e.g. `#app { display: flex; flex-direction: column; min-height: 100vh }`) or pass `style={{ minHeight: \u2026 }}` to the host.");
142
+ });
143
+ return function () {
144
+ return cancelAnimationFrame(raf);
145
+ };
146
+ }, [ref]);
147
+ }
133
148
  function DomNavigationHost(param) {
134
149
  var {
135
150
  routes,
@@ -138,6 +153,7 @@ function DomNavigationHost(param) {
138
153
  } = param;
139
154
  var _adapterRef, _current, _ref;
140
155
  var _routes_;
156
+ var hostRef = (0, import_react.useRef)(null);
141
157
  var adapterRef = (0, import_react.useRef)(null);
142
158
  (_current = (_adapterRef = adapterRef).current) !== null && _current !== void 0 ? _current : _adapterRef.current = new DomStackAdapter((_ref = (_routes_ = routes[0]) === null || _routes_ === void 0 ? void 0 : _routes_.tag) !== null && _ref !== void 0 ? _ref : "", function () {
143
159
  return import_navigator.stackNavigator.syncFromHost();
@@ -153,10 +169,14 @@ function DomNavigationHost(param) {
153
169
  return import_navigator.stackNavigator.detach();
154
170
  };
155
171
  }, []);
172
+ useZeroHeightWarning(hostRef);
156
173
  var nav = (0, import_navigator.useNavState)();
157
174
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
175
+ ref: hostRef,
158
176
  style: {
159
177
  position: "relative",
178
+ display: "flex",
179
+ flexDirection: "column",
160
180
  flex: 1,
161
181
  minHeight: 0,
162
182
  height: "100%",
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","DomNavigationHost_exports","DomNavigationHost","DomStackAdapter","module","exports","import_jsx_runtime","require","import_react","import_navigator","_class_call_check","instance","Constructor","TypeError","_defineProperties","props","i","length","descriptor","configurable","writable","_create_class","protoProps","staticProps","_define_property","obj","DomStackAdapter2","rootTag","onChanged","stack","push_by_tag","tag","push","pop"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","DomNavigationHost_exports","DomNavigationHost","DomStackAdapter","module","exports","import_jsx_runtime","require","import_react","import_navigator","_class_call_check","instance","Constructor","TypeError","_defineProperties","props","i","length","descriptor","configurable","writable","_create_class","protoProps","staticProps","_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"],"sources":["../../../src/seam/DomNavigationHost.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/router",
3
- "version": "6.4.2",
3
+ "version": "6.6.0",
4
4
  "description": "multiplatform.one router with support for react-router-dom and react-navigation",
5
5
  "keywords": [
6
6
  "react",
@@ -31,6 +31,7 @@
31
31
  "types": "types/index.d.ts",
32
32
  "exports": {
33
33
  "./package.json": "./package.json",
34
+ "./src/*": "./src/*",
34
35
  ".": {
35
36
  "react-native": {
36
37
  "types": "./types/index.d.ts",
@@ -60,8 +61,8 @@
60
61
  "access": "public"
61
62
  },
62
63
  "dependencies": {
63
- "@vxrn/color-scheme": "^1.16.5",
64
- "@multiplatform.one/platform": "6.4.2"
64
+ "@vxrn/color-scheme": "~1.16.5",
65
+ "@multiplatform.one/platform": "6.6.0"
65
66
  },
66
67
  "devDependencies": {
67
68
  "@react-navigation/native": "^7.2.2",
@@ -76,8 +77,8 @@
76
77
  "typescript": "~5.9.3",
77
78
  "vite": "^8.0.10",
78
79
  "vitest": "^4.1.5",
79
- "@multiplatform.one/config": "6.4.2",
80
- "@multiplatform.one/test-utils": "6.4.2"
80
+ "@multiplatform.one/config": "6.6.0",
81
+ "@multiplatform.one/test-utils": "6.6.0"
81
82
  },
82
83
  "peerDependencies": {
83
84
  "@react-navigation/native": "~7.2.2",
@@ -66,6 +66,48 @@ describe("DomNavigationHost", () => {
66
66
  expect(screen.getByTestId("detail-params").textContent).toBe("mew");
67
67
  });
68
68
 
69
+ // happy-dom performs no layout, so these assert the STRUCTURE that decides
70
+ // whether the host can be measured at all. An out-of-flow page contributes
71
+ // nothing to its container's intrinsic height, which is what collapsed the
72
+ // host to 0px under an unsized mount node and clipped every page away —
73
+ // with a fully populated DOM, so innerText and toBeVisible() both passed.
74
+ // Real painted heights are measured in a browser (see the seam probe).
75
+ it("keeps the active page in normal flow so an unsized parent still gets height", () => {
76
+ const { container } = renderHost();
77
+ const host = container.firstElementChild as HTMLElement;
78
+ const active = pageByTag(container, "home");
79
+
80
+ expect(active.style.position).toBe("relative");
81
+ expect(active.style.display).toBe("flex");
82
+ expect(active.style.flexGrow).toBe("1");
83
+ expect(active.style.flexBasis).toBe("auto");
84
+ // Fills a definite-height host, scrolls inside it rather than growing it.
85
+ expect(active.style.minHeight).toBe("0");
86
+ expect(active.style.overflow).toBe("auto");
87
+ // ...and the host is the column flex container the page fills.
88
+ expect(host.style.display).toBe("flex");
89
+ expect(host.style.flexDirection).toBe("column");
90
+ });
91
+
92
+ it("takes backgrounded pages out of layout entirely", () => {
93
+ const { container } = renderHost();
94
+ act(() => stackNavigator.push("/todos"));
95
+ expect(pageByTag(container, "home").style.display).toBe("none");
96
+ expect(pageByTag(container, "todos").style.display).toBe("flex");
97
+ });
98
+
99
+ it("lets the caller override sizing through style", () => {
100
+ stackNavigator.detach();
101
+ stackNavigator.configure(ROUTES);
102
+ const { container } = render(
103
+ <DomNavigationHost
104
+ style={{ minHeight: 480 }}
105
+ routes={[{ ...ROUTES[0]!, element: <div data-testid="home-screen" /> }]}
106
+ />,
107
+ );
108
+ expect((container.firstElementChild as HTMLElement).style.minHeight).toBe("480px");
109
+ });
110
+
69
111
  it("restores an initial route as a root replace", () => {
70
112
  const { container } = renderHost("/todos");
71
113
  expect(pageByTag(container, "todos").dataset.seamActive).toBe("true");
@@ -20,6 +20,10 @@
20
20
  // Stack state flows host → seam: every adapter mutation calls
21
21
  // stackNavigator.syncFromHost(), exactly like the GTK pushed/popped/
22
22
  // replaced signal handlers.
23
+ //
24
+ // Sizing needs no ceremony: the host fills a parent with a definite height
25
+ // and otherwise sizes to the active page (`style` overrides either way).
26
+ // See the contract above PAGE_STYLE.
23
27
 
24
28
  import type { CSSProperties, ReactNode } from "react";
25
29
  import { Suspense, useEffect, useRef } from "react";
@@ -95,19 +99,61 @@ export interface DomNavigationHostProps {
95
99
  style?: CSSProperties;
96
100
  }
97
101
 
102
+ // Sizing contract — the host fills a definite-height parent and falls back
103
+ // to its content's height when the parent is indefinite.
104
+ //
105
+ // The active page is a NORMAL-FLOW flex child, not `position: absolute;
106
+ // inset: 0`. Out-of-flow pages contribute nothing to the container's
107
+ // intrinsic height, so a host under an unsized mount node (a webext popup's
108
+ // `#app`, say) collapsed to 0 and clipped every page away — a fully
109
+ // populated DOM painting zero pixels, which neither innerText assertions nor
110
+ // Playwright's toBeVisible() can see. In flow, `height: 100%` degrades to
111
+ // `auto` and the container sizes to the page instead of to nothing.
112
+ //
113
+ // Only the top-of-stack page is displayed, so nothing needs to overlay:
114
+ // backgrounded pages are `display: none` and leave layout entirely.
115
+ // `position: relative` stays so screens keep the page as their containing
116
+ // block, and `minHeight: 0` + `overflow: auto` keep a too-tall page
117
+ // scrolling INSIDE a definite-height host rather than growing it.
98
118
  const PAGE_STYLE: CSSProperties = {
99
- position: "absolute",
100
- inset: 0,
119
+ position: "relative",
120
+ flex: "1 1 auto",
121
+ minHeight: 0,
101
122
  display: "flex",
102
123
  flexDirection: "column",
103
124
  overflow: "auto",
104
125
  };
105
126
 
127
+ /** Dev-only: a host that measures 0px tall paints nothing, however healthy
128
+ * its DOM looks. Say so instead of shipping a blank surface. */
129
+ function useZeroHeightWarning(ref: { current: HTMLDivElement | null }): void {
130
+ useEffect(() => {
131
+ if (process.env.NODE_ENV === "production") return;
132
+ const el = ref.current;
133
+ if (!el) return;
134
+ // A frame late: parents that size themselves in their own effect (or on
135
+ // font load) have landed by then.
136
+ const raf = requestAnimationFrame(() => {
137
+ // offsetParent === null ⇒ legitimately hidden (collapsed panel, an
138
+ // ancestor with display:none), not a sizing bug.
139
+ if (el.offsetParent === null || el.getBoundingClientRect().height > 0) return;
140
+ console.error(
141
+ "[stack nav] DomNavigationHost rendered 0px tall — every page is clipped and " +
142
+ "this surface paints nothing. Give the mount node a definite height (e.g. " +
143
+ "`#app { display: flex; flex-direction: column; min-height: 100vh }`) or pass " +
144
+ "`style={{ minHeight: … }}` to the host.",
145
+ );
146
+ });
147
+ return () => cancelAnimationFrame(raf);
148
+ }, [ref]);
149
+ }
150
+
106
151
  export function DomNavigationHost({
107
152
  routes,
108
153
  initialHref,
109
154
  style,
110
155
  }: DomNavigationHostProps): ReactNode {
156
+ const hostRef = useRef<HTMLDivElement>(null);
111
157
  const adapterRef = useRef<DomStackAdapter | null>(null);
112
158
  adapterRef.current ??= new DomStackAdapter(routes[0]?.tag ?? "", () =>
113
159
  stackNavigator.syncFromHost(),
@@ -125,10 +171,23 @@ export function DomNavigationHost({
125
171
  return () => stackNavigator.detach();
126
172
  }, []);
127
173
 
174
+ useZeroHeightWarning(hostRef);
175
+
128
176
  const nav = useNavState();
129
177
 
130
178
  return (
131
- <div style={{ position: "relative", flex: 1, minHeight: 0, height: "100%", ...style }}>
179
+ <div
180
+ ref={hostRef}
181
+ style={{
182
+ position: "relative",
183
+ display: "flex",
184
+ flexDirection: "column",
185
+ flex: 1,
186
+ minHeight: 0,
187
+ height: "100%",
188
+ ...style,
189
+ }}
190
+ >
132
191
  {routes.map((route) => {
133
192
  const active = nav.tag === route.tag;
134
193
  const mounted = stackNavigator.isVisited(route.tag);
@@ -1 +1 @@
1
- {"version":3,"file":"DomNavigationHost.d.ts","sourceRoot":"","sources":["../../src/seam/DomNavigationHost.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAIL,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAC;AAErB;;qBAEqB;AACrB,qBAAa,eAAgB,YAAW,eAAe;IACrD,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAE3B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI;IAKlD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK9B,GAAG,IAAI,OAAO;IAOd,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQhC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC,oBAAoB,IAAI;QACtB,WAAW,IAAI,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG;YAAE,OAAO,IAAI,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;KAC9D;CAQF;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB;;2CAEuC;IACvC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAUD,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,WAAW,EACX,KAAK,GACN,EAAE,sBAAsB,GAAG,SAAS,CAwCpC"}
1
+ {"version":3,"file":"DomNavigationHost.d.ts","sourceRoot":"","sources":["../../src/seam/DomNavigationHost.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAIL,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAC;AAErB;;qBAEqB;AACrB,qBAAa,eAAgB,YAAW,eAAe;IACrD,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAE3B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI;IAKlD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK9B,GAAG,IAAI,OAAO;IAOd,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQhC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC,oBAAoB,IAAI;QACtB,WAAW,IAAI,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG;YAAE,OAAO,IAAI,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;KAC9D;CAQF;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB;;2CAEuC;IACvC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAmDD,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,WAAW,EACX,KAAK,GACN,EAAE,sBAAsB,GAAG,SAAS,CAsDpC"}