react-native-screen-transitions 3.6.0 → 3.7.0-alpha.0
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 +2 -2
- package/lib/commonjs/blank-stack/components/stack-view.js +35 -39
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js +7 -14
- package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
- package/lib/commonjs/component-stack/components/stack-view.js +4 -11
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js +1 -1
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +6 -0
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/commonjs/shared/adapters/with-screen-transitions/context.js +28 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/context.js.map +1 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/index.js +75 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/index.js.map +1 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/options.js +103 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/options.js.map +1 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +143 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/types.js +6 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/types.js.map +1 -0
- package/lib/commonjs/shared/components/activity/helpers.js +9 -0
- package/lib/commonjs/shared/components/activity/helpers.js.map +1 -0
- package/lib/commonjs/shared/components/activity/index.js +20 -0
- package/lib/commonjs/shared/components/activity/index.js.map +1 -0
- package/lib/commonjs/shared/components/activity/variants/activity-container.js +29 -0
- package/lib/commonjs/shared/components/activity/variants/activity-container.js.map +1 -0
- package/lib/commonjs/shared/components/activity/variants/activity-screen.js +107 -0
- package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js +10 -4
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/utils/measured-bounds.js +13 -1
- package/lib/commonjs/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -17
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/index.js +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js +10 -4
- package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-stack.js +63 -6
- package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
- package/lib/commonjs/shared/index.js +8 -0
- package/lib/commonjs/shared/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +18 -29
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/index.js +6 -0
- package/lib/commonjs/shared/providers/screen/descriptors/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js +2 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js +4 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js +4 -3
- package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +4 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +4 -3
- package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +16 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js +4 -3
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js +199 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js +62 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js +81 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js +123 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/types.js +6 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/index.js +24 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/index.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js +131 -0
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/managed.provider.js +18 -29
- package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/commonjs/shared/types/stack.types.js.map +1 -1
- package/lib/commonjs/shared/utils/create-provider.js +99 -10
- package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
- package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js +8 -5
- package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
- package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js +23 -6
- package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
- package/lib/commonjs/shared/utils/visibility-block-offset.js +13 -0
- package/lib/commonjs/shared/utils/visibility-block-offset.js.map +1 -0
- package/lib/module/blank-stack/components/stack-view.js +36 -40
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js +7 -14
- package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
- package/lib/module/component-stack/components/stack-view.js +4 -11
- package/lib/module/component-stack/components/stack-view.js.map +1 -1
- package/lib/module/component-stack/navigators/create-component-stack-navigator.js +1 -1
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js +6 -0
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/module/shared/adapters/with-screen-transitions/context.js +23 -0
- package/lib/module/shared/adapters/with-screen-transitions/context.js.map +1 -0
- package/lib/module/shared/adapters/with-screen-transitions/index.js +66 -0
- package/lib/module/shared/adapters/with-screen-transitions/index.js.map +1 -0
- package/lib/module/shared/adapters/with-screen-transitions/options.js +98 -0
- package/lib/module/shared/adapters/with-screen-transitions/options.js.map +1 -0
- package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +138 -0
- package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -0
- package/lib/module/shared/adapters/with-screen-transitions/types.js +4 -0
- package/lib/module/shared/adapters/with-screen-transitions/types.js.map +1 -0
- package/lib/module/shared/components/activity/helpers.js +5 -0
- package/lib/module/shared/components/activity/helpers.js.map +1 -0
- package/lib/module/shared/components/activity/index.js +5 -0
- package/lib/module/shared/components/activity/index.js.map +1 -0
- package/lib/module/shared/components/activity/variants/activity-container.js +24 -0
- package/lib/module/shared/components/activity/variants/activity-container.js.map +1 -0
- package/lib/module/shared/components/activity/variants/activity-screen.js +103 -0
- package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js +11 -5
- package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/utils/measured-bounds.js +11 -0
- package/lib/module/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -17
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/index.js +1 -1
- package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-navigation-helpers.js +11 -5
- package/lib/module/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-stack.js +63 -6
- package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
- package/lib/module/shared/index.js +3 -0
- package/lib/module/shared/index.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +17 -29
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/index.js +1 -1
- package/lib/module/shared/providers/screen/descriptors/index.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js +2 -1
- package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +2 -2
- package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js +5 -2
- package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js +4 -3
- package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +5 -2
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +4 -3
- package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +16 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/module/shared/providers/stack/direct.provider.js +5 -4
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js +194 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js +57 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js +69 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js +118 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/types.js +4 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/index.js +19 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/index.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js +126 -0
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +1 -0
- package/lib/module/shared/providers/stack/managed.provider.js +19 -30
- package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/module/shared/types/stack.types.js.map +1 -1
- package/lib/module/shared/utils/create-provider.js +100 -11
- package/lib/module/shared/utils/create-provider.js.map +1 -1
- package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js +8 -5
- package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
- package/lib/module/shared/utils/navigation/sync-routes-with-removed.js +23 -6
- package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
- package/lib/module/shared/utils/visibility-block-offset.js +8 -0
- package/lib/module/shared/utils/visibility-block-offset.js.map +1 -0
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/index.d.ts +1 -1
- package/lib/typescript/blank-stack/index.d.ts.map +1 -1
- package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts +4 -6
- package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
- package/lib/typescript/blank-stack/types.d.ts +41 -29
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +1 -1
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +5 -0
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
- package/lib/typescript/native-stack/types.d.ts +25 -0
- package/lib/typescript/native-stack/types.d.ts.map +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +15 -0
- package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -0
- package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts +11 -0
- package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts.map +1 -0
- package/lib/typescript/shared/adapters/with-screen-transitions/options.d.ts +16 -0
- package/lib/typescript/shared/adapters/with-screen-transitions/options.d.ts.map +1 -0
- package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +12 -0
- package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -0
- package/lib/typescript/shared/adapters/with-screen-transitions/types.d.ts +24 -0
- package/lib/typescript/shared/adapters/with-screen-transitions/types.d.ts.map +1 -0
- package/lib/typescript/shared/components/activity/helpers.d.ts +4 -0
- package/lib/typescript/shared/components/activity/helpers.d.ts.map +1 -0
- package/lib/typescript/shared/components/activity/index.d.ts +3 -0
- package/lib/typescript/shared/components/activity/index.d.ts.map +1 -0
- package/lib/typescript/shared/components/activity/variants/activity-container.d.ts +6 -0
- package/lib/typescript/shared/components/activity/variants/activity-container.d.ts.map +1 -0
- package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +13 -0
- package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-measurer.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/index.d.ts +2 -2
- package/lib/typescript/shared/components/create-boundary-component/utils/measured-bounds.d.ts +1 -0
- package/lib/typescript/shared/components/create-boundary-component/utils/measured-bounds.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +1 -2
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts +1 -0
- package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +13 -1
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +15 -11
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +11 -3
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/index.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +3 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts +13 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts +12 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.d.ts +11 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts +12 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts +40 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts +12 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts +13 -0
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
- package/lib/typescript/shared/types/index.d.ts +2 -2
- package/lib/typescript/shared/types/index.d.ts.map +1 -1
- package/lib/typescript/shared/types/providers/managed-stack.types.d.ts +3 -9
- package/lib/typescript/shared/types/providers/managed-stack.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/screen.types.d.ts +24 -0
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/stack.types.d.ts +7 -0
- package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/create-provider.d.ts +17 -3
- package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
- package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts +2 -1
- package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts.map +1 -1
- package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts +2 -1
- package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -1
- package/lib/typescript/shared/utils/visibility-block-offset.d.ts +2 -0
- package/lib/typescript/shared/utils/visibility-block-offset.d.ts.map +1 -0
- package/package.json +11 -1
- package/src/blank-stack/components/stack-view.tsx +54 -48
- package/src/blank-stack/index.ts +1 -0
- package/src/blank-stack/navigators/create-blank-stack-navigator.tsx +7 -15
- package/src/blank-stack/types.ts +44 -29
- package/src/component-stack/components/stack-view.tsx +4 -11
- package/src/component-stack/navigators/create-component-stack-navigator.tsx +1 -1
- package/src/native-stack/navigators/createNativeStackNavigator.tsx +5 -0
- package/src/native-stack/types.ts +25 -0
- package/src/shared/adapters/with-screen-transitions/context.tsx +42 -0
- package/src/shared/adapters/with-screen-transitions/index.tsx +155 -0
- package/src/shared/adapters/with-screen-transitions/options.ts +172 -0
- package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +233 -0
- package/src/shared/adapters/with-screen-transitions/types.ts +28 -0
- package/src/shared/components/activity/helpers.ts +8 -0
- package/src/shared/components/activity/index.tsx +2 -0
- package/src/shared/components/activity/variants/activity-container.tsx +25 -0
- package/src/shared/components/activity/variants/activity-screen.tsx +133 -0
- package/src/shared/components/create-boundary-component/hooks/use-measurer.ts +23 -4
- package/src/shared/components/create-boundary-component/utils/measured-bounds.ts +15 -0
- package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +9 -26
- package/src/shared/components/screen-lifecycle/index.tsx +1 -1
- package/src/shared/hooks/navigation/use-navigation-helpers.ts +9 -3
- package/src/shared/hooks/navigation/use-stack.tsx +115 -6
- package/src/shared/index.ts +9 -0
- package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +31 -31
- package/src/shared/providers/screen/descriptors/index.tsx +1 -0
- package/src/shared/providers/screen/gestures/ownership/resolve-ownership.ts +2 -1
- package/src/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts +2 -2
- package/src/shared/providers/screen/gestures/pan/pan-lifecycle.ts +7 -2
- package/src/shared/providers/screen/gestures/pan/use-pan-behavior.ts +10 -2
- package/src/shared/providers/screen/gestures/pinch/pinch-lifecycle.ts +7 -2
- package/src/shared/providers/screen/gestures/pinch/use-pinch-behavior.ts +8 -3
- package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +17 -1
- package/src/shared/providers/stack/direct.provider.tsx +13 -4
- package/src/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.ts +368 -0
- package/src/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.ts +129 -0
- package/src/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.ts +139 -0
- package/src/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.ts +198 -0
- package/src/shared/providers/stack/helpers/managed-stack-state/helpers/types.ts +57 -0
- package/src/shared/providers/stack/helpers/managed-stack-state/index.ts +40 -0
- package/src/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.ts +160 -0
- package/src/shared/providers/stack/managed.provider.tsx +23 -39
- package/src/shared/types/index.ts +3 -0
- package/src/shared/types/providers/managed-stack.types.ts +6 -8
- package/src/shared/types/screen.types.ts +25 -0
- package/src/shared/types/stack.types.ts +11 -0
- package/src/shared/utils/create-provider.tsx +183 -8
- package/src/shared/utils/navigation/resolve-scene-neighbors.ts +9 -4
- package/src/shared/utils/navigation/sync-routes-with-removed.ts +38 -7
- package/src/shared/utils/visibility-block-offset.ts +4 -0
- package/lib/commonjs/blank-stack/components/stack-view.native.js +0 -64
- package/lib/commonjs/blank-stack/components/stack-view.native.js.map +0 -1
- package/lib/commonjs/shared/components/native-screen-container.js +0 -42
- package/lib/commonjs/shared/components/native-screen-container.js.map +0 -1
- package/lib/commonjs/shared/components/native-screen.js +0 -125
- package/lib/commonjs/shared/components/native-screen.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js +0 -51
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js +0 -15
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js +0 -14
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js +0 -13
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/index.js +0 -101
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/index.js.map +0 -1
- package/lib/module/blank-stack/components/stack-view.native.js +0 -60
- package/lib/module/blank-stack/components/stack-view.native.js.map +0 -1
- package/lib/module/shared/components/native-screen-container.js +0 -37
- package/lib/module/shared/components/native-screen-container.js.map +0 -1
- package/lib/module/shared/components/native-screen.js +0 -119
- package/lib/module/shared/components/native-screen.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js +0 -47
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js +0 -10
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js +0 -9
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js +0 -8
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/use-local-routes/index.js +0 -95
- package/lib/module/shared/providers/stack/helpers/use-local-routes/index.js.map +0 -1
- package/lib/typescript/blank-stack/components/stack-view.native.d.ts +0 -3
- package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +0 -1
- package/lib/typescript/shared/components/native-screen-container.d.ts +0 -6
- package/lib/typescript/shared/components/native-screen-container.d.ts.map +0 -1
- package/lib/typescript/shared/components/native-screen.d.ts +0 -12
- package/lib/typescript/shared/components/native-screen.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.d.ts +0 -10
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.d.ts +0 -2
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.d.ts +0 -3
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.d.ts +0 -3
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/index.d.ts +0 -19
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/index.d.ts.map +0 -1
- package/src/blank-stack/components/stack-view.native.tsx +0 -74
- package/src/shared/components/native-screen-container.tsx +0 -33
- package/src/shared/components/native-screen.tsx +0 -176
- package/src/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.ts +0 -65
- package/src/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.ts +0 -15
- package/src/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.ts +0 -12
- package/src/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.ts +0 -11
- package/src/shared/providers/stack/helpers/use-local-routes/index.ts +0 -147
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-stack.types.d.ts","sourceRoot":"","sources":["../../../../../src/shared/types/providers/managed-stack.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"managed-stack.types.d.ts","sourceRoot":"","sources":["../../../../../src/shared/types/providers/managed-stack.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,MAAM,gBAAgB,CAAC;AAExB;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CACjC,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC7D,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;IAChE,QAAQ,EAAE,CACT,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAC3B,WAAW,EAAE,OAAO,KAChB,qBAAqB,CAAC,WAAW,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACxC,gBAAgB,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;CAC/D;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB,CACvC,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAClC,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;CAClD"}
|
|
@@ -28,6 +28,30 @@ export type GestureTracking = "auto" | "never" | "always";
|
|
|
28
28
|
*/
|
|
29
29
|
export type SnapPoint = number | "auto";
|
|
30
30
|
export type BackdropBehavior = "block" | "passthrough" | "dismiss" | "collapse";
|
|
31
|
+
/**
|
|
32
|
+
* Controls how an inactive screen is retained after it is no longer active.
|
|
33
|
+
*
|
|
34
|
+
* - `keep`
|
|
35
|
+
* keep inactive screen mounted, attached, visible, not interactive
|
|
36
|
+
* RNS: activityState=1, visible=true
|
|
37
|
+
* React Activity: mode="visible"
|
|
38
|
+
*
|
|
39
|
+
* - `freeze`
|
|
40
|
+
* keep last painted UI visible but stop/suspend inactive work where platform allows
|
|
41
|
+
* RNS: activityState=1, visible=true, maybe freezeOnBlur/shouldFreeze later
|
|
42
|
+
* React Activity: mode="hidden" with paint preserved
|
|
43
|
+
*
|
|
44
|
+
* - `detach`
|
|
45
|
+
* remove inactive screen from native/view presentation after safe paint
|
|
46
|
+
* RNS: activityState=0, visible=false
|
|
47
|
+
* React Activity: mode="hidden" + display none, or equivalent
|
|
48
|
+
*
|
|
49
|
+
* - `unmount`
|
|
50
|
+
* actually remove React subtree when the inactive screen is safe to remove
|
|
51
|
+
* RNS native: only after safe paint for non-nested screens
|
|
52
|
+
* web: return null
|
|
53
|
+
*/
|
|
54
|
+
export type InactiveBehavior = "keep" | "freeze" | "detach" | "unmount";
|
|
31
55
|
export type TransitionAwareProps<T extends object> = AnimatedProps<T> & {
|
|
32
56
|
/**
|
|
33
57
|
* Connects this component to custom animated styles defined in screenStyleInterpolator.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export interface BaseStackRoute {
|
|
|
15
15
|
name: string;
|
|
16
16
|
params?: object;
|
|
17
17
|
}
|
|
18
|
+
export type StackSceneActivity = "active" | "inert" | "inactive" | "closing";
|
|
18
19
|
/**
|
|
19
20
|
* Base navigation interface - minimal contract for gesture handling.
|
|
20
21
|
* Both React Navigation helpers and ComponentNavigation satisfy this.
|
|
@@ -39,8 +40,12 @@ export interface BaseStackDescriptor<TRoute extends BaseStackRoute = BaseStackRo
|
|
|
39
40
|
route: TRoute;
|
|
40
41
|
navigation: TNavigation;
|
|
41
42
|
options: TOptions;
|
|
43
|
+
activity?: StackSceneActivity;
|
|
42
44
|
render?: () => React.JSX.Element | null;
|
|
43
45
|
}
|
|
46
|
+
export type StackDescriptorSource<TDescriptor extends BaseStackDescriptor = BaseStackDescriptor> = Omit<TDescriptor, "activity"> & {
|
|
47
|
+
activity?: StackSceneActivity;
|
|
48
|
+
};
|
|
44
49
|
/**
|
|
45
50
|
* Base scene interface - route + descriptor pair.
|
|
46
51
|
* Used by all stack views to iterate over screens.
|
|
@@ -48,6 +53,8 @@ export interface BaseStackDescriptor<TRoute extends BaseStackRoute = BaseStackRo
|
|
|
48
53
|
export interface BaseStackScene<TDescriptor extends BaseStackDescriptor = BaseStackDescriptor> {
|
|
49
54
|
route: TDescriptor["route"];
|
|
50
55
|
descriptor: TDescriptor;
|
|
56
|
+
previousDescriptor?: TDescriptor;
|
|
57
|
+
nextDescriptor?: TDescriptor;
|
|
51
58
|
}
|
|
52
59
|
/**
|
|
53
60
|
* Base state interface - routes array with index.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/stack.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM;QACf,MAAM,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,MAAM,IAAI,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CACnC,MAAM,SAAS,cAAc,GAAG,cAAc,EAC9C,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC7D,QAAQ,SAAS,sBAAsB,GAAG,sBAAsB;IAEhE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,WAAW,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAC9B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"stack.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/stack.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM;QACf,MAAM,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,MAAM,IAAI,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CACnC,MAAM,SAAS,cAAc,GAAG,cAAc,EAC9C,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,EAC7D,QAAQ,SAAS,sBAAsB,GAAG,sBAAsB;IAEhE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,WAAW,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,MAAM,qBAAqB,CAChC,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,IAC1D,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG;IACnC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,cAAc,CAC9B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC;IACxB,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,cAAc,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAC9B,MAAM,SAAS,cAAc,GAAG,cAAc;IAE9C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,CACxB,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,IAC1D;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;CAC3B,CAAC;AAEF,oBAAY,SAAS;IACpB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,SAAS,cAAc;CACvB"}
|
|
@@ -4,15 +4,29 @@
|
|
|
4
4
|
* SUPER COOL AMAZING UTILITY
|
|
5
5
|
*/
|
|
6
6
|
import { type ReactNode } from "react";
|
|
7
|
-
type InnerProviderComponent =
|
|
7
|
+
type InnerProviderComponent = React.FC<{
|
|
8
8
|
children: ReactNode;
|
|
9
|
-
}
|
|
9
|
+
}>;
|
|
10
|
+
type ProviderSnapshot<ContextValue, Guarded extends boolean> = Guarded extends true ? ContextValue : ContextValue | null;
|
|
11
|
+
type ProviderSelector<ContextValue, Guarded extends boolean, Selected> = (value: ProviderSnapshot<ContextValue, Guarded>) => Selected;
|
|
12
|
+
type ProviderStoreHook<ContextValue, Guarded extends boolean> = {
|
|
13
|
+
(): ProviderSnapshot<ContextValue, Guarded>;
|
|
14
|
+
<Selected>(selector: ProviderSelector<ContextValue, Guarded, Selected>): Selected;
|
|
15
|
+
};
|
|
16
|
+
type ProviderOptionalStoreHook<ContextValue> = {
|
|
17
|
+
(): ContextValue | null;
|
|
18
|
+
<Selected>(selector: (value: ContextValue | null) => Selected): Selected;
|
|
19
|
+
};
|
|
20
|
+
export interface ProviderStoreApi<ContextValue> {
|
|
21
|
+
getSnapshot: () => ContextValue | null;
|
|
22
|
+
subscribe: (listener: () => void) => () => void;
|
|
23
|
+
}
|
|
10
24
|
export default function createProvider<ProviderName extends string, Guarded extends boolean = true>(name: ProviderName, options?: {
|
|
11
25
|
guarded?: Guarded;
|
|
12
26
|
}): <ProviderProps extends object, ContextValue>(factory: (props: ProviderProps) => {
|
|
13
27
|
value?: ContextValue;
|
|
14
28
|
enabled?: boolean;
|
|
15
29
|
children?: ReactNode | ((innerProvider: { [K in ProviderName as `${K}Provider`]: InnerProviderComponent; }) => ReactNode);
|
|
16
|
-
}) => { [P in ProviderName as `${P}Context`]: React.Context<ContextValue>; } & { [P in ProviderName as `${P}Provider`]: React.FC<ProviderProps>; } & { [P in ProviderName as `use${P}Context`]: () => Guarded extends true ? ContextValue : ContextValue | null; };
|
|
30
|
+
}) => { [P in ProviderName as `${P}Context`]: React.Context<ContextValue>; } & { [P in ProviderName as `${P}StoreContext`]: React.Context<ProviderStoreApi<ContextValue> | null>; } & { [P in ProviderName as `${P}Provider`]: React.FC<ProviderProps>; } & { [P in ProviderName as `use${P}Context`]: () => Guarded extends true ? ContextValue : ContextValue | null; } & { [P in ProviderName as `use${P}Store`]: ProviderStoreHook<ContextValue, Guarded>; } & { [P in ProviderName as `use${P}OptionalStore`]: ProviderOptionalStoreHook<ContextValue>; };
|
|
17
31
|
export {};
|
|
18
32
|
//# sourceMappingURL=create-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/create-provider.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAEN,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"create-provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/create-provider.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAEN,KAAK,SAAS,EAOd,MAAM,OAAO,CAAC;AAEf,KAAK,sBAAsB,GAAG,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEhE,KAAK,gBAAgB,CACpB,YAAY,EACZ,OAAO,SAAS,OAAO,IACpB,OAAO,SAAS,IAAI,GAAG,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;AAE9D,KAAK,gBAAgB,CAAC,YAAY,EAAE,OAAO,SAAS,OAAO,EAAE,QAAQ,IAAI,CACxE,KAAK,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,KAC1C,QAAQ,CAAC;AAEd,KAAK,iBAAiB,CAAC,YAAY,EAAE,OAAO,SAAS,OAAO,IAAI;IAC/D,IAAI,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,QAAQ,EACR,QAAQ,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,GACzD,QAAQ,CAAC;CACZ,CAAC;AAEF,KAAK,yBAAyB,CAAC,YAAY,IAAI;IAC9C,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,KAAK,QAAQ,GAAG,QAAQ,CAAC;CACzE,CAAC;AAEF,MAAM,WAAW,gBAAgB,CAAC,YAAY;IAC7C,WAAW,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CAChD;AA2CD,MAAM,CAAC,OAAO,UAAU,cAAc,CACrC,YAAY,SAAS,MAAM,EAC3B,OAAO,SAAS,OAAO,GAAG,IAAI,EAC7B,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,IAC5C,aAAa,SAAS,MAAM,EAAE,YAAY,EACjD,SAAS,CAAC,KAAK,EAAE,aAAa,KAAK;IAClC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EACN,SAAS,GACT,CAAC,CACD,aAAa,EAAE,GACb,CAAC,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,GAAG,sBAAsB,GAC7D,KACI,SAAS,CAAC,CAAC;CACnB,KAiKI,GACH,CAAC,IAAI,YAAY,IAAI,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GACjE,GAAG,GACF,CAAC,IAAI,YAAY,IAAI,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,GAC/F,GAAG,GACF,CAAC,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAC9D,GAAG,GACF,CAAC,IAAI,YAAY,IAAI,MAAM,CAAC,SAAS,GAAG,MAAM,OAAO,SAAS,IAAI,GAChE,YAAY,GACZ,YAAY,GAAG,IAAI,GACtB,GAAG,GACF,CAAC,IAAI,YAAY,IAAI,MAAM,CAAC,OAAO,GAAG,iBAAiB,CACvD,YAAY,EACZ,OAAO,CACP,GACD,GAAG,GACF,CAAC,IAAI,YAAY,IAAI,MAAM,CAAC,eAAe,GAAG,yBAAyB,CAAC,YAAY,CAAC,GACtF,CAEF"}
|
|
@@ -5,6 +5,7 @@ interface SceneWithKey {
|
|
|
5
5
|
descriptor: unknown;
|
|
6
6
|
}
|
|
7
7
|
type IsRouteClosing = (routeKey: string) => boolean;
|
|
8
|
+
type GetRouteClosingOrder = (routeKey: string) => number | undefined;
|
|
8
9
|
/**
|
|
9
10
|
* Resolves previous/next descriptors while accounting for routes that are
|
|
10
11
|
* visually closing.
|
|
@@ -18,7 +19,7 @@ type IsRouteClosing = (routeKey: string) => boolean;
|
|
|
18
19
|
* - If there is no non-closing neighbor above/below, we fall back to the first
|
|
19
20
|
* closing neighbor (needed for normal back transitions).
|
|
20
21
|
*/
|
|
21
|
-
export declare function resolveSceneNeighbors<T extends SceneWithKey>(scenes: T[], sceneIndex: number, isRouteClosing: IsRouteClosing): {
|
|
22
|
+
export declare function resolveSceneNeighbors<T extends SceneWithKey>(scenes: T[], sceneIndex: number, isRouteClosing: IsRouteClosing, getRouteClosingOrder?: GetRouteClosingOrder): {
|
|
22
23
|
previousDescriptor: T["descriptor"] | undefined;
|
|
23
24
|
nextDescriptor: T["descriptor"] | undefined;
|
|
24
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-scene-neighbors.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/navigation/resolve-scene-neighbors.ts"],"names":[],"mappings":"AAAA,UAAU,YAAY;IACrB,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-scene-neighbors.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/navigation/resolve-scene-neighbors.ts"],"names":[],"mappings":"AAAA,UAAU,YAAY;IACrB,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;AACpD,KAAK,oBAAoB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAyBrE;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,YAAY,EAC3D,MAAM,EAAE,CAAC,EAAE,EACX,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,cAAc,EAC9B,oBAAoB,CAAC,EAAE,oBAAoB,GACzC;IACF,kBAAkB,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IAChD,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;CAC5C,CAsDA"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { useClosingRouteKeys } from "../../hooks/navigation/use-closing-route-keys";
|
|
2
2
|
import type { RouteWithKey } from "../../types/stack.types";
|
|
3
|
+
type ClosingRouteKeys = Set<string> | ReturnType<typeof useClosingRouteKeys>;
|
|
3
4
|
type SyncRoutesWithRemovedParams<Route extends RouteWithKey, DescriptorMap extends Record<string, unknown>> = {
|
|
4
5
|
prevRoutes: Route[];
|
|
5
6
|
prevDescriptors: DescriptorMap;
|
|
6
7
|
nextRoutes: Route[];
|
|
7
8
|
nextDescriptors: DescriptorMap;
|
|
8
|
-
closingRouteKeys:
|
|
9
|
+
closingRouteKeys: ClosingRouteKeys;
|
|
9
10
|
};
|
|
10
11
|
/**
|
|
11
12
|
* Synchronizes routes while handling removed routes that may still be animating out.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-routes-with-removed.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/navigation/sync-routes-with-removed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,KAAK,2BAA2B,CAC/B,KAAK,SAAS,YAAY,EAC1B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1C;IACH,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,eAAe,EAAE,aAAa,CAAC;IAC/B,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,eAAe,EAAE,aAAa,CAAC;IAC/B,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"sync-routes-with-removed.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/navigation/sync-routes-with-removed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,KAAK,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE7E,KAAK,2BAA2B,CAC/B,KAAK,SAAS,YAAY,EAC1B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1C;IACH,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,eAAe,EAAE,aAAa,CAAC;IAC/B,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,eAAe,EAAE,aAAa,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;CACnC,CAAC;AA+BF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GACjC,KAAK,SAAS,YAAY,EAC1B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,iFAMC,2BAA2B,CAAC,KAAK,EAAE,aAAa,CAAC,KAAG;IACtD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE,aAAa,CAAC;CAoE3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visibility-block-offset.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/visibility-block-offset.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,GAAI,gBAAgB,MAAM,KAAG,MAGjE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-screen-transitions",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0-alpha.0",
|
|
4
4
|
"description": "Easy screen transitions for React Native and Expo",
|
|
5
5
|
"author": "Ed",
|
|
6
6
|
"license": "MIT",
|
|
@@ -9,6 +9,16 @@
|
|
|
9
9
|
"url": "https://github.com/eds2002/react-native-screen-transitions.git",
|
|
10
10
|
"directory": "packages/react-native-screen-transitions"
|
|
11
11
|
},
|
|
12
|
+
"funding": [
|
|
13
|
+
{
|
|
14
|
+
"type": "github",
|
|
15
|
+
"url": "https://github.com/sponsors/eds2002"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"type": "individual",
|
|
19
|
+
"url": "https://buymeacoffee.com/trpfsu"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
12
22
|
"main": "lib/commonjs/shared/index.js",
|
|
13
23
|
"module": "lib/module/shared/index.js",
|
|
14
24
|
"types": "lib/typescript/shared/index.d.ts",
|
|
@@ -1,72 +1,78 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
NavigationContext,
|
|
3
|
+
NavigationRouteContext,
|
|
4
|
+
} from "@react-navigation/native";
|
|
5
|
+
import { Fragment, memo } from "react";
|
|
6
|
+
import {
|
|
7
|
+
ActivityContainer,
|
|
8
|
+
ActivityScreen,
|
|
9
|
+
} from "../../shared/components/activity";
|
|
4
10
|
import { Overlay } from "../../shared/components/overlay";
|
|
5
|
-
import { SceneView } from "../../shared/components/scene-view";
|
|
6
11
|
import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
|
|
7
12
|
import { withStackCore } from "../../shared/providers/stack/core.provider";
|
|
8
13
|
import { withManagedStack } from "../../shared/providers/stack/managed.provider";
|
|
9
|
-
import {
|
|
10
|
-
import { isFabric } from "../../shared/utils/platform";
|
|
14
|
+
import type { BaseStackScene } from "../../shared/types/stack.types";
|
|
11
15
|
import type {
|
|
12
16
|
BlankStackDescriptor,
|
|
13
17
|
BlankStackNavigationHelpers,
|
|
14
18
|
} from "../types";
|
|
15
19
|
|
|
20
|
+
interface BlankSceneRowProps {
|
|
21
|
+
scene: BaseStackScene<BlankStackDescriptor>;
|
|
22
|
+
paintDriverRouteKey?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const BlankSceneRow = memo(function BlankSceneRow({
|
|
26
|
+
scene,
|
|
27
|
+
paintDriverRouteKey,
|
|
28
|
+
}: BlankSceneRowProps) {
|
|
29
|
+
const descriptor = scene.descriptor;
|
|
30
|
+
const route = scene.route;
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<NavigationContext.Provider value={descriptor.navigation}>
|
|
34
|
+
<NavigationRouteContext.Provider value={route}>
|
|
35
|
+
<ActivityScreen
|
|
36
|
+
activity={descriptor.activity}
|
|
37
|
+
inactiveBehavior={descriptor.options.inactiveBehavior}
|
|
38
|
+
paintDriverRouteKey={paintDriverRouteKey}
|
|
39
|
+
hasNestedState={"state" in route}
|
|
40
|
+
>
|
|
41
|
+
<ScreenComposer
|
|
42
|
+
previous={scene.previousDescriptor}
|
|
43
|
+
current={descriptor}
|
|
44
|
+
next={scene.nextDescriptor}
|
|
45
|
+
>
|
|
46
|
+
{descriptor.render?.()}
|
|
47
|
+
</ScreenComposer>
|
|
48
|
+
</ActivityScreen>
|
|
49
|
+
</NavigationRouteContext.Provider>
|
|
50
|
+
</NavigationContext.Provider>
|
|
51
|
+
);
|
|
52
|
+
});
|
|
53
|
+
|
|
16
54
|
export const StackView = withStackCore(
|
|
17
|
-
{ TRANSITIONS_ALWAYS_ON: true, DISABLE_NATIVE_SCREENS:
|
|
55
|
+
{ TRANSITIONS_ALWAYS_ON: true, DISABLE_NATIVE_SCREENS: false },
|
|
18
56
|
withManagedStack<BlankStackDescriptor, BlankStackNavigationHelpers>(
|
|
19
|
-
({
|
|
20
|
-
descriptors,
|
|
21
|
-
focusedIndex,
|
|
22
|
-
scenes,
|
|
23
|
-
shouldShowFloatOverlay,
|
|
24
|
-
closingRouteMap,
|
|
25
|
-
}) => {
|
|
26
|
-
const isRouteClosing = (routeKey: string) =>
|
|
27
|
-
Boolean(closingRouteMap.current[routeKey]);
|
|
28
|
-
|
|
57
|
+
({ scenes, shouldShowFloatOverlay }) => {
|
|
29
58
|
return (
|
|
30
59
|
<Fragment>
|
|
31
60
|
{shouldShowFloatOverlay ? <Overlay.Float /> : null}
|
|
32
61
|
|
|
33
|
-
<
|
|
34
|
-
{scenes.map((scene,
|
|
35
|
-
const descriptor = scene.descriptor;
|
|
62
|
+
<ActivityContainer>
|
|
63
|
+
{scenes.map((scene, index) => {
|
|
36
64
|
const route = scene.route;
|
|
37
|
-
const
|
|
38
|
-
const isBelowFocused = focusedIndex - 1 === sceneIndex;
|
|
39
|
-
|
|
40
|
-
const { previousDescriptor, nextDescriptor } =
|
|
41
|
-
resolveSceneNeighbors(scenes, sceneIndex, isRouteClosing);
|
|
42
|
-
|
|
43
|
-
const isPreloaded = descriptors[route.key] === undefined;
|
|
65
|
+
const paintDriverRouteKey = scenes[index + 2]?.route.key;
|
|
44
66
|
|
|
45
|
-
// On Fabric, when screen is frozen, animated and reanimated values are not updated
|
|
46
|
-
// due to component being unmounted. To avoid this, we don't freeze the previous screen there
|
|
47
|
-
const shouldFreeze = isFabric()
|
|
48
|
-
? !isPreloaded && !isFocused && !isBelowFocused
|
|
49
|
-
: !isPreloaded && !isFocused;
|
|
50
67
|
return (
|
|
51
|
-
<
|
|
68
|
+
<BlankSceneRow
|
|
52
69
|
key={route.key}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
shouldFreeze={shouldFreeze}
|
|
57
|
-
freezeOnBlur={descriptor.options.freezeOnBlur}
|
|
58
|
-
>
|
|
59
|
-
<ScreenComposer
|
|
60
|
-
previous={previousDescriptor}
|
|
61
|
-
current={descriptor}
|
|
62
|
-
next={nextDescriptor}
|
|
63
|
-
>
|
|
64
|
-
<SceneView key={route.key} descriptor={descriptor} />
|
|
65
|
-
</ScreenComposer>
|
|
66
|
-
</NativeScreen>
|
|
70
|
+
scene={scene}
|
|
71
|
+
paintDriverRouteKey={paintDriverRouteKey}
|
|
72
|
+
/>
|
|
67
73
|
);
|
|
68
74
|
})}
|
|
69
|
-
</
|
|
75
|
+
</ActivityContainer>
|
|
70
76
|
</Fragment>
|
|
71
77
|
);
|
|
72
78
|
},
|
package/src/blank-stack/index.ts
CHANGED
|
@@ -28,7 +28,6 @@ type BlankStackNavigatorInnerProps = Omit<
|
|
|
28
28
|
keyof BlankStackFactoryOptions
|
|
29
29
|
> & {
|
|
30
30
|
DISABLE_NATIVE_SCREENS?: boolean;
|
|
31
|
-
DISABLE_NATIVE_SCREEN_CONTAINER?: boolean;
|
|
32
31
|
};
|
|
33
32
|
|
|
34
33
|
const BlankStackContext = React.createContext<boolean>(false);
|
|
@@ -42,8 +41,6 @@ function BlankStackNavigatorInner({
|
|
|
42
41
|
screenListeners,
|
|
43
42
|
screenOptions,
|
|
44
43
|
screenLayout,
|
|
45
|
-
DISABLE_NATIVE_SCREENS,
|
|
46
|
-
DISABLE_NATIVE_SCREEN_CONTAINER,
|
|
47
44
|
...rest
|
|
48
45
|
}: BlankStackNavigatorInnerProps) {
|
|
49
46
|
const { state, describe, descriptors, navigation, NavigationContent } =
|
|
@@ -69,8 +66,6 @@ function BlankStackNavigatorInner({
|
|
|
69
66
|
<NavigationContent>
|
|
70
67
|
<StackView
|
|
71
68
|
{...rest}
|
|
72
|
-
DISABLE_NATIVE_SCREENS={DISABLE_NATIVE_SCREENS}
|
|
73
|
-
DISABLE_NATIVE_SCREEN_CONTAINER={DISABLE_NATIVE_SCREEN_CONTAINER}
|
|
74
69
|
state={state}
|
|
75
70
|
navigation={navigation}
|
|
76
71
|
descriptors={descriptors}
|
|
@@ -81,19 +76,18 @@ function BlankStackNavigatorInner({
|
|
|
81
76
|
}
|
|
82
77
|
|
|
83
78
|
function BlankStackNavigator({
|
|
79
|
+
enableNativeScreens,
|
|
84
80
|
independent = false,
|
|
85
|
-
|
|
81
|
+
nativeScreens,
|
|
86
82
|
...rest
|
|
87
83
|
}: BlankStackNavigatorProps) {
|
|
88
84
|
const isNested = React.useContext(BlankStackContext);
|
|
85
|
+
const nativeScreensEnabled = nativeScreens ?? enableNativeScreens ?? true;
|
|
89
86
|
|
|
90
87
|
const navigator = (
|
|
91
88
|
<BlankStackNavigatorInner
|
|
92
89
|
{...rest}
|
|
93
|
-
{
|
|
94
|
-
DISABLE_NATIVE_SCREENS: true,
|
|
95
|
-
})}
|
|
96
|
-
DISABLE_NATIVE_SCREEN_CONTAINER={independent}
|
|
90
|
+
DISABLE_NATIVE_SCREENS={!nativeScreensEnabled}
|
|
97
91
|
/>
|
|
98
92
|
);
|
|
99
93
|
|
|
@@ -137,14 +131,12 @@ type BlankStackTypeBag<
|
|
|
137
131
|
* Creates a blank stack navigator with gesture-driven transitions.
|
|
138
132
|
*
|
|
139
133
|
* By default, blank stack behaves like the existing top-level blank stack:
|
|
140
|
-
* it participates in the current navigation tree and
|
|
141
|
-
*
|
|
134
|
+
* it participates in the current navigation tree and renders screens with
|
|
135
|
+
* react-native-screens.
|
|
142
136
|
*
|
|
143
137
|
* Blank stack also accepts navigator-specific props for embedded-flow behavior:
|
|
138
|
+
* - `nativeScreens: false` renders blank-stack screens as regular React Native views
|
|
144
139
|
* - `independent: true` creates an isolated navigator for nested flows
|
|
145
|
-
* - `enableNativeScreens: false` renders the stack with regular views instead
|
|
146
|
-
* of `react-native-screens`
|
|
147
|
-
*
|
|
148
140
|
* In the dynamic API, pass these to `<Stack.Navigator />`.
|
|
149
141
|
* In the static API, pass them in the same config object as `screens`.
|
|
150
142
|
*/
|
package/src/blank-stack/types.ts
CHANGED
|
@@ -10,8 +10,11 @@ import type {
|
|
|
10
10
|
StackRouterOptions,
|
|
11
11
|
Theme,
|
|
12
12
|
} from "@react-navigation/native";
|
|
13
|
-
import type { ScreenTransitionConfig } from "../shared";
|
|
13
|
+
import type { InactiveBehavior, ScreenTransitionConfig } from "../shared";
|
|
14
14
|
import type { OverlayProps } from "../shared/types/overlay.types";
|
|
15
|
+
import type { StackSceneActivity } from "../shared/types/stack.types";
|
|
16
|
+
|
|
17
|
+
export type { InactiveBehavior } from "../shared";
|
|
15
18
|
|
|
16
19
|
export type BlankStackNavigationEventMap = {};
|
|
17
20
|
|
|
@@ -60,6 +63,24 @@ export type BlankStackNavigationHelpers = NavigationHelpers<
|
|
|
60
63
|
* The exported name is kept for backward compatibility.
|
|
61
64
|
*/
|
|
62
65
|
export interface BlankStackFactoryOptions {
|
|
66
|
+
/**
|
|
67
|
+
* Controls whether blank-stack screens are rendered with react-native-screens.
|
|
68
|
+
*
|
|
69
|
+
* When enabled, inactive presentation state is backed by
|
|
70
|
+
* `ScreenContainer`/`Screen.activityState`. Set this to `false` to render
|
|
71
|
+
* screens as regular React Native views.
|
|
72
|
+
*
|
|
73
|
+
* @default true
|
|
74
|
+
*/
|
|
75
|
+
nativeScreens?: boolean;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Enables react-native-screens for blank-stack screen retention.
|
|
79
|
+
*
|
|
80
|
+
* @deprecated Use `nativeScreens` instead.
|
|
81
|
+
*/
|
|
82
|
+
enableNativeScreens?: boolean;
|
|
83
|
+
|
|
63
84
|
/**
|
|
64
85
|
* Creates an isolated navigation tree for embedded flows.
|
|
65
86
|
*
|
|
@@ -68,22 +89,10 @@ export interface BlankStackFactoryOptions {
|
|
|
68
89
|
*
|
|
69
90
|
* When enabled, the navigator:
|
|
70
91
|
* - wraps itself in `NavigationIndependentTree` + `NavigationContainer`
|
|
71
|
-
* - skips the shared native `ScreenContainer`
|
|
72
92
|
*
|
|
73
93
|
* Leave this disabled for normal top-level app stacks.
|
|
74
94
|
*/
|
|
75
95
|
independent?: boolean;
|
|
76
|
-
/**
|
|
77
|
-
* Enables native screen primitives on supported native platforms.
|
|
78
|
-
*
|
|
79
|
-
* Use this when you want the embedded blank stack to keep `react-native-screens`
|
|
80
|
-
* behavior such as native activity state and freezing.
|
|
81
|
-
*
|
|
82
|
-
* Set this to `false` when you want the blank stack to render with regular
|
|
83
|
-
* views instead of native screen primitives. This is useful for embedded
|
|
84
|
-
* flows where plain views are a better fit than native screen layering.
|
|
85
|
-
*/
|
|
86
|
-
enableNativeScreens?: boolean;
|
|
87
96
|
}
|
|
88
97
|
|
|
89
98
|
/**
|
|
@@ -94,24 +103,28 @@ export type BlankStackOverlayProps = OverlayProps<
|
|
|
94
103
|
BlankStackNavigationProp<ParamListBase>
|
|
95
104
|
>;
|
|
96
105
|
|
|
97
|
-
type
|
|
98
|
-
/**
|
|
99
|
-
* Whether to detach the previous screen from the view hierarchy to save memory.
|
|
100
|
-
* Set it to `false` if you need the previous screen to be seen through the active screen.
|
|
101
|
-
* Only applicable if `detachInactiveScreens` isn't set to `false`.
|
|
102
|
-
*/
|
|
103
|
-
detachPreviousScreen?: boolean;
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
export type BlankStackNavigationOptions = BlankStackScreenTransitionConfig & {
|
|
106
|
+
export type BlankStackNavigationOptions = ScreenTransitionConfig & {
|
|
107
107
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
108
|
+
* Controls how inactive blank-stack screens are retained after they are no
|
|
109
|
+
* longer active.
|
|
110
|
+
*
|
|
111
|
+
* For a stack shaped as A(inactive), B(inert), C(active):
|
|
112
|
+
*
|
|
113
|
+
* - `keep`: keeps A mounted, attached, visible, and non-interactive.
|
|
114
|
+
* - `freeze`: keeps A's last painted UI visible and asks the platform to
|
|
115
|
+
* stop or suspend inactive work where possible.
|
|
116
|
+
* - `detach`: removes A from native/view presentation after the screen that
|
|
117
|
+
* exposes it has safely painted.
|
|
118
|
+
* - `unmount`: removes A's React subtree after safe paint when the route has
|
|
119
|
+
* no nested navigation state.
|
|
111
120
|
*
|
|
112
|
-
*
|
|
121
|
+
* On web, or when native screens are disabled, `keep`, `freeze`, and
|
|
122
|
+
* `detach` currently have no meaningful retention effect. This will change
|
|
123
|
+
* once the implementation can use React 19.2's Activity component.
|
|
124
|
+
*
|
|
125
|
+
* @default "detach" on native, "unmount" on web
|
|
113
126
|
*/
|
|
114
|
-
|
|
127
|
+
inactiveBehavior?: InactiveBehavior;
|
|
115
128
|
};
|
|
116
129
|
|
|
117
130
|
export type BlankStackNavigatorProps = DefaultNavigatorOptions<
|
|
@@ -129,4 +142,6 @@ export type BlankStackDescriptor = Descriptor<
|
|
|
129
142
|
BlankStackNavigationOptions,
|
|
130
143
|
BlankStackNavigationProp<ParamListBase>,
|
|
131
144
|
RouteProp<ParamListBase>
|
|
132
|
-
|
|
145
|
+
> & {
|
|
146
|
+
activity: StackSceneActivity;
|
|
147
|
+
};
|
|
@@ -5,7 +5,6 @@ import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
|
|
|
5
5
|
import { withStackCore } from "../../shared/providers/stack/core.provider";
|
|
6
6
|
import { withManagedStack } from "../../shared/providers/stack/managed.provider";
|
|
7
7
|
import { StackType } from "../../shared/types/stack.types";
|
|
8
|
-
import { resolveSceneNeighbors } from "../../shared/utils/navigation/resolve-scene-neighbors";
|
|
9
8
|
import type {
|
|
10
9
|
ComponentStackDescriptor,
|
|
11
10
|
ComponentStackNavigationHelpers,
|
|
@@ -15,27 +14,21 @@ import { ComponentScreen } from "./component-screen";
|
|
|
15
14
|
export const StackView = withStackCore(
|
|
16
15
|
{ TRANSITIONS_ALWAYS_ON: true, STACK_TYPE: StackType.COMPONENT },
|
|
17
16
|
withManagedStack<ComponentStackDescriptor, ComponentStackNavigationHelpers>(
|
|
18
|
-
({ scenes, shouldShowFloatOverlay
|
|
19
|
-
const isRouteClosing = (routeKey: string) =>
|
|
20
|
-
Boolean(closingRouteMap.current[routeKey]);
|
|
21
|
-
|
|
17
|
+
({ scenes, shouldShowFloatOverlay }) => {
|
|
22
18
|
return (
|
|
23
19
|
<Fragment>
|
|
24
20
|
{shouldShowFloatOverlay ? <Overlay.Float /> : null}
|
|
25
21
|
|
|
26
|
-
{scenes.map((scene
|
|
22
|
+
{scenes.map((scene) => {
|
|
27
23
|
const descriptor = scene.descriptor;
|
|
28
24
|
const route = scene.route;
|
|
29
25
|
|
|
30
|
-
const { previousDescriptor, nextDescriptor } =
|
|
31
|
-
resolveSceneNeighbors(scenes, sceneIndex, isRouteClosing);
|
|
32
|
-
|
|
33
26
|
return (
|
|
34
27
|
<ComponentScreen key={route.key} routeKey={route.key}>
|
|
35
28
|
<ScreenComposer
|
|
36
|
-
previous={previousDescriptor}
|
|
29
|
+
previous={scene.previousDescriptor}
|
|
37
30
|
current={descriptor}
|
|
38
|
-
next={nextDescriptor}
|
|
31
|
+
next={scene.nextDescriptor}
|
|
39
32
|
>
|
|
40
33
|
<SceneView key={route.key} descriptor={descriptor} />
|
|
41
34
|
</ScreenComposer>
|
|
@@ -99,7 +99,7 @@ function IsolatedComponentStackNavigator(props: ComponentStackNavigatorProps) {
|
|
|
99
99
|
* @deprecated Component stack was originally introduced for independent,
|
|
100
100
|
* embedded navigation flows. Blank stack now supports that use case directly
|
|
101
101
|
* via navigator props such as `<BlankStack.Navigator independent />`, with
|
|
102
|
-
* `
|
|
102
|
+
* `nativeScreens` available when you need to switch between native
|
|
103
103
|
* screens and regular views. Prefer blank stack for new work; component stack
|
|
104
104
|
* will be removed in a future release.
|
|
105
105
|
*/
|
|
@@ -62,6 +62,11 @@ function NativeStackNavigator({
|
|
|
62
62
|
);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
/**
|
|
66
|
+
* @deprecated The bundled native-stack integration is deprecated and will be removed in a future major release.
|
|
67
|
+
* Use `@react-navigation/native-stack` or Expo Router's native stack with
|
|
68
|
+
* `withScreenTransitions` from `react-native-screen-transitions` instead.
|
|
69
|
+
*/
|
|
65
70
|
export function createNativeStackNavigator<
|
|
66
71
|
const ParamList extends ParamListBase,
|
|
67
72
|
const NavigatorID extends string | undefined = undefined,
|