react-native-screen-transitions 3.2.0-beta.0 → 3.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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.js +38 -0
- package/lib/commonjs/component-stack/components/component-screen.js.map +1 -0
- package/lib/commonjs/component-stack/components/stack-view.js +65 -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 +82 -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/components/root-transition-aware.js +5 -1
- package/lib/commonjs/shared/components/root-transition-aware.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/hooks/use-stack-pointer-events.js +23 -0
- package/lib/commonjs/shared/hooks/use-stack-pointer-events.js.map +1 -0
- package/lib/commonjs/shared/providers/gestures.provider.js +3 -0
- package/lib/commonjs/shared/providers/gestures.provider.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 +36 -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 +27 -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.js +32 -0
- package/lib/module/component-stack/components/component-screen.js.map +1 -0
- package/lib/module/component-stack/components/stack-view.js +60 -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 +77 -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/components/root-transition-aware.js +5 -1
- package/lib/module/shared/components/root-transition-aware.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/hooks/use-stack-pointer-events.js +20 -0
- package/lib/module/shared/hooks/use-stack-pointer-events.js.map +1 -0
- package/lib/module/shared/providers/gestures.provider.js +3 -0
- package/lib/module/shared/providers/gestures.provider.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 +35 -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 +31 -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.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 +23 -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/components/root-transition-aware.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/hooks/use-stack-pointer-events.d.ts +10 -0
- package/lib/typescript/shared/hooks/use-stack-pointer-events.d.ts.map +1 -0
- package/lib/typescript/shared/index.d.ts +13 -13
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/gestures.provider.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 +6 -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.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 +119 -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/components/root-transition-aware.tsx +7 -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/hooks/use-stack-pointer-events.ts +15 -0
- package/src/shared/index.ts +2 -1
- package/src/shared/providers/gestures.provider.tsx +5 -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 +56 -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 +7 -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
package/README.md
CHANGED
|
@@ -34,12 +34,13 @@ npm install react-native-reanimated react-native-gesture-handler \
|
|
|
34
34
|
|
|
35
35
|
## Quick Start
|
|
36
36
|
|
|
37
|
-
This package provides
|
|
37
|
+
This package provides three stack navigators:
|
|
38
38
|
|
|
39
39
|
| Stack | Description |
|
|
40
40
|
| ----------------------------- | --------------------------------------------------------------------------------- |
|
|
41
41
|
| **Blank Stack** (recommended) | Pure JavaScript stack with full control over transitions, overlays, and gestures. |
|
|
42
|
-
| **Native Stack** | Extends `@react-navigation/native-stack`.
|
|
42
|
+
| **Native Stack** | Extends `@react-navigation/native-stack`. Full overlay support, native primitives.|
|
|
43
|
+
| **Component Stack** | Standalone navigator without React Navigation. For internal/embedded navigation. |
|
|
43
44
|
|
|
44
45
|
### Choosing a Stack
|
|
45
46
|
|
|
@@ -51,14 +52,21 @@ This package provides two stack navigators:
|
|
|
51
52
|
|
|
52
53
|
However, it's still a JavaScript implementation. While optimized to be as fast as possible (using `react-native-screens` under the hood, with animations and gesture logic running on the UI thread), heavy usage may not match native performance.
|
|
53
54
|
|
|
54
|
-
**Native Stack**
|
|
55
|
+
**Native Stack** uses native navigation primitives with some trade-offs:
|
|
55
56
|
|
|
56
|
-
-
|
|
57
|
+
- Full overlay system support (float and screen modes)
|
|
57
58
|
- Relies on `beforeRemove` listeners to intercept navigation
|
|
58
59
|
- Uses transparent modal presentation which can cause delayed touch events
|
|
59
60
|
- Some edge cases with rapid navigation
|
|
60
61
|
|
|
61
|
-
Choose Native Stack if you need
|
|
62
|
+
Choose Native Stack if you need native performance with overlay support.
|
|
63
|
+
|
|
64
|
+
**Component Stack** is a standalone navigator that doesn't integrate with React Navigation:
|
|
65
|
+
|
|
66
|
+
- No integration with React Navigation ecosystem (no linking, no deep linking)
|
|
67
|
+
- Ideal for embedded navigation within a screen (e.g., onboarding flows, wizards)
|
|
68
|
+
- Lightweight, component-based API
|
|
69
|
+
- Full transition and gesture support
|
|
62
70
|
|
|
63
71
|
### Blank Stack Philosophy
|
|
64
72
|
|
|
@@ -492,9 +500,9 @@ Gesture rules with scrollables:
|
|
|
492
500
|
|
|
493
501
|
---
|
|
494
502
|
|
|
495
|
-
## Overlays
|
|
503
|
+
## Overlays
|
|
496
504
|
|
|
497
|
-
|
|
505
|
+
Both Blank Stack and Native Stack support persistent overlays that animate across screen transitions.
|
|
498
506
|
|
|
499
507
|
### Float Overlay
|
|
500
508
|
|
|
@@ -836,13 +844,100 @@ To avoid collisions with custom gesture options, some native options are renamed
|
|
|
836
844
|
|
|
837
845
|
### Limitations
|
|
838
846
|
|
|
839
|
-
- Overlay system not available
|
|
840
847
|
- Relies on `beforeRemove` listener to intercept navigation
|
|
841
848
|
- Uses transparent modal presentation
|
|
842
849
|
- Some edge cases with rapid navigation
|
|
843
850
|
|
|
844
851
|
---
|
|
845
852
|
|
|
853
|
+
## Component Stack
|
|
854
|
+
|
|
855
|
+
A standalone navigator for when you don't need React Navigation integration. Perfect for embedded flows like onboarding, wizards, or any self-contained navigation.
|
|
856
|
+
|
|
857
|
+
### Setup
|
|
858
|
+
|
|
859
|
+
```tsx
|
|
860
|
+
import {
|
|
861
|
+
createComponentNavigator,
|
|
862
|
+
useComponentNavigation,
|
|
863
|
+
} from "react-native-screen-transitions/component-stack";
|
|
864
|
+
import Transition from "react-native-screen-transitions";
|
|
865
|
+
|
|
866
|
+
const Stack = createComponentNavigator();
|
|
867
|
+
|
|
868
|
+
function OnboardingFlow() {
|
|
869
|
+
return (
|
|
870
|
+
<Stack.Navigator initialRoute="step1">
|
|
871
|
+
<Stack.Screen
|
|
872
|
+
name="step1"
|
|
873
|
+
component={Step1}
|
|
874
|
+
options={{
|
|
875
|
+
...Transition.Presets.SlideFromBottom(),
|
|
876
|
+
}}
|
|
877
|
+
/>
|
|
878
|
+
<Stack.Screen
|
|
879
|
+
name="step2"
|
|
880
|
+
component={Step2}
|
|
881
|
+
options={{
|
|
882
|
+
...Transition.Presets.SlideFromBottom(),
|
|
883
|
+
}}
|
|
884
|
+
/>
|
|
885
|
+
</Stack.Navigator>
|
|
886
|
+
);
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
function Step1() {
|
|
890
|
+
const navigation = useComponentNavigation();
|
|
891
|
+
|
|
892
|
+
return (
|
|
893
|
+
<View>
|
|
894
|
+
<Text>Step 1</Text>
|
|
895
|
+
<Button title="Next" onPress={() => navigation.push("step2")} />
|
|
896
|
+
</View>
|
|
897
|
+
);
|
|
898
|
+
}
|
|
899
|
+
```
|
|
900
|
+
|
|
901
|
+
### Navigation API
|
|
902
|
+
|
|
903
|
+
```tsx
|
|
904
|
+
const navigation = useComponentNavigation();
|
|
905
|
+
|
|
906
|
+
navigation.push("screenName", { param: "value" }); // Push a screen
|
|
907
|
+
navigation.pop(); // Go back
|
|
908
|
+
navigation.popTo("screenName"); // Pop to a specific screen
|
|
909
|
+
navigation.reset("screenName"); // Reset to a single screen
|
|
910
|
+
```
|
|
911
|
+
|
|
912
|
+
### When to Use Component Stack
|
|
913
|
+
|
|
914
|
+
- **Onboarding flows** – Self-contained multi-step experiences
|
|
915
|
+
- **Wizards/Forms** – Multi-step forms within a screen
|
|
916
|
+
- **Embedded navigation** – Navigation inside a modal or sheet
|
|
917
|
+
- **Non-URL navigation** – When you don't need deep linking
|
|
918
|
+
|
|
919
|
+
---
|
|
920
|
+
|
|
921
|
+
## Experimental Features
|
|
922
|
+
|
|
923
|
+
### High Refresh Rate
|
|
924
|
+
|
|
925
|
+
Force the display to run at maximum refresh rate during transitions. This can make animations smoother on high refresh rate displays (90Hz, 120Hz).
|
|
926
|
+
|
|
927
|
+
```tsx
|
|
928
|
+
<Stack.Screen
|
|
929
|
+
name="Detail"
|
|
930
|
+
options={{
|
|
931
|
+
experimental_enableHighRefreshRate: true,
|
|
932
|
+
...Transition.Presets.SlideFromBottom(),
|
|
933
|
+
}}
|
|
934
|
+
/>
|
|
935
|
+
```
|
|
936
|
+
|
|
937
|
+
> **Note**: This is experimental and may have performance implications. Test on target devices.
|
|
938
|
+
|
|
939
|
+
---
|
|
940
|
+
|
|
846
941
|
## Migrating from Earlier Versions
|
|
847
942
|
|
|
848
943
|
### Deprecated Props
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AdjustedScreenContainer = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _reactNativeScreens = require("react-native-screens");
|
|
9
|
+
var _useStack = require("../../shared/hooks/navigation/use-stack");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
const AdjustedScreenContainer = ({
|
|
12
|
+
children
|
|
13
|
+
}) => {
|
|
14
|
+
const {
|
|
15
|
+
flags: {
|
|
16
|
+
DISABLE_NATIVE_SCREENS = false
|
|
17
|
+
}
|
|
18
|
+
} = (0, _useStack.useStack)();
|
|
19
|
+
if (!DISABLE_NATIVE_SCREENS) {
|
|
20
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenContainer, {
|
|
21
|
+
style: styles.container,
|
|
22
|
+
children: children
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
26
|
+
style: styles.container,
|
|
27
|
+
children: children
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
exports.AdjustedScreenContainer = AdjustedScreenContainer;
|
|
31
|
+
const styles = _reactNative.StyleSheet.create({
|
|
32
|
+
container: {
|
|
33
|
+
flex: 1
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=adjusted-screen-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeScreens","_useStack","_jsxRuntime","AdjustedScreenContainer","children","flags","DISABLE_NATIVE_SCREENS","useStack","jsx","ScreenContainer","style","styles","container","View","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/adjusted-screen-container.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAAmE,IAAAG,WAAA,GAAAH,OAAA;AAM5D,MAAMI,uBAAuB,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAC/D,MAAM;IACLC,KAAK,EAAE;MAAEC,sBAAsB,GAAG;IAAM;EACzC,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,IAAI,CAACD,sBAAsB,EAAE;IAC5B,oBACC,IAAAJ,WAAA,CAAAM,GAAA,EAACR,mBAAA,CAAAS,eAAe;MAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAR,QAAA,EAAEA;IAAQ,CAAkB,CAAC;EAExE;EACA,oBAAO,IAAAF,WAAA,CAAAM,GAAA,EAACV,YAAA,CAAAe,IAAI;IAACH,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAR,QAAA,EAAEA;EAAQ,CAAO,CAAC;AACxD,CAAC;AAACU,OAAA,CAAAX,uBAAA,GAAAA,uBAAA;AAEF,MAAMQ,MAAM,GAAGI,uBAAU,CAACC,MAAM,CAAC;EAChCJ,SAAS,EAAE;IACVK,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.AdjustedScreen = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
9
9
|
var _reactNativeScreens = require("react-native-screens");
|
|
10
|
+
var _useStack = require("../../shared/hooks/navigation/use-stack");
|
|
11
|
+
var _layoutAnchor = require("../../shared/providers/layout-anchor.provider");
|
|
10
12
|
var _managed = require("../../shared/providers/stack/managed.provider");
|
|
11
13
|
var _animation = require("../../shared/stores/animation.store");
|
|
12
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -18,8 +20,10 @@ var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
|
|
|
18
20
|
return ScreenActivity;
|
|
19
21
|
}(ScreenActivity || {});
|
|
20
22
|
const EPSILON = 1e-5;
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
+
const POINT_NONE = "none";
|
|
24
|
+
const POINT_BOX_NONE = "box-none";
|
|
25
|
+
const AnimatedNativeScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.Screen);
|
|
26
|
+
const AdjustedScreen = ({
|
|
23
27
|
routeKey,
|
|
24
28
|
index,
|
|
25
29
|
isPreloaded,
|
|
@@ -27,11 +31,17 @@ const Screen = ({
|
|
|
27
31
|
freezeOnBlur,
|
|
28
32
|
shouldFreeze
|
|
29
33
|
}) => {
|
|
34
|
+
const {
|
|
35
|
+
flags: {
|
|
36
|
+
DISABLE_NATIVE_SCREENS = false
|
|
37
|
+
}
|
|
38
|
+
} = (0, _useStack.useStack)();
|
|
30
39
|
const {
|
|
31
40
|
activeScreensLimit,
|
|
32
41
|
routes
|
|
33
42
|
} = (0, _managed.useManagedStackContext)();
|
|
34
43
|
const routesLength = routes.length;
|
|
44
|
+
const screenRef = (0, _reactNativeReanimated.useAnimatedRef)();
|
|
35
45
|
const sceneProgress = _animation.AnimationStore.getAnimation(routeKey, "progress");
|
|
36
46
|
const sceneClosing = _animation.AnimationStore.getAnimation(routeKey, "closing");
|
|
37
47
|
const screenActivity = (0, _reactNativeReanimated.useSharedValue)(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
|
|
@@ -44,7 +54,7 @@ const Screen = ({
|
|
|
44
54
|
screenActivity.set(ScreenActivity.INACTIVE);
|
|
45
55
|
} else {
|
|
46
56
|
const outputValue = index === routesLength - 1 ? ScreenActivity.ON_TOP : index >= routesLength - activeScreensLimit ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
|
|
47
|
-
const v = (0, _reactNativeReanimated.interpolate)(sceneProgress.get(), [0, 1 - EPSILON, 1], [1, 1, outputValue],
|
|
57
|
+
const v = (0, _reactNativeReanimated.interpolate)(sceneProgress.get(), [0, 1 - EPSILON, 1], [1, 1, outputValue], _reactNativeReanimated.Extrapolation.CLAMP);
|
|
48
58
|
const next = Math.trunc(v) ?? ScreenActivity.TRANSITIONING_OR_BELOW_TOP;
|
|
49
59
|
if (next !== screenActivity.get()) {
|
|
50
60
|
screenActivity.set(next);
|
|
@@ -53,19 +63,29 @@ const Screen = ({
|
|
|
53
63
|
});
|
|
54
64
|
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
55
65
|
const activity = screenActivity.get();
|
|
66
|
+
if (!DISABLE_NATIVE_SCREENS) {
|
|
67
|
+
return {
|
|
68
|
+
activityState: activity,
|
|
69
|
+
shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
|
|
70
|
+
pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE
|
|
71
|
+
};
|
|
72
|
+
}
|
|
56
73
|
return {
|
|
57
|
-
|
|
58
|
-
shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
|
|
59
|
-
pointerEvents: sceneClosing.get() ? "none" : "box-none"
|
|
74
|
+
pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE
|
|
60
75
|
};
|
|
61
76
|
});
|
|
62
|
-
|
|
77
|
+
const AdjustedScreenComponent = !DISABLE_NATIVE_SCREENS ? AnimatedNativeScreen : _reactNativeReanimated.default.View;
|
|
78
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(AdjustedScreenComponent, {
|
|
63
79
|
enabled: true,
|
|
80
|
+
ref: screenRef,
|
|
64
81
|
style: _reactNative.StyleSheet.absoluteFill,
|
|
65
82
|
freezeOnBlur: freezeOnBlur,
|
|
66
83
|
animatedProps: animatedProps,
|
|
67
|
-
children:
|
|
84
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_layoutAnchor.LayoutAnchorProvider, {
|
|
85
|
+
anchorRef: screenRef,
|
|
86
|
+
children: children
|
|
87
|
+
})
|
|
68
88
|
});
|
|
69
89
|
};
|
|
70
|
-
exports.
|
|
71
|
-
//# sourceMappingURL=
|
|
90
|
+
exports.AdjustedScreen = AdjustedScreen;
|
|
91
|
+
//# sourceMappingURL=adjusted-screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_useStack","_layoutAnchor","_managed","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ScreenActivity","EPSILON","POINT_NONE","POINT_BOX_NONE","AnimatedNativeScreen","Animated","createAnimatedComponent","RNSScreen","AdjustedScreen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","flags","DISABLE_NATIVE_SCREENS","useStack","activeScreensLimit","routes","useManagedStackContext","routesLength","length","screenRef","useAnimatedRef","sceneProgress","AnimationStore","getAnimation","sceneClosing","screenActivity","useSharedValue","TRANSITIONING_OR_BELOW_TOP","useDerivedValue","INACTIVE","outputValue","ON_TOP","v","interpolate","Extrapolation","CLAMP","next","Math","trunc","animatedProps","useAnimatedProps","activity","activityState","pointerEvents","AdjustedScreenComponent","View","jsx","enabled","ref","style","StyleSheet","absoluteFill","LayoutAnchorProvider","anchorRef","exports"],"sourceRoot":"../../../../src","sources":["blank-stack/components/adjusted-screen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,14 +7,13 @@ exports.StackView = void 0;
|
|
|
7
7
|
var _native = require("@react-navigation/native");
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var React = _react;
|
|
10
|
-
var _reactNative = require("react-native");
|
|
11
|
-
var _reactNativeScreens = require("react-native-screens");
|
|
12
10
|
var _overlay = require("../../shared/components/overlay");
|
|
11
|
+
var _managedLifecycle = require("../../shared/controller/managed-lifecycle");
|
|
13
12
|
var _screenComposer = require("../../shared/providers/screen/screen-composer");
|
|
14
13
|
var _core = require("../../shared/providers/stack/core.provider");
|
|
15
14
|
var _managed = require("../../shared/providers/stack/managed.provider");
|
|
16
|
-
var
|
|
17
|
-
var
|
|
15
|
+
var _adjustedScreen = require("./adjusted-screen");
|
|
16
|
+
var _adjustedScreenContainer = require("./adjusted-screen-container");
|
|
18
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
18
|
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); }
|
|
20
19
|
function isFabric() {
|
|
@@ -37,7 +36,8 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
|
37
36
|
});
|
|
38
37
|
});
|
|
39
38
|
const StackView = exports.StackView = (0, _core.withStackCore)({
|
|
40
|
-
TRANSITIONS_ALWAYS_ON: true
|
|
39
|
+
TRANSITIONS_ALWAYS_ON: true,
|
|
40
|
+
DISABLE_NATIVE_SCREENS: true
|
|
41
41
|
}, (0, _managed.withManagedStack)(({
|
|
42
42
|
descriptors,
|
|
43
43
|
focusedIndex,
|
|
@@ -45,45 +45,37 @@ const StackView = exports.StackView = (0, _core.withStackCore)({
|
|
|
45
45
|
shouldShowFloatOverlay
|
|
46
46
|
}) => {
|
|
47
47
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
48
|
-
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
49
|
-
children:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
|
|
58
|
-
const isPreloaded = descriptors[route.key] === undefined;
|
|
48
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_adjustedScreenContainer.AdjustedScreenContainer, {
|
|
49
|
+
children: scenes.map((scene, sceneIndex) => {
|
|
50
|
+
const descriptor = scene.descriptor;
|
|
51
|
+
const route = scene.route;
|
|
52
|
+
const isFocused = focusedIndex === sceneIndex;
|
|
53
|
+
const isBelowFocused = focusedIndex - 1 === sceneIndex;
|
|
54
|
+
const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
|
|
55
|
+
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
|
|
56
|
+
const isPreloaded = descriptors[route.key] === undefined;
|
|
59
57
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
})
|
|
58
|
+
// On Fabric, when screen is frozen, animated and reanimated values are not updated
|
|
59
|
+
// due to component being unmounted. To avoid this, we don't freeze the previous screen there
|
|
60
|
+
const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
|
|
61
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_adjustedScreen.AdjustedScreen, {
|
|
62
|
+
isPreloaded: isPreloaded,
|
|
63
|
+
index: sceneIndex,
|
|
64
|
+
routeKey: route.key,
|
|
65
|
+
shouldFreeze: shouldFreeze,
|
|
66
|
+
freezeOnBlur: descriptor.options.freezeOnBlur,
|
|
67
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
|
|
68
|
+
previous: previousDescriptor,
|
|
69
|
+
current: descriptor,
|
|
70
|
+
next: nextDescriptor,
|
|
71
|
+
LifecycleController: _managedLifecycle.ManagedLifecycle,
|
|
72
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
|
|
73
|
+
descriptor: descriptor
|
|
74
|
+
}, route.key)
|
|
75
|
+
})
|
|
76
|
+
}, route.key);
|
|
80
77
|
})
|
|
81
78
|
})]
|
|
82
79
|
});
|
|
83
80
|
}));
|
|
84
|
-
const styles = _reactNative.StyleSheet.create({
|
|
85
|
-
container: {
|
|
86
|
-
flex: 1
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
81
|
//# sourceMappingURL=stack-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","_react","_interopRequireWildcard","React","
|
|
1
|
+
{"version":3,"names":["_native","require","_react","_interopRequireWildcard","React","_overlay","_managedLifecycle","_screenComposer","_core","_managed","_adjustedScreen","_adjustedScreenContainer","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isFabric","global","SceneView","memo","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","overlayMode","Overlay","Screen","StackView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","withManagedStack","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Fragment","Float","AdjustedScreenContainer","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","AdjustedScreen","index","routeKey","freezeOnBlur","ScreenComposer","previous","current","next","LifecycleController","ManagedLifecycle"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA+B,IAAAG,KAAA,GAAAF,MAAA;AAE/B,IAAAG,QAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAKA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,wBAAA,GAAAV,OAAA;AAAsE,IAAAW,WAAA,GAAAX,OAAA;AAAA,SAAAE,wBAAAU,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAU,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;AAEtE,SAASkB,QAAQA,CAAA,EAAG;EACnB,OAAO,uBAAuB,IAAIC,MAAM;AACzC;AAMA,MAAMC,SAAS,gBAAG9B,KAAK,CAAC+B,IAAI,CAAC,SAASD,SAASA,CAAC;EAC/CE;AACe,CAAC,EAAE;EAClB,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAGH,UAAU;EAEhD,oBACC,IAAAxB,WAAA,CAAA4B,GAAA,EAACxC,OAAA,CAAAyC,iBAAiB,CAACC,QAAQ;IAACC,KAAK,EAAEL,UAAW;IAAAM,QAAA,eAC7C,IAAAhC,WAAA,CAAAiC,IAAA,EAAC7C,OAAA,CAAA8C,sBAAsB,CAACJ,QAAQ;MAACC,KAAK,EAAEN,KAAM;MAAAO,QAAA,GAC5CR,UAAU,CAACW,OAAO,CAACC,WAAW,KAAK,QAAQ,iBAAI,IAAApC,WAAA,CAAA4B,GAAA,EAACnC,QAAA,CAAA4C,OAAO,CAACC,MAAM,IAAE,CAAC,EACjEX,MAAM,CAAC,CAAC;IAAA,CACuB;EAAC,CACP,CAAC;AAE/B,CAAC,CAAC;AAEK,MAAMY,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,mBAAa,EACrC;EAAEC,qBAAqB,EAAE,IAAI;EAAEC,sBAAsB,EAAE;AAAK,CAAC,EAC7D,IAAAC,yBAAgB,EACf,CAAC;EAAEC,WAAW;EAAEC,YAAY;EAAEC,MAAM;EAAEC;AAAuB,CAAC,KAAK;EAClE,oBACC,IAAAhD,WAAA,CAAAiC,IAAA,EAAC3C,MAAA,CAAA2D,QAAQ;IAAAjB,QAAA,GACPgB,sBAAsB,gBAAG,IAAAhD,WAAA,CAAA4B,GAAA,EAACnC,QAAA,CAAA4C,OAAO,CAACa,KAAK,IAAE,CAAC,GAAG,IAAI,eAElD,IAAAlD,WAAA,CAAA4B,GAAA,EAAC7B,wBAAA,CAAAoD,uBAAuB;MAAAnB,QAAA,EACtBe,MAAM,CAACK,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;QAClC,MAAM9B,UAAU,GAAG6B,KAAK,CAAC7B,UAAU;QACnC,MAAMC,KAAK,GAAG4B,KAAK,CAAC5B,KAAK;QACzB,MAAM8B,SAAS,GAAGT,YAAY,KAAKQ,UAAU;QAC7C,MAAME,cAAc,GAAGV,YAAY,GAAG,CAAC,KAAKQ,UAAU;QAEtD,MAAMG,kBAAkB,GACvBV,MAAM,CAACO,UAAU,GAAG,CAAC,CAAC,EAAE9B,UAAU,IAAIkC,SAAS;QAChD,MAAMC,cAAc,GACnBZ,MAAM,CAACO,UAAU,GAAG,CAAC,CAAC,EAAE9B,UAAU,IAAIkC,SAAS;QAEhD,MAAME,WAAW,GAAGf,WAAW,CAACpB,KAAK,CAACoC,GAAG,CAAC,KAAKH,SAAS;;QAExD;QACA;QACA,MAAMI,YAAY,GAAG1C,QAAQ,CAAC,CAAC,GAC5B,CAACwC,WAAW,IAAI,CAACL,SAAS,IAAI,CAACC,cAAc,GAC7C,CAACI,WAAW,IAAI,CAACL,SAAS;QAC7B,oBACC,IAAAvD,WAAA,CAAA4B,GAAA,EAAC9B,eAAA,CAAAiE,cAAc;UAEdH,WAAW,EAAEA,WAAY;UACzBI,KAAK,EAAEV,UAAW;UAClBW,QAAQ,EAAExC,KAAK,CAACoC,GAAI;UACpBC,YAAY,EAAEA,YAAa;UAC3BI,YAAY,EAAE1C,UAAU,CAACW,OAAO,CAAC+B,YAAa;UAAAlC,QAAA,eAE9C,IAAAhC,WAAA,CAAA4B,GAAA,EAACjC,eAAA,CAAAwE,cAAc;YACdC,QAAQ,EAAEX,kBAAmB;YAC7BY,OAAO,EAAE7C,UAAW;YACpB8C,IAAI,EAAEX,cAAe;YACrBY,mBAAmB,EAAEC,kCAAiB;YAAAxC,QAAA,eAEtC,IAAAhC,WAAA,CAAA4B,GAAA,EAACN,SAAS;cAAiBE,UAAU,EAAEA;YAAW,GAAlCC,KAAK,CAACoC,GAA8B;UAAC,CACtC;QAAC,GAdZpC,KAAK,CAACoC,GAeI,CAAC;MAEnB,CAAC;IAAC,CACsB,CAAC;EAAA,CACjB,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StackView = void 0;
|
|
7
|
+
var _native = require("@react-navigation/native");
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var React = _react;
|
|
10
|
+
var _overlay = require("../../shared/components/overlay");
|
|
11
|
+
var _managedLifecycle = require("../../shared/controller/managed-lifecycle");
|
|
12
|
+
var _screenComposer = require("../../shared/providers/screen/screen-composer");
|
|
13
|
+
var _core = require("../../shared/providers/stack/core.provider");
|
|
14
|
+
var _managed = require("../../shared/providers/stack/managed.provider");
|
|
15
|
+
var _adjustedScreen = require("./adjusted-screen");
|
|
16
|
+
var _adjustedScreenContainer = require("./adjusted-screen-container");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
19
|
+
function isFabric() {
|
|
20
|
+
return "nativeFabricUIManager" in global;
|
|
21
|
+
}
|
|
22
|
+
const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
23
|
+
descriptor
|
|
24
|
+
}) {
|
|
25
|
+
const {
|
|
26
|
+
route,
|
|
27
|
+
navigation,
|
|
28
|
+
render
|
|
29
|
+
} = descriptor;
|
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContext.Provider, {
|
|
31
|
+
value: navigation,
|
|
32
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_native.NavigationRouteContext.Provider, {
|
|
33
|
+
value: route,
|
|
34
|
+
children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Screen, {}), render()]
|
|
35
|
+
})
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
const StackView = exports.StackView = (0, _core.withStackCore)({
|
|
39
|
+
TRANSITIONS_ALWAYS_ON: true,
|
|
40
|
+
DISABLE_NATIVE_SCREENS: false
|
|
41
|
+
}, (0, _managed.withManagedStack)(({
|
|
42
|
+
descriptors,
|
|
43
|
+
focusedIndex,
|
|
44
|
+
scenes,
|
|
45
|
+
shouldShowFloatOverlay
|
|
46
|
+
}) => {
|
|
47
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
48
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_adjustedScreenContainer.AdjustedScreenContainer, {
|
|
49
|
+
children: scenes.map((scene, sceneIndex) => {
|
|
50
|
+
const descriptor = scene.descriptor;
|
|
51
|
+
const route = scene.route;
|
|
52
|
+
const isFocused = focusedIndex === sceneIndex;
|
|
53
|
+
const isBelowFocused = focusedIndex - 1 === sceneIndex;
|
|
54
|
+
const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
|
|
55
|
+
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
|
|
56
|
+
const isPreloaded = descriptors[route.key] === undefined;
|
|
57
|
+
|
|
58
|
+
// On Fabric, when screen is frozen, animated and reanimated values are not updated
|
|
59
|
+
// due to component being unmounted. To avoid this, we don't freeze the previous screen there
|
|
60
|
+
const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
|
|
61
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_adjustedScreen.AdjustedScreen, {
|
|
62
|
+
isPreloaded: isPreloaded,
|
|
63
|
+
index: sceneIndex,
|
|
64
|
+
routeKey: route.key,
|
|
65
|
+
shouldFreeze: shouldFreeze,
|
|
66
|
+
freezeOnBlur: descriptor.options.freezeOnBlur,
|
|
67
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
|
|
68
|
+
previous: previousDescriptor,
|
|
69
|
+
current: descriptor,
|
|
70
|
+
next: nextDescriptor,
|
|
71
|
+
LifecycleController: _managedLifecycle.ManagedLifecycle,
|
|
72
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
|
|
73
|
+
descriptor: descriptor
|
|
74
|
+
}, route.key)
|
|
75
|
+
})
|
|
76
|
+
}, route.key);
|
|
77
|
+
})
|
|
78
|
+
})]
|
|
79
|
+
});
|
|
80
|
+
}));
|
|
81
|
+
//# sourceMappingURL=stack-view.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_native","require","_react","_interopRequireWildcard","React","_overlay","_managedLifecycle","_screenComposer","_core","_managed","_adjustedScreen","_adjustedScreenContainer","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isFabric","global","SceneView","memo","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","overlayMode","Overlay","Screen","StackView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","withManagedStack","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Fragment","Float","AdjustedScreenContainer","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","AdjustedScreen","index","routeKey","freezeOnBlur","ScreenComposer","previous","current","next","LifecycleController","ManagedLifecycle"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.native.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ComponentScreen = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
9
|
+
var _layoutAnchor = require("../../shared/providers/layout-anchor.provider");
|
|
10
|
+
var _animation = require("../../shared/stores/animation.store");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
const POINT_NONE = "none";
|
|
14
|
+
const POINT_BOX_NONE = "box-none";
|
|
15
|
+
const ComponentScreen = ({
|
|
16
|
+
routeKey,
|
|
17
|
+
children
|
|
18
|
+
}) => {
|
|
19
|
+
const sceneClosing = _animation.AnimationStore.getAnimation(routeKey, "closing");
|
|
20
|
+
const screenRef = (0, _reactNativeReanimated.useAnimatedRef)();
|
|
21
|
+
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
22
|
+
return {
|
|
23
|
+
pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
const ComponentScreenComponent = _reactNativeReanimated.default.View;
|
|
27
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentScreenComponent, {
|
|
28
|
+
ref: screenRef,
|
|
29
|
+
style: _reactNative.StyleSheet.absoluteFill,
|
|
30
|
+
animatedProps: animatedProps,
|
|
31
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_layoutAnchor.LayoutAnchorProvider, {
|
|
32
|
+
anchorRef: screenRef,
|
|
33
|
+
children: children
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
exports.ComponentScreen = ComponentScreen;
|
|
38
|
+
//# sourceMappingURL=component-screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_layoutAnchor","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","POINT_NONE","POINT_BOX_NONE","ComponentScreen","routeKey","children","sceneClosing","AnimationStore","getAnimation","screenRef","useAnimatedRef","animatedProps","useAnimatedProps","pointerEvents","ComponentScreenComponent","Animated","View","jsx","ref","style","StyleSheet","absoluteFill","LayoutAnchorProvider","anchorRef","exports"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAIA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAAqE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAE,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAMrE,MAAMkB,UAAU,GAAG,MAAe;AAClC,MAAMC,cAAc,GAAG,UAAmB;AAEnC,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAsB,CAAC,KAAK;EACvE,MAAMC,YAAY,GAAGC,yBAAc,CAACC,YAAY,CAACJ,QAAQ,EAAE,SAAS,CAAC;EACrE,MAAMK,SAAS,GAAG,IAAAC,qCAAc,EAAO,CAAC;EAExC,MAAMC,aAAa,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC5C,OAAO;MACNC,aAAa,EAAEP,YAAY,CAACZ,GAAG,CAAC,CAAC,GAAGO,UAAU,GAAGC;IAClD,CAAC;EACF,CAAC,CAAC;EAEF,MAAMY,wBAAwB,GAAGC,8BAAQ,CAACC,IAAI;EAE9C,oBACC,IAAAnC,WAAA,CAAAoC,GAAA,EAACH,wBAAwB;IACxBI,GAAG,EAAET,SAAU;IACfU,KAAK,EAAEC,uBAAU,CAACC,YAAa;IAC/BV,aAAa,EAAEA,aAAc;IAAAN,QAAA,eAE7B,IAAAxB,WAAA,CAAAoC,GAAA,EAACtC,aAAA,CAAA2C,oBAAoB;MAACC,SAAS,EAAEd,SAAU;MAAAJ,QAAA,EACzCA;IAAQ,CACY;EAAC,CACE,CAAC;AAE7B,CAAC;AAACmB,OAAA,CAAArB,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StackView = void 0;
|
|
7
|
+
var _native = require("@react-navigation/native");
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var React = _react;
|
|
10
|
+
var _overlay = require("../../shared/components/overlay");
|
|
11
|
+
var _managedLifecycle = require("../../shared/controller/managed-lifecycle");
|
|
12
|
+
var _screenComposer = require("../../shared/providers/screen/screen-composer");
|
|
13
|
+
var _core = require("../../shared/providers/stack/core.provider");
|
|
14
|
+
var _managed = require("../../shared/providers/stack/managed.provider");
|
|
15
|
+
var _stack = require("../../shared/types/stack.types");
|
|
16
|
+
var _componentScreen = require("./component-screen");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
19
|
+
const SceneView = /*#__PURE__*/React.memo(function SceneView({
|
|
20
|
+
descriptor
|
|
21
|
+
}) {
|
|
22
|
+
const {
|
|
23
|
+
route,
|
|
24
|
+
navigation,
|
|
25
|
+
render
|
|
26
|
+
} = descriptor;
|
|
27
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContext.Provider, {
|
|
28
|
+
value: navigation,
|
|
29
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_native.NavigationRouteContext.Provider, {
|
|
30
|
+
value: route,
|
|
31
|
+
children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Screen, {}), render()]
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
const StackView = exports.StackView = (0, _core.withStackCore)({
|
|
36
|
+
TRANSITIONS_ALWAYS_ON: true,
|
|
37
|
+
STACK_TYPE: _stack.StackType.COMPONENT
|
|
38
|
+
}, (0, _managed.withManagedStack)(({
|
|
39
|
+
scenes,
|
|
40
|
+
shouldShowFloatOverlay
|
|
41
|
+
}) => {
|
|
42
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
43
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
|
|
44
|
+
children: scenes.map((scene, sceneIndex) => {
|
|
45
|
+
const descriptor = scene.descriptor;
|
|
46
|
+
const route = scene.route;
|
|
47
|
+
const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
|
|
48
|
+
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
|
|
49
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_componentScreen.ComponentScreen, {
|
|
50
|
+
routeKey: route.key,
|
|
51
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
|
|
52
|
+
previous: previousDescriptor,
|
|
53
|
+
current: descriptor,
|
|
54
|
+
next: nextDescriptor,
|
|
55
|
+
LifecycleController: _managedLifecycle.ManagedLifecycle,
|
|
56
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
|
|
57
|
+
descriptor: descriptor
|
|
58
|
+
}, route.key)
|
|
59
|
+
})
|
|
60
|
+
}, route.key);
|
|
61
|
+
})
|
|
62
|
+
})]
|
|
63
|
+
});
|
|
64
|
+
}));
|
|
65
|
+
//# sourceMappingURL=stack-view.js.map
|