react-native-screen-transitions 3.6.0 → 3.7.0-beta.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 +69 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/index.js.map +1 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/options.js +57 -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/helpers/resolve-slot-styles/index.js +7 -28
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.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/screen/styles/hooks/use-resolved-slot-style-map.js +2 -14
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.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 +197 -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 +58 -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 +92 -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 +118 -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/bounds/navigation/reveal/build.js +4 -4
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/config.js +2 -1
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/config.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 +65 -0
- package/lib/module/shared/adapters/with-screen-transitions/index.js.map +1 -0
- package/lib/module/shared/adapters/with-screen-transitions/options.js +52 -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/helpers/resolve-slot-styles/index.js +7 -28
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.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/screen/styles/hooks/use-resolved-slot-style-map.js +3 -15
- package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.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 +192 -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 +53 -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 +78 -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 +113 -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/bounds/navigation/reveal/build.js +5 -5
- package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/reveal/config.js +1 -0
- package/lib/module/shared/utils/bounds/navigation/reveal/config.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 +10 -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 +9 -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/helpers/resolve-slot-styles/index.d.ts +1 -2
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.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/screen/styles/hooks/use-resolved-slot-style-map.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 +13 -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/bounds.types.d.ts +19 -0
- package/lib/typescript/shared/types/bounds.types.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/bounds/navigation/reveal/build.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/navigation/reveal/config.d.ts +1 -0
- package/lib/typescript/shared/utils/bounds/navigation/reveal/config.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 +150 -0
- package/src/shared/adapters/with-screen-transitions/options.ts +101 -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 +5 -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/helpers/resolve-slot-styles/index.ts +12 -53
- package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +17 -1
- package/src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx +3 -16
- 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 +365 -0
- package/src/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.ts +121 -0
- package/src/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.ts +158 -0
- package/src/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.ts +188 -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/bounds.types.ts +19 -0
- 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/bounds/navigation/reveal/build.ts +10 -6
- package/src/shared/utils/bounds/navigation/reveal/config.ts +1 -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
|
@@ -2,6 +2,8 @@ import type { useClosingRouteKeys } from "../../hooks/navigation/use-closing-rou
|
|
|
2
2
|
import type { RouteWithKey } from "../../types/stack.types";
|
|
3
3
|
import { composeDescriptors } from "./compose-descriptors";
|
|
4
4
|
|
|
5
|
+
type ClosingRouteKeys = Set<string> | ReturnType<typeof useClosingRouteKeys>;
|
|
6
|
+
|
|
5
7
|
type SyncRoutesWithRemovedParams<
|
|
6
8
|
Route extends RouteWithKey,
|
|
7
9
|
DescriptorMap extends Record<string, unknown>,
|
|
@@ -10,7 +12,36 @@ type SyncRoutesWithRemovedParams<
|
|
|
10
12
|
prevDescriptors: DescriptorMap;
|
|
11
13
|
nextRoutes: Route[];
|
|
12
14
|
nextDescriptors: DescriptorMap;
|
|
13
|
-
closingRouteKeys:
|
|
15
|
+
closingRouteKeys: ClosingRouteKeys;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const addClosingRouteKey = (
|
|
19
|
+
closingRouteKeys: ClosingRouteKeys,
|
|
20
|
+
key: string,
|
|
21
|
+
) => {
|
|
22
|
+
closingRouteKeys.add(key);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const deleteClosingRouteKey = (
|
|
26
|
+
closingRouteKeys: ClosingRouteKeys,
|
|
27
|
+
key: string,
|
|
28
|
+
) => {
|
|
29
|
+
if (closingRouteKeys instanceof Set) {
|
|
30
|
+
closingRouteKeys.delete(key);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
closingRouteKeys.remove(key);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const getClosingRouteKeyValues = (
|
|
38
|
+
closingRouteKeys: ClosingRouteKeys,
|
|
39
|
+
): Iterable<string> => {
|
|
40
|
+
if (closingRouteKeys instanceof Set) {
|
|
41
|
+
return closingRouteKeys;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return closingRouteKeys.ref.current;
|
|
14
45
|
};
|
|
15
46
|
|
|
16
47
|
/**
|
|
@@ -60,16 +91,16 @@ export const syncRoutesWithRemoved = <
|
|
|
60
91
|
|
|
61
92
|
if (nextRouteWasPresent && !previousRouteStillPresent) {
|
|
62
93
|
// Previous route was removed, mark as closing
|
|
63
|
-
closingRouteKeys
|
|
94
|
+
addClosingRouteKey(closingRouteKeys, previousFocusedRoute.key);
|
|
64
95
|
|
|
65
96
|
derivedRoutes.push(previousFocusedRoute);
|
|
66
97
|
} else {
|
|
67
98
|
// Next route is now active, not closing
|
|
68
|
-
closingRouteKeys
|
|
99
|
+
deleteClosingRouteKey(closingRouteKeys, nextFocusedRoute.key);
|
|
69
100
|
|
|
70
101
|
if (!previousRouteStillPresent) {
|
|
71
102
|
// Previous route needs to be inserted for transition
|
|
72
|
-
closingRouteKeys
|
|
103
|
+
deleteClosingRouteKey(closingRouteKeys, previousFocusedRoute.key);
|
|
73
104
|
|
|
74
105
|
const insertIndex = Math.max(derivedRoutes.length - 1, 0);
|
|
75
106
|
derivedRoutes.splice(insertIndex, 0, previousFocusedRoute);
|
|
@@ -77,14 +108,14 @@ export const syncRoutesWithRemoved = <
|
|
|
77
108
|
}
|
|
78
109
|
} else if (nextFocusedRoute) {
|
|
79
110
|
// Same focused route, ensure it's not marked as closing
|
|
80
|
-
closingRouteKeys
|
|
111
|
+
deleteClosingRouteKey(closingRouteKeys, nextFocusedRoute.key);
|
|
81
112
|
}
|
|
82
113
|
|
|
83
114
|
// Clean up closing keys that are no longer in the route list
|
|
84
115
|
const activeKeys = new Set(derivedRoutes.map((route) => route.key));
|
|
85
|
-
for (const key of Array.from(closingRouteKeys
|
|
116
|
+
for (const key of Array.from(getClosingRouteKeyValues(closingRouteKeys))) {
|
|
86
117
|
if (!activeKeys.has(key)) {
|
|
87
|
-
closingRouteKeys
|
|
118
|
+
deleteClosingRouteKey(closingRouteKeys, key);
|
|
88
119
|
}
|
|
89
120
|
}
|
|
90
121
|
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.StackView = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _nativeScreen = require("../../shared/components/native-screen");
|
|
9
|
-
var _nativeScreenContainer = require("../../shared/components/native-screen-container");
|
|
10
|
-
var _overlay = require("../../shared/components/overlay");
|
|
11
|
-
var _sceneView = require("../../shared/components/scene-view");
|
|
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 _resolveSceneNeighbors = require("../../shared/utils/navigation/resolve-scene-neighbors");
|
|
16
|
-
var _platform = require("../../shared/utils/platform");
|
|
17
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
const StackView = exports.StackView = (0, _core.withStackCore)({
|
|
19
|
-
TRANSITIONS_ALWAYS_ON: true,
|
|
20
|
-
DISABLE_NATIVE_SCREENS: false
|
|
21
|
-
}, (0, _managed.withManagedStack)(({
|
|
22
|
-
descriptors,
|
|
23
|
-
focusedIndex,
|
|
24
|
-
scenes,
|
|
25
|
-
shouldShowFloatOverlay,
|
|
26
|
-
closingRouteMap
|
|
27
|
-
}) => {
|
|
28
|
-
const isRouteClosing = routeKey => Boolean(closingRouteMap.current[routeKey]);
|
|
29
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
30
|
-
children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_nativeScreenContainer.NativeScreenContainer, {
|
|
31
|
-
children: scenes.map((scene, sceneIndex) => {
|
|
32
|
-
const descriptor = scene.descriptor;
|
|
33
|
-
const route = scene.route;
|
|
34
|
-
const isFocused = focusedIndex === sceneIndex;
|
|
35
|
-
const isBelowFocused = focusedIndex - 1 === sceneIndex;
|
|
36
|
-
const {
|
|
37
|
-
previousDescriptor,
|
|
38
|
-
nextDescriptor
|
|
39
|
-
} = (0, _resolveSceneNeighbors.resolveSceneNeighbors)(scenes, sceneIndex, isRouteClosing);
|
|
40
|
-
const isPreloaded = descriptors[route.key] === undefined;
|
|
41
|
-
|
|
42
|
-
// On Fabric, when screen is frozen, animated and reanimated values are not updated
|
|
43
|
-
// due to component being unmounted. To avoid this, we don't freeze the previous screen there
|
|
44
|
-
const shouldFreeze = (0, _platform.isFabric)() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
|
|
45
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_nativeScreen.NativeScreen, {
|
|
46
|
-
isPreloaded: isPreloaded,
|
|
47
|
-
index: sceneIndex,
|
|
48
|
-
routeKey: route.key,
|
|
49
|
-
shouldFreeze: shouldFreeze,
|
|
50
|
-
freezeOnBlur: descriptor.options.freezeOnBlur,
|
|
51
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
|
|
52
|
-
previous: previousDescriptor,
|
|
53
|
-
current: descriptor,
|
|
54
|
-
next: nextDescriptor,
|
|
55
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sceneView.SceneView, {
|
|
56
|
-
descriptor: descriptor
|
|
57
|
-
}, route.key)
|
|
58
|
-
})
|
|
59
|
-
}, route.key);
|
|
60
|
-
})
|
|
61
|
-
})]
|
|
62
|
-
});
|
|
63
|
-
}));
|
|
64
|
-
//# sourceMappingURL=stack-view.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_nativeScreen","_nativeScreenContainer","_overlay","_sceneView","_screenComposer","_core","_managed","_resolveSceneNeighbors","_platform","_jsxRuntime","StackView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","withManagedStack","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","closingRouteMap","isRouteClosing","routeKey","Boolean","current","jsxs","Fragment","children","jsx","Overlay","Float","NativeScreenContainer","map","scene","sceneIndex","descriptor","route","isFocused","isBelowFocused","previousDescriptor","nextDescriptor","resolveSceneNeighbors","isPreloaded","key","undefined","shouldFreeze","isFabric","NativeScreen","index","freezeOnBlur","options","ScreenComposer","previous","next","SceneView"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.native.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,sBAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAAuD,IAAAU,WAAA,GAAAV,OAAA;AAMhD,MAAMW,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,mBAAa,EACrC;EAAEC,qBAAqB,EAAE,IAAI;EAAEC,sBAAsB,EAAE;AAAM,CAAC,EAC9D,IAAAC,yBAAgB,EACf,CAAC;EACAC,WAAW;EACXC,YAAY;EACZC,MAAM;EACNC,sBAAsB;EACtBC;AACD,CAAC,KAAK;EACL,MAAMC,cAAc,GAAIC,QAAgB,IACvCC,OAAO,CAACH,eAAe,CAACI,OAAO,CAACF,QAAQ,CAAC,CAAC;EAE3C,oBACC,IAAAb,WAAA,CAAAgB,IAAA,EAAC3B,MAAA,CAAA4B,QAAQ;IAAAC,QAAA,GACPR,sBAAsB,gBAAG,IAAAV,WAAA,CAAAmB,GAAA,EAAC1B,QAAA,CAAA2B,OAAO,CAACC,KAAK,IAAE,CAAC,GAAG,IAAI,eAElD,IAAArB,WAAA,CAAAmB,GAAA,EAAC3B,sBAAA,CAAA8B,qBAAqB;MAAAJ,QAAA,EACpBT,MAAM,CAACc,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;QAClC,MAAMC,UAAU,GAAGF,KAAK,CAACE,UAAU;QACnC,MAAMC,KAAK,GAAGH,KAAK,CAACG,KAAK;QACzB,MAAMC,SAAS,GAAGpB,YAAY,KAAKiB,UAAU;QAC7C,MAAMI,cAAc,GAAGrB,YAAY,GAAG,CAAC,KAAKiB,UAAU;QAEtD,MAAM;UAAEK,kBAAkB;UAAEC;QAAe,CAAC,GAC3C,IAAAC,4CAAqB,EAACvB,MAAM,EAAEgB,UAAU,EAAEb,cAAc,CAAC;QAE1D,MAAMqB,WAAW,GAAG1B,WAAW,CAACoB,KAAK,CAACO,GAAG,CAAC,KAAKC,SAAS;;QAExD;QACA;QACA,MAAMC,YAAY,GAAG,IAAAC,kBAAQ,EAAC,CAAC,GAC5B,CAACJ,WAAW,IAAI,CAACL,SAAS,IAAI,CAACC,cAAc,GAC7C,CAACI,WAAW,IAAI,CAACL,SAAS;QAC7B,oBACC,IAAA5B,WAAA,CAAAmB,GAAA,EAAC5B,aAAA,CAAA+C,YAAY;UAEZL,WAAW,EAAEA,WAAY;UACzBM,KAAK,EAAEd,UAAW;UAClBZ,QAAQ,EAAEc,KAAK,CAACO,GAAI;UACpBE,YAAY,EAAEA,YAAa;UAC3BI,YAAY,EAAEd,UAAU,CAACe,OAAO,CAACD,YAAa;UAAAtB,QAAA,eAE9C,IAAAlB,WAAA,CAAAmB,GAAA,EAACxB,eAAA,CAAA+C,cAAc;YACdC,QAAQ,EAAEb,kBAAmB;YAC7Bf,OAAO,EAAEW,UAAW;YACpBkB,IAAI,EAAEb,cAAe;YAAAb,QAAA,eAErB,IAAAlB,WAAA,CAAAmB,GAAA,EAACzB,UAAA,CAAAmD,SAAS;cAAiBnB,UAAU,EAAEA;YAAW,GAAlCC,KAAK,CAACO,GAA8B;UAAC,CACtC;QAAC,GAbZP,KAAK,CAACO,GAcE,CAAC;MAEjB,CAAC;IAAC,CACoB,CAAC;EAAA,CACf,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.NativeScreenContainer = void 0;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
var _reactNativeScreens = require("react-native-screens");
|
|
9
|
-
var _useStack = require("../hooks/navigation/use-stack");
|
|
10
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
const NativeScreenContainer = ({
|
|
12
|
-
children
|
|
13
|
-
}) => {
|
|
14
|
-
const {
|
|
15
|
-
flags: {
|
|
16
|
-
DISABLE_NATIVE_SCREENS = false,
|
|
17
|
-
DISABLE_NATIVE_SCREEN_CONTAINER = false
|
|
18
|
-
}
|
|
19
|
-
} = (0, _useStack.useStack)();
|
|
20
|
-
if (!DISABLE_NATIVE_SCREENS && !DISABLE_NATIVE_SCREEN_CONTAINER) {
|
|
21
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenContainer, {
|
|
22
|
-
style: styles.container,
|
|
23
|
-
children: children
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return (
|
|
27
|
-
/*#__PURE__*/
|
|
28
|
-
// Mirror ScreenContainer's native boundary when screens are disabled.
|
|
29
|
-
(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
30
|
-
collapsable: false,
|
|
31
|
-
style: styles.container,
|
|
32
|
-
children: children
|
|
33
|
-
})
|
|
34
|
-
);
|
|
35
|
-
};
|
|
36
|
-
exports.NativeScreenContainer = NativeScreenContainer;
|
|
37
|
-
const styles = _reactNative.StyleSheet.create({
|
|
38
|
-
container: {
|
|
39
|
-
flex: 1
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=native-screen-container.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeScreens","_useStack","_jsxRuntime","NativeScreenContainer","children","flags","DISABLE_NATIVE_SCREENS","DISABLE_NATIVE_SCREEN_CONTAINER","useStack","jsx","ScreenContainer","style","styles","container","View","collapsable","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["shared/components/native-screen-container.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAAyD,IAAAG,WAAA,GAAAH,OAAA;AAMlD,MAAMI,qBAAqB,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAC7D,MAAM;IACLC,KAAK,EAAE;MACNC,sBAAsB,GAAG,KAAK;MAC9BC,+BAA+B,GAAG;IACnC;EACD,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,IAAI,CAACF,sBAAsB,IAAI,CAACC,+BAA+B,EAAE;IAChE,oBACC,IAAAL,WAAA,CAAAO,GAAA,EAACT,mBAAA,CAAAU,eAAe;MAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAT,QAAA,EAAEA;IAAQ,CAAkB,CAAC;EAExE;EACA;IAAA;IACC;IACA,IAAAF,WAAA,CAAAO,GAAA,EAACX,YAAA,CAAAgB,IAAI;MAACC,WAAW,EAAE,KAAM;MAACJ,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAT,QAAA,EAChDA;IAAQ,CACJ;EAAC;AAET,CAAC;AAACY,OAAA,CAAAb,qBAAA,GAAAA,qBAAA;AAEF,MAAMS,MAAM,GAAGK,uBAAU,CAACC,MAAM,CAAC;EAChCL,SAAS,EAAE;IACVM,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.NativeScreen = void 0;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
9
|
-
var _reactNativeScreens = require("react-native-screens");
|
|
10
|
-
var _constants = require("../constants");
|
|
11
|
-
var _useStack = require("../hooks/navigation/use-stack");
|
|
12
|
-
var _managed = require("../providers/stack/managed.provider");
|
|
13
|
-
var _animation = require("../stores/animation.store");
|
|
14
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
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); }
|
|
16
|
-
const PASSTHROUGH = "passthrough";
|
|
17
|
-
var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
|
|
18
|
-
ScreenActivity[ScreenActivity["INACTIVE"] = 0] = "INACTIVE";
|
|
19
|
-
ScreenActivity[ScreenActivity["TRANSITIONING_OR_BELOW_TOP"] = 1] = "TRANSITIONING_OR_BELOW_TOP";
|
|
20
|
-
ScreenActivity[ScreenActivity["ON_TOP"] = 2] = "ON_TOP";
|
|
21
|
-
return ScreenActivity;
|
|
22
|
-
}(ScreenActivity || {});
|
|
23
|
-
const POINT_NONE = "none";
|
|
24
|
-
const POINT_BOX_NONE = "box-none";
|
|
25
|
-
const AnimatedNativeScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.Screen);
|
|
26
|
-
const NativeScreen = ({
|
|
27
|
-
routeKey,
|
|
28
|
-
index,
|
|
29
|
-
isPreloaded,
|
|
30
|
-
children,
|
|
31
|
-
freezeOnBlur,
|
|
32
|
-
shouldFreeze
|
|
33
|
-
}) => {
|
|
34
|
-
const {
|
|
35
|
-
flags: {
|
|
36
|
-
DISABLE_NATIVE_SCREENS = false
|
|
37
|
-
},
|
|
38
|
-
routes,
|
|
39
|
-
optimisticFocusedIndex
|
|
40
|
-
} = (0, _useStack.useStack)();
|
|
41
|
-
const {
|
|
42
|
-
activeScreensLimit,
|
|
43
|
-
backdropBehaviors
|
|
44
|
-
} = (0, _managed.useManagedStackContext)();
|
|
45
|
-
const routesLength = routes.length;
|
|
46
|
-
const topIndex = routesLength - 1;
|
|
47
|
-
const topRouteKey = routes[topIndex]?.key ?? routeKey;
|
|
48
|
-
const sceneClosing = _animation.AnimationStore.getValue(routeKey, "closing");
|
|
49
|
-
const topSceneProgress = _animation.AnimationStore.getValue(topRouteKey, "progress");
|
|
50
|
-
const topSceneClosing = _animation.AnimationStore.getValue(topRouteKey, "closing");
|
|
51
|
-
const screenActivity = (0, _reactNativeReanimated.useSharedValue)(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
|
|
52
|
-
(0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
53
|
-
if (!topSceneProgress) {
|
|
54
|
-
screenActivity.set(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
|
|
58
|
-
screenActivity.set(ScreenActivity.INACTIVE);
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
const focusedIndex = optimisticFocusedIndex.get();
|
|
62
|
-
const topIsClosing = topSceneClosing.get() > 0 && focusedIndex >= 0 && focusedIndex < topIndex;
|
|
63
|
-
if (topIsClosing) {
|
|
64
|
-
const postCloseActiveStart = Math.max(0, focusedIndex - activeScreensLimit + 1);
|
|
65
|
-
const next = index === topIndex ? ScreenActivity.ON_TOP : index > focusedIndex || index >= postCloseActiveStart ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
|
|
66
|
-
if (next !== screenActivity.get()) {
|
|
67
|
-
screenActivity.set(next);
|
|
68
|
-
}
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const outputValue = index === topIndex ? ScreenActivity.ON_TOP : index >= routesLength - activeScreensLimit ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
|
|
72
|
-
const v = (0, _reactNativeReanimated.interpolate)(topSceneProgress.get(), [0, 1 - _constants.EPSILON, 1], [1, 1, outputValue], _reactNativeReanimated.Extrapolation.CLAMP);
|
|
73
|
-
const next = Math.trunc(v) ?? ScreenActivity.TRANSITIONING_OR_BELOW_TOP;
|
|
74
|
-
if (next !== screenActivity.get()) {
|
|
75
|
-
screenActivity.set(next);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
79
|
-
const activity = screenActivity.get();
|
|
80
|
-
const isClosing = sceneClosing.get() > 0;
|
|
81
|
-
const activeIndex = optimisticFocusedIndex.get();
|
|
82
|
-
const isActive = index === activeIndex;
|
|
83
|
-
|
|
84
|
-
// Check if the active screen allows passthrough to the screen below
|
|
85
|
-
const activeBackdrop = backdropBehaviors[activeIndex] ?? "block";
|
|
86
|
-
const activeAllowsPassthrough = activeBackdrop === PASSTHROUGH;
|
|
87
|
-
const isAllowedPassthroughBelow = activeAllowsPassthrough && index === activeIndex - 1;
|
|
88
|
-
|
|
89
|
-
// Determine pointer events:
|
|
90
|
-
// - "none" if closing (immediately disable touches)
|
|
91
|
-
// - "box-none" if this is the active screen
|
|
92
|
-
// - "box-none" if the active screen allows passthrough and we're immediately below
|
|
93
|
-
// - "none" otherwise (block touches to non-active screens)
|
|
94
|
-
const pointerEvents = isClosing || !isActive && !isAllowedPassthroughBelow ? POINT_NONE : POINT_BOX_NONE;
|
|
95
|
-
if (!DISABLE_NATIVE_SCREENS) {
|
|
96
|
-
return {
|
|
97
|
-
activityState: activity,
|
|
98
|
-
shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
|
|
99
|
-
pointerEvents
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
return {
|
|
103
|
-
pointerEvents
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
if (DISABLE_NATIVE_SCREENS) {
|
|
107
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
108
|
-
// Keep a native boundary per screen when falling back to plain views.
|
|
109
|
-
// Android release builds can otherwise flatten sibling screens together.
|
|
110
|
-
collapsable: false,
|
|
111
|
-
style: _reactNative.StyleSheet.absoluteFill,
|
|
112
|
-
animatedProps: animatedProps,
|
|
113
|
-
children: children
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedNativeScreen, {
|
|
117
|
-
enabled: true,
|
|
118
|
-
style: _reactNative.StyleSheet.absoluteFill,
|
|
119
|
-
freezeOnBlur: freezeOnBlur,
|
|
120
|
-
animatedProps: animatedProps,
|
|
121
|
-
children: children
|
|
122
|
-
});
|
|
123
|
-
};
|
|
124
|
-
exports.NativeScreen = NativeScreen;
|
|
125
|
-
//# sourceMappingURL=native-screen.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_constants","_useStack","_managed","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PASSTHROUGH","ScreenActivity","POINT_NONE","POINT_BOX_NONE","AnimatedNativeScreen","Animated","createAnimatedComponent","RNSScreen","NativeScreen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","flags","DISABLE_NATIVE_SCREENS","routes","optimisticFocusedIndex","useStack","activeScreensLimit","backdropBehaviors","useManagedStackContext","routesLength","length","topIndex","topRouteKey","key","sceneClosing","AnimationStore","getValue","topSceneProgress","topSceneClosing","screenActivity","useSharedValue","TRANSITIONING_OR_BELOW_TOP","useDerivedValue","INACTIVE","focusedIndex","topIsClosing","postCloseActiveStart","Math","max","next","ON_TOP","outputValue","v","interpolate","EPSILON","Extrapolation","CLAMP","trunc","animatedProps","useAnimatedProps","activity","isClosing","activeIndex","isActive","activeBackdrop","activeAllowsPassthrough","isAllowedPassthroughBelow","pointerEvents","activityState","jsx","View","collapsable","style","StyleSheet","absoluteFill","enabled","exports"],"sourceRoot":"../../../../src","sources":["shared/components/native-screen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.alignRoutesWithLatest = void 0;
|
|
7
|
-
var _composeDescriptors = require("../../../../../utils/navigation/compose-descriptors");
|
|
8
|
-
/**
|
|
9
|
-
* Aligns current routes with the latest route data while preserving references
|
|
10
|
-
* when possible for performance optimization
|
|
11
|
-
*/
|
|
12
|
-
const alignRoutesWithLatest = (currentRoutes, currentDescriptors, nextRoutes, nextDescriptors) => {
|
|
13
|
-
// Early return for empty current routes
|
|
14
|
-
if (currentRoutes.length === 0) {
|
|
15
|
-
return {
|
|
16
|
-
routes: nextRoutes,
|
|
17
|
-
descriptors: (0, _composeDescriptors.composeDescriptors)(nextRoutes, nextDescriptors, currentDescriptors)
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// Create lookup map for efficient route finding
|
|
22
|
-
const nextRouteLookup = new Map();
|
|
23
|
-
for (const route of nextRoutes) {
|
|
24
|
-
nextRouteLookup.set(route.key, route);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// Track if any changes occurred
|
|
28
|
-
let didChange = currentRoutes.length !== nextRoutes.length;
|
|
29
|
-
|
|
30
|
-
// Align routes, updating references where needed
|
|
31
|
-
const alignedRoutes = currentRoutes.map(route => {
|
|
32
|
-
const nextRoute = nextRouteLookup.get(route.key);
|
|
33
|
-
if (!nextRoute) {
|
|
34
|
-
return route; // Keep current route if not in next
|
|
35
|
-
}
|
|
36
|
-
if (nextRoute !== route) {
|
|
37
|
-
didChange = true;
|
|
38
|
-
return nextRoute; // Update to new route reference
|
|
39
|
-
}
|
|
40
|
-
return route; // Keep current route reference
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
// Only create new array if changes occurred
|
|
44
|
-
const routesResult = didChange ? alignedRoutes : currentRoutes;
|
|
45
|
-
return {
|
|
46
|
-
routes: routesResult,
|
|
47
|
-
descriptors: (0, _composeDescriptors.composeDescriptors)(routesResult, nextDescriptors, currentDescriptors)
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
exports.alignRoutesWithLatest = alignRoutesWithLatest;
|
|
51
|
-
//# sourceMappingURL=align-routes-with-latest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_composeDescriptors","require","alignRoutesWithLatest","currentRoutes","currentDescriptors","nextRoutes","nextDescriptors","length","routes","descriptors","composeDescriptors","nextRouteLookup","Map","route","set","key","didChange","alignedRoutes","map","nextRoute","get","routesResult","exports"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.ts"],"mappings":";;;;;;AACA,IAAAA,mBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAGA,CAIpCC,aAAsB,EACtBC,kBAAiC,EACjCC,UAAmB,EACnBC,eAA8B,KACuB;EACrD;EACA,IAAIH,aAAa,CAACI,MAAM,KAAK,CAAC,EAAE;IAC/B,OAAO;MACNC,MAAM,EAAEH,UAAU;MAClBI,WAAW,EAAE,IAAAC,sCAAkB,EAC9BL,UAAU,EACVC,eAAe,EACfF,kBACD;IACD,CAAC;EACF;;EAEA;EACA,MAAMO,eAAe,GAAG,IAAIC,GAAG,CAAgB,CAAC;EAChD,KAAK,MAAMC,KAAK,IAAIR,UAAU,EAAE;IAC/BM,eAAe,CAACG,GAAG,CAACD,KAAK,CAACE,GAAG,EAAEF,KAAK,CAAC;EACtC;;EAEA;EACA,IAAIG,SAAS,GAAGb,aAAa,CAACI,MAAM,KAAKF,UAAU,CAACE,MAAM;;EAE1D;EACA,MAAMU,aAAa,GAAGd,aAAa,CAACe,GAAG,CAAEL,KAAK,IAAK;IAClD,MAAMM,SAAS,GAAGR,eAAe,CAACS,GAAG,CAACP,KAAK,CAACE,GAAG,CAAC;IAEhD,IAAI,CAACI,SAAS,EAAE;MACf,OAAON,KAAK,CAAC,CAAC;IACf;IAEA,IAAIM,SAAS,KAAKN,KAAK,EAAE;MACxBG,SAAS,GAAG,IAAI;MAChB,OAAOG,SAAS,CAAC,CAAC;IACnB;IAEA,OAAON,KAAK,CAAC,CAAC;EACf,CAAC,CAAC;;EAEF;EACA,MAAMQ,YAAY,GAAGL,SAAS,GAAGC,aAAa,GAAGd,aAAa;EAE9D,OAAO;IACNK,MAAM,EAAEa,YAAY;IACpBZ,WAAW,EAAE,IAAAC,sCAAkB,EAC9BW,YAAY,EACZf,eAAe,EACfF,kBACD;EACD,CAAC;AACF,CAAC;AAACkB,OAAA,CAAApB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.areDescriptorsEqual = void 0;
|
|
7
|
-
const areDescriptorsEqual = (a, b) => {
|
|
8
|
-
if (a === b) return true;
|
|
9
|
-
const aKeys = Object.keys(a);
|
|
10
|
-
const bKeys = Object.keys(b);
|
|
11
|
-
if (aKeys.length !== bKeys.length) return false;
|
|
12
|
-
return aKeys.every(key => a[key] === b[key]);
|
|
13
|
-
};
|
|
14
|
-
exports.areDescriptorsEqual = areDescriptorsEqual;
|
|
15
|
-
//# sourceMappingURL=are-descriptors-equal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["areDescriptorsEqual","a","b","aKeys","Object","keys","bKeys","length","every","key","exports"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.ts"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,GAAGA,CAGlCC,CAAgB,EAChBC,CAAgB,KACH;EACb,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EAExB,MAAMC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACJ,CAAC,CAAC;EAC5B,MAAMK,KAAK,GAAGF,MAAM,CAACC,IAAI,CAACH,CAAC,CAAC;EAE5B,IAAIC,KAAK,CAACI,MAAM,KAAKD,KAAK,CAACC,MAAM,EAAE,OAAO,KAAK;EAE/C,OAAOJ,KAAK,CAACK,KAAK,CAAEC,GAAG,IAAKR,CAAC,CAACQ,GAAG,CAAC,KAAKP,CAAC,CAACO,GAAG,CAAC,CAAC;AAC/C,CAAC;AAACC,OAAA,CAAAV,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.haveSameRouteKeys = void 0;
|
|
7
|
-
const haveSameRouteKeys = (previous, next) => {
|
|
8
|
-
if (previous.length !== next.length) {
|
|
9
|
-
return false;
|
|
10
|
-
}
|
|
11
|
-
return previous.every((route, index) => route?.key === next[index]?.key);
|
|
12
|
-
};
|
|
13
|
-
exports.haveSameRouteKeys = haveSameRouteKeys;
|
|
14
|
-
//# sourceMappingURL=have-same-route-keys.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["haveSameRouteKeys","previous","next","length","every","route","index","key","exports"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.ts"],"mappings":";;;;;;AAEO,MAAMA,iBAAiB,GAAGA,CAChCC,QAAiB,EACjBC,IAAa,KACA;EACb,IAAID,QAAQ,CAACE,MAAM,KAAKD,IAAI,CAACC,MAAM,EAAE;IACpC,OAAO,KAAK;EACb;EAEA,OAAOF,QAAQ,CAACG,KAAK,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAKD,KAAK,EAAEE,GAAG,KAAKL,IAAI,CAACI,KAAK,CAAC,EAAEC,GAAG,CAAC;AACzE,CAAC;AAACC,OAAA,CAAAR,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.routesAreIdentical = void 0;
|
|
7
|
-
const routesAreIdentical = (a, b) => {
|
|
8
|
-
if (a === b) return true;
|
|
9
|
-
if (a.length !== b.length) return false;
|
|
10
|
-
return a.every((route, index) => route === b[index]);
|
|
11
|
-
};
|
|
12
|
-
exports.routesAreIdentical = routesAreIdentical;
|
|
13
|
-
//# sourceMappingURL=routes-are-identical.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["routesAreIdentical","a","b","length","every","route","index","exports"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.ts"],"mappings":";;;;;;AAEO,MAAMA,kBAAkB,GAAGA,CACjCC,CAAU,EACVC,CAAU,KACG;EACb,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EACxB,IAAID,CAAC,CAACE,MAAM,KAAKD,CAAC,CAACC,MAAM,EAAE,OAAO,KAAK;EAEvC,OAAOF,CAAC,CAACG,KAAK,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAKD,KAAK,KAAKH,CAAC,CAACI,KAAK,CAAC,CAAC;AACrD,CAAC;AAACC,OAAA,CAAAP,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useLocalRoutes = void 0;
|
|
7
|
-
var _native = require("@react-navigation/native");
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _useClosingRouteKeys = require("../../../../hooks/navigation/use-closing-route-keys");
|
|
10
|
-
var _usePrevious = require("../../../../hooks/navigation/use-previous");
|
|
11
|
-
var _useStableCallback = _interopRequireDefault(require("../../../../hooks/use-stable-callback"));
|
|
12
|
-
var _syncRoutesWithRemoved = require("../../../../utils/navigation/sync-routes-with-removed");
|
|
13
|
-
var _alignRoutesWithLatest = require("./helpers/align-routes-with-latest");
|
|
14
|
-
var _areDescriptorsEqual = require("./helpers/are-descriptors-equal");
|
|
15
|
-
var _haveSameRouteKeys = require("./helpers/have-same-route-keys");
|
|
16
|
-
var _routesAreIdentical = require("./helpers/routes-are-identical");
|
|
17
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
-
const useLocalRoutes = props => {
|
|
19
|
-
const previousRoutes = (0, _usePrevious.usePrevious)(props.state.routes) ?? [];
|
|
20
|
-
const closingRouteKeys = (0, _useClosingRouteKeys.useClosingRouteKeys)();
|
|
21
|
-
const [localState, setLocalState] = (0, _react.useState)(() => ({
|
|
22
|
-
routes: props.state.routes,
|
|
23
|
-
descriptors: props.descriptors
|
|
24
|
-
}));
|
|
25
|
-
const localStateRef = (0, _react.useRef)(localState);
|
|
26
|
-
(0, _react.useLayoutEffect)(() => {
|
|
27
|
-
const nextRoutesSnapshot = props.state.routes;
|
|
28
|
-
const previousRoutesSnapshot = previousRoutes;
|
|
29
|
-
const current = localStateRef.current;
|
|
30
|
-
const alreadyAligned = (0, _routesAreIdentical.routesAreIdentical)(current.routes, nextRoutesSnapshot) && (0, _areDescriptorsEqual.areDescriptorsEqual)(current.descriptors, props.descriptors);
|
|
31
|
-
if (alreadyAligned) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const routeKeysUnchanged = (0, _haveSameRouteKeys.haveSameRouteKeys)(previousRoutesSnapshot, nextRoutesSnapshot);
|
|
35
|
-
let derivedRoutes;
|
|
36
|
-
let derivedDescriptors;
|
|
37
|
-
if (routeKeysUnchanged) {
|
|
38
|
-
const result = (0, _alignRoutesWithLatest.alignRoutesWithLatest)(current.routes, current.descriptors, nextRoutesSnapshot, props.descriptors);
|
|
39
|
-
derivedRoutes = result.routes;
|
|
40
|
-
derivedDescriptors = result.descriptors;
|
|
41
|
-
} else {
|
|
42
|
-
const fallbackRoutes = previousRoutesSnapshot.length > 0 ? previousRoutesSnapshot : current.routes;
|
|
43
|
-
const result = (0, _syncRoutesWithRemoved.syncRoutesWithRemoved)({
|
|
44
|
-
prevRoutes: fallbackRoutes,
|
|
45
|
-
prevDescriptors: current.descriptors,
|
|
46
|
-
nextRoutes: nextRoutesSnapshot,
|
|
47
|
-
nextDescriptors: props.descriptors,
|
|
48
|
-
closingRouteKeys
|
|
49
|
-
});
|
|
50
|
-
derivedRoutes = result.routes;
|
|
51
|
-
derivedDescriptors = result.descriptors;
|
|
52
|
-
}
|
|
53
|
-
const routesChanged = !(0, _routesAreIdentical.routesAreIdentical)(current.routes, derivedRoutes);
|
|
54
|
-
const descriptorsChanged = !(0, _areDescriptorsEqual.areDescriptorsEqual)(current.descriptors, derivedDescriptors);
|
|
55
|
-
if (!routesChanged && !descriptorsChanged) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const nextLocalState = {
|
|
59
|
-
routes: routesChanged ? derivedRoutes : current.routes,
|
|
60
|
-
descriptors: descriptorsChanged ? derivedDescriptors : current.descriptors
|
|
61
|
-
};
|
|
62
|
-
localStateRef.current = nextLocalState;
|
|
63
|
-
setLocalState(nextLocalState);
|
|
64
|
-
}, [props.state.routes, props.descriptors, previousRoutes, closingRouteKeys]);
|
|
65
|
-
const handleCloseRoute = (0, _useStableCallback.default)(({
|
|
66
|
-
route
|
|
67
|
-
}) => {
|
|
68
|
-
if (props.state.routes.some(r => r.key === route.key)) {
|
|
69
|
-
props.navigation.dispatch({
|
|
70
|
-
..._native.StackActions.pop(),
|
|
71
|
-
source: route.key,
|
|
72
|
-
target: props.state.key
|
|
73
|
-
});
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
closingRouteKeys.remove(route.key);
|
|
77
|
-
setLocalState(current => {
|
|
78
|
-
if (!current.routes.some(candidate => candidate.key === route.key)) {
|
|
79
|
-
return current;
|
|
80
|
-
}
|
|
81
|
-
const nextRoutes = current.routes.filter(candidate => candidate.key !== route.key);
|
|
82
|
-
const nextDescriptors = {
|
|
83
|
-
...current.descriptors
|
|
84
|
-
};
|
|
85
|
-
delete nextDescriptors[route.key];
|
|
86
|
-
const nextState = {
|
|
87
|
-
routes: nextRoutes,
|
|
88
|
-
descriptors: nextDescriptors
|
|
89
|
-
};
|
|
90
|
-
localStateRef.current = nextState;
|
|
91
|
-
return nextState;
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
return {
|
|
95
|
-
state: localState,
|
|
96
|
-
handleCloseRoute,
|
|
97
|
-
closingRouteKeys
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
exports.useLocalRoutes = useLocalRoutes;
|
|
101
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","_react","_useClosingRouteKeys","_usePrevious","_useStableCallback","_interopRequireDefault","_syncRoutesWithRemoved","_alignRoutesWithLatest","_areDescriptorsEqual","_haveSameRouteKeys","_routesAreIdentical","e","__esModule","default","useLocalRoutes","props","previousRoutes","usePrevious","state","routes","closingRouteKeys","useClosingRouteKeys","localState","setLocalState","useState","descriptors","localStateRef","useRef","useLayoutEffect","nextRoutesSnapshot","previousRoutesSnapshot","current","alreadyAligned","routesAreIdentical","areDescriptorsEqual","routeKeysUnchanged","haveSameRouteKeys","derivedRoutes","derivedDescriptors","result","alignRoutesWithLatest","fallbackRoutes","length","syncRoutesWithRemoved","prevRoutes","prevDescriptors","nextRoutes","nextDescriptors","routesChanged","descriptorsChanged","nextLocalState","handleCloseRoute","useStableCallback","route","some","r","key","navigation","dispatch","StackActions","pop","source","target","remove","candidate","filter","nextState","exports"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Fragment } from "react";
|
|
4
|
-
import { NativeScreen } from "../../shared/components/native-screen";
|
|
5
|
-
import { NativeScreenContainer } from "../../shared/components/native-screen-container";
|
|
6
|
-
import { Overlay } from "../../shared/components/overlay";
|
|
7
|
-
import { SceneView } from "../../shared/components/scene-view";
|
|
8
|
-
import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
|
|
9
|
-
import { withStackCore } from "../../shared/providers/stack/core.provider";
|
|
10
|
-
import { withManagedStack } from "../../shared/providers/stack/managed.provider";
|
|
11
|
-
import { resolveSceneNeighbors } from "../../shared/utils/navigation/resolve-scene-neighbors";
|
|
12
|
-
import { isFabric } from "../../shared/utils/platform";
|
|
13
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
export const StackView = withStackCore({
|
|
15
|
-
TRANSITIONS_ALWAYS_ON: true,
|
|
16
|
-
DISABLE_NATIVE_SCREENS: false
|
|
17
|
-
}, withManagedStack(({
|
|
18
|
-
descriptors,
|
|
19
|
-
focusedIndex,
|
|
20
|
-
scenes,
|
|
21
|
-
shouldShowFloatOverlay,
|
|
22
|
-
closingRouteMap
|
|
23
|
-
}) => {
|
|
24
|
-
const isRouteClosing = routeKey => Boolean(closingRouteMap.current[routeKey]);
|
|
25
|
-
return /*#__PURE__*/_jsxs(Fragment, {
|
|
26
|
-
children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(NativeScreenContainer, {
|
|
27
|
-
children: scenes.map((scene, sceneIndex) => {
|
|
28
|
-
const descriptor = scene.descriptor;
|
|
29
|
-
const route = scene.route;
|
|
30
|
-
const isFocused = focusedIndex === sceneIndex;
|
|
31
|
-
const isBelowFocused = focusedIndex - 1 === sceneIndex;
|
|
32
|
-
const {
|
|
33
|
-
previousDescriptor,
|
|
34
|
-
nextDescriptor
|
|
35
|
-
} = resolveSceneNeighbors(scenes, sceneIndex, isRouteClosing);
|
|
36
|
-
const isPreloaded = descriptors[route.key] === undefined;
|
|
37
|
-
|
|
38
|
-
// On Fabric, when screen is frozen, animated and reanimated values are not updated
|
|
39
|
-
// due to component being unmounted. To avoid this, we don't freeze the previous screen there
|
|
40
|
-
const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
|
|
41
|
-
return /*#__PURE__*/_jsx(NativeScreen, {
|
|
42
|
-
isPreloaded: isPreloaded,
|
|
43
|
-
index: sceneIndex,
|
|
44
|
-
routeKey: route.key,
|
|
45
|
-
shouldFreeze: shouldFreeze,
|
|
46
|
-
freezeOnBlur: descriptor.options.freezeOnBlur,
|
|
47
|
-
children: /*#__PURE__*/_jsx(ScreenComposer, {
|
|
48
|
-
previous: previousDescriptor,
|
|
49
|
-
current: descriptor,
|
|
50
|
-
next: nextDescriptor,
|
|
51
|
-
children: /*#__PURE__*/_jsx(SceneView, {
|
|
52
|
-
descriptor: descriptor
|
|
53
|
-
}, route.key)
|
|
54
|
-
})
|
|
55
|
-
}, route.key);
|
|
56
|
-
})
|
|
57
|
-
})]
|
|
58
|
-
});
|
|
59
|
-
}));
|
|
60
|
-
//# sourceMappingURL=stack-view.native.js.map
|