react-native-screen-transitions 3.3.0-rc.1 → 3.3.0-rc.3
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/lib/commonjs/component-stack/components/component-screen.js +38 -0
- package/lib/commonjs/component-stack/components/component-screen.js.map +1 -0
- package/lib/commonjs/component-stack/components/stack-view.js +18 -35
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/shared/animation/resolve-snap-target.js +48 -0
- package/lib/commonjs/shared/animation/resolve-snap-target.js.map +1 -0
- package/lib/commonjs/shared/animation/snap-to.js +35 -34
- package/lib/commonjs/shared/animation/snap-to.js.map +1 -1
- package/lib/commonjs/shared/components/create-transition-aware-component.js +15 -7
- package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/shared/components/native-screen.js +21 -3
- package/lib/commonjs/shared/components/native-screen.js.map +1 -1
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +6 -6
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js +37 -8
- package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +0 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/commonjs/shared/hooks/lifecycle/use-screen-events.js +14 -4
- package/lib/commonjs/shared/hooks/lifecycle/use-screen-events.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +9 -2
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/shared/providers/register-bounds.provider.js +25 -6
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js +13 -15
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/managed.provider.js +43 -26
- package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds.store.js +46 -0
- package/lib/commonjs/shared/stores/bounds.store.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/index.js +6 -4
- package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
- package/lib/module/component-stack/components/component-screen.js +32 -0
- package/lib/module/component-stack/components/component-screen.js.map +1 -0
- package/lib/module/component-stack/components/stack-view.js +18 -35
- package/lib/module/component-stack/components/stack-view.js.map +1 -1
- package/lib/module/shared/animation/resolve-snap-target.js +44 -0
- package/lib/module/shared/animation/resolve-snap-target.js.map +1 -0
- package/lib/module/shared/animation/snap-to.js +34 -34
- package/lib/module/shared/animation/snap-to.js.map +1 -1
- package/lib/module/shared/components/create-transition-aware-component.js +16 -8
- package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/shared/components/native-screen.js +21 -3
- package/lib/module/shared/components/native-screen.js.map +1 -1
- package/lib/module/shared/hooks/animation/use-screen-animation.js +6 -6
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js +37 -8
- package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js +0 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/module/shared/hooks/lifecycle/use-screen-events.js +13 -4
- package/lib/module/shared/hooks/lifecycle/use-screen-events.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-screen-state.js +10 -3
- package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/shared/providers/register-bounds.provider.js +25 -6
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/direct.provider.js +13 -15
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/managed.provider.js +43 -26
- package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/module/shared/stores/bounds.store.js +46 -0
- package/lib/module/shared/stores/bounds.store.js.map +1 -1
- package/lib/module/shared/utils/bounds/index.js +6 -4
- package/lib/module/shared/utils/bounds/index.js.map +1 -1
- package/lib/typescript/component-stack/components/component-screen.d.ts +8 -0
- package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -0
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/component-stack/types.d.ts +0 -5
- package/lib/typescript/component-stack/types.d.ts.map +1 -1
- package/lib/typescript/shared/animation/resolve-snap-target.d.ts +3 -0
- package/lib/typescript/shared/animation/resolve-snap-target.d.ts.map +1 -0
- package/lib/typescript/shared/animation/snap-to.d.ts +2 -0
- package/lib/typescript/shared/animation/snap-to.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts +1 -0
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/native-screen.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts +1 -1
- package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts +0 -2
- package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/lifecycle/use-screen-events.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts +6 -0
- package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +4 -0
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts +1 -0
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts +1 -0
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds.store.d.ts +2 -0
- package/lib/typescript/shared/stores/bounds.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/screen.types.d.ts +20 -0
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/component-stack/components/component-screen.tsx +40 -0
- package/src/component-stack/components/stack-view.tsx +21 -46
- package/src/component-stack/types.ts +0 -6
- package/src/shared/animation/resolve-snap-target.ts +53 -0
- package/src/shared/animation/snap-to.ts +47 -38
- package/src/shared/components/create-transition-aware-component.tsx +34 -10
- package/src/shared/components/native-screen.tsx +32 -3
- package/src/shared/hooks/animation/use-screen-animation.tsx +8 -8
- package/src/shared/hooks/gestures/use-screen-gesture-handlers.ts +63 -16
- package/src/shared/hooks/gestures/use-scroll-registry.tsx +0 -3
- package/src/shared/hooks/lifecycle/use-screen-events.ts +15 -4
- package/src/shared/hooks/navigation/use-screen-state.tsx +20 -1
- package/src/shared/providers/register-bounds.provider.tsx +43 -6
- package/src/shared/providers/stack/direct.provider.tsx +16 -17
- package/src/shared/providers/stack/managed.provider.tsx +74 -42
- package/src/shared/stores/bounds.store.ts +56 -0
- package/src/shared/types/screen.types.ts +22 -0
- package/src/shared/utils/bounds/index.ts +6 -4
- package/lib/commonjs/component-stack/components/stack-view.native.js +0 -81
- package/lib/commonjs/component-stack/components/stack-view.native.js.map +0 -1
- package/lib/module/component-stack/components/stack-view.native.js +0 -76
- package/lib/module/component-stack/components/stack-view.native.js.map +0 -1
- package/lib/typescript/component-stack/components/stack-view.native.d.ts +0 -4
- package/lib/typescript/component-stack/components/stack-view.native.d.ts.map +0 -1
- package/src/component-stack/components/stack-view.native.tsx +0 -97
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ComponentScreen = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
9
|
+
var _layoutAnchor = require("../../shared/providers/layout-anchor.provider");
|
|
10
|
+
var _animation = require("../../shared/stores/animation.store");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
const POINT_NONE = "none";
|
|
14
|
+
const POINT_BOX_NONE = "box-none";
|
|
15
|
+
const ComponentScreen = ({
|
|
16
|
+
routeKey,
|
|
17
|
+
children
|
|
18
|
+
}) => {
|
|
19
|
+
const sceneClosing = _animation.AnimationStore.getAnimation(routeKey, "closing");
|
|
20
|
+
const screenRef = (0, _reactNativeReanimated.useAnimatedRef)();
|
|
21
|
+
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
22
|
+
return {
|
|
23
|
+
pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
const ComponentScreenComponent = _reactNativeReanimated.default.View;
|
|
27
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentScreenComponent, {
|
|
28
|
+
ref: screenRef,
|
|
29
|
+
style: _reactNative.StyleSheet.absoluteFill,
|
|
30
|
+
animatedProps: animatedProps,
|
|
31
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_layoutAnchor.LayoutAnchorProvider, {
|
|
32
|
+
anchorRef: screenRef,
|
|
33
|
+
children: children
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
exports.ComponentScreen = ComponentScreen;
|
|
38
|
+
//# sourceMappingURL=component-screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_layoutAnchor","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","POINT_NONE","POINT_BOX_NONE","ComponentScreen","routeKey","children","sceneClosing","AnimationStore","getAnimation","screenRef","useAnimatedRef","animatedProps","useAnimatedProps","pointerEvents","ComponentScreenComponent","Animated","View","jsx","ref","style","StyleSheet","absoluteFill","LayoutAnchorProvider","anchorRef","exports"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAIA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAAqE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAE,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAMrE,MAAMkB,UAAU,GAAG,MAAe;AAClC,MAAMC,cAAc,GAAG,UAAmB;AAEnC,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAsB,CAAC,KAAK;EACvE,MAAMC,YAAY,GAAGC,yBAAc,CAACC,YAAY,CAACJ,QAAQ,EAAE,SAAS,CAAC;EACrE,MAAMK,SAAS,GAAG,IAAAC,qCAAc,EAAO,CAAC;EAExC,MAAMC,aAAa,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC5C,OAAO;MACNC,aAAa,EAAEP,YAAY,CAACZ,GAAG,CAAC,CAAC,GAAGO,UAAU,GAAGC;IAClD,CAAC;EACF,CAAC,CAAC;EAEF,MAAMY,wBAAwB,GAAGC,8BAAQ,CAACC,IAAI;EAE9C,oBACC,IAAAnC,WAAA,CAAAoC,GAAA,EAACH,wBAAwB;IACxBI,GAAG,EAAET,SAAU;IACfU,KAAK,EAAEC,uBAAU,CAACC,YAAa;IAC/BV,aAAa,EAAEA,aAAc;IAAAN,QAAA,eAE7B,IAAAxB,WAAA,CAAAoC,GAAA,EAACtC,aAAA,CAAA2C,oBAAoB;MAACC,SAAS,EAAEd,SAAU;MAAAJ,QAAA,EACzCA;IAAQ,CACY;EAAC,CACE,CAAC;AAE7B,CAAC;AAACmB,OAAA,CAAArB,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -7,18 +7,14 @@ exports.StackView = void 0;
|
|
|
7
7
|
var _native = require("@react-navigation/native");
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var React = _react;
|
|
10
|
-
var _nativeScreen = require("../../shared/components/native-screen");
|
|
11
|
-
var _nativeScreenContainer = require("../../shared/components/native-screen-container");
|
|
12
10
|
var _overlay = require("../../shared/components/overlay");
|
|
13
11
|
var _screenComposer = require("../../shared/providers/screen/screen-composer");
|
|
14
12
|
var _core = require("../../shared/providers/stack/core.provider");
|
|
15
13
|
var _managed = require("../../shared/providers/stack/managed.provider");
|
|
16
14
|
var _stack = require("../../shared/types/stack.types");
|
|
15
|
+
var _componentScreen = require("./component-screen");
|
|
17
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
17
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
19
|
-
function isFabric() {
|
|
20
|
-
return "nativeFabricUIManager" in global;
|
|
21
|
-
}
|
|
22
18
|
const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
23
19
|
descriptor
|
|
24
20
|
}) {
|
|
@@ -37,41 +33,28 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
|
37
33
|
});
|
|
38
34
|
const StackView = exports.StackView = (0, _core.withStackCore)({
|
|
39
35
|
TRANSITIONS_ALWAYS_ON: true,
|
|
40
|
-
STACK_TYPE: _stack.StackType.COMPONENT
|
|
41
|
-
DISABLE_NATIVE_SCREENS: true
|
|
36
|
+
STACK_TYPE: _stack.StackType.COMPONENT
|
|
42
37
|
}, (0, _managed.withManagedStack)(({
|
|
43
|
-
descriptors,
|
|
44
|
-
focusedIndex,
|
|
45
38
|
scenes,
|
|
46
39
|
shouldShowFloatOverlay
|
|
47
40
|
}) => {
|
|
48
41
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
49
|
-
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
|
|
66
|
-
previous: previousDescriptor,
|
|
67
|
-
current: descriptor,
|
|
68
|
-
next: nextDescriptor,
|
|
69
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
|
|
70
|
-
descriptor: descriptor
|
|
71
|
-
}, route.key)
|
|
72
|
-
})
|
|
73
|
-
}, route.key);
|
|
74
|
-
})
|
|
42
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, scenes.map((scene, sceneIndex) => {
|
|
43
|
+
const descriptor = scene.descriptor;
|
|
44
|
+
const route = scene.route;
|
|
45
|
+
const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
|
|
46
|
+
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
|
|
47
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentScreen.ComponentScreen, {
|
|
48
|
+
routeKey: route.key,
|
|
49
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
|
|
50
|
+
previous: previousDescriptor,
|
|
51
|
+
current: descriptor,
|
|
52
|
+
next: nextDescriptor,
|
|
53
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
|
|
54
|
+
descriptor: descriptor
|
|
55
|
+
}, route.key)
|
|
56
|
+
})
|
|
57
|
+
}, route.key);
|
|
75
58
|
})]
|
|
76
59
|
});
|
|
77
60
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","_react","_interopRequireWildcard","React","
|
|
1
|
+
{"version":3,"names":["_native","require","_react","_interopRequireWildcard","React","_overlay","_screenComposer","_core","_managed","_stack","_componentScreen","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SceneView","memo","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","overlayMode","Overlay","Screen","StackView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","STACK_TYPE","StackType","COMPONENT","withManagedStack","scenes","shouldShowFloatOverlay","Fragment","Float","map","scene","sceneIndex","previousDescriptor","undefined","nextDescriptor","ComponentScreen","routeKey","key","ScreenComposer","previous","current","next"],"sourceRoot":"../../../../src","sources":["component-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.resolveSnapTargetEntry = resolveSnapTargetEntry;
|
|
7
|
+
var _history = require("../stores/history.store");
|
|
8
|
+
const hasSnapPoints = entry => {
|
|
9
|
+
const snapPoints = entry.descriptor.options?.snapPoints;
|
|
10
|
+
return Boolean(snapPoints && snapPoints.length > 0);
|
|
11
|
+
};
|
|
12
|
+
const getNavigatorLineage = entry => {
|
|
13
|
+
const keys = [];
|
|
14
|
+
const visited = new Set();
|
|
15
|
+
let nav = entry.descriptor.navigation;
|
|
16
|
+
while (nav) {
|
|
17
|
+
const key = nav.getState?.()?.key;
|
|
18
|
+
if (typeof key === "string" && key.length > 0 && !visited.has(key)) {
|
|
19
|
+
keys.push(key);
|
|
20
|
+
visited.add(key);
|
|
21
|
+
}
|
|
22
|
+
if (typeof nav.getParent !== "function") {
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
nav = nav.getParent();
|
|
26
|
+
}
|
|
27
|
+
if (!visited.has(entry.navigatorKey)) {
|
|
28
|
+
keys.push(entry.navigatorKey);
|
|
29
|
+
}
|
|
30
|
+
return keys;
|
|
31
|
+
};
|
|
32
|
+
function resolveSnapTargetEntry() {
|
|
33
|
+
const anchor = _history.HistoryStore.getMostRecent();
|
|
34
|
+
if (!anchor) return undefined;
|
|
35
|
+
const lineageKeys = getNavigatorLineage(anchor);
|
|
36
|
+
for (const navigatorKey of lineageKeys) {
|
|
37
|
+
const match = _history.HistoryStore.getByNavigator(navigatorKey).find(hasSnapPoints);
|
|
38
|
+
if (match) return match;
|
|
39
|
+
}
|
|
40
|
+
const all = _history.HistoryStore.toArray();
|
|
41
|
+
for (let i = all.length - 1; i >= 0; i--) {
|
|
42
|
+
if (hasSnapPoints(all[i])) {
|
|
43
|
+
return all[i];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=resolve-snap-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_history","require","hasSnapPoints","entry","snapPoints","descriptor","options","Boolean","length","getNavigatorLineage","keys","visited","Set","nav","navigation","key","getState","has","push","add","getParent","navigatorKey","resolveSnapTargetEntry","anchor","HistoryStore","getMostRecent","undefined","lineageKeys","match","getByNavigator","find","all","toArray","i"],"sourceRoot":"../../../../src","sources":["shared/animation/resolve-snap-target.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAAIC,KAAmB,IAAc;EACvD,MAAMC,UAAU,GAAGD,KAAK,CAACE,UAAU,CAACC,OAAO,EAAEF,UAAU;EACvD,OAAOG,OAAO,CAACH,UAAU,IAAIA,UAAU,CAACI,MAAM,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,MAAMC,mBAAmB,GAAIN,KAAmB,IAAe;EAC9D,MAAMO,IAAc,GAAG,EAAE;EACzB,MAAMC,OAAO,GAAG,IAAIC,GAAG,CAAS,CAAC;EAEjC,IAAIC,GAAQ,GAAGV,KAAK,CAACE,UAAU,CAACS,UAAU;EAC1C,OAAOD,GAAG,EAAE;IACX,MAAME,GAAG,GAAGF,GAAG,CAACG,QAAQ,GAAG,CAAC,EAAED,GAAG;IACjC,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACP,MAAM,GAAG,CAAC,IAAI,CAACG,OAAO,CAACM,GAAG,CAACF,GAAG,CAAC,EAAE;MACnEL,IAAI,CAACQ,IAAI,CAACH,GAAG,CAAC;MACdJ,OAAO,CAACQ,GAAG,CAACJ,GAAG,CAAC;IACjB;IAEA,IAAI,OAAOF,GAAG,CAACO,SAAS,KAAK,UAAU,EAAE;MACxC;IACD;IAEAP,GAAG,GAAGA,GAAG,CAACO,SAAS,CAAC,CAAC;EACtB;EAEA,IAAI,CAACT,OAAO,CAACM,GAAG,CAACd,KAAK,CAACkB,YAAY,CAAC,EAAE;IACrCX,IAAI,CAACQ,IAAI,CAACf,KAAK,CAACkB,YAAY,CAAC;EAC9B;EAEA,OAAOX,IAAI;AACZ,CAAC;AAEM,SAASY,sBAAsBA,CAAA,EAA6B;EAClE,MAAMC,MAAM,GAAGC,qBAAY,CAACC,aAAa,CAAC,CAAC;EAC3C,IAAI,CAACF,MAAM,EAAE,OAAOG,SAAS;EAE7B,MAAMC,WAAW,GAAGlB,mBAAmB,CAACc,MAAM,CAAC;EAE/C,KAAK,MAAMF,YAAY,IAAIM,WAAW,EAAE;IACvC,MAAMC,KAAK,GAAGJ,qBAAY,CAACK,cAAc,CAACR,YAAY,CAAC,CAACS,IAAI,CAAC5B,aAAa,CAAC;IAC3E,IAAI0B,KAAK,EAAE,OAAOA,KAAK;EACxB;EAEA,MAAMG,GAAG,GAAGP,qBAAY,CAACQ,OAAO,CAAC,CAAC;EAClC,KAAK,IAAIC,CAAC,GAAGF,GAAG,CAACvB,MAAM,GAAG,CAAC,EAAEyB,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IACzC,IAAI/B,aAAa,CAAC6B,GAAG,CAACE,CAAC,CAAC,CAAC,EAAE;MAC1B,OAAOF,GAAG,CAACE,CAAC,CAAC;IACd;EACD;EAEA,OAAOP,SAAS;AACjB","ignoreList":[]}
|
|
@@ -3,14 +3,45 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.snapDescriptorToIndex = snapDescriptorToIndex;
|
|
6
7
|
exports.snapTo = snapTo;
|
|
7
8
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
8
9
|
var _specs = require("../configs/specs");
|
|
9
10
|
var _animation = require("../stores/animation.store");
|
|
10
|
-
var _history = require("../stores/history.store");
|
|
11
11
|
var _animateToProgress = require("../utils/animation/animate-to-progress");
|
|
12
12
|
var _logger = require("../utils/logger");
|
|
13
|
-
|
|
13
|
+
var _resolveSnapTarget = require("./resolve-snap-target");
|
|
14
|
+
const getSortedSnapPoints = descriptor => {
|
|
15
|
+
const snapPoints = descriptor.options?.snapPoints;
|
|
16
|
+
if (!snapPoints || snapPoints.length === 0) return null;
|
|
17
|
+
return [...snapPoints].sort((a, b) => a - b);
|
|
18
|
+
};
|
|
19
|
+
function snapDescriptorToIndex(descriptor, index) {
|
|
20
|
+
const sorted = getSortedSnapPoints(descriptor);
|
|
21
|
+
if (!sorted) {
|
|
22
|
+
_logger.logger.warn("snapTo: target screen has no snapPoints");
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (index < 0 || index >= sorted.length) {
|
|
26
|
+
_logger.logger.warn(`snapTo: index ${index} out of bounds (0-${sorted.length - 1})`);
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
const targetProgress = sorted[index];
|
|
30
|
+
const animations = _animation.AnimationStore.getAll(descriptor.route.key);
|
|
31
|
+
(0, _reactNativeReanimated.runOnUI)(() => {
|
|
32
|
+
"worklet";
|
|
33
|
+
|
|
34
|
+
(0, _animateToProgress.animateToProgress)({
|
|
35
|
+
target: targetProgress,
|
|
36
|
+
animations,
|
|
37
|
+
spec: {
|
|
38
|
+
open: descriptor.options.transitionSpec?.expand ?? _specs.DefaultSnapSpec,
|
|
39
|
+
close: descriptor.options.transitionSpec?.collapse ?? _specs.DefaultSnapSpec
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
})();
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
14
45
|
|
|
15
46
|
/**
|
|
16
47
|
* Programmatically snap the currently focused screen to a specific snap point.
|
|
@@ -29,41 +60,11 @@ var _logger = require("../utils/logger");
|
|
|
29
60
|
* ```
|
|
30
61
|
*/
|
|
31
62
|
function snapTo(index) {
|
|
32
|
-
|
|
33
|
-
// This handles cases where parent screens (e.g., expo-router) register after
|
|
34
|
-
// ComponentStack screens, but the ComponentStack is what we want to snap.
|
|
35
|
-
const allHistory = _history.HistoryStore.toArray();
|
|
36
|
-
const screenWithSnapPoints = allHistory.filter(entry => {
|
|
37
|
-
const sp = entry.descriptor.options?.snapPoints;
|
|
38
|
-
return sp && sp.length > 0;
|
|
39
|
-
}).pop(); // Last item is most recent (toArray returns oldest-first)
|
|
40
|
-
|
|
63
|
+
const screenWithSnapPoints = (0, _resolveSnapTarget.resolveSnapTargetEntry)();
|
|
41
64
|
if (!screenWithSnapPoints) {
|
|
42
65
|
_logger.logger.warn("snapTo: No screens with snapPoints in history");
|
|
43
66
|
return;
|
|
44
67
|
}
|
|
45
|
-
|
|
46
|
-
descriptor
|
|
47
|
-
} = screenWithSnapPoints;
|
|
48
|
-
const snapPoints = descriptor.options.snapPoints;
|
|
49
|
-
const sorted = [...snapPoints].sort((a, b) => a - b);
|
|
50
|
-
if (index < 0 || index >= sorted.length) {
|
|
51
|
-
_logger.logger.warn(`snapTo: index ${index} out of bounds (0-${sorted.length - 1})`);
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const targetProgress = sorted[index];
|
|
55
|
-
const animations = _animation.AnimationStore.getAll(descriptor.route.key);
|
|
56
|
-
(0, _reactNativeReanimated.runOnUI)(() => {
|
|
57
|
-
"worklet";
|
|
58
|
-
|
|
59
|
-
(0, _animateToProgress.animateToProgress)({
|
|
60
|
-
target: targetProgress,
|
|
61
|
-
animations,
|
|
62
|
-
spec: {
|
|
63
|
-
open: descriptor.options.transitionSpec?.expand ?? _specs.DefaultSnapSpec,
|
|
64
|
-
close: descriptor.options.transitionSpec?.collapse ?? _specs.DefaultSnapSpec
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
})();
|
|
68
|
+
snapDescriptorToIndex(screenWithSnapPoints.descriptor, index);
|
|
68
69
|
}
|
|
69
70
|
//# sourceMappingURL=snap-to.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","_specs","_animation","
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","_specs","_animation","_animateToProgress","_logger","_resolveSnapTarget","getSortedSnapPoints","descriptor","snapPoints","options","length","sort","a","b","snapDescriptorToIndex","index","sorted","logger","warn","targetProgress","animations","AnimationStore","getAll","route","key","runOnUI","animateToProgress","target","spec","open","transitionSpec","expand","DefaultSnapSpec","close","collapse","snapTo","screenWithSnapPoints","resolveSnapTargetEntry"],"sourceRoot":"../../../../src","sources":["shared/animation/snap-to.ts"],"mappings":";;;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AAEA,MAAMM,mBAAmB,GACxBC,UAAsC,IACjB;EACrB,MAAMC,UAAU,GAAGD,UAAU,CAACE,OAAO,EAAED,UAAU;EACjD,IAAI,CAACA,UAAU,IAAIA,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EACvD,OAAO,CAAC,GAAGF,UAAU,CAAC,CAACG,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;AAC7C,CAAC;AAEM,SAASC,qBAAqBA,CACpCP,UAAsC,EACtCQ,KAAa,EACH;EACV,MAAMC,MAAM,GAAGV,mBAAmB,CAACC,UAAU,CAAC;EAC9C,IAAI,CAACS,MAAM,EAAE;IACZC,cAAM,CAACC,IAAI,CAAC,yCAAyC,CAAC;IACtD,OAAO,KAAK;EACb;EAEA,IAAIH,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAIC,MAAM,CAACN,MAAM,EAAE;IACxCO,cAAM,CAACC,IAAI,CACV,iBAAiBH,KAAK,qBAAqBC,MAAM,CAACN,MAAM,GAAG,CAAC,GAC7D,CAAC;IACD,OAAO,KAAK;EACb;EAEA,MAAMS,cAAc,GAAGH,MAAM,CAACD,KAAK,CAAC;EACpC,MAAMK,UAAU,GAAGC,yBAAc,CAACC,MAAM,CAACf,UAAU,CAACgB,KAAK,CAACC,GAAG,CAAC;EAE9D,IAAAC,8BAAO,EAAC,MAAM;IACb,SAAS;;IACT,IAAAC,oCAAiB,EAAC;MACjBC,MAAM,EAAER,cAAc;MACtBC,UAAU;MACVQ,IAAI,EAAE;QACLC,IAAI,EAAEtB,UAAU,CAACE,OAAO,CAACqB,cAAc,EAAEC,MAAM,IAAIC,sBAAe;QAClEC,KAAK,EAAE1B,UAAU,CAACE,OAAO,CAACqB,cAAc,EAAEI,QAAQ,IAAIF;MACvD;IACD,CAAC,CAAC;EACH,CAAC,CAAC,CAAC,CAAC;EAEJ,OAAO,IAAI;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,MAAMA,CAACpB,KAAa,EAAQ;EAC3C,MAAMqB,oBAAoB,GAAG,IAAAC,yCAAsB,EAAC,CAAC;EAErD,IAAI,CAACD,oBAAoB,EAAE;IAC1BnB,cAAM,CAACC,IAAI,CAAC,+CAA+C,CAAC;IAC5D;EACD;EAEAJ,qBAAqB,CAACsB,oBAAoB,CAAC7B,UAAU,EAAEQ,KAAK,CAAC;AAC9D","ignoreList":[]}
|
|
@@ -20,8 +20,14 @@ function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
20
20
|
} = options;
|
|
21
21
|
const AnimatedComponent = _reactNativeReanimated.default.createAnimatedComponent(Wrapped);
|
|
22
22
|
const ScrollableInner = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
23
|
+
const {
|
|
24
|
+
remeasureOnFocus: _remeasureOnFocus,
|
|
25
|
+
onScroll: userOnScroll,
|
|
26
|
+
...scrollableProps
|
|
27
|
+
} = props;
|
|
28
|
+
|
|
23
29
|
// Determine scroll direction from the horizontal prop (standard ScrollView API)
|
|
24
|
-
const scrollDirection =
|
|
30
|
+
const scrollDirection = scrollableProps.horizontal ? "horizontal" : "vertical";
|
|
25
31
|
|
|
26
32
|
// Get scroll handlers and the gesture owner's nativeGesture for this axis
|
|
27
33
|
const {
|
|
@@ -30,18 +36,18 @@ function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
30
36
|
onLayout,
|
|
31
37
|
nativeGesture
|
|
32
38
|
} = (0, _useScrollRegistry.useScrollRegistry)({
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
onLayout: props.onLayout,
|
|
39
|
+
onContentSizeChange: scrollableProps.onContentSizeChange,
|
|
40
|
+
onLayout: scrollableProps.onLayout,
|
|
36
41
|
direction: scrollDirection
|
|
37
42
|
});
|
|
43
|
+
const composedScrollHandler = (0, _reactNativeReanimated.useComposedEventHandler)([scrollHandler, userOnScroll ?? null]);
|
|
38
44
|
const scrollableComponent = /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedComponent, {
|
|
39
|
-
...
|
|
45
|
+
...scrollableProps,
|
|
40
46
|
ref: ref,
|
|
41
|
-
onScroll:
|
|
47
|
+
onScroll: composedScrollHandler,
|
|
42
48
|
onContentSizeChange: onContentSizeChange,
|
|
43
49
|
onLayout: onLayout,
|
|
44
|
-
scrollEventThrottle:
|
|
50
|
+
scrollEventThrottle: scrollableProps.scrollEventThrottle || 16
|
|
45
51
|
});
|
|
46
52
|
|
|
47
53
|
// If no gesture owner found for this axis, render without GestureDetector
|
|
@@ -60,6 +66,7 @@ function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
60
66
|
sharedBoundTag,
|
|
61
67
|
styleId,
|
|
62
68
|
onPress,
|
|
69
|
+
remeasureOnFocus,
|
|
63
70
|
...rest
|
|
64
71
|
} = props;
|
|
65
72
|
const animatedRef = (0, _reactNativeReanimated.useAnimatedRef)();
|
|
@@ -74,6 +81,7 @@ function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
74
81
|
style: style,
|
|
75
82
|
onPress: onPress,
|
|
76
83
|
sharedBoundTag: sharedBoundTag,
|
|
84
|
+
remeasureOnFocus: remeasureOnFocus,
|
|
77
85
|
children: ({
|
|
78
86
|
captureActiveOnPress,
|
|
79
87
|
handleInitialLayout
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_useAssociatedStyle","_useScrollRegistry","_registerBounds","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createTransitionAwareComponent","Wrapped","options","isScrollable","AnimatedComponent","Animated","createAnimatedComponent","ScrollableInner","forwardRef","props","ref","scrollDirection","horizontal","scrollHandler","onContentSizeChange","onLayout","nativeGesture","useScrollRegistry","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_useAssociatedStyle","_useScrollRegistry","_registerBounds","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createTransitionAwareComponent","Wrapped","options","isScrollable","AnimatedComponent","Animated","createAnimatedComponent","ScrollableInner","forwardRef","props","ref","remeasureOnFocus","_remeasureOnFocus","onScroll","userOnScroll","scrollableProps","scrollDirection","horizontal","scrollHandler","onContentSizeChange","onLayout","nativeGesture","useScrollRegistry","direction","composedScrollHandler","useComposedEventHandler","scrollableComponent","jsx","scrollEventThrottle","GestureDetector","gesture","children","Inner","_","style","sharedBoundTag","styleId","onPress","rest","animatedRef","useAnimatedRef","associatedStyles","useAssociatedStyles","id","RegisterBoundsProvider","captureActiveOnPress","handleInitialLayout","runOnUI","collapsable","memo"],"sourceRoot":"../../../../src","sources":["shared/components/create-transition-aware-component.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ var _managed = require("../providers/stack/managed.provider");
|
|
|
14
14
|
var _animation = require("../stores/animation.store");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
|
+
const PASSTHROUGH = "passthrough";
|
|
17
18
|
var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
|
|
18
19
|
ScreenActivity[ScreenActivity["INACTIVE"] = 0] = "INACTIVE";
|
|
19
20
|
ScreenActivity[ScreenActivity["TRANSITIONING_OR_BELOW_TOP"] = 1] = "TRANSITIONING_OR_BELOW_TOP";
|
|
@@ -38,7 +39,9 @@ const NativeScreen = ({
|
|
|
38
39
|
} = (0, _useStack.useStack)();
|
|
39
40
|
const {
|
|
40
41
|
activeScreensLimit,
|
|
41
|
-
routes
|
|
42
|
+
routes,
|
|
43
|
+
optimisticFocusedIndex,
|
|
44
|
+
backdropBehaviors
|
|
42
45
|
} = (0, _managed.useManagedStackContext)();
|
|
43
46
|
const routesLength = routes.length;
|
|
44
47
|
const screenRef = (0, _reactNativeReanimated.useAnimatedRef)();
|
|
@@ -63,15 +66,30 @@ const NativeScreen = ({
|
|
|
63
66
|
});
|
|
64
67
|
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
65
68
|
const activity = screenActivity.get();
|
|
69
|
+
const isClosing = sceneClosing.get() > 0;
|
|
70
|
+
const activeIndex = optimisticFocusedIndex.value;
|
|
71
|
+
const isActive = index === activeIndex;
|
|
72
|
+
|
|
73
|
+
// Check if the active screen allows passthrough to the screen below
|
|
74
|
+
const activeBackdrop = backdropBehaviors[activeIndex] ?? "block";
|
|
75
|
+
const activeAllowsPassthrough = activeBackdrop === PASSTHROUGH;
|
|
76
|
+
const isAllowedPassthroughBelow = activeAllowsPassthrough && index === activeIndex - 1;
|
|
77
|
+
|
|
78
|
+
// Determine pointer events:
|
|
79
|
+
// - "none" if closing (immediately disable touches)
|
|
80
|
+
// - "box-none" if this is the active screen
|
|
81
|
+
// - "box-none" if the active screen allows passthrough and we're immediately below
|
|
82
|
+
// - "none" otherwise (block touches to non-active screens)
|
|
83
|
+
const pointerEvents = isClosing || !isActive && !isAllowedPassthroughBelow ? POINT_NONE : POINT_BOX_NONE;
|
|
66
84
|
if (!DISABLE_NATIVE_SCREENS) {
|
|
67
85
|
return {
|
|
68
86
|
activityState: activity,
|
|
69
87
|
shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
|
|
70
|
-
pointerEvents
|
|
88
|
+
pointerEvents
|
|
71
89
|
};
|
|
72
90
|
}
|
|
73
91
|
return {
|
|
74
|
-
pointerEvents
|
|
92
|
+
pointerEvents
|
|
75
93
|
};
|
|
76
94
|
});
|
|
77
95
|
const NativeScreenComponent = !DISABLE_NATIVE_SCREENS ? AnimatedNativeScreen : _reactNativeReanimated.default.View;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_constants","_useStack","_layoutAnchor","_managed","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ScreenActivity","POINT_NONE","POINT_BOX_NONE","AnimatedNativeScreen","Animated","createAnimatedComponent","RNSScreen","NativeScreen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","flags","DISABLE_NATIVE_SCREENS","useStack","activeScreensLimit","routes","useManagedStackContext","routesLength","length","screenRef","useAnimatedRef","sceneProgress","AnimationStore","getAnimation","sceneClosing","screenActivity","useSharedValue","TRANSITIONING_OR_BELOW_TOP","useDerivedValue","INACTIVE","outputValue","ON_TOP","v","interpolate","EPSILON","Extrapolation","CLAMP","next","Math","trunc","animatedProps","useAnimatedProps","activity","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_constants","_useStack","_layoutAnchor","_managed","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PASSTHROUGH","ScreenActivity","POINT_NONE","POINT_BOX_NONE","AnimatedNativeScreen","Animated","createAnimatedComponent","RNSScreen","NativeScreen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","flags","DISABLE_NATIVE_SCREENS","useStack","activeScreensLimit","routes","optimisticFocusedIndex","backdropBehaviors","useManagedStackContext","routesLength","length","screenRef","useAnimatedRef","sceneProgress","AnimationStore","getAnimation","sceneClosing","screenActivity","useSharedValue","TRANSITIONING_OR_BELOW_TOP","useDerivedValue","INACTIVE","outputValue","ON_TOP","v","interpolate","EPSILON","Extrapolation","CLAMP","next","Math","trunc","animatedProps","useAnimatedProps","activity","isClosing","activeIndex","value","isActive","activeBackdrop","activeAllowsPassthrough","isAllowedPassthroughBelow","pointerEvents","activityState","NativeScreenComponent","View","jsx","enabled","ref","style","StyleSheet","absoluteFill","LayoutAnchorProvider","anchorRef","exports"],"sourceRoot":"../../../../src","sources":["shared/components/native-screen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -56,9 +56,10 @@ const unwrapInto = s => {
|
|
|
56
56
|
const useBuildScreenTransitionState = descriptor => {
|
|
57
57
|
const key = descriptor?.route?.key;
|
|
58
58
|
const meta = descriptor?.options?.meta;
|
|
59
|
+
const route = descriptor?.route;
|
|
59
60
|
return (0, _react.useMemo)(() => {
|
|
60
|
-
if (!key || !
|
|
61
|
-
const plainRoute = (0, _worklet.toPlainRoute)(
|
|
61
|
+
if (!key || !route) return undefined;
|
|
62
|
+
const plainRoute = (0, _worklet.toPlainRoute)(route);
|
|
62
63
|
const plainMeta = meta ? (0, _worklet.toPlainValue)(meta) : undefined;
|
|
63
64
|
return {
|
|
64
65
|
progress: _animation.AnimationStore.getAnimation(key, "progress"),
|
|
@@ -70,7 +71,7 @@ const useBuildScreenTransitionState = descriptor => {
|
|
|
70
71
|
meta: plainMeta,
|
|
71
72
|
unwrapped: (0, _constants.createScreenTransitionState)(plainRoute, plainMeta)
|
|
72
73
|
};
|
|
73
|
-
}, [key, meta,
|
|
74
|
+
}, [key, meta, route]);
|
|
74
75
|
};
|
|
75
76
|
const hasTransitionsEnabled = (options, alwaysOn) => {
|
|
76
77
|
if (alwaysOn) return true;
|
|
@@ -99,9 +100,8 @@ function _useScreenAnimation() {
|
|
|
99
100
|
const points = currentDescriptor?.options?.snapPoints;
|
|
100
101
|
return points ? [...points].sort((a, b) => a - b) : [];
|
|
101
102
|
}, [currentDescriptor?.options?.snapPoints]);
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
}, [nextDescriptor, transitionsAlwaysOn]);
|
|
103
|
+
const nextRouteKey = nextDescriptor?.route?.key;
|
|
104
|
+
const nextHasTransitions = !!nextRouteKey && hasTransitionsEnabled(nextDescriptor?.options, transitionsAlwaysOn);
|
|
105
105
|
const screenInterpolatorProps = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
106
106
|
"worklet";
|
|
107
107
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","_constants","_keys","_animation","_gesture","_derivations","_worklet","_bounds","_useStack","computeSnapIndex","progress","snapPoints","length","i","t","unwrapInto","s","out","unwrapped","value","closing","entering","animating","gesture","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","meta","useBuildScreenTransitionState","descriptor","key","route","options","useMemo","undefined","plainRoute","toPlainRoute","plainMeta","toPlainValue","AnimationStore","getAnimation","GestureStore","getRouteGestures","createScreenTransitionState","hasTransitionsEnabled","alwaysOn","enableTransitions","_useScreenAnimation","insets","useSafeAreaInsets","dimensions","useWindowDimensions","flags","stackProgress","rootStackProgress","routeKeys","useStack","transitionsAlwaysOn","TRANSITIONS_ALWAYS_ON","current","currentDescriptor","next","nextDescriptor","previous","previousDescriptor","useKeys","currentAnimation","nextAnimation","prevAnimation","currentRouteKey","currentIndex","indexOf","sortedSnapPoints","points","sort","a","b","nextHasTransitions","screenInterpolatorProps","useDerivedValue","DEFAULT_SCREEN_TRANSITION_STATE","helpers","derivations","snapIndex","layouts","screen","nextInterpolator","screenStyleInterpolator","currentInterpolator","useScreenAnimation","props","bounds","createBounds"],"sourceRoot":"../../../../../src","sources":["shared/hooks/animation/use-screen-animation.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AAIA,IAAAK,KAAA,GAAAL,OAAA;AAIA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAOA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AAaA;AACA;AACA;AACA;AACA,MAAMY,gBAAgB,GAAGA,CAACC,QAAgB,EAAEC,UAAoB,KAAa;EAC5E,SAAS;;EACT,IAAIA,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;EACtC,IAAIF,QAAQ,IAAIC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;EACvC,IAAID,QAAQ,IAAIC,UAAU,CAACA,UAAU,CAACC,MAAM,GAAG,CAAC,CAAC,EAChD,OAAOD,UAAU,CAACC,MAAM,GAAG,CAAC;EAE7B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,UAAU,CAACC,MAAM,GAAG,CAAC,EAAEC,CAAC,EAAE,EAAE;IAC/C,IAAIH,QAAQ,IAAIC,UAAU,CAACE,CAAC,GAAG,CAAC,CAAC,EAAE;MAClC,MAAMC,CAAC,GACN,CAACJ,QAAQ,GAAGC,UAAU,CAACE,CAAC,CAAC,KAAKF,UAAU,CAACE,CAAC,GAAG,CAAC,CAAC,GAAGF,UAAU,CAACE,CAAC,CAAC,CAAC;MACjE,OAAOA,CAAC,GAAGC,CAAC;IACb;EACD;EACA,OAAOH,UAAU,CAACC,MAAM,GAAG,CAAC;AAC7B,CAAC;AAED,MAAMG,UAAU,GAAIC,CAAa,IAA4B;EAC5D,SAAS;;EACT,MAAMC,GAAG,GAAGD,CAAC,CAACE,SAAS;EACvBD,GAAG,CAACP,QAAQ,GAAGM,CAAC,CAACN,QAAQ,CAACS,KAAK;EAC/BF,GAAG,CAACG,OAAO,GAAGJ,CAAC,CAACI,OAAO,CAACD,KAAK;EAC7BF,GAAG,CAACI,QAAQ,GAAGL,CAAC,CAACK,QAAQ,CAACF,KAAK;EAC/BF,GAAG,CAACK,SAAS,GAAGN,CAAC,CAACM,SAAS,CAACH,KAAK;EACjCF,GAAG,CAACM,OAAO,CAACC,CAAC,GAAGR,CAAC,CAACO,OAAO,CAACC,CAAC,CAACL,KAAK;EACjCF,GAAG,CAACM,OAAO,CAACE,CAAC,GAAGT,CAAC,CAACO,OAAO,CAACE,CAAC,CAACN,KAAK;EACjCF,GAAG,CAACM,OAAO,CAACG,WAAW,GAAGV,CAAC,CAACO,OAAO,CAACG,WAAW,CAACP,KAAK;EACrDF,GAAG,CAACM,OAAO,CAACI,WAAW,GAAGX,CAAC,CAACO,OAAO,CAACI,WAAW,CAACR,KAAK;EACrDF,GAAG,CAACM,OAAO,CAACK,YAAY,GAAGZ,CAAC,CAACO,OAAO,CAACK,YAAY,CAACT,KAAK;EACvDF,GAAG,CAACM,OAAO,CAACM,UAAU,GAAGb,CAAC,CAACO,OAAO,CAACM,UAAU,CAACV,KAAK;EACnDF,GAAG,CAACM,OAAO,CAACO,SAAS,GAAGd,CAAC,CAACO,OAAO,CAACO,SAAS,CAACX,KAAK;EACjDF,GAAG,CAACc,IAAI,GAAGf,CAAC,CAACe,IAAI;EAEjB,OAAOd,GAAG;AACX,CAAC;AAED,MAAMe,6BAA6B,GAClCC,UAAsC,IACV;EAC5B,MAAMC,GAAG,GAAGD,UAAU,EAAEE,KAAK,EAAED,GAAG;EAClC,MAAMH,IAAI,GAAGE,UAAU,EAAEG,OAAO,EAAEL,IAAI;
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","_constants","_keys","_animation","_gesture","_derivations","_worklet","_bounds","_useStack","computeSnapIndex","progress","snapPoints","length","i","t","unwrapInto","s","out","unwrapped","value","closing","entering","animating","gesture","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","meta","useBuildScreenTransitionState","descriptor","key","route","options","useMemo","undefined","plainRoute","toPlainRoute","plainMeta","toPlainValue","AnimationStore","getAnimation","GestureStore","getRouteGestures","createScreenTransitionState","hasTransitionsEnabled","alwaysOn","enableTransitions","_useScreenAnimation","insets","useSafeAreaInsets","dimensions","useWindowDimensions","flags","stackProgress","rootStackProgress","routeKeys","useStack","transitionsAlwaysOn","TRANSITIONS_ALWAYS_ON","current","currentDescriptor","next","nextDescriptor","previous","previousDescriptor","useKeys","currentAnimation","nextAnimation","prevAnimation","currentRouteKey","currentIndex","indexOf","sortedSnapPoints","points","sort","a","b","nextRouteKey","nextHasTransitions","screenInterpolatorProps","useDerivedValue","DEFAULT_SCREEN_TRANSITION_STATE","helpers","derivations","snapIndex","layouts","screen","nextInterpolator","screenStyleInterpolator","currentInterpolator","useScreenAnimation","props","bounds","createBounds"],"sourceRoot":"../../../../../src","sources":["shared/hooks/animation/use-screen-animation.tsx"],"mappings":"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","ignoreList":[]}
|