react-native-screen-transitions 3.3.0-rc.1 → 3.3.0-rc.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.
- 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/components/native-screen.js +21 -3
- package/lib/commonjs/shared/components/native-screen.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/managed.provider.js +27 -12
- package/lib/commonjs/shared/providers/stack/managed.provider.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/components/native-screen.js +21 -3
- package/lib/module/shared/components/native-screen.js.map +1 -1
- package/lib/module/shared/providers/stack/managed.provider.js +27 -12
- package/lib/module/shared/providers/stack/managed.provider.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/components/native-screen.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/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/components/native-screen.tsx +32 -3
- package/src/shared/providers/stack/managed.provider.tsx +56 -27
- 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":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA+B,IAAAG,KAAA,GAAAF,MAAA;AAE/B,IAAAG,QAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAKA,IAAAS,gBAAA,GAAAT,OAAA;AAAqD,IAAAU,WAAA,GAAAV,OAAA;AAAA,SAAAE,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,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;AAMrD,MAAMkB,SAAS,gBAAG3B,KAAK,CAAC4B,IAAI,CAAC,SAASD,SAASA,CAAC;EAC/CE;AACe,CAAC,EAAE;EAClB,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAGH,UAAU;EAEhD,oBACC,IAAAtB,WAAA,CAAA0B,GAAA,EAACrC,OAAA,CAAAsC,iBAAiB,CAACC,QAAQ;IAACC,KAAK,EAAEL,UAAW;IAAAM,QAAA,eAC7C,IAAA9B,WAAA,CAAA+B,IAAA,EAAC1C,OAAA,CAAA2C,sBAAsB,CAACJ,QAAQ;MAACC,KAAK,EAAEN,KAAM;MAAAO,QAAA,GAC5CR,UAAU,CAACW,OAAO,CAACC,WAAW,KAAK,QAAQ,iBAAI,IAAAlC,WAAA,CAAA0B,GAAA,EAAChC,QAAA,CAAAyC,OAAO,CAACC,MAAM,IAAE,CAAC,EACjEX,MAAM,CAAC,CAAC;IAAA,CACuB;EAAC,CACP,CAAC;AAE/B,CAAC,CAAC;AAEK,MAAMY,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,mBAAa,EACrC;EAAEC,qBAAqB,EAAE,IAAI;EAAEC,UAAU,EAAEC,gBAAS,CAACC;AAAU,CAAC,EAChE,IAAAC,yBAAgB,EACf,CAAC;EAAEC,MAAM;EAAEC;AAAuB,CAAC,KAAK;EACvC,oBACC,IAAA9C,WAAA,CAAA+B,IAAA,EAACxC,MAAA,CAAAwD,QAAQ;IAAAjB,QAAA,GACPgB,sBAAsB,gBAAG,IAAA9C,WAAA,CAAA0B,GAAA,EAAChC,QAAA,CAAAyC,OAAO,CAACa,KAAK,IAAE,CAAC,GAAG,IAAI,EAEjDH,MAAM,CAACI,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;MAClC,MAAM7B,UAAU,GAAG4B,KAAK,CAAC5B,UAAU;MACnC,MAAMC,KAAK,GAAG2B,KAAK,CAAC3B,KAAK;MAEzB,MAAM6B,kBAAkB,GACvBP,MAAM,CAACM,UAAU,GAAG,CAAC,CAAC,EAAE7B,UAAU,IAAI+B,SAAS;MAChD,MAAMC,cAAc,GACnBT,MAAM,CAACM,UAAU,GAAG,CAAC,CAAC,EAAE7B,UAAU,IAAI+B,SAAS;MAEhD,oBACC,IAAArD,WAAA,CAAA0B,GAAA,EAAC3B,gBAAA,CAAAwD,eAAe;QAAiBC,QAAQ,EAAEjC,KAAK,CAACkC,GAAI;QAAA3B,QAAA,eACpD,IAAA9B,WAAA,CAAA0B,GAAA,EAAC/B,eAAA,CAAA+D,cAAc;UACdC,QAAQ,EAAEP,kBAAmB;UAC7BQ,OAAO,EAAEtC,UAAW;UACpBuC,IAAI,EAAEP,cAAe;UAAAxB,QAAA,eAErB,IAAA9B,WAAA,CAAA0B,GAAA,EAACN,SAAS;YAAiBE,UAAU,EAAEA;UAAW,GAAlCC,KAAK,CAACkC,GAA8B;QAAC,CACtC;MAAC,GAPIlC,KAAK,CAACkC,GAQX,CAAC;IAEpB,CAAC,CAAC;EAAA,CACO,CAAC;AAEb,CACD,CACD,CAAC","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":[]}
|
|
@@ -12,7 +12,6 @@ var _useStack = require("../../hooks/navigation/use-stack");
|
|
|
12
12
|
var _animation = require("../../stores/animation.store");
|
|
13
13
|
var _history = require("../../stores/history.store");
|
|
14
14
|
var _core = require("./core.provider");
|
|
15
|
-
var _activeScreensLimit = require("./helpers/active-screens-limit");
|
|
16
15
|
var _useLocalRoutes = require("./helpers/use-local-routes");
|
|
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); }
|
|
@@ -47,27 +46,44 @@ function useManagedStackValue(props) {
|
|
|
47
46
|
scenes,
|
|
48
47
|
activeScreensLimit,
|
|
49
48
|
shouldShowFloatOverlay,
|
|
50
|
-
routeKeys
|
|
49
|
+
routeKeys,
|
|
50
|
+
backdropBehaviors
|
|
51
51
|
} = (0, _react.useMemo)(() => {
|
|
52
|
+
const routes = state.routes;
|
|
52
53
|
const scenes = [];
|
|
53
54
|
const routeKeys = [];
|
|
55
|
+
const backdropBehaviors = [];
|
|
54
56
|
let shouldShowFloatOverlay = false;
|
|
55
|
-
|
|
57
|
+
let limit = 1;
|
|
58
|
+
let stopLimit = false;
|
|
59
|
+
for (let i = routes.length - 1; i >= 0; i--) {
|
|
60
|
+
const route = routes[i];
|
|
56
61
|
const descriptor = state.descriptors[route.key];
|
|
57
|
-
|
|
62
|
+
const options = descriptor?.options;
|
|
63
|
+
scenes[i] = {
|
|
58
64
|
route,
|
|
59
65
|
descriptor
|
|
60
|
-
}
|
|
61
|
-
routeKeys
|
|
66
|
+
};
|
|
67
|
+
routeKeys[i] = route.key;
|
|
68
|
+
backdropBehaviors[i] = options?.backdropBehavior ?? "block";
|
|
62
69
|
if (!shouldShowFloatOverlay) {
|
|
63
|
-
const options = descriptor?.options;
|
|
64
70
|
shouldShowFloatOverlay = options?.overlayMode === "float" && options?.overlayShown === true;
|
|
65
71
|
}
|
|
72
|
+
if (!stopLimit) {
|
|
73
|
+
const shouldKeepPrevious = options?.detachPreviousScreen !== true;
|
|
74
|
+
if (shouldKeepPrevious) {
|
|
75
|
+
limit += 1;
|
|
76
|
+
} else {
|
|
77
|
+
stopLimit = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
66
80
|
}
|
|
81
|
+
const activeScreensLimit = Math.min(limit, routes.length === 0 ? 1 : routes.length);
|
|
67
82
|
return {
|
|
68
83
|
scenes,
|
|
69
84
|
routeKeys,
|
|
70
|
-
|
|
85
|
+
backdropBehaviors,
|
|
86
|
+
activeScreensLimit,
|
|
71
87
|
shouldShowFloatOverlay
|
|
72
88
|
};
|
|
73
89
|
}, [state.routes, state.descriptors]);
|
|
@@ -101,8 +117,6 @@ function useManagedStackValue(props) {
|
|
|
101
117
|
return currentIndex - Number(isAnyClosing);
|
|
102
118
|
});
|
|
103
119
|
const focusedIndex = props.state.index;
|
|
104
|
-
|
|
105
|
-
// StackContext value - for overlays via useStack()
|
|
106
120
|
const stackContextValue = (0, _react.useMemo)(() => ({
|
|
107
121
|
flags,
|
|
108
122
|
routeKeys,
|
|
@@ -125,8 +139,9 @@ function useManagedStackValue(props) {
|
|
|
125
139
|
scenes,
|
|
126
140
|
shouldShowFloatOverlay,
|
|
127
141
|
stackProgress,
|
|
128
|
-
optimisticFocusedIndex
|
|
129
|
-
|
|
142
|
+
optimisticFocusedIndex,
|
|
143
|
+
backdropBehaviors
|
|
144
|
+
}), [state.routes, state.descriptors, focusedIndex, closingRouteKeys.shared, activeScreensLimit, handleCloseRoute, scenes, shouldShowFloatOverlay, stackProgress, optimisticFocusedIndex, backdropBehaviors]);
|
|
130
145
|
return {
|
|
131
146
|
...lifecycleValue,
|
|
132
147
|
stackContextValue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNativeReanimated","_useStack","_animation","_history","_core","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNativeReanimated","_useStack","_animation","_history","_core","_useLocalRoutes","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ManagedStackContext","createContext","displayName","useManagedStackContext","context","useContext","Error","useManagedStackValue","props","flags","useStackCoreContext","state","handleCloseRoute","closingRouteKeys","useLocalRoutes","scenes","activeScreensLimit","shouldShowFloatOverlay","routeKeys","backdropBehaviors","useMemo","routes","limit","stopLimit","length","route","descriptor","descriptors","key","options","backdropBehavior","overlayMode","overlayShown","shouldKeepPrevious","detachPreviousScreen","Math","min","animationMaps","map","AnimationStore","getAll","stackProgress","useDerivedValue","total","progress","value","optimisticFocusedIndex","currentIndex","isAnyClosing","closing","Number","focusedIndex","index","stackContextValue","lifecycleValue","closingRouteKeysShared","shared","withManagedStack","Component","ManagedStackProvider","navigatorKey","useEffect","HistoryStore","clearNavigator","jsx","StackContext","Provider","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/managed.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet } from "react-native";
|
|
4
|
+
import Animated, { useAnimatedProps, useAnimatedRef } from "react-native-reanimated";
|
|
5
|
+
import { LayoutAnchorProvider } from "../../shared/providers/layout-anchor.provider";
|
|
6
|
+
import { AnimationStore } from "../../shared/stores/animation.store";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const POINT_NONE = "none";
|
|
9
|
+
const POINT_BOX_NONE = "box-none";
|
|
10
|
+
export const ComponentScreen = ({
|
|
11
|
+
routeKey,
|
|
12
|
+
children
|
|
13
|
+
}) => {
|
|
14
|
+
const sceneClosing = AnimationStore.getAnimation(routeKey, "closing");
|
|
15
|
+
const screenRef = useAnimatedRef();
|
|
16
|
+
const animatedProps = useAnimatedProps(() => {
|
|
17
|
+
return {
|
|
18
|
+
pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
const ComponentScreenComponent = Animated.View;
|
|
22
|
+
return /*#__PURE__*/_jsx(ComponentScreenComponent, {
|
|
23
|
+
ref: screenRef,
|
|
24
|
+
style: StyleSheet.absoluteFill,
|
|
25
|
+
animatedProps: animatedProps,
|
|
26
|
+
children: /*#__PURE__*/_jsx(LayoutAnchorProvider, {
|
|
27
|
+
anchorRef: screenRef,
|
|
28
|
+
children: children
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=component-screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","Animated","useAnimatedProps","useAnimatedRef","LayoutAnchorProvider","AnimationStore","jsx","_jsx","POINT_NONE","POINT_BOX_NONE","ComponentScreen","routeKey","children","sceneClosing","getAnimation","screenRef","animatedProps","pointerEvents","get","ComponentScreenComponent","View","ref","style","absoluteFill","anchorRef"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen.tsx"],"mappings":";;AACA,SAASA,UAAU,QAAmB,cAAc;AACpD,OAAOC,QAAQ,IACdC,gBAAgB,EAChBC,cAAc,QACR,yBAAyB;AAChC,SAASC,oBAAoB,QAAQ,+CAA+C;AACpF,SAASC,cAAc,QAAQ,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMrE,MAAMC,UAAU,GAAG,MAAe;AAClC,MAAMC,cAAc,GAAG,UAAmB;AAE1C,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAsB,CAAC,KAAK;EACvE,MAAMC,YAAY,GAAGR,cAAc,CAACS,YAAY,CAACH,QAAQ,EAAE,SAAS,CAAC;EACrE,MAAMI,SAAS,GAAGZ,cAAc,CAAO,CAAC;EAExC,MAAMa,aAAa,GAAGd,gBAAgB,CAAC,MAAM;IAC5C,OAAO;MACNe,aAAa,EAAEJ,YAAY,CAACK,GAAG,CAAC,CAAC,GAAGV,UAAU,GAAGC;IAClD,CAAC;EACF,CAAC,CAAC;EAEF,MAAMU,wBAAwB,GAAGlB,QAAQ,CAACmB,IAAI;EAE9C,oBACCb,IAAA,CAACY,wBAAwB;IACxBE,GAAG,EAAEN,SAAU;IACfO,KAAK,EAAEtB,UAAU,CAACuB,YAAa;IAC/BP,aAAa,EAAEA,aAAc;IAAAJ,QAAA,eAE7BL,IAAA,CAACH,oBAAoB;MAACoB,SAAS,EAAET,SAAU;MAAAH,QAAA,EACzCA;IAAQ,CACY;EAAC,CACE,CAAC;AAE7B,CAAC","ignoreList":[]}
|
|
@@ -3,17 +3,13 @@
|
|
|
3
3
|
import { NavigationContext, NavigationRouteContext } from "@react-navigation/native";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { Fragment } from "react";
|
|
6
|
-
import { NativeScreen } from "../../shared/components/native-screen";
|
|
7
|
-
import { NativeScreenContainer } from "../../shared/components/native-screen-container";
|
|
8
6
|
import { Overlay } from "../../shared/components/overlay";
|
|
9
7
|
import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
|
|
10
8
|
import { withStackCore } from "../../shared/providers/stack/core.provider";
|
|
11
9
|
import { withManagedStack } from "../../shared/providers/stack/managed.provider";
|
|
12
10
|
import { StackType } from "../../shared/types/stack.types";
|
|
11
|
+
import { ComponentScreen } from "./component-screen";
|
|
13
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
function isFabric() {
|
|
15
|
-
return "nativeFabricUIManager" in global;
|
|
16
|
-
}
|
|
17
13
|
const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
18
14
|
descriptor
|
|
19
15
|
}) {
|
|
@@ -32,41 +28,28 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
|
32
28
|
});
|
|
33
29
|
export const StackView = withStackCore({
|
|
34
30
|
TRANSITIONS_ALWAYS_ON: true,
|
|
35
|
-
STACK_TYPE: StackType.COMPONENT
|
|
36
|
-
DISABLE_NATIVE_SCREENS: true
|
|
31
|
+
STACK_TYPE: StackType.COMPONENT
|
|
37
32
|
}, withManagedStack(({
|
|
38
|
-
descriptors,
|
|
39
|
-
focusedIndex,
|
|
40
33
|
scenes,
|
|
41
34
|
shouldShowFloatOverlay
|
|
42
35
|
}) => {
|
|
43
36
|
return /*#__PURE__*/_jsxs(Fragment, {
|
|
44
|
-
children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
children: /*#__PURE__*/_jsx(ScreenComposer, {
|
|
61
|
-
previous: previousDescriptor,
|
|
62
|
-
current: descriptor,
|
|
63
|
-
next: nextDescriptor,
|
|
64
|
-
children: /*#__PURE__*/_jsx(SceneView, {
|
|
65
|
-
descriptor: descriptor
|
|
66
|
-
}, route.key)
|
|
67
|
-
})
|
|
68
|
-
}, route.key);
|
|
69
|
-
})
|
|
37
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, scenes.map((scene, sceneIndex) => {
|
|
38
|
+
const descriptor = scene.descriptor;
|
|
39
|
+
const route = scene.route;
|
|
40
|
+
const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
|
|
41
|
+
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
|
|
42
|
+
return /*#__PURE__*/_jsx(ComponentScreen, {
|
|
43
|
+
routeKey: route.key,
|
|
44
|
+
children: /*#__PURE__*/_jsx(ScreenComposer, {
|
|
45
|
+
previous: previousDescriptor,
|
|
46
|
+
current: descriptor,
|
|
47
|
+
next: nextDescriptor,
|
|
48
|
+
children: /*#__PURE__*/_jsx(SceneView, {
|
|
49
|
+
descriptor: descriptor
|
|
50
|
+
}, route.key)
|
|
51
|
+
})
|
|
52
|
+
}, route.key);
|
|
70
53
|
})]
|
|
71
54
|
});
|
|
72
55
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","
|
|
1
|
+
{"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","Overlay","ScreenComposer","withStackCore","withManagedStack","StackType","ComponentScreen","jsx","_jsx","jsxs","_jsxs","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","Screen","StackView","TRANSITIONS_ALWAYS_ON","STACK_TYPE","COMPONENT","scenes","shouldShowFloatOverlay","Float","map","scene","sceneIndex","previousDescriptor","undefined","nextDescriptor","routeKey","key","previous","current","next"],"sourceRoot":"../../../../src","sources":["component-stack/components/stack-view.tsx"],"mappings":";;AAAA,SACCA,iBAAiB,EACjBC,sBAAsB,QAChB,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,OAAO;AAChC,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,aAAa,QAAQ,4CAA4C;AAC1E,SAASC,gBAAgB,QAAQ,+CAA+C;AAChF,SAASC,SAAS,QAAQ,gCAAgC;AAK1D,SAASC,eAAe,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMrD,MAAMC,SAAS,gBAAGZ,KAAK,CAACa,IAAI,CAAC,SAASD,SAASA,CAAC;EAC/CE;AACe,CAAC,EAAE;EAClB,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAGH,UAAU;EAEhD,oBACCL,IAAA,CAACX,iBAAiB,CAACoB,QAAQ;IAACC,KAAK,EAAEH,UAAW;IAAAI,QAAA,eAC7CT,KAAA,CAACZ,sBAAsB,CAACmB,QAAQ;MAACC,KAAK,EAAEJ,KAAM;MAAAK,QAAA,GAC5CN,UAAU,CAACO,OAAO,CAACC,WAAW,KAAK,QAAQ,iBAAIb,IAAA,CAACP,OAAO,CAACqB,MAAM,IAAE,CAAC,EACjEN,MAAM,CAAC,CAAC;IAAA,CACuB;EAAC,CACP,CAAC;AAE/B,CAAC,CAAC;AAEF,OAAO,MAAMO,SAAS,GAAGpB,aAAa,CACrC;EAAEqB,qBAAqB,EAAE,IAAI;EAAEC,UAAU,EAAEpB,SAAS,CAACqB;AAAU,CAAC,EAChEtB,gBAAgB,CACf,CAAC;EAAEuB,MAAM;EAAEC;AAAuB,CAAC,KAAK;EACvC,oBACClB,KAAA,CAACV,QAAQ;IAAAmB,QAAA,GACPS,sBAAsB,gBAAGpB,IAAA,CAACP,OAAO,CAAC4B,KAAK,IAAE,CAAC,GAAG,IAAI,EAEjDF,MAAM,CAACG,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;MAClC,MAAMnB,UAAU,GAAGkB,KAAK,CAAClB,UAAU;MACnC,MAAMC,KAAK,GAAGiB,KAAK,CAACjB,KAAK;MAEzB,MAAMmB,kBAAkB,GACvBN,MAAM,CAACK,UAAU,GAAG,CAAC,CAAC,EAAEnB,UAAU,IAAIqB,SAAS;MAChD,MAAMC,cAAc,GACnBR,MAAM,CAACK,UAAU,GAAG,CAAC,CAAC,EAAEnB,UAAU,IAAIqB,SAAS;MAEhD,oBACC1B,IAAA,CAACF,eAAe;QAAiB8B,QAAQ,EAAEtB,KAAK,CAACuB,GAAI;QAAAlB,QAAA,eACpDX,IAAA,CAACN,cAAc;UACdoC,QAAQ,EAAEL,kBAAmB;UAC7BM,OAAO,EAAE1B,UAAW;UACpB2B,IAAI,EAAEL,cAAe;UAAAhB,QAAA,eAErBX,IAAA,CAACG,SAAS;YAAiBE,UAAU,EAAEA;UAAW,GAAlCC,KAAK,CAACuB,GAA8B;QAAC,CACtC;MAAC,GAPIvB,KAAK,CAACuB,GAQX,CAAC;IAEpB,CAAC,CAAC;EAAA,CACO,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ import { LayoutAnchorProvider } from "../providers/layout-anchor.provider";
|
|
|
9
9
|
import { useManagedStackContext } from "../providers/stack/managed.provider";
|
|
10
10
|
import { AnimationStore } from "../stores/animation.store";
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
const PASSTHROUGH = "passthrough";
|
|
12
13
|
var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
|
|
13
14
|
ScreenActivity[ScreenActivity["INACTIVE"] = 0] = "INACTIVE";
|
|
14
15
|
ScreenActivity[ScreenActivity["TRANSITIONING_OR_BELOW_TOP"] = 1] = "TRANSITIONING_OR_BELOW_TOP";
|
|
@@ -33,7 +34,9 @@ export const NativeScreen = ({
|
|
|
33
34
|
} = useStack();
|
|
34
35
|
const {
|
|
35
36
|
activeScreensLimit,
|
|
36
|
-
routes
|
|
37
|
+
routes,
|
|
38
|
+
optimisticFocusedIndex,
|
|
39
|
+
backdropBehaviors
|
|
37
40
|
} = useManagedStackContext();
|
|
38
41
|
const routesLength = routes.length;
|
|
39
42
|
const screenRef = useAnimatedRef();
|
|
@@ -58,15 +61,30 @@ export const NativeScreen = ({
|
|
|
58
61
|
});
|
|
59
62
|
const animatedProps = useAnimatedProps(() => {
|
|
60
63
|
const activity = screenActivity.get();
|
|
64
|
+
const isClosing = sceneClosing.get() > 0;
|
|
65
|
+
const activeIndex = optimisticFocusedIndex.value;
|
|
66
|
+
const isActive = index === activeIndex;
|
|
67
|
+
|
|
68
|
+
// Check if the active screen allows passthrough to the screen below
|
|
69
|
+
const activeBackdrop = backdropBehaviors[activeIndex] ?? "block";
|
|
70
|
+
const activeAllowsPassthrough = activeBackdrop === PASSTHROUGH;
|
|
71
|
+
const isAllowedPassthroughBelow = activeAllowsPassthrough && index === activeIndex - 1;
|
|
72
|
+
|
|
73
|
+
// Determine pointer events:
|
|
74
|
+
// - "none" if closing (immediately disable touches)
|
|
75
|
+
// - "box-none" if this is the active screen
|
|
76
|
+
// - "box-none" if the active screen allows passthrough and we're immediately below
|
|
77
|
+
// - "none" otherwise (block touches to non-active screens)
|
|
78
|
+
const pointerEvents = isClosing || !isActive && !isAllowedPassthroughBelow ? POINT_NONE : POINT_BOX_NONE;
|
|
61
79
|
if (!DISABLE_NATIVE_SCREENS) {
|
|
62
80
|
return {
|
|
63
81
|
activityState: activity,
|
|
64
82
|
shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
|
|
65
|
-
pointerEvents
|
|
83
|
+
pointerEvents
|
|
66
84
|
};
|
|
67
85
|
}
|
|
68
86
|
return {
|
|
69
|
-
pointerEvents
|
|
87
|
+
pointerEvents
|
|
70
88
|
};
|
|
71
89
|
});
|
|
72
90
|
const NativeScreenComponent = !DISABLE_NATIVE_SCREENS ? AnimatedNativeScreen : Animated.View;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","Animated","Extrapolation","interpolate","useAnimatedProps","useAnimatedRef","useDerivedValue","useSharedValue","Screen","RNSScreen","EPSILON","useStack","LayoutAnchorProvider","useManagedStackContext","AnimationStore","jsx","_jsx","ScreenActivity","POINT_NONE","POINT_BOX_NONE","AnimatedNativeScreen","createAnimatedComponent","NativeScreen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","flags","DISABLE_NATIVE_SCREENS","activeScreensLimit","routes","routesLength","length","screenRef","sceneProgress","getAnimation","sceneClosing","screenActivity","TRANSITIONING_OR_BELOW_TOP","set","INACTIVE","outputValue","ON_TOP","v","get","CLAMP","next","Math","trunc","animatedProps","activity","
|
|
1
|
+
{"version":3,"names":["StyleSheet","Animated","Extrapolation","interpolate","useAnimatedProps","useAnimatedRef","useDerivedValue","useSharedValue","Screen","RNSScreen","EPSILON","useStack","LayoutAnchorProvider","useManagedStackContext","AnimationStore","jsx","_jsx","PASSTHROUGH","ScreenActivity","POINT_NONE","POINT_BOX_NONE","AnimatedNativeScreen","createAnimatedComponent","NativeScreen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","flags","DISABLE_NATIVE_SCREENS","activeScreensLimit","routes","optimisticFocusedIndex","backdropBehaviors","routesLength","length","screenRef","sceneProgress","getAnimation","sceneClosing","screenActivity","TRANSITIONING_OR_BELOW_TOP","set","INACTIVE","outputValue","ON_TOP","v","get","CLAMP","next","Math","trunc","animatedProps","activity","isClosing","activeIndex","value","isActive","activeBackdrop","activeAllowsPassthrough","isAllowedPassthroughBelow","pointerEvents","activityState","NativeScreenComponent","View","enabled","ref","style","absoluteFill","anchorRef"],"sourceRoot":"../../../../src","sources":["shared/components/native-screen.tsx"],"mappings":"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","ignoreList":[]}
|