react-native-screen-transitions 3.2.0-beta.0 → 3.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -8
- package/lib/commonjs/blank-stack/components/adjusted-screen-container.js +36 -0
- package/lib/commonjs/blank-stack/components/adjusted-screen-container.js.map +1 -0
- package/lib/commonjs/blank-stack/components/{screens.js → adjusted-screen.js} +31 -11
- package/lib/commonjs/blank-stack/components/adjusted-screen.js.map +1 -0
- package/lib/commonjs/blank-stack/components/stack-view.js +33 -41
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/blank-stack/components/stack-view.native.js +81 -0
- package/lib/commonjs/blank-stack/components/stack-view.native.js.map +1 -0
- package/lib/commonjs/component-stack/components/component-screen-container.js +23 -0
- package/lib/commonjs/component-stack/components/component-screen-container.js.map +1 -0
- package/lib/commonjs/component-stack/components/component-screen.js +36 -0
- package/lib/commonjs/component-stack/components/component-screen.js.map +1 -0
- package/lib/commonjs/component-stack/components/stack-view.js +64 -0
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -0
- package/lib/commonjs/component-stack/index.js +3 -10
- package/lib/commonjs/component-stack/index.js.map +1 -1
- package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js +52 -0
- package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js.map +1 -0
- package/lib/commonjs/native-stack/views/NativeStackView.native.js +103 -105
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +0 -25
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/index.js +1 -3
- package/lib/commonjs/shared/components/overlay/index.js.map +1 -1
- package/lib/commonjs/shared/constants.js +3 -1
- package/lib/commonjs/shared/constants.js.map +1 -1
- package/lib/commonjs/{blank-stack/controllers/blank-stack-lifecycle.js → shared/controller/managed-lifecycle.js} +16 -19
- package/lib/commonjs/shared/controller/managed-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js +7 -1
- package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js.map +1 -1
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +2 -2
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +3 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js +5 -0
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
- package/lib/commonjs/shared/providers/layout-anchor.provider.js +73 -0
- package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/register-bounds.provider.js +9 -4
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/keys.provider.js +2 -2
- package/lib/commonjs/shared/providers/screen/styles.provider.js +38 -4
- package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/core.provider.js +35 -12
- package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js +6 -4
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/managed.provider.js +7 -5
- package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/commonjs/shared/types/index.js.map +1 -1
- package/lib/commonjs/shared/types/stack.types.js +26 -0
- package/lib/commonjs/shared/types/stack.types.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/index.js +13 -1
- package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
- package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js +20 -45
- package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
- package/lib/module/blank-stack/components/adjusted-screen-container.js +31 -0
- package/lib/module/blank-stack/components/adjusted-screen-container.js.map +1 -0
- package/lib/module/blank-stack/components/{screens.js → adjusted-screen.js} +30 -10
- package/lib/module/blank-stack/components/adjusted-screen.js.map +1 -0
- package/lib/module/blank-stack/components/stack-view.js +33 -41
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/blank-stack/components/stack-view.native.js +76 -0
- package/lib/module/blank-stack/components/stack-view.native.js.map +1 -0
- package/lib/module/component-stack/components/component-screen-container.js +18 -0
- package/lib/module/component-stack/components/component-screen-container.js.map +1 -0
- package/lib/module/component-stack/components/component-screen.js +30 -0
- package/lib/module/component-stack/components/component-screen.js.map +1 -0
- package/lib/module/component-stack/components/stack-view.js +59 -0
- package/lib/module/component-stack/components/stack-view.js.map +1 -0
- package/lib/module/component-stack/index.js +1 -2
- package/lib/module/component-stack/index.js.map +1 -1
- package/lib/module/component-stack/navigators/create-component-stack-navigator.js +48 -0
- package/lib/module/component-stack/navigators/create-component-stack-navigator.js.map +1 -0
- package/lib/module/native-stack/views/NativeStackView.native.js +103 -105
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +0 -24
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/module/shared/components/overlay/index.js +1 -3
- package/lib/module/shared/components/overlay/index.js.map +1 -1
- package/lib/module/shared/constants.js +2 -0
- package/lib/module/shared/constants.js.map +1 -1
- package/lib/module/{blank-stack/controllers/blank-stack-lifecycle.js → shared/controller/managed-lifecycle.js} +14 -17
- package/lib/module/shared/controller/managed-lifecycle.js.map +1 -0
- package/lib/module/shared/hooks/animation/use-high-refresh-rate.js +8 -1
- package/lib/module/shared/hooks/animation/use-high-refresh-rate.js.map +1 -1
- package/lib/module/shared/hooks/animation/use-screen-animation.js +2 -2
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +4 -2
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +5 -0
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
- package/lib/module/shared/providers/layout-anchor.provider.js +67 -0
- package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -0
- package/lib/module/shared/providers/register-bounds.provider.js +9 -4
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/keys.provider.js +2 -2
- package/lib/module/shared/providers/screen/styles.provider.js +39 -5
- package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/core.provider.js +34 -11
- package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/direct.provider.js +6 -4
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/managed.provider.js +7 -5
- package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/module/shared/types/index.js.map +1 -1
- package/lib/module/shared/types/stack.types.js +30 -1
- package/lib/module/shared/types/stack.types.js.map +1 -1
- package/lib/module/shared/utils/bounds/index.js +13 -1
- package/lib/module/shared/utils/bounds/index.js.map +1 -1
- package/lib/module/shared/utils/navigation/sync-routes-with-removed.js +20 -45
- package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
- package/lib/typescript/blank-stack/components/adjusted-screen-container.d.ts +6 -0
- package/lib/typescript/blank-stack/components/adjusted-screen-container.d.ts.map +1 -0
- package/lib/typescript/blank-stack/components/{screens.d.ts → adjusted-screen.d.ts} +2 -2
- package/lib/typescript/blank-stack/components/adjusted-screen.d.ts.map +1 -0
- package/lib/typescript/blank-stack/components/stack-view.d.ts +1 -1
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/stack-view.native.d.ts +4 -0
- package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +1 -0
- package/lib/typescript/blank-stack/types.d.ts +3 -1
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/component-screen-container.d.ts +6 -0
- package/lib/typescript/component-stack/components/component-screen-container.d.ts.map +1 -0
- 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 +4 -0
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -0
- package/lib/typescript/component-stack/index.d.ts +2 -3
- package/lib/typescript/component-stack/index.d.ts.map +1 -1
- package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +16 -0
- package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -0
- package/lib/typescript/component-stack/types.d.ts +24 -191
- package/lib/typescript/component-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +0 -9
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/index.d.ts +0 -2
- package/lib/typescript/shared/components/overlay/index.d.ts.map +1 -1
- package/lib/typescript/shared/constants.d.ts +1 -0
- package/lib/typescript/shared/constants.d.ts.map +1 -1
- package/lib/typescript/shared/controller/managed-lifecycle.d.ts +9 -0
- package/lib/typescript/shared/controller/managed-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts +7 -0
- package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts +2 -1
- 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.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +4 -9
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +13 -13
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +34 -0
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/keys.provider.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/core.provider.d.ts +15 -4
- package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts +1 -1
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
- package/lib/typescript/shared/types/bounds.types.d.ts +1 -0
- package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/index.d.ts +1 -1
- package/lib/typescript/shared/types/index.d.ts.map +1 -1
- package/lib/typescript/shared/types/overlay.types.d.ts +1 -12
- package/lib/typescript/shared/types/overlay.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/screen.types.d.ts +2 -2
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/stack.types.d.ts +5 -2
- package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
- package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/blank-stack/components/adjusted-screen-container.tsx +25 -0
- package/src/blank-stack/components/{screens.tsx → adjusted-screen.tsx} +33 -12
- package/src/blank-stack/components/stack-view.native.tsx +94 -0
- package/src/blank-stack/components/stack-view.tsx +41 -47
- package/src/blank-stack/types.ts +3 -2
- package/src/component-stack/components/component-screen-container.tsx +15 -0
- package/src/component-stack/components/component-screen.tsx +40 -0
- package/src/component-stack/components/stack-view.tsx +74 -0
- package/src/component-stack/index.ts +6 -12
- package/src/component-stack/navigators/create-component-stack-navigator.tsx +88 -0
- package/src/component-stack/types.ts +80 -188
- package/src/native-stack/views/NativeStackView.native.tsx +104 -106
- package/src/shared/__tests__/sync-routes-with-removed.test.ts +0 -146
- package/src/shared/components/overlay/helpers/get-active-overlay.ts +0 -26
- package/src/shared/components/overlay/index.ts +0 -2
- package/src/shared/constants.ts +3 -0
- package/src/{blank-stack/controllers/blank-stack-lifecycle.tsx → shared/controller/managed-lifecycle.tsx} +14 -18
- package/src/shared/hooks/animation/use-high-refresh-rate.tsx +7 -1
- package/src/shared/hooks/animation/use-screen-animation.tsx +5 -3
- package/src/shared/hooks/gestures/use-build-gestures.tsx +9 -1
- package/src/shared/hooks/navigation/use-stack.tsx +4 -15
- package/src/shared/hooks/reanimated/use-shared-value-state.ts +5 -0
- package/src/shared/index.ts +2 -1
- package/src/shared/providers/layout-anchor.provider.tsx +81 -0
- package/src/shared/providers/register-bounds.provider.tsx +11 -4
- package/src/shared/providers/screen/keys.provider.tsx +2 -2
- package/src/shared/providers/screen/styles.provider.tsx +50 -5
- package/src/shared/providers/stack/core.provider.tsx +51 -28
- package/src/shared/providers/stack/direct.provider.tsx +4 -1
- package/src/shared/providers/stack/managed.provider.tsx +5 -2
- package/src/shared/types/bounds.types.ts +5 -0
- package/src/shared/types/index.ts +0 -1
- package/src/shared/types/overlay.types.ts +1 -14
- package/src/shared/types/screen.types.ts +2 -8
- package/src/shared/types/stack.types.ts +6 -2
- package/src/shared/utils/bounds/index.ts +18 -1
- package/src/shared/utils/navigation/sync-routes-with-removed.ts +28 -58
- package/lib/commonjs/blank-stack/components/screens.js.map +0 -1
- package/lib/commonjs/blank-stack/controllers/blank-stack-lifecycle.js.map +0 -1
- package/lib/commonjs/component-stack/components/component-view.js +0 -63
- package/lib/commonjs/component-stack/components/component-view.js.map +0 -1
- package/lib/commonjs/component-stack/components/screens.js +0 -64
- package/lib/commonjs/component-stack/components/screens.js.map +0 -1
- package/lib/commonjs/component-stack/controllers/component-stack-lifecycle.js +0 -82
- package/lib/commonjs/component-stack/controllers/component-stack-lifecycle.js.map +0 -1
- package/lib/commonjs/component-stack/hooks/use-component-navigation-builder.js +0 -321
- package/lib/commonjs/component-stack/hooks/use-component-navigation-builder.js.map +0 -1
- package/lib/commonjs/component-stack/hooks/use-component-navigation.js +0 -28
- package/lib/commonjs/component-stack/hooks/use-component-navigation.js.map +0 -1
- package/lib/commonjs/component-stack/navigators/create-component-navigator.js +0 -97
- package/lib/commonjs/component-stack/navigators/create-component-navigator.js.map +0 -1
- package/lib/commonjs/shared/components/overlay/variations/container-overlay.js +0 -99
- package/lib/commonjs/shared/components/overlay/variations/container-overlay.js.map +0 -1
- package/lib/module/blank-stack/components/screens.js.map +0 -1
- package/lib/module/blank-stack/controllers/blank-stack-lifecycle.js.map +0 -1
- package/lib/module/component-stack/components/component-view.js +0 -58
- package/lib/module/component-stack/components/component-view.js.map +0 -1
- package/lib/module/component-stack/components/screens.js +0 -58
- package/lib/module/component-stack/components/screens.js.map +0 -1
- package/lib/module/component-stack/controllers/component-stack-lifecycle.js +0 -76
- package/lib/module/component-stack/controllers/component-stack-lifecycle.js.map +0 -1
- package/lib/module/component-stack/hooks/use-component-navigation-builder.js +0 -316
- package/lib/module/component-stack/hooks/use-component-navigation-builder.js.map +0 -1
- package/lib/module/component-stack/hooks/use-component-navigation.js +0 -25
- package/lib/module/component-stack/hooks/use-component-navigation.js.map +0 -1
- package/lib/module/component-stack/navigators/create-component-navigator.js +0 -91
- package/lib/module/component-stack/navigators/create-component-navigator.js.map +0 -1
- package/lib/module/shared/components/overlay/variations/container-overlay.js +0 -97
- package/lib/module/shared/components/overlay/variations/container-overlay.js.map +0 -1
- package/lib/typescript/blank-stack/components/screens.d.ts.map +0 -1
- package/lib/typescript/blank-stack/controllers/blank-stack-lifecycle.d.ts +0 -9
- package/lib/typescript/blank-stack/controllers/blank-stack-lifecycle.d.ts.map +0 -1
- package/lib/typescript/component-stack/components/component-view.d.ts +0 -4
- package/lib/typescript/component-stack/components/component-view.d.ts.map +0 -1
- package/lib/typescript/component-stack/components/screens.d.ts +0 -9
- package/lib/typescript/component-stack/components/screens.d.ts.map +0 -1
- package/lib/typescript/component-stack/controllers/component-stack-lifecycle.d.ts +0 -10
- package/lib/typescript/component-stack/controllers/component-stack-lifecycle.d.ts.map +0 -1
- package/lib/typescript/component-stack/hooks/use-component-navigation-builder.d.ts +0 -19
- package/lib/typescript/component-stack/hooks/use-component-navigation-builder.d.ts.map +0 -1
- package/lib/typescript/component-stack/hooks/use-component-navigation.d.ts +0 -19
- package/lib/typescript/component-stack/hooks/use-component-navigation.d.ts.map +0 -1
- package/lib/typescript/component-stack/navigators/create-component-navigator.d.ts +0 -35
- package/lib/typescript/component-stack/navigators/create-component-navigator.d.ts.map +0 -1
- package/lib/typescript/shared/components/overlay/variations/container-overlay.d.ts +0 -8
- package/lib/typescript/shared/components/overlay/variations/container-overlay.d.ts.map +0 -1
- package/src/component-stack/components/component-view.tsx +0 -72
- package/src/component-stack/components/screens.tsx +0 -86
- package/src/component-stack/controllers/component-stack-lifecycle.tsx +0 -80
- package/src/component-stack/hooks/use-component-navigation-builder.tsx +0 -388
- package/src/component-stack/hooks/use-component-navigation.tsx +0 -22
- package/src/component-stack/navigators/create-component-navigator.tsx +0 -104
- package/src/shared/components/overlay/variations/container-overlay.tsx +0 -98
|
@@ -18,6 +18,7 @@ import type {
|
|
|
18
18
|
BaseStackScene,
|
|
19
19
|
BaseStackState,
|
|
20
20
|
} from "../../types/stack.types";
|
|
21
|
+
import { useStackCoreContext } from "./core.provider";
|
|
21
22
|
import { calculateActiveScreensLimit } from "./helpers/active-screens-limit";
|
|
22
23
|
import { useLocalRoutes } from "./helpers/use-local-routes";
|
|
23
24
|
|
|
@@ -77,6 +78,7 @@ function useManagedStackValue<
|
|
|
77
78
|
): ManagedStackContextValue<TDescriptor> & {
|
|
78
79
|
stackContextValue: StackContextValue;
|
|
79
80
|
} {
|
|
81
|
+
const { flags } = useStackCoreContext();
|
|
80
82
|
const { state, handleCloseRoute, closingRouteKeys } = useLocalRoutes(props);
|
|
81
83
|
|
|
82
84
|
const { scenes, activeScreensLimit, shouldShowFloatOverlay, routeKeys } =
|
|
@@ -143,7 +145,7 @@ function useManagedStackValue<
|
|
|
143
145
|
// StackContext value - for overlays via useStack()
|
|
144
146
|
const stackContextValue = useMemo<StackContextValue>(
|
|
145
147
|
() => ({
|
|
146
|
-
flags
|
|
148
|
+
flags,
|
|
147
149
|
routeKeys,
|
|
148
150
|
routes: state.routes as Route<string>[],
|
|
149
151
|
descriptors: state.descriptors as Record<string, BaseStackDescriptor>,
|
|
@@ -160,6 +162,7 @@ function useManagedStackValue<
|
|
|
160
162
|
focusedIndex,
|
|
161
163
|
stackProgress,
|
|
162
164
|
optimisticFocusedIndex,
|
|
165
|
+
flags,
|
|
163
166
|
],
|
|
164
167
|
);
|
|
165
168
|
|
|
@@ -196,7 +199,7 @@ function useManagedStackValue<
|
|
|
196
199
|
|
|
197
200
|
/**
|
|
198
201
|
* HOC that wraps component with ManagedStack provider AND StackContext.
|
|
199
|
-
* Used by blank-stack
|
|
202
|
+
* Used by blank-stack which manages local route state for closing animations.
|
|
200
203
|
* Generic over descriptor type - defaults to BaseStackDescriptor.
|
|
201
204
|
*/
|
|
202
205
|
function withManagedStack<
|
|
@@ -5,7 +5,7 @@ import type {
|
|
|
5
5
|
ScreenInterpolationProps,
|
|
6
6
|
} from "./animation.types";
|
|
7
7
|
|
|
8
|
-
export type OverlayMode = "float" | "screen"
|
|
8
|
+
export type OverlayMode = "float" | "screen";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Props passed to overlay components.
|
|
@@ -47,16 +47,3 @@ export type OverlayProps<TNavigation = unknown> = {
|
|
|
47
47
|
*/
|
|
48
48
|
screenAnimation: DerivedValue<ScreenInterpolationProps>;
|
|
49
49
|
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Props passed to container overlay components.
|
|
53
|
-
* Extends OverlayProps with children - the screen content to wrap.
|
|
54
|
-
*/
|
|
55
|
-
export type ContainerOverlayProps<TNavigation = unknown> =
|
|
56
|
-
OverlayProps<TNavigation> & {
|
|
57
|
-
/**
|
|
58
|
-
* The screen content to be wrapped by the container overlay.
|
|
59
|
-
* This allows the overlay to act as a wrapper (e.g., MaskedView) around screens.
|
|
60
|
-
*/
|
|
61
|
-
children: React.ReactNode;
|
|
62
|
-
};
|
|
@@ -4,11 +4,7 @@ import type {
|
|
|
4
4
|
TransitionSpec,
|
|
5
5
|
} from "./animation.types";
|
|
6
6
|
import type { GestureActivationArea, GestureDirection } from "./gesture.types";
|
|
7
|
-
import type {
|
|
8
|
-
ContainerOverlayProps,
|
|
9
|
-
OverlayMode,
|
|
10
|
-
OverlayProps,
|
|
11
|
-
} from "./overlay.types";
|
|
7
|
+
import type { OverlayMode, OverlayProps } from "./overlay.types";
|
|
12
8
|
|
|
13
9
|
export type Layout = {
|
|
14
10
|
width: number;
|
|
@@ -111,9 +107,7 @@ export type ScreenTransitionConfig = {
|
|
|
111
107
|
* Function that returns a React Element to display as an overlay.
|
|
112
108
|
* For container overlays (overlayMode: 'container'), use ContainerOverlayProps which includes children.
|
|
113
109
|
*/
|
|
114
|
-
overlay?:
|
|
115
|
-
| ((props: OverlayProps) => React.ReactNode)
|
|
116
|
-
| ((props: ContainerOverlayProps) => React.ReactNode);
|
|
110
|
+
overlay?: (props: OverlayProps) => React.ReactNode;
|
|
117
111
|
|
|
118
112
|
/**
|
|
119
113
|
* How the overlay is positioned relative to screens.
|
|
@@ -2,7 +2,6 @@ import type { ScreenTransitionConfig } from "./screen.types";
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Base route interface - minimal contract all stacks satisfy.
|
|
5
|
-
* React Navigation routes and ComponentStack routes both extend this.
|
|
6
5
|
* Uses `object` for params to be compatible with React Navigation's `Readonly<object | undefined>`.
|
|
7
6
|
*/
|
|
8
7
|
export interface BaseStackRoute {
|
|
@@ -22,7 +21,7 @@ export interface BaseStackNavigation {
|
|
|
22
21
|
|
|
23
22
|
/**
|
|
24
23
|
* Base descriptor interface - generic over route, navigation, and options.
|
|
25
|
-
* All stack descriptors (BlankStack, NativeStack
|
|
24
|
+
* All stack descriptors (BlankStack, NativeStack) extend this.
|
|
26
25
|
*/
|
|
27
26
|
export interface BaseStackDescriptor<
|
|
28
27
|
TRoute extends BaseStackRoute = BaseStackRoute,
|
|
@@ -57,3 +56,8 @@ export interface BaseStackState<
|
|
|
57
56
|
index: number;
|
|
58
57
|
key: string;
|
|
59
58
|
}
|
|
59
|
+
|
|
60
|
+
export enum StackType {
|
|
61
|
+
NATIVE = "native",
|
|
62
|
+
BLANK = "blank",
|
|
63
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { interpolate, type MeasuredDimensions } from "react-native-reanimated";
|
|
2
2
|
import {
|
|
3
3
|
EMPTY_BOUND_HELPER_RESULT,
|
|
4
4
|
EMPTY_BOUND_HELPER_RESULT_RAW,
|
|
@@ -227,9 +227,26 @@ export const createBounds = (
|
|
|
227
227
|
});
|
|
228
228
|
};
|
|
229
229
|
|
|
230
|
+
const interpolateBounds = (
|
|
231
|
+
tag: string,
|
|
232
|
+
property: keyof MeasuredDimensions,
|
|
233
|
+
fallback?: number,
|
|
234
|
+
): number => {
|
|
235
|
+
"worklet";
|
|
236
|
+
const link = getLink(tag);
|
|
237
|
+
const entering = !props.next;
|
|
238
|
+
const range = entering ? ENTER_RANGE : EXIT_RANGE;
|
|
239
|
+
|
|
240
|
+
const sourceValue = link?.source?.bounds?.[property] ?? fallback ?? 0;
|
|
241
|
+
const destValue = link?.destination?.bounds?.[property] ?? fallback ?? 0;
|
|
242
|
+
|
|
243
|
+
return interpolate(props.progress, range, [sourceValue, destValue], "clamp");
|
|
244
|
+
};
|
|
245
|
+
|
|
230
246
|
return Object.assign(boundsFunction, {
|
|
231
247
|
getSnapshot,
|
|
232
248
|
getLink,
|
|
233
249
|
interpolateStyle,
|
|
250
|
+
interpolateBounds,
|
|
234
251
|
}) as BoundsAccessor;
|
|
235
252
|
};
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import type { useClosingRouteKeys } from "../../hooks/navigation/use-closing-route-keys";
|
|
2
|
-
import { AnimationStore } from "../../stores/animation.store";
|
|
3
|
-
import { GestureStore } from "../../stores/gesture.store";
|
|
4
|
-
import { readSharedValue } from "../read-shared-value";
|
|
5
2
|
import { composeDescriptors } from "./compose-descriptors";
|
|
6
3
|
|
|
7
4
|
interface RouteWithKey {
|
|
@@ -19,24 +16,6 @@ type SyncRoutesWithRemovedParams<
|
|
|
19
16
|
closingRouteKeys: ReturnType<typeof useClosingRouteKeys>;
|
|
20
17
|
};
|
|
21
18
|
|
|
22
|
-
const isRouteDismissing = (routeKey: string): boolean => {
|
|
23
|
-
const gestures = GestureStore.getRouteGestures(routeKey);
|
|
24
|
-
const animations = AnimationStore.getAll(routeKey);
|
|
25
|
-
|
|
26
|
-
const isBeingDragged = readSharedValue(gestures.isDragging) === 1;
|
|
27
|
-
const isProgrammaticallyDismissing =
|
|
28
|
-
readSharedValue(gestures.isDismissing) === 1;
|
|
29
|
-
const isClosing = readSharedValue(animations.closing) === 1;
|
|
30
|
-
const hasNotFullyEntered = readSharedValue(animations.progress) < 0.5;
|
|
31
|
-
|
|
32
|
-
return (
|
|
33
|
-
isBeingDragged ||
|
|
34
|
-
isProgrammaticallyDismissing ||
|
|
35
|
-
isClosing ||
|
|
36
|
-
hasNotFullyEntered
|
|
37
|
-
);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
19
|
/**
|
|
41
20
|
* Synchronizes routes while handling removed routes that may still be animating out.
|
|
42
21
|
* This manages the complex logic of keeping closing routes visible during transitions.
|
|
@@ -62,54 +41,41 @@ export const syncRoutesWithRemoved = <
|
|
|
62
41
|
};
|
|
63
42
|
}
|
|
64
43
|
|
|
65
|
-
//
|
|
66
|
-
|
|
67
|
-
const stableRoutes: Route[] = [];
|
|
68
|
-
const dismissingMiddleRoutes: Route[] = [];
|
|
69
|
-
|
|
70
|
-
for (let i = 0; i < nextRoutes.length; i++) {
|
|
71
|
-
const route = nextRoutes[i];
|
|
72
|
-
const isFirstOrLast = i === 0 || i === nextRoutes.length - 1;
|
|
73
|
-
|
|
74
|
-
if (!isFirstOrLast && isRouteDismissing(route.key)) {
|
|
75
|
-
closingRouteKeys.add(route.key);
|
|
76
|
-
dismissingMiddleRoutes.push(route);
|
|
77
|
-
} else {
|
|
78
|
-
stableRoutes.push(route);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const routes: Route[] = [...stableRoutes, ...dismissingMiddleRoutes];
|
|
44
|
+
// Start with next routes, will mutate if needed
|
|
45
|
+
const derivedRoutes: Route[] = nextRoutes.slice();
|
|
83
46
|
|
|
84
|
-
//
|
|
47
|
+
// Get focused (last) routes for comparison
|
|
85
48
|
const previousFocusedRoute = prevRoutes[prevRoutes.length - 1];
|
|
86
49
|
const nextFocusedRoute = nextRoutes[nextRoutes.length - 1];
|
|
87
|
-
|
|
50
|
+
|
|
51
|
+
// Handle focus changes between routes
|
|
52
|
+
if (
|
|
88
53
|
previousFocusedRoute &&
|
|
89
54
|
nextFocusedRoute &&
|
|
90
|
-
previousFocusedRoute.key !== nextFocusedRoute.key
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const nextRouteExistedBefore = prevRoutes.some(
|
|
55
|
+
previousFocusedRoute.key !== nextFocusedRoute.key
|
|
56
|
+
) {
|
|
57
|
+
const nextRouteWasPresent = prevRoutes.some(
|
|
94
58
|
(route) => route.key === nextFocusedRoute.key,
|
|
95
59
|
);
|
|
96
|
-
const
|
|
60
|
+
const previousRouteStillPresent = nextRoutes.some(
|
|
97
61
|
(route) => route.key === previousFocusedRoute.key,
|
|
98
62
|
);
|
|
99
63
|
|
|
100
|
-
if (
|
|
101
|
-
//
|
|
64
|
+
if (nextRouteWasPresent && !previousRouteStillPresent) {
|
|
65
|
+
// Previous route was removed, mark as closing
|
|
102
66
|
closingRouteKeys.add(previousFocusedRoute.key);
|
|
103
|
-
|
|
67
|
+
|
|
68
|
+
derivedRoutes.push(previousFocusedRoute);
|
|
104
69
|
} else {
|
|
105
|
-
//
|
|
70
|
+
// Next route is now active, not closing
|
|
106
71
|
closingRouteKeys.remove(nextFocusedRoute.key);
|
|
107
72
|
|
|
108
|
-
if (!
|
|
109
|
-
// Previous route
|
|
110
|
-
const insertIndex = Math.max(routes.length - 1, 0);
|
|
111
|
-
routes.splice(insertIndex, 0, previousFocusedRoute);
|
|
73
|
+
if (!previousRouteStillPresent) {
|
|
74
|
+
// Previous route needs to be inserted for transition
|
|
112
75
|
closingRouteKeys.remove(previousFocusedRoute.key);
|
|
76
|
+
|
|
77
|
+
const insertIndex = Math.max(derivedRoutes.length - 1, 0);
|
|
78
|
+
derivedRoutes.splice(insertIndex, 0, previousFocusedRoute);
|
|
113
79
|
}
|
|
114
80
|
}
|
|
115
81
|
} else if (nextFocusedRoute) {
|
|
@@ -117,8 +83,8 @@ export const syncRoutesWithRemoved = <
|
|
|
117
83
|
closingRouteKeys.remove(nextFocusedRoute.key);
|
|
118
84
|
}
|
|
119
85
|
|
|
120
|
-
// Clean up
|
|
121
|
-
const activeKeys = new Set(
|
|
86
|
+
// Clean up closing keys that are no longer in the route list
|
|
87
|
+
const activeKeys = new Set(derivedRoutes.map((route) => route.key));
|
|
122
88
|
for (const key of Array.from(closingRouteKeys.ref.current)) {
|
|
123
89
|
if (!activeKeys.has(key)) {
|
|
124
90
|
closingRouteKeys.remove(key);
|
|
@@ -126,7 +92,11 @@ export const syncRoutesWithRemoved = <
|
|
|
126
92
|
}
|
|
127
93
|
|
|
128
94
|
return {
|
|
129
|
-
routes,
|
|
130
|
-
descriptors: composeDescriptors(
|
|
95
|
+
routes: derivedRoutes,
|
|
96
|
+
descriptors: composeDescriptors(
|
|
97
|
+
derivedRoutes,
|
|
98
|
+
nextDescriptors,
|
|
99
|
+
prevDescriptors,
|
|
100
|
+
),
|
|
131
101
|
};
|
|
132
102
|
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_managed","_animation","_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","useManagedStackContext","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":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeReanimated","_useHighRefreshRate","_useStableCallback","_interopRequireDefault","_keys","_managed","_animation","_startScreenTransition","_resetStoresForScreen","e","__esModule","default","BlankStackScreenLifecycleController","children","current","useKeys","handleCloseRoute","closingRouteKeysShared","useManagedStackContext","animations","AnimationStore","getAll","route","key","deactivateHighRefreshRate","activateHighRefreshRate","useHighRefreshRate","handleInitialize","useStableCallback","startScreenTransition","target","spec","options","transitionSpec","onAnimationFinish","handleCleanup","resetStoresForScreen","handleCloseEnd","finished","useAnimatedReaction","keys","value","includes","runOnJS","useLayoutEffect","exports"],"sourceRoot":"../../../../src","sources":["blank-stack/controllers/blank-stack-lifecycle.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,sBAAA,GAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA;AAAkF,SAAAI,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOlF;AACA;AACA;AACO,MAAMG,mCAAmC,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAC3E,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAuB,CAAC;EACnD,MAAM;IAAEC,gBAAgB;IAAEC;EAAuB,CAAC,GAAG,IAAAC,+BAAsB,EAAC,CAAC;EAE7E,MAAMC,UAAU,GAAGC,yBAAc,CAACC,MAAM,CAACP,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC;EAE3D,MAAM;IAAEC,yBAAyB;IAAEC;EAAwB,CAAC,GAC3D,IAAAC,sCAAkB,EAACZ,OAAO,CAAC;EAE5B,MAAMa,gBAAgB,GAAG,IAAAC,0BAAiB,EAAC,MAAM;IAChDH,uBAAuB,CAAC,CAAC;IACzB,IAAAI,4CAAqB,EAAC;MACrBC,MAAM,EAAE,MAAM;MACdC,IAAI,EAAEjB,OAAO,CAACkB,OAAO,CAACC,cAAc;MACpCd,UAAU;MACVe,iBAAiB,EAAEV;IACpB,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,MAAMW,aAAa,GAAG,IAAAP,0BAAiB,EAAC,MAAM;IAC7C,IAAAQ,0CAAoB,EAACtB,OAAO,CAAC;EAC9B,CAAC,CAAC;EAEF,MAAMuB,cAAc,GAAG,IAAAT,0BAAiB,EAAEU,QAAiB,IAAK;IAC/Dd,yBAAyB,CAAC,CAAC;IAC3B,IAAI,CAACc,QAAQ,EAAE;MACd;IACD;IACAtB,gBAAgB,CAAC;MAAEM,KAAK,EAAER,OAAO,CAACQ;IAAM,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEF,IAAAiB,0CAAmB,EAClB,OAAO;IACNC,IAAI,EAAEvB,sBAAsB,CAACwB;EAC9B,CAAC,CAAC,EACF,CAAC;IAAED;EAAK,CAAC,KAAK;IACb,IAAI,CAACA,IAAI,CAACE,QAAQ,CAAC5B,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC,EAAE;MACtC;IACD;IAEA,IAAAoB,8BAAO,EAAClB,uBAAuB,CAAC,CAAC,CAAC;IAClC,IAAAI,4CAAqB,EAAC;MACrBC,MAAM,EAAE,OAAO;MACfC,IAAI,EAAEjB,OAAO,CAACkB,OAAO,CAACC,cAAc;MACpCd,UAAU;MACVe,iBAAiB,EAAEG;IACpB,CAAC,CAAC;EACH,CACD,CAAC;EAED,IAAAO,sBAAe,EAAC,MAAM;IACrBjB,gBAAgB,CAAC,CAAC;IAClB,OAAO,MAAM;MACZQ,aAAa,CAAC,CAAC;IAChB,CAAC;EACF,CAAC,EAAE,CAACR,gBAAgB,EAAEQ,aAAa,CAAC,CAAC;EAErC,OAAOtB,QAAQ;AAChB,CAAC;AAACgC,OAAA,CAAAjC,mCAAA,GAAAA,mCAAA","ignoreList":[]}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ComponentView = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var React = _react;
|
|
9
|
-
var _reactNative = require("react-native");
|
|
10
|
-
var _overlay = require("../../shared/components/overlay");
|
|
11
|
-
var _screenComposer = require("../../shared/providers/screen/screen-composer");
|
|
12
|
-
var _core = require("../../shared/providers/stack/core.provider");
|
|
13
|
-
var _managed = require("../../shared/providers/stack/managed.provider");
|
|
14
|
-
var _componentStackLifecycle = require("../controllers/component-stack-lifecycle");
|
|
15
|
-
var _screens = require("./screens");
|
|
16
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
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); }
|
|
18
|
-
const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
19
|
-
descriptor
|
|
20
|
-
}) {
|
|
21
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
22
|
-
children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Screen, {}), descriptor.render()]
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
const ComponentView = exports.ComponentView = (0, _core.withStackCore)({
|
|
26
|
-
TRANSITIONS_ALWAYS_ON: true
|
|
27
|
-
}, (0, _managed.withManagedStack)(({
|
|
28
|
-
scenes,
|
|
29
|
-
shouldShowFloatOverlay
|
|
30
|
-
}) => {
|
|
31
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
32
|
-
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Container, {
|
|
33
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
34
|
-
style: styles.container,
|
|
35
|
-
children: scenes.map((scene, sceneIndex) => {
|
|
36
|
-
const descriptor = scene.descriptor;
|
|
37
|
-
const route = scene.route;
|
|
38
|
-
const previousDescriptor = scenes[sceneIndex - 1]?.descriptor;
|
|
39
|
-
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor;
|
|
40
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_screens.Screen, {
|
|
41
|
-
index: sceneIndex,
|
|
42
|
-
routeKey: route.key,
|
|
43
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
|
|
44
|
-
previous: previousDescriptor,
|
|
45
|
-
current: descriptor,
|
|
46
|
-
next: nextDescriptor,
|
|
47
|
-
LifecycleController: _componentStackLifecycle.ComponentStackScreenLifecycleController,
|
|
48
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
|
|
49
|
-
descriptor: descriptor
|
|
50
|
-
}, route.key)
|
|
51
|
-
})
|
|
52
|
-
}, route.key);
|
|
53
|
-
})
|
|
54
|
-
})
|
|
55
|
-
})]
|
|
56
|
-
});
|
|
57
|
-
}));
|
|
58
|
-
const styles = _reactNative.StyleSheet.create({
|
|
59
|
-
container: {
|
|
60
|
-
flex: 1
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
//# sourceMappingURL=component-view.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_overlay","_screenComposer","_core","_managed","_componentStackLifecycle","_screens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SceneView","memo","descriptor","jsxs","Fragment","children","options","overlayMode","jsx","Overlay","Screen","render","ComponentView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","withManagedStack","scenes","shouldShowFloatOverlay","Float","Container","View","style","styles","container","map","scene","sceneIndex","route","previousDescriptor","nextDescriptor","index","routeKey","key","ScreenComposer","previous","current","next","LifecycleController","ComponentStackScreenLifecycleController","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-view.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,IAAAC,KAAA,GAAAH,MAAA;AAE/B,IAAAI,YAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,wBAAA,GAAAP,OAAA;AAEA,IAAAQ,QAAA,GAAAR,OAAA;AAAmC,IAAAS,WAAA,GAAAT,OAAA;AAAA,SAAAD,wBAAAW,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAb,uBAAA,YAAAA,CAAAW,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;AAMnC,MAAMkB,SAAS,gBAAG5B,KAAK,CAAC6B,IAAI,CAAC,SAASD,SAASA,CAAC;EAC/CE;AACe,CAAC,EAAE;EAClB,oBACC,IAAAtB,WAAA,CAAAuB,IAAA,EAAAvB,WAAA,CAAAwB,QAAA;IAAAC,QAAA,GACEH,UAAU,CAACI,OAAO,CAACC,WAAW,KAAK,QAAQ,iBAAI,IAAA3B,WAAA,CAAA4B,GAAA,EAAClC,QAAA,CAAAmC,OAAO,CAACC,MAAM,IAAE,CAAC,EACjER,UAAU,CAACS,MAAM,CAAC,CAAC;EAAA,CACnB,CAAC;AAEL,CAAC,CAAC;AAEK,MAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,IAAAE,mBAAa,EACzC;EAAEC,qBAAqB,EAAE;AAAK,CAAC,EAC/B,IAAAC,yBAAgB,EACf,CAAC;EAAEC,MAAM;EAAEC;AAAuB,CAAC,KAAK;EACvC,oBACC,IAAAtC,WAAA,CAAAuB,IAAA,EAAClC,MAAA,CAAAmC,QAAQ;IAAAC,QAAA,GACPa,sBAAsB,gBAAG,IAAAtC,WAAA,CAAA4B,GAAA,EAAClC,QAAA,CAAAmC,OAAO,CAACU,KAAK,IAAE,CAAC,GAAG,IAAI,eAClD,IAAAvC,WAAA,CAAA4B,GAAA,EAAClC,QAAA,CAAAmC,OAAO,CAACW,SAAS;MAAAf,QAAA,eACjB,IAAAzB,WAAA,CAAA4B,GAAA,EAACnC,YAAA,CAAAgD,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAAnB,QAAA,EAC5BY,MAAM,CAACQ,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;UAClC,MAAMzB,UAAU,GAAGwB,KAAK,CAACxB,UAAU;UACnC,MAAM0B,KAAK,GAAGF,KAAK,CAACE,KAAK;UAEzB,MAAMC,kBAAkB,GAAGZ,MAAM,CAACU,UAAU,GAAG,CAAC,CAAC,EAAEzB,UAAU;UAC7D,MAAM4B,cAAc,GAAGb,MAAM,CAACU,UAAU,GAAG,CAAC,CAAC,EAAEzB,UAAU;UAEzD,oBACC,IAAAtB,WAAA,CAAA4B,GAAA,EAAC7B,QAAA,CAAA+B,MAAM;YAENqB,KAAK,EAAEJ,UAAW;YAClBK,QAAQ,EAAEJ,KAAK,CAACK,GAAI;YAAA5B,QAAA,eAEpB,IAAAzB,WAAA,CAAA4B,GAAA,EAACjC,eAAA,CAAA2D,cAAc;cACdC,QAAQ,EAAEN,kBAAmB;cAC7BO,OAAO,EAAElC,UAAW;cACpBmC,IAAI,EAAEP,cAAe;cACrBQ,mBAAmB,EAClBC,gEACA;cAAAlC,QAAA,eAED,IAAAzB,WAAA,CAAA4B,GAAA,EAACR,SAAS;gBAAiBE,UAAU,EAAEA;cAAW,GAAlC0B,KAAK,CAACK,GAA8B;YAAC,CACtC;UAAC,GAbZL,KAAK,CAACK,GAcJ,CAAC;QAEX,CAAC;MAAC,CACG;IAAC,CACW,CAAC;EAAA,CACX,CAAC;AAEb,CACD,CACD,CAAC;AAED,MAAMV,MAAM,GAAGiB,uBAAU,CAACC,MAAM,CAAC;EAChCjB,SAAS,EAAE;IAAEkB,IAAI,EAAE;EAAE;AACtB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.Screen = void 0;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
9
|
-
var _managed = require("../../shared/providers/stack/managed.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
|
-
var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
|
|
14
|
-
ScreenActivity[ScreenActivity["INACTIVE"] = 0] = "INACTIVE";
|
|
15
|
-
ScreenActivity[ScreenActivity["TRANSITIONING_OR_BELOW_TOP"] = 1] = "TRANSITIONING_OR_BELOW_TOP";
|
|
16
|
-
ScreenActivity[ScreenActivity["ON_TOP"] = 2] = "ON_TOP";
|
|
17
|
-
return ScreenActivity;
|
|
18
|
-
}(ScreenActivity || {});
|
|
19
|
-
const EPSILON = 1e-5;
|
|
20
|
-
const Screen = ({
|
|
21
|
-
routeKey,
|
|
22
|
-
index,
|
|
23
|
-
children
|
|
24
|
-
}) => {
|
|
25
|
-
const {
|
|
26
|
-
activeScreensLimit,
|
|
27
|
-
routes
|
|
28
|
-
} = (0, _managed.useManagedStackContext)();
|
|
29
|
-
const routesLength = routes.length;
|
|
30
|
-
const sceneProgress = _animation.AnimationStore.getAnimation(routeKey, "progress");
|
|
31
|
-
const sceneClosing = _animation.AnimationStore.getAnimation(routeKey, "closing");
|
|
32
|
-
const screenActivity = (0, _reactNativeReanimated.useSharedValue)(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
|
|
33
|
-
(0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
34
|
-
if (!sceneProgress) {
|
|
35
|
-
screenActivity.set(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
if (index < routesLength - activeScreensLimit - 1) {
|
|
39
|
-
screenActivity.set(ScreenActivity.INACTIVE);
|
|
40
|
-
} else {
|
|
41
|
-
const outputValue = index === routesLength - 1 ? ScreenActivity.ON_TOP : index >= routesLength - activeScreensLimit ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
|
|
42
|
-
const v = (0, _reactNativeReanimated.interpolate)(sceneProgress.get(), [0, 1 - EPSILON, 1], [1, 1, outputValue], "clamp");
|
|
43
|
-
const next = Math.trunc(v) ?? ScreenActivity.TRANSITIONING_OR_BELOW_TOP;
|
|
44
|
-
if (next !== screenActivity.get()) {
|
|
45
|
-
screenActivity.set(next);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
50
|
-
// const activity = screenActivity.get();
|
|
51
|
-
return {
|
|
52
|
-
// activityState: activity,
|
|
53
|
-
// shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
|
|
54
|
-
pointerEvents: sceneClosing.get() ? "none" : "box-none"
|
|
55
|
-
};
|
|
56
|
-
});
|
|
57
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
58
|
-
style: _reactNative.StyleSheet.absoluteFill,
|
|
59
|
-
animatedProps: animatedProps,
|
|
60
|
-
children: children
|
|
61
|
-
});
|
|
62
|
-
};
|
|
63
|
-
exports.Screen = Screen;
|
|
64
|
-
//# sourceMappingURL=screens.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_managed","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ScreenActivity","EPSILON","Screen","routeKey","index","children","activeScreensLimit","routes","useManagedStackContext","routesLength","length","sceneProgress","AnimationStore","getAnimation","sceneClosing","screenActivity","useSharedValue","TRANSITIONING_OR_BELOW_TOP","useDerivedValue","INACTIVE","outputValue","ON_TOP","v","interpolate","next","Math","trunc","animatedProps","useAnimatedProps","pointerEvents","jsx","View","style","StyleSheet","absoluteFill","exports"],"sourceRoot":"../../../../src","sources":["component-stack/components/screens.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ComponentStackScreenLifecycleController = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
-
var _useHighRefreshRate = require("../../shared/hooks/animation/use-high-refresh-rate");
|
|
10
|
-
var _useStableCallback = _interopRequireDefault(require("../../shared/hooks/use-stable-callback"));
|
|
11
|
-
var _keys = require("../../shared/providers/screen/keys.provider");
|
|
12
|
-
var _managed = require("../../shared/providers/stack/managed.provider");
|
|
13
|
-
var _animation = require("../../shared/stores/animation.store");
|
|
14
|
-
var _startScreenTransition = require("../../shared/utils/animation/start-screen-transition");
|
|
15
|
-
var _resetStoresForScreen = require("../../shared/utils/reset-stores-for-screen");
|
|
16
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
/**
|
|
18
|
-
* Lifecycle controller built out for Component Stack implementation.
|
|
19
|
-
* Uses the shared ManagedStackContext for closing route handling.
|
|
20
|
-
*/
|
|
21
|
-
const ComponentStackScreenLifecycleController = ({
|
|
22
|
-
children
|
|
23
|
-
}) => {
|
|
24
|
-
const {
|
|
25
|
-
current
|
|
26
|
-
} = (0, _keys.useKeys)();
|
|
27
|
-
const {
|
|
28
|
-
handleCloseRoute,
|
|
29
|
-
closingRouteKeysShared
|
|
30
|
-
} = (0, _managed.useManagedStackContext)();
|
|
31
|
-
const animations = _animation.AnimationStore.getAll(current.route.key);
|
|
32
|
-
const {
|
|
33
|
-
deactivateHighRefreshRate,
|
|
34
|
-
activateHighRefreshRate
|
|
35
|
-
} = (0, _useHighRefreshRate.useHighRefreshRate)(current);
|
|
36
|
-
const handleInitialize = (0, _useStableCallback.default)(() => {
|
|
37
|
-
activateHighRefreshRate();
|
|
38
|
-
(0, _startScreenTransition.startScreenTransition)({
|
|
39
|
-
target: "open",
|
|
40
|
-
spec: current.options.transitionSpec,
|
|
41
|
-
animations,
|
|
42
|
-
onAnimationFinish: deactivateHighRefreshRate
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
const handleCleanup = (0, _useStableCallback.default)(() => {
|
|
46
|
-
(0, _resetStoresForScreen.resetStoresForScreen)(current);
|
|
47
|
-
});
|
|
48
|
-
const handleCloseEnd = (0, _useStableCallback.default)(finished => {
|
|
49
|
-
deactivateHighRefreshRate();
|
|
50
|
-
if (!finished) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
handleCloseRoute({
|
|
54
|
-
route: current.route
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
(0, _reactNativeReanimated.useAnimatedReaction)(() => ({
|
|
58
|
-
keys: closingRouteKeysShared.value
|
|
59
|
-
}), ({
|
|
60
|
-
keys
|
|
61
|
-
}) => {
|
|
62
|
-
if (!keys.includes(current.route.key)) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
(0, _reactNativeReanimated.runOnJS)(activateHighRefreshRate)();
|
|
66
|
-
(0, _startScreenTransition.startScreenTransition)({
|
|
67
|
-
target: "close",
|
|
68
|
-
spec: current.options.transitionSpec,
|
|
69
|
-
animations,
|
|
70
|
-
onAnimationFinish: handleCloseEnd
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
(0, _react.useLayoutEffect)(() => {
|
|
74
|
-
handleInitialize();
|
|
75
|
-
return () => {
|
|
76
|
-
handleCleanup();
|
|
77
|
-
};
|
|
78
|
-
}, [handleInitialize, handleCleanup]);
|
|
79
|
-
return children;
|
|
80
|
-
};
|
|
81
|
-
exports.ComponentStackScreenLifecycleController = ComponentStackScreenLifecycleController;
|
|
82
|
-
//# sourceMappingURL=component-stack-lifecycle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeReanimated","_useHighRefreshRate","_useStableCallback","_interopRequireDefault","_keys","_managed","_animation","_startScreenTransition","_resetStoresForScreen","e","__esModule","default","ComponentStackScreenLifecycleController","children","current","useKeys","handleCloseRoute","closingRouteKeysShared","useManagedStackContext","animations","AnimationStore","getAll","route","key","deactivateHighRefreshRate","activateHighRefreshRate","useHighRefreshRate","handleInitialize","useStableCallback","startScreenTransition","target","spec","options","transitionSpec","onAnimationFinish","handleCleanup","resetStoresForScreen","handleCloseEnd","finished","useAnimatedReaction","keys","value","includes","runOnJS","useLayoutEffect","exports"],"sourceRoot":"../../../../src","sources":["component-stack/controllers/component-stack-lifecycle.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,sBAAA,GAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA;AAAkF,SAAAI,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOlF;AACA;AACA;AACA;AACO,MAAMG,uCAAuC,GAAGA,CAAC;EACvDC;AACM,CAAC,KAAK;EACZ,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAA2B,CAAC;EACvD,MAAM;IAAEC,gBAAgB;IAAEC;EAAuB,CAAC,GAAG,IAAAC,+BAAsB,EAAC,CAAC;EAE7E,MAAMC,UAAU,GAAGC,yBAAc,CAACC,MAAM,CAACP,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC;EAE3D,MAAM;IAAEC,yBAAyB;IAAEC;EAAwB,CAAC,GAC3D,IAAAC,sCAAkB,EAACZ,OAAO,CAAC;EAE5B,MAAMa,gBAAgB,GAAG,IAAAC,0BAAiB,EAAC,MAAM;IAChDH,uBAAuB,CAAC,CAAC;IACzB,IAAAI,4CAAqB,EAAC;MACrBC,MAAM,EAAE,MAAM;MACdC,IAAI,EAAEjB,OAAO,CAACkB,OAAO,CAACC,cAAc;MACpCd,UAAU;MACVe,iBAAiB,EAAEV;IACpB,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,MAAMW,aAAa,GAAG,IAAAP,0BAAiB,EAAC,MAAM;IAC7C,IAAAQ,0CAAoB,EAACtB,OAAO,CAAC;EAC9B,CAAC,CAAC;EAEF,MAAMuB,cAAc,GAAG,IAAAT,0BAAiB,EAAEU,QAAiB,IAAK;IAC/Dd,yBAAyB,CAAC,CAAC;IAC3B,IAAI,CAACc,QAAQ,EAAE;MACd;IACD;IACAtB,gBAAgB,CAAC;MAAEM,KAAK,EAAER,OAAO,CAACQ;IAAM,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEF,IAAAiB,0CAAmB,EAClB,OAAO;IACNC,IAAI,EAAEvB,sBAAsB,CAACwB;EAC9B,CAAC,CAAC,EACF,CAAC;IAAED;EAAK,CAAC,KAAK;IACb,IAAI,CAACA,IAAI,CAACE,QAAQ,CAAC5B,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC,EAAE;MACtC;IACD;IAEA,IAAAoB,8BAAO,EAAClB,uBAAuB,CAAC,CAAC,CAAC;IAClC,IAAAI,4CAAqB,EAAC;MACrBC,MAAM,EAAE,OAAO;MACfC,IAAI,EAAEjB,OAAO,CAACkB,OAAO,CAACC,cAAc;MACpCd,UAAU;MACVe,iBAAiB,EAAEG;IACpB,CAAC,CAAC;EACH,CACD,CAAC;EAED,IAAAO,sBAAe,EAAC,MAAM;IACrBjB,gBAAgB,CAAC,CAAC;IAClB,OAAO,MAAM;MACZQ,aAAa,CAAC,CAAC;IAChB,CAAC;EACF,CAAC,EAAE,CAACR,gBAAgB,EAAEQ,aAAa,CAAC,CAAC;EAErC,OAAOtB,QAAQ;AAChB,CAAC;AAACgC,OAAA,CAAAjC,uCAAA,GAAAA,uCAAA","ignoreList":[]}
|