react-native-screen-transitions 3.0.0-rc.3 → 3.0.0-rc.5
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/blank-stack/components/screens.js +22 -13
- package/lib/commonjs/blank-stack/components/screens.js.map +1 -1
- package/lib/commonjs/blank-stack/components/stack-view.js +42 -39
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js +11 -10
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.native.js +110 -103
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js +72 -0
- package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js +81 -0
- package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +11 -1
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +11 -6
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +7 -7
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/commonjs/shared/providers/gestures.provider.js +36 -20
- package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/register-bounds.provider.js +4 -3
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/routes.provider.js +48 -0
- package/lib/commonjs/shared/providers/routes.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/screen-transition.provider.js.map +1 -1
- package/lib/commonjs/shared/types/state.types.js +9 -0
- package/lib/commonjs/shared/types/state.types.js.map +1 -0
- package/lib/commonjs/shared/utils/animation/compute-stack-progress.js +20 -0
- package/lib/commonjs/shared/utils/animation/compute-stack-progress.js.map +1 -0
- package/lib/commonjs/shared/utils/animation/derivations.js +1 -1
- package/lib/commonjs/shared/utils/animation/start-screen-transition.js +11 -11
- package/lib/commonjs/shared/utils/animation/start-screen-transition.js.map +1 -1
- package/lib/module/blank-stack/components/screens.js +22 -13
- package/lib/module/blank-stack/components/screens.js.map +1 -1
- package/lib/module/blank-stack/components/stack-view.js +42 -39
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/index.js +11 -10
- package/lib/module/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.native.js +109 -102
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/components/controllers/blank-stack-lifecycle.js +66 -0
- package/lib/module/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
- package/lib/module/shared/components/controllers/native-stack-lifecycle.js +74 -0
- package/lib/module/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
- package/lib/module/shared/hooks/animation/use-screen-animation.js +11 -1
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +11 -6
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js +7 -7
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/module/shared/providers/gestures.provider.js +36 -21
- package/lib/module/shared/providers/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/register-bounds.provider.js +4 -3
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/module/shared/providers/routes.provider.js +42 -0
- package/lib/module/shared/providers/routes.provider.js.map +1 -0
- package/lib/module/shared/providers/screen-transition.provider.js.map +1 -1
- package/lib/module/shared/types/state.types.js +5 -0
- package/lib/module/shared/types/state.types.js.map +1 -0
- package/lib/module/shared/utils/animation/compute-stack-progress.js +15 -0
- package/lib/module/shared/utils/animation/compute-stack-progress.js.map +1 -0
- package/lib/module/shared/utils/animation/derivations.js +1 -1
- package/lib/module/shared/utils/animation/start-screen-transition.js +11 -11
- package/lib/module/shared/utils/animation/start-screen-transition.js.map +1 -1
- package/lib/typescript/blank-stack/components/screens.d.ts +1 -3
- package/lib/typescript/blank-stack/components/screens.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/types.d.ts +1 -39
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts +8 -0
- package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts +8 -0
- package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +2 -2
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/shared/providers/gestures.provider.d.ts +10 -7
- package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/routes.provider.d.ts +19 -0
- package/lib/typescript/shared/providers/routes.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen-transition.provider.d.ts +2 -2
- package/lib/typescript/shared/providers/screen-transition.provider.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +12 -0
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/state.types.d.ts +3 -0
- package/lib/typescript/shared/types/state.types.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts +3 -0
- package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/blank-stack/components/screens.tsx +25 -19
- package/src/blank-stack/components/stack-view.tsx +57 -53
- package/src/blank-stack/types.ts +1 -24
- package/src/blank-stack/utils/with-stack-navigation/index.tsx +17 -3
- package/src/native-stack/views/NativeStackView.native.tsx +121 -112
- package/src/shared/__tests__/bounds.store.test.ts +14 -36
- package/src/shared/components/controllers/blank-stack-lifecycle.tsx +70 -0
- package/src/shared/components/controllers/native-stack-lifecycle.tsx +89 -0
- package/src/shared/hooks/animation/use-screen-animation.tsx +11 -6
- package/src/shared/hooks/gestures/use-build-gestures.tsx +12 -6
- package/src/shared/hooks/gestures/use-scroll-registry.tsx +7 -7
- package/src/shared/providers/gestures.provider.tsx +49 -48
- package/src/shared/providers/register-bounds.provider.tsx +4 -3
- package/src/shared/providers/routes.provider.tsx +54 -0
- package/src/shared/providers/screen-transition.provider.tsx +2 -2
- package/src/shared/types/animation.types.ts +13 -0
- package/src/shared/types/state.types.ts +2 -0
- package/src/shared/utils/animation/compute-stack-progress.ts +16 -0
- package/src/shared/utils/animation/derivations.ts +1 -1
- package/src/shared/utils/animation/start-screen-transition.ts +13 -10
- package/lib/commonjs/shared/components/controllers/screen-lifecycle.js +0 -142
- package/lib/commonjs/shared/components/controllers/screen-lifecycle.js.map +0 -1
- package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js +0 -28
- package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
- package/lib/module/shared/components/controllers/screen-lifecycle.js +0 -136
- package/lib/module/shared/components/controllers/screen-lifecycle.js.map +0 -1
- package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js +0 -23
- package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
- package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts +0 -12
- package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts +0 -6
- package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts.map +0 -1
- package/src/shared/components/controllers/screen-lifecycle.tsx +0 -154
- package/src/shared/hooks/gestures/use-parent-gesture-registry.tsx +0 -18
|
@@ -8,51 +8,60 @@ var _reactNative = require("react-native");
|
|
|
8
8
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
9
9
|
var _reactNativeScreens = require("react-native-screens");
|
|
10
10
|
var _animation = require("../../shared/stores/animation.store");
|
|
11
|
+
var _withStackNavigation = require("../utils/with-stack-navigation");
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
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); }
|
|
14
|
+
var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
|
|
15
|
+
ScreenActivity[ScreenActivity["INACTIVE"] = 0] = "INACTIVE";
|
|
16
|
+
ScreenActivity[ScreenActivity["TRANSITIONING_OR_BELOW_TOP"] = 1] = "TRANSITIONING_OR_BELOW_TOP";
|
|
17
|
+
ScreenActivity[ScreenActivity["ON_TOP"] = 2] = "ON_TOP";
|
|
18
|
+
return ScreenActivity;
|
|
19
|
+
}(ScreenActivity || {});
|
|
13
20
|
const EPSILON = 1e-5;
|
|
14
|
-
const STATE_INACTIVE = 0;
|
|
15
|
-
const STATE_TRANSITIONING_OR_BELOW_TOP = 1;
|
|
16
|
-
const STATE_ON_TOP = 2;
|
|
17
21
|
const AnimatedScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.Screen);
|
|
18
22
|
const Screen = ({
|
|
19
23
|
routeKey,
|
|
20
24
|
index,
|
|
21
|
-
routesLength,
|
|
22
25
|
isPreloaded,
|
|
23
|
-
activeScreensLimit,
|
|
24
26
|
children,
|
|
25
27
|
freezeOnBlur,
|
|
26
28
|
shouldFreeze
|
|
27
29
|
}) => {
|
|
30
|
+
const {
|
|
31
|
+
activeScreensLimit,
|
|
32
|
+
routes
|
|
33
|
+
} = (0, _withStackNavigation.useStackNavigationContext)();
|
|
34
|
+
const routesLength = routes.length;
|
|
28
35
|
const sceneProgress = _animation.AnimationStore.getAnimation(routeKey, "progress");
|
|
29
|
-
const
|
|
36
|
+
const sceneClosing = _animation.AnimationStore.getAnimation(routeKey, "closing");
|
|
37
|
+
const screenActivity = (0, _reactNativeReanimated.useSharedValue)(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
|
|
30
38
|
(0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
31
39
|
if (!sceneProgress) {
|
|
32
|
-
screenActivity.set(
|
|
40
|
+
screenActivity.set(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
|
|
33
41
|
return;
|
|
34
42
|
}
|
|
35
43
|
if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
|
|
36
|
-
screenActivity.set(
|
|
44
|
+
screenActivity.set(ScreenActivity.INACTIVE);
|
|
37
45
|
} else {
|
|
38
|
-
const outputValue = index === routesLength - 1 ?
|
|
46
|
+
const outputValue = index === routesLength - 1 ? ScreenActivity.ON_TOP : index >= routesLength - activeScreensLimit ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
|
|
39
47
|
const v = (0, _reactNativeReanimated.interpolate)(sceneProgress.get(), [0, 1 - EPSILON, 1], [1, 1, outputValue], "clamp");
|
|
40
|
-
const next = Math.trunc(v) ??
|
|
48
|
+
const next = Math.trunc(v) ?? ScreenActivity.TRANSITIONING_OR_BELOW_TOP;
|
|
41
49
|
if (next !== screenActivity.get()) {
|
|
42
50
|
screenActivity.set(next);
|
|
43
51
|
}
|
|
44
52
|
}
|
|
45
53
|
});
|
|
46
54
|
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
55
|
+
const activity = screenActivity.get();
|
|
47
56
|
return {
|
|
48
|
-
activityState:
|
|
49
|
-
shouldFreeze:
|
|
57
|
+
activityState: activity,
|
|
58
|
+
shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
|
|
59
|
+
pointerEvents: sceneClosing.get() ? "none" : "box-none"
|
|
50
60
|
};
|
|
51
61
|
});
|
|
52
62
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedScreen, {
|
|
53
63
|
enabled: true,
|
|
54
64
|
style: _reactNative.StyleSheet.absoluteFill,
|
|
55
|
-
pointerEvents: "box-none",
|
|
56
65
|
freezeOnBlur: freezeOnBlur,
|
|
57
66
|
animatedProps: animatedProps,
|
|
58
67
|
children: children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_animation","_withStackNavigation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ScreenActivity","EPSILON","AnimatedScreen","Animated","createAnimatedComponent","RNSScreen","Screen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","activeScreensLimit","routes","useStackNavigationContext","routesLength","length","sceneProgress","AnimationStore","getAnimation","sceneClosing","screenActivity","useSharedValue","TRANSITIONING_OR_BELOW_TOP","useDerivedValue","INACTIVE","outputValue","ON_TOP","v","interpolate","next","Math","trunc","animatedProps","useAnimatedProps","activity","activityState","pointerEvents","jsx","enabled","style","StyleSheet","absoluteFill","exports"],"sourceRoot":"../../../../src","sources":["blank-stack/components/screens.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,8 +10,9 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
11
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
12
12
|
var _reactNativeScreens = require("react-native-screens");
|
|
13
|
-
var
|
|
13
|
+
var _blankStackLifecycle = require("../../shared/components/controllers/blank-stack-lifecycle");
|
|
14
14
|
var _flags = require("../../shared/providers/flags.provider");
|
|
15
|
+
var _routes = require("../../shared/providers/routes.provider");
|
|
15
16
|
var _screenTransition = require("../../shared/providers/screen-transition.provider");
|
|
16
17
|
var _withStackNavigation = require("../utils/with-stack-navigation");
|
|
17
18
|
var _overlay = require("./overlay");
|
|
@@ -21,9 +22,9 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
21
22
|
function isFabric() {
|
|
22
23
|
return "nativeFabricUIManager" in global;
|
|
23
24
|
}
|
|
24
|
-
const SceneView = /*#__PURE__*/React.memo(({
|
|
25
|
+
const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
25
26
|
descriptor
|
|
26
|
-
})
|
|
27
|
+
}) {
|
|
27
28
|
const {
|
|
28
29
|
route,
|
|
29
30
|
navigation,
|
|
@@ -38,51 +39,53 @@ const SceneView = /*#__PURE__*/React.memo(({
|
|
|
38
39
|
});
|
|
39
40
|
});
|
|
40
41
|
const StackView = exports.StackView = (0, _withStackNavigation.withStackNavigationProvider)(({
|
|
41
|
-
activeScreensLimit,
|
|
42
42
|
descriptors,
|
|
43
43
|
focusedIndex,
|
|
44
44
|
routes,
|
|
45
45
|
scenes,
|
|
46
46
|
shouldShowFloatOverlay
|
|
47
47
|
}) => {
|
|
48
|
+
// Memoize route keys array for ScenesProvider
|
|
49
|
+
const routeKeys = React.useMemo(() => routes.map(route => route.key), [routes]);
|
|
48
50
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_flags.FlagsProvider, {
|
|
49
51
|
TRANSITIONS_ALWAYS_ON: true,
|
|
50
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
children:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
52
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_routes.RoutesProvider, {
|
|
53
|
+
routeKeys: routeKeys,
|
|
54
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView, {
|
|
55
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_elements.SafeAreaProviderCompat, {
|
|
56
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenContainer, {
|
|
57
|
+
style: styles.container,
|
|
58
|
+
children: scenes.map((scene, sceneIndex) => {
|
|
59
|
+
const descriptor = scene.descriptor;
|
|
60
|
+
const route = scene.route;
|
|
61
|
+
const isFocused = focusedIndex === sceneIndex;
|
|
62
|
+
const isBelowFocused = focusedIndex - 1 === sceneIndex;
|
|
63
|
+
const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
|
|
64
|
+
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
|
|
65
|
+
const isPreloaded = descriptors[route.key] === undefined;
|
|
62
66
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
})]
|
|
67
|
+
// On Fabric, when screen is frozen, animated and reanimated values are not updated
|
|
68
|
+
// due to component being unmounted. To avoid this, we don't freeze the previous screen there
|
|
69
|
+
const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
|
|
70
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_screens.Screen, {
|
|
71
|
+
isPreloaded: isPreloaded,
|
|
72
|
+
index: sceneIndex,
|
|
73
|
+
routeKey: route.key,
|
|
74
|
+
shouldFreeze: shouldFreeze,
|
|
75
|
+
freezeOnBlur: descriptor.options.freezeOnBlur,
|
|
76
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenTransition.ScreenTransitionProvider, {
|
|
77
|
+
previous: previousDescriptor,
|
|
78
|
+
current: descriptor,
|
|
79
|
+
next: nextDescriptor,
|
|
80
|
+
LifecycleController: _blankStackLifecycle.BlankStackScreenLifecycleController,
|
|
81
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
|
|
82
|
+
descriptor: descriptor
|
|
83
|
+
}, route.key)
|
|
84
|
+
})
|
|
85
|
+
}, route.key);
|
|
86
|
+
})
|
|
87
|
+
})]
|
|
88
|
+
})
|
|
86
89
|
})
|
|
87
90
|
})
|
|
88
91
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_elements","require","_native","React","_interopRequireWildcard","_reactNative","_reactNativeGestureHandler","_reactNativeScreens","
|
|
1
|
+
{"version":3,"names":["_elements","require","_native","React","_interopRequireWildcard","_reactNative","_reactNativeGestureHandler","_reactNativeScreens","_blankStackLifecycle","_flags","_routes","_screenTransition","_withStackNavigation","_overlay","_screens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isFabric","global","SceneView","memo","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","overlayMode","Overlay","Screen","StackView","exports","withStackNavigationProvider","descriptors","focusedIndex","routes","scenes","shouldShowFloatOverlay","routeKeys","useMemo","map","key","FlagsProvider","TRANSITIONS_ALWAYS_ON","RoutesProvider","GestureHandlerRootView","SafeAreaProviderCompat","Float","ScreenContainer","style","styles","container","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","shouldFreeze","index","routeKey","freezeOnBlur","ScreenTransitionProvider","previous","current","next","LifecycleController","BlankStackScreenLifecycleController","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -42,17 +42,18 @@ const {
|
|
|
42
42
|
shouldShowFloatOverlay
|
|
43
43
|
};
|
|
44
44
|
}, [state.routes, state.descriptors]);
|
|
45
|
+
const value = (0, _react.useMemo)(() => ({
|
|
46
|
+
routes: state.routes,
|
|
47
|
+
focusedIndex: props.state.index,
|
|
48
|
+
descriptors: state.descriptors,
|
|
49
|
+
closingRouteKeysShared: closingRouteKeys.shared,
|
|
50
|
+
activeScreensLimit,
|
|
51
|
+
handleCloseRoute,
|
|
52
|
+
scenes,
|
|
53
|
+
shouldShowFloatOverlay
|
|
54
|
+
}), [state.routes, state.descriptors, props.state.index, closingRouteKeys.shared, activeScreensLimit, handleCloseRoute, scenes, shouldShowFloatOverlay]);
|
|
45
55
|
return {
|
|
46
|
-
value
|
|
47
|
-
routes: state.routes,
|
|
48
|
-
focusedIndex: props.state.index,
|
|
49
|
-
descriptors: state.descriptors,
|
|
50
|
-
closingRouteKeysShared: closingRouteKeys.shared,
|
|
51
|
-
activeScreensLimit,
|
|
52
|
-
handleCloseRoute,
|
|
53
|
-
scenes,
|
|
54
|
-
shouldShowFloatOverlay
|
|
55
|
-
}
|
|
56
|
+
value
|
|
56
57
|
};
|
|
57
58
|
});
|
|
58
59
|
exports.useStackNavigationContext = useStackNavigationContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_createProvider","_interopRequireDefault","_calculateActiveScreensLimit","_useStackNavigationState","e","__esModule","default","withStackNavigationProvider","useStackNavigationContext","createProvider","props","state","handleCloseRoute","closingRouteKeys","useStackNavigationState","scenes","activeScreensLimit","shouldShowFloatOverlay","useMemo","route","routes","descriptor","descriptors","key","push","options","overlayMode","overlayShown","calculateActiveScreensLimit","value","focusedIndex","index","closingRouteKeysShared","shared","exports"],"sourceRoot":"../../../../../src","sources":["blank-stack/utils/with-stack-navigation/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,4BAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AAA6E,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM7E,MAAM;EAAEG,2BAA2B;EAAEC;AAA0B,CAAC,GAC/D,IAAAC,uBAAc,EAAC,iBAAiB,CAAC,CAG9BC,KAAK,IAAK;EACZ,MAAM;IAAEC,KAAK;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAClD,IAAAC,gDAAuB,EAACJ,KAAK,CAAC;EAE/B,MAAM;IAAEK,MAAM;IAAEC,kBAAkB;IAAEC;EAAuB,CAAC,GAC3D,IAAAC,cAAO,EAAC,MAAM;IACb,MAAMH,MAAyB,GAAG,EAAE;IACpC,IAAIE,sBAAsB,GAAG,KAAK;IAElC,KAAK,MAAME,KAAK,IAAIR,KAAK,CAACS,MAAM,EAAE;MACjC,MAAMC,UAAU,GAAGV,KAAK,CAACW,WAAW,CAACH,KAAK,CAACI,GAAG,CAAC;MAC/CR,MAAM,CAACS,IAAI,CAAC;QAAEL,KAAK;QAAEE;MAAW,CAAC,CAAC;MAElC,IAAI,CAACJ,sBAAsB,EAAE;QAC5B,MAAMQ,OAAO,GAAGJ,UAAU,EAAEI,OAAO;QACnCR,sBAAsB,GACrBQ,OAAO,EAAEC,WAAW,KAAK,OAAO,IAChCD,OAAO,EAAEE,YAAY,KAAK,IAAI;MAChC;IACD;IAEA,OAAO;MACNZ,MAAM;MACNC,kBAAkB,EAAE,IAAAY,wDAA2B,EAC9CjB,KAAK,CAACS,MAAM,EACZT,KAAK,CAACW,WACP,CAAC;MACDL;IACD,CAAC;EACF,CAAC,EAAE,CAACN,KAAK,CAACS,MAAM,EAAET,KAAK,CAACW,WAAW,CAAC,CAAC;EAEtC,
|
|
1
|
+
{"version":3,"names":["_react","require","_createProvider","_interopRequireDefault","_calculateActiveScreensLimit","_useStackNavigationState","e","__esModule","default","withStackNavigationProvider","useStackNavigationContext","createProvider","props","state","handleCloseRoute","closingRouteKeys","useStackNavigationState","scenes","activeScreensLimit","shouldShowFloatOverlay","useMemo","route","routes","descriptor","descriptors","key","push","options","overlayMode","overlayShown","calculateActiveScreensLimit","value","focusedIndex","index","closingRouteKeysShared","shared","exports"],"sourceRoot":"../../../../../src","sources":["blank-stack/utils/with-stack-navigation/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,4BAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AAA6E,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM7E,MAAM;EAAEG,2BAA2B;EAAEC;AAA0B,CAAC,GAC/D,IAAAC,uBAAc,EAAC,iBAAiB,CAAC,CAG9BC,KAAK,IAAK;EACZ,MAAM;IAAEC,KAAK;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAClD,IAAAC,gDAAuB,EAACJ,KAAK,CAAC;EAE/B,MAAM;IAAEK,MAAM;IAAEC,kBAAkB;IAAEC;EAAuB,CAAC,GAC3D,IAAAC,cAAO,EAAC,MAAM;IACb,MAAMH,MAAyB,GAAG,EAAE;IACpC,IAAIE,sBAAsB,GAAG,KAAK;IAElC,KAAK,MAAME,KAAK,IAAIR,KAAK,CAACS,MAAM,EAAE;MACjC,MAAMC,UAAU,GAAGV,KAAK,CAACW,WAAW,CAACH,KAAK,CAACI,GAAG,CAAC;MAC/CR,MAAM,CAACS,IAAI,CAAC;QAAEL,KAAK;QAAEE;MAAW,CAAC,CAAC;MAElC,IAAI,CAACJ,sBAAsB,EAAE;QAC5B,MAAMQ,OAAO,GAAGJ,UAAU,EAAEI,OAAO;QACnCR,sBAAsB,GACrBQ,OAAO,EAAEC,WAAW,KAAK,OAAO,IAChCD,OAAO,EAAEE,YAAY,KAAK,IAAI;MAChC;IACD;IAEA,OAAO;MACNZ,MAAM;MACNC,kBAAkB,EAAE,IAAAY,wDAA2B,EAC9CjB,KAAK,CAACS,MAAM,EACZT,KAAK,CAACW,WACP,CAAC;MACDL;IACD,CAAC;EACF,CAAC,EAAE,CAACN,KAAK,CAACS,MAAM,EAAET,KAAK,CAACW,WAAW,CAAC,CAAC;EAEtC,MAAMO,KAAK,GAAG,IAAAX,cAAO,EACpB,OAAO;IACNE,MAAM,EAAET,KAAK,CAACS,MAAM;IACpBU,YAAY,EAAEpB,KAAK,CAACC,KAAK,CAACoB,KAAK;IAC/BT,WAAW,EAAEX,KAAK,CAACW,WAAW;IAC9BU,sBAAsB,EAAEnB,gBAAgB,CAACoB,MAAM;IAC/CjB,kBAAkB;IAClBJ,gBAAgB;IAChBG,MAAM;IACNE;EACD,CAAC,CAAC,EACF,CACCN,KAAK,CAACS,MAAM,EACZT,KAAK,CAACW,WAAW,EACjBZ,KAAK,CAACC,KAAK,CAACoB,KAAK,EACjBlB,gBAAgB,CAACoB,MAAM,EACvBjB,kBAAkB,EAClBJ,gBAAgB,EAChBG,MAAM,EACNE,sBAAsB,CAExB,CAAC;EAED,OAAO;IACNY;EACD,CAAC;AACF,CAAC,CAAC;AAACK,OAAA,CAAA1B,yBAAA,GAAAA,yBAAA;AAAA0B,OAAA,CAAA3B,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|
|
@@ -11,7 +11,8 @@ var _reactNative = require("react-native");
|
|
|
11
11
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
12
12
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
13
13
|
var _reactNativeScreens = require("react-native-screens");
|
|
14
|
-
var
|
|
14
|
+
var _nativeStackLifecycle = require("../../shared/components/controllers/native-stack-lifecycle");
|
|
15
|
+
var _routes = require("../../shared/providers/routes.provider");
|
|
15
16
|
var _screenTransition = require("../../shared/providers/screen-transition.provider");
|
|
16
17
|
var _debounce = require("../utils/debounce");
|
|
17
18
|
var _getModalRoutesKeys = require("../utils/getModalRoutesKeys");
|
|
@@ -332,7 +333,7 @@ const SceneView = ({
|
|
|
332
333
|
previous: previousDescriptor,
|
|
333
334
|
current: descriptor,
|
|
334
335
|
next: nextDescriptor,
|
|
335
|
-
LifecycleController:
|
|
336
|
+
LifecycleController: _nativeStackLifecycle.NativeStackScreenLifecycleController,
|
|
336
337
|
children: render()
|
|
337
338
|
})
|
|
338
339
|
})
|
|
@@ -359,108 +360,114 @@ function NativeStackView({
|
|
|
359
360
|
return acc;
|
|
360
361
|
}, {});
|
|
361
362
|
const routes = state.routes.concat(state.preloadedRoutes);
|
|
362
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView, {
|
|
363
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.SafeAreaProviderCompat, {
|
|
364
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenStack, {
|
|
365
|
-
style: styles.container,
|
|
366
|
-
children: routes.map((route, index) => {
|
|
367
|
-
const descriptor = descriptors[route.key] ?? preloadedDescriptors[route.key];
|
|
368
|
-
const isFocused = state.index === index;
|
|
369
|
-
const isBelowFocused = state.index - 1 === index;
|
|
370
|
-
const previousKey = state.routes[index - 1]?.key;
|
|
371
|
-
const nextKey = state.routes[index + 1]?.key;
|
|
372
|
-
const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
|
|
373
|
-
const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
|
|
374
|
-
const isModal = modalRouteKeys.includes(route.key);
|
|
375
|
-
const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
|
|
376
363
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
364
|
+
// Memoize route keys array for RoutesProvider
|
|
365
|
+
const routeKeys = React.useMemo(() => routes.map(route => route.key), [routes]);
|
|
366
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_routes.RoutesProvider, {
|
|
367
|
+
routeKeys: routeKeys,
|
|
368
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView, {
|
|
369
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.SafeAreaProviderCompat, {
|
|
370
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenStack, {
|
|
371
|
+
style: styles.container,
|
|
372
|
+
children: routes.map((route, index) => {
|
|
373
|
+
const descriptor = descriptors[route.key] ?? preloadedDescriptors[route.key];
|
|
374
|
+
const isFocused = state.index === index;
|
|
375
|
+
const isBelowFocused = state.index - 1 === index;
|
|
376
|
+
const previousKey = state.routes[index - 1]?.key;
|
|
377
|
+
const nextKey = state.routes[index + 1]?.key;
|
|
378
|
+
const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
|
|
379
|
+
const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
|
|
380
|
+
const isModal = modalRouteKeys.includes(route.key);
|
|
381
|
+
const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
|
|
382
|
+
|
|
383
|
+
// On Fabric, when screen is frozen, animated and reanimated values are not updated
|
|
384
|
+
// due to component being unmounted. To avoid this, we don't freeze the previous screen there
|
|
385
|
+
const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
|
|
386
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
|
|
387
|
+
index: index,
|
|
388
|
+
focused: isFocused,
|
|
389
|
+
shouldFreeze: shouldFreeze,
|
|
390
|
+
descriptor: descriptor,
|
|
391
|
+
previousDescriptor: previousDescriptor,
|
|
392
|
+
nextDescriptor: nextDescriptor,
|
|
393
|
+
isPresentationModal: isModal,
|
|
394
|
+
isPreloaded: isPreloaded,
|
|
395
|
+
onWillDisappear: () => {
|
|
396
|
+
navigation.emit({
|
|
397
|
+
type: "transitionStart",
|
|
398
|
+
data: {
|
|
399
|
+
closing: true
|
|
400
|
+
},
|
|
401
|
+
target: route.key
|
|
402
|
+
});
|
|
403
|
+
},
|
|
404
|
+
onWillAppear: () => {
|
|
405
|
+
navigation.emit({
|
|
406
|
+
type: "transitionStart",
|
|
407
|
+
data: {
|
|
408
|
+
closing: false
|
|
409
|
+
},
|
|
410
|
+
target: route.key
|
|
411
|
+
});
|
|
412
|
+
},
|
|
413
|
+
onAppear: () => {
|
|
414
|
+
navigation.emit({
|
|
415
|
+
type: "transitionEnd",
|
|
416
|
+
data: {
|
|
417
|
+
closing: false
|
|
418
|
+
},
|
|
419
|
+
target: route.key
|
|
420
|
+
});
|
|
421
|
+
},
|
|
422
|
+
onDisappear: () => {
|
|
423
|
+
navigation.emit({
|
|
424
|
+
type: "transitionEnd",
|
|
425
|
+
data: {
|
|
426
|
+
closing: true
|
|
427
|
+
},
|
|
428
|
+
target: route.key
|
|
429
|
+
});
|
|
430
|
+
},
|
|
431
|
+
onDismissed: event => {
|
|
432
|
+
navigation.dispatch({
|
|
433
|
+
..._native.StackActions.pop(event.nativeEvent.dismissCount),
|
|
434
|
+
source: route.key,
|
|
435
|
+
target: state.key
|
|
436
|
+
});
|
|
437
|
+
setNextDismissedKey(route.key);
|
|
438
|
+
},
|
|
439
|
+
onHeaderBackButtonClicked: () => {
|
|
440
|
+
navigation.dispatch({
|
|
441
|
+
..._native.StackActions.pop(),
|
|
442
|
+
source: route.key,
|
|
443
|
+
target: state.key
|
|
444
|
+
});
|
|
445
|
+
},
|
|
446
|
+
onNativeDismissCancelled: event => {
|
|
447
|
+
navigation.dispatch({
|
|
448
|
+
..._native.StackActions.pop(event.nativeEvent.dismissCount),
|
|
449
|
+
source: route.key,
|
|
450
|
+
target: state.key
|
|
451
|
+
});
|
|
452
|
+
},
|
|
453
|
+
onGestureCancel: () => {
|
|
454
|
+
navigation.emit({
|
|
455
|
+
type: "gestureCancel",
|
|
456
|
+
target: route.key
|
|
457
|
+
});
|
|
458
|
+
},
|
|
459
|
+
onSheetDetentChanged: event => {
|
|
460
|
+
navigation.emit({
|
|
461
|
+
type: "sheetDetentChange",
|
|
462
|
+
target: route.key,
|
|
463
|
+
data: {
|
|
464
|
+
index: event.nativeEvent.index,
|
|
465
|
+
stable: event.nativeEvent.isStable
|
|
466
|
+
}
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
}, route.key);
|
|
470
|
+
})
|
|
464
471
|
})
|
|
465
472
|
})
|
|
466
473
|
})
|