@sigx/lynx-navigation 0.2.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -8
- package/dist/components/EntryScope.d.ts.map +1 -1
- package/dist/components/EntryScope.js +8 -2
- package/dist/components/EntryScope.js.map +1 -1
- package/dist/components/Layer.d.ts +34 -0
- package/dist/components/Layer.d.ts.map +1 -0
- package/dist/components/Layer.js +66 -0
- package/dist/components/Layer.js.map +1 -0
- package/dist/components/Screen.d.ts +6 -6
- package/dist/components/Screen.d.ts.map +1 -1
- package/dist/components/Screen.js +13 -9
- package/dist/components/Screen.js.map +1 -1
- package/dist/components/Stack.d.ts +41 -16
- package/dist/components/Stack.d.ts.map +1 -1
- package/dist/components/Stack.js +90 -54
- package/dist/components/Stack.js.map +1 -1
- package/dist/components/TabBar.d.ts +18 -19
- package/dist/components/TabBar.d.ts.map +1 -1
- package/dist/components/TabBar.js +21 -21
- package/dist/components/TabBar.js.map +1 -1
- package/dist/components/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs.js +15 -1
- package/dist/components/Tabs.js.map +1 -1
- package/dist/hooks/use-linking-nav.js.map +1 -1
- package/dist/hooks/use-nav-internal.d.ts +19 -1
- package/dist/hooks/use-nav-internal.d.ts.map +1 -1
- package/dist/hooks/use-nav-internal.js +11 -0
- package/dist/hooks/use-nav-internal.js.map +1 -1
- package/dist/hooks/use-screen-chrome.d.ts +19 -0
- package/dist/hooks/use-screen-chrome.d.ts.map +1 -0
- package/dist/hooks/use-screen-chrome.js +102 -0
- package/dist/hooks/use-screen-chrome.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/layer-plan.d.ts +69 -0
- package/dist/internal/layer-plan.d.ts.map +1 -0
- package/dist/internal/layer-plan.js +102 -0
- package/dist/internal/layer-plan.js.map +1 -0
- package/dist/internal/screen-width.d.ts +9 -7
- package/dist/internal/screen-width.d.ts.map +1 -1
- package/dist/internal/screen-width.js +15 -13
- package/dist/internal/screen-width.js.map +1 -1
- package/dist/navigator/core.d.ts +2 -1
- package/dist/navigator/core.d.ts.map +1 -1
- package/dist/navigator/core.js +13 -2
- package/dist/navigator/core.js.map +1 -1
- package/dist/url/format.js.map +1 -1
- package/package.json +13 -11
- package/src/components/EntryScope.tsx +13 -2
- package/src/components/Layer.tsx +96 -0
- package/src/components/Screen.tsx +11 -9
- package/src/components/Stack.tsx +136 -92
- package/src/components/TabBar.tsx +21 -21
- package/src/components/Tabs.tsx +15 -1
- package/src/hooks/use-nav-internal.ts +22 -1
- package/src/hooks/use-screen-chrome.ts +122 -0
- package/src/index.ts +2 -0
- package/src/internal/layer-plan.ts +187 -0
- package/src/internal/screen-width.ts +22 -14
- package/src/navigator/core.ts +14 -3
- package/dist/components/ScreenContainer.d.ts +0 -18
- package/dist/components/ScreenContainer.d.ts.map +0 -1
- package/dist/components/ScreenContainer.js +0 -77
- package/dist/components/ScreenContainer.js.map +0 -1
- package/src/components/ScreenContainer.tsx +0 -114
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export { useLinkingNav } from './hooks/use-linking-nav.js';
|
|
|
15
15
|
export type { UseLinkingNavOptions } from './hooks/use-linking-nav.js';
|
|
16
16
|
export { useIsFocused, useFocusEffect } from './hooks/use-focus.js';
|
|
17
17
|
export { useScreenOptions } from './hooks/use-screen-options.js';
|
|
18
|
+
export { useScreenChrome } from './hooks/use-screen-chrome.js';
|
|
19
|
+
export type { ScreenChrome } from './hooks/use-screen-chrome.js';
|
|
18
20
|
export { useNavSerializer, NAV_SNAPSHOT_VERSION, } from './hooks/use-nav-serializer.js';
|
|
19
21
|
export type { NavSnapshot, NavStorageAdapter, UseNavSerializerOptions, } from './hooks/use-nav-serializer.js';
|
|
20
22
|
export { hrefFor, parseHref } from './href.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACH,gBAAgB,EAChB,oBAAoB,GACvB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACR,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAItC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,eAAe,GAClB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACH,gBAAgB,EAChB,oBAAoB,GACvB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACR,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAItC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,eAAe,GAClB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export { useHardwareBack } from './hooks/use-hardware-back.js';
|
|
|
12
12
|
export { useLinkingNav } from './hooks/use-linking-nav.js';
|
|
13
13
|
export { useIsFocused, useFocusEffect } from './hooks/use-focus.js';
|
|
14
14
|
export { useScreenOptions } from './hooks/use-screen-options.js';
|
|
15
|
+
export { useScreenChrome } from './hooks/use-screen-chrome.js';
|
|
15
16
|
export { useNavSerializer, NAV_SNAPSHOT_VERSION, } from './hooks/use-nav-serializer.js';
|
|
16
17
|
export { hrefFor, parseHref } from './href.js';
|
|
17
18
|
// URL bridge internals: `_setRouteRegistry` is a leading-underscore export —
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACH,gBAAgB,EAChB,oBAAoB,GACvB,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,6EAA6E;AAC7E,8EAA8E;AAC9E,sEAAsE;AACtE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EACH,gBAAgB,EAChB,oBAAoB,GACvB,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,6EAA6E;AAC7E,8EAA8E;AAC9E,sEAAsE;AACtE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure layer-plan computation for `<Stack>`'s render.
|
|
3
|
+
*
|
|
4
|
+
* Given (stack, transition, progress), produces an ordered list of
|
|
5
|
+
* `Layer`s — each is an entry to render plus an optional transform
|
|
6
|
+
* spec for animation. The Stack render emits one absolutely-positioned
|
|
7
|
+
* `<view>` per layer, stacked bottom-to-top in document order.
|
|
8
|
+
*
|
|
9
|
+
* Why this is its own module: the layer-selection logic is the only
|
|
10
|
+
* non-obvious part of the navigator's render path, and the rules are
|
|
11
|
+
* easier to read (and unit-test) as a pure function over the
|
|
12
|
+
* navigator's state than as inline render branches.
|
|
13
|
+
*
|
|
14
|
+
* Rules:
|
|
15
|
+
*
|
|
16
|
+
* - **Idle (no transition).** Render the topmost non-overlay entry
|
|
17
|
+
* as the base, plus every overlay entry above it. Overlays
|
|
18
|
+
* (`modal` / `fullScreen` / `transparent-modal`) keep their
|
|
19
|
+
* underneath mounted; cards replace their underneath in the base
|
|
20
|
+
* layer.
|
|
21
|
+
*
|
|
22
|
+
* - **Card transition.** Two layers: the underneath entry (animated
|
|
23
|
+
* with the parallax-card-underneath spec) and the top entry
|
|
24
|
+
* (animated with the slide-in-from-right spec). After the
|
|
25
|
+
* transition completes, the idle rule kicks in — the underneath
|
|
26
|
+
* unmounts because the new top becomes the sole base.
|
|
27
|
+
*
|
|
28
|
+
* - **Overlay transition.** The full idle layer stack up through the
|
|
29
|
+
* underneath entry stays static (no transform). The animated top
|
|
30
|
+
* is the only layer with a transform. After the transition, the
|
|
31
|
+
* overlay either joins the static idle stack (push) or unmounts
|
|
32
|
+
* (pop).
|
|
33
|
+
*
|
|
34
|
+
* The Layer.key for the Stack render is
|
|
35
|
+
* `layer-${entry.key}-${animVariant(layer.animation)}`. The variant
|
|
36
|
+
* suffix forces a remount when an entry transitions from animated to
|
|
37
|
+
* static (or vice versa) — `useAnimatedStyle` can't re-bind mid-life,
|
|
38
|
+
* so we get a fresh `useAnimatedStyle` call per animation state.
|
|
39
|
+
* Modal underneath layers never animate, so they stay statically
|
|
40
|
+
* keyed across the modal lifecycle and their state (per-tab Stack,
|
|
41
|
+
* scroll, in-flight inputs) survives.
|
|
42
|
+
*/
|
|
43
|
+
import type { SharedValue } from '@sigx/lynx';
|
|
44
|
+
import type { Presentation, StackEntry, TransitionState } from '../types.js';
|
|
45
|
+
export type LayerAnimation = {
|
|
46
|
+
axis: 'translateX' | 'translateY';
|
|
47
|
+
inputRange: readonly [number, number];
|
|
48
|
+
outputRange: readonly [number, number];
|
|
49
|
+
progress: SharedValue<number>;
|
|
50
|
+
};
|
|
51
|
+
export interface Layer {
|
|
52
|
+
/** The entry whose component renders inside this layer. */
|
|
53
|
+
readonly entry: StackEntry;
|
|
54
|
+
/** When non-null, the layer's host view binds a `useAnimatedStyle` mapper. */
|
|
55
|
+
readonly animation: LayerAnimation | null;
|
|
56
|
+
}
|
|
57
|
+
export declare function isOverlayPresentation(p: Presentation): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Suffix used in a layer's render key. Stable for the layer's
|
|
60
|
+
* lifetime (same entry, same animation kind) and changes when the
|
|
61
|
+
* animation transitions on/off so the Layer remounts and rebinds.
|
|
62
|
+
*/
|
|
63
|
+
export declare function animationVariant(animation: LayerAnimation | null): string;
|
|
64
|
+
/**
|
|
65
|
+
* Compute the visible-layer list for one render of `<Stack>`. Pure —
|
|
66
|
+
* unit-testable independently of the renderer.
|
|
67
|
+
*/
|
|
68
|
+
export declare function computeLayers(stack: readonly StackEntry[], transition: TransitionState | null, progress: SharedValue<number> | null): Layer[];
|
|
69
|
+
//# sourceMappingURL=layer-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer-plan.d.ts","sourceRoot":"","sources":["../../src/internal/layer-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EACR,YAAY,EACZ,UAAU,EAEV,eAAe,EAClB,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC;IAClC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,WAAW,KAAK;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7C;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,MAAM,CAMzE;AAwCD;;;GAGG;AACH,wBAAgB,aAAa,CACzB,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,UAAU,EAAE,eAAe,GAAG,IAAI,EAClC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,GACrC,KAAK,EAAE,CAwDT"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { SCREEN_HEIGHT, SCREEN_WIDTH } from './screen-width.js';
|
|
2
|
+
const PARALLAX_FACTOR = 0.3;
|
|
3
|
+
export function isOverlayPresentation(p) {
|
|
4
|
+
return p === 'modal' || p === 'fullScreen' || p === 'transparent-modal';
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Suffix used in a layer's render key. Stable for the layer's
|
|
8
|
+
* lifetime (same entry, same animation kind) and changes when the
|
|
9
|
+
* animation transitions on/off so the Layer remounts and rebinds.
|
|
10
|
+
*/
|
|
11
|
+
export function animationVariant(animation) {
|
|
12
|
+
if (!animation)
|
|
13
|
+
return 'static';
|
|
14
|
+
// Output range alone identifies the transition shape — different
|
|
15
|
+
// animations (card-top vs card-underneath vs overlay-top, push vs
|
|
16
|
+
// pop) all land on different range tuples.
|
|
17
|
+
return `${animation.axis}:${animation.outputRange[0]}->${animation.outputRange[1]}`;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Card-presentation transition transforms. `role='top'` is the entry
|
|
21
|
+
* being pushed/popped; `role='underneath'` is the one parallaxing.
|
|
22
|
+
*/
|
|
23
|
+
function cardAnimation(role, kind, progress) {
|
|
24
|
+
if (kind === 'push') {
|
|
25
|
+
if (role === 'top') {
|
|
26
|
+
return { axis: 'translateX', inputRange: [0, 1], outputRange: [SCREEN_WIDTH, 0], progress };
|
|
27
|
+
}
|
|
28
|
+
return { axis: 'translateX', inputRange: [0, 1], outputRange: [0, -PARALLAX_FACTOR * SCREEN_WIDTH], progress };
|
|
29
|
+
}
|
|
30
|
+
// pop
|
|
31
|
+
if (role === 'top') {
|
|
32
|
+
return { axis: 'translateX', inputRange: [0, 1], outputRange: [0, SCREEN_WIDTH], progress };
|
|
33
|
+
}
|
|
34
|
+
return { axis: 'translateX', inputRange: [0, 1], outputRange: [-PARALLAX_FACTOR * SCREEN_WIDTH, 0], progress };
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Overlay-presentation transition transform for the animated top.
|
|
38
|
+
* The underneath of an overlay transition does not animate (modal
|
|
39
|
+
* doesn't reposition its background); we render it as a static layer
|
|
40
|
+
* instead, so this function only produces the top's transform.
|
|
41
|
+
*/
|
|
42
|
+
function overlayTopAnimation(kind, progress) {
|
|
43
|
+
if (kind === 'push') {
|
|
44
|
+
return { axis: 'translateY', inputRange: [0, 1], outputRange: [SCREEN_HEIGHT, 0], progress };
|
|
45
|
+
}
|
|
46
|
+
return { axis: 'translateY', inputRange: [0, 1], outputRange: [0, SCREEN_HEIGHT], progress };
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Compute the visible-layer list for one render of `<Stack>`. Pure —
|
|
50
|
+
* unit-testable independently of the renderer.
|
|
51
|
+
*/
|
|
52
|
+
export function computeLayers(stack, transition, progress) {
|
|
53
|
+
if (!transition) {
|
|
54
|
+
// Idle: topmost non-overlay base + any overlays above it.
|
|
55
|
+
let baseIdx = stack.length - 1;
|
|
56
|
+
while (baseIdx > 0 && isOverlayPresentation(stack[baseIdx].presentation)) {
|
|
57
|
+
baseIdx -= 1;
|
|
58
|
+
}
|
|
59
|
+
return stack.slice(baseIdx).map((entry) => ({ entry, animation: null }));
|
|
60
|
+
}
|
|
61
|
+
// A transition is in flight. `progress` may still be null when
|
|
62
|
+
// animations are disabled — produce static layers in that case
|
|
63
|
+
// (the animation never plays; the transition timer just ticks).
|
|
64
|
+
const isOverlay = isOverlayPresentation(transition.topEntry.presentation);
|
|
65
|
+
if (!isOverlay) {
|
|
66
|
+
// Card transition: just the two participating entries, both
|
|
67
|
+
// animated (parallax underneath + slide top).
|
|
68
|
+
return [
|
|
69
|
+
{
|
|
70
|
+
entry: transition.underneathEntry,
|
|
71
|
+
animation: progress ? cardAnimation('underneath', transition.kind, progress) : null,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
entry: transition.topEntry,
|
|
75
|
+
animation: progress ? cardAnimation('top', transition.kind, progress) : null,
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
// Overlay transition: render the full idle layer stack up through
|
|
80
|
+
// the underneath entry (all static — they don't animate) plus the
|
|
81
|
+
// animated top.
|
|
82
|
+
const underneathIdx = stack.findIndex((e) => e.key === transition.underneathEntry.key);
|
|
83
|
+
// If the underneath isn't in the stack (e.g. mid-pop where the
|
|
84
|
+
// stack mutation already removed an entry), fall back to the
|
|
85
|
+
// current top of the stack.
|
|
86
|
+
const lastStaticIdx = underneathIdx >= 0 ? underneathIdx : stack.length - 1;
|
|
87
|
+
let baseIdx = lastStaticIdx;
|
|
88
|
+
while (baseIdx > 0 && isOverlayPresentation(stack[baseIdx].presentation)) {
|
|
89
|
+
baseIdx -= 1;
|
|
90
|
+
}
|
|
91
|
+
const staticLayers = stack
|
|
92
|
+
.slice(baseIdx, lastStaticIdx + 1)
|
|
93
|
+
.map((entry) => ({ entry, animation: null }));
|
|
94
|
+
return [
|
|
95
|
+
...staticLayers,
|
|
96
|
+
{
|
|
97
|
+
entry: transition.topEntry,
|
|
98
|
+
animation: progress ? overlayTopAnimation(transition.kind, progress) : null,
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=layer-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer-plan.js","sourceRoot":"","sources":["../../src/internal/layer-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Logical screen
|
|
3
|
-
* Falls back to
|
|
4
|
-
* load happens BG-side after the bundle initializes, by which time
|
|
5
|
-
* `lynx.SystemInfo` is populated, so the fallback only fires in tests /
|
|
6
|
-
* non-Lynx hosts.
|
|
2
|
+
* Logical screen dimensions (in dp) read from `lynx.SystemInfo` at module
|
|
3
|
+
* load. Falls back to typical phone values if SystemInfo isn't available —
|
|
4
|
+
* module load happens BG-side after the bundle initializes, by which time
|
|
5
|
+
* `lynx.SystemInfo` is populated, so the fallback only fires in tests /
|
|
6
|
+
* SSR / non-Lynx hosts.
|
|
7
7
|
*
|
|
8
8
|
* Used by:
|
|
9
|
-
* - `<ScreenContainer>` for the slide-from-right
|
|
9
|
+
* - `<ScreenContainer>` for the slide-from-right (translateX) and
|
|
10
|
+
* slide-from-bottom (translateY, modal) transform output ranges.
|
|
10
11
|
* - `<EdgeBackHandle>` for the gesture commit threshold (`dx / width`).
|
|
11
12
|
*
|
|
12
13
|
* Both must agree, otherwise the commit threshold and the animation
|
|
13
|
-
* geometry won't line up. Single shared
|
|
14
|
+
* geometry won't line up. Single shared module avoids drift.
|
|
14
15
|
*/
|
|
15
16
|
export declare const SCREEN_WIDTH: number;
|
|
17
|
+
export declare const SCREEN_HEIGHT: number;
|
|
16
18
|
//# sourceMappingURL=screen-width.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-width.d.ts","sourceRoot":"","sources":["../../src/internal/screen-width.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"screen-width.d.ts","sourceRoot":"","sources":["../../src/internal/screen-width.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0BH,eAAO,MAAM,YAAY,QAA4B,CAAC;AACtD,eAAO,MAAM,aAAa,QAA6B,CAAC"}
|
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Logical screen
|
|
3
|
-
* Falls back to
|
|
4
|
-
* load happens BG-side after the bundle initializes, by which time
|
|
5
|
-
* `lynx.SystemInfo` is populated, so the fallback only fires in tests /
|
|
6
|
-
* non-Lynx hosts.
|
|
2
|
+
* Logical screen dimensions (in dp) read from `lynx.SystemInfo` at module
|
|
3
|
+
* load. Falls back to typical phone values if SystemInfo isn't available —
|
|
4
|
+
* module load happens BG-side after the bundle initializes, by which time
|
|
5
|
+
* `lynx.SystemInfo` is populated, so the fallback only fires in tests /
|
|
6
|
+
* SSR / non-Lynx hosts.
|
|
7
7
|
*
|
|
8
8
|
* Used by:
|
|
9
|
-
* - `<ScreenContainer>` for the slide-from-right
|
|
9
|
+
* - `<ScreenContainer>` for the slide-from-right (translateX) and
|
|
10
|
+
* slide-from-bottom (translateY, modal) transform output ranges.
|
|
10
11
|
* - `<EdgeBackHandle>` for the gesture commit threshold (`dx / width`).
|
|
11
12
|
*
|
|
12
13
|
* Both must agree, otherwise the commit threshold and the animation
|
|
13
|
-
* geometry won't line up. Single shared
|
|
14
|
+
* geometry won't line up. Single shared module avoids drift.
|
|
14
15
|
*/
|
|
15
|
-
function
|
|
16
|
+
function readDp(prop, fallback) {
|
|
16
17
|
try {
|
|
17
18
|
const info = typeof lynx !== 'undefined' ? lynx?.SystemInfo : undefined;
|
|
18
|
-
const
|
|
19
|
+
const px = info?.[prop];
|
|
19
20
|
const pr = info?.pixelRatio || 1;
|
|
20
|
-
if (typeof
|
|
21
|
-
return Math.round(
|
|
21
|
+
if (typeof px === 'number' && px > 0) {
|
|
22
|
+
return Math.round(px / pr);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
catch {
|
|
25
26
|
// Lynx globals not present (test env / SSR) — use fallback.
|
|
26
27
|
}
|
|
27
|
-
return
|
|
28
|
+
return fallback;
|
|
28
29
|
}
|
|
29
|
-
export const SCREEN_WIDTH =
|
|
30
|
+
export const SCREEN_WIDTH = readDp('pixelWidth', 400);
|
|
31
|
+
export const SCREEN_HEIGHT = readDp('pixelHeight', 800);
|
|
30
32
|
//# sourceMappingURL=screen-width.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-width.js","sourceRoot":"","sources":["../../src/internal/screen-width.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"screen-width.js","sourceRoot":"","sources":["../../src/internal/screen-width.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,SAAS,MAAM,CAAC,IAAkC,EAAE,QAAgB;IAChE,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,4DAA4D;IAChE,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC"}
|
package/dist/navigator/core.d.ts
CHANGED
|
@@ -45,7 +45,8 @@ export interface NavigatorState {
|
|
|
45
45
|
*/
|
|
46
46
|
readonly _screens: {
|
|
47
47
|
register(registry: ScreenRegistry): void;
|
|
48
|
-
|
|
48
|
+
/** Identity-checked: no-op when a newer registry has taken the slot. */
|
|
49
|
+
unregister(registry: ScreenRegistry): void;
|
|
49
50
|
get(entryKey: string): ScreenRegistry | undefined;
|
|
50
51
|
};
|
|
51
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/navigator/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,WAAW,EACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAIR,QAAQ,EACR,UAAU,EAEb,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE;QACf,gBAAgB,IAAI,IAAI,CAAC;QACzB,iBAAiB,IAAI,IAAI,CAAC;QAC1B,iBAAiB,IAAI,IAAI,CAAC;KAC7B,CAAC;IACF;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,EAAE;QACf,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;QACzC,UAAU,CAAC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/navigator/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,WAAW,EACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAIR,QAAQ,EACR,UAAU,EAEb,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE;QACf,gBAAgB,IAAI,IAAI,CAAC;QACzB,iBAAiB,IAAI,IAAI,CAAC;QAC1B,iBAAiB,IAAI,IAAI,CAAC;KAC7B,CAAC;IACF;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,EAAE;QACf,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;QACzC,wEAAwE;QACxE,UAAU,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;QAC3C,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;KACrD,CAAC;IACF;;;;;;OAMG;IACH,QAAQ,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3D;AAuED,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,UAAU,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IACpB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,GAAG,cAAc,CA0TjF"}
|
package/dist/navigator/core.js
CHANGED
|
@@ -365,8 +365,19 @@ function createScreenRegistries() {
|
|
|
365
365
|
// would self-loop, so we untrack the bump.
|
|
366
366
|
untrack(() => { version.v = version.v + 1; });
|
|
367
367
|
},
|
|
368
|
-
unregister
|
|
369
|
-
|
|
368
|
+
// Identity-checked unregister: deletes the entry only if the
|
|
369
|
+
// currently-registered registry is the *same instance* the caller
|
|
370
|
+
// holds. Without this, the transition→idle handoff (which can
|
|
371
|
+
// mount a new `<EntryScope>` for the same entry-key before the
|
|
372
|
+
// old one unmounts) would let the old scope's `onUnmounted` wipe
|
|
373
|
+
// out the fresh registry — leaving `screens.get(key)` returning
|
|
374
|
+
// undefined and chrome consumers (NavHeader) falling back to the
|
|
375
|
+
// route-name as title with all slot fills gone.
|
|
376
|
+
unregister(reg) {
|
|
377
|
+
const cur = byKey.get(reg.entry.key);
|
|
378
|
+
if (cur !== reg)
|
|
379
|
+
return;
|
|
380
|
+
byKey.delete(reg.entry.key);
|
|
370
381
|
untrack(() => { version.v = version.v + 1; });
|
|
371
382
|
},
|
|
372
383
|
get(key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/navigator/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/navigator/core.ts"],"names":[],"mappings":"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"}
|
package/dist/url/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/url/format.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/url/format.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sigx/lynx-navigation",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Type-first native navigator for sigx-lynx — Stack, Tabs, Drawer, modals, lazy routes, deep links",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@sigx/lynx": "^0.1
|
|
20
|
-
"@sigx/lynx-
|
|
21
|
-
"@sigx/lynx-
|
|
19
|
+
"@sigx/lynx": "^0.4.1",
|
|
20
|
+
"@sigx/lynx-linking": "^0.4.1",
|
|
21
|
+
"@sigx/lynx-motion": "^0.4.1"
|
|
22
22
|
},
|
|
23
23
|
"peerDependenciesMeta": {
|
|
24
24
|
"@sigx/lynx-linking": {
|
|
@@ -26,12 +26,13 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
+
"@typescript/native-preview": "7.0.0-dev.20260511.1",
|
|
29
30
|
"typescript": "^6.0.3",
|
|
30
31
|
"vitest": "^4.1.6",
|
|
31
|
-
"@sigx/lynx": "^0.1
|
|
32
|
-
"@sigx/lynx-
|
|
33
|
-
"@sigx/lynx-
|
|
34
|
-
"@sigx/lynx-testing": "^0.
|
|
32
|
+
"@sigx/lynx": "^0.4.1",
|
|
33
|
+
"@sigx/lynx-motion": "^0.4.1",
|
|
34
|
+
"@sigx/lynx-linking": "^0.4.1",
|
|
35
|
+
"@sigx/lynx-testing": "^0.4.1"
|
|
35
36
|
},
|
|
36
37
|
"keywords": [
|
|
37
38
|
"sigx",
|
|
@@ -59,10 +60,11 @@
|
|
|
59
60
|
"access": "public"
|
|
60
61
|
},
|
|
61
62
|
"scripts": {
|
|
62
|
-
"build": "
|
|
63
|
-
"dev": "
|
|
63
|
+
"build": "node ../../scripts/clean.mjs dist && tsgo",
|
|
64
|
+
"dev": "tsgo --watch",
|
|
64
65
|
"test": "vitest run",
|
|
65
66
|
"test:types": "tsc --noEmit",
|
|
66
|
-
"bench": "vitest bench --run"
|
|
67
|
+
"bench": "vitest bench --run",
|
|
68
|
+
"clean": "node ../../scripts/clean.mjs dist .turbo"
|
|
67
69
|
}
|
|
68
70
|
}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { component, defineProvide, onUnmounted, type Define } from '@sigx/lynx';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
useCurrentEntry,
|
|
4
|
+
useCurrentEntryOptional,
|
|
5
|
+
useNavInternals,
|
|
6
|
+
useScreenRegistry,
|
|
7
|
+
} from '../hooks/use-nav-internal.js';
|
|
3
8
|
import { createScreenRegistry } from '../internal/screen-registry.js';
|
|
4
9
|
import type { StackEntry } from '../types.js';
|
|
5
10
|
|
|
@@ -30,9 +35,15 @@ export const EntryScope = component<EntryScopeProps>(({ props, slots }) => {
|
|
|
30
35
|
const registry = createScreenRegistry(props.entry);
|
|
31
36
|
internals.screens.register(registry);
|
|
32
37
|
onUnmounted(() => {
|
|
33
|
-
|
|
38
|
+
// Pass the registry instance — `unregister` is identity-checked,
|
|
39
|
+
// so this is a no-op when a newer EntryScope has already taken
|
|
40
|
+
// over the same entry key (e.g. at the transition→idle handoff
|
|
41
|
+
// where the reconciler mounts the new EntryScope before
|
|
42
|
+
// unmounting the old).
|
|
43
|
+
internals.screens.unregister(registry);
|
|
34
44
|
});
|
|
35
45
|
defineProvide(useCurrentEntry, () => props.entry);
|
|
46
|
+
defineProvide(useCurrentEntryOptional, () => props.entry);
|
|
36
47
|
defineProvide(useScreenRegistry, () => registry);
|
|
37
48
|
return () => slots.default?.();
|
|
38
49
|
});
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `<Layer>` — one row in `<Stack>`'s layered render. Absolutely-
|
|
3
|
+
* positioned host view that fills the Stack's relative wrapper, with
|
|
4
|
+
* an optional MT-bound `translateX` / `translateY` animation driven
|
|
5
|
+
* by a `SharedValue<number>` from the navigator's transition state.
|
|
6
|
+
*
|
|
7
|
+
* `<Stack>` emits one `<Layer>` per entry returned by
|
|
8
|
+
* `computeLayers(...)`. Layer.key in the parent is
|
|
9
|
+
* `layer-${entry.key}-${animationVariant(animation)}` so that:
|
|
10
|
+
*
|
|
11
|
+
* - The same entry under the same animation state is preserved across
|
|
12
|
+
* renders (modal underneath stays mounted through the modal
|
|
13
|
+
* lifecycle; per-tab Stack state survives).
|
|
14
|
+
* - An entry transitioning between animated and static (e.g. a card
|
|
15
|
+
* top after its push transition completes) remounts so the
|
|
16
|
+
* `useAnimatedStyle` binding can be rebound — the underlying
|
|
17
|
+
* `useAnimatedStyle` is set-once at setup and can't switch its
|
|
18
|
+
* mapper at runtime.
|
|
19
|
+
*
|
|
20
|
+
* Layouts:
|
|
21
|
+
* - Host view is `position: absolute; top/right/bottom/left: 0;
|
|
22
|
+
* display: flex; flexDirection: column` so descendants that
|
|
23
|
+
* flex-fill (SafeAreaView, daisyui screens) get a sized parent.
|
|
24
|
+
* - No background. Screens own their own surface colour (typically
|
|
25
|
+
* via a daisy `bg-base-*` class on the screen body).
|
|
26
|
+
*/
|
|
27
|
+
import {
|
|
28
|
+
component,
|
|
29
|
+
useMainThreadRef,
|
|
30
|
+
useAnimatedStyle,
|
|
31
|
+
type ComponentFactory,
|
|
32
|
+
type Define,
|
|
33
|
+
type MainThread,
|
|
34
|
+
} from '@sigx/lynx';
|
|
35
|
+
import { Suspense, isLazyComponent } from '@sigx/lynx';
|
|
36
|
+
import type { LayerAnimation } from '../internal/layer-plan.js';
|
|
37
|
+
import type { RouteMap, StackEntry } from '../types.js';
|
|
38
|
+
import { EntryScope } from './EntryScope.js';
|
|
39
|
+
|
|
40
|
+
export type LayerProps =
|
|
41
|
+
& Define.Prop<'entry', StackEntry, true>
|
|
42
|
+
& Define.Prop<'routes', RouteMap, true>
|
|
43
|
+
/** When set, the host view animates per the transform spec. */
|
|
44
|
+
& Define.Prop<'animation', LayerAnimation | null, false>;
|
|
45
|
+
|
|
46
|
+
export const Layer = component<LayerProps>(({ props }) => {
|
|
47
|
+
const ref = useMainThreadRef<MainThread.Element | null>(null);
|
|
48
|
+
// `useAnimatedStyle` binds once at setup. Calling it conditionally
|
|
49
|
+
// is safe because setup runs once per mount and props.animation
|
|
50
|
+
// never changes for a given Layer instance — animation changes
|
|
51
|
+
// re-key the Layer at the parent, forcing a fresh mount.
|
|
52
|
+
if (props.animation) {
|
|
53
|
+
const a = props.animation;
|
|
54
|
+
useAnimatedStyle(ref, a.progress, a.axis, {
|
|
55
|
+
inputRange: [a.inputRange[0], a.inputRange[1]],
|
|
56
|
+
outputRange: [a.outputRange[0], a.outputRange[1]],
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return () => {
|
|
61
|
+
const route = props.routes[props.entry.route];
|
|
62
|
+
if (!route) return null;
|
|
63
|
+
const Comp = route.component as unknown as ComponentFactory<
|
|
64
|
+
Record<string, unknown>,
|
|
65
|
+
unknown,
|
|
66
|
+
unknown
|
|
67
|
+
>;
|
|
68
|
+
if (typeof Comp !== 'function') return null;
|
|
69
|
+
const entryParams = props.entry.params as Record<string, unknown>;
|
|
70
|
+
const body = isLazyComponent(Comp) && route.fallback
|
|
71
|
+
? (
|
|
72
|
+
<Suspense fallback={route.fallback as never}>
|
|
73
|
+
<Comp {...entryParams} />
|
|
74
|
+
</Suspense>
|
|
75
|
+
)
|
|
76
|
+
: <Comp {...entryParams} />;
|
|
77
|
+
return (
|
|
78
|
+
<view
|
|
79
|
+
main-thread:ref={ref}
|
|
80
|
+
style={{
|
|
81
|
+
position: 'absolute',
|
|
82
|
+
top: '0',
|
|
83
|
+
left: '0',
|
|
84
|
+
right: '0',
|
|
85
|
+
bottom: '0',
|
|
86
|
+
display: 'flex',
|
|
87
|
+
flexDirection: 'column',
|
|
88
|
+
}}
|
|
89
|
+
>
|
|
90
|
+
<EntryScope key={props.entry.key} entry={props.entry}>
|
|
91
|
+
{body}
|
|
92
|
+
</EntryScope>
|
|
93
|
+
</view>
|
|
94
|
+
);
|
|
95
|
+
};
|
|
96
|
+
});
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
import { component, onUnmounted, type Define } from '@sigx/lynx';
|
|
34
34
|
import { useScreenRegistry } from '../hooks/use-nav-internal.js';
|
|
35
35
|
import { mergeOptions, setSlot } from '../internal/screen-registry.js';
|
|
36
|
+
import type { ScreenOptions } from '../types.js';
|
|
36
37
|
|
|
37
38
|
type ScreenProps =
|
|
38
39
|
& Define.Prop<'title', string | (() => string)>
|
|
@@ -42,15 +43,16 @@ type ScreenProps =
|
|
|
42
43
|
|
|
43
44
|
const ScreenRoot = component<ScreenProps>(({ props, slots }) => {
|
|
44
45
|
const registry = useScreenRegistry();
|
|
45
|
-
// Apply options whenever the component sets up.
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
// Apply options whenever the component sets up. Only set keys that
|
|
47
|
+
// were actually passed — `mergeOptions` treats `undefined` as "clear
|
|
48
|
+
// this key", so building the patch from raw `props.X` would wipe
|
|
49
|
+
// every option a previous `useScreenOptions(...)` (or another `<Screen>`)
|
|
50
|
+
// had set on this same entry.
|
|
51
|
+
const patch: ScreenOptions = {};
|
|
52
|
+
if (props.title !== undefined) patch.title = props.title;
|
|
53
|
+
if (props.headerShown !== undefined) patch.headerShown = props.headerShown;
|
|
54
|
+
if (props.gestureEnabled !== undefined) patch.gestureEnabled = props.gestureEnabled;
|
|
55
|
+
mergeOptions(registry, patch);
|
|
54
56
|
return () => slots.default?.();
|
|
55
57
|
});
|
|
56
58
|
|