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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSharedValue","useSafeAreaInsets","createScreenTransitionState","DEFAULT_SCREEN_TRANSITION_STATE","AnimationStore","useBlankStackStore","useStackCoreStore","useDescriptorsStore","buildScreenTransitionOptions","updateDerivations","hasTransitionsEnabled","hydrateTransitionState","readStackProgress","useBuildTransitionState","toPlainRoute","toPlainValue","getInitialSettledProgress","descriptor","snapPoints","initialSnapIndex","options","length","clampedIndex","Math","min","max","snapPoint","applyInitialProgress","state","dimensions","progress","entering","closing","animating","willAnimate","settled","transitionProgress","layouts","screen","createInitialTransitionState","meta","undefined","route","createInitialInterpolatorProps","insets","currentDescriptor","nextDescriptor","prevDescriptor","hasIncomingNext","isFocusedEntering","shouldAnimateInitialMount","experimental_animateOnInitialMount","currentProgress","currentEntering","current","previous","next","frame","stackProgress","focused","active","inactive","hydrateInterpolatorFrame","currentAnimation","nextAnimation","prevAnimation","nextHasTransitions","interpolatorOptions","stackProgressEntries","currentRouteKey","shouldApplyOptionsToCurrent","owner","shouldApplyOptionsToNext","useScreenAnimationPipeline","transitionsAlwaysOn","store","flags","TRANSITIONS_ALWAYS_ON","routeKeys","map","routeKey","visualProgress","getValue","currDescriptor","key","nextRouteKey","initialInterpolatorProps","
|
|
1
|
+
{"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSharedValue","useSafeAreaInsets","createScreenTransitionState","DEFAULT_SCREEN_TRANSITION_STATE","AnimationStore","useBlankStackStore","useStackCoreStore","useDescriptorsStore","buildScreenTransitionOptions","updateDerivations","hasTransitionsEnabled","hydrateTransitionState","readStackProgress","useBuildTransitionState","toPlainRoute","toPlainValue","getInitialSettledProgress","descriptor","snapPoints","initialSnapIndex","options","length","clampedIndex","Math","min","max","snapPoint","applyInitialProgress","state","dimensions","progress","entering","closing","animating","willAnimate","settled","transitionProgress","layouts","screen","createInitialTransitionState","meta","undefined","route","createInitialInterpolatorProps","insets","currentDescriptor","nextDescriptor","prevDescriptor","hasIncomingNext","isFocusedEntering","shouldAnimateInitialMount","experimental_animateOnInitialMount","currentProgress","currentEntering","current","previous","next","frame","stackProgress","focused","active","inactive","hydrateInterpolatorFrame","currentAnimation","nextAnimation","prevAnimation","nextHasTransitions","interpolatorOptions","stackProgressEntries","currentRouteKey","shouldApplyOptionsToCurrent","owner","shouldApplyOptionsToNext","useScreenAnimationPipeline","transitionsAlwaysOn","store","flags","TRANSITIONS_ALWAYS_ON","routeKeys","map","routeKey","visualProgress","getValue","currDescriptor","descriptors","key","nextRouteKey","initialInterpolatorProps","selectedInterpolatorOptions","screenInterpolatorProps","get","nextInterpolator","screenStyleInterpolator","currentInterpolator"],"sourceRoot":"../../../../../../src","sources":["providers/screen/animation/helpers/pipeline.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useDerivedValue } from "react-native-reanimated";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { useOptionalDescriptorsStore } from "../descriptors";
|
|
5
|
+
import { useResolvedTransitionKey } from "../topology";
|
|
6
|
+
import { useOptionalScreenAnimationStore, useScreenAnimationStore } from "./animation.provider";
|
|
7
7
|
export function useScreenAnimation(target) {
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const
|
|
8
|
+
const currentKey = useOptionalDescriptorsStore(store => store?.derivations.currentScreenKey ?? null);
|
|
9
|
+
const localInterpolatorProps = useScreenAnimationStore(store => store.screenInterpolatorProps);
|
|
10
|
+
const localBoundsAccessor = useScreenAnimationStore(store => store.boundsAccessor);
|
|
11
|
+
const usesLocalStore = target === undefined || typeof target === "object" && target.depth === 0;
|
|
12
|
+
const screenKey = useResolvedTransitionKey(currentKey, target);
|
|
13
|
+
const keyedInterpolatorProps = useOptionalScreenAnimationStore(usesLocalStore ? null : screenKey, store => store.screenInterpolatorProps);
|
|
14
|
+
const keyedBoundsAccessor = useOptionalScreenAnimationStore(usesLocalStore ? null : screenKey, store => store.boundsAccessor);
|
|
15
|
+
const screenInterpolatorProps = usesLocalStore ? localInterpolatorProps : keyedInterpolatorProps;
|
|
16
|
+
const boundsAccessor = usesLocalStore ? localBoundsAccessor : keyedBoundsAccessor;
|
|
14
17
|
const animation = useDerivedValue(() => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
if (!screenInterpolatorProps || !boundsAccessor) return null;
|
|
19
|
+
return {
|
|
20
|
+
...screenInterpolatorProps.get(),
|
|
21
|
+
bounds: boundsAccessor
|
|
22
|
+
};
|
|
19
23
|
});
|
|
20
24
|
return animation;
|
|
21
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useDerivedValue","
|
|
1
|
+
{"version":3,"names":["useDerivedValue","useOptionalDescriptorsStore","useResolvedTransitionKey","useOptionalScreenAnimationStore","useScreenAnimationStore","useScreenAnimation","target","currentKey","store","derivations","currentScreenKey","localInterpolatorProps","screenInterpolatorProps","localBoundsAccessor","boundsAccessor","usesLocalStore","undefined","depth","screenKey","keyedInterpolatorProps","keyedBoundsAccessor","animation","get","bounds"],"sourceRoot":"../../../../../src","sources":["providers/screen/animation/use-screen-animation.tsx"],"mappings":";;AAAA,SAA4BA,eAAe,QAAQ,yBAAyB;AAK5E,SAASC,2BAA2B,QAAQ,gBAAgB;AAC5D,SAASC,wBAAwB,QAAQ,aAAa;AACtD,SACCC,+BAA+B,EAC/BC,uBAAuB,QACjB,sBAAsB;AAY7B,OAAO,SAASC,kBAAkBA,CACjCC,MAA8B,EAGkB;EAChD,MAAMC,UAAU,GAAGN,2BAA2B,CAC5CO,KAAK,IAAKA,KAAK,EAAEC,WAAW,CAACC,gBAAgB,IAAI,IACnD,CAAC;EAED,MAAMC,sBAAsB,GAAGP,uBAAuB,CACpDI,KAAK,IAAKA,KAAK,CAACI,uBAClB,CAAC;EACD,MAAMC,mBAAmB,GAAGT,uBAAuB,CACjDI,KAAK,IAAKA,KAAK,CAACM,cAClB,CAAC;EAED,MAAMC,cAAc,GACnBT,MAAM,KAAKU,SAAS,IAAK,OAAOV,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACW,KAAK,KAAK,CAAE;EAE3E,MAAMC,SAAS,GAAGhB,wBAAwB,CAACK,UAAU,EAAED,MAAM,CAAC;EAE9D,MAAMa,sBAAsB,GAAGhB,+BAA+B,CAC7DY,cAAc,GAAG,IAAI,GAAGG,SAAS,EAChCV,KAAK,IAAKA,KAAK,CAACI,uBAClB,CAAC;EACD,MAAMQ,mBAAmB,GAAGjB,+BAA+B,CAC1DY,cAAc,GAAG,IAAI,GAAGG,SAAS,EAChCV,KAAK,IAAKA,KAAK,CAACM,cAClB,CAAC;EAED,MAAMF,uBAAuB,GAAGG,cAAc,GAC3CJ,sBAAsB,GACtBQ,sBAAsB;EACzB,MAAML,cAAc,GAAGC,cAAc,GAClCF,mBAAmB,GACnBO,mBAAmB;EAEtB,MAAMC,SAAS,GAAGrB,eAAe,CAAkC,MAAM;IACxE,IAAI,CAACY,uBAAuB,IAAI,CAACE,cAAc,EAAE,OAAO,IAAI;IAE5D,OAAO;MACN,GAAGF,uBAAuB,CAACU,GAAG,CAAC,CAAC;MAChCC,MAAM,EAAET;IACT,CAAC;EACF,CAAC,CAAC;EAEF,OAAOO,SAAS;AACjB","ignoreList":[]}
|
|
@@ -1,85 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import { screenTopology } from "../../../factories/screen-topology";
|
|
5
|
-
import { useBlankStackStore } from "../../../providers/stack/blank-stack.provider";
|
|
3
|
+
import { useMemo } from "react";
|
|
6
4
|
import createProvider from "../../../utils/create-provider";
|
|
5
|
+
import { useBlankStackStore } from "../../stack/blank-stack.provider";
|
|
7
6
|
import { deriveDescriptorDerivations } from "./helpers/derive-descriptor-derivations";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Base descriptor interface - minimal contract for all stack types.
|
|
11
|
-
* This allows stack implementations to work with the shared providers without
|
|
12
|
-
* tight coupling to React Navigation.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
const createDescriptorsProvider = createProvider("Descriptors", {
|
|
16
|
-
global: true
|
|
17
|
-
});
|
|
18
7
|
const {
|
|
19
8
|
DescriptorsProvider,
|
|
20
9
|
useDescriptorsStore,
|
|
21
10
|
useOptionalDescriptorsStore
|
|
22
|
-
} =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
next,
|
|
11
|
+
} = createProvider("Descriptors", {
|
|
12
|
+
global: true
|
|
13
|
+
})(({
|
|
26
14
|
routeKey,
|
|
27
15
|
children
|
|
28
16
|
}) => {
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const isActiveScreen = focusedScene?.route.key === currentScreenKey && focusedScene?.activity === "active";
|
|
40
|
-
if (!resolvedCurrent) {
|
|
41
|
-
throw new Error(`Descriptors scene "${routeKey ?? "unknown"}" was not found.`);
|
|
42
|
-
}
|
|
43
|
-
const descriptors = useMemo(() => ({
|
|
44
|
-
previous: resolvedPrevious,
|
|
45
|
-
current: resolvedCurrent,
|
|
46
|
-
next: resolvedNext
|
|
47
|
-
}), [resolvedPrevious, resolvedCurrent, resolvedNext]);
|
|
48
|
-
const derivations = useMemo(() => deriveDescriptorDerivations({
|
|
49
|
-
previous: resolvedPrevious,
|
|
50
|
-
current: resolvedCurrent,
|
|
51
|
-
next: resolvedNext
|
|
52
|
-
}), [resolvedPrevious, resolvedCurrent, resolvedNext]);
|
|
53
|
-
useLayoutEffect(() => {
|
|
54
|
-
screenTopology.register({
|
|
55
|
-
screenKey: derivations.currentScreenKey,
|
|
56
|
-
parentScreenKey
|
|
57
|
-
});
|
|
58
|
-
return () => {
|
|
59
|
-
screenTopology.unregister(derivations.currentScreenKey);
|
|
17
|
+
const scene = useBlankStackStore(s => s.scenesByKey[routeKey]);
|
|
18
|
+
const currentDescriptor = scene.descriptor;
|
|
19
|
+
const previousDescriptor = scene.previousDescriptor;
|
|
20
|
+
const nextDescriptor = scene.nextDescriptor;
|
|
21
|
+
const options = scene.descriptor.options;
|
|
22
|
+
const descriptors = useMemo(() => {
|
|
23
|
+
return {
|
|
24
|
+
previous: previousDescriptor,
|
|
25
|
+
current: currentDescriptor,
|
|
26
|
+
next: nextDescriptor
|
|
60
27
|
};
|
|
61
|
-
}, [
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
screenKey: derivations.currentScreenKey,
|
|
68
|
-
parentScreenKey
|
|
28
|
+
}, [previousDescriptor, currentDescriptor, nextDescriptor]);
|
|
29
|
+
const derivations = useMemo(() => {
|
|
30
|
+
return deriveDescriptorDerivations({
|
|
31
|
+
previous: previousDescriptor,
|
|
32
|
+
current: currentDescriptor,
|
|
33
|
+
next: nextDescriptor
|
|
69
34
|
});
|
|
70
|
-
}, [
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
value: {
|
|
74
|
-
previous: resolvedPrevious,
|
|
75
|
-
current: resolvedCurrent,
|
|
76
|
-
next: resolvedNext,
|
|
35
|
+
}, [previousDescriptor, currentDescriptor, nextDescriptor]);
|
|
36
|
+
const value = useMemo(() => {
|
|
37
|
+
return {
|
|
77
38
|
descriptors,
|
|
78
39
|
derivations,
|
|
79
|
-
options
|
|
80
|
-
}
|
|
40
|
+
options
|
|
41
|
+
};
|
|
42
|
+
}, [descriptors, derivations, options]);
|
|
43
|
+
return {
|
|
44
|
+
key: routeKey,
|
|
45
|
+
value,
|
|
81
46
|
children
|
|
82
47
|
};
|
|
83
48
|
});
|
|
84
|
-
export { DescriptorsProvider, useDescriptorsStore };
|
|
49
|
+
export { DescriptorsProvider, useDescriptorsStore, useOptionalDescriptorsStore };
|
|
85
50
|
//# sourceMappingURL=descriptors.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useMemo","createProvider","useBlankStackStore","deriveDescriptorDerivations","DescriptorsProvider","useDescriptorsStore","useOptionalDescriptorsStore","global","routeKey","children","scene","s","scenesByKey","currentDescriptor","descriptor","previousDescriptor","nextDescriptor","options","descriptors","previous","current","next","derivations","value","key"],"sourceRoot":"../../../../../src","sources":["providers/screen/descriptors/descriptors.provider.tsx"],"mappings":";;AACA,SAASA,OAAO,QAAQ,OAAO;AAE/B,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SAASC,kBAAkB,QAAQ,kCAAkC;AAErE,SAASC,2BAA2B,QAAQ,yCAAyC;AAuBrF,MAAM;EACLC,mBAAmB;EACnBC,mBAAmB;EACnBC;AACD,CAAC,GAAGL,cAAc,CAAC,aAAa,EAAE;EACjCM,MAAM,EAAE;AACT,CAAC,CAAC,CAAiD,CAAC;EAAEC,QAAQ;EAAEC;AAAS,CAAC,KAAK;EAC9E,MAAMC,KAAK,GAAGR,kBAAkB,CAAES,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACJ,QAAQ,CAAC,CAAC;EAEhE,MAAMK,iBAAiB,GAAGH,KAAK,CAACI,UAAU;EAC1C,MAAMC,kBAAkB,GAAGL,KAAK,CAACK,kBAAkB;EACnD,MAAMC,cAAc,GAAGN,KAAK,CAACM,cAAc;EAC3C,MAAMC,OAAO,GAAGP,KAAK,CAACI,UAAU,CAACG,OAAO;EAExC,MAAMC,WAAW,GAAGlB,OAAO,CAAC,MAAM;IACjC,OAAO;MACNmB,QAAQ,EAAEJ,kBAAkB;MAC5BK,OAAO,EAAEP,iBAAiB;MAC1BQ,IAAI,EAAEL;IACP,CAAC;EACF,CAAC,EAAE,CAACD,kBAAkB,EAAEF,iBAAiB,EAAEG,cAAc,CAAC,CAAC;EAE3D,MAAMM,WAAW,GAAGtB,OAAO,CAAC,MAAM;IACjC,OAAOG,2BAA2B,CAAC;MAClCgB,QAAQ,EAAEJ,kBAAkB;MAC5BK,OAAO,EAAEP,iBAAiB;MAC1BQ,IAAI,EAAEL;IACP,CAAC,CAAC;EACH,CAAC,EAAE,CAACD,kBAAkB,EAAEF,iBAAiB,EAAEG,cAAc,CAAC,CAAC;EAE3D,MAAMO,KAAK,GAAGvB,OAAO,CAAC,MAAM;IAC3B,OAAO;MACNkB,WAAW;MACXI,WAAW;MACXL;IACD,CAAC;EACF,CAAC,EAAE,CAACC,WAAW,EAAEI,WAAW,EAAEL,OAAO,CAAC,CAAC;EAEvC,OAAO;IACNO,GAAG,EAAEhB,QAAQ;IACbe,KAAK;IACLd;EACD,CAAC;AACF,CAAC,CAAC;AAEF,SACCL,mBAAmB,EACnBC,mBAAmB,EACnBC,2BAA2B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DescriptorsProvider","useDescriptorsStore"],"sourceRoot":"../../../../../src","sources":["providers/screen/descriptors/index.tsx"],"mappings":";;AAAA,SAECA,mBAAmB,EACnBC,mBAAmB,
|
|
1
|
+
{"version":3,"names":["DescriptorsProvider","useDescriptorsStore","useOptionalDescriptorsStore"],"sourceRoot":"../../../../../src","sources":["providers/screen/descriptors/index.tsx"],"mappings":";;AAAA,SAECA,mBAAmB,EACnBC,mBAAmB,EACnBC,2BAA2B,QACrB,wBAAwB","ignoreList":[]}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useMemo } from "react";
|
|
4
4
|
import { Gesture } from "react-native-gesture-handler";
|
|
5
5
|
import { useSharedValue } from "react-native-reanimated";
|
|
6
6
|
import { ScrollStore } from "../../../stores/scroll.store";
|
|
7
7
|
import createProvider from "../../../utils/create-provider";
|
|
8
8
|
import { useDescriptorsStore } from "../descriptors";
|
|
9
|
-
import { useCurrentScreenRelationships } from "../use-current-screen-relationships";
|
|
10
9
|
import { useScreenGestureConfig } from "./hooks/use-screen-gesture-config";
|
|
11
|
-
import {
|
|
10
|
+
import { useRegisterGestureOwnership } from "./ownership/use-register-gesture-ownership";
|
|
12
11
|
import { useBuildPanGesture } from "./pan/use-build-pan-gesture";
|
|
13
12
|
import { useBuildPinchGesture } from "./pinch/use-build-pinch-gesture";
|
|
14
|
-
import {
|
|
15
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
-
const EMPTY_GESTURE_SOURCES = [];
|
|
13
|
+
import { NO_GESTURE_OWNERS } from "./types";
|
|
17
14
|
const createScreenGestureProvider = createProvider("ScreenGesture", {
|
|
18
15
|
global: true
|
|
19
16
|
});
|
|
@@ -25,18 +22,16 @@ export const {
|
|
|
25
22
|
children
|
|
26
23
|
}) => {
|
|
27
24
|
const currentScreenKey = useDescriptorsStore(store => store.derivations.currentScreenKey);
|
|
28
|
-
const
|
|
29
|
-
const relationships = useCurrentScreenRelationships();
|
|
30
|
-
const relationshipAncestorGestures = useOptionalScreenGestureStore(relationships.parentScreenKey, store => store.relationshipGestureSources) ?? EMPTY_GESTURE_SOURCES;
|
|
31
|
-
const ancestorGestures = isTopMostScreen ? relationshipAncestorGestures : EMPTY_GESTURE_SOURCES;
|
|
32
|
-
const gestureConfig = useScreenGestureConfig(ancestorGestures);
|
|
25
|
+
const gestureConfig = useScreenGestureConfig();
|
|
33
26
|
const scrollState = ScrollStore.getValue(currentScreenKey, "coordination");
|
|
34
|
-
const
|
|
27
|
+
const gestureOwners = useSharedValue({
|
|
28
|
+
...NO_GESTURE_OWNERS
|
|
29
|
+
});
|
|
35
30
|
const gestureCompositionOwner = useSharedValue(null);
|
|
36
31
|
const panGesture = useBuildPanGesture({
|
|
37
32
|
scrollState,
|
|
38
33
|
gestureConfig,
|
|
39
|
-
|
|
34
|
+
gestureOwners,
|
|
40
35
|
gestureCompositionOwner
|
|
41
36
|
});
|
|
42
37
|
const pinchGesture = useBuildPinchGesture({
|
|
@@ -49,23 +44,17 @@ export const {
|
|
|
49
44
|
detectorGesture,
|
|
50
45
|
panGesture,
|
|
51
46
|
pinchGesture,
|
|
52
|
-
scrollState
|
|
47
|
+
scrollState
|
|
48
|
+
}), [currentScreenKey, detectorGesture, panGesture, pinchGesture, scrollState]);
|
|
49
|
+
useRegisterGestureOwnership({
|
|
53
50
|
claimedDirections: gestureConfig.participation.claimedDirections,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const value = useMemo(() => ({
|
|
58
|
-
...source,
|
|
59
|
-
ancestorGestures,
|
|
60
|
-
relationshipGestureSources
|
|
61
|
-
}), [source, ancestorGestures, relationshipGestureSources]);
|
|
62
|
-
const content = useMemo(() => /*#__PURE__*/_jsxs(Fragment, {
|
|
63
|
-
children: [/*#__PURE__*/_jsx(GestureOwnershipBridge, {}), children]
|
|
64
|
-
}), [children]);
|
|
51
|
+
owners: gestureOwners,
|
|
52
|
+
source
|
|
53
|
+
});
|
|
65
54
|
return {
|
|
66
55
|
key: currentScreenKey,
|
|
67
|
-
value,
|
|
68
|
-
children
|
|
56
|
+
value: source,
|
|
57
|
+
children
|
|
69
58
|
};
|
|
70
59
|
});
|
|
71
60
|
//# sourceMappingURL=gestures.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useMemo","Gesture","useSharedValue","ScrollStore","createProvider","useDescriptorsStore","useScreenGestureConfig","useRegisterGestureOwnership","useBuildPanGesture","useBuildPinchGesture","NO_GESTURE_OWNERS","createScreenGestureProvider","global","ScreenGestureProvider","useOptionalScreenGestureStore","useScreenGestureStore","children","currentScreenKey","store","derivations","gestureConfig","scrollState","getValue","gestureOwners","gestureCompositionOwner","panGesture","pinchGesture","detectorGesture","Simultaneous","source","routeKey","claimedDirections","participation","owners","key","value"],"sourceRoot":"../../../../../src","sources":["providers/screen/gestures/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,OAAO,QAAQ,8BAA8B;AACtD,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,sBAAsB,QAAQ,mCAAmC;AAC1E,SAASC,2BAA2B,QAAQ,4CAA4C;AACxF,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,oBAAoB,QAAQ,iCAAiC;AACtE,SAGCC,iBAAiB,QAEX,SAAS;AAMhB,MAAMC,2BAA2B,GAAGP,cAAc,CAAC,eAAe,EAAE;EACnEQ,MAAM,EAAE;AACT,CAAC,CAAiD;AAElD,OAAO,MAAM;EACZC,qBAAqB;EACrBC,6BAA6B;EAC7BC;AAC+C,CAAC,GAAGJ,2BAA2B,CAC9E,CAAC;EAAEK;AAAS,CAAC,KAAK;EACjB,MAAMC,gBAAgB,GAAGZ,mBAAmB,CAC1Ca,KAAK,IAAKA,KAAK,CAACC,WAAW,CAACF,gBAC9B,CAAC;EACD,MAAMG,aAAa,GAAGd,sBAAsB,CAAC,CAAC;EAC9C,MAAMe,WAAW,GAAGlB,WAAW,CAACmB,QAAQ,CAACL,gBAAgB,EAAE,cAAc,CAAC;EAC1E,MAAMM,aAAa,GAAGrB,cAAc,CAAC;IAAE,GAAGQ;EAAkB,CAAC,CAAC;EAC9D,MAAMc,uBAAuB,GAC5BtB,cAAc,CAA0B,IAAI,CAAC;EAC9C,MAAMuB,UAAU,GAAGjB,kBAAkB,CAAC;IACrCa,WAAW;IACXD,aAAa;IACbG,aAAa;IACbC;EACD,CAAC,CAAC;EACF,MAAME,YAAY,GAAGjB,oBAAoB,CAAC;IACzCW,aAAa;IACbI;EACD,CAAC,CAAC;EACF,MAAMG,eAAe,GAAG3B,OAAO,CAC9B,MAAMC,OAAO,CAAC2B,YAAY,CAACH,UAAU,EAAEC,YAAY,CAAC,EACpD,CAACD,UAAU,EAAEC,YAAY,CAC1B,CAAC;EACD,MAAMG,MAAM,GAAG7B,OAAO,CACrB,OAAO;IACN8B,QAAQ,EAAEb,gBAAgB;IAC1BU,eAAe;IACfF,UAAU;IACVC,YAAY;IACZL;EACD,CAAC,CAAC,EACF,CACCJ,gBAAgB,EAChBU,eAAe,EACfF,UAAU,EACVC,YAAY,EACZL,WAAW,CAEb,CAAC;EACDd,2BAA2B,CAAC;IAC3BwB,iBAAiB,EAAEX,aAAa,CAACY,aAAa,CAACD,iBAAiB;IAChEE,MAAM,EAAEV,aAAa;IACrBM;EACD,CAAC,CAAC;EAEF,OAAO;IACNK,GAAG,EAAEjB,gBAAgB;IACrBkB,KAAK,EAAEN,MAAM;IACbb;EACD,CAAC;AACF,CACD,CAAC","ignoreList":[]}
|
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { useDescriptorsStore } from "../../descriptors";
|
|
5
5
|
import { resolveScreenGestureConfig } from "../shared/policy";
|
|
6
|
-
export function useScreenGestureConfig(
|
|
6
|
+
export function useScreenGestureConfig() {
|
|
7
7
|
const options = useDescriptorsStore(store => store.options);
|
|
8
8
|
const isFirstKey = useDescriptorsStore(store => store.derivations.isFirstKey);
|
|
9
9
|
return useMemo(() => resolveScreenGestureConfig({
|
|
10
10
|
options,
|
|
11
|
-
isFirstKey
|
|
12
|
-
|
|
13
|
-
}), [isFirstKey, options, ancestorGestures]);
|
|
11
|
+
isFirstKey
|
|
12
|
+
}), [isFirstKey, options]);
|
|
14
13
|
}
|
|
15
14
|
//# sourceMappingURL=use-screen-gesture-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useDescriptorsStore","resolveScreenGestureConfig","useScreenGestureConfig","
|
|
1
|
+
{"version":3,"names":["useMemo","useDescriptorsStore","resolveScreenGestureConfig","useScreenGestureConfig","options","store","isFirstKey","derivations"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/hooks/use-screen-gesture-config.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,mBAAmB;AACvD,SAASC,0BAA0B,QAAQ,kBAAkB;AAG7D,OAAO,SAASC,sBAAsBA,CAAA,EAAwB;EAC7D,MAAMC,OAAO,GAAGH,mBAAmB,CAAEI,KAAK,IAAKA,KAAK,CAACD,OAAO,CAAC;EAC7D,MAAME,UAAU,GAAGL,mBAAmB,CACpCI,KAAK,IAAKA,KAAK,CAACE,WAAW,CAACD,UAC9B,CAAC;EACD,OAAON,OAAO,CACb,MACCE,0BAA0B,CAAC;IAC1BE,OAAO;IACPE;EACD,CAAC,CAAC,EACH,CAACA,UAAU,EAAEF,OAAO,CACrB,CAAC;AACF","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useResolvedTransitionKey } from "../../topology";
|
|
4
4
|
import { useOptionalScreenGestureStore } from "../gestures.provider";
|
|
5
5
|
/**
|
|
6
6
|
* Returns a screen navigation pan gesture.
|
|
@@ -16,11 +16,10 @@ import { useOptionalScreenGestureStore } from "../gestures.provider";
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
export const useScreenGesture = target => {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
})?.panGesture ?? null;
|
|
19
|
+
const localGesture = useOptionalScreenGestureStore();
|
|
20
|
+
const usesLocalStore = target === undefined || target.depth === 0;
|
|
21
|
+
const screenKey = useResolvedTransitionKey(localGesture?.routeKey ?? null, target);
|
|
22
|
+
const keyedGesture = useOptionalScreenGestureStore(usesLocalStore ? null : screenKey, store => store.panGesture);
|
|
23
|
+
return usesLocalStore ? localGesture?.panGesture ?? null : keyedGesture;
|
|
25
24
|
};
|
|
26
25
|
//# sourceMappingURL=use-screen-gesture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useResolvedTransitionKey","useOptionalScreenGestureStore","useScreenGesture","target","localGesture","usesLocalStore","undefined","depth","screenKey","routeKey","keyedGesture","store","panGesture"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/hooks/use-screen-gesture.ts"],"mappings":";;AAAA,SAASA,wBAAwB,QAAQ,gBAAgB;AACzD,SAASC,6BAA6B,QAAQ,sBAAsB;AAIpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAIC,MAA4B,IAAK;EACjE,MAAMC,YAAY,GAAGH,6BAA6B,CAAC,CAAC;EACpD,MAAMI,cAAc,GAAGF,MAAM,KAAKG,SAAS,IAAIH,MAAM,CAACI,KAAK,KAAK,CAAC;EACjE,MAAMC,SAAS,GAAGR,wBAAwB,CACzCI,YAAY,EAAEK,QAAQ,IAAI,IAAI,EAC9BN,MACD,CAAC;EACD,MAAMO,YAAY,GAAGT,6BAA6B,CACjDI,cAAc,GAAG,IAAI,GAAGG,SAAS,EAChCG,KAAK,IAAKA,KAAK,CAACC,UAClB,CAAC;EAED,OAAOP,cAAc,GAAID,YAAY,EAAEQ,UAAU,IAAI,IAAI,GAAIF,YAAY;AAC1E,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { DIRECTIONS } from "../../../../types/ownership.types";
|
|
4
|
+
import { screenTopology } from "../../topology";
|
|
5
|
+
const EMPTY_SCROLL_COORDINATION = {
|
|
6
|
+
panGestures: [],
|
|
7
|
+
pinchGestures: [],
|
|
8
|
+
scrollStates: [],
|
|
9
|
+
ownerRouteKeys: []
|
|
10
|
+
};
|
|
11
|
+
const createEmptyOwners = () => ({
|
|
12
|
+
vertical: null,
|
|
13
|
+
"vertical-inverted": null,
|
|
14
|
+
horizontal: null,
|
|
15
|
+
"horizontal-inverted": null
|
|
16
|
+
});
|
|
17
|
+
const areOwnersEqual = (left, right) => DIRECTIONS.every(direction => left[direction] === right[direction]);
|
|
18
|
+
const areArraysEqual = (left, right) => left.length === right.length && left.every((value, index) => value === right[index]);
|
|
19
|
+
const areScrollCoordinationsEqual = (left, right) => areArraysEqual(left.panGestures, right.panGestures) && areArraysEqual(left.pinchGestures, right.pinchGestures) && areArraysEqual(left.scrollStates, right.scrollStates) && areArraysEqual(left.ownerRouteKeys, right.ownerRouteKeys);
|
|
20
|
+
const getAxisDirections = axis => axis === "vertical" ? ["vertical", "vertical-inverted"] : ["horizontal", "horizontal-inverted"];
|
|
21
|
+
export const createGestureOwnershipCoordinator = topology => {
|
|
22
|
+
const registrations = new Map();
|
|
23
|
+
const scrollCache = new Map();
|
|
24
|
+
const listenersByScreenKey = new Map();
|
|
25
|
+
const getNearestAncestorOwner = (screenKey, direction) => {
|
|
26
|
+
const visited = new Set();
|
|
27
|
+
let candidate = screenKey;
|
|
28
|
+
while (candidate && !visited.has(candidate)) {
|
|
29
|
+
visited.add(candidate);
|
|
30
|
+
if (registrations.get(candidate)?.claimedDirections[direction]) {
|
|
31
|
+
return candidate;
|
|
32
|
+
}
|
|
33
|
+
candidate = topology.getRelationships(candidate).parentScreenKey;
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
};
|
|
37
|
+
const getDeepestActiveOwner = (screenKey, direction) => {
|
|
38
|
+
const visited = new Set();
|
|
39
|
+
let candidate = screenKey;
|
|
40
|
+
let owner = null;
|
|
41
|
+
let isOrigin = true;
|
|
42
|
+
while (candidate && !visited.has(candidate)) {
|
|
43
|
+
visited.add(candidate);
|
|
44
|
+
const registration = registrations.get(candidate);
|
|
45
|
+
const claims = isOrigin ? registration?.claimedDirections : registration?.effectiveClaimedDirections;
|
|
46
|
+
if (claims?.[direction]) owner = candidate;
|
|
47
|
+
candidate = topology.getRelationships(candidate).activeChildScreenKey;
|
|
48
|
+
isOrigin = false;
|
|
49
|
+
}
|
|
50
|
+
return owner;
|
|
51
|
+
};
|
|
52
|
+
const resolveOwners = screenKey => {
|
|
53
|
+
const owners = createEmptyOwners();
|
|
54
|
+
for (const direction of DIRECTIONS) {
|
|
55
|
+
owners[direction] = getDeepestActiveOwner(screenKey, direction) ?? getNearestAncestorOwner(screenKey, direction);
|
|
56
|
+
}
|
|
57
|
+
return owners;
|
|
58
|
+
};
|
|
59
|
+
const resolveScrollCoordination = (screenKey, axis) => {
|
|
60
|
+
const ownerKeys = [];
|
|
61
|
+
for (const direction of getAxisDirections(axis)) {
|
|
62
|
+
const ownerKey = getNearestAncestorOwner(screenKey, direction);
|
|
63
|
+
if (ownerKey && !ownerKeys.includes(ownerKey)) ownerKeys.push(ownerKey);
|
|
64
|
+
}
|
|
65
|
+
const panGestures = [];
|
|
66
|
+
const scrollStates = [];
|
|
67
|
+
for (const ownerKey of ownerKeys) {
|
|
68
|
+
const source = registrations.get(ownerKey)?.source;
|
|
69
|
+
if (!source) continue;
|
|
70
|
+
panGestures.push(source.panGesture);
|
|
71
|
+
scrollStates.push(source.scrollState);
|
|
72
|
+
}
|
|
73
|
+
const pinchGestures = [];
|
|
74
|
+
const visited = new Set();
|
|
75
|
+
let candidate = screenKey;
|
|
76
|
+
while (candidate && !visited.has(candidate)) {
|
|
77
|
+
visited.add(candidate);
|
|
78
|
+
const pinchGesture = registrations.get(candidate)?.source.pinchGesture;
|
|
79
|
+
if (pinchGesture && !pinchGestures.includes(pinchGesture)) {
|
|
80
|
+
pinchGestures.push(pinchGesture);
|
|
81
|
+
}
|
|
82
|
+
candidate = topology.getRelationships(candidate).parentScreenKey;
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
panGestures,
|
|
86
|
+
pinchGestures,
|
|
87
|
+
scrollStates,
|
|
88
|
+
ownerRouteKeys: ownerKeys
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
const notify = screenKey => {
|
|
92
|
+
for (const listener of listenersByScreenKey.get(screenKey) ?? []) {
|
|
93
|
+
listener();
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
const recompute = () => {
|
|
97
|
+
for (const [screenKey, registration] of registrations) {
|
|
98
|
+
const nextOwners = resolveOwners(screenKey);
|
|
99
|
+
if (!areOwnersEqual(registration.owners.get(), nextOwners)) {
|
|
100
|
+
registration.owners.set(nextOwners);
|
|
101
|
+
}
|
|
102
|
+
const previousScroll = scrollCache.get(screenKey);
|
|
103
|
+
const nextScroll = {
|
|
104
|
+
vertical: resolveScrollCoordination(screenKey, "vertical"),
|
|
105
|
+
horizontal: resolveScrollCoordination(screenKey, "horizontal")
|
|
106
|
+
};
|
|
107
|
+
const vertical = previousScroll && areScrollCoordinationsEqual(previousScroll.vertical, nextScroll.vertical) ? previousScroll.vertical : nextScroll.vertical;
|
|
108
|
+
const horizontal = previousScroll && areScrollCoordinationsEqual(previousScroll.horizontal, nextScroll.horizontal) ? previousScroll.horizontal : nextScroll.horizontal;
|
|
109
|
+
if (!previousScroll || vertical !== previousScroll.vertical || horizontal !== previousScroll.horizontal) {
|
|
110
|
+
scrollCache.set(screenKey, {
|
|
111
|
+
vertical,
|
|
112
|
+
horizontal
|
|
113
|
+
});
|
|
114
|
+
notify(screenKey);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
topology.subscribeResolution(recompute);
|
|
119
|
+
return {
|
|
120
|
+
register: registration => {
|
|
121
|
+
registrations.set(registration.screenKey, registration);
|
|
122
|
+
recompute();
|
|
123
|
+
},
|
|
124
|
+
unregister: screenKey => {
|
|
125
|
+
if (!registrations.has(screenKey)) return;
|
|
126
|
+
registrations.delete(screenKey);
|
|
127
|
+
scrollCache.delete(screenKey);
|
|
128
|
+
recompute();
|
|
129
|
+
notify(screenKey);
|
|
130
|
+
},
|
|
131
|
+
getScrollCoordination: (screenKey, axis) => scrollCache.get(screenKey)?.[axis] ?? EMPTY_SCROLL_COORDINATION,
|
|
132
|
+
subscribe: (screenKey, listener) => {
|
|
133
|
+
const listeners = listenersByScreenKey.get(screenKey) ?? new Set();
|
|
134
|
+
listeners.add(listener);
|
|
135
|
+
listenersByScreenKey.set(screenKey, listeners);
|
|
136
|
+
return () => {
|
|
137
|
+
listeners.delete(listener);
|
|
138
|
+
if (listeners.size === 0) listenersByScreenKey.delete(screenKey);
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
export const gestureOwnershipCoordinator = createGestureOwnershipCoordinator(screenTopology);
|
|
144
|
+
//# sourceMappingURL=gesture-ownership-coordinator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DIRECTIONS","screenTopology","EMPTY_SCROLL_COORDINATION","panGestures","pinchGestures","scrollStates","ownerRouteKeys","createEmptyOwners","vertical","horizontal","areOwnersEqual","left","right","every","direction","areArraysEqual","length","value","index","areScrollCoordinationsEqual","getAxisDirections","axis","createGestureOwnershipCoordinator","topology","registrations","Map","scrollCache","listenersByScreenKey","getNearestAncestorOwner","screenKey","visited","Set","candidate","has","add","get","claimedDirections","getRelationships","parentScreenKey","getDeepestActiveOwner","owner","isOrigin","registration","claims","effectiveClaimedDirections","activeChildScreenKey","resolveOwners","owners","resolveScrollCoordination","ownerKeys","ownerKey","includes","push","source","panGesture","scrollState","pinchGesture","notify","listener","recompute","nextOwners","set","previousScroll","nextScroll","subscribeResolution","register","unregister","delete","getScrollCoordination","subscribe","listeners","size","gestureOwnershipCoordinator"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/ownership/gesture-ownership-coordinator.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useSyncExternalStore } from "react";
|
|
4
|
+
import { gestureOwnershipCoordinator } from "./gesture-ownership-coordinator";
|
|
5
|
+
export const useGestureScrollCoordination = (screenKey, axis) => {
|
|
6
|
+
const subscribe = useCallback(listener => screenKey ? gestureOwnershipCoordinator.subscribe(screenKey, listener) : () => {}, [screenKey]);
|
|
7
|
+
const getSnapshot = useCallback(() => gestureOwnershipCoordinator.getScrollCoordination(screenKey ?? "", axis), [axis, screenKey]);
|
|
8
|
+
return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=use-gesture-scroll-coordination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useSyncExternalStore","gestureOwnershipCoordinator","useGestureScrollCoordination","screenKey","axis","subscribe","listener","getSnapshot","getScrollCoordination"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/ownership/use-gesture-scroll-coordination.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AAEzD,SAASC,2BAA2B,QAAQ,iCAAiC;AAE7E,OAAO,MAAMC,4BAA4B,GAAGA,CAC3CC,SAAwB,EACxBC,IAAuB,KACnB;EACJ,MAAMC,SAAS,GAAGN,WAAW,CAC3BO,QAAoB,IACpBH,SAAS,GACNF,2BAA2B,CAACI,SAAS,CAACF,SAAS,EAAEG,QAAQ,CAAC,GAC1D,MAAM,CAAC,CAAC,EACZ,CAACH,SAAS,CACX,CAAC;EACD,MAAMI,WAAW,GAAGR,WAAW,CAC9B,MACCE,2BAA2B,CAACO,qBAAqB,CAACL,SAAS,IAAI,EAAE,EAAEC,IAAI,CAAC,EACzE,CAACA,IAAI,EAAED,SAAS,CACjB,CAAC;EAED,OAAOH,oBAAoB,CAACK,SAAS,EAAEE,WAAW,EAAEA,WAAW,CAAC;AACjE,CAAC","ignoreList":[]}
|