react-native-screen-transitions 3.0.0-rc.2 → 3.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +421 -371
- package/lib/commonjs/blank-stack/components/{Overlay.js → overlay.js} +7 -5
- package/lib/commonjs/blank-stack/components/overlay.js.map +1 -0
- package/lib/commonjs/blank-stack/components/{Screens.js → screens.js} +20 -17
- package/lib/commonjs/blank-stack/components/screens.js.map +1 -0
- package/lib/commonjs/blank-stack/components/stack-view.js +101 -0
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -0
- package/lib/commonjs/blank-stack/index.js +1 -8
- package/lib/commonjs/blank-stack/index.js.map +1 -1
- package/lib/commonjs/blank-stack/navigators/{createBlankStackNavigator.js → create-blank-stack-navigator.js} +3 -3
- package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -0
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js +1 -11
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js +1 -12
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js +49 -55
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/{_types.js → types.js} +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/types.js.map +1 -0
- 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 +79 -0
- package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +49 -23
- 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/flags.provider.js +25 -0
- package/lib/commonjs/shared/providers/flags.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/gestures.provider.js +32 -5
- package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/register-bounds.provider.js +72 -45
- 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/stores/bounds.store.js +91 -47
- package/lib/commonjs/shared/stores/bounds.store.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/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/index.js +4 -5
- package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
- package/lib/commonjs/shared/utils/create-provider.js +20 -1
- package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
- package/lib/commonjs/shared/utils/reset-stores-for-screen.js +2 -0
- package/lib/commonjs/shared/utils/reset-stores-for-screen.js.map +1 -1
- package/lib/module/blank-stack/components/{Overlay.js → overlay.js} +7 -5
- package/lib/module/blank-stack/components/overlay.js.map +1 -0
- package/lib/module/blank-stack/components/screens.js +61 -0
- package/lib/module/blank-stack/components/screens.js.map +1 -0
- package/lib/module/blank-stack/components/stack-view.js +96 -0
- package/lib/module/blank-stack/components/stack-view.js.map +1 -0
- package/lib/module/blank-stack/index.js +1 -2
- package/lib/module/blank-stack/index.js.map +1 -1
- package/lib/module/blank-stack/navigators/{createBlankStackNavigator.js → create-blank-stack-navigator.js} +2 -2
- package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -0
- package/lib/module/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js +1 -11
- package/lib/module/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map +1 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js +1 -12
- package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map +1 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map +1 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/index.js +48 -54
- package/lib/module/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/types.js +4 -0
- package/lib/module/blank-stack/utils/with-stack-navigation/types.js.map +1 -0
- 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 +73 -0
- package/lib/module/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
- package/lib/module/shared/hooks/animation/use-screen-animation.js +49 -23
- 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/flags.provider.js +19 -0
- package/lib/module/shared/providers/flags.provider.js.map +1 -0
- package/lib/module/shared/providers/gestures.provider.js +31 -4
- package/lib/module/shared/providers/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/register-bounds.provider.js +72 -45
- 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/stores/bounds.store.js +91 -47
- package/lib/module/shared/stores/bounds.store.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/module/shared/utils/bounds/helpers/is-bounds-equal.js +1 -1
- package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js.map +1 -1
- package/lib/module/shared/utils/bounds/index.js +4 -5
- package/lib/module/shared/utils/bounds/index.js.map +1 -1
- package/lib/module/shared/utils/create-provider.js +20 -1
- package/lib/module/shared/utils/create-provider.js.map +1 -1
- package/lib/module/shared/utils/reset-stores-for-screen.js +2 -0
- package/lib/module/shared/utils/reset-stores-for-screen.js.map +1 -1
- package/lib/typescript/blank-stack/components/{Overlay.d.ts → overlay.d.ts} +1 -1
- package/lib/typescript/blank-stack/components/overlay.d.ts.map +1 -0
- package/lib/typescript/blank-stack/components/{Screens.d.ts → screens.d.ts} +1 -1
- package/lib/typescript/blank-stack/components/screens.d.ts.map +1 -0
- package/lib/typescript/blank-stack/components/stack-view.d.ts +3 -0
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -0
- package/lib/typescript/blank-stack/index.d.ts +1 -2
- package/lib/typescript/blank-stack/index.d.ts.map +1 -1
- package/lib/typescript/blank-stack/navigators/{createBlankStackNavigator.d.ts → create-blank-stack-navigator.d.ts} +1 -1
- package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -0
- package/lib/typescript/blank-stack/types.d.ts +5 -39
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.d.ts +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts +3 -5
- package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/{_types.d.ts → types.d.ts} +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/types.d.ts.map +1 -0
- 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/index.d.ts +20 -20
- package/lib/typescript/shared/providers/flags.provider.d.ts +10 -0
- package/lib/typescript/shared/providers/flags.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/gestures.provider.d.ts +8 -2
- 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/stores/bounds.store.d.ts +23 -11
- package/lib/typescript/shared/stores/bounds.store.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/bounds.types.d.ts +2 -2
- package/lib/typescript/shared/types/bounds.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/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
- package/lib/typescript/shared/utils/create-provider.d.ts +2 -2
- package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
- package/lib/typescript/shared/utils/reset-stores-for-screen.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/blank-stack/components/{Overlay.tsx → overlay.tsx} +4 -3
- package/src/blank-stack/components/{Screens.tsx → screens.tsx} +24 -20
- package/src/blank-stack/components/stack-view.tsx +115 -0
- package/src/blank-stack/index.ts +1 -2
- package/src/blank-stack/navigators/{createBlankStackNavigator.tsx → create-blank-stack-navigator.tsx} +1 -1
- package/src/blank-stack/types.ts +6 -31
- package/src/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.ts +1 -8
- package/src/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.tsx +1 -12
- package/src/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.tsx +1 -1
- package/src/blank-stack/utils/with-stack-navigation/index.tsx +42 -62
- package/src/native-stack/views/NativeStackView.native.tsx +121 -112
- package/src/shared/__tests__/bounds.store.test.ts +376 -167
- package/src/shared/__tests__/determine-dismissal.test.ts +2 -12
- package/src/shared/__tests__/geometry.test.ts +1 -1
- package/src/shared/__tests__/gesture.velocity.test.ts +2 -10
- package/src/shared/components/controllers/blank-stack-lifecycle.tsx +70 -0
- package/src/shared/components/controllers/native-stack-lifecycle.tsx +87 -0
- package/src/shared/hooks/animation/use-screen-animation.tsx +61 -30
- package/src/shared/hooks/gestures/use-build-gestures.tsx +16 -7
- package/src/shared/hooks/gestures/use-scroll-registry.tsx +7 -7
- package/src/shared/providers/flags.provider.tsx +21 -0
- package/src/shared/providers/gestures.provider.tsx +34 -5
- package/src/shared/providers/register-bounds.provider.tsx +86 -54
- package/src/shared/providers/routes.provider.tsx +54 -0
- package/src/shared/providers/screen-transition.provider.tsx +2 -2
- package/src/shared/stores/bounds.store.ts +90 -54
- package/src/shared/types/animation.types.ts +13 -0
- package/src/shared/types/bounds.types.ts +2 -2
- 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/src/shared/utils/bounds/helpers/is-bounds-equal.ts +1 -1
- package/src/shared/utils/bounds/index.ts +7 -10
- package/src/shared/utils/create-provider.tsx +35 -1
- package/src/shared/utils/reset-stores-for-screen.ts +2 -0
- package/lib/commonjs/blank-stack/components/Overlay.js.map +0 -1
- package/lib/commonjs/blank-stack/components/Screens.js.map +0 -1
- package/lib/commonjs/blank-stack/components/StackView.js +0 -93
- package/lib/commonjs/blank-stack/components/StackView.js.map +0 -1
- package/lib/commonjs/blank-stack/navigators/createBlankStackNavigator.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/_types.js.map +0 -1
- 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/blank-stack/components/Overlay.js.map +0 -1
- package/lib/module/blank-stack/components/Screens.js +0 -58
- package/lib/module/blank-stack/components/Screens.js.map +0 -1
- package/lib/module/blank-stack/components/StackView.js +0 -88
- package/lib/module/blank-stack/components/StackView.js.map +0 -1
- package/lib/module/blank-stack/navigators/createBlankStackNavigator.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/_types.js +0 -4
- package/lib/module/blank-stack/utils/with-stack-navigation/_types.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/blank-stack/components/Overlay.d.ts.map +0 -1
- package/lib/typescript/blank-stack/components/Screens.d.ts.map +0 -1
- package/lib/typescript/blank-stack/components/StackView.d.ts +0 -2
- package/lib/typescript/blank-stack/components/StackView.d.ts.map +0 -1
- package/lib/typescript/blank-stack/navigators/createBlankStackNavigator.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/_types.d.ts.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/blank-stack/components/StackView.tsx +0 -108
- package/src/shared/components/controllers/screen-lifecycle.tsx +0 -154
- package/src/shared/hooks/gestures/use-parent-gesture-registry.tsx +0 -18
- /package/src/blank-stack/utils/with-stack-navigation/{_types.ts → types.ts} +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet } from "react-native";
|
|
4
|
+
import Animated, { interpolate, useAnimatedProps, useDerivedValue, useSharedValue } from "react-native-reanimated";
|
|
5
|
+
import { Screen as RNSScreen } from "react-native-screens";
|
|
6
|
+
import { AnimationStore } from "../../shared/stores/animation.store";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
|
|
9
|
+
ScreenActivity[ScreenActivity["INACTIVE"] = 0] = "INACTIVE";
|
|
10
|
+
ScreenActivity[ScreenActivity["TRANSITIONING_OR_BELOW_TOP"] = 1] = "TRANSITIONING_OR_BELOW_TOP";
|
|
11
|
+
ScreenActivity[ScreenActivity["ON_TOP"] = 2] = "ON_TOP";
|
|
12
|
+
return ScreenActivity;
|
|
13
|
+
}(ScreenActivity || {});
|
|
14
|
+
const EPSILON = 1e-5;
|
|
15
|
+
const AnimatedScreen = Animated.createAnimatedComponent(RNSScreen);
|
|
16
|
+
export const Screen = ({
|
|
17
|
+
routeKey,
|
|
18
|
+
index,
|
|
19
|
+
routesLength,
|
|
20
|
+
isPreloaded,
|
|
21
|
+
activeScreensLimit,
|
|
22
|
+
children,
|
|
23
|
+
freezeOnBlur,
|
|
24
|
+
shouldFreeze
|
|
25
|
+
}) => {
|
|
26
|
+
const sceneProgress = AnimationStore.getAnimation(routeKey, "progress");
|
|
27
|
+
const sceneClosing = AnimationStore.getAnimation(routeKey, "closing");
|
|
28
|
+
const screenActivity = useSharedValue(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
|
|
29
|
+
useDerivedValue(() => {
|
|
30
|
+
if (!sceneProgress) {
|
|
31
|
+
screenActivity.set(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
|
|
35
|
+
screenActivity.set(ScreenActivity.INACTIVE);
|
|
36
|
+
} else {
|
|
37
|
+
const outputValue = index === routesLength - 1 ? ScreenActivity.ON_TOP : index >= routesLength - activeScreensLimit ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
|
|
38
|
+
const v = interpolate(sceneProgress.get(), [0, 1 - EPSILON, 1], [1, 1, outputValue], "clamp");
|
|
39
|
+
const next = Math.trunc(v) ?? ScreenActivity.TRANSITIONING_OR_BELOW_TOP;
|
|
40
|
+
if (next !== screenActivity.get()) {
|
|
41
|
+
screenActivity.set(next);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
const animatedProps = useAnimatedProps(() => {
|
|
46
|
+
const activity = screenActivity.get();
|
|
47
|
+
return {
|
|
48
|
+
activityState: activity,
|
|
49
|
+
shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
|
|
50
|
+
pointerEvents: sceneClosing.get() ? "none" : "box-none"
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
return /*#__PURE__*/_jsx(AnimatedScreen, {
|
|
54
|
+
enabled: true,
|
|
55
|
+
style: StyleSheet.absoluteFill,
|
|
56
|
+
freezeOnBlur: freezeOnBlur,
|
|
57
|
+
animatedProps: animatedProps,
|
|
58
|
+
children: children
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=screens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","Animated","interpolate","useAnimatedProps","useDerivedValue","useSharedValue","Screen","RNSScreen","AnimationStore","jsx","_jsx","ScreenActivity","EPSILON","AnimatedScreen","createAnimatedComponent","routeKey","index","routesLength","isPreloaded","activeScreensLimit","children","freezeOnBlur","shouldFreeze","sceneProgress","getAnimation","sceneClosing","screenActivity","TRANSITIONING_OR_BELOW_TOP","set","INACTIVE","outputValue","ON_TOP","v","get","next","Math","trunc","animatedProps","activity","activityState","pointerEvents","enabled","style","absoluteFill"],"sourceRoot":"../../../../src","sources":["blank-stack/components/screens.tsx"],"mappings":";;AACA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,IACdC,WAAW,EACXC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,MAAM,IAAIC,SAAS,QAAQ,sBAAsB;AAC1D,SAASC,cAAc,QAAQ,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,IAYhEC,cAAc,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA,EAAdA,cAAc;AAMnB,MAAMC,OAAO,GAAG,IAAI;AAEpB,MAAMC,cAAc,GAAGZ,QAAQ,CAACa,uBAAuB,CAACP,SAAS,CAAC;AAElE,OAAO,MAAMD,MAAM,GAAGA,CAAC;EACtBS,QAAQ;EACRC,KAAK;EACLC,YAAY;EACZC,WAAW;EACXC,kBAAkB;EAClBC,QAAQ;EACRC,YAAY;EACZC;AACY,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAGf,cAAc,CAACgB,YAAY,CAACT,QAAQ,EAAE,UAAU,CAAC;EACvE,MAAMU,YAAY,GAAGjB,cAAc,CAACgB,YAAY,CAACT,QAAQ,EAAE,SAAS,CAAC;EACrE,MAAMW,cAAc,GAAGrB,cAAc,CACpCM,cAAc,CAACgB,0BAChB,CAAC;EAEDvB,eAAe,CAAC,MAAM;IACrB,IAAI,CAACmB,aAAa,EAAE;MACnBG,cAAc,CAACE,GAAG,CAACjB,cAAc,CAACgB,0BAA0B,CAAC;MAC7D;IACD;IAEA,IAAIX,KAAK,GAAGC,YAAY,GAAGE,kBAAkB,GAAG,CAAC,IAAID,WAAW,EAAE;MACjEQ,cAAc,CAACE,GAAG,CAACjB,cAAc,CAACkB,QAAQ,CAAC;IAC5C,CAAC,MAAM;MACN,MAAMC,WAAW,GAChBd,KAAK,KAAKC,YAAY,GAAG,CAAC,GACvBN,cAAc,CAACoB,MAAM,GACrBf,KAAK,IAAIC,YAAY,GAAGE,kBAAkB,GACzCR,cAAc,CAACgB,0BAA0B,GACzChB,cAAc,CAACkB,QAAQ;MAE5B,MAAMG,CAAC,GAAG9B,WAAW,CACpBqB,aAAa,CAACU,GAAG,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE,CAAC,GAAGrB,OAAO,EAAE,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE,CAAC,EAAEkB,WAAW,CAAC,EACnB,OACD,CAAC;MAED,MAAMI,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACJ,CAAC,CAAC,IAAIrB,cAAc,CAACgB,0BAA0B;MAEvE,IAAIO,IAAI,KAAKR,cAAc,CAACO,GAAG,CAAC,CAAC,EAAE;QAClCP,cAAc,CAACE,GAAG,CAACM,IAAI,CAAC;MACzB;IACD;EACD,CAAC,CAAC;EAEF,MAAMG,aAAa,GAAGlC,gBAAgB,CAAC,MAAM;IAC5C,MAAMmC,QAAQ,GAAGZ,cAAc,CAACO,GAAG,CAAC,CAAC;IACrC,OAAO;MACNM,aAAa,EAAED,QAAQ;MACvBhB,YAAY,EAAEgB,QAAQ,KAAK3B,cAAc,CAACkB,QAAQ,IAAIP,YAAY;MAClEkB,aAAa,EAAEf,YAAY,CAACQ,GAAG,CAAC,CAAC,GAC7B,MAAM,GACN;IACL,CAAC;EACF,CAAC,CAAC;EAEF,oBACCvB,IAAA,CAACG,cAAc;IACd4B,OAAO;IACPC,KAAK,EAAE1C,UAAU,CAAC2C,YAAa;IAC/BtB,YAAY,EAAEA,YAAa;IAC3BgB,aAAa,EAAEA,aAAc;IAAAjB,QAAA,EAE5BA;EAAQ,CACM,CAAC;AAEnB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { SafeAreaProviderCompat } from "@react-navigation/elements";
|
|
4
|
+
import { NavigationContext, NavigationRouteContext } from "@react-navigation/native";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { StyleSheet } from "react-native";
|
|
7
|
+
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
8
|
+
import { ScreenContainer } from "react-native-screens";
|
|
9
|
+
import { BlankStackScreenLifecycleController } from "../../shared/components/controllers/blank-stack-lifecycle";
|
|
10
|
+
import { FlagsProvider } from "../../shared/providers/flags.provider";
|
|
11
|
+
import { RoutesProvider } from "../../shared/providers/routes.provider";
|
|
12
|
+
import { ScreenTransitionProvider } from "../../shared/providers/screen-transition.provider";
|
|
13
|
+
import { withStackNavigationProvider } from "../utils/with-stack-navigation";
|
|
14
|
+
import { Overlay } from "./overlay";
|
|
15
|
+
import { Screen } from "./screens";
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
function isFabric() {
|
|
18
|
+
return "nativeFabricUIManager" in global;
|
|
19
|
+
}
|
|
20
|
+
const SceneView = /*#__PURE__*/React.memo(({
|
|
21
|
+
descriptor
|
|
22
|
+
}) => {
|
|
23
|
+
const {
|
|
24
|
+
route,
|
|
25
|
+
navigation,
|
|
26
|
+
render
|
|
27
|
+
} = descriptor;
|
|
28
|
+
return /*#__PURE__*/_jsx(NavigationContext.Provider, {
|
|
29
|
+
value: navigation,
|
|
30
|
+
children: /*#__PURE__*/_jsxs(NavigationRouteContext.Provider, {
|
|
31
|
+
value: route,
|
|
32
|
+
children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
export const StackView = withStackNavigationProvider(({
|
|
37
|
+
activeScreensLimit,
|
|
38
|
+
descriptors,
|
|
39
|
+
focusedIndex,
|
|
40
|
+
routes,
|
|
41
|
+
scenes,
|
|
42
|
+
shouldShowFloatOverlay
|
|
43
|
+
}) => {
|
|
44
|
+
// Memoize route keys array for ScenesProvider
|
|
45
|
+
const routeKeys = React.useMemo(() => routes.map(route => route.key), [routes]);
|
|
46
|
+
return /*#__PURE__*/_jsx(FlagsProvider, {
|
|
47
|
+
TRANSITIONS_ALWAYS_ON: true,
|
|
48
|
+
children: /*#__PURE__*/_jsx(RoutesProvider, {
|
|
49
|
+
routeKeys: routeKeys,
|
|
50
|
+
children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
51
|
+
children: /*#__PURE__*/_jsxs(SafeAreaProviderCompat, {
|
|
52
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(ScreenContainer, {
|
|
53
|
+
style: styles.container,
|
|
54
|
+
children: scenes.map((scene, sceneIndex) => {
|
|
55
|
+
const descriptor = scene.descriptor;
|
|
56
|
+
const route = scene.route;
|
|
57
|
+
const isFocused = focusedIndex === sceneIndex;
|
|
58
|
+
const isBelowFocused = focusedIndex - 1 === sceneIndex;
|
|
59
|
+
const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
|
|
60
|
+
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
|
|
61
|
+
const isPreloaded = descriptors[route.key] === undefined;
|
|
62
|
+
|
|
63
|
+
// On Fabric, when screen is frozen, animated and reanimated values are not updated
|
|
64
|
+
// due to component being unmounted. To avoid this, we don't freeze the previous screen there
|
|
65
|
+
const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
|
|
66
|
+
return /*#__PURE__*/_jsx(Screen, {
|
|
67
|
+
isPreloaded: isPreloaded,
|
|
68
|
+
index: sceneIndex,
|
|
69
|
+
activeScreensLimit: activeScreensLimit,
|
|
70
|
+
routeKey: route.key,
|
|
71
|
+
routesLength: routes.length,
|
|
72
|
+
shouldFreeze: shouldFreeze,
|
|
73
|
+
freezeOnBlur: descriptor.options.freezeOnBlur,
|
|
74
|
+
children: /*#__PURE__*/_jsx(ScreenTransitionProvider, {
|
|
75
|
+
previous: previousDescriptor,
|
|
76
|
+
current: descriptor,
|
|
77
|
+
next: nextDescriptor,
|
|
78
|
+
LifecycleController: BlankStackScreenLifecycleController,
|
|
79
|
+
children: /*#__PURE__*/_jsx(SceneView, {
|
|
80
|
+
descriptor: descriptor
|
|
81
|
+
}, route.key)
|
|
82
|
+
})
|
|
83
|
+
}, route.key);
|
|
84
|
+
})
|
|
85
|
+
})]
|
|
86
|
+
})
|
|
87
|
+
})
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
const styles = StyleSheet.create({
|
|
92
|
+
container: {
|
|
93
|
+
flex: 1
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=stack-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","React","StyleSheet","GestureHandlerRootView","ScreenContainer","BlankStackScreenLifecycleController","FlagsProvider","RoutesProvider","ScreenTransitionProvider","withStackNavigationProvider","Overlay","Screen","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","StackView","activeScreensLimit","descriptors","focusedIndex","routes","scenes","shouldShowFloatOverlay","routeKeys","useMemo","map","key","TRANSITIONS_ALWAYS_ON","Float","style","styles","container","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","shouldFreeze","index","routeKey","routesLength","length","freezeOnBlur","previous","current","next","LifecycleController","create","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4BAA4B;AACnE,SACCC,iBAAiB,EACjBC,sBAAsB,QAChB,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,eAAe,QAAQ,sBAAsB;AACtD,SAASC,mCAAmC,QAAQ,2DAA2D;AAC/G,SAASC,aAAa,QAAQ,uCAAuC;AACrE,SAASC,cAAc,QAAQ,wCAAwC;AACvE,SAASC,wBAAwB,QAAQ,mDAAmD;AAE5F,SAASC,2BAA2B,QAAQ,gCAAgC;AAC5E,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,MAAM,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnC,SAASC,QAAQA,CAAA,EAAG;EACnB,OAAO,uBAAuB,IAAIC,MAAM;AACzC;AAMA,MAAMC,SAAS,gBAAGjB,KAAK,CAACkB,IAAI,CAAC,CAAC;EAAEC;AAA2B,CAAC,KAAK;EAChE,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAGH,UAAU;EAEhD,oBACCP,IAAA,CAACd,iBAAiB,CAACyB,QAAQ;IAACC,KAAK,EAAEH,UAAW;IAAAI,QAAA,eAC7CX,KAAA,CAACf,sBAAsB,CAACwB,QAAQ;MAACC,KAAK,EAAEJ,KAAM;MAAAK,QAAA,GAC5CN,UAAU,CAACO,OAAO,CAACC,WAAW,KAAK,QAAQ,iBAAIf,IAAA,CAACH,OAAO,CAACC,MAAM,IAAE,CAAC,EACjEY,MAAM,CAAC,CAAC;IAAA,CACuB;EAAC,CACP,CAAC;AAE/B,CAAC,CAAC;AAEF,OAAO,MAAMM,SAAS,GAAGpB,2BAA2B,CACnD,CAAC;EACAqB,kBAAkB;EAClBC,WAAW;EACXC,YAAY;EACZC,MAAM;EACNC,MAAM;EACNC;AACD,CAAC,KAAK;EACL;EACA,MAAMC,SAAS,GAAGnC,KAAK,CAACoC,OAAO,CAC9B,MAAMJ,MAAM,CAACK,GAAG,CAAEjB,KAAK,IAAKA,KAAK,CAACkB,GAAG,CAAC,EACtC,CAACN,MAAM,CACR,CAAC;EAED,oBACCpB,IAAA,CAACP,aAAa;IAACkC,qBAAqB;IAAAd,QAAA,eACnCb,IAAA,CAACN,cAAc;MAAC6B,SAAS,EAAEA,SAAU;MAAAV,QAAA,eACpCb,IAAA,CAACV,sBAAsB;QAAAuB,QAAA,eACtBX,KAAA,CAACjB,sBAAsB;UAAA4B,QAAA,GACrBS,sBAAsB,gBAAGtB,IAAA,CAACH,OAAO,CAAC+B,KAAK,IAAE,CAAC,GAAG,IAAI,eAClD5B,IAAA,CAACT,eAAe;YAACsC,KAAK,EAAEC,MAAM,CAACC,SAAU;YAAAlB,QAAA,EACvCQ,MAAM,CAACI,GAAG,CAAC,CAACO,KAAK,EAAEC,UAAU,KAAK;cAClC,MAAM1B,UAAU,GAAGyB,KAAK,CAACzB,UAAU;cACnC,MAAMC,KAAK,GAAGwB,KAAK,CAACxB,KAAK;cACzB,MAAM0B,SAAS,GAAGf,YAAY,KAAKc,UAAU;cAC7C,MAAME,cAAc,GAAGhB,YAAY,GAAG,CAAC,KAAKc,UAAU;cAEtD,MAAMG,kBAAkB,GACvBf,MAAM,CAACY,UAAU,GAAG,CAAC,CAAC,EAAE1B,UAAU,IAAI8B,SAAS;cAChD,MAAMC,cAAc,GACnBjB,MAAM,CAACY,UAAU,GAAG,CAAC,CAAC,EAAE1B,UAAU,IAAI8B,SAAS;cAEhD,MAAME,WAAW,GAAGrB,WAAW,CAACV,KAAK,CAACkB,GAAG,CAAC,KAAKW,SAAS;;cAExD;cACA;cACA,MAAMG,YAAY,GAAGrC,QAAQ,CAAC,CAAC,GAC5B,CAACoC,WAAW,IAAI,CAACL,SAAS,IAAI,CAACC,cAAc,GAC7C,CAACI,WAAW,IAAI,CAACL,SAAS;cAC7B,oBACClC,IAAA,CAACF,MAAM;gBAENyC,WAAW,EAAEA,WAAY;gBACzBE,KAAK,EAAER,UAAW;gBAClBhB,kBAAkB,EAAEA,kBAAmB;gBACvCyB,QAAQ,EAAElC,KAAK,CAACkB,GAAI;gBACpBiB,YAAY,EAAEvB,MAAM,CAACwB,MAAO;gBAC5BJ,YAAY,EAAEA,YAAa;gBAC3BK,YAAY,EAAEtC,UAAU,CAACO,OAAO,CAAC+B,YAAa;gBAAAhC,QAAA,eAE9Cb,IAAA,CAACL,wBAAwB;kBACxBmD,QAAQ,EAAEV,kBAAmB;kBAC7BW,OAAO,EAAExC,UAAW;kBACpByC,IAAI,EAAEV,cAAe;kBACrBW,mBAAmB,EAClBzD,mCACA;kBAAAqB,QAAA,eAEDb,IAAA,CAACK,SAAS;oBAAiBE,UAAU,EAAEA;kBAAW,GAAlCC,KAAK,CAACkB,GAA8B;gBAAC,CAC5B;cAAC,GAlBtBlB,KAAK,CAACkB,GAmBJ,CAAC;YAEX,CAAC;UAAC,CACc,CAAC;QAAA,CACK;MAAC,CACF;IAAC,CACV;EAAC,CACH,CAAC;AAElB,CACD,CAAC;AAED,MAAMI,MAAM,GAAGzC,UAAU,CAAC6D,MAAM,CAAC;EAChCnB,SAAS,EAAE;IAAEoB,IAAI,EAAE;EAAE;AACtB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export {
|
|
4
|
-
export { createBlankStackNavigator } from "../blank-stack/navigators/createBlankStackNavigator";
|
|
3
|
+
export { createBlankStackNavigator } from "../blank-stack/navigators/create-blank-stack-navigator";
|
|
5
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["createBlankStackNavigator"],"sourceRoot":"../../../src","sources":["blank-stack/index.ts"],"mappings":";;AAAA,SAASA,yBAAyB,QAAQ,wDAAwD","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { createNavigatorFactory, StackActions, StackRouter, useNavigationBuilder } from "@react-navigation/native";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import { StackView } from "../components/
|
|
5
|
+
import { StackView } from "../components/stack-view";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
function BlankStackNavigator({
|
|
8
8
|
id,
|
|
@@ -60,4 +60,4 @@ function BlankStackNavigator({
|
|
|
60
60
|
export function createBlankStackNavigator(config) {
|
|
61
61
|
return createNavigatorFactory(BlankStackNavigator)(config);
|
|
62
62
|
}
|
|
63
|
-
//# sourceMappingURL=
|
|
63
|
+
//# sourceMappingURL=create-blank-stack-navigator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","StackView","jsx","_jsx","BlankStackNavigator","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","rest","state","describe","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key","createBlankStackNavigator","config"],"sourceRoot":"../../../../src","sources":["blank-stack/navigators/create-blank-stack-navigator.tsx"],"mappings":";;AAAA,SACCA,sBAAsB,EAKtBC,YAAY,EAEZC,WAAW,EAIXC,oBAAoB,QACd,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQrD,SAASC,mBAAmBA,CAAC;EAC5BC,EAAE;EACFC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZ,GAAGC;AACsB,CAAC,EAAE;EAC5B,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACpElB,oBAAoB,CAMlBD,WAAW,EAAE;IACdO,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC;EACD,CAAC,CAAC;EAEHX,KAAK,CAACkB,SAAS,CACd;EACC;EACAF,UAAU,EAAEG,WAAW,GAAG,UAAU,EAAGC,CAAM,IAAK;IACjD,MAAMC,SAAS,GAAGL,UAAU,CAACK,SAAS,CAAC,CAAC;;IAExC;IACA;IACAC,qBAAqB,CAAC,MAAM;MAC3B,IACCT,KAAK,CAACU,KAAK,GAAG,CAAC,IACfF,SAAS,IACT,CAAED,CAAC,CAAgCI,gBAAgB,EAClD;QACD;QACA;QACAR,UAAU,CAACS,QAAQ,CAAC;UACnB,GAAG5B,YAAY,CAAC6B,QAAQ,CAAC,CAAC;UAC1BC,MAAM,EAAEd,KAAK,CAACe;QACf,CAAC,CAAC;MACH;IACD,CAAC,CAAC;EACH,CAAC,CAAC,EACH,CAACZ,UAAU,EAAEH,KAAK,CAACU,KAAK,EAAEV,KAAK,CAACe,GAAG,CACpC,CAAC;EAED,oBACCzB,IAAA,CAACc,iBAAiB;IAAAV,QAAA,eACjBJ,IAAA,CAACF,SAAS;MAAA,GACLW,IAAI;MACRC,KAAK,EAAEA,KAAM;MACbG,UAAU,EAAEA,UAAW;MACvBD,WAAW,EAAEA,WAAY;MACzBD,QAAQ,EAAEA;IAAS,CACnB;EAAC,CACgB,CAAC;AAEtB;AAEA,OAAO,SAASe,yBAAyBA,CAmBvCC,MAAe,EAAmC;EACnD,OAAOlC,sBAAsB,CAACQ,mBAAmB,CAAC,CAAC0B,MAAM,CAAC;AAC3D","ignoreList":[]}
|
|
@@ -3,17 +3,7 @@
|
|
|
3
3
|
export const composeDescriptors = (routes, nextDescriptors, currentDescriptors) => {
|
|
4
4
|
const composed = {};
|
|
5
5
|
for (const route of routes) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
// useScreenAnimation depends on this, however with blank-stack, this should be enabled by default
|
|
9
|
-
const withEnableTransitions = {
|
|
10
|
-
...adjusted,
|
|
11
|
-
options: {
|
|
12
|
-
...adjusted.options,
|
|
13
|
-
enableTransitions: true
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
composed[route.key] = withEnableTransitions;
|
|
6
|
+
composed[route.key] = nextDescriptors[route.key] ?? currentDescriptors[route.key];
|
|
17
7
|
}
|
|
18
8
|
return composed;
|
|
19
9
|
};
|
package/lib/module/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["composeDescriptors","routes","nextDescriptors","currentDescriptors","composed","route","
|
|
1
|
+
{"version":3,"names":["composeDescriptors","routes","nextDescriptors","currentDescriptors","composed","route","key"],"sourceRoot":"../../../../../../src","sources":["blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.ts"],"mappings":";;AAGA,OAAO,MAAMA,kBAAkB,GAAGA,CACjCC,MAAuB,EACvBC,eAAwC,EACxCC,kBAA2C,KACd;EAC7B,MAAMC,QAAiC,GAAG,CAAC,CAAC;EAE5C,KAAK,MAAMC,KAAK,IAAIJ,MAAM,EAAE;IAC3BG,QAAQ,CAACC,KAAK,CAACC,GAAG,CAAC,GAClBJ,eAAe,CAACG,KAAK,CAACC,GAAG,CAAC,IAAIH,kBAAkB,CAACE,KAAK,CAACC,GAAG,CAAC;EAC7D;EAEA,OAAOF,QAAQ;AAChB,CAAC","ignoreList":[]}
|
|
@@ -5,14 +5,12 @@ import { useSharedValue } from "react-native-reanimated";
|
|
|
5
5
|
import useStableCallback from "../../../../shared/hooks/use-stable-callback";
|
|
6
6
|
export const useClosingRouteKeys = () => {
|
|
7
7
|
const keysRef = useRef(new Set());
|
|
8
|
-
const finishedRef = useRef(new Set());
|
|
9
8
|
const shared = useSharedValue([]);
|
|
10
9
|
const add = useStableCallback(key => {
|
|
11
10
|
const keys = keysRef.current;
|
|
12
11
|
if (keys.has(key)) {
|
|
13
12
|
return;
|
|
14
13
|
}
|
|
15
|
-
finishedRef.current.delete(key);
|
|
16
14
|
keys.add(key);
|
|
17
15
|
shared.modify(prev => {
|
|
18
16
|
"worklet";
|
|
@@ -25,11 +23,7 @@ export const useClosingRouteKeys = () => {
|
|
|
25
23
|
});
|
|
26
24
|
const remove = useStableCallback(key => {
|
|
27
25
|
const keys = keysRef.current;
|
|
28
|
-
|
|
29
|
-
finishedRef.current.delete(key);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
finishedRef.current.delete(key);
|
|
26
|
+
keys.delete(key);
|
|
33
27
|
shared.modify(prev => {
|
|
34
28
|
"worklet";
|
|
35
29
|
|
|
@@ -42,12 +36,7 @@ export const useClosingRouteKeys = () => {
|
|
|
42
36
|
});
|
|
43
37
|
const clear = useStableCallback(() => {
|
|
44
38
|
const keys = keysRef.current;
|
|
45
|
-
if (!keys.size) {
|
|
46
|
-
finishedRef.current.clear();
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
39
|
keys.clear();
|
|
50
|
-
finishedRef.current.clear();
|
|
51
40
|
shared.modify(prev => {
|
|
52
41
|
"worklet";
|
|
53
42
|
|
package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useRef","useSharedValue","useStableCallback","useClosingRouteKeys","keysRef","Set","
|
|
1
|
+
{"version":3,"names":["useMemo","useRef","useSharedValue","useStableCallback","useClosingRouteKeys","keysRef","Set","shared","add","key","keys","current","has","modify","prev","includes","push","remove","delete","index","indexOf","splice","clear","length","ref"],"sourceRoot":"../../../../../../src","sources":["blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.tsx"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACvC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,OAAOC,iBAAiB,MAAM,8CAA8C;AAE5E,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EACxC,MAAMC,OAAO,GAAGJ,MAAM,CAAc,IAAIK,GAAG,CAAC,CAAC,CAAC;EAC9C,MAAMC,MAAM,GAAGL,cAAc,CAAW,EAAE,CAAC;EAE3C,MAAMM,GAAG,GAAGL,iBAAiB,CAAEM,GAAW,IAAK;IAC9C,MAAMC,IAAI,GAAGL,OAAO,CAACM,OAAO;IAC5B,IAAID,IAAI,CAACE,GAAG,CAACH,GAAG,CAAC,EAAE;MAClB;IACD;IAEAC,IAAI,CAACF,GAAG,CAACC,GAAG,CAAC;IACbF,MAAM,CAACM,MAAM,CAAEC,IAAI,IAAK;MACvB,SAAS;;MACT,IAAI,CAACA,IAAI,CAACC,QAAQ,CAACN,GAAG,CAAC,EAAE;QACxBK,IAAI,CAACE,IAAI,CAACP,GAAG,CAAC;MACf;MACA,OAAOK,IAAI;IACZ,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,MAAMG,MAAM,GAAGd,iBAAiB,CAAEM,GAAW,IAAK;IACjD,MAAMC,IAAI,GAAGL,OAAO,CAACM,OAAO;IAC5BD,IAAI,CAACQ,MAAM,CAACT,GAAG,CAAC;IAEhBF,MAAM,CAACM,MAAM,CAAEC,IAAI,IAAK;MACvB,SAAS;;MACT,MAAMK,KAAK,GAAGL,IAAI,CAACM,OAAO,CAACX,GAAG,CAAC;MAC/B,IAAIU,KAAK,KAAK,CAAC,CAAC,EAAE;QACjBL,IAAI,CAACO,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MACtB;MACA,OAAOL,IAAI;IACZ,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,MAAMQ,KAAK,GAAGnB,iBAAiB,CAAC,MAAM;IACrC,MAAMO,IAAI,GAAGL,OAAO,CAACM,OAAO;IAE5BD,IAAI,CAACY,KAAK,CAAC,CAAC;IACZf,MAAM,CAACM,MAAM,CAAEC,IAAI,IAAK;MACvB,SAAS;;MACTA,IAAI,CAACS,MAAM,GAAG,CAAC;MACf,OAAOT,IAAI;IACZ,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,OAAOd,OAAO,CACb,OAAO;IACNwB,GAAG,EAAEnB,OAAO;IACZE,MAAM;IACNC,GAAG;IACHS,MAAM;IACNK;EACD,CAAC,CAAC,EACF,CAACf,MAAM,EAAEC,GAAG,EAAES,MAAM,EAAEK,KAAK,CAC5B,CAAC;AACF,CAAC","ignoreList":[]}
|
package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StackActions","useLayoutEffect","useState","useStableCallback","areDescriptorsEqual","composeDescriptors","haveSameRouteKeys","routesAreIdentical","useClosingRouteKeys","usePrevious","alignRoutesWithLatest","currentRoutes","currentDescriptors","nextRoutes","nextDescriptors","length","routes","descriptors","nextRouteLookup","Map","route","set","key","didChange","alignedRoutes","map","nextRoute","get","routesResult","syncRoutesWithRemoved","prevRoutes","prevDescriptors","closingRouteKeys","clear","derivedRoutes","slice","previousFocusedRoute","nextFocusedRoute","nextRouteWasPresent","some","previousRouteStillPresent","add","push","remove","insertIndex","Math","max","splice","activeKeys","Set","Array","from","ref","current","has","useStackNavigationState","props","previousRoutes","state","localState","setLocalState","nextRoutesSnapshot","previousRoutesSnapshot","routeKeysUnchanged","derivedDescriptors","result","fallbackRoutes","routesChanged","descriptorsChanged","handleCloseRoute","r","navigation","dispatch","pop","source","target","candidate","filter"],"sourceRoot":"../../../../../../src","sources":["blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.tsx"],"mappings":";;AAAA,SAAqBA,YAAY,QAAQ,0BAA0B;AACnE,SAASC,eAAe,EAAEC,QAAQ,QAAQ,OAAO;AACjD,OAAOC,iBAAiB,MAAM,8CAA8C;
|
|
1
|
+
{"version":3,"names":["StackActions","useLayoutEffect","useState","useStableCallback","areDescriptorsEqual","composeDescriptors","haveSameRouteKeys","routesAreIdentical","useClosingRouteKeys","usePrevious","alignRoutesWithLatest","currentRoutes","currentDescriptors","nextRoutes","nextDescriptors","length","routes","descriptors","nextRouteLookup","Map","route","set","key","didChange","alignedRoutes","map","nextRoute","get","routesResult","syncRoutesWithRemoved","prevRoutes","prevDescriptors","closingRouteKeys","clear","derivedRoutes","slice","previousFocusedRoute","nextFocusedRoute","nextRouteWasPresent","some","previousRouteStillPresent","add","push","remove","insertIndex","Math","max","splice","activeKeys","Set","Array","from","ref","current","has","useStackNavigationState","props","previousRoutes","state","localState","setLocalState","nextRoutesSnapshot","previousRoutesSnapshot","routeKeysUnchanged","derivedDescriptors","result","fallbackRoutes","routesChanged","descriptorsChanged","handleCloseRoute","r","navigation","dispatch","pop","source","target","candidate","filter"],"sourceRoot":"../../../../../../src","sources":["blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,60 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import createProvider from "../../../shared/utils/create-provider";
|
|
5
5
|
import { calculateActiveScreensLimit } from "./helpers/calculate-active-screens-limit";
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return state.routes.some(route => {
|
|
29
|
-
const options = state.descriptors[route.key]?.options;
|
|
30
|
-
return options?.overlayMode === "float" && options?.overlayShown;
|
|
6
|
+
import { useStackNavigationState } from "./hooks/use-stack-navigation-state";
|
|
7
|
+
const {
|
|
8
|
+
withStackNavigationProvider,
|
|
9
|
+
useStackNavigationContext
|
|
10
|
+
} = createProvider("StackNavigation")(props => {
|
|
11
|
+
const {
|
|
12
|
+
state,
|
|
13
|
+
handleCloseRoute,
|
|
14
|
+
closingRouteKeys
|
|
15
|
+
} = useStackNavigationState(props);
|
|
16
|
+
const {
|
|
17
|
+
scenes,
|
|
18
|
+
activeScreensLimit,
|
|
19
|
+
shouldShowFloatOverlay
|
|
20
|
+
} = useMemo(() => {
|
|
21
|
+
const scenes = [];
|
|
22
|
+
let shouldShowFloatOverlay = false;
|
|
23
|
+
for (const route of state.routes) {
|
|
24
|
+
const descriptor = state.descriptors[route.key];
|
|
25
|
+
scenes.push({
|
|
26
|
+
route,
|
|
27
|
+
descriptor
|
|
31
28
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
29
|
+
if (!shouldShowFloatOverlay) {
|
|
30
|
+
const options = descriptor?.options;
|
|
31
|
+
shouldShowFloatOverlay = options?.overlayMode === "float" && options?.overlayShown === true;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
scenes,
|
|
36
|
+
activeScreensLimit: calculateActiveScreensLimit(state.routes, state.descriptors),
|
|
37
|
+
shouldShowFloatOverlay
|
|
38
|
+
};
|
|
39
|
+
}, [state.routes, state.descriptors]);
|
|
40
|
+
return {
|
|
41
|
+
value: {
|
|
42
|
+
routes: state.routes,
|
|
43
|
+
focusedIndex: props.state.index,
|
|
44
|
+
descriptors: state.descriptors,
|
|
45
|
+
closingRouteKeysShared: closingRouteKeys.shared,
|
|
46
|
+
activeScreensLimit,
|
|
47
|
+
handleCloseRoute,
|
|
48
|
+
scenes,
|
|
49
|
+
shouldShowFloatOverlay
|
|
50
|
+
}
|
|
51
51
|
};
|
|
52
|
-
}
|
|
53
|
-
export
|
|
54
|
-
const context = useContext(StackNavigationContext);
|
|
55
|
-
if (!context) {
|
|
56
|
-
throw new Error("StackNavigationContext.Provider is missing in the component tree.");
|
|
57
|
-
}
|
|
58
|
-
return context;
|
|
59
|
-
};
|
|
52
|
+
});
|
|
53
|
+
export { useStackNavigationContext, withStackNavigationProvider };
|
|
60
54
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useMemo","createProvider","calculateActiveScreensLimit","useStackNavigationState","withStackNavigationProvider","useStackNavigationContext","props","state","handleCloseRoute","closingRouteKeys","scenes","activeScreensLimit","shouldShowFloatOverlay","route","routes","descriptor","descriptors","key","push","options","overlayMode","overlayShown","value","focusedIndex","index","closingRouteKeysShared","shared"],"sourceRoot":"../../../../../src","sources":["blank-stack/utils/with-stack-navigation/index.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,OAAOC,cAAc,MAAM,uCAAuC;AAElE,SAASC,2BAA2B,QAAQ,0CAA0C;AACtF,SAASC,uBAAuB,QAAQ,oCAAoC;AAM5E,MAAM;EAAEC,2BAA2B;EAAEC;AAA0B,CAAC,GAC/DJ,cAAc,CAAC,iBAAiB,CAAC,CAG9BK,KAAK,IAAK;EACZ,MAAM;IAAEC,KAAK;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAClDN,uBAAuB,CAACG,KAAK,CAAC;EAE/B,MAAM;IAAEI,MAAM;IAAEC,kBAAkB;IAAEC;EAAuB,CAAC,GAC3DZ,OAAO,CAAC,MAAM;IACb,MAAMU,MAAyB,GAAG,EAAE;IACpC,IAAIE,sBAAsB,GAAG,KAAK;IAElC,KAAK,MAAMC,KAAK,IAAIN,KAAK,CAACO,MAAM,EAAE;MACjC,MAAMC,UAAU,GAAGR,KAAK,CAACS,WAAW,CAACH,KAAK,CAACI,GAAG,CAAC;MAC/CP,MAAM,CAACQ,IAAI,CAAC;QAAEL,KAAK;QAAEE;MAAW,CAAC,CAAC;MAElC,IAAI,CAACH,sBAAsB,EAAE;QAC5B,MAAMO,OAAO,GAAGJ,UAAU,EAAEI,OAAO;QACnCP,sBAAsB,GACrBO,OAAO,EAAEC,WAAW,KAAK,OAAO,IAChCD,OAAO,EAAEE,YAAY,KAAK,IAAI;MAChC;IACD;IAEA,OAAO;MACNX,MAAM;MACNC,kBAAkB,EAAET,2BAA2B,CAC9CK,KAAK,CAACO,MAAM,EACZP,KAAK,CAACS,WACP,CAAC;MACDJ;IACD,CAAC;EACF,CAAC,EAAE,CAACL,KAAK,CAACO,MAAM,EAAEP,KAAK,CAACS,WAAW,CAAC,CAAC;EAEtC,OAAO;IACNM,KAAK,EAAE;MACNR,MAAM,EAAEP,KAAK,CAACO,MAAM;MACpBS,YAAY,EAAEjB,KAAK,CAACC,KAAK,CAACiB,KAAK;MAC/BR,WAAW,EAAET,KAAK,CAACS,WAAW;MAC9BS,sBAAsB,EAAEhB,gBAAgB,CAACiB,MAAM;MAC/Cf,kBAAkB;MAClBH,gBAAgB;MAChBE,MAAM;MACNE;IACD;EACD,CAAC;AACF,CAAC,CAAC;AAEH,SAASP,yBAAyB,EAAED,2BAA2B","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["blank-stack/utils/with-stack-navigation/types.ts"],"mappings":"","ignoreList":[]}
|