@flemo/react 2.2.0 → 2.2.2

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 (2) hide show
  1. package/dist/index.mjs +476 -465
  2. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -1,25 +1,25 @@
1
- import e, { Activity as t, Children as n, createContext as r, createElement as i, isValidElement as a, useCallback as o, useContext as s, useEffect as c, useId as l, useImperativeHandle as u, useInsertionEffect as d, useLayoutEffect as f, useReducer as ee, useRef as p, useState as m } from "react";
2
- import { ACTIVE_ATTR as te, ANIM_HOLD as h, ANIM_HOLD_ATTR as ne, LAYER_HOST_ATTR as re, LAYER_OWNER_ATTR as ie, LAYER_SLOT_ATTR as ae, OVERLAY_LEVEL as oe, STATUS_ATTR as se, TRANSITION_ATTR as g, animHoldKey as _, appendParamsQuery as ce, attachMorph as v, beginMorphSwipe as le, buildRoutePath as y, computeBarRiding as ue, computeScreenFreeze as de, computeScreenFreezeMode as b, consumeSelfInducedPop as fe, createAnimHoldCoordinator as x, createBrowserHistoryDriver as S, createBrowserHistoryDriver as pe, createDecorator as C, createHistoryStore as w, createMorphTransition as T, createNavigateStore as E, createNavigationController as me, createPartTransition as D, createRawDecorator as O, createRawMorphTransition as k, createRawPartTransition as A, createRawTransition as he, createRouterScope as ge, createScreenSelector as j, createScreenStore as _e, createStepController as ve, createSwipeController as ye, createTransition as be, createTransitionEngine as xe, createTransitionStore as Se, decoratorMap as Ce, eagerlyDecodeImages as we, ensureScopeHistorySync as M, enteringInitialStyle as Te, getMatchedPathPattern as Ee, isDesktopBlink as De, isOpaqueColor as Oe, isServer as ke, markSelfInducedPop as Ae, matchesPathname as je, morphTransitionMap as Me, observeBarHeight as Ne, observeViewportScrollHeight as Pe, partTransitionMap as Fe, publishRideBox as Ie, readStepParams as Le, registerMorphLayer as Re, registerPartLayer as ze, registerTransitionDefinitions as Be, releaseScopeHistorySync as Ve, resolvePartLayer as He, resolvePlatformProfile as Ue, resolveTransition as We, seedRouterEntry as Ge, sharedBarsMatch as Ke, startFlemoRuntime as qe, subscribeStepParamsRestore as Je } from "@flemo/core";
3
- import { Fragment as Ye, jsx as N, jsxs as Xe } from "react/jsx-runtime";
4
- import { createPortal as Ze, flushSync as Qe } from "react-dom";
1
+ import e, { Activity as t, Children as n, createContext as r, createElement as i, isValidElement as a, useCallback as o, useContext as s, useEffect as c, useId as l, useImperativeHandle as u, useInsertionEffect as d, useLayoutEffect as f, useReducer as p, useRef as m, useState as h } from "react";
2
+ import { ACTIVE_ATTR as ee, ANIM_HOLD as g, ANIM_HOLD_ATTR as _, LAYER_HOST_ATTR as v, LAYER_OWNER_ATTR as te, LAYER_SLOT_ATTR as y, OVERLAY_LEVEL as ne, STATUS_ATTR as b, TRANSITION_ATTR as x, animHoldKey as S, appendParamsQuery as re, attachMorph as ie, beginMorphSwipe as ae, buildRoutePath as C, computeBarRiding as oe, computeScreenFreeze as se, computeScreenFreezeMode as w, consumeSelfInducedPop as ce, createAnimHoldCoordinator as T, createBrowserHistoryDriver as E, createBrowserHistoryDriver as le, createDecorator as D, createHistoryStore as O, createMorphTransition as k, createNavigateStore as A, createNavigationController as ue, createPartTransition as j, createRawDecorator as M, createRawMorphTransition as N, createRawPartTransition as P, createRawTransition as de, createRouterScope as fe, createScreenSelector as F, createScreenStore as pe, createStepController as me, createSwipeController as he, createTransition as ge, createTransitionEngine as _e, createTransitionStore as ve, decoratorMap as ye, eagerlyDecodeImages as be, ensureScopeHistorySync as I, enteringInitialStyle as xe, getMatchedPathPattern as Se, isDesktopBlink as Ce, isOpaqueColor as we, isServer as Te, markSelfInducedPop as Ee, matchesPathname as De, morphTransitionMap as Oe, observeBarHeight as ke, observeViewportScrollHeight as Ae, partTransitionMap as je, publishRideBox as Me, readStepParams as Ne, registerMorphLayer as Pe, registerPartLayer as Fe, registerTransitionDefinitions as Ie, releaseScopeHistorySync as Le, resolvePartLayer as Re, resolvePlatformProfile as ze, resolveTransition as Be, seedRouterEntry as Ve, sharedBarsMatch as He, startFlemoRuntime as Ue, subscribeStepParamsRestore as We } from "@flemo/core";
3
+ import { Fragment as Ge, jsx as L, jsxs as Ke } from "react/jsx-runtime";
4
+ import { createPortal as qe, flushSync as Je } from "react-dom";
5
5
  //#region src/stores/StoreContext.ts
6
- var $e = r(null);
6
+ var Ye = r(null);
7
7
  //#endregion
8
8
  //#region src/stores/useStores.ts
9
- function P() {
10
- let e = s($e);
9
+ function R() {
10
+ let e = s(Ye);
11
11
  if (!e) throw Error("flemo stores are missing. Render inside a <Router>.");
12
12
  return e;
13
13
  }
14
14
  //#endregion
15
15
  //#region src/history/HistoryListener.tsx
16
- function et() {
17
- let e = P();
18
- return c(() => (M(e), () => Ve(e)), [e]), null;
16
+ function Xe() {
17
+ let e = R();
18
+ return c(() => (I(e), () => Le(e)), [e]), null;
19
19
  }
20
20
  //#endregion
21
21
  //#region src/screen/ScreenContext.ts
22
- var tt = r({
22
+ var Ze = r({
23
23
  id: "",
24
24
  isActive: !1,
25
25
  isRoot: !0,
@@ -33,15 +33,15 @@ var tt = r({
33
33
  });
34
34
  //#endregion
35
35
  //#region src/screen/useScreen.ts
36
- function F() {
37
- return s(tt);
36
+ function z() {
37
+ return s(Ze);
38
38
  }
39
39
  //#endregion
40
40
  //#region src/screen/ParamsProvider/ParamsContext.ts
41
- var nt = r({}), I = r(() => {});
41
+ var Qe = r({}), $e = r(() => {});
42
42
  //#endregion
43
43
  //#region src/screen/ParamsProvider/ParamsReducer.ts
44
- function L(e, t) {
44
+ function B(e, t) {
45
45
  switch (t.type) {
46
46
  case "SET": return t.params;
47
47
  default: return e;
@@ -49,10 +49,10 @@ function L(e, t) {
49
49
  }
50
50
  //#endregion
51
51
  //#region src/screen/ParamsProvider/ParamsProvider.tsx
52
- function R({ children: e }) {
53
- let { isActive: t, params: n } = F(), { driver: r } = P(), [i, a] = ee(L, n);
52
+ function V({ children: e }) {
53
+ let { isActive: t, params: n } = z(), { driver: r } = R(), [i, a] = p(B, n);
54
54
  return c(() => {
55
- if (t) return Je(r, (e) => a({
55
+ if (t) return We(r, (e) => a({
56
56
  type: "SET",
57
57
  params: e
58
58
  }));
@@ -60,9 +60,9 @@ function R({ children: e }) {
60
60
  t,
61
61
  a,
62
62
  r
63
- ]), /* @__PURE__ */ N(I.Provider, {
63
+ ]), /* @__PURE__ */ L($e.Provider, {
64
64
  value: a,
65
- children: /* @__PURE__ */ N(nt.Provider, {
65
+ children: /* @__PURE__ */ L(Qe.Provider, {
66
66
  value: i,
67
67
  children: e
68
68
  })
@@ -70,42 +70,42 @@ function R({ children: e }) {
70
70
  }
71
71
  //#endregion
72
72
  //#region ../../node_modules/.pnpm/zustand@5.0.15_@types+react@19.2.18_react@19.2.8/node_modules/zustand/esm/react.mjs
73
- var z = (e) => e;
74
- function B(t, n = z) {
73
+ var H = (e) => e;
74
+ function U(t, n = H) {
75
75
  let r = e.useSyncExternalStore(t.subscribe, e.useCallback(() => n(t.getState()), [t, n]), e.useCallback(() => n(t.getInitialState()), [t, n]));
76
76
  return e.useDebugValue(r), r;
77
77
  }
78
78
  //#endregion
79
79
  //#region src/stores/useHistoryStore.ts
80
- function V(e) {
81
- return B(P().history, e);
80
+ function W(e) {
81
+ return U(R().history, e);
82
82
  }
83
83
  //#endregion
84
84
  //#region src/RouterIdContext.ts
85
- var rt = r(null);
85
+ var et = r(null);
86
86
  //#endregion
87
87
  //#region src/renderer/Renderer.tsx
88
- function it({ children: e }) {
89
- let t = V((e) => e.index), r = V((e) => e.histories), i = P(), a = s(tt), o = s(rt);
90
- return j(r, t).map((t) => {
91
- let [r] = n.toArray(e).filter((e) => je(e.props.path, t.pathname));
92
- return r ? /* @__PURE__ */ N(tt.Provider, {
88
+ function tt({ children: e }) {
89
+ let t = W((e) => e.index), r = W((e) => e.histories), i = R(), a = s(Ze), o = s(et);
90
+ return F(r, t).map((t) => {
91
+ let [r] = n.toArray(e).filter((e) => De(e.props.path, t.pathname));
92
+ return r ? /* @__PURE__ */ L(Ze.Provider, {
93
93
  value: {
94
94
  ...t,
95
95
  isPrev: t.isPrev || a.isPrev,
96
96
  navigateStore: i.navigate,
97
97
  routerId: o ?? void 0,
98
- routePath: Ee(r.props.path, t.pathname)
98
+ routePath: Se(r.props.path, t.pathname)
99
99
  },
100
- children: /* @__PURE__ */ N(R, { children: r })
100
+ children: /* @__PURE__ */ L(V, { children: r })
101
101
  }, t.id) : null;
102
102
  });
103
103
  }
104
104
  //#endregion
105
105
  //#region src/screen/MorphLayer/MorphLayer.tsx
106
- function at({ stores: e }) {
107
- let t = p(null);
108
- return f(() => (Re(e.navigate, t.current), () => Re(e.navigate, null)), [e.navigate]), /* @__PURE__ */ N("div", {
106
+ function nt({ stores: e }) {
107
+ let t = m(null);
108
+ return f(() => (Pe(e.navigate, t.current), () => Pe(e.navigate, null)), [e.navigate]), /* @__PURE__ */ L("div", {
109
109
  ref: t,
110
110
  "data-flemo-morph-layer": "",
111
111
  "aria-hidden": "true",
@@ -118,9 +118,9 @@ function at({ stores: e }) {
118
118
  }
119
119
  //#endregion
120
120
  //#region src/screen/PartLayer/PartLayer.tsx
121
- function ot({ stores: e }) {
122
- let t = p(null);
123
- return f(() => (ze(e.navigate, t.current), () => ze(e.navigate, null)), [e.navigate]), /* @__PURE__ */ N("div", {
121
+ function rt({ stores: e }) {
122
+ let t = m(null);
123
+ return f(() => (Fe(e.navigate, t.current), () => Fe(e.navigate, null)), [e.navigate]), /* @__PURE__ */ L("div", {
124
124
  ref: t,
125
125
  "data-flemo-part-layer": "",
126
126
  "aria-hidden": "true",
@@ -133,14 +133,14 @@ function ot({ stores: e }) {
133
133
  }
134
134
  //#endregion
135
135
  //#region src/screen/ScreenViewportContext.ts
136
- var st = r({ contained: !1 });
137
- function ct() {
138
- return s(st);
136
+ var it = r({ contained: !1 });
137
+ function at() {
138
+ return s(it);
139
139
  }
140
140
  //#endregion
141
141
  //#region src/transition/styles.ts
142
- function lt(e, t, n = [], r = []) {
143
- d(() => Be(e, t, n, r), [
142
+ function ot(e, t, n = [], r = []) {
143
+ d(() => Ie(e, t, n, r), [
144
144
  e,
145
145
  t,
146
146
  n,
@@ -149,50 +149,50 @@ function lt(e, t, n = [], r = []) {
149
149
  }
150
150
  //#endregion
151
151
  //#region src/utils/devDiagnostics.ts
152
- function ut() {
152
+ function st() {
153
153
  return typeof process < "u" && process.env.NODE_ENV !== "production";
154
154
  }
155
- function dt(e) {
156
- !ut() || typeof console > "u" || console.error(`[flemo] ${e}`);
155
+ function ct(e) {
156
+ !st() || typeof console > "u" || console.error(`[flemo] ${e}`);
157
157
  }
158
- function ft(e) {
159
- if (ut()) throw Error(`[flemo] ${e}`);
158
+ function lt(e) {
159
+ if (st()) throw Error(`[flemo] ${e}`);
160
160
  }
161
161
  //#endregion
162
162
  //#region src/RouterDepthContext.ts
163
- var pt = r(0), mt = r(null), ht = [
163
+ var ut = r(0), dt = r(null), ft = [
164
164
  "current",
165
165
  "parent",
166
166
  "root",
167
167
  "nearest-owner"
168
- ], H = (e) => ht.includes(e), U = (e) => {
168
+ ], pt = (e) => ft.includes(e), G = (e) => {
169
169
  let t = [];
170
170
  for (let n = e; n; n = n.parent) t.push(n);
171
171
  return t;
172
172
  };
173
- function W(e, t, n) {
174
- return e.routePaths.length === 0 || e.routePaths.some((e) => e === t) ? !0 : n ? je(e.routePaths, n) : !1;
173
+ function K(e, t, n) {
174
+ return e.routePaths.length === 0 || e.routePaths.some((e) => e === t) ? !0 : n ? De(e.routePaths, n) : !1;
175
175
  }
176
- function gt(e) {
177
- return U(e).map((e, t) => {
176
+ function q(e) {
177
+ return G(e).map((e, t) => {
178
178
  let n = t === 0 ? "current" : `${t} level(s) up`;
179
179
  return e.name ? `"${e.name}" (${n})` : `<unnamed> (${n})`;
180
180
  }).join(", ");
181
181
  }
182
- function _t({ from: e, target: t, path: n, pathname: r }) {
182
+ function mt({ from: e, target: t, path: n, pathname: r }) {
183
183
  if (t === void 0) return {
184
184
  node: e,
185
185
  message: null
186
186
  };
187
187
  let i = null, a = null;
188
- if (typeof t == "string" ? H(t) ? i = t : a = t : "scope" in t ? i = t.scope : a = t.name, a !== null) {
189
- let t = U(e).find((e) => e.name === a);
188
+ if (typeof t == "string" ? pt(t) ? i = t : a = t : "scope" in t ? i = t.scope : a = t.name, a !== null) {
189
+ let t = G(e).find((e) => e.name === a);
190
190
  return t ? {
191
191
  node: t,
192
192
  message: null
193
193
  } : {
194
194
  node: null,
195
- message: `no <Router name="${a}"> encloses this call. Routers in scope: ${gt(e)}.`
195
+ message: `no <Router name="${a}"> encloses this call. Routers in scope: ${q(e)}.`
196
196
  };
197
197
  }
198
198
  switch (i) {
@@ -204,7 +204,7 @@ function _t({ from: e, target: t, path: n, pathname: r }) {
204
204
  message: "router: \"parent\" was requested, but the enclosing <Router> is the outermost one (it has no parent Router)."
205
205
  };
206
206
  case "root": {
207
- let t = U(e);
207
+ let t = G(e);
208
208
  return {
209
209
  node: t[t.length - 1],
210
210
  message: null
@@ -215,13 +215,13 @@ function _t({ from: e, target: t, path: n, pathname: r }) {
215
215
  node: e,
216
216
  message: "router: \"nearest-owner\" needs a route to search for, and pop() carries none. Falling back to \"current\" — name the Router explicitly for a cross-Router pop."
217
217
  };
218
- let t = U(e).find((e) => W(e, n, r));
218
+ let t = G(e).find((e) => K(e, n, r));
219
219
  return t ? {
220
220
  node: t,
221
221
  message: null
222
222
  } : {
223
223
  node: null,
224
- message: `no <Router> in scope declares a <Route path="${n}">. Routers in scope: ${gt(e)}.`
224
+ message: `no <Router> in scope declares a <Route path="${n}">. Routers in scope: ${q(e)}.`
225
225
  };
226
226
  }
227
227
  default: return {
@@ -230,129 +230,129 @@ function _t({ from: e, target: t, path: n, pathname: r }) {
230
230
  };
231
231
  }
232
232
  }
233
- function G(e) {
233
+ function ht(e) {
234
234
  if (!e.name) return null;
235
235
  for (let t = e.parent; t; t = t.parent) if (t.name === e.name) return t;
236
236
  return null;
237
237
  }
238
238
  //#endregion
239
239
  //#region src/Slot.tsx
240
- var K = { contained: !0 };
241
- function q({ children: e, className: t, style: n }) {
242
- return /* @__PURE__ */ N("div", {
240
+ var gt = { contained: !0 };
241
+ function J({ children: e, className: t, style: n }) {
242
+ return /* @__PURE__ */ L("div", {
243
243
  className: t,
244
244
  style: {
245
245
  position: "relative",
246
246
  overflow: "hidden",
247
247
  ...n
248
248
  },
249
- children: /* @__PURE__ */ N(st.Provider, {
250
- value: K,
251
- children: /* @__PURE__ */ N(it, { children: e })
249
+ children: /* @__PURE__ */ L(it.Provider, {
250
+ value: gt,
251
+ children: /* @__PURE__ */ L(tt, { children: e })
252
252
  })
253
253
  });
254
254
  }
255
255
  //#endregion
256
256
  //#region src/Router.tsx
257
- function J(e) {
257
+ function _t(e) {
258
258
  let t = null;
259
259
  return n.forEach(e, (e) => {
260
260
  if (t || !a(e)) return;
261
- if (e.type === q) {
261
+ if (e.type === J) {
262
262
  t = n.toArray(e.props.children).filter(a);
263
263
  return;
264
264
  }
265
265
  let r = e.props.children;
266
266
  if (r) {
267
- let e = J(r);
267
+ let e = _t(r);
268
268
  e && (t = e);
269
269
  }
270
270
  }), t;
271
271
  }
272
- var vt = typeof window > "u" ? c : f, yt = typeof window > "u" ? c : d, Y = [], bt = [], xt = [], X = [], St = { contained: !0 };
273
- function Ct({ children: e, name: t, strictRoutes: r = !1, initPath: i = "/", defaultTransitionName: o = "cupertino", transitions: u = Y, decorators: d = bt, partTransitions: f = xt, morphTransitions: ee = X, history: p = "browser", createDriver: te, className: h, style: ne }) {
274
- let re = s(pt), ie = l(), [ae, oe] = m(!1);
275
- c(() => oe(!0), []);
276
- let se = ae ? ie : null, g = re > 0, _ = p === "memory", ce = l(), v = s(tt), le = s($e), y = g && v.id ? `_F_${le?.routerKey ?? ""}${v.id}_` : ce, ue = J(e), de = ue !== null, b = (ue ?? n.toArray(e).filter(a)).flatMap((e) => e.props?.path ? [e.props.path].flat() : []), fe = g ? null : le, x = fe !== null, S = te ?? pe, [C] = m(() => _ ? null : S(x ? void 0 : y)), w = !g && !_ && !ke(), T = w && C ? C.readPathname() : i || "/", E = T.indexOf("?"), me = (E >= 0 ? T.slice(0, E) : T) || "/", D = w ? window.location.search : E >= 0 ? T.slice(E) : "", [O] = m(() => ge({
277
- routePaths: b,
278
- pathname: me,
279
- search: D,
272
+ var vt = typeof window > "u" ? c : f, yt = typeof window > "u" ? c : d, bt = [], Y = [], xt = [], St = [], X = { contained: !0 };
273
+ function Ct({ children: e, name: t, strictRoutes: r = !1, initPath: i = "/", defaultTransitionName: o = "cupertino", transitions: u = bt, decorators: d = Y, partTransitions: f = xt, morphTransitions: p = St, history: m = "browser", createDriver: ee, className: g, style: _ }) {
274
+ let v = s(ut), te = l(), [y, ne] = h(!1);
275
+ c(() => ne(!0), []);
276
+ let b = y ? te : null, x = v > 0, S = m === "memory", re = l(), ie = s(Ze), ae = s(Ye), C = x && ie.id ? `_F_${ae?.routerKey ?? ""}${ie.id}_` : re, oe = _t(e), se = oe !== null, w = (oe ?? n.toArray(e).filter(a)).flatMap((e) => e.props?.path ? [e.props.path].flat() : []), ce = x ? null : ae, T = ce !== null, E = ee ?? le, [D] = h(() => S ? null : E(T ? void 0 : C)), O = !x && !S && !Te(), k = O && D ? D.readPathname() : i || "/", A = k.indexOf("?"), ue = (A >= 0 ? k.slice(0, A) : k) || "/", j = O ? window.location.search : A >= 0 ? k.slice(A) : "", [M] = h(() => fe({
277
+ routePaths: w,
278
+ pathname: ue,
279
+ search: j,
280
280
  defaultTransitionName: o,
281
- memory: _,
282
- browserDriver: C,
283
- hostedScope: fe,
284
- routerKey: x ? void 0 : y,
285
- zoneEntryId: g && !x && v.id || void 0,
286
- persistKey: g && !_ && !x ? y : void 0
281
+ memory: S,
282
+ browserDriver: D,
283
+ hostedScope: ce,
284
+ routerKey: T ? void 0 : C,
285
+ zoneEntryId: x && !T && ie.id || void 0,
286
+ persistKey: x && !S && !T ? C : void 0
287
287
  }));
288
288
  vt(() => {
289
- O.transition.getState().defaultTransitionName !== o && O.transition.setState({ defaultTransitionName: o });
289
+ M.transition.getState().defaultTransitionName !== o && M.transition.setState({ defaultTransitionName: o });
290
290
  });
291
- let k = s(mt), [A] = m(() => ({
291
+ let N = s(dt), [P] = h(() => ({
292
292
  name: t,
293
- stores: O,
294
- routePaths: b,
293
+ stores: M,
294
+ routePaths: w,
295
295
  strictRoutes: r,
296
- parent: k,
297
- depth: re
296
+ parent: N,
297
+ depth: v
298
298
  }));
299
299
  yt(() => {
300
- A.name = t, A.stores = O, A.routePaths = b, A.strictRoutes = r, A.parent = k;
300
+ P.name = t, P.stores = M, P.routePaths = w, P.strictRoutes = r, P.parent = N;
301
301
  }), c(() => {
302
- G(A) && dt(`duplicate <Router name="${A.name}">: an enclosing <Router> already uses that name, so \`router\` targets resolve to the nearer one. Give each nested Router a unique name.`);
303
- }, [A, t]), vt(() => (O.life.alive = !0, () => {
304
- O.life.alive = !1;
305
- }), [O]), lt(u, d, f, ee), c(() => qe(), []), c(() => {
306
- _ || !C || Ge({
307
- driver: C,
308
- routerKey: x ? null : y,
309
- nested: g && !x,
310
- seedPathname: me,
302
+ ht(P) && ct(`duplicate <Router name="${P.name}">: an enclosing <Router> already uses that name, so \`router\` targets resolve to the nearer one. Give each nested Router a unique name.`);
303
+ }, [P, t]), vt(() => (M.life.alive = !0, () => {
304
+ M.life.alive = !1;
305
+ }), [M]), ot(u, d, f, p), c(() => Ue(), []), c(() => {
306
+ S || !D || Ve({
307
+ driver: D,
308
+ routerKey: T ? null : C,
309
+ nested: x && !T,
310
+ seedPathname: ue,
311
311
  defaultTransitionName: o,
312
- rootParams: O.history.getState().histories[0]?.params ?? {}
312
+ rootParams: M.history.getState().histories[0]?.params ?? {}
313
313
  });
314
314
  }, [
315
- _,
315
+ S,
316
+ T,
316
317
  x,
317
- g,
318
- y,
319
- me,
318
+ C,
319
+ ue,
320
320
  o,
321
- O.history,
322
- C
321
+ M.history,
322
+ D
323
323
  ]);
324
- let he = de ? e : /* @__PURE__ */ N(it, { children: e }), j = /* @__PURE__ */ N(rt.Provider, {
325
- value: se,
326
- children: /* @__PURE__ */ N(pt.Provider, {
327
- value: re + 1,
328
- children: /* @__PURE__ */ N(mt.Provider, {
329
- value: A,
330
- children: /* @__PURE__ */ Xe($e.Provider, {
331
- value: O,
332
- children: [/* @__PURE__ */ N(et, {}), g ? /* @__PURE__ */ N(st.Provider, {
333
- value: St,
334
- children: he
335
- }) : he]
324
+ let de = se ? e : /* @__PURE__ */ L(tt, { children: e }), F = /* @__PURE__ */ L(et.Provider, {
325
+ value: b,
326
+ children: /* @__PURE__ */ L(ut.Provider, {
327
+ value: v + 1,
328
+ children: /* @__PURE__ */ L(dt.Provider, {
329
+ value: P,
330
+ children: /* @__PURE__ */ Ke(Ye.Provider, {
331
+ value: M,
332
+ children: [/* @__PURE__ */ L(Xe, {}), x ? /* @__PURE__ */ L(it.Provider, {
333
+ value: X,
334
+ children: de
335
+ }) : de]
336
336
  })
337
337
  })
338
338
  })
339
339
  });
340
- return g ? /* @__PURE__ */ Xe("div", {
341
- className: h,
340
+ return x ? /* @__PURE__ */ Ke("div", {
341
+ className: g,
342
342
  style: {
343
343
  position: "relative",
344
344
  overflow: "hidden",
345
- ...ne
345
+ ..._
346
346
  },
347
347
  children: [
348
- j,
349
- /* @__PURE__ */ N(at, { stores: O }),
350
- /* @__PURE__ */ N(ot, { stores: O })
348
+ F,
349
+ /* @__PURE__ */ L(nt, { stores: M }),
350
+ /* @__PURE__ */ L(rt, { stores: M })
351
351
  ]
352
- }) : /* @__PURE__ */ Xe(Ye, { children: [
353
- j,
354
- /* @__PURE__ */ N(at, { stores: O }),
355
- /* @__PURE__ */ N(ot, { stores: O })
352
+ }) : /* @__PURE__ */ Ke(Ge, { children: [
353
+ F,
354
+ /* @__PURE__ */ L(nt, { stores: M }),
355
+ /* @__PURE__ */ L(rt, { stores: M })
356
356
  ] });
357
357
  }
358
358
  //#endregion
@@ -363,12 +363,12 @@ function wt({ element: e }) {
363
363
  //#endregion
364
364
  //#region src/utils/buildRoutePath.ts
365
365
  function Tt(e, t) {
366
- return y(e, t);
366
+ return C(e, t);
367
367
  }
368
368
  //#endregion
369
369
  //#region src/navigate/useNavigate.ts
370
370
  function Et(e) {
371
- let t = P(), n = s(mt) ?? {
371
+ let t = R(), n = s(dt) ?? {
372
372
  stores: t,
373
373
  routePaths: [],
374
374
  strictRoutes: !1,
@@ -381,18 +381,18 @@ function Et(e) {
381
381
  } catch {
382
382
  o = void 0;
383
383
  }
384
- let { node: s, message: c } = _t({
384
+ let { node: s, message: c } = mt({
385
385
  from: n,
386
386
  target: a,
387
387
  path: r,
388
388
  pathname: o
389
389
  });
390
- if (!s) return ft(c ?? "the requested Router could not be resolved."), null;
391
- if (c && dt(c), r && !W(s, r, o)) {
390
+ if (!s) return lt(c ?? "the requested Router could not be resolved."), null;
391
+ if (c && ct(c), r && !K(s, r, o)) {
392
392
  let e = `"${r}" is not declared by ${s.name ? `<Router name="${s.name}">` : "the target <Router>"}, so the navigation cannot mount a screen there. Declare a matching <Route>, target the Router that owns it, or use \`router: "nearest-owner"\`.`;
393
- a !== void 0 || s.strictRoutes ? ft(e) : dt(e);
393
+ a !== void 0 || s.strictRoutes ? lt(e) : ct(e);
394
394
  }
395
- return me({
395
+ return ue({
396
396
  stores: s.stores,
397
397
  buildPathname: (e, t) => Tt(e, t),
398
398
  driver: s.stores.driver,
@@ -417,20 +417,20 @@ function Et(e) {
417
417
  //#endregion
418
418
  //#region src/navigate/usePathname.ts
419
419
  function Dt() {
420
- return V((e) => e.histories[e.pendingIndex]?.pathname ?? "/");
420
+ return W((e) => e.histories[e.pendingIndex]?.pathname ?? "/");
421
421
  }
422
422
  //#endregion
423
423
  //#region src/navigate/useStep.ts
424
424
  function Ot() {
425
- let { routePath: e } = F(), t = P(), n = s(I), { driver: r, markSelfInduced: i } = t, [a, o] = m(null);
425
+ let { routePath: e } = z(), t = R(), n = s($e), { driver: r, markSelfInduced: i } = t, [a, o] = h(null);
426
426
  c(() => {
427
- if (!e) return o(Le(r.readState())), r.subscribe((e) => o(Le(e.state)));
427
+ if (!e) return o(Ne(r.readState())), r.subscribe((e) => o(Ne(e.state)));
428
428
  }, [e, r]);
429
- let l = ve({
429
+ let l = me({
430
430
  stores: t,
431
431
  driver: r,
432
432
  markSelfInduced: i,
433
- buildStepPathname: (t) => e ? Tt(e, t).pathname : ce(r.readPathname(), t),
433
+ buildStepPathname: (t) => e ? Tt(e, t).pathname : re(r.readPathname(), t),
434
434
  applyParams: (t) => {
435
435
  n({
436
436
  type: "SET",
@@ -448,16 +448,16 @@ function Ot() {
448
448
  //#endregion
449
449
  //#region src/screen/ParamsProvider/useParams.ts
450
450
  function kt() {
451
- return s(nt);
451
+ return s(Qe);
452
452
  }
453
453
  //#endregion
454
454
  //#region src/screen/ScreenFreeze.tsx
455
455
  var At = 3e3;
456
- function Z({ freeze: e, mode: n = "deferred", children: r }) {
457
- let [i, a] = m(e), o = p(null);
456
+ function jt({ freeze: e, mode: n = "deferred", children: r }) {
457
+ let [i, a] = h(e), o = m(null);
458
458
  return !e && i && a(!1), c(() => {
459
459
  if (!(!e || i)) {
460
- if (n === "immediate" || !De()) {
460
+ if (n === "immediate" || !Ce()) {
461
461
  a(!0);
462
462
  return;
463
463
  }
@@ -471,46 +471,47 @@ function Z({ freeze: e, mode: n = "deferred", children: r }) {
471
471
  e,
472
472
  i,
473
473
  n
474
- ]), /* @__PURE__ */ N(t, {
474
+ ]), /* @__PURE__ */ L(t, {
475
475
  mode: e && i ? "hidden" : "visible",
476
476
  children: r
477
477
  });
478
478
  }
479
479
  //#endregion
480
480
  //#region src/screen/LayerContext.ts
481
- var jt = r(null);
482
- function Mt() {
483
- return s(jt);
481
+ var Mt = r(null);
482
+ function Nt() {
483
+ return s(Mt);
484
484
  }
485
- var Nt = r(null);
486
- function Pt() {
487
- return s(Nt);
485
+ var Pt = r(null);
486
+ function Z() {
487
+ return s(Pt);
488
488
  }
489
489
  //#endregion
490
490
  //#region src/screen/scopeAnimHoldCoordinator.ts
491
491
  var Ft = /* @__PURE__ */ new WeakMap();
492
492
  function It(e) {
493
493
  let t = Ft.get(e);
494
- return t || (t = x(), Ft.set(e, t)), t;
494
+ return t || (t = T(), Ft.set(e, t)), t;
495
495
  }
496
496
  //#endregion
497
497
  //#region src/stores/useNavigateStore.ts
498
498
  function Lt(e) {
499
- return B(P().navigate, e);
499
+ return U(R().navigate, e);
500
500
  }
501
501
  //#endregion
502
502
  //#region src/screen/ScreenDecorator.tsx
503
503
  function Rt({ ref: e, style: t, ...n }) {
504
- let { isActive: r, isPrev: i, transitionName: a } = F(), o = p(null);
505
- u(e, () => o.current);
506
- let s = Lt((e) => i ? "COMPLETED" : e.status), c = We(a), { decoratorName: l } = c, d = Ce.get(l);
507
- return d ? /* @__PURE__ */ N("div", {
508
- ref: o,
504
+ let { id: r, isActive: i, isPrev: a, transitionName: o } = z(), s = m(null);
505
+ u(e, () => s.current);
506
+ let c = Lt((e) => a ? "COMPLETED" : e.status), l = Be(o), { decoratorName: d } = l, f = ye.get(d);
507
+ return f ? /* @__PURE__ */ L("div", {
508
+ ref: s,
509
509
  "data-flemo-decorator": !0,
510
- "data-flemo-decorator-name": d.name,
511
- "data-flemo-transition": c.name,
512
- "data-flemo-status": s,
513
- "data-flemo-active": r ? "true" : "false",
510
+ "data-flemo-decorator-name": f.name,
511
+ "data-flemo-decorator-owner": r,
512
+ "data-flemo-transition": l.name,
513
+ "data-flemo-status": c,
514
+ "data-flemo-active": i ? "true" : "false",
514
515
  style: {
515
516
  position: "absolute",
516
517
  top: 0,
@@ -526,8 +527,8 @@ function Rt({ ref: e, style: t, ...n }) {
526
527
  //#endregion
527
528
  //#region src/screen/useViewportScrollHeight.ts
528
529
  function zt() {
529
- let [e, t] = m(0), [n, r] = m(0);
530
- return c(() => Pe((e, n) => {
530
+ let [e, t] = h(0), [n, r] = h(0);
531
+ return c(() => Ae((e, n) => {
531
532
  r(n), t(e);
532
533
  }), []), {
533
534
  viewportScrollHeight: e,
@@ -537,98 +538,98 @@ function zt() {
537
538
  //#endregion
538
539
  //#region src/stores/useScreenStore.ts
539
540
  function Q(e) {
540
- return B(P().screen, e);
541
+ return U(R().screen, e);
541
542
  }
542
543
  //#endregion
543
544
  //#region src/screen/ScreenMotion.tsx
544
- function Bt({ children: e, statusBarHeight: t, statusBarColor: n, systemNavigationBarHeight: r, systemNavigationBarColor: i, sharedTopBar: a, sharedTopBarId: l, sharedBottomBar: u, sharedBottomBarId: d, topBar: ee, bottomBar: ie, hideStatusBar: ae, hideSystemNavigationBar: ce, backgroundColor: v = "white", contentScrollable: y = !0, paintHidden: b = !1, ...fe }) {
545
- let { id: x, isActive: S, isRoot: pe, isPrev: C, zIndex: w, transitionName: T, prevTransitionName: E } = F(), { contained: me } = ct(), D = me ? "absolute" : "fixed", O = P(), k = s(rt), A = V((e) => e.index), he = V((e) => e.histories), ge = S || w === A - 1, j = Lt((e) => ge ? e.status : "COMPLETED"), _e = Q((e) => e.dragStatus), ve = Q((e) => e.replaceTransitionStatus), be = O.screen.getState().setDragStatus, Se = O.screen.getState().setReplaceTransitionStatus, M = S ? he[A - 1]?.id : he[A]?.id, Ee = Q((e) => M ? e.sharedBars[M] : void 0), De = Q((e) => M ? e.sharedBarMetadata[M] : void 0), ke = Q((e) => M ? e.screenSurfaces[M] : void 0), Ae = p(null);
546
- Ae.current ||= xe({
547
- getTransitionTaskId: () => O.navigate.getState().transitionTaskId,
548
- setDragStatus: be,
549
- setReplaceTransitionStatus: Se
545
+ function Bt({ children: e, statusBarHeight: t, statusBarColor: n, systemNavigationBarHeight: r, systemNavigationBarColor: i, sharedTopBar: a, sharedTopBarId: l, sharedBottomBar: u, sharedBottomBarId: d, topBar: p, bottomBar: te, hideStatusBar: y, hideSystemNavigationBar: re, backgroundColor: ie = "white", contentScrollable: C = !0, paintHidden: w = !1, ...ce }) {
546
+ let { id: T, isActive: E, isRoot: le, isPrev: D, zIndex: O, transitionName: k, prevTransitionName: A } = z(), { contained: ue } = at(), j = ue ? "absolute" : "fixed", M = R(), N = s(et), P = W((e) => e.index), de = W((e) => e.histories), fe = E || O === P - 1, F = Lt((e) => fe ? e.status : "COMPLETED"), pe = Q((e) => e.dragStatus), me = Q((e) => e.replaceTransitionStatus), ge = M.screen.getState().setDragStatus, ve = M.screen.getState().setReplaceTransitionStatus, I = E ? de[P - 1]?.id : de[P]?.id, Se = Q((e) => I ? e.sharedBars[I] : void 0), Ce = Q((e) => I ? e.sharedBarMetadata[I] : void 0), Te = Q((e) => I ? e.screenSurfaces[I] : void 0), Ee = m(null);
547
+ Ee.current ||= _e({
548
+ getTransitionTaskId: () => M.navigate.getState().transitionTaskId,
549
+ setDragStatus: ge,
550
+ setReplaceTransitionStatus: ve
550
551
  });
551
- let je = Ae.current, Me = p(null);
552
- Me.current ||= It(O.navigate);
553
- let Pe = We(T), { initial: Fe, swipeDirection: Le, decoratorName: Re } = Pe, ze = Ce.get(Re), { viewportScrollHeight: Be } = zt(), Ve = Be > 0, [Ge, qe] = m(null), Je = Mt(), Ye = Je ?? Ge, $e = p(/* @__PURE__ */ new Set()), [et, tt] = m(!1), nt = o((e) => {
554
- let t = $e.current;
555
- e ? t.add(e) : t.clear(), tt(t.size > 0);
556
- }, []), I = !!a, L = !!u, R = I ? `${typeof l}:${String(l)}` : null, z = L ? `${typeof d}:${String(d)}` : null, [B, it] = m({
557
- key: R,
552
+ let De = Ee.current, Oe = m(null);
553
+ Oe.current ||= It(M.navigate);
554
+ let Ae = Be(k), { initial: je, swipeDirection: Ne, decoratorName: Pe } = Ae, Fe = ye.get(Pe), { viewportScrollHeight: Ie } = zt(), Le = Ie > 0, [Ve, Ue] = h(null), We = Nt(), Ge = We ?? Ve, Ye = m(/* @__PURE__ */ new Set()), [Xe, Ze] = h(!1), Qe = Xe, $e = o((e) => {
555
+ let t = Ye.current;
556
+ e ? t.add(e) : t.clear(), Ze(t.size > 0);
557
+ }, []), B = !!a, V = !!u, H = B ? `${typeof l}:${String(l)}` : null, U = V ? `${typeof d}:${String(d)}` : null, [tt, nt] = h({
558
+ key: H,
558
559
  height: 0
559
- }), [at, ot] = m({
560
- key: z,
560
+ }), [rt, it] = h({
561
+ key: U,
561
562
  height: 0
562
- }), st = p(B), lt = p(at), ut = B.key === R ? B.height : 0, dt = at.key === z ? at.height : 0, ft = Ke(I ? { id: l } : void 0, De?.topBar) ? De?.topBar?.height ?? 0 : 0, pt = Ke(L ? { id: d } : void 0, De?.bottomBar) ? De?.bottomBar?.height ?? 0 : 0, mt = ut || ft, ht = dt || pt, H = p(null), U = p(null), W = p(null), gt = p(null), _t = p(null), G = p(null), K = p(null), q = o((e) => {
563
- e <= 0 || R === null || (gt.current && (gt.current.style.minHeight = `${e}px`), st.current = {
564
- key: R,
563
+ }), ot = m(tt), st = m(rt), ct = tt.key === H ? tt.height : 0, lt = rt.key === U ? rt.height : 0, ut = He(B ? { id: l } : void 0, Ce?.topBar) ? Ce?.topBar?.height ?? 0 : 0, dt = He(V ? { id: d } : void 0, Ce?.bottomBar) ? Ce?.bottomBar?.height ?? 0 : 0, ft = ct || ut, pt = lt || dt, G = m(null), K = m(null), q = m(null), mt = m(null), ht = m(null), gt = m(null), J = m(null), _t = o((e) => {
564
+ e <= 0 || H === null || (mt.current && (mt.current.style.minHeight = `${e}px`), ot.current = {
565
+ key: H,
565
566
  height: e
566
- }, it((t) => t.key === R && t.height === e ? t : {
567
- key: R,
567
+ }, nt((t) => t.key === H && t.height === e ? t : {
568
+ key: H,
568
569
  height: e
569
- }), O.screen.getState().updateSharedBarHeight(x, "topBar", e));
570
+ }), M.screen.getState().updateSharedBarHeight(T, "topBar", e));
570
571
  }, [
571
- x,
572
- O.screen,
573
- R
574
- ]), J = o((e) => {
575
- e <= 0 || z === null || (_t.current && (_t.current.style.minHeight = `${e}px`), lt.current = {
576
- key: z,
572
+ T,
573
+ M.screen,
574
+ H
575
+ ]), vt = o((e) => {
576
+ e <= 0 || U === null || (ht.current && (ht.current.style.minHeight = `${e}px`), st.current = {
577
+ key: U,
577
578
  height: e
578
- }, ot((t) => t.key === z && t.height === e ? t : {
579
- key: z,
579
+ }, it((t) => t.key === U && t.height === e ? t : {
580
+ key: U,
580
581
  height: e
581
- }), O.screen.getState().updateSharedBarHeight(x, "bottomBar", e));
582
+ }), M.screen.getState().updateSharedBarHeight(T, "bottomBar", e));
582
583
  }, [
583
- z,
584
- x,
585
- O.screen
586
- ]), vt = o((e) => {
587
- G.current = e, e?.offsetHeight && q(e.offsetHeight);
588
- }, [q]), yt = o((e) => {
589
- K.current = e, e?.offsetHeight && J(e.offsetHeight);
590
- }, [J]), Y = p({
591
- transition: Pe,
592
- decorator: ze,
584
+ U,
585
+ T,
586
+ M.screen
587
+ ]), yt = o((e) => {
588
+ gt.current = e, e?.offsetHeight && _t(e.offsetHeight);
589
+ }, [_t]), bt = o((e) => {
590
+ J.current = e, e?.offsetHeight && vt(e.offsetHeight);
591
+ }, [vt]), Y = m({
592
+ transition: Ae,
593
+ decorator: Fe,
593
594
  hasSharedTopBar: !!a,
594
595
  hasSharedBottomBar: !!u,
595
596
  sharedTopBarId: l,
596
597
  sharedBottomBarId: d,
597
- viewportScrollHeight: Be,
598
- isRoot: pe,
599
- isActive: S,
600
- status: j,
601
- dragStatus: _e,
602
- index: A
598
+ viewportScrollHeight: Ie,
599
+ isRoot: le,
600
+ isActive: E,
601
+ status: F,
602
+ dragStatus: pe,
603
+ index: P
603
604
  });
604
605
  Y.current = {
605
- transition: Pe,
606
- decorator: ze,
606
+ transition: Ae,
607
+ decorator: Fe,
607
608
  hasSharedTopBar: !!a,
608
609
  hasSharedBottomBar: !!u,
609
610
  sharedTopBarId: l,
610
611
  sharedBottomBarId: d,
611
- viewportScrollHeight: Be,
612
- isRoot: pe,
613
- isActive: S,
614
- status: j,
615
- dragStatus: _e,
616
- index: A
612
+ viewportScrollHeight: Ie,
613
+ isRoot: le,
614
+ isActive: E,
615
+ status: F,
616
+ dragStatus: pe,
617
+ index: P
617
618
  };
618
- let bt = p(null), xt = p(null);
619
- bt.current ||= ye({
619
+ let xt = m(null), St = m(null);
620
+ xt.current ||= he({
620
621
  getTransition: () => Y.current.transition,
621
622
  getDecorator: () => Y.current.decorator,
622
623
  getElements: () => ({
623
- scope: U.current,
624
- screenContainer: H.current,
625
- decorator: W.current,
626
- sharedTopBar: G.current,
627
- sharedBottomBar: K.current
624
+ scope: K.current,
625
+ screenContainer: G.current,
626
+ decorator: q.current,
627
+ sharedTopBar: gt.current,
628
+ sharedBottomBar: J.current
628
629
  }),
629
630
  hasSharedTopBar: () => Y.current.hasSharedTopBar,
630
631
  hasSharedBottomBar: () => Y.current.hasSharedBottomBar,
631
- getPartLayer: () => He(O.navigate),
632
+ getPartLayer: () => Re(M.navigate),
632
633
  getSharedTopBarId: () => Y.current.sharedTopBarId,
633
634
  getSharedBottomBarId: () => Y.current.sharedBottomBarId,
634
635
  getViewportScrollHeight: () => Y.current.viewportScrollHeight,
@@ -637,32 +638,32 @@ function Bt({ children: e, statusBarHeight: t, statusBarColor: n, systemNavigati
637
638
  return !e.isRoot && e.isActive && e.status === "COMPLETED" && e.dragStatus === "IDLE" && !!e.transition.swipeDirection && e.viewportScrollHeight < 10;
638
639
  },
639
640
  getPartnerBars: () => {
640
- let e = Y.current, t = O.history.getState().histories, n = e.isActive ? t[e.index - 1]?.id : t[e.index]?.id;
641
- return n ? O.screen.getState().sharedBars[n] : void 0;
641
+ let e = Y.current, t = M.history.getState().histories, n = e.isActive ? t[e.index - 1]?.id : t[e.index]?.id;
642
+ return n ? M.screen.getState().sharedBars[n] : void 0;
642
643
  },
643
644
  getPartnerBarMetadata: () => {
644
- let e = Y.current, t = O.history.getState().histories, n = e.isActive ? t[e.index - 1]?.id : t[e.index]?.id;
645
- return n ? O.screen.getState().sharedBarMetadata[n] : void 0;
645
+ let e = Y.current, t = M.history.getState().histories, n = e.isActive ? t[e.index - 1]?.id : t[e.index]?.id;
646
+ return n ? M.screen.getState().sharedBarMetadata[n] : void 0;
646
647
  },
647
- setDragStatus: be,
648
- back: () => O.driver.back(),
648
+ setDragStatus: ge,
649
+ back: () => M.driver.back(),
649
650
  onDragStart: () => {
650
- xt.current = le(O.navigate, "POPPING");
651
+ St.current?.settle(!1, 0), St.current = ae(M.navigate, "POPPING");
651
652
  },
652
653
  onDragProgress: (e) => {
653
- xt.current?.scrub(e);
654
+ St.current?.scrub(e);
654
655
  },
655
656
  onDragSettle: (e, t) => {
656
- xt.current?.settle(e, t), xt.current = null;
657
+ St.current?.settle(e, t), St.current = null;
657
658
  }
658
659
  });
659
- let X = bt.current, St = (e) => X.pointerDown(e.nativeEvent), Ct = (e) => X.pointerMove(e.nativeEvent), wt = (e) => X.pointerUp(e.nativeEvent), Tt = (e) => X.pointerCancel(e.nativeEvent), Et = (e) => X.lostPointerCapture(e.nativeEvent), Dt = (e) => {
660
- (j === "PUSHING" || j === "REPLACING") && (e.preventDefault(), e.stopPropagation());
660
+ let X = xt.current, Ct = (e) => X.pointerDown(e.nativeEvent), wt = (e) => X.pointerMove(e.nativeEvent), Tt = (e) => X.pointerUp(e.nativeEvent), Et = (e) => X.pointerCancel(e.nativeEvent), Dt = (e) => X.lostPointerCapture(e.nativeEvent), Ot = (e) => {
661
+ (F === "PUSHING" || F === "REPLACING") && (e.preventDefault(), e.stopPropagation());
661
662
  };
662
663
  c(() => {
663
- we(U.current);
664
+ be(K.current);
664
665
  }, []), c(() => {
665
- let e = U.current;
666
+ let e = K.current;
666
667
  if (!e) return;
667
668
  let t = (e) => {
668
669
  X.shouldPreventTouch() && e.preventDefault();
@@ -671,173 +672,173 @@ function Bt({ children: e, statusBarHeight: t, statusBarColor: n, systemNavigati
671
672
  e.removeEventListener("touchmove", t), X.abandon();
672
673
  };
673
674
  }, [X]), f(() => {
674
- let { registerSharedBars: e, unregisterSharedBars: t } = O.screen.getState(), n = st.current, r = lt.current;
675
- return e(x, {
676
- topBar: I,
677
- bottomBar: L
675
+ let { registerSharedBars: e, unregisterSharedBars: t } = M.screen.getState(), n = ot.current, r = st.current;
676
+ return e(T, {
677
+ topBar: B,
678
+ bottomBar: V
678
679
  }, {
679
- topBar: I ? {
680
+ topBar: B ? {
680
681
  id: l,
681
- height: n.key === R ? n.height : void 0
682
+ height: n.key === H ? n.height : void 0
682
683
  } : void 0,
683
- bottomBar: L ? {
684
+ bottomBar: V ? {
684
685
  id: d,
685
- height: r.key === z ? r.height : void 0
686
+ height: r.key === U ? r.height : void 0
686
687
  } : void 0
687
- }), () => t(x);
688
+ }), () => t(T);
688
689
  }, [
689
- z,
690
- L,
691
- I,
692
- x,
690
+ U,
691
+ V,
692
+ B,
693
+ T,
693
694
  d,
694
695
  l,
695
- O.screen,
696
- R
696
+ M.screen,
697
+ H
697
698
  ]), f(() => {
699
+ let e = gt.current;
700
+ if (e) return ke(e, _t);
701
+ }, [_t, B]), f(() => {
702
+ let e = J.current;
703
+ if (e) return ke(e, vt);
704
+ }, [vt, V]), f(() => {
698
705
  let e = G.current;
699
- if (e) return Ne(e, q);
700
- }, [q, I]), f(() => {
706
+ if (e && !(!B && !V)) return Me(e);
707
+ }, [V, B]), f(() => {
701
708
  let e = K.current;
702
- if (e) return Ne(e, J);
703
- }, [J, L]), f(() => {
704
- let e = H.current;
705
- if (e && !(!I && !L)) return Ie(e);
706
- }, [L, I]), f(() => {
707
- let e = U.current;
708
709
  if (!e) return;
709
- let { registerScreenSurface: t, unregisterScreenSurface: n } = O.screen.getState();
710
- return t(x, { opaqueBackground: Oe(getComputedStyle(e).backgroundColor) }), () => n(x);
710
+ let { registerScreenSurface: t, unregisterScreenSurface: n } = M.screen.getState();
711
+ return t(T, { opaqueBackground: we(getComputedStyle(e).backgroundColor) }), () => n(T);
711
712
  }, [
712
- x,
713
- v,
714
- j,
715
- O.screen
713
+ T,
714
+ ie,
715
+ F,
716
+ M.screen
716
717
  ]);
717
- let Ot = ge, { app: kt, nav: At } = ue({
718
- status: j,
719
- isTopOrTopPrev: Ot,
720
- hasTopBar: I,
721
- hasNavBar: L,
718
+ let kt = fe, { app: At, nav: jt } = oe({
719
+ status: F,
720
+ isTopOrTopPrev: kt,
721
+ hasTopBar: B,
722
+ hasNavBar: V,
722
723
  topBarId: l,
723
724
  bottomBarId: d,
724
- partnerBars: Ee,
725
- partnerMetadata: De
726
- }), Z = _({
727
- status: j,
728
- isTopOrTopPrev: Ot,
729
- transitionName: T
730
- }), Pt = de({
731
- isActive: S,
732
- isPrev: C,
733
- zIndex: w,
734
- index: A,
735
- status: j,
736
- dragStatus: _e,
737
- replaceTransitionStatus: ve
738
- }), Ft = p(Pt), Bt = p(Z !== null && Pt), Vt = p(null), Ht = p(null), Ut = p(!1);
739
- Z === null && (Ut.current = !0);
740
- let Wt = !Ut.current, [Gt, Kt] = m({
725
+ partnerBars: Se,
726
+ partnerMetadata: Ce
727
+ }), Z = S({
728
+ status: F,
729
+ isTopOrTopPrev: kt,
730
+ transitionName: k
731
+ }), Ft = se({
732
+ isActive: E,
733
+ isPrev: D,
734
+ zIndex: O,
735
+ index: P,
736
+ status: F,
737
+ dragStatus: pe,
738
+ replaceTransitionStatus: me
739
+ }), Bt = m(Ft), Vt = m(Z !== null && Ft), Ht = m(null), Ut = m(null), Wt = m(!1);
740
+ Z === null && (Wt.current = !0);
741
+ let Gt = !Wt.current, [Kt, qt] = h({
741
742
  key: Z,
742
743
  released: Z === null
743
744
  });
744
- Gt.key !== Z && (Kt({
745
+ Kt.key !== Z && (qt({
745
746
  key: Z,
746
747
  released: Z === null
747
- }), Vt.current = null, Ht.current = null, Bt.current = Z !== null && Ft.current), Ft.current = Pt;
748
- let qt = Z !== null && Gt.key === Z && !Gt.released && Vt.current !== Z, $ = qt ? !S && ke?.opaqueBackground ? h.PARK : S && (j === "PUSHING" || j === "REPLACING") && ke?.opaqueBackground ? Ue().parkOver ? h.PARK_OVER : h.PARK_UNDER : h.HELD : h.RELEASED;
749
- Ht.current !== Z && ($ === h.PARK_OVER || $ === h.PARK) && (Ht.current = Z);
750
- let Jt = Z !== null && Ht.current === Z, Yt = {
751
- zIndex: w,
752
- paintHidden: b,
753
- transitionName: T,
754
- status: j,
755
- isActive: S,
748
+ }), Ht.current = null, Ut.current = null, Vt.current = Z !== null && Bt.current), Bt.current = Ft;
749
+ let Jt = Z !== null && Kt.key === Z && !Kt.released && Ht.current !== Z, $ = Jt ? !E && Te?.opaqueBackground ? g.PARK : E && (F === "PUSHING" || F === "REPLACING") && Te?.opaqueBackground ? ze().parkOver ? g.PARK_OVER : g.PARK_UNDER : g.HELD : g.RELEASED;
750
+ Ut.current !== Z && ($ === g.PARK_OVER || $ === g.PARK) && (Ut.current = Z);
751
+ let Yt = Z !== null && Ut.current === Z, Xt = {
752
+ zIndex: O,
753
+ paintHidden: w,
754
+ transitionName: k,
755
+ status: F,
756
+ isActive: E,
756
757
  animHold: $,
757
- rendersHost: !Je,
758
- screenId: x,
759
- registerSlot: nt
758
+ rendersHost: !We,
759
+ screenId: T,
760
+ registerSlot: $e
760
761
  };
761
- f(() => je.driveScreenLifecycle({
762
+ f(() => De.driveScreenLifecycle({
762
763
  getElements: () => ({
763
- scope: U.current,
764
- decorator: W.current,
765
- bars: [G.current, K.current],
766
- screenContainer: H.current,
767
- partLayer: He(O.navigate)
764
+ scope: K.current,
765
+ decorator: q.current,
766
+ bars: [gt.current, J.current],
767
+ screenContainer: G.current,
768
+ partLayer: Re(M.navigate)
768
769
  }),
769
- transitionName: T,
770
- prevTransitionName: E,
771
- status: j,
772
- isActive: S,
773
- animHoldReleased: !qt
770
+ transitionName: k,
771
+ prevTransitionName: A,
772
+ status: F,
773
+ isActive: E,
774
+ animHoldReleased: !Jt
774
775
  }), [
775
- je,
776
- j,
777
- S,
776
+ De,
777
+ F,
778
778
  E,
779
- T,
780
- qt,
781
- O.navigate
779
+ A,
780
+ k,
781
+ Jt,
782
+ M.navigate
782
783
  ]), c(() => {
783
- if (!qt || Z === null) return;
784
- let e = Z, t = O.navigate.getState().transitionTaskId, n = t === null ? e : `${e}#${t}`;
785
- return Me.current.join(n, () => {
786
- let t = Y.current.transition.driver === "native", n = Ue({ authoredNativeDriver: t }).atomicReleaseFlip;
784
+ if (!Jt || Z === null) return;
785
+ let e = Z, t = M.navigate.getState().transitionTaskId, n = t === null ? e : `${e}#${t}`;
786
+ return Oe.current.join(n, () => {
787
+ let t = Y.current.transition.driver === "native", n = ze({ authoredNativeDriver: t }).atomicReleaseFlip;
787
788
  if (n) {
788
789
  for (let e of [
789
- U.current,
790
- G.current,
791
790
  K.current,
792
- W.current
793
- ]) e?.isConnected && e.getAttribute(ne) !== null && e.setAttribute(ne, h.RELEASED);
794
- H.current && (H.current.style.zIndex = String(w + 1)), Vt.current = e;
791
+ gt.current,
792
+ J.current,
793
+ q.current
794
+ ]) e?.isConnected && e.getAttribute(_) !== null && e.setAttribute(_, g.RELEASED);
795
+ G.current && (G.current.style.zIndex = String(O + 1)), Ht.current = e;
795
796
  }
796
797
  {
797
- let t = () => Kt((t) => t.key === e && !t.released ? {
798
+ let t = () => qt((t) => t.key === e && !t.released ? {
798
799
  key: e,
799
800
  released: !0
800
801
  } : t);
801
- n && Ue().deferReleaseCommit && typeof requestAnimationFrame == "function" ? requestAnimationFrame(() => t()) : Qe(t);
802
+ n && ze().deferReleaseCommit && typeof requestAnimationFrame == "function" ? requestAnimationFrame(() => t()) : Je(t);
802
803
  }
803
804
  }, {
804
- scope: U.current,
805
- decodeWait: Bt.current,
806
- contentSettle: Ue().renderSettleGate && (S && j === "PUSHING" || j === "POPPING") ? {
805
+ scope: K.current,
806
+ decodeWait: Vt.current,
807
+ contentSettle: ze().renderSettleGate && (E && F === "PUSHING" || F === "POPPING") ? {
807
808
  firstWaitMs: 120,
808
809
  capMs: 700,
809
- graceMs: Wt ? 60 : 0,
810
- minNodes: S ? 30 : 1,
810
+ graceMs: Gt ? 60 : 0,
811
+ minNodes: E ? 30 : 1,
811
812
  renderSettleOnly: !0
812
813
  } : void 0
813
814
  });
814
815
  }, [
815
- qt,
816
+ Jt,
816
817
  Z,
817
818
  $,
818
- S,
819
- Wt,
820
- j,
821
- O.navigate,
822
- w
819
+ E,
820
+ Gt,
821
+ F,
822
+ M.navigate,
823
+ O
823
824
  ]);
824
- let Xt = $ === h.PARK_UNDER || $ === h.PARK_OVER ? {} : Te({
825
- initial: Fe,
826
- isActive: S,
827
- status: j
825
+ let Zt = $ === g.PARK_UNDER || $ === g.PARK_OVER ? {} : xe({
826
+ initial: je,
827
+ isActive: E,
828
+ status: F
828
829
  });
829
- return /* @__PURE__ */ Xe("div", {
830
- ref: H,
831
- onClickCapture: Dt,
830
+ return /* @__PURE__ */ Ke("div", {
831
+ ref: G,
832
+ onClickCapture: Ot,
832
833
  style: {
833
- position: D,
834
+ position: j,
834
835
  top: 0,
835
836
  left: 0,
836
837
  width: "100%",
837
838
  height: "100%",
838
839
  display: "flex",
839
- visibility: b ? "hidden" : void 0,
840
- zIndex: $ === h.PARK_UNDER ? w - 1 : w + 1,
840
+ visibility: w ? "hidden" : void 0,
841
+ zIndex: $ === g.PARK_UNDER ? O - 1 : O + 1,
841
842
  isolation: "isolate",
842
843
  contain: "style",
843
844
  flexDirection: "column",
@@ -845,83 +846,83 @@ function Bt({ children: e, statusBarHeight: t, statusBarColor: n, systemNavigati
845
846
  overscrollBehavior: "contain"
846
847
  },
847
848
  children: [
848
- /* @__PURE__ */ Xe("div", {
849
- ref: U,
850
- ...fe,
851
- onPointerDown: St,
852
- onPointerMove: Ct,
853
- onPointerUp: wt,
854
- onPointerCancel: Tt,
855
- onLostPointerCapture: Et,
856
- "data-flemo-screen": x,
857
- "data-flemo-router": k ?? void 0,
858
- "data-flemo-transition": T,
859
- "data-flemo-status": j,
860
- "data-flemo-active": S ? "true" : "false",
849
+ /* @__PURE__ */ Ke("div", {
850
+ ref: K,
851
+ ...ce,
852
+ onPointerDown: Ct,
853
+ onPointerMove: wt,
854
+ onPointerUp: Tt,
855
+ onPointerCancel: Et,
856
+ onLostPointerCapture: Dt,
857
+ "data-flemo-screen": T,
858
+ "data-flemo-router": N ?? void 0,
859
+ "data-flemo-transition": k,
860
+ "data-flemo-status": F,
861
+ "data-flemo-active": E ? "true" : "false",
861
862
  "data-flemo-anim-hold": $,
862
- "data-flemo-park-head": Jt ? "true" : void 0,
863
+ "data-flemo-park-head": Yt ? "true" : void 0,
863
864
  style: {
864
865
  display: "flex",
865
866
  flexDirection: "column",
866
867
  height: "100%",
867
- backgroundColor: v,
868
- overflowY: y ? void 0 : "auto",
869
- touchAction: Le === "x" ? "pan-y" : Le === "y" ? "pan-x" : "auto",
870
- ...Xt,
871
- ...fe.style
868
+ backgroundColor: ie,
869
+ overflowY: C ? void 0 : "auto",
870
+ touchAction: Ne === "x" ? "pan-y" : Ne === "y" ? "pan-x" : "auto",
871
+ ...Zt,
872
+ ...ce.style
872
873
  },
873
874
  children: [
874
- !ae && t && /* @__PURE__ */ N("div", {
875
+ !y && t && /* @__PURE__ */ L("div", {
875
876
  style: { minHeight: t },
876
- children: /* @__PURE__ */ N("div", { style: {
877
- position: D,
877
+ children: /* @__PURE__ */ L("div", { style: {
878
+ position: j,
878
879
  top: 0,
879
880
  width: "100%",
880
881
  minHeight: t,
881
882
  backgroundColor: n
882
883
  } })
883
884
  }),
884
- a && /* @__PURE__ */ N("div", {
885
- ref: gt,
885
+ a && /* @__PURE__ */ L("div", {
886
+ ref: mt,
886
887
  "data-flemo-bar-spacer": "app",
887
888
  style: {
888
889
  width: "100%",
889
- minHeight: mt
890
+ minHeight: ft
890
891
  }
891
892
  }),
892
- ee,
893
- /* @__PURE__ */ N("div", {
893
+ p,
894
+ /* @__PURE__ */ L("div", {
894
895
  style: {
895
896
  display: "flex",
896
897
  flexDirection: "column",
897
898
  flexGrow: 1,
898
- overflowY: y ? "auto" : void 0
899
+ overflowY: C ? "auto" : void 0
899
900
  },
900
- children: /* @__PURE__ */ N(jt.Provider, {
901
- value: Ye,
902
- children: /* @__PURE__ */ N(Nt.Provider, {
903
- value: Yt,
901
+ children: /* @__PURE__ */ L(Mt.Provider, {
902
+ value: Ge,
903
+ children: /* @__PURE__ */ L(Pt.Provider, {
904
+ value: Xt,
904
905
  children: e
905
906
  })
906
907
  })
907
908
  }),
908
- ie,
909
- u && /* @__PURE__ */ N("div", {
910
- ref: _t,
909
+ te,
910
+ u && /* @__PURE__ */ L("div", {
911
+ ref: ht,
911
912
  "data-flemo-bar-spacer": "nav",
912
913
  style: {
913
- display: Ve ? "none" : void 0,
914
+ display: Le ? "none" : void 0,
914
915
  width: "100%",
915
- minHeight: ht
916
+ minHeight: pt
916
917
  }
917
918
  }),
918
- !ce && r && /* @__PURE__ */ N("div", {
919
+ !re && r && /* @__PURE__ */ L("div", {
919
920
  style: {
920
- display: Ve ? "none" : void 0,
921
+ display: Le ? "none" : void 0,
921
922
  minHeight: r
922
923
  },
923
- children: /* @__PURE__ */ N("div", { style: {
924
- position: D,
924
+ children: /* @__PURE__ */ L("div", { style: {
925
+ position: j,
925
926
  bottom: 0,
926
927
  width: "100%",
927
928
  minHeight: r,
@@ -930,65 +931,66 @@ function Bt({ children: e, statusBarHeight: t, statusBarColor: n, systemNavigati
930
931
  })
931
932
  ]
932
933
  }),
933
- a && /* @__PURE__ */ N("div", {
934
- ref: vt,
934
+ a && /* @__PURE__ */ L("div", {
935
+ ref: yt,
935
936
  "data-flemo-bar": "app",
936
937
  "data-flemo-bar-id": l,
937
938
  "data-flemo-bar-id-type": l === void 0 ? void 0 : typeof l,
938
- "data-flemo-router": k ?? void 0,
939
- "data-flemo-bar-transition": T,
940
- "data-flemo-bar-status": j,
941
- "data-flemo-bar-active": S ? "true" : "false",
942
- "data-flemo-bar-riding": kt ? "true" : "false",
939
+ "data-flemo-router": N ?? void 0,
940
+ "data-flemo-bar-transition": k,
941
+ "data-flemo-bar-status": F,
942
+ "data-flemo-bar-active": E ? "true" : "false",
943
+ "data-flemo-bar-riding": At ? "true" : "false",
943
944
  "data-flemo-anim-hold": $,
944
945
  style: {
945
- position: D,
946
- top: ae ? 0 : t,
946
+ position: j,
947
+ top: y ? 0 : t,
947
948
  left: 0,
948
949
  width: "100%"
949
950
  },
950
951
  children: a
951
952
  }),
952
- u && /* @__PURE__ */ N("div", {
953
- ref: yt,
953
+ u && /* @__PURE__ */ L("div", {
954
+ ref: bt,
954
955
  "data-flemo-bar": "nav",
955
956
  "data-flemo-bar-id": d,
956
957
  "data-flemo-bar-id-type": d === void 0 ? void 0 : typeof d,
957
- "data-flemo-router": k ?? void 0,
958
- "data-flemo-bar-transition": T,
959
- "data-flemo-bar-status": j,
960
- "data-flemo-bar-active": S ? "true" : "false",
961
- "data-flemo-bar-riding": At ? "true" : "false",
958
+ "data-flemo-router": N ?? void 0,
959
+ "data-flemo-bar-transition": k,
960
+ "data-flemo-bar-status": F,
961
+ "data-flemo-bar-active": E ? "true" : "false",
962
+ "data-flemo-bar-riding": jt ? "true" : "false",
962
963
  "data-flemo-anim-hold": $,
963
964
  style: {
964
- display: Ve ? "none" : void 0,
965
- position: D,
966
- bottom: ce ? 0 : r,
965
+ display: Le ? "none" : void 0,
966
+ position: j,
967
+ bottom: re ? 0 : r,
967
968
  left: 0,
968
969
  width: "100%"
969
970
  },
970
971
  children: u
971
972
  }),
972
- ze && /* @__PURE__ */ N(Rt, {
973
- ref: W,
973
+ Fe && !Qe && /* @__PURE__ */ L(Rt, {
974
+ ref: q,
974
975
  "data-flemo-anim-hold": $
975
976
  }),
976
- ze && et && Ye ? Ze(/* @__PURE__ */ N(Rt, {
977
+ Fe && Qe && Ge ? qe(/* @__PURE__ */ L(Rt, {
978
+ ref: q,
977
979
  "data-flemo-anim-hold": $,
978
- style: { zIndex: w * 2 + 1 }
979
- }), Ye) : null,
980
- !Je && /* @__PURE__ */ N("div", {
981
- ref: qe,
982
- [re]: "",
983
- [g]: T,
984
- [se]: j,
985
- [te]: S ? "true" : "false",
986
- [ne]: $,
980
+ style: { zIndex: O * 2 + 1 }
981
+ }), Ge) : null,
982
+ !We && /* @__PURE__ */ L("div", {
983
+ ref: Ue,
984
+ [v]: "",
985
+ [x]: k,
986
+ [b]: F,
987
+ [ee]: E ? "true" : "false",
988
+ [_]: $,
987
989
  style: {
988
990
  position: "absolute",
989
991
  inset: 0,
990
992
  pointerEvents: "none",
991
- zIndex: oe
993
+ zIndex: ne
992
994
  }
993
995
  })
994
996
  ]
@@ -997,7 +999,7 @@ function Bt({ children: e, statusBarHeight: t, statusBarColor: n, systemNavigati
997
999
  //#endregion
998
1000
  //#region src/screen/Screen.tsx
999
1001
  function Vt({ children: e, ...t }) {
1000
- let { isActive: n, isPrev: r, zIndex: i } = F(), a = V((e) => e.index), o = Lt((e) => e.status), s = Q((e) => e.dragStatus), l = Q((e) => e.replaceTransitionStatus), u = b({
1002
+ let { isActive: n, isPrev: r, zIndex: i } = z(), a = W((e) => e.index), o = Lt((e) => e.status), s = Q((e) => e.dragStatus), l = Q((e) => e.replaceTransitionStatus), u = w({
1001
1003
  isActive: n,
1002
1004
  isPrev: r,
1003
1005
  zIndex: i,
@@ -1005,15 +1007,15 @@ function Vt({ children: e, ...t }) {
1005
1007
  status: o,
1006
1008
  dragStatus: s,
1007
1009
  replaceTransitionStatus: l
1008
- }), [d, f] = m(u !== "live");
1010
+ }), [d, f] = h(u !== "live");
1009
1011
  return u === "live" && d && f(!1), u === "immediate" && !d && f(!0), c(() => {
1010
1012
  if (u !== "deferred" || d) return;
1011
1013
  let e = setTimeout(() => f(!0), Ht);
1012
1014
  return () => clearTimeout(e);
1013
- }, [u, d]), /* @__PURE__ */ N(Z, {
1015
+ }, [u, d]), /* @__PURE__ */ L(jt, {
1014
1016
  freeze: d,
1015
1017
  mode: u,
1016
- children: /* @__PURE__ */ N(Bt, {
1018
+ children: /* @__PURE__ */ L(Bt, {
1017
1019
  paintHidden: d,
1018
1020
  ...t,
1019
1021
  children: e
@@ -1024,13 +1026,13 @@ var Ht = 600;
1024
1026
  //#endregion
1025
1027
  //#region src/screen/Part.tsx
1026
1028
  function Ut({ ref: e, name: t, style: n, children: r, ...i }) {
1027
- let { isActive: a, isPrev: o, navigateStore: c, routerId: l, transitionName: u } = F(), d = s(rt), f = l ?? d ?? void 0, ee = P(), p = B(c ?? ee.navigate, (e) => o ? "COMPLETED" : e.status);
1028
- return /* @__PURE__ */ N("div", {
1029
+ let { isActive: a, isPrev: o, navigateStore: c, routerId: l, transitionName: u } = z(), d = s(et), f = l ?? d ?? void 0, p = R(), m = U(c ?? p.navigate, (e) => o ? "COMPLETED" : e.status);
1030
+ return /* @__PURE__ */ L("div", {
1029
1031
  ref: e,
1030
1032
  "data-flemo-part-name": t,
1031
1033
  "data-flemo-transition": u,
1032
1034
  "data-flemo-router": f,
1033
- "data-flemo-status": p,
1035
+ "data-flemo-status": m,
1034
1036
  "data-flemo-active": a ? "true" : "false",
1035
1037
  style: n,
1036
1038
  ...i,
@@ -1040,16 +1042,16 @@ function Ut({ ref: e, name: t, style: n, children: r, ...i }) {
1040
1042
  //#endregion
1041
1043
  //#region src/screen/Layer.tsx
1042
1044
  function Wt({ children: e }) {
1043
- let t = Mt(), n = Pt();
1044
- return !t || !n ? null : Ze(/* @__PURE__ */ N("div", {
1045
+ let t = Nt(), n = Z();
1046
+ return !t || !n ? null : qe(/* @__PURE__ */ L("div", {
1045
1047
  ref: n.registerSlot,
1046
- [ae]: "",
1047
- [ie]: n.screenId,
1048
+ [y]: "",
1049
+ [te]: n.screenId,
1048
1050
  ...n.rendersHost ? {} : {
1049
- [g]: n.transitionName,
1050
- [se]: n.status,
1051
- [te]: n.isActive ? "true" : "false",
1052
- [ne]: n.animHold
1051
+ [x]: n.transitionName,
1052
+ [b]: n.status,
1053
+ [ee]: n.isActive ? "true" : "false",
1054
+ [_]: n.animHold
1053
1055
  },
1054
1056
  style: {
1055
1057
  position: "absolute",
@@ -1058,7 +1060,7 @@ function Wt({ children: e }) {
1058
1060
  zIndex: n.zIndex * 2,
1059
1061
  visibility: n.paintHidden ? "hidden" : void 0
1060
1062
  },
1061
- children: /* @__PURE__ */ N("div", {
1063
+ children: /* @__PURE__ */ L("div", {
1062
1064
  style: {
1063
1065
  display: "contents",
1064
1066
  pointerEvents: "auto"
@@ -1069,23 +1071,28 @@ function Wt({ children: e }) {
1069
1071
  }
1070
1072
  //#endregion
1071
1073
  //#region src/screen/Morph.tsx
1072
- function Gt({ ref: e, layoutId: t, name: n, as: r = "div", style: a, children: s, ...c }) {
1073
- let { isActive: l, isPrev: u, navigateStore: d } = F(), ee = P(), m = d ?? ee.navigate, te = B(m, (e) => u ? "COMPLETED" : e.status), h = p(null), ne = o((t) => {
1074
- h.current = t, typeof e == "function" ? e(t) : e && (e.current = t);
1075
- }, [e]);
1074
+ function Gt({ ref: e, layoutId: t, name: n, as: r = "div", style: a, children: c, ...l }) {
1075
+ let { isActive: u, isPrev: d, navigateStore: p, routerId: h, transitionName: ee } = z(), g = s(et), _ = R(), v = p ?? _.navigate, te = U(v, (e) => d ? "COMPLETED" : e.status), y = m(null), ne = o((t) => {
1076
+ y.current = t, typeof e == "function" ? e(t) : e && (e.current = t);
1077
+ }, [e]), b = !!p;
1076
1078
  return f(() => {
1077
- let e = h.current;
1078
- if (e) return v(e, {
1079
+ let e = y.current;
1080
+ if (e) return ie(e, {
1079
1081
  layoutId: t,
1080
1082
  name: n,
1081
- navigateStore: m
1083
+ navigateStore: v,
1084
+ ownership: b ? {
1085
+ status: te,
1086
+ active: u
1087
+ } : null
1082
1088
  });
1083
1089
  }, [
1084
1090
  t,
1085
1091
  n,
1086
- m,
1092
+ b,
1093
+ v,
1087
1094
  te,
1088
- l
1095
+ u
1089
1096
  ]), i(r, {
1090
1097
  "data-flemo-morph-slot": "",
1091
1098
  style: { display: "contents" }
@@ -1093,28 +1100,32 @@ function Gt({ ref: e, layoutId: t, name: n, as: r = "div", style: a, children: s
1093
1100
  ref: ne,
1094
1101
  "data-flemo-morph": "",
1095
1102
  "data-flemo-morph-name": n,
1103
+ ...b ? {
1104
+ "data-flemo-transition": ee,
1105
+ "data-flemo-router": h ?? g ?? void 0
1106
+ } : null,
1096
1107
  style: a,
1097
- ...c
1098
- }, s));
1108
+ ...l
1109
+ }, c));
1099
1110
  }
1100
1111
  //#endregion
1101
1112
  //#region src/stores/RouterScopeProvider.tsx
1102
1113
  function Kt({ children: e }) {
1103
- let [t] = m(() => ({
1104
- history: w(),
1105
- navigate: E(),
1106
- transition: Se(),
1107
- screen: _e(),
1108
- driver: pe(),
1114
+ let [t] = h(() => ({
1115
+ history: O(),
1116
+ navigate: A(),
1117
+ transition: ve(),
1118
+ screen: pe(),
1119
+ driver: le(),
1109
1120
  memory: !1,
1110
- markSelfInduced: Ae,
1111
- consume: fe,
1121
+ markSelfInduced: Ee,
1122
+ consume: ce,
1112
1123
  life: { alive: !0 }
1113
1124
  }));
1114
- return /* @__PURE__ */ N($e.Provider, {
1125
+ return /* @__PURE__ */ L(Ye.Provider, {
1115
1126
  value: t,
1116
1127
  children: e
1117
1128
  });
1118
1129
  }
1119
1130
  //#endregion
1120
- export { Wt as Layer, Gt as Morph, Ut as Part, wt as Route, Ct as Router, Kt as RouterScopeProvider, Vt as Screen, tt as ScreenContext, Rt as ScreenDecorator, Z as ScreenFreeze, Bt as ScreenMotion, q as Slot, S as createBrowserHistoryDriver, C as createDecorator, T as createMorphTransition, D as createPartTransition, O as createRawDecorator, k as createRawMorphTransition, A as createRawPartTransition, he as createRawTransition, be as createTransition, Me as morphTransitionMap, Fe as partTransitionMap, V as useHistoryStore, Et as useNavigate, Lt as useNavigateStore, kt as useParams, Dt as usePathname, F as useScreen, Q as useScreenStore, Ot as useStep, P as useStores, zt as useViewportScrollHeight };
1131
+ export { Wt as Layer, Gt as Morph, Ut as Part, wt as Route, Ct as Router, Kt as RouterScopeProvider, Vt as Screen, Ze as ScreenContext, Rt as ScreenDecorator, jt as ScreenFreeze, Bt as ScreenMotion, J as Slot, E as createBrowserHistoryDriver, D as createDecorator, k as createMorphTransition, j as createPartTransition, M as createRawDecorator, N as createRawMorphTransition, P as createRawPartTransition, de as createRawTransition, ge as createTransition, Oe as morphTransitionMap, je as partTransitionMap, W as useHistoryStore, Et as useNavigate, Lt as useNavigateStore, kt as useParams, Dt as usePathname, z as useScreen, Q as useScreenStore, Ot as useStep, R as useStores, zt as useViewportScrollHeight };