react-native-screen-transitions 4.0.0 → 4.1.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/lib/commonjs/adapters/with-screen-transitions/stack-layout.js +1 -3
- package/lib/commonjs/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/commonjs/components/blank-stack-host.js +21 -0
- package/lib/commonjs/components/blank-stack-host.js.map +1 -0
- package/lib/commonjs/components/blank-stack-runtime.js +33 -0
- package/lib/commonjs/components/blank-stack-runtime.js.map +1 -0
- package/lib/commonjs/components/blank-stack-scene.js +31 -0
- package/lib/commonjs/components/blank-stack-scene.js.map +1 -0
- package/lib/commonjs/components/blank-stack-view.js +23 -0
- package/lib/commonjs/components/blank-stack-view.js.map +1 -0
- package/lib/commonjs/components/overlay/helpers/run-overlay-slot-interpolator.js +2 -4
- package/lib/commonjs/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -1
- package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js +1 -16
- package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js.map +1 -1
- package/lib/commonjs/components/overlay/variations/overlay-host.js +0 -1
- package/lib/commonjs/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/commonjs/components/screen-lifecycle/index.js +2 -2
- package/lib/commonjs/components/screen-lifecycle/index.js.map +1 -1
- package/lib/commonjs/custom-navigator.js +41 -0
- package/lib/commonjs/custom-navigator.js.map +1 -0
- package/lib/commonjs/hooks/navigation/use-blank-stack-state.js +26 -0
- package/lib/commonjs/hooks/navigation/use-blank-stack-state.js.map +1 -0
- package/lib/commonjs/hooks/navigation/use-navigation-helpers.js +2 -2
- package/lib/commonjs/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/commonjs/hooks/navigation/use-screen-state.js +1 -1
- package/lib/commonjs/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/animation.provider.js +11 -24
- package/lib/commonjs/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/pipeline.js +19 -36
- package/lib/commonjs/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/use-screen-animation.js +16 -12
- package/lib/commonjs/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js +31 -64
- package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/descriptors/index.js +6 -0
- package/lib/commonjs/providers/screen/descriptors/index.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/gestures.provider.js +14 -25
- package/lib/commonjs/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -4
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture.js +6 -7
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/ownership/gesture-ownership-coordinator.js +149 -0
- package/lib/commonjs/providers/screen/gestures/ownership/gesture-ownership-coordinator.js.map +1 -0
- package/lib/commonjs/providers/screen/gestures/ownership/use-gesture-scroll-coordination.js +15 -0
- package/lib/commonjs/providers/screen/gestures/ownership/use-gesture-scroll-coordination.js.map +1 -0
- package/lib/commonjs/providers/screen/gestures/ownership/use-register-gesture-ownership.js +52 -0
- package/lib/commonjs/providers/screen/gestures/ownership/use-register-gesture-ownership.js.map +1 -0
- package/lib/commonjs/providers/screen/gestures/pan/activation/pan-activation-decision.js +4 -9
- package/lib/commonjs/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/activation/use-pan-activation.js +3 -3
- package/lib/commonjs/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/use-build-pan-gesture.js +2 -2
- package/lib/commonjs/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +13 -11
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/shared/policy.js +4 -9
- package/lib/commonjs/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/types.js +2 -2
- package/lib/commonjs/providers/screen/gestures/types.js.map +1 -1
- package/lib/commonjs/providers/screen/screen-composer.js +10 -13
- package/lib/commonjs/providers/screen/screen-composer.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/helpers/create-interpolator-scope.js +3 -15
- package/lib/commonjs/providers/screen/styles/helpers/create-interpolator-scope.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js +4 -25
- package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/commonjs/providers/screen/topology/helpers/create-screen-topology.js +176 -0
- package/lib/commonjs/providers/screen/topology/helpers/create-screen-topology.js.map +1 -0
- package/lib/commonjs/providers/screen/topology/hooks/use-resolved-transition-key.js +17 -0
- package/lib/commonjs/providers/screen/topology/hooks/use-resolved-transition-key.js.map +1 -0
- package/lib/commonjs/{factories/screen-topology → providers/screen/topology/hooks}/use-screen-relationships.js +1 -1
- package/lib/commonjs/providers/screen/topology/hooks/use-screen-relationships.js.map +1 -0
- package/lib/commonjs/{factories/screen-topology → providers/screen/topology}/index.js +16 -15
- package/lib/commonjs/providers/screen/topology/index.js.map +1 -0
- package/lib/commonjs/providers/screen/topology/topology.provider.js +56 -0
- package/lib/commonjs/providers/screen/topology/topology.provider.js.map +1 -0
- package/lib/commonjs/providers/screen/topology/types.js.map +1 -0
- package/lib/commonjs/providers/screen/use-current-screen-relationships.js +2 -2
- package/lib/commonjs/providers/screen/use-current-screen-relationships.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/state-equality.js +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -1
- package/lib/commonjs/providers/stack/stack-transition/index.js +20 -0
- package/lib/commonjs/providers/stack/stack-transition/index.js.map +1 -0
- package/lib/commonjs/providers/stack/stack-transition/stack-transition-controller.js +197 -0
- package/lib/commonjs/providers/stack/stack-transition/stack-transition-controller.js.map +1 -0
- package/lib/commonjs/providers/stack/stack-transition/stack-transition.provider.js +92 -0
- package/lib/commonjs/providers/stack/stack-transition/stack-transition.provider.js.map +1 -0
- package/lib/commonjs/providers/stack/stack-transition/use-stack-transition.js +46 -0
- package/lib/commonjs/providers/stack/stack-transition/use-stack-transition.js.map +1 -0
- package/lib/commonjs/types/ownership.types.js +2 -25
- package/lib/commonjs/types/ownership.types.js.map +1 -1
- package/lib/module/adapters/with-screen-transitions/stack-layout.js +1 -3
- package/lib/module/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/module/components/blank-stack-host.js +17 -0
- package/lib/module/components/blank-stack-host.js.map +1 -0
- package/lib/module/components/blank-stack-runtime.js +29 -0
- package/lib/module/components/blank-stack-runtime.js.map +1 -0
- package/lib/module/components/blank-stack-scene.js +27 -0
- package/lib/module/components/blank-stack-scene.js.map +1 -0
- package/lib/module/components/blank-stack-view.js +19 -0
- package/lib/module/components/blank-stack-view.js.map +1 -0
- package/lib/module/components/overlay/helpers/run-overlay-slot-interpolator.js +2 -4
- package/lib/module/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -1
- package/lib/module/components/overlay/hooks/use-overlay-slot.js +1 -16
- package/lib/module/components/overlay/hooks/use-overlay-slot.js.map +1 -1
- package/lib/module/components/overlay/variations/overlay-host.js +0 -1
- package/lib/module/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/module/components/screen-lifecycle/index.js +2 -2
- package/lib/module/components/screen-lifecycle/index.js.map +1 -1
- package/lib/module/custom-navigator.js +8 -0
- package/lib/module/custom-navigator.js.map +1 -0
- package/lib/module/hooks/navigation/use-blank-stack-state.js +21 -0
- package/lib/module/hooks/navigation/use-blank-stack-state.js.map +1 -0
- package/lib/module/hooks/navigation/use-navigation-helpers.js +2 -2
- package/lib/module/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/module/hooks/navigation/use-screen-state.js +1 -1
- package/lib/module/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/providers/screen/animation/animation.provider.js +11 -24
- package/lib/module/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/pipeline.js +19 -36
- package/lib/module/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/module/providers/screen/animation/use-screen-animation.js +17 -13
- package/lib/module/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/module/providers/screen/descriptors/descriptors.provider.js +31 -66
- package/lib/module/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/module/providers/screen/descriptors/index.js +1 -1
- package/lib/module/providers/screen/descriptors/index.js.map +1 -1
- package/lib/module/providers/screen/gestures/gestures.provider.js +16 -27
- package/lib/module/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -4
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture.js +6 -7
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/module/providers/screen/gestures/ownership/gesture-ownership-coordinator.js +144 -0
- package/lib/module/providers/screen/gestures/ownership/gesture-ownership-coordinator.js.map +1 -0
- package/lib/module/providers/screen/gestures/ownership/use-gesture-scroll-coordination.js +10 -0
- package/lib/module/providers/screen/gestures/ownership/use-gesture-scroll-coordination.js.map +1 -0
- package/lib/module/providers/screen/gestures/ownership/use-register-gesture-ownership.js +47 -0
- package/lib/module/providers/screen/gestures/ownership/use-register-gesture-ownership.js.map +1 -0
- package/lib/module/providers/screen/gestures/pan/activation/pan-activation-decision.js +4 -9
- package/lib/module/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/activation/use-pan-activation.js +3 -3
- package/lib/module/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/use-build-pan-gesture.js +2 -2
- package/lib/module/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
- package/lib/module/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +13 -11
- package/lib/module/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/module/providers/screen/gestures/shared/policy.js +4 -9
- package/lib/module/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/module/providers/screen/gestures/types.js +1 -1
- package/lib/module/providers/screen/gestures/types.js.map +1 -1
- package/lib/module/providers/screen/screen-composer.js +10 -13
- package/lib/module/providers/screen/screen-composer.js.map +1 -1
- package/lib/module/providers/screen/styles/helpers/create-interpolator-scope.js +3 -15
- package/lib/module/providers/screen/styles/helpers/create-interpolator-scope.js.map +1 -1
- package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js +4 -25
- package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/module/providers/screen/topology/helpers/create-screen-topology.js +171 -0
- package/lib/module/providers/screen/topology/helpers/create-screen-topology.js.map +1 -0
- package/lib/module/providers/screen/topology/hooks/use-resolved-transition-key.js +12 -0
- package/lib/module/providers/screen/topology/hooks/use-resolved-transition-key.js.map +1 -0
- package/lib/module/{factories/screen-topology → providers/screen/topology/hooks}/use-screen-relationships.js +1 -1
- package/lib/module/providers/screen/topology/hooks/use-screen-relationships.js.map +1 -0
- package/lib/module/providers/screen/topology/index.js +7 -0
- package/lib/module/providers/screen/topology/index.js.map +1 -0
- package/lib/module/providers/screen/topology/topology.provider.js +50 -0
- package/lib/module/providers/screen/topology/topology.provider.js.map +1 -0
- package/lib/module/providers/screen/topology/types.js.map +1 -0
- package/lib/module/providers/screen/use-current-screen-relationships.js +1 -1
- package/lib/module/providers/screen/use-current-screen-relationships.js.map +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/state-equality.js +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -1
- package/lib/module/providers/stack/stack-transition/index.js +5 -0
- package/lib/module/providers/stack/stack-transition/index.js.map +1 -0
- package/lib/module/providers/stack/stack-transition/stack-transition-controller.js +189 -0
- package/lib/module/providers/stack/stack-transition/stack-transition-controller.js.map +1 -0
- package/lib/module/providers/stack/stack-transition/stack-transition.provider.js +85 -0
- package/lib/module/providers/stack/stack-transition/stack-transition.provider.js.map +1 -0
- package/lib/module/providers/stack/stack-transition/use-stack-transition.js +41 -0
- package/lib/module/providers/stack/stack-transition/use-stack-transition.js.map +1 -0
- package/lib/module/types/animation.types.js.map +1 -1
- package/lib/module/types/ownership.types.js +1 -24
- package/lib/module/types/ownership.types.js.map +1 -1
- package/lib/typescript/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
- package/lib/typescript/components/blank-stack-host.d.ts +9 -0
- package/lib/typescript/components/blank-stack-host.d.ts.map +1 -0
- package/lib/typescript/components/blank-stack-runtime.d.ts +8 -0
- package/lib/typescript/components/blank-stack-runtime.d.ts.map +1 -0
- package/lib/typescript/components/blank-stack-scene.d.ts +5 -0
- package/lib/typescript/components/blank-stack-scene.d.ts.map +1 -0
- package/lib/typescript/components/blank-stack-view.d.ts +2 -0
- package/lib/typescript/components/blank-stack-view.d.ts.map +1 -0
- package/lib/typescript/components/overlay/helpers/run-overlay-slot-interpolator.d.ts +2 -3
- package/lib/typescript/components/overlay/helpers/run-overlay-slot-interpolator.d.ts.map +1 -1
- package/lib/typescript/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -1
- package/lib/typescript/custom-navigator.d.ts +8 -0
- package/lib/typescript/custom-navigator.d.ts.map +1 -0
- package/lib/typescript/hooks/navigation/use-blank-stack-state.d.ts +8 -0
- package/lib/typescript/hooks/navigation/use-blank-stack-state.d.ts.map +1 -0
- package/lib/typescript/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/animation.provider.d.ts +2 -5
- package/lib/typescript/providers/screen/animation/animation.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/pipeline.d.ts +2 -4
- package/lib/typescript/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/types.d.ts +0 -9
- package/lib/typescript/providers/screen/animation/types.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/providers/screen/descriptors/descriptors.provider.d.ts +9 -11
- package/lib/typescript/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/descriptors/index.d.ts +1 -1
- package/lib/typescript/providers/screen/descriptors/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/gestures.provider.d.ts +9 -12
- package/lib/typescript/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts +2 -2
- package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture.d.ts +3 -2
- package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/index.d.ts +1 -1
- package/lib/typescript/providers/screen/gestures/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/ownership/gesture-ownership-coordinator.d.ts +26 -0
- package/lib/typescript/providers/screen/gestures/ownership/gesture-ownership-coordinator.d.ts.map +1 -0
- package/lib/typescript/providers/screen/gestures/ownership/use-gesture-scroll-coordination.d.ts +3 -0
- package/lib/typescript/providers/screen/gestures/ownership/use-gesture-scroll-coordination.d.ts.map +1 -0
- package/lib/typescript/providers/screen/gestures/ownership/use-register-gesture-ownership.d.ts +9 -0
- package/lib/typescript/providers/screen/gestures/ownership/use-register-gesture-ownership.d.ts.map +1 -0
- package/lib/typescript/providers/screen/gestures/pan/activation/pan-activation-decision.d.ts +4 -4
- package/lib/typescript/providers/screen/gestures/pan/activation/pan-activation-decision.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/activation/use-pan-activation.d.ts +3 -3
- package/lib/typescript/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/use-build-pan-gesture.d.ts +3 -3
- package/lib/typescript/providers/screen/gestures/pan/use-build-pan-gesture.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/shared/policy.d.ts +2 -3
- package/lib/typescript/providers/screen/gestures/shared/policy.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/types.d.ts +4 -18
- package/lib/typescript/providers/screen/gestures/types.d.ts.map +1 -1
- package/lib/typescript/providers/screen/screen-composer.d.ts +2 -6
- package/lib/typescript/providers/screen/screen-composer.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/helpers/create-interpolator-scope.d.ts +2 -3
- package/lib/typescript/providers/screen/styles/helpers/create-interpolator-scope.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
- package/lib/typescript/{factories/screen-topology → providers/screen/topology/helpers}/create-screen-topology.d.ts +1 -1
- package/lib/typescript/providers/screen/topology/helpers/create-screen-topology.d.ts.map +1 -0
- package/lib/typescript/providers/screen/topology/hooks/use-resolved-transition-key.d.ts +3 -0
- package/lib/typescript/providers/screen/topology/hooks/use-resolved-transition-key.d.ts.map +1 -0
- package/lib/typescript/{factories/screen-topology → providers/screen/topology/hooks}/use-screen-relationships.d.ts +1 -0
- package/lib/typescript/providers/screen/topology/hooks/use-screen-relationships.d.ts.map +1 -0
- package/lib/typescript/providers/screen/topology/index.d.ts +6 -0
- package/lib/typescript/providers/screen/topology/index.d.ts.map +1 -0
- package/lib/typescript/providers/screen/topology/topology.provider.d.ts +13 -0
- package/lib/typescript/providers/screen/topology/topology.provider.d.ts.map +1 -0
- package/lib/typescript/{factories/screen-topology → providers/screen/topology}/types.d.ts +7 -1
- package/lib/typescript/providers/screen/topology/types.d.ts.map +1 -0
- package/lib/typescript/providers/screen/use-current-screen-relationships.d.ts +1 -0
- package/lib/typescript/providers/screen/use-current-screen-relationships.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/state-equality.d.ts.map +1 -1
- package/lib/typescript/providers/stack/stack-transition/index.d.ts +3 -0
- package/lib/typescript/providers/stack/stack-transition/index.d.ts.map +1 -0
- package/lib/typescript/providers/stack/stack-transition/stack-transition-controller.d.ts +48 -0
- package/lib/typescript/providers/stack/stack-transition/stack-transition-controller.d.ts.map +1 -0
- package/lib/typescript/providers/stack/stack-transition/stack-transition.provider.d.ts +14 -0
- package/lib/typescript/providers/stack/stack-transition/stack-transition.provider.d.ts.map +1 -0
- package/lib/typescript/providers/stack/stack-transition/use-stack-transition.d.ts +12 -0
- package/lib/typescript/providers/stack/stack-transition/use-stack-transition.d.ts.map +1 -0
- package/lib/typescript/types/animation.types.d.ts +1 -15
- package/lib/typescript/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/types/bounds.types.d.ts +1 -1
- package/lib/typescript/types/bounds.types.d.ts.map +1 -1
- package/lib/typescript/types/index.d.ts +1 -1
- package/lib/typescript/types/index.d.ts.map +1 -1
- package/lib/typescript/types/ownership.types.d.ts +1 -18
- package/lib/typescript/types/ownership.types.d.ts.map +1 -1
- package/lib/typescript/types/screen.types.d.ts +9 -0
- package/lib/typescript/types/screen.types.d.ts.map +1 -1
- package/package.json +7 -1
- package/src/adapters/with-screen-transitions/stack-layout.tsx +1 -9
- package/src/components/blank-stack-host.tsx +21 -0
- package/src/components/blank-stack-runtime.tsx +37 -0
- package/src/components/blank-stack-scene.tsx +30 -0
- package/src/components/blank-stack-view.tsx +19 -0
- package/src/components/overlay/helpers/run-overlay-slot-interpolator.ts +0 -4
- package/src/components/overlay/hooks/use-overlay-slot.ts +0 -25
- package/src/components/overlay/variations/overlay-host.tsx +0 -1
- package/src/components/screen-lifecycle/index.tsx +2 -2
- package/src/custom-navigator.ts +25 -0
- package/src/hooks/navigation/use-blank-stack-state.ts +24 -0
- package/src/hooks/navigation/use-navigation-helpers.ts +4 -2
- package/src/hooks/navigation/use-screen-state.ts +1 -1
- package/src/index.ts +0 -1
- package/src/providers/screen/animation/animation.provider.tsx +13 -53
- package/src/providers/screen/animation/helpers/pipeline.ts +14 -26
- package/src/providers/screen/animation/types.ts +0 -11
- package/src/providers/screen/animation/use-screen-animation.tsx +42 -10
- package/src/providers/screen/descriptors/descriptors.provider.tsx +43 -99
- package/src/providers/screen/descriptors/index.tsx +1 -0
- package/src/providers/screen/gestures/gestures.provider.tsx +14 -55
- package/src/providers/screen/gestures/hooks/use-screen-gesture-config.ts +3 -6
- package/src/providers/screen/gestures/hooks/use-screen-gesture.ts +13 -13
- package/src/providers/screen/gestures/index.tsx +0 -2
- package/src/providers/screen/gestures/ownership/gesture-ownership-coordinator.ts +252 -0
- package/src/providers/screen/gestures/ownership/use-gesture-scroll-coordination.ts +23 -0
- package/src/providers/screen/gestures/ownership/use-register-gesture-ownership.ts +73 -0
- package/src/providers/screen/gestures/pan/activation/pan-activation-decision.ts +6 -20
- package/src/providers/screen/gestures/pan/activation/use-pan-activation.ts +5 -5
- package/src/providers/screen/gestures/pan/use-build-pan-gesture.ts +4 -4
- package/src/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +9 -12
- package/src/providers/screen/gestures/shared/policy.ts +0 -8
- package/src/providers/screen/gestures/types.ts +4 -19
- package/src/providers/screen/screen-composer.tsx +18 -29
- package/src/providers/screen/styles/helpers/create-interpolator-scope.ts +2 -21
- package/src/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +0 -29
- package/src/{factories/screen-topology → providers/screen/topology/helpers}/create-screen-topology.ts +97 -53
- package/src/providers/screen/topology/hooks/use-resolved-transition-key.ts +29 -0
- package/src/{factories/screen-topology → providers/screen/topology/hooks}/use-screen-relationships.ts +1 -1
- package/src/providers/screen/topology/index.ts +16 -0
- package/src/providers/screen/topology/topology.provider.tsx +72 -0
- package/src/{factories/screen-topology → providers/screen/topology}/types.ts +7 -1
- package/src/providers/screen/use-current-screen-relationships.ts +1 -1
- package/src/providers/stack/blank-stack-state/helpers/build-blank-stack-state.ts +1 -0
- package/src/providers/stack/blank-stack-state/helpers/state-equality.ts +6 -3
- package/src/providers/stack/stack-transition/index.ts +5 -0
- package/src/providers/stack/stack-transition/stack-transition-controller.ts +341 -0
- package/src/providers/stack/stack-transition/stack-transition.provider.tsx +120 -0
- package/src/providers/stack/stack-transition/use-stack-transition.ts +77 -0
- package/src/types/animation.types.ts +1 -19
- package/src/types/bounds.types.ts +1 -4
- package/src/types/index.ts +0 -1
- package/src/types/ownership.types.ts +1 -26
- package/src/types/screen.types.ts +10 -0
- package/lib/commonjs/factories/screen-topology/create-screen-topology.js +0 -147
- package/lib/commonjs/factories/screen-topology/create-screen-topology.js.map +0 -1
- package/lib/commonjs/factories/screen-topology/index.js.map +0 -1
- package/lib/commonjs/factories/screen-topology/types.js.map +0 -1
- package/lib/commonjs/factories/screen-topology/use-screen-relationships.js.map +0 -1
- package/lib/commonjs/factories/screen-topology/worklet.js +0 -55
- package/lib/commonjs/factories/screen-topology/worklet.js.map +0 -1
- package/lib/commonjs/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +0 -62
- package/lib/commonjs/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +0 -1
- package/lib/commonjs/providers/screen/animation/helpers/read-screen-animation-revisions.js +0 -16
- package/lib/commonjs/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +0 -1
- package/lib/commonjs/providers/screen/gestures/ownership/gesture-ownership-bridge.js +0 -128
- package/lib/commonjs/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +0 -1
- package/lib/commonjs/providers/screen/gestures/ownership/resolve-ownership.js +0 -71
- package/lib/commonjs/providers/screen/gestures/ownership/resolve-ownership.js.map +0 -1
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +0 -54
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +0 -1
- package/lib/commonjs/providers/screen/styles/helpers/collect-interpolator-shared-values.js +0 -50
- package/lib/commonjs/providers/screen/styles/helpers/collect-interpolator-shared-values.js.map +0 -1
- package/lib/commonjs/utils/resolve-chain-target.js +0 -29
- package/lib/commonjs/utils/resolve-chain-target.js.map +0 -1
- package/lib/module/factories/screen-topology/create-screen-topology.js +0 -142
- package/lib/module/factories/screen-topology/create-screen-topology.js.map +0 -1
- package/lib/module/factories/screen-topology/index.js +0 -6
- package/lib/module/factories/screen-topology/index.js.map +0 -1
- package/lib/module/factories/screen-topology/types.js.map +0 -1
- package/lib/module/factories/screen-topology/use-screen-relationships.js.map +0 -1
- package/lib/module/factories/screen-topology/worklet.js +0 -48
- package/lib/module/factories/screen-topology/worklet.js.map +0 -1
- package/lib/module/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +0 -56
- package/lib/module/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +0 -1
- package/lib/module/providers/screen/animation/helpers/read-screen-animation-revisions.js +0 -11
- package/lib/module/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +0 -1
- package/lib/module/providers/screen/gestures/ownership/gesture-ownership-bridge.js +0 -124
- package/lib/module/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +0 -1
- package/lib/module/providers/screen/gestures/ownership/resolve-ownership.js +0 -67
- package/lib/module/providers/screen/gestures/ownership/resolve-ownership.js.map +0 -1
- package/lib/module/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +0 -50
- package/lib/module/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +0 -1
- package/lib/module/providers/screen/styles/helpers/collect-interpolator-shared-values.js +0 -45
- package/lib/module/providers/screen/styles/helpers/collect-interpolator-shared-values.js.map +0 -1
- package/lib/module/utils/resolve-chain-target.js +0 -25
- package/lib/module/utils/resolve-chain-target.js.map +0 -1
- package/lib/typescript/factories/screen-topology/create-screen-topology.d.ts.map +0 -1
- package/lib/typescript/factories/screen-topology/index.d.ts +0 -5
- package/lib/typescript/factories/screen-topology/index.d.ts.map +0 -1
- package/lib/typescript/factories/screen-topology/types.d.ts.map +0 -1
- package/lib/typescript/factories/screen-topology/use-screen-relationships.d.ts.map +0 -1
- package/lib/typescript/factories/screen-topology/worklet.d.ts +0 -5
- package/lib/typescript/factories/screen-topology/worklet.d.ts.map +0 -1
- package/lib/typescript/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts +0 -9
- package/lib/typescript/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +0 -1
- package/lib/typescript/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts +0 -6
- package/lib/typescript/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts.map +0 -1
- package/lib/typescript/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts +0 -3
- package/lib/typescript/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts.map +0 -1
- package/lib/typescript/providers/screen/gestures/ownership/resolve-ownership.d.ts +0 -32
- package/lib/typescript/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +0 -1
- package/lib/typescript/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts +0 -11
- package/lib/typescript/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts.map +0 -1
- package/lib/typescript/providers/screen/styles/helpers/collect-interpolator-shared-values.d.ts +0 -4
- package/lib/typescript/providers/screen/styles/helpers/collect-interpolator-shared-values.d.ts.map +0 -1
- package/lib/typescript/utils/resolve-chain-target.d.ts +0 -11
- package/lib/typescript/utils/resolve-chain-target.d.ts.map +0 -1
- package/src/factories/screen-topology/index.ts +0 -16
- package/src/factories/screen-topology/worklet.ts +0 -60
- package/src/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +0 -96
- package/src/providers/screen/animation/helpers/read-screen-animation-revisions.ts +0 -15
- package/src/providers/screen/gestures/ownership/gesture-ownership-bridge.tsx +0 -173
- package/src/providers/screen/gestures/ownership/resolve-ownership.ts +0 -90
- package/src/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.ts +0 -88
- package/src/providers/screen/styles/helpers/collect-interpolator-shared-values.ts +0 -75
- package/src/utils/resolve-chain-target.ts +0 -33
- /package/lib/commonjs/{factories/screen-topology → providers/screen/topology}/types.js +0 -0
- /package/lib/module/{factories/screen-topology → providers/screen/topology}/types.js +0 -0
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useMemo } from "react";
|
|
4
3
|
import { useAnimatedReaction, useDerivedValue, useSharedValue } from "react-native-reanimated";
|
|
5
4
|
import { NO_STYLES } from "../../../../constants";
|
|
6
5
|
import { AnimationStore } from "../../../../stores/animation.store";
|
|
7
6
|
import { LifecycleTransitionRequestKind, SystemStore } from "../../../../stores/system.store";
|
|
8
7
|
import { logger } from "../../../../utils/logger";
|
|
9
8
|
import { useScreenAnimationStore } from "../../animation";
|
|
10
|
-
import { useBuildTransitionAccessor } from "../../animation/helpers/accessors/use-build-transition-accessor";
|
|
11
|
-
import { readScreenAnimationRevisions } from "../../animation/helpers/read-screen-animation-revisions";
|
|
12
9
|
import { syncSelectedInterpolatorOptions } from "../../animation/helpers/selected-interpolator-options";
|
|
13
10
|
import { useDescriptorsStore } from "../../descriptors";
|
|
14
11
|
import { syncScreenOptionsOverrides, useScreenOptionsStore } from "../../options";
|
|
15
|
-
import { collectInterpolatorSharedValues } from "../helpers/collect-interpolator-shared-values";
|
|
16
12
|
import { createInterpolatorScope } from "../helpers/create-interpolator-scope";
|
|
17
13
|
import { normalizeSlots } from "../helpers/normalize-slots";
|
|
18
14
|
import { resolveInterpolatorStyleHandoff } from "../helpers/resolve-interpolator-style-handoff";
|
|
@@ -33,8 +29,7 @@ const normalizeRawStyleMap = rawStyleMap => {
|
|
|
33
29
|
const runInterpolator = ({
|
|
34
30
|
interpolator,
|
|
35
31
|
props,
|
|
36
|
-
selectedFrame
|
|
37
|
-
transition
|
|
32
|
+
selectedFrame
|
|
38
33
|
}) => {
|
|
39
34
|
"worklet";
|
|
40
35
|
|
|
@@ -44,8 +39,7 @@ const runInterpolator = ({
|
|
|
44
39
|
try {
|
|
45
40
|
const raw = interpolator(createInterpolatorScope({
|
|
46
41
|
frame: props,
|
|
47
|
-
selectedFrame
|
|
48
|
-
transition
|
|
42
|
+
selectedFrame
|
|
49
43
|
}));
|
|
50
44
|
const rawStyleMap = typeof raw === "object" && raw != null ? raw : undefined;
|
|
51
45
|
return {
|
|
@@ -93,12 +87,6 @@ export const useInterpolatedStylesMap = ({
|
|
|
93
87
|
const selectedInterpolatorOptions = useScreenAnimationStore(store => store.selectedInterpolatorOptions);
|
|
94
88
|
const nextInterpolator = useScreenAnimationStore(store => store.nextInterpolator);
|
|
95
89
|
const currentInterpolator = useScreenAnimationStore(store => store.currentInterpolator);
|
|
96
|
-
const transitionSources = useScreenAnimationStore(store => store.transitionSources);
|
|
97
|
-
const transitionOriginIndex = useScreenAnimationStore(store => store.transitionOriginIndex);
|
|
98
|
-
const transition = useBuildTransitionAccessor({
|
|
99
|
-
transitionSources,
|
|
100
|
-
transitionOriginIndex
|
|
101
|
-
});
|
|
102
90
|
const hasCurrentInterpolator = !!currentInterpolator;
|
|
103
91
|
const {
|
|
104
92
|
closing: currentClosing,
|
|
@@ -122,10 +110,6 @@ export const useInterpolatedStylesMap = ({
|
|
|
122
110
|
animationProgress: currentAnimationProgress.get()
|
|
123
111
|
}) ? 1 : 0;
|
|
124
112
|
});
|
|
125
|
-
|
|
126
|
-
// In some cases, a user may want to use external shared values to drive animations in the interpoaltor.
|
|
127
|
-
// We can now support this by collecting those shared values and reading them here to trigger an update.
|
|
128
|
-
const interpolatorSharedValues = useMemo(() => collectInterpolatorSharedValues([currentInterpolator, nextInterpolator]), [currentInterpolator, nextInterpolator]);
|
|
129
113
|
const activeScreenKey = nextScreenKey ?? currentScreenKey;
|
|
130
114
|
const {
|
|
131
115
|
closing: activeClosing,
|
|
@@ -156,9 +140,6 @@ export const useInterpolatedStylesMap = ({
|
|
|
156
140
|
}
|
|
157
141
|
});
|
|
158
142
|
const localStylesMaps = useDerivedValue(() => {
|
|
159
|
-
"worklet";
|
|
160
|
-
|
|
161
|
-
readScreenAnimationRevisions(transitionSources, interpolatorSharedValues);
|
|
162
143
|
const props = screenInterpolatorProps.get();
|
|
163
144
|
const {
|
|
164
145
|
current,
|
|
@@ -205,8 +186,7 @@ export const useInterpolatedStylesMap = ({
|
|
|
205
186
|
const currentResult = runInterpolator({
|
|
206
187
|
interpolator: currentInterpolator,
|
|
207
188
|
props,
|
|
208
|
-
selectedFrame: currentSelectedFrame
|
|
209
|
-
transition
|
|
189
|
+
selectedFrame: currentSelectedFrame
|
|
210
190
|
});
|
|
211
191
|
const initialDestinationStyleGate = resolveInitialDestinationStyleGate({
|
|
212
192
|
shouldPrepareStyles: shouldPrepareInitialDestinationStyles,
|
|
@@ -230,8 +210,7 @@ export const useInterpolatedStylesMap = ({
|
|
|
230
210
|
const nextResult = runInterpolator({
|
|
231
211
|
interpolator: nextInterpolator,
|
|
232
212
|
props,
|
|
233
|
-
selectedFrame: nextSelectedFrame
|
|
234
|
-
transition
|
|
213
|
+
selectedFrame: nextSelectedFrame
|
|
235
214
|
});
|
|
236
215
|
syncSelectedInterpolatorOptions(selectedInterpolatorOptions, "next", nextResult?.rawStyleMap?.options);
|
|
237
216
|
syncScreenOptionsOverrides(undefined, screenOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useAnimatedReaction","useDerivedValue","useSharedValue","NO_STYLES","AnimationStore","LifecycleTransitionRequestKind","SystemStore","logger","useScreenAnimationStore","syncSelectedInterpolatorOptions","useDescriptorsStore","syncScreenOptionsOverrides","useScreenOptionsStore","createInterpolatorScope","normalizeSlots","resolveInterpolatorStyleHandoff","selectInterpolatorFrame","stripInterpolatorOptions","hasCloseTransitionFinished","isOpenTransitionBlocked","isScreenInterpolatorReady","resolveInitialDestinationStyleGate","NO_STYLE_LAYERS","normalizeRawStyleMap","rawStyleMap","stylesMap","runInterpolator","interpolator","props","selectedFrame","undefined","raw","frame","_","__DEV__","warn","useInterpolatedStylesMap","enabled","visibilityBlocked","currentScreenKey","s","derivations","nextScreenKey","destinationPairKey","screenOptions","screenInterpolatorProps","store","selectedInterpolatorOptions","nextInterpolator","currentInterpolator","hasCurrentInterpolator","closing","currentClosing","entering","currentEntering","getBag","animationProgress","currentAnimationProgress","pendingLifecycleRequestKind","currentPendingLifecycleRequestKind","pendingLifecycleStartBlockCount","currentPendingLifecycleStartBlockCount","interpolatorReady","isPendingOpen","get","Open","opening","hasInterpolator","activeScreenKey","activeClosing","activeEntering","activeAnimationProgress","activePendingLifecycleRequestKind","activePendingLifecycleStartBlockCount","isGesturingDuringCloseAnimation","initialDestinationStylesReady","shouldPrepareInitialDestinationStyles","isVisibilityBlocked","styleGate","shouldPrepareStyles","stylesReady","shouldMarkStylesReady","set","localStylesMaps","current","next","isDragging","gesture","dragging","isNextClosing","isInGestureMode","activeOpening","isOpeningBlocked","hasCloseFinished","currentOwnsInterpolator","interpolatorOptionsOwner","currentSelectedFrame","currentResult","initialDestinationStyleGate","shouldWithholdStyles","options","handoff","currentStylesMap","nextStylesMap","length","nextSelectedFrame","nextResult"],"sourceRoot":"../../../../../../src","sources":["providers/screen/styles/hooks/use-interpolated-style-maps.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const EMPTY_RELATIONSHIPS = {
|
|
4
|
+
parentScreenKey: null,
|
|
5
|
+
activeChildScreenKey: null,
|
|
6
|
+
activeChildNavigatorKey: null
|
|
7
|
+
};
|
|
8
|
+
const areRelationshipsEqual = (left, right) => left.parentScreenKey === right.parentScreenKey && left.activeChildScreenKey === right.activeChildScreenKey && left.activeChildNavigatorKey === right.activeChildNavigatorKey;
|
|
9
|
+
export const createScreenTopology = () => {
|
|
10
|
+
const nodes = new Map();
|
|
11
|
+
const screenKeyByTransitionKey = new Map();
|
|
12
|
+
const listenersByScreenKey = new Map();
|
|
13
|
+
const resolutionListeners = new Set();
|
|
14
|
+
const relationshipCache = new Map();
|
|
15
|
+
const getNode = screenKey => nodes.get(screenKey);
|
|
16
|
+
const ensureNode = screenKey => {
|
|
17
|
+
const existing = getNode(screenKey);
|
|
18
|
+
if (existing) return existing;
|
|
19
|
+
const node = {
|
|
20
|
+
registered: false,
|
|
21
|
+
navigatorKey: null,
|
|
22
|
+
parentScreenKey: null,
|
|
23
|
+
activeChildScreenKeys: [],
|
|
24
|
+
transitionKey: null
|
|
25
|
+
};
|
|
26
|
+
nodes.set(screenKey, node);
|
|
27
|
+
return node;
|
|
28
|
+
};
|
|
29
|
+
const removeNodeIfEmpty = screenKey => {
|
|
30
|
+
const node = getNode(screenKey);
|
|
31
|
+
if (node && !node.registered && !node.parentScreenKey && node.activeChildScreenKeys.length === 0) {
|
|
32
|
+
nodes.delete(screenKey);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const getParent = screenKey => getNode(screenKey)?.parentScreenKey ?? null;
|
|
36
|
+
const getActiveChild = screenKey => {
|
|
37
|
+
const children = getNode(screenKey)?.activeChildScreenKeys;
|
|
38
|
+
return children?.[children.length - 1] ?? null;
|
|
39
|
+
};
|
|
40
|
+
const materializeRelationships = screenKey => {
|
|
41
|
+
const parentScreenKey = getParent(screenKey);
|
|
42
|
+
const activeChildScreenKey = getActiveChild(screenKey);
|
|
43
|
+
const activeChildNavigatorKey = activeChildScreenKey ? getNode(activeChildScreenKey)?.navigatorKey ?? null : null;
|
|
44
|
+
if (!parentScreenKey && !activeChildScreenKey) return EMPTY_RELATIONSHIPS;
|
|
45
|
+
return {
|
|
46
|
+
parentScreenKey,
|
|
47
|
+
activeChildScreenKey,
|
|
48
|
+
activeChildNavigatorKey
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
const getRelationships = screenKey => {
|
|
52
|
+
const cached = relationshipCache.get(screenKey);
|
|
53
|
+
if (cached) return cached;
|
|
54
|
+
const relationships = materializeRelationships(screenKey);
|
|
55
|
+
relationshipCache.set(screenKey, relationships);
|
|
56
|
+
return relationships;
|
|
57
|
+
};
|
|
58
|
+
const mutate = (affectedScreenKeys, mutation) => {
|
|
59
|
+
const previousRelationships = new Map();
|
|
60
|
+
for (const screenKey of affectedScreenKeys) {
|
|
61
|
+
if (listenersByScreenKey.has(screenKey)) {
|
|
62
|
+
previousRelationships.set(screenKey, getRelationships(screenKey));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
mutation();
|
|
66
|
+
for (const screenKey of affectedScreenKeys) {
|
|
67
|
+
relationshipCache.delete(screenKey);
|
|
68
|
+
}
|
|
69
|
+
for (const [screenKey, previous] of previousRelationships) {
|
|
70
|
+
const next = getRelationships(screenKey);
|
|
71
|
+
if (areRelationshipsEqual(previous, next)) {
|
|
72
|
+
relationshipCache.set(screenKey, previous);
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
for (const listener of listenersByScreenKey.get(screenKey) ?? []) {
|
|
76
|
+
listener();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
for (const listener of resolutionListeners) listener();
|
|
80
|
+
};
|
|
81
|
+
const register = ({
|
|
82
|
+
screenKey,
|
|
83
|
+
navigatorKey,
|
|
84
|
+
parentScreenKey,
|
|
85
|
+
transitionKey
|
|
86
|
+
}) => {
|
|
87
|
+
const transitionKeyOwner = transitionKey ? screenKeyByTransitionKey.get(transitionKey) : undefined;
|
|
88
|
+
if (transitionKeyOwner && transitionKeyOwner !== screenKey) {
|
|
89
|
+
throw new Error(`Transition key "${transitionKey}" is already registered by screen "${transitionKeyOwner}".`);
|
|
90
|
+
}
|
|
91
|
+
mutate(new Set([screenKey]), () => {
|
|
92
|
+
const node = ensureNode(screenKey);
|
|
93
|
+
if (node.transitionKey && node.transitionKey !== transitionKey && screenKeyByTransitionKey.get(node.transitionKey) === screenKey) {
|
|
94
|
+
screenKeyByTransitionKey.delete(node.transitionKey);
|
|
95
|
+
}
|
|
96
|
+
node.registered = true;
|
|
97
|
+
node.navigatorKey = navigatorKey ?? null;
|
|
98
|
+
node.parentScreenKey = parentScreenKey ?? null;
|
|
99
|
+
node.transitionKey = transitionKey ?? null;
|
|
100
|
+
if (transitionKey) screenKeyByTransitionKey.set(transitionKey, screenKey);
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
const unregister = screenKey => {
|
|
104
|
+
const node = getNode(screenKey);
|
|
105
|
+
if (!node) return;
|
|
106
|
+
const affectedScreenKeys = new Set([screenKey]);
|
|
107
|
+
if (node.parentScreenKey) affectedScreenKeys.add(node.parentScreenKey);
|
|
108
|
+
mutate(affectedScreenKeys, () => {
|
|
109
|
+
if (node.transitionKey && screenKeyByTransitionKey.get(node.transitionKey) === screenKey) {
|
|
110
|
+
screenKeyByTransitionKey.delete(node.transitionKey);
|
|
111
|
+
}
|
|
112
|
+
if (node.parentScreenKey) {
|
|
113
|
+
const parent = getNode(node.parentScreenKey);
|
|
114
|
+
if (parent) {
|
|
115
|
+
parent.activeChildScreenKeys = parent.activeChildScreenKeys.filter(childScreenKey => childScreenKey !== screenKey);
|
|
116
|
+
}
|
|
117
|
+
removeNodeIfEmpty(node.parentScreenKey);
|
|
118
|
+
}
|
|
119
|
+
nodes.delete(screenKey);
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
const activate = ({
|
|
123
|
+
screenKey,
|
|
124
|
+
parentScreenKey
|
|
125
|
+
}) => {
|
|
126
|
+
if (getParent(screenKey) !== parentScreenKey) {
|
|
127
|
+
throw new Error("Screen topology can only activate a direct containment child.");
|
|
128
|
+
}
|
|
129
|
+
mutate(new Set([parentScreenKey]), () => {
|
|
130
|
+
const parent = ensureNode(parentScreenKey);
|
|
131
|
+
// A closing screen remains the active owner until it unmounts.
|
|
132
|
+
if (parent.activeChildScreenKeys.includes(screenKey)) return;
|
|
133
|
+
parent.activeChildScreenKeys.push(screenKey);
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
const resolve = (screenKey, depth) => {
|
|
137
|
+
if (!Number.isInteger(depth)) return null;
|
|
138
|
+
let resolvedScreenKey = screenKey;
|
|
139
|
+
for (let step = 0; step < Math.abs(depth); step += 1) {
|
|
140
|
+
resolvedScreenKey = depth < 0 ? getParent(resolvedScreenKey) : getActiveChild(resolvedScreenKey);
|
|
141
|
+
if (!resolvedScreenKey) return null;
|
|
142
|
+
}
|
|
143
|
+
return getNode(resolvedScreenKey)?.registered ? resolvedScreenKey : null;
|
|
144
|
+
};
|
|
145
|
+
return {
|
|
146
|
+
register,
|
|
147
|
+
unregister,
|
|
148
|
+
activate,
|
|
149
|
+
getRelationships,
|
|
150
|
+
resolve,
|
|
151
|
+
resolveTransitionKey: key => {
|
|
152
|
+
const screenKey = screenKeyByTransitionKey.get(key) ?? key;
|
|
153
|
+
return getNode(screenKey)?.registered ? screenKey : null;
|
|
154
|
+
},
|
|
155
|
+
subscribe: (screenKey, listener) => {
|
|
156
|
+
const listeners = listenersByScreenKey.get(screenKey) ?? new Set();
|
|
157
|
+
listeners.add(listener);
|
|
158
|
+
listenersByScreenKey.set(screenKey, listeners);
|
|
159
|
+
return () => {
|
|
160
|
+
listeners.delete(listener);
|
|
161
|
+
if (listeners.size === 0) listenersByScreenKey.delete(screenKey);
|
|
162
|
+
};
|
|
163
|
+
},
|
|
164
|
+
subscribeResolution: listener => {
|
|
165
|
+
resolutionListeners.add(listener);
|
|
166
|
+
return () => resolutionListeners.delete(listener);
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
export const screenTopology = createScreenTopology();
|
|
171
|
+
//# sourceMappingURL=create-screen-topology.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EMPTY_RELATIONSHIPS","parentScreenKey","activeChildScreenKey","activeChildNavigatorKey","areRelationshipsEqual","left","right","createScreenTopology","nodes","Map","screenKeyByTransitionKey","listenersByScreenKey","resolutionListeners","Set","relationshipCache","getNode","screenKey","get","ensureNode","existing","node","registered","navigatorKey","activeChildScreenKeys","transitionKey","set","removeNodeIfEmpty","length","delete","getParent","getActiveChild","children","materializeRelationships","getRelationships","cached","relationships","mutate","affectedScreenKeys","mutation","previousRelationships","has","previous","next","listener","register","transitionKeyOwner","undefined","Error","unregister","add","parent","filter","childScreenKey","activate","includes","push","resolve","depth","Number","isInteger","resolvedScreenKey","step","Math","abs","resolveTransitionKey","key","subscribe","listeners","size","subscribeResolution","screenTopology"],"sourceRoot":"../../../../../../src","sources":["providers/screen/topology/helpers/create-screen-topology.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useSyncExternalStore } from "react";
|
|
4
|
+
import { screenTopology } from "../helpers/create-screen-topology";
|
|
5
|
+
export const useResolvedTransitionKey = (screenKey, target) => {
|
|
6
|
+
const depth = typeof target === "string" ? null : target?.depth ?? 0;
|
|
7
|
+
const requiresResolution = typeof target === "string" || depth !== 0;
|
|
8
|
+
const subscribe = useCallback(listener => requiresResolution ? screenTopology.subscribeResolution(listener) : () => {}, [requiresResolution]);
|
|
9
|
+
const getSnapshot = useCallback(() => typeof target === "string" ? screenTopology.resolveTransitionKey(target) : requiresResolution && screenKey ? screenTopology.resolve(screenKey, depth ?? 0) : screenKey, [depth, requiresResolution, screenKey, target]);
|
|
10
|
+
return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=use-resolved-transition-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useSyncExternalStore","screenTopology","useResolvedTransitionKey","screenKey","target","depth","requiresResolution","subscribe","listener","subscribeResolution","getSnapshot","resolveTransitionKey","resolve"],"sourceRoot":"../../../../../../src","sources":["providers/screen/topology/hooks/use-resolved-transition-key.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AAEzD,SAASC,cAAc,QAAQ,mCAAmC;AAElE,OAAO,MAAMC,wBAAwB,GAAGA,CACvCC,SAAwB,EACxBC,MAA+B,KAC3B;EACJ,MAAMC,KAAK,GAAG,OAAOD,MAAM,KAAK,QAAQ,GAAG,IAAI,GAAIA,MAAM,EAAEC,KAAK,IAAI,CAAE;EACtE,MAAMC,kBAAkB,GAAG,OAAOF,MAAM,KAAK,QAAQ,IAAIC,KAAK,KAAK,CAAC;EACpE,MAAME,SAAS,GAAGR,WAAW,CAC3BS,QAAoB,IACpBF,kBAAkB,GACfL,cAAc,CAACQ,mBAAmB,CAACD,QAAQ,CAAC,GAC5C,MAAM,CAAC,CAAC,EACZ,CAACF,kBAAkB,CACpB,CAAC;EACD,MAAMI,WAAW,GAAGX,WAAW,CAC9B,MACC,OAAOK,MAAM,KAAK,QAAQ,GACvBH,cAAc,CAACU,oBAAoB,CAACP,MAAM,CAAC,GAC3CE,kBAAkB,IAAIH,SAAS,GAC9BF,cAAc,CAACW,OAAO,CAACT,SAAS,EAAEE,KAAK,IAAI,CAAC,CAAC,GAC7CF,SAAS,EACd,CAACE,KAAK,EAAEC,kBAAkB,EAAEH,SAAS,EAAEC,MAAM,CAC9C,CAAC;EAED,OAAOJ,oBAAoB,CAACO,SAAS,EAAEG,WAAW,EAAEA,WAAW,CAAC;AACjE,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useCallback, useSyncExternalStore } from "react";
|
|
4
|
-
import { screenTopology } from "
|
|
4
|
+
import { screenTopology } from "../helpers/create-screen-topology";
|
|
5
5
|
export const useScreenRelationships = screenKey => {
|
|
6
6
|
const subscribe = useCallback(listener => screenTopology.subscribe(screenKey, listener), [screenKey]);
|
|
7
7
|
const getSnapshot = useCallback(() => screenTopology.getRelationships(screenKey), [screenKey]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useSyncExternalStore","screenTopology","useScreenRelationships","screenKey","subscribe","listener","getSnapshot","getRelationships"],"sourceRoot":"../../../../../../src","sources":["providers/screen/topology/hooks/use-screen-relationships.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AACzD,SAASC,cAAc,QAAQ,mCAAmC;AAElE,OAAO,MAAMC,sBAAsB,GAAIC,SAAiB,IAAK;EAC5D,MAAMC,SAAS,GAAGL,WAAW,CAC3BM,QAAoB,IAAKJ,cAAc,CAACG,SAAS,CAACD,SAAS,EAAEE,QAAQ,CAAC,EACvE,CAACF,SAAS,CACX,CAAC;EACD,MAAMG,WAAW,GAAGP,WAAW,CAC9B,MAAME,cAAc,CAACM,gBAAgB,CAACJ,SAAS,CAAC,EAChD,CAACA,SAAS,CACX,CAAC;EAED,OAAOH,oBAAoB,CAACI,SAAS,EAAEE,WAAW,EAAEA,WAAW,CAAC;AACjE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export { createScreenTopology, screenTopology } from "./helpers/create-screen-topology";
|
|
4
|
+
export { useResolvedTransitionKey } from "./hooks/use-resolved-transition-key";
|
|
5
|
+
export { useScreenRelationships } from "./hooks/use-screen-relationships";
|
|
6
|
+
export { ScreenTopologyProvider, useScreenTopologyStore } from "./topology.provider";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createScreenTopology","screenTopology","useResolvedTransitionKey","useScreenRelationships","ScreenTopologyProvider","useScreenTopologyStore"],"sourceRoot":"../../../../../src","sources":["providers/screen/topology/index.ts"],"mappings":";;AAAA,SACCA,oBAAoB,EACpBC,cAAc,QACR,kCAAkC;AACzC,SAASC,wBAAwB,QAAQ,qCAAqC;AAC9E,SAASC,sBAAsB,QAAQ,kCAAkC;AACzE,SACCC,sBAAsB,EACtBC,sBAAsB,QAChB,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useLayoutEffect, useMemo } from "react";
|
|
4
|
+
import createProvider from "../../../utils/create-provider";
|
|
5
|
+
import { useBlankStackStore } from "../../stack/blank-stack.provider";
|
|
6
|
+
import { useDescriptorsStore } from "../descriptors";
|
|
7
|
+
import { screenTopology } from "./helpers/create-screen-topology";
|
|
8
|
+
const {
|
|
9
|
+
ScreenTopologyProvider,
|
|
10
|
+
useOptionalScreenTopologyStore,
|
|
11
|
+
useScreenTopologyStore
|
|
12
|
+
} = createProvider("ScreenTopology")(({
|
|
13
|
+
children
|
|
14
|
+
}) => {
|
|
15
|
+
const screenKey = useDescriptorsStore(store => store.derivations.currentScreenKey);
|
|
16
|
+
const transitionKey = useDescriptorsStore(store => store.options.transitionKey);
|
|
17
|
+
const parentScreenKey = useOptionalScreenTopologyStore(store => store?.screenKey);
|
|
18
|
+
const navigatorKey = useBlankStackStore(store => store.navigatorKey);
|
|
19
|
+
const isActiveScreen = useBlankStackStore(store => {
|
|
20
|
+
const focusedScene = store.scenes[store.focusedIndex];
|
|
21
|
+
return focusedScene?.route.key === screenKey && focusedScene.activity === "active";
|
|
22
|
+
});
|
|
23
|
+
useLayoutEffect(() => {
|
|
24
|
+
screenTopology.register({
|
|
25
|
+
screenKey,
|
|
26
|
+
navigatorKey,
|
|
27
|
+
parentScreenKey,
|
|
28
|
+
transitionKey
|
|
29
|
+
});
|
|
30
|
+
}, [screenKey, navigatorKey, parentScreenKey, transitionKey]);
|
|
31
|
+
useLayoutEffect(() => {
|
|
32
|
+
if (!isActiveScreen || !parentScreenKey) return;
|
|
33
|
+
screenTopology.activate({
|
|
34
|
+
screenKey,
|
|
35
|
+
parentScreenKey
|
|
36
|
+
});
|
|
37
|
+
}, [isActiveScreen, parentScreenKey, screenKey]);
|
|
38
|
+
useLayoutEffect(() => () => {
|
|
39
|
+
screenTopology.unregister(screenKey);
|
|
40
|
+
}, [screenKey]);
|
|
41
|
+
const value = useMemo(() => ({
|
|
42
|
+
screenKey
|
|
43
|
+
}), [screenKey]);
|
|
44
|
+
return {
|
|
45
|
+
value,
|
|
46
|
+
children
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
export { ScreenTopologyProvider, useScreenTopologyStore };
|
|
50
|
+
//# sourceMappingURL=topology.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useLayoutEffect","useMemo","createProvider","useBlankStackStore","useDescriptorsStore","screenTopology","ScreenTopologyProvider","useOptionalScreenTopologyStore","useScreenTopologyStore","children","screenKey","store","derivations","currentScreenKey","transitionKey","options","parentScreenKey","navigatorKey","isActiveScreen","focusedScene","scenes","focusedIndex","route","key","activity","register","activate","unregister","value"],"sourceRoot":"../../../../../src","sources":["providers/screen/topology/topology.provider.tsx"],"mappings":";;AAAA,SAAyBA,eAAe,EAAEC,OAAO,QAAQ,OAAO;AAChE,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,cAAc,QAAQ,kCAAkC;AAUjE,MAAM;EACLC,sBAAsB;EACtBC,8BAA8B;EAC9BC;AACD,CAAC,GAAGN,cAAc,CAAC,gBAAgB,CAAC,CACnC,CAAC;EAAEO;AAAS,CAAC,KAAK;EACjB,MAAMC,SAAS,GAAGN,mBAAmB,CACnCO,KAAK,IAAKA,KAAK,CAACC,WAAW,CAACC,gBAC9B,CAAC;EACD,MAAMC,aAAa,GAAGV,mBAAmB,CACvCO,KAAK,IAAKA,KAAK,CAACI,OAAO,CAACD,aAC1B,CAAC;EACD,MAAME,eAAe,GAAGT,8BAA8B,CACpDI,KAAK,IAAKA,KAAK,EAAED,SACnB,CAAC;EACD,MAAMO,YAAY,GAAGd,kBAAkB,CAAEQ,KAAK,IAAKA,KAAK,CAACM,YAAY,CAAC;EACtE,MAAMC,cAAc,GAAGf,kBAAkB,CAAEQ,KAAK,IAAK;IACpD,MAAMQ,YAAY,GAAGR,KAAK,CAACS,MAAM,CAACT,KAAK,CAACU,YAAY,CAAC;IACrD,OACCF,YAAY,EAAEG,KAAK,CAACC,GAAG,KAAKb,SAAS,IACrCS,YAAY,CAACK,QAAQ,KAAK,QAAQ;EAEpC,CAAC,CAAC;EACFxB,eAAe,CAAC,MAAM;IACrBK,cAAc,CAACoB,QAAQ,CAAC;MACvBf,SAAS;MACTO,YAAY;MACZD,eAAe;MACfF;IACD,CAAC,CAAC;EACH,CAAC,EAAE,CAACJ,SAAS,EAAEO,YAAY,EAAED,eAAe,EAAEF,aAAa,CAAC,CAAC;EAE7Dd,eAAe,CAAC,MAAM;IACrB,IAAI,CAACkB,cAAc,IAAI,CAACF,eAAe,EAAE;IAEzCX,cAAc,CAACqB,QAAQ,CAAC;MACvBhB,SAAS;MACTM;IACD,CAAC,CAAC;EACH,CAAC,EAAE,CAACE,cAAc,EAAEF,eAAe,EAAEN,SAAS,CAAC,CAAC;EAEhDV,eAAe,CACd,MAAM,MAAM;IACXK,cAAc,CAACsB,UAAU,CAACjB,SAAS,CAAC;EACrC,CAAC,EACD,CAACA,SAAS,CACX,CAAC;EAED,MAAMkB,KAAK,GAAG3B,OAAO,CAAC,OAAO;IAAES;EAAU,CAAC,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEzD,OAAO;IACNkB,KAAK;IACLnB;EACD,CAAC;AACF,CACD,CAAC;AAED,SAASH,sBAAsB,EAAEE,sBAAsB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["providers/screen/topology/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useScreenRelationships } from "../../factories/screen-topology";
|
|
4
3
|
import { useDescriptorsStore } from "./descriptors";
|
|
4
|
+
import { useScreenRelationships } from "./topology";
|
|
5
5
|
export const useCurrentScreenRelationships = () => {
|
|
6
6
|
const screenKey = useDescriptorsStore(store => store.derivations.currentScreenKey);
|
|
7
7
|
return useScreenRelationships(screenKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useDescriptorsStore","useScreenRelationships","useCurrentScreenRelationships","screenKey","store","derivations","currentScreenKey"],"sourceRoot":"../../../../src","sources":["providers/screen/use-current-screen-relationships.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,eAAe;AACnD,SAASC,sBAAsB,QAAQ,YAAY;AAEnD,OAAO,MAAMC,6BAA6B,GAAGA,CAAA,KAAM;EAClD,MAAMC,SAAS,GAAGH,mBAAmB,CACnCI,KAAK,IAAKA,KAAK,CAACC,WAAW,CAACC,gBAC9B,CAAC;EAED,OAAOL,sBAAsB,CAACE,SAAS,CAAC;AACzC,CAAC","ignoreList":[]}
|
|
@@ -94,7 +94,7 @@ const buildBaseScenes = ({
|
|
|
94
94
|
});
|
|
95
95
|
const previousDescriptor = previousState?.descriptors[route.key];
|
|
96
96
|
const descriptorRoute = previousDescriptor && childStateUnchanged && areRecordsShallowEqual(previousDescriptor.route, route) ? previousDescriptor.route : route;
|
|
97
|
-
const descriptor = previousDescriptor && childStateUnchanged && previousDescriptor.route === descriptorRoute && previousDescriptor.navigation === props.navigation && previousDescriptor.options === sourceDescriptor.options ? previousDescriptor : {
|
|
97
|
+
const descriptor = previousDescriptor && childStateUnchanged && previousDescriptor.route === descriptorRoute && previousDescriptor.navigation === props.navigation && previousDescriptor.render === sourceDescriptor.render && previousDescriptor.options === sourceDescriptor.options ? previousDescriptor : {
|
|
98
98
|
route: descriptorRoute,
|
|
99
99
|
navigation: props.navigation,
|
|
100
100
|
options: sourceDescriptor.options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isOverlayVisible","resolveSceneNeighbors","areDescriptorSourcesEquivalent","areDescriptorsEqual","areRecordsShallowEqual","areRouteChildStateMapsEqual","getRouteChildState","routeKeyListsAreEqual","setsAreEqual","resolveStableDescriptorSource","routeKey","sourceDescriptor","previousState","previousSourceDescriptor","sourceDescriptors","getSceneActivity","activeIndex","inertIndex","isClosing","sceneIndex","getNonClosingSceneIndices","routes","closingRouteKeys","indices","index","length","route","has","key","push","getSceneActivityWindow","props","nonClosingIndices","topNonClosingIndex","hasClosingRouteAboveActive","focusedRouteKey","state","some","Error","buildBaseScenes","descriptors","activityWindow","routeKeys","scenes","routeChildStates","blankStackDescriptors","shouldShowFloatOverlay","rawSourceDescriptor","routeChildState","childStateUnchanged","Object","is","activity","previousDescriptor","descriptorRoute","descriptor","navigation","
|
|
1
|
+
{"version":3,"names":["isOverlayVisible","resolveSceneNeighbors","areDescriptorSourcesEquivalent","areDescriptorsEqual","areRecordsShallowEqual","areRouteChildStateMapsEqual","getRouteChildState","routeKeyListsAreEqual","setsAreEqual","resolveStableDescriptorSource","routeKey","sourceDescriptor","previousState","previousSourceDescriptor","sourceDescriptors","getSceneActivity","activeIndex","inertIndex","isClosing","sceneIndex","getNonClosingSceneIndices","routes","closingRouteKeys","indices","index","length","route","has","key","push","getSceneActivityWindow","props","nonClosingIndices","topNonClosingIndex","hasClosingRouteAboveActive","focusedRouteKey","state","some","Error","buildBaseScenes","descriptors","activityWindow","routeKeys","scenes","routeChildStates","blankStackDescriptors","shouldShowFloatOverlay","rawSourceDescriptor","routeChildState","childStateUnchanged","Object","is","activity","previousDescriptor","descriptorRoute","descriptor","navigation","render","options","withSceneRelationships","isRouteClosing","closingRouteOrder","Map","Array","from","previousScenesByRouteKey","map","scene","undefined","reusedEveryScene","relationshipScenes","nextScenes","nextDescriptor","get","nextScene","previousScene","buildBlankStackState","params","baseScenes","Set"],"sourceRoot":"../../../../../../src","sources":["providers/stack/blank-stack-state/helpers/build-blank-stack-state.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -65,7 +65,7 @@ export const areRecordsShallowEqual = (a, b) => {
|
|
|
65
65
|
return aKeys.every(key => Object.is(a[key], b[key]));
|
|
66
66
|
};
|
|
67
67
|
export const areDescriptorSourcesEquivalent = (previous, next) => {
|
|
68
|
-
return areRecordsShallowEqual(previous.options, next.options);
|
|
68
|
+
return previous.render === next.render && areRecordsShallowEqual(previous.options, next.options);
|
|
69
69
|
};
|
|
70
70
|
export const areDescriptorSourceMapsEquivalent = (previous, next) => {
|
|
71
71
|
if (previous === next) return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["areDescriptorsEqual","a","b","aKeys","Object","keys","bKeys","length","every","key","setsAreEqual","left","right","size","value","has","routeKeyListsAreEqual","index","routesHaveSameKeys","route","routesAreShallowlyEqual","previous","next","areRecordsShallowEqual","getRouteChildState","undefined","childStateSymbol","getOwnPropertySymbols","find","symbol","description","state","getRouteChildStateMap","routes","childStates","areRouteChildStateMapsEqual","previousKeys","nextKeys","is","areDescriptorSourcesEquivalent","options","areDescriptorSourceMapsEquivalent","previousDescriptor","nextDescriptor"],"sourceRoot":"../../../../../../src","sources":["providers/stack/blank-stack-state/helpers/state-equality.ts"],"mappings":";;AAMA,OAAO,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;AAED,OAAO,MAAMC,YAAY,GAAGA,CAC3BC,IAAoB,EACpBC,KAAqB,KACjB;EACJ,IAAID,IAAI,CAACE,IAAI,KAAKD,KAAK,CAACC,IAAI,EAAE;IAC7B,OAAO,KAAK;EACb;EAEA,KAAK,MAAMC,KAAK,IAAIH,IAAI,EAAE;IACzB,IAAI,CAACC,KAAK,CAACG,GAAG,CAACD,KAAK,CAAC,EAAE;MACtB,OAAO,KAAK;IACb;EACD;EAEA,OAAO,IAAI;AACZ,CAAC;AAED,OAAO,MAAME,qBAAqB,GAAGA,CACpCf,CAAoB,EACpBC,CAAoB,KACP;EACb,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EACxB,IAAID,CAAC,CAACM,MAAM,KAAKL,CAAC,CAACK,MAAM,EAAE,OAAO,KAAK;EAEvC,OAAON,CAAC,CAACO,KAAK,CAAC,CAACC,GAAG,EAAEQ,KAAK,KAAKR,GAAG,KAAKP,CAAC,CAACe,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CACjCjB,CAAmB,EACnBC,CAAmB,KACN;EACb,IAAID,CAAC,CAACM,MAAM,KAAKL,CAAC,CAACK,MAAM,EAAE,OAAO,KAAK;EAEvC,OAAON,CAAC,CAACO,KAAK,CAAC,CAACW,KAAK,EAAEF,KAAK,KAAKE,KAAK,CAACV,GAAG,KAAKP,CAAC,CAACe,KAAK,CAAC,EAAER,GAAG,CAAC;AAC9D,CAAC;AAED,OAAO,MAAMW,uBAAuB,GAAGA,CACtCC,QAA0B,EAC1BC,IAAsB,KACT;EACb,IAAI,CAACJ,kBAAkB,CAACG,QAAQ,EAAEC,IAAI,CAAC,EAAE;IACxC,OAAO,KAAK;EACb;EAEA,OAAOD,QAAQ,CAACb,KAAK,CAAC,CAACW,KAAK,EAAEF,KAAK,KAClCM,sBAAsB,CACrBJ,KAAK,EACLG,IAAI,CAACL,KAAK,CACX,CACD,CAAC;AACF,CAAC;AAED,OAAO,MAAMO,kBAAkB,GAAIL,KAAmB,IAAc;EACnE,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACxC,OAAOM,SAAS;EACjB;EAEA,MAAMC,gBAAgB,GAAGtB,MAAM,CAACuB,qBAAqB,CAACR,KAAK,CAAC,CAACS,IAAI,CAC/DC,MAAM,IAAKA,MAAM,CAACC,WAAW,KAAK,aACpC,CAAC;EAED,IAAIJ,gBAAgB,IAAIA,gBAAgB,IAAIP,KAAK,EAAE;IAClD,OAAQA,KAAK,CAAwCO,gBAAgB,CAAC;EACvE;EAEA,OAAQP,KAAK,CAAyBY,KAAK;AAC5C,CAAC;AAED,OAAO,MAAMC,qBAAqB,GACjCC,MAAe,IACc;EAC7B,MAAMC,WAAoC,GAAG,CAAC,CAAC;EAE/C,KAAK,MAAMf,KAAK,IAAIc,MAAM,EAAE;IAC3BC,WAAW,CAACf,KAAK,CAACV,GAAG,CAAC,GAAGe,kBAAkB,CAACL,KAAK,CAAC;EACnD;EAEA,OAAOe,WAAW;AACnB,CAAC;AAED,OAAO,MAAMC,2BAA2B,GAAGA,CAC1Cd,QAAiC,EACjCC,IAA6B,KAChB;EACb,IAAID,QAAQ,KAAKC,IAAI,EAAE,OAAO,IAAI;EAElC,MAAMc,YAAY,GAAGhC,MAAM,CAACC,IAAI,CAACgB,QAAQ,CAAC;EAC1C,MAAMgB,QAAQ,GAAGjC,MAAM,CAACC,IAAI,CAACiB,IAAI,CAAC;EAElC,IAAIc,YAAY,CAAC7B,MAAM,KAAK8B,QAAQ,CAAC9B,MAAM,EAAE,OAAO,KAAK;EAEzD,OAAO6B,YAAY,CAAC5B,KAAK,CAAEC,GAAG,IAAKL,MAAM,CAACkC,EAAE,CAACjB,QAAQ,CAACZ,GAAG,CAAC,EAAEa,IAAI,CAACb,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,OAAO,MAAMc,sBAAsB,GAAGA,CACrCtB,CAA0B,EAC1BC,CAA0B,KACb;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,IAAKL,MAAM,CAACkC,EAAE,CAACrC,CAAC,CAACQ,GAAG,CAAC,EAAEP,CAAC,CAACO,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,OAAO,MAAM8B,8BAA8B,GAAGA,CAC7ClB,QAAoC,EACpCC,IAAgC,KACnB;EACb,
|
|
1
|
+
{"version":3,"names":["areDescriptorsEqual","a","b","aKeys","Object","keys","bKeys","length","every","key","setsAreEqual","left","right","size","value","has","routeKeyListsAreEqual","index","routesHaveSameKeys","route","routesAreShallowlyEqual","previous","next","areRecordsShallowEqual","getRouteChildState","undefined","childStateSymbol","getOwnPropertySymbols","find","symbol","description","state","getRouteChildStateMap","routes","childStates","areRouteChildStateMapsEqual","previousKeys","nextKeys","is","areDescriptorSourcesEquivalent","render","options","areDescriptorSourceMapsEquivalent","previousDescriptor","nextDescriptor"],"sourceRoot":"../../../../../../src","sources":["providers/stack/blank-stack-state/helpers/state-equality.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StackTransitionProvider","useStackTransition"],"sourceRoot":"../../../../../src","sources":["providers/stack/stack-transition/index.ts"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,6BAA6B;AACrE,SAECC,kBAAkB,QACZ,wBAAwB","ignoreList":[]}
|