react-native-screen-transitions 3.6.0-beta.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/bounds/navigation/zoom/build.js +47 -50
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js +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/bounds/navigation/zoom/build.js +45 -48
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/config.js +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/bounds.types.d.ts +27 -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/zoom/build.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/navigation/zoom/config.d.ts +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/bounds.types.ts +27 -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/zoom/build.ts +62 -71
- package/src/shared/utils/bounds/navigation/zoom/config.ts +1 -1
- 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
|
@@ -8,7 +8,8 @@ import { finalizePinchRelease, startPinchBase, trackPinchGesture } from "./pinch
|
|
|
8
8
|
import { primeSnapPinchRelease, resolvePinchRelease, resolveSnapPinchRelease } from "./pinch-release";
|
|
9
9
|
export const usePinchBehavior = (runtime, screenOptions) => {
|
|
10
10
|
const {
|
|
11
|
-
dismissScreen
|
|
11
|
+
dismissScreen,
|
|
12
|
+
requestDismiss
|
|
12
13
|
} = useNavigationHelpers();
|
|
13
14
|
const {
|
|
14
15
|
withSensitivity,
|
|
@@ -37,8 +38,8 @@ export const usePinchBehavior = (runtime, screenOptions) => {
|
|
|
37
38
|
const latestRuntime = resolvePinchRuntime(runtime.get(), screenOptions.get());
|
|
38
39
|
const event = withSensitivity(rawEvent);
|
|
39
40
|
const release = latestRuntime.participation.effectiveSnapPoints.hasSnapPoints ? resolveSnapPinchRelease(event, latestRuntime) : resolvePinchRelease(event, latestRuntime);
|
|
40
|
-
finalizePinchRelease(release, latestRuntime, dismissScreen);
|
|
41
|
-
}, [runtime, screenOptions, dismissScreen, withSensitivity]);
|
|
41
|
+
finalizePinchRelease(release, latestRuntime, dismissScreen, requestDismiss);
|
|
42
|
+
}, [runtime, screenOptions, dismissScreen, requestDismiss, withSensitivity]);
|
|
42
43
|
return useMemo(() => ({
|
|
43
44
|
onStart,
|
|
44
45
|
onUpdate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","useNavigationHelpers","usePinchGestureSensitivity","resolvePinchRuntime","finalizePinchRelease","startPinchBase","trackPinchGesture","primeSnapPinchRelease","resolvePinchRelease","resolveSnapPinchRelease","usePinchBehavior","runtime","screenOptions","dismissScreen","withSensitivity","resetSensitivity","onStart","event","latestRuntime","get","participation","effectiveSnapPoints","hasSnapPoints","onUpdate","rawEvent","stores","gestures","onEnd","release"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/pinch/use-pinch-behavior.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAE5C,SAASC,oBAAoB,QAAQ,qDAAqD;AAE1F,SAASC,0BAA0B,QAAQ,kCAAkC;AAC7E,SAASC,mBAAmB,QAAQ,mBAAmB;AAMvD,SACCC,oBAAoB,EACpBC,cAAc,EACdC,iBAAiB,QACX,mBAAmB;AAC1B,SACCC,qBAAqB,EACrBC,mBAAmB,EACnBC,uBAAuB,QACjB,iBAAiB;AAExB,OAAO,MAAMC,gBAAgB,GAAGA,CAC/BC,OAAyC,EACzCC,aAAwC,KACrB;EACnB,MAAM;IAAEC;
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useNavigationHelpers","usePinchGestureSensitivity","resolvePinchRuntime","finalizePinchRelease","startPinchBase","trackPinchGesture","primeSnapPinchRelease","resolvePinchRelease","resolveSnapPinchRelease","usePinchBehavior","runtime","screenOptions","dismissScreen","requestDismiss","withSensitivity","resetSensitivity","onStart","event","latestRuntime","get","participation","effectiveSnapPoints","hasSnapPoints","onUpdate","rawEvent","stores","gestures","onEnd","release"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/pinch/use-pinch-behavior.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAE5C,SAASC,oBAAoB,QAAQ,qDAAqD;AAE1F,SAASC,0BAA0B,QAAQ,kCAAkC;AAC7E,SAASC,mBAAmB,QAAQ,mBAAmB;AAMvD,SACCC,oBAAoB,EACpBC,cAAc,EACdC,iBAAiB,QACX,mBAAmB;AAC1B,SACCC,qBAAqB,EACrBC,mBAAmB,EACnBC,uBAAuB,QACjB,iBAAiB;AAExB,OAAO,MAAMC,gBAAgB,GAAGA,CAC/BC,OAAyC,EACzCC,aAAwC,KACrB;EACnB,MAAM;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGb,oBAAoB,CAAC,CAAC;EAChE,MAAM;IAAEc,eAAe;IAAEC;EAAiB,CAAC,GAC1Cd,0BAA0B,CAACU,aAAa,CAAC;EAE1C,MAAMK,OAAO,GAAGlB,WAAW,CACzBmB,KAAwB,IAAK;IAC7B,SAAS;;IACT,MAAMC,aAAa,GAAGhB,mBAAmB,CACxCQ,OAAO,CAACS,GAAG,CAAC,CAAC,EACbR,aAAa,CAACQ,GAAG,CAAC,CACnB,CAAC;IACD,IAAID,aAAa,CAACE,aAAa,CAACC,mBAAmB,CAACC,aAAa,EAAE;MAClEhB,qBAAqB,CAACY,aAAa,CAAC;IACrC;IACAd,cAAc,CAACc,aAAa,EAAED,KAAK,CAAC;IACpCF,gBAAgB,CAAC,CAAC;EACnB,CAAC,EACD,CAACL,OAAO,EAAEC,aAAa,EAAEI,gBAAgB,CAC1C,CAAC;EAED,MAAMQ,QAAQ,GAAGzB,WAAW,CAC1B0B,QAA2B,IAAK;IAChC,SAAS;;IACT,MAAMN,aAAa,GAAGhB,mBAAmB,CACxCQ,OAAO,CAACS,GAAG,CAAC,CAAC,EACbR,aAAa,CAACQ,GAAG,CAAC,CACnB,CAAC;IACD,MAAMF,KAAK,GAAGH,eAAe,CAACU,QAAQ,CAAC;IACvCnB,iBAAiB,CAACY,KAAK,EAAEO,QAAQ,EAAEN,aAAa,CAACO,MAAM,CAACC,QAAQ,CAAC;EAClE,CAAC,EACD,CAAChB,OAAO,EAAEC,aAAa,EAAEG,eAAe,CACzC,CAAC;EAED,MAAMa,KAAK,GAAG7B,WAAW,CACvB0B,QAA2B,IAAK;IAChC,SAAS;;IACT,MAAMN,aAAa,GAAGhB,mBAAmB,CACxCQ,OAAO,CAACS,GAAG,CAAC,CAAC,EACbR,aAAa,CAACQ,GAAG,CAAC,CACnB,CAAC;IACD,MAAMF,KAAK,GAAGH,eAAe,CAACU,QAAQ,CAAC;IACvC,MAAMI,OAAO,GAAGV,aAAa,CAACE,aAAa,CAACC,mBAAmB,CAC7DC,aAAa,GACZd,uBAAuB,CAACS,KAAK,EAAEC,aAAa,CAAC,GAC7CX,mBAAmB,CAACU,KAAK,EAAEC,aAAa,CAAC;IAC5Cf,oBAAoB,CACnByB,OAAO,EACPV,aAAa,EACbN,aAAa,EACbC,cACD,CAAC;EACF,CAAC,EACD,CAACH,OAAO,EAAEC,aAAa,EAAEC,aAAa,EAAEC,cAAc,EAAEC,eAAe,CACxE,CAAC;EAED,OAAOf,OAAO,CACb,OAAO;IACNiB,OAAO;IACPO,QAAQ;IACRI;EACD,CAAC,CAAC,EACF,CAACX,OAAO,EAAEO,QAAQ,EAAEI,KAAK,CAC1B,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { useWindowDimensions } from "react-native";
|
|
3
4
|
import { useAnimatedProps, useAnimatedReaction, useAnimatedStyle, useSharedValue } from "react-native-reanimated";
|
|
4
5
|
import { AnimationStore } from "../../../../stores/animation.store";
|
|
5
6
|
import { SystemStore } from "../../../../stores/system.store";
|
|
7
|
+
import { getVisibilityBlockOffset } from "../../../../utils/visibility-block-offset";
|
|
6
8
|
import { useDescriptorDerivations } from "../../descriptors";
|
|
7
9
|
import { resolveScreenVisibilityGate } from "../helpers/visibility-gate";
|
|
8
10
|
export const useMaybeBlockVisibility = isFloatingOverlay => {
|
|
11
|
+
const {
|
|
12
|
+
height
|
|
13
|
+
} = useWindowDimensions();
|
|
9
14
|
const {
|
|
10
15
|
currentScreenKey
|
|
11
16
|
} = useDescriptorDerivations();
|
|
@@ -51,8 +56,18 @@ export const useMaybeBlockVisibility = isFloatingOverlay => {
|
|
|
51
56
|
const animatedStyle = useAnimatedStyle(() => {
|
|
52
57
|
"worklet";
|
|
53
58
|
|
|
59
|
+
/**
|
|
60
|
+
* Keep blocked screens physically offscreen. On physical devices,
|
|
61
|
+
* opacity: 0 can break Liquid Glass sampling.
|
|
62
|
+
*
|
|
63
|
+
* See: https://github.com/expo/expo/issues/41024
|
|
64
|
+
*
|
|
65
|
+
*/
|
|
66
|
+
const offset = getVisibilityBlockOffset(height);
|
|
54
67
|
return {
|
|
55
|
-
|
|
68
|
+
transform: [{
|
|
69
|
+
translateY: shouldBlockVisibility.get() ? offset : 0
|
|
70
|
+
}]
|
|
56
71
|
};
|
|
57
72
|
});
|
|
58
73
|
const animatedProps = useAnimatedProps(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useAnimatedProps","useAnimatedReaction","useAnimatedStyle","useSharedValue","AnimationStore","SystemStore","useDescriptorDerivations","resolveScreenVisibilityGate","useMaybeBlockVisibility","isFloatingOverlay","currentScreenKey","entering","progress","getBag","pendingLifecycleStartBlockCount","pendingLifecycleRequestKind","hasVisibilityGateOpened","shouldBlockVisibility","get","gate","shouldOpenGate","set","shouldBlock","animatedStyle","
|
|
1
|
+
{"version":3,"names":["useWindowDimensions","useAnimatedProps","useAnimatedReaction","useAnimatedStyle","useSharedValue","AnimationStore","SystemStore","getVisibilityBlockOffset","useDescriptorDerivations","resolveScreenVisibilityGate","useMaybeBlockVisibility","isFloatingOverlay","height","currentScreenKey","entering","progress","getBag","pendingLifecycleStartBlockCount","pendingLifecycleRequestKind","hasVisibilityGateOpened","shouldBlockVisibility","get","gate","shouldOpenGate","set","shouldBlock","animatedStyle","offset","transform","translateY","animatedProps","pointerEvents"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAClD,SACCC,gBAAgB,EAChBC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,QACR,yBAAyB;AAChC,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,wBAAwB,QAAQ,2CAA2C;AACpF,SAASC,wBAAwB,QAAQ,mBAAmB;AAC5D,SAASC,2BAA2B,QAAQ,4BAA4B;AAExE,OAAO,MAAMC,uBAAuB,GAAIC,iBAA2B,IAAK;EACvE,MAAM;IAAEC;EAAO,CAAC,GAAGZ,mBAAmB,CAAC,CAAC;EACxC,MAAM;IAAEa;EAAiB,CAAC,GAAGL,wBAAwB,CAAC,CAAC;EACvD,MAAM;IAAEM,QAAQ;IAAEC;EAAS,CAAC,GAAGV,cAAc,CAACW,MAAM,CAACH,gBAAgB,CAAC;EAEtE,MAAM;IAAEI,+BAA+B;IAAEC;EAA4B,CAAC,GACrEZ,WAAW,CAACU,MAAM,CAACH,gBAAgB,CAAC;EAErC,MAAMM,uBAAuB,GAAGf,cAAc,CAAC,KAAK,CAAC;EACrD,MAAMgB,qBAAqB,GAAGhB,cAAc,CAAC,CAACO,iBAAiB,CAAC;;EAEhE;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCT,mBAAmB,CAClB,MAAM;IACL,SAAS;;IAET,OAAOO,2BAA2B,CAAC;MAClCE,iBAAiB;MACjBQ,uBAAuB,EAAEA,uBAAuB,CAACE,GAAG,CAAC,CAAC;MACtDJ,+BAA+B,EAAEA,+BAA+B,CAACI,GAAG,CAAC,CAAC;MACtEH,2BAA2B,EAAEA,2BAA2B,CAACG,GAAG,CAAC,CAAC;MAC9DN,QAAQ,EAAEA,QAAQ,CAACM,GAAG,CAAC,CAAC;MACxBP,QAAQ,EAAEA,QAAQ,CAACO,GAAG,CAAC;IACxB,CAAC,CAAC;EACH,CAAC,EACAC,IAAI,IAAK;IACT,SAAS;;IAET,IAAIA,IAAI,CAACC,cAAc,EAAE;MACxBJ,uBAAuB,CAACK,GAAG,CAAC,IAAI,CAAC;IAClC;IAEAJ,qBAAqB,CAACI,GAAG,CAACF,IAAI,CAACG,WAAW,CAAC;EAC5C,CACD,CAAC;EAED,MAAMC,aAAa,GAAGvB,gBAAgB,CAAC,MAAM;IAC5C,SAAS;;IACT;AACF;AACA;AACA;AACA;AACA;AACA;IACE,MAAMwB,MAAM,GAAGpB,wBAAwB,CAACK,MAAM,CAAC;IAE/C,OAAO;MACNgB,SAAS,EAAE,CACV;QACCC,UAAU,EAAET,qBAAqB,CAACC,GAAG,CAAC,CAAC,GAAGM,MAAM,GAAG;MACpD,CAAC;IAEH,CAAC;EACF,CAAC,CAAC;EAEF,MAAMG,aAAa,GAAG7B,gBAAgB,CAAC,MAAM;IAC5C,SAAS;;IACT,OAAO;MACN8B,aAAa,EAAEX,qBAAqB,CAACC,GAAG,CAAC,CAAC,GACtC,MAAM,GACN;IACL,CAAC;EACF,CAAC,CAAC;EAEF,OAAO;IACNK,aAAa;IACbI;EACD,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
|
-
import {
|
|
4
|
+
import { StackProvider } from "../../hooks/navigation/use-stack";
|
|
5
5
|
import { AnimationStore } from "../../stores/animation.store";
|
|
6
6
|
import { isOverlayVisible } from "../../utils/overlay/visibility";
|
|
7
7
|
import { useStackCoreContext } from "./core.provider";
|
|
@@ -75,8 +75,9 @@ function useDirectStackValue(props) {
|
|
|
75
75
|
routeKeys,
|
|
76
76
|
routes: allRoutes,
|
|
77
77
|
scenes,
|
|
78
|
-
optimisticFocusedIndex
|
|
79
|
-
|
|
78
|
+
optimisticFocusedIndex,
|
|
79
|
+
focusedIndex
|
|
80
|
+
}), [flags, navigatorKey, routeKeys, allRoutes, scenes, optimisticFocusedIndex, focusedIndex]);
|
|
80
81
|
|
|
81
82
|
// DirectStack context value
|
|
82
83
|
const lifecycleValue = useMemo(() => ({
|
|
@@ -98,7 +99,7 @@ function withDirectStack(Component) {
|
|
|
98
99
|
stackContextValue,
|
|
99
100
|
...lifecycleValue
|
|
100
101
|
} = useDirectStackValue(props);
|
|
101
|
-
return /*#__PURE__*/_jsx(
|
|
102
|
+
return /*#__PURE__*/_jsx(StackProvider, {
|
|
102
103
|
value: stackContextValue,
|
|
103
104
|
children: /*#__PURE__*/_jsx(Component, {
|
|
104
105
|
...lifecycleValue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","
|
|
1
|
+
{"version":3,"names":["useMemo","StackProvider","AnimationStore","isOverlayVisible","useStackCoreContext","useStackDerived","jsx","_jsx","useDirectStackValue","props","state","navigation","descriptors","describe","flags","navigatorKey","key","preloadedDescriptors","preloadedRoutes","reduce","acc","route","scenes","shouldShowFloatOverlay","routeKeys","allRoutes","animationMaps","routes","concat","allDescriptors","descriptor","isPreloaded","undefined","push","getBag","options","enableTransitions","optimisticFocusedIndex","focusedIndex","index","stackContextValue","lifecycleValue","withDirectStack","Component","DirectStackProvider","value","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/direct.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { resolveSceneNeighbors } from "../../../../../utils/navigation/resolve-scene-neighbors";
|
|
4
|
+
import { isOverlayVisible } from "../../../../../utils/overlay/visibility";
|
|
5
|
+
import { areDescriptorSourcesEquivalent, areDescriptorsEqual, areRouteChildStateMapsEqual, getRouteChildState, setsAreEqual } from "./helpers";
|
|
6
|
+
const areRouteKeysEqual = (a, b) => {
|
|
7
|
+
if (a === b) return true;
|
|
8
|
+
if (a.length !== b.length) return false;
|
|
9
|
+
return a.every((key, index) => key === b[index]);
|
|
10
|
+
};
|
|
11
|
+
const resolveStableDescriptorSource = ({
|
|
12
|
+
routeKey,
|
|
13
|
+
sourceDescriptor,
|
|
14
|
+
previousState
|
|
15
|
+
}) => {
|
|
16
|
+
const previousSourceDescriptor = previousState?.sourceDescriptors[routeKey];
|
|
17
|
+
if (previousSourceDescriptor && areDescriptorSourcesEquivalent(previousSourceDescriptor, sourceDescriptor)) {
|
|
18
|
+
return previousSourceDescriptor;
|
|
19
|
+
}
|
|
20
|
+
return sourceDescriptor;
|
|
21
|
+
};
|
|
22
|
+
const getSceneActivity = ({
|
|
23
|
+
focusedIndex,
|
|
24
|
+
isClosing,
|
|
25
|
+
sceneIndex,
|
|
26
|
+
topIndex,
|
|
27
|
+
topIsClosing
|
|
28
|
+
}) => {
|
|
29
|
+
if (isClosing) {
|
|
30
|
+
return "closing";
|
|
31
|
+
}
|
|
32
|
+
if (topIsClosing) {
|
|
33
|
+
return sceneIndex === focusedIndex ? "inert" : "inactive";
|
|
34
|
+
}
|
|
35
|
+
if (sceneIndex === topIndex) {
|
|
36
|
+
return "active";
|
|
37
|
+
}
|
|
38
|
+
if (sceneIndex === topIndex - 1) {
|
|
39
|
+
return "inert";
|
|
40
|
+
}
|
|
41
|
+
return "inactive";
|
|
42
|
+
};
|
|
43
|
+
const getSceneActivityWindow = ({
|
|
44
|
+
props,
|
|
45
|
+
routes,
|
|
46
|
+
closingRouteKeys
|
|
47
|
+
}) => {
|
|
48
|
+
const focusedRouteKey = props.state.routes[props.state.index]?.key;
|
|
49
|
+
let focusedIndex = Math.max(0, routes.findIndex(route => route.key === focusedRouteKey));
|
|
50
|
+
while (focusedIndex > 0 && closingRouteKeys.has(routes[focusedIndex]?.key)) {
|
|
51
|
+
focusedIndex--;
|
|
52
|
+
}
|
|
53
|
+
const topIndex = routes.length - 1;
|
|
54
|
+
const topRoute = routes[topIndex];
|
|
55
|
+
const topIsClosing = topRoute !== undefined && closingRouteKeys.has(topRoute.key);
|
|
56
|
+
return {
|
|
57
|
+
focusedIndex,
|
|
58
|
+
topIndex,
|
|
59
|
+
topIsClosing
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
const withDescriptorActivityState = (descriptor, activity) => {
|
|
63
|
+
if (descriptor.activity === activity) {
|
|
64
|
+
return descriptor;
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
...descriptor,
|
|
68
|
+
activity
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
const buildBaseScenes = ({
|
|
72
|
+
routes,
|
|
73
|
+
descriptors,
|
|
74
|
+
closingRouteKeys,
|
|
75
|
+
previousState,
|
|
76
|
+
activityWindow
|
|
77
|
+
}) => {
|
|
78
|
+
const routeKeys = [];
|
|
79
|
+
const scenes = [];
|
|
80
|
+
const routeChildStates = {};
|
|
81
|
+
const sourceDescriptors = {};
|
|
82
|
+
const managedDescriptors = {};
|
|
83
|
+
let shouldShowFloatOverlay = false;
|
|
84
|
+
for (let sceneIndex = 0; sceneIndex < routes.length; sceneIndex++) {
|
|
85
|
+
const route = routes[sceneIndex];
|
|
86
|
+
const rawSourceDescriptor = descriptors[route.key];
|
|
87
|
+
if (!rawSourceDescriptor) {
|
|
88
|
+
throw new Error(`Missing descriptor for route "${route.key}"`);
|
|
89
|
+
}
|
|
90
|
+
const routeChildState = getRouteChildState(route);
|
|
91
|
+
const childStateUnchanged = !previousState || Object.is(previousState.routeChildStates[route.key], routeChildState);
|
|
92
|
+
const sourceDescriptor = childStateUnchanged ? resolveStableDescriptorSource({
|
|
93
|
+
routeKey: route.key,
|
|
94
|
+
sourceDescriptor: rawSourceDescriptor,
|
|
95
|
+
previousState
|
|
96
|
+
}) : rawSourceDescriptor;
|
|
97
|
+
const activity = getSceneActivity({
|
|
98
|
+
...activityWindow,
|
|
99
|
+
isClosing: closingRouteKeys.has(route.key),
|
|
100
|
+
sceneIndex
|
|
101
|
+
});
|
|
102
|
+
const previousDescriptor = previousState?.descriptors[route.key];
|
|
103
|
+
const descriptor = previousDescriptor && childStateUnchanged && previousDescriptor.route === sourceDescriptor.route && previousDescriptor.navigation === sourceDescriptor.navigation && previousDescriptor.options === sourceDescriptor.options && previousDescriptor.activity === activity ? previousDescriptor : withDescriptorActivityState(sourceDescriptor, activity);
|
|
104
|
+
routeKeys.push(route.key);
|
|
105
|
+
routeChildStates[route.key] = routeChildState;
|
|
106
|
+
sourceDescriptors[route.key] = sourceDescriptor;
|
|
107
|
+
managedDescriptors[route.key] = descriptor;
|
|
108
|
+
if (!shouldShowFloatOverlay) {
|
|
109
|
+
shouldShowFloatOverlay = isOverlayVisible(sourceDescriptor?.options);
|
|
110
|
+
}
|
|
111
|
+
scenes.push({
|
|
112
|
+
route: descriptor.route,
|
|
113
|
+
descriptor
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
scenes,
|
|
118
|
+
routeChildStates,
|
|
119
|
+
sourceDescriptors,
|
|
120
|
+
descriptors: managedDescriptors,
|
|
121
|
+
routeKeys,
|
|
122
|
+
shouldShowFloatOverlay
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
const withSceneRelationships = ({
|
|
126
|
+
scenes,
|
|
127
|
+
sourceDescriptors,
|
|
128
|
+
closingRouteKeys,
|
|
129
|
+
previousState
|
|
130
|
+
}) => {
|
|
131
|
+
const isRouteClosing = routeKey => closingRouteKeys.has(routeKey);
|
|
132
|
+
const closingRouteOrder = new Map(Array.from(closingRouteKeys, (routeKey, index) => [routeKey, index]));
|
|
133
|
+
const previousScenesByRouteKey = previousState ? new Map(previousState.scenes.map(scene => [scene.route.key, scene])) : undefined;
|
|
134
|
+
let reusedEveryScene = previousState !== undefined && scenes.length === previousState.scenes.length;
|
|
135
|
+
const relationshipScenes = scenes.map(scene => ({
|
|
136
|
+
route: scene.route,
|
|
137
|
+
descriptor: sourceDescriptors[scene.route.key] ?? scene.descriptor
|
|
138
|
+
}));
|
|
139
|
+
const nextScenes = scenes.map((scene, sceneIndex) => {
|
|
140
|
+
const {
|
|
141
|
+
previousDescriptor,
|
|
142
|
+
nextDescriptor
|
|
143
|
+
} = resolveSceneNeighbors(relationshipScenes, sceneIndex, isRouteClosing, routeKey => closingRouteOrder.get(routeKey));
|
|
144
|
+
const nextScene = {
|
|
145
|
+
...scene,
|
|
146
|
+
previousDescriptor,
|
|
147
|
+
nextDescriptor
|
|
148
|
+
};
|
|
149
|
+
const previousScene = previousState?.scenes[sceneIndex]?.route === scene.route ? previousState.scenes[sceneIndex] : previousScenesByRouteKey?.get(scene.route.key);
|
|
150
|
+
if (previousScene && previousScene.route === nextScene.route && previousScene.descriptor === nextScene.descriptor && previousScene.previousDescriptor === nextScene.previousDescriptor && previousScene.nextDescriptor === nextScene.nextDescriptor) {
|
|
151
|
+
return previousScene;
|
|
152
|
+
}
|
|
153
|
+
reusedEveryScene = false;
|
|
154
|
+
return nextScene;
|
|
155
|
+
});
|
|
156
|
+
if (reusedEveryScene && previousState) {
|
|
157
|
+
return previousState.scenes;
|
|
158
|
+
}
|
|
159
|
+
return nextScenes;
|
|
160
|
+
};
|
|
161
|
+
export const buildManagedStackState = params => {
|
|
162
|
+
const activityWindow = getSceneActivityWindow(params);
|
|
163
|
+
const focusedRouteKey = params.props.state.routes[params.props.state.index]?.key;
|
|
164
|
+
const {
|
|
165
|
+
scenes: baseScenes,
|
|
166
|
+
routeChildStates,
|
|
167
|
+
sourceDescriptors,
|
|
168
|
+
descriptors: managedDescriptors,
|
|
169
|
+
routeKeys,
|
|
170
|
+
shouldShowFloatOverlay
|
|
171
|
+
} = buildBaseScenes({
|
|
172
|
+
...params,
|
|
173
|
+
activityWindow
|
|
174
|
+
});
|
|
175
|
+
const scenes = withSceneRelationships({
|
|
176
|
+
scenes: baseScenes,
|
|
177
|
+
sourceDescriptors,
|
|
178
|
+
closingRouteKeys: params.closingRouteKeys,
|
|
179
|
+
previousState: params.previousState
|
|
180
|
+
});
|
|
181
|
+
const closingRouteKeys = new Set(params.closingRouteKeys);
|
|
182
|
+
return {
|
|
183
|
+
routes: params.routes,
|
|
184
|
+
descriptors: params.previousState && areDescriptorsEqual(params.previousState.descriptors, managedDescriptors) ? params.previousState.descriptors : managedDescriptors,
|
|
185
|
+
sourceDescriptors: params.previousState && areDescriptorsEqual(params.previousState.sourceDescriptors, sourceDescriptors) ? params.previousState.sourceDescriptors : sourceDescriptors,
|
|
186
|
+
focusedRouteKey,
|
|
187
|
+
routeChildStates: params.previousState && areRouteChildStateMapsEqual(params.previousState.routeChildStates, routeChildStates) ? params.previousState.routeChildStates : routeChildStates,
|
|
188
|
+
scenes,
|
|
189
|
+
routeKeys: params.previousState && areRouteKeysEqual(params.previousState.routeKeys, routeKeys) ? params.previousState.routeKeys : routeKeys,
|
|
190
|
+
shouldShowFloatOverlay,
|
|
191
|
+
closingRouteKeys: params.previousState && setsAreEqual(params.previousState.closingRouteKeys, closingRouteKeys) ? params.previousState.closingRouteKeys : closingRouteKeys
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=build-managed-stack-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["resolveSceneNeighbors","isOverlayVisible","areDescriptorSourcesEquivalent","areDescriptorsEqual","areRouteChildStateMapsEqual","getRouteChildState","setsAreEqual","areRouteKeysEqual","a","b","length","every","key","index","resolveStableDescriptorSource","routeKey","sourceDescriptor","previousState","previousSourceDescriptor","sourceDescriptors","getSceneActivity","focusedIndex","isClosing","sceneIndex","topIndex","topIsClosing","getSceneActivityWindow","props","routes","closingRouteKeys","focusedRouteKey","state","Math","max","findIndex","route","has","topRoute","undefined","withDescriptorActivityState","descriptor","activity","buildBaseScenes","descriptors","activityWindow","routeKeys","scenes","routeChildStates","managedDescriptors","shouldShowFloatOverlay","rawSourceDescriptor","Error","routeChildState","childStateUnchanged","Object","is","previousDescriptor","navigation","options","push","withSceneRelationships","isRouteClosing","closingRouteOrder","Map","Array","from","previousScenesByRouteKey","map","scene","reusedEveryScene","relationshipScenes","nextScenes","nextDescriptor","get","nextScene","previousScene","buildManagedStackState","params","baseScenes","Set"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { buildManagedStackState } from "./build-managed-stack-state";
|
|
4
|
+
import { areDescriptorSourceMapsEquivalent, areDescriptorsEqual, areRouteChildStateMapsEqual, getRouteChildStateMap, setsAreEqual } from "./helpers";
|
|
5
|
+
import { reconcileManagedRoutes } from "./reconcile-managed-routes";
|
|
6
|
+
const routesAreIdentical = (a, b) => {
|
|
7
|
+
if (a === b) return true;
|
|
8
|
+
if (a.length !== b.length) return false;
|
|
9
|
+
return a.every((route, index) => route === b[index]);
|
|
10
|
+
};
|
|
11
|
+
const routeKeysAreEqual = (a, b) => {
|
|
12
|
+
if (a.length !== b.length) return false;
|
|
13
|
+
return a.every((route, index) => route.key === b[index]?.key);
|
|
14
|
+
};
|
|
15
|
+
export const deriveManagedStackState = ({
|
|
16
|
+
props,
|
|
17
|
+
current,
|
|
18
|
+
previousRoutesSnapshot,
|
|
19
|
+
closingRouteKeys
|
|
20
|
+
}) => {
|
|
21
|
+
const nextRoutesSnapshot = props.state.routes;
|
|
22
|
+
const nextDescriptors = props.descriptors;
|
|
23
|
+
const nextRouteChildStates = getRouteChildStateMap(nextRoutesSnapshot);
|
|
24
|
+
const nextFocusedRouteKey = nextRoutesSnapshot[props.state.index]?.key;
|
|
25
|
+
const focusedRouteUnchanged = current.focusedRouteKey === nextFocusedRouteKey;
|
|
26
|
+
const closingRouteKeysUnchanged = setsAreEqual(current.closingRouteKeys, closingRouteKeys);
|
|
27
|
+
const routeChildStatesUnchanged = areRouteChildStateMapsEqual(current.routeChildStates, nextRouteChildStates);
|
|
28
|
+
const alreadyAligned = focusedRouteUnchanged && closingRouteKeysUnchanged && routeChildStatesUnchanged && routesAreIdentical(current.routes, nextRoutesSnapshot) && areDescriptorsEqual(current.sourceDescriptors, nextDescriptors);
|
|
29
|
+
if (alreadyAligned) {
|
|
30
|
+
return current;
|
|
31
|
+
}
|
|
32
|
+
const logicallyAligned = focusedRouteUnchanged && closingRouteKeysUnchanged && routeChildStatesUnchanged && routeKeysAreEqual(current.routes, nextRoutesSnapshot) && areDescriptorSourceMapsEquivalent(current.sourceDescriptors, nextDescriptors);
|
|
33
|
+
if (logicallyAligned) {
|
|
34
|
+
return current;
|
|
35
|
+
}
|
|
36
|
+
const result = reconcileManagedRoutes({
|
|
37
|
+
current,
|
|
38
|
+
previousRoutesSnapshot,
|
|
39
|
+
nextRoutesSnapshot,
|
|
40
|
+
nextDescriptors,
|
|
41
|
+
closingRouteKeys
|
|
42
|
+
});
|
|
43
|
+
const routesChanged = !routesAreIdentical(current.routes, result.routes);
|
|
44
|
+
const descriptorsChanged = !areDescriptorsEqual(current.sourceDescriptors, result.descriptors);
|
|
45
|
+
const closingRouteKeysChanged = !setsAreEqual(current.closingRouteKeys, closingRouteKeys);
|
|
46
|
+
if (!routesChanged && !descriptorsChanged && !closingRouteKeysChanged) {
|
|
47
|
+
return current;
|
|
48
|
+
}
|
|
49
|
+
return buildManagedStackState({
|
|
50
|
+
props,
|
|
51
|
+
routes: routesChanged ? result.routes : current.routes,
|
|
52
|
+
descriptors: descriptorsChanged ? result.descriptors : current.sourceDescriptors,
|
|
53
|
+
closingRouteKeys,
|
|
54
|
+
previousState: current
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=derive-managed-stack-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["buildManagedStackState","areDescriptorSourceMapsEquivalent","areDescriptorsEqual","areRouteChildStateMapsEqual","getRouteChildStateMap","setsAreEqual","reconcileManagedRoutes","routesAreIdentical","a","b","length","every","route","index","routeKeysAreEqual","key","deriveManagedStackState","props","current","previousRoutesSnapshot","closingRouteKeys","nextRoutesSnapshot","state","routes","nextDescriptors","descriptors","nextRouteChildStates","nextFocusedRouteKey","focusedRouteUnchanged","focusedRouteKey","closingRouteKeysUnchanged","routeChildStatesUnchanged","routeChildStates","alreadyAligned","sourceDescriptors","logicallyAligned","result","routesChanged","descriptorsChanged","closingRouteKeysChanged","previousState"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.ts"],"mappings":";;AAMA,SAASA,sBAAsB,QAAQ,6BAA6B;AACpE,SACCC,iCAAiC,EACjCC,mBAAmB,EACnBC,2BAA2B,EAC3BC,qBAAqB,EACrBC,YAAY,QACN,WAAW;AAClB,SAASC,sBAAsB,QAAQ,4BAA4B;AAanE,MAAMC,kBAAkB,GAAGA,CAC1BC,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;AAED,MAAMC,iBAAiB,GAAGA,CACzBN,CAAU,EACVC,CAAU,KACG;EACb,IAAID,CAAC,CAACE,MAAM,KAAKD,CAAC,CAACC,MAAM,EAAE,OAAO,KAAK;EAEvC,OAAOF,CAAC,CAACG,KAAK,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAKD,KAAK,CAACG,GAAG,KAAKN,CAAC,CAACI,KAAK,CAAC,EAAEE,GAAG,CAAC;AAC9D,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAAGA,CAGrC;EACDC,KAAK;EACLC,OAAO;EACPC,sBAAsB;EACtBC;AAID,CAAC,KAAoC;EACpC,MAAMC,kBAAkB,GAAGJ,KAAK,CAACK,KAAK,CAACC,MAAM;EAC7C,MAAMC,eAAe,GAAGP,KAAK,CAACQ,WAAW;EACzC,MAAMC,oBAAoB,GAAGtB,qBAAqB,CAACiB,kBAAkB,CAAC;EACtE,MAAMM,mBAAmB,GAAGN,kBAAkB,CAACJ,KAAK,CAACK,KAAK,CAACT,KAAK,CAAC,EAAEE,GAAG;EACtE,MAAMa,qBAAqB,GAAGV,OAAO,CAACW,eAAe,KAAKF,mBAAmB;EAC7E,MAAMG,yBAAyB,GAAGzB,YAAY,CAC7Ca,OAAO,CAACE,gBAAgB,EACxBA,gBACD,CAAC;EACD,MAAMW,yBAAyB,GAAG5B,2BAA2B,CAC5De,OAAO,CAACc,gBAAgB,EACxBN,oBACD,CAAC;EAED,MAAMO,cAAc,GACnBL,qBAAqB,IACrBE,yBAAyB,IACzBC,yBAAyB,IACzBxB,kBAAkB,CAACW,OAAO,CAACK,MAAM,EAAEF,kBAAkB,CAAC,IACtDnB,mBAAmB,CAACgB,OAAO,CAACgB,iBAAiB,EAAEV,eAAe,CAAC;EAEhE,IAAIS,cAAc,EAAE;IACnB,OAAOf,OAAO;EACf;EAEA,MAAMiB,gBAAgB,GACrBP,qBAAqB,IACrBE,yBAAyB,IACzBC,yBAAyB,IACzBjB,iBAAiB,CAACI,OAAO,CAACK,MAAM,EAAEF,kBAAkB,CAAC,IACrDpB,iCAAiC,CAChCiB,OAAO,CAACgB,iBAAiB,EACzBV,eACD,CAAC;EAEF,IAAIW,gBAAgB,EAAE;IACrB,OAAOjB,OAAO;EACf;EAEA,MAAMkB,MAAM,GAAG9B,sBAAsB,CAAC;IACrCY,OAAO;IACPC,sBAAsB;IACtBE,kBAAkB;IAClBG,eAAe;IACfJ;EACD,CAAC,CAAC;EAEF,MAAMiB,aAAa,GAAG,CAAC9B,kBAAkB,CAACW,OAAO,CAACK,MAAM,EAAEa,MAAM,CAACb,MAAM,CAAC;EACxE,MAAMe,kBAAkB,GAAG,CAACpC,mBAAmB,CAC9CgB,OAAO,CAACgB,iBAAiB,EACzBE,MAAM,CAACX,WACR,CAAC;EACD,MAAMc,uBAAuB,GAAG,CAAClC,YAAY,CAC5Ca,OAAO,CAACE,gBAAgB,EACxBA,gBACD,CAAC;EAED,IAAI,CAACiB,aAAa,IAAI,CAACC,kBAAkB,IAAI,CAACC,uBAAuB,EAAE;IACtE,OAAOrB,OAAO;EACf;EAEA,OAAOlB,sBAAsB,CAAC;IAC7BiB,KAAK;IACLM,MAAM,EAAEc,aAAa,GAAGD,MAAM,CAACb,MAAM,GAAGL,OAAO,CAACK,MAAM;IACtDE,WAAW,EAAEa,kBAAkB,GAC5BF,MAAM,CAACX,WAAW,GAClBP,OAAO,CAACgB,iBAAiB;IAC5Bd,gBAAgB;IAChBoB,aAAa,EAAEtB;EAChB,CAAC,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const areDescriptorsEqual = (a, b) => {
|
|
4
|
+
if (a === b) return true;
|
|
5
|
+
const aKeys = Object.keys(a);
|
|
6
|
+
const bKeys = Object.keys(b);
|
|
7
|
+
if (aKeys.length !== bKeys.length) return false;
|
|
8
|
+
return aKeys.every(key => a[key] === b[key]);
|
|
9
|
+
};
|
|
10
|
+
export const setsAreEqual = (left, right) => {
|
|
11
|
+
if (left.size !== right.size) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
for (const value of left) {
|
|
15
|
+
if (!right.has(value)) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return true;
|
|
20
|
+
};
|
|
21
|
+
export const getRouteChildState = route => {
|
|
22
|
+
if (!route || typeof route !== "object") {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const childStateSymbol = Object.getOwnPropertySymbols(route).find(symbol => symbol.description === "CHILD_STATE");
|
|
26
|
+
if (childStateSymbol && childStateSymbol in route) {
|
|
27
|
+
return route[childStateSymbol];
|
|
28
|
+
}
|
|
29
|
+
return route.state;
|
|
30
|
+
};
|
|
31
|
+
export const getRouteChildStateMap = routes => {
|
|
32
|
+
const childStates = {};
|
|
33
|
+
for (const route of routes) {
|
|
34
|
+
childStates[route.key] = getRouteChildState(route);
|
|
35
|
+
}
|
|
36
|
+
return childStates;
|
|
37
|
+
};
|
|
38
|
+
export const areRouteChildStateMapsEqual = (previous, next) => {
|
|
39
|
+
if (previous === next) return true;
|
|
40
|
+
const previousKeys = Object.keys(previous);
|
|
41
|
+
const nextKeys = Object.keys(next);
|
|
42
|
+
if (previousKeys.length !== nextKeys.length) return false;
|
|
43
|
+
return previousKeys.every(key => Object.is(previous[key], next[key]));
|
|
44
|
+
};
|
|
45
|
+
export const areRecordsShallowEqual = (a, b) => {
|
|
46
|
+
if (a === b) return true;
|
|
47
|
+
const aKeys = Object.keys(a);
|
|
48
|
+
const bKeys = Object.keys(b);
|
|
49
|
+
if (aKeys.length !== bKeys.length) return false;
|
|
50
|
+
return aKeys.every(key => Object.is(a[key], b[key]));
|
|
51
|
+
};
|
|
52
|
+
export const areDescriptorSourcesEquivalent = (previous, next) => {
|
|
53
|
+
return previous.navigation === next.navigation && areRecordsShallowEqual(previous.route, next.route) && areRecordsShallowEqual(previous.options, next.options);
|
|
54
|
+
};
|
|
55
|
+
export const areDescriptorSourceMapsEquivalent = (previous, next) => {
|
|
56
|
+
if (previous === next) return true;
|
|
57
|
+
const previousKeys = Object.keys(previous);
|
|
58
|
+
const nextKeys = Object.keys(next);
|
|
59
|
+
if (previousKeys.length !== nextKeys.length) return false;
|
|
60
|
+
return previousKeys.every(key => {
|
|
61
|
+
const previousDescriptor = previous[key];
|
|
62
|
+
const nextDescriptor = next[key];
|
|
63
|
+
if (!previousDescriptor || !nextDescriptor) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return areDescriptorSourcesEquivalent(previousDescriptor, nextDescriptor);
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["areDescriptorsEqual","a","b","aKeys","Object","keys","bKeys","length","every","key","setsAreEqual","left","right","size","value","has","getRouteChildState","route","undefined","childStateSymbol","getOwnPropertySymbols","find","symbol","description","state","getRouteChildStateMap","routes","childStates","areRouteChildStateMapsEqual","previous","next","previousKeys","nextKeys","is","areRecordsShallowEqual","areDescriptorSourcesEquivalent","navigation","options","areDescriptorSourceMapsEquivalent","previousDescriptor","nextDescriptor"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/managed-stack-state/helpers/helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { composeDescriptors } from "../../../../../utils/navigation/compose-descriptors";
|
|
4
|
+
import { syncRoutesWithRemoved } from "../../../../../utils/navigation/sync-routes-with-removed";
|
|
5
|
+
const haveSameRouteKeys = (previous, next) => {
|
|
6
|
+
if (previous.length !== next.length) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
return previous.every((route, index) => route?.key === next[index]?.key);
|
|
10
|
+
};
|
|
11
|
+
const alignRoutesWithLatest = (currentRoutes, currentDescriptors, nextRoutes, nextDescriptors) => {
|
|
12
|
+
if (currentRoutes.length === 0) {
|
|
13
|
+
return {
|
|
14
|
+
routes: nextRoutes,
|
|
15
|
+
descriptors: composeDescriptors(nextRoutes, nextDescriptors, currentDescriptors)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const nextRouteLookup = new Map();
|
|
19
|
+
for (const route of nextRoutes) {
|
|
20
|
+
nextRouteLookup.set(route.key, route);
|
|
21
|
+
}
|
|
22
|
+
let didChange = currentRoutes.length !== nextRoutes.length;
|
|
23
|
+
const alignedRoutes = currentRoutes.map(route => {
|
|
24
|
+
const nextRoute = nextRouteLookup.get(route.key);
|
|
25
|
+
if (!nextRoute) {
|
|
26
|
+
return route;
|
|
27
|
+
}
|
|
28
|
+
if (nextRoute !== route) {
|
|
29
|
+
didChange = true;
|
|
30
|
+
return nextRoute;
|
|
31
|
+
}
|
|
32
|
+
return route;
|
|
33
|
+
});
|
|
34
|
+
const routesResult = didChange ? alignedRoutes : currentRoutes;
|
|
35
|
+
return {
|
|
36
|
+
routes: routesResult,
|
|
37
|
+
descriptors: composeDescriptors(routesResult, nextDescriptors, currentDescriptors)
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
const acceptAlreadyClosingRouteRemovals = ({
|
|
41
|
+
current,
|
|
42
|
+
previousRoutesSnapshot,
|
|
43
|
+
nextRoutesSnapshot,
|
|
44
|
+
nextDescriptors,
|
|
45
|
+
closingRouteKeys
|
|
46
|
+
}) => {
|
|
47
|
+
const nextRouteKeys = new Set(nextRoutesSnapshot.map(route => route.key));
|
|
48
|
+
const acceptedRemovedKeys = new Set();
|
|
49
|
+
for (const route of previousRoutesSnapshot) {
|
|
50
|
+
if (nextRouteKeys.has(route.key)) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (!closingRouteKeys.has(route.key)) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
acceptedRemovedKeys.add(route.key);
|
|
57
|
+
closingRouteKeys.delete(route.key);
|
|
58
|
+
}
|
|
59
|
+
if (acceptedRemovedKeys.size === 0) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
const remainingClosingRoutes = current.routes.filter(route => {
|
|
63
|
+
if (nextRouteKeys.has(route.key)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
if (acceptedRemovedKeys.has(route.key)) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return closingRouteKeys.has(route.key);
|
|
70
|
+
});
|
|
71
|
+
const routes = [...nextRoutesSnapshot, ...remainingClosingRoutes];
|
|
72
|
+
const descriptors = {
|
|
73
|
+
...nextDescriptors
|
|
74
|
+
};
|
|
75
|
+
for (const route of remainingClosingRoutes) {
|
|
76
|
+
const descriptor = current.sourceDescriptors[route.key];
|
|
77
|
+
if (descriptor) {
|
|
78
|
+
descriptors[route.key] = descriptor;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
routes,
|
|
83
|
+
descriptors
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
export const reconcileManagedRoutes = params => {
|
|
87
|
+
const {
|
|
88
|
+
current,
|
|
89
|
+
previousRoutesSnapshot,
|
|
90
|
+
nextRoutesSnapshot,
|
|
91
|
+
nextDescriptors,
|
|
92
|
+
closingRouteKeys
|
|
93
|
+
} = params;
|
|
94
|
+
const routeKeysUnchanged = haveSameRouteKeys(previousRoutesSnapshot, nextRoutesSnapshot);
|
|
95
|
+
if (routeKeysUnchanged) {
|
|
96
|
+
const result = alignRoutesWithLatest(current.routes, current.sourceDescriptors, nextRoutesSnapshot, nextDescriptors);
|
|
97
|
+
return {
|
|
98
|
+
routes: result.routes,
|
|
99
|
+
descriptors: result.descriptors
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
const acceptedRemoval = acceptAlreadyClosingRouteRemovals(params);
|
|
103
|
+
if (acceptedRemoval) {
|
|
104
|
+
return acceptedRemoval;
|
|
105
|
+
}
|
|
106
|
+
const result = syncRoutesWithRemoved({
|
|
107
|
+
prevRoutes: previousRoutesSnapshot.length > 0 ? previousRoutesSnapshot : current.routes,
|
|
108
|
+
prevDescriptors: current.sourceDescriptors,
|
|
109
|
+
nextRoutes: nextRoutesSnapshot,
|
|
110
|
+
nextDescriptors,
|
|
111
|
+
closingRouteKeys
|
|
112
|
+
});
|
|
113
|
+
return {
|
|
114
|
+
routes: result.routes,
|
|
115
|
+
descriptors: result.descriptors
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=reconcile-managed-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["composeDescriptors","syncRoutesWithRemoved","haveSameRouteKeys","previous","next","length","every","route","index","key","alignRoutesWithLatest","currentRoutes","currentDescriptors","nextRoutes","nextDescriptors","routes","descriptors","nextRouteLookup","Map","set","didChange","alignedRoutes","map","nextRoute","get","routesResult","acceptAlreadyClosingRouteRemovals","current","previousRoutesSnapshot","nextRoutesSnapshot","closingRouteKeys","nextRouteKeys","Set","acceptedRemovedKeys","has","add","delete","size","remainingClosingRoutes","filter","descriptor","sourceDescriptors","reconcileManagedRoutes","params","routeKeysUnchanged","result","acceptedRemoval","prevRoutes","prevDescriptors"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/managed-stack-state/helpers/types.ts"],"mappings":"","ignoreList":[]}
|