react-native-screen-transitions 4.0.0-alpha.9 → 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/README.md +5 -10
- 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/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +53 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +43 -8
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +2 -3
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/commonjs/components/boundary/utils/source-signals.js +6 -4
- package/lib/commonjs/components/boundary/utils/source-signals.js.map +1 -1
- package/lib/commonjs/components/overlay/helpers/get-active-overlay.js +3 -24
- package/lib/commonjs/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/commonjs/components/overlay/helpers/retain-ready-overlay-resources.js +4 -3
- package/lib/commonjs/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -1
- 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 +2 -18
- package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js.map +1 -1
- package/lib/commonjs/components/overlay/variations/float-overlay.js +0 -2
- package/lib/commonjs/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/commonjs/components/overlay/variations/overlay-host.js +18 -16
- package/lib/commonjs/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/commonjs/components/screen-container/layers/content.js +10 -5
- package/lib/commonjs/components/screen-container/layers/content.js.map +1 -1
- package/lib/commonjs/components/screen-container/layers/surface.js +50 -0
- package/lib/commonjs/components/screen-container/layers/surface.js.map +1 -0
- package/lib/commonjs/components/screen-lifecycle/index.js +2 -2
- package/lib/commonjs/components/screen-lifecycle/index.js.map +1 -1
- package/lib/commonjs/components/stack-view.js +7 -29
- package/lib/commonjs/components/stack-view.js.map +1 -1
- package/lib/commonjs/configs/index.js +1 -4
- package/lib/commonjs/configs/index.js.map +1 -1
- package/lib/commonjs/configs/presets.js +1 -384
- package/lib/commonjs/configs/presets.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/navigators/create-blank-stack-navigator.js +7 -67
- package/lib/commonjs/navigators/create-blank-stack-navigator.js.map +1 -1
- package/lib/commonjs/navigators/expo-router/index.js +1 -18
- package/lib/commonjs/navigators/expo-router/index.js.map +1 -1
- package/lib/commonjs/navigators/react-navigation/index.js +1 -3
- package/lib/commonjs/navigators/react-navigation/index.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/animation.provider.js +17 -25
- 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 -19
- 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/constants.js +4 -0
- package/lib/commonjs/providers/screen/styles/constants.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/slot-resolvers.js +1 -9
- package/lib/commonjs/providers/screen/styles/hooks/slot-resolvers.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/styles/slot.provider.js +3 -1
- package/lib/commonjs/providers/screen/styles/slot.provider.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 +10 -4
- 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/derive-blank-stack-state.js +4 -3
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/state-equality.js +9 -2
- 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/commonjs/utils/create-provider.js +14 -3
- package/lib/commonjs/utils/create-provider.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/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +50 -0
- package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
- package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +44 -9
- package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +2 -3
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/module/components/boundary/utils/source-signals.js +6 -4
- package/lib/module/components/boundary/utils/source-signals.js.map +1 -1
- package/lib/module/components/overlay/helpers/get-active-overlay.js +3 -24
- package/lib/module/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/module/components/overlay/helpers/retain-ready-overlay-resources.js +4 -3
- package/lib/module/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -1
- 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 +2 -18
- package/lib/module/components/overlay/hooks/use-overlay-slot.js.map +1 -1
- package/lib/module/components/overlay/variations/float-overlay.js +0 -2
- package/lib/module/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/module/components/overlay/variations/overlay-host.js +19 -17
- package/lib/module/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/module/components/screen-container/layers/content.js +10 -5
- package/lib/module/components/screen-container/layers/content.js.map +1 -1
- package/lib/module/components/screen-container/layers/surface.js +45 -0
- package/lib/module/components/screen-container/layers/surface.js.map +1 -0
- package/lib/module/components/screen-lifecycle/index.js +2 -2
- package/lib/module/components/screen-lifecycle/index.js.map +1 -1
- package/lib/module/components/stack-view.js +7 -29
- package/lib/module/components/stack-view.js.map +1 -1
- package/lib/module/configs/index.js +2 -5
- package/lib/module/configs/index.js.map +1 -1
- package/lib/module/configs/presets.js +0 -380
- package/lib/module/configs/presets.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/navigators/create-blank-stack-navigator.js +7 -66
- package/lib/module/navigators/create-blank-stack-navigator.js.map +1 -1
- package/lib/module/navigators/expo-router/index.js +1 -18
- package/lib/module/navigators/expo-router/index.js.map +1 -1
- package/lib/module/navigators/react-navigation/index.js +1 -3
- package/lib/module/navigators/react-navigation/index.js.map +1 -1
- package/lib/module/providers/screen/animation/animation.provider.js +15 -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 -20
- 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/constants.js +4 -0
- package/lib/module/providers/screen/styles/constants.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/slot-resolvers.js +2 -10
- package/lib/module/providers/screen/styles/hooks/slot-resolvers.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/styles/slot.provider.js +1 -0
- package/lib/module/providers/screen/styles/slot.provider.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 +11 -5
- 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/derive-blank-stack-state.js +5 -4
- package/lib/module/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.js.map +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/state-equality.js +7 -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 +10 -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/module/utils/create-provider.js +14 -3
- package/lib/module/utils/create-provider.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/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +20 -1
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/components/boundary/utils/source-signals.d.ts.map +1 -1
- package/lib/typescript/components/overlay/helpers/get-active-overlay.d.ts +2 -8
- package/lib/typescript/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
- package/lib/typescript/components/overlay/helpers/retain-ready-overlay-resources.d.ts +2 -1
- package/lib/typescript/components/overlay/helpers/retain-ready-overlay-resources.d.ts.map +1 -1
- 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/components/overlay/variations/float-overlay.d.ts.map +1 -1
- package/lib/typescript/components/overlay/variations/overlay-host.d.ts +2 -3
- package/lib/typescript/components/overlay/variations/overlay-host.d.ts.map +1 -1
- package/lib/typescript/components/screen-container/layers/content.d.ts.map +1 -1
- package/lib/typescript/components/screen-container/layers/surface.d.ts +7 -0
- package/lib/typescript/components/screen-container/layers/surface.d.ts.map +1 -0
- package/lib/typescript/components/stack-view.d.ts +1 -1
- package/lib/typescript/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/configs/index.d.ts +0 -9
- package/lib/typescript/configs/index.d.ts.map +1 -1
- package/lib/typescript/configs/presets.d.ts +0 -9
- package/lib/typescript/configs/presets.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 -10
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/navigators/create-blank-stack-navigator.d.ts +2 -4
- package/lib/typescript/navigators/create-blank-stack-navigator.d.ts.map +1 -1
- package/lib/typescript/navigators/expo-router/index.d.ts +3 -3
- package/lib/typescript/navigators/expo-router/index.d.ts.map +1 -1
- package/lib/typescript/navigators/react-navigation/index.d.ts +1 -1
- package/lib/typescript/navigators/react-navigation/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/animation.provider.d.ts +12 -6
- 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/constants.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/slot-resolvers.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/slot.provider.d.ts +11 -2
- package/lib/typescript/providers/screen/styles/slot.provider.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 +3 -3
- 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/derive-blank-stack-state.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts +3 -2
- package/lib/typescript/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/state-equality.d.ts +4 -4
- package/lib/typescript/providers/stack/blank-stack-state/helpers/state-equality.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/types.d.ts +6 -5
- package/lib/typescript/providers/stack/blank-stack-state/helpers/types.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack.provider.d.ts +3 -1
- package/lib/typescript/providers/stack/blank-stack.provider.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 +16 -22
- package/lib/typescript/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/types/blank-stack.types.d.ts +2 -23
- package/lib/typescript/types/blank-stack.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 +2 -2
- 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/providers/blank-stack-provider.types.d.ts +8 -6
- package/lib/typescript/types/providers/blank-stack-provider.types.d.ts.map +1 -1
- package/lib/typescript/types/screen.types.d.ts +40 -0
- package/lib/typescript/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/utils/create-provider.d.ts +4 -1
- package/lib/typescript/utils/create-provider.d.ts.map +1 -1
- package/package.json +9 -8
- 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/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +89 -0
- package/src/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +97 -14
- package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +2 -6
- package/src/components/boundary/utils/source-signals.ts +6 -4
- package/src/components/overlay/helpers/get-active-overlay.ts +4 -36
- package/src/components/overlay/helpers/retain-ready-overlay-resources.ts +10 -1
- package/src/components/overlay/helpers/run-overlay-slot-interpolator.ts +0 -4
- package/src/components/overlay/hooks/use-overlay-slot.ts +1 -30
- package/src/components/overlay/variations/float-overlay.tsx +9 -12
- package/src/components/overlay/variations/overlay-host.tsx +24 -23
- package/src/components/screen-container/layers/content.tsx +12 -7
- package/src/components/screen-container/layers/surface.tsx +65 -0
- package/src/components/screen-lifecycle/index.tsx +2 -2
- package/src/components/stack-view.tsx +8 -39
- package/src/configs/index.ts +0 -6
- package/src/configs/presets.ts +0 -447
- 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 +3 -2
- package/src/navigators/create-blank-stack-navigator.tsx +16 -124
- package/src/navigators/expo-router/index.tsx +0 -23
- package/src/navigators/react-navigation/index.tsx +0 -3
- package/src/providers/screen/animation/animation.provider.tsx +32 -66
- 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 +40 -20
- 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/constants.ts +2 -0
- package/src/providers/screen/styles/helpers/create-interpolator-scope.ts +2 -21
- package/src/providers/screen/styles/hooks/slot-resolvers.tsx +2 -17
- package/src/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +0 -29
- package/src/providers/screen/styles/slot.provider.tsx +2 -0
- 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 +31 -12
- package/src/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.ts +11 -3
- package/src/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.ts +2 -2
- package/src/providers/stack/blank-stack-state/helpers/state-equality.ts +25 -11
- package/src/providers/stack/blank-stack-state/helpers/types.ts +9 -4
- 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 +16 -28
- package/src/types/blank-stack.types.ts +1 -29
- package/src/types/bounds.types.ts +1 -4
- package/src/types/index.ts +3 -2
- package/src/types/ownership.types.ts +1 -26
- package/src/types/providers/blank-stack-provider.types.ts +14 -11
- package/src/types/screen.types.ts +46 -0
- package/src/utils/create-provider.tsx +22 -4
- package/lib/commonjs/components/boundary/portal/utils/teleport-control.js +0 -16
- package/lib/commonjs/components/boundary/portal/utils/teleport-control.js.map +0 -1
- 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/navigation/navigation-host.provider.js +0 -56
- package/lib/commonjs/providers/navigation/navigation-host.provider.js.map +0 -1
- package/lib/commonjs/providers/navigation/react-navigation-host.js +0 -23
- package/lib/commonjs/providers/navigation/react-navigation-host.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/components/boundary/portal/utils/teleport-control.js +0 -11
- package/lib/module/components/boundary/portal/utils/teleport-control.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/navigation/navigation-host.provider.js +0 -50
- package/lib/module/providers/navigation/navigation-host.provider.js.map +0 -1
- package/lib/module/providers/navigation/react-navigation-host.js +0 -19
- package/lib/module/providers/navigation/react-navigation-host.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/components/boundary/portal/utils/teleport-control.d.ts +0 -3
- package/lib/typescript/components/boundary/portal/utils/teleport-control.d.ts.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/navigation/navigation-host.provider.d.ts +0 -21
- package/lib/typescript/providers/navigation/navigation-host.provider.d.ts.map +0 -1
- package/lib/typescript/providers/navigation/react-navigation-host.d.ts +0 -3
- package/lib/typescript/providers/navigation/react-navigation-host.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/components/boundary/portal/utils/teleport-control.ts +0 -13
- package/src/factories/screen-topology/index.ts +0 -16
- package/src/factories/screen-topology/worklet.ts +0 -60
- package/src/providers/navigation/navigation-host.provider.tsx +0 -75
- package/src/providers/navigation/react-navigation-host.tsx +0 -24
- 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,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":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useLayoutEffect, useMemo } from "react";
|
|
4
|
+
import { NO_CLAIMS } from "../../../../types/ownership.types";
|
|
5
|
+
import { useBlankStackStore } from "../../../stack/blank-stack.provider";
|
|
6
|
+
import { useDescriptorsStore } from "../../descriptors";
|
|
7
|
+
import { resolveScreenGestureConfig } from "../shared/policy";
|
|
8
|
+
import { gestureOwnershipCoordinator } from "./gesture-ownership-coordinator";
|
|
9
|
+
import { resolveShadowingClaimDirections } from "./shadowing-claims";
|
|
10
|
+
const getDescriptorIsFirstKey = descriptor => {
|
|
11
|
+
const routes = descriptor.navigation.getState()?.routes ?? [];
|
|
12
|
+
return routes.findIndex(route => route.key === descriptor.route.key) === 0;
|
|
13
|
+
};
|
|
14
|
+
const getDescriptorClaimedDirections = descriptor => {
|
|
15
|
+
if (!descriptor) return NO_CLAIMS;
|
|
16
|
+
return resolveScreenGestureConfig({
|
|
17
|
+
options: descriptor.options,
|
|
18
|
+
isFirstKey: getDescriptorIsFirstKey(descriptor)
|
|
19
|
+
}).participation.claimedDirections;
|
|
20
|
+
};
|
|
21
|
+
export const useRegisterGestureOwnership = ({
|
|
22
|
+
claimedDirections,
|
|
23
|
+
owners,
|
|
24
|
+
source
|
|
25
|
+
}) => {
|
|
26
|
+
const previous = useDescriptorsStore(store => store.descriptors.previous);
|
|
27
|
+
const isClosing = useBlankStackStore(store => store.scenesByKey[source.routeKey]?.activity === "closing");
|
|
28
|
+
const previousClaimedDirections = useMemo(() => getDescriptorClaimedDirections(previous), [previous]);
|
|
29
|
+
const effectiveClaimedDirections = useMemo(() => resolveShadowingClaimDirections({
|
|
30
|
+
isCurrentScreenClosing: isClosing,
|
|
31
|
+
currentClaimedDirections: claimedDirections,
|
|
32
|
+
previousClaimedDirections
|
|
33
|
+
}), [claimedDirections, isClosing, previousClaimedDirections]);
|
|
34
|
+
useLayoutEffect(() => {
|
|
35
|
+
gestureOwnershipCoordinator.register({
|
|
36
|
+
screenKey: source.routeKey,
|
|
37
|
+
source,
|
|
38
|
+
claimedDirections,
|
|
39
|
+
effectiveClaimedDirections,
|
|
40
|
+
owners
|
|
41
|
+
});
|
|
42
|
+
}, [claimedDirections, effectiveClaimedDirections, owners, source]);
|
|
43
|
+
useLayoutEffect(() => () => {
|
|
44
|
+
gestureOwnershipCoordinator.unregister(source.routeKey);
|
|
45
|
+
}, [source.routeKey]);
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=use-register-gesture-ownership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useLayoutEffect","useMemo","NO_CLAIMS","useBlankStackStore","useDescriptorsStore","resolveScreenGestureConfig","gestureOwnershipCoordinator","resolveShadowingClaimDirections","getDescriptorIsFirstKey","descriptor","routes","navigation","getState","findIndex","route","key","getDescriptorClaimedDirections","options","isFirstKey","participation","claimedDirections","useRegisterGestureOwnership","owners","source","previous","store","descriptors","isClosing","scenesByKey","routeKey","activity","previousClaimedDirections","effectiveClaimedDirections","isCurrentScreenClosing","currentClaimedDirections","register","screenKey","unregister"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/ownership/use-register-gesture-ownership.ts"],"mappings":";;AAAA,SAASA,eAAe,EAAEC,OAAO,QAAQ,OAAO;AAEhD,SAECC,SAAS,QACH,mCAAmC;AAC1C,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAA8BC,mBAAmB,QAAQ,mBAAmB;AAC5E,SAASC,0BAA0B,QAAQ,kBAAkB;AAE7D,SAASC,2BAA2B,QAAQ,iCAAiC;AAC7E,SAASC,+BAA+B,QAAQ,oBAAoB;AAEpE,MAAMC,uBAAuB,GAAIC,UAA0B,IAAc;EACxE,MAAMC,MAAM,GAAGD,UAAU,CAACE,UAAU,CAACC,QAAQ,CAAC,CAAC,EAAEF,MAAM,IAAI,EAAE;EAC7D,OAAOA,MAAM,CAACG,SAAS,CAAEC,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKN,UAAU,CAACK,KAAK,CAACC,GAAG,CAAC,KAAK,CAAC;AAC7E,CAAC;AAED,MAAMC,8BAA8B,GACnCP,UAAsC,IACf;EACvB,IAAI,CAACA,UAAU,EAAE,OAAOP,SAAS;EAEjC,OAAOG,0BAA0B,CAAC;IACjCY,OAAO,EAAER,UAAU,CAACQ,OAAO;IAC3BC,UAAU,EAAEV,uBAAuB,CAACC,UAAU;EAC/C,CAAC,CAAC,CAACU,aAAa,CAACC,iBAAiB;AACnC,CAAC;AAED,OAAO,MAAMC,2BAA2B,GAAGA,CAAC;EAC3CD,iBAAiB;EACjBE,MAAM;EACNC;AAKD,CAAC,KAAK;EACL,MAAMC,QAAQ,GAAGpB,mBAAmB,CAAEqB,KAAK,IAAKA,KAAK,CAACC,WAAW,CAACF,QAAQ,CAAC;EAC3E,MAAMG,SAAS,GAAGxB,kBAAkB,CAClCsB,KAAK,IAAKA,KAAK,CAACG,WAAW,CAACL,MAAM,CAACM,QAAQ,CAAC,EAAEC,QAAQ,KAAK,SAC7D,CAAC;EACD,MAAMC,yBAAyB,GAAG9B,OAAO,CACxC,MAAMe,8BAA8B,CAACQ,QAAQ,CAAC,EAC9C,CAACA,QAAQ,CACV,CAAC;EACD,MAAMQ,0BAA0B,GAAG/B,OAAO,CACzC,MACCM,+BAA+B,CAAC;IAC/B0B,sBAAsB,EAAEN,SAAS;IACjCO,wBAAwB,EAAEd,iBAAiB;IAC3CW;EACD,CAAC,CAAC,EACH,CAACX,iBAAiB,EAAEO,SAAS,EAAEI,yBAAyB,CACzD,CAAC;EAED/B,eAAe,CAAC,MAAM;IACrBM,2BAA2B,CAAC6B,QAAQ,CAAC;MACpCC,SAAS,EAAEb,MAAM,CAACM,QAAQ;MAC1BN,MAAM;MACNH,iBAAiB;MACjBY,0BAA0B;MAC1BV;IACD,CAAC,CAAC;EACH,CAAC,EAAE,CAACF,iBAAiB,EAAEY,0BAA0B,EAAEV,MAAM,EAAEC,MAAM,CAAC,CAAC;EAEnEvB,eAAe,CACd,MAAM,MAAM;IACXM,2BAA2B,CAAC+B,UAAU,CAACd,MAAM,CAACM,QAAQ,CAAC;EACxD,CAAC,EACD,CAACN,MAAM,CAACM,QAAQ,CACjB,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import { EPSILON } from "../../../../../constants";
|
|
4
4
|
import { GestureActivationState } from "../../../../../types/gesture.types";
|
|
5
|
-
import { shouldDeferToChildClaim } from "../../ownership/resolve-ownership";
|
|
6
5
|
import { getPanSnapAxisConfigForDirection } from "../../shared/directions";
|
|
7
6
|
import { resolveRuntimeSnapPoints } from "../../shared/snap-points";
|
|
8
7
|
import { checkScrollBoundary, resolveOffsetRules } from "./pan-activation-rules";
|
|
@@ -52,19 +51,15 @@ const resolveOffsetFailureDecision = offset => {
|
|
|
52
51
|
}
|
|
53
52
|
return createDecision("fail", "offset-failed", null, offset.nextActivationState);
|
|
54
53
|
};
|
|
55
|
-
const resolveDirectionGateDecision = (swipeDirection,
|
|
54
|
+
const resolveDirectionGateDecision = (swipeDirection, offset, gestureOwners, currentScreenKey) => {
|
|
56
55
|
"worklet";
|
|
57
56
|
|
|
58
57
|
if (!swipeDirection) {
|
|
59
58
|
return createDecision("wait", "no-direction", null, offset.nextActivationState);
|
|
60
59
|
}
|
|
61
|
-
if (
|
|
60
|
+
if (gestureOwners[swipeDirection] !== currentScreenKey) {
|
|
62
61
|
return createDecision("fail", "ownership", swipeDirection, offset.nextActivationState);
|
|
63
62
|
}
|
|
64
|
-
const childClaim = childDirectionClaims[swipeDirection];
|
|
65
|
-
if (shouldDeferToChildClaim(childClaim, currentScreenKey)) {
|
|
66
|
-
return createDecision("fail", "child-claim", swipeDirection, offset.nextActivationState);
|
|
67
|
-
}
|
|
68
63
|
if (offset.nextActivationState !== GestureActivationState.PASSED) {
|
|
69
64
|
return createDecision("wait", "threshold-pending", swipeDirection, offset.nextActivationState);
|
|
70
65
|
}
|
|
@@ -166,7 +161,7 @@ export const resolvePanActivationMoveDecision = ({
|
|
|
166
161
|
initialTouch,
|
|
167
162
|
activationState,
|
|
168
163
|
ancestorDismissing,
|
|
169
|
-
|
|
164
|
+
gestureOwners,
|
|
170
165
|
currentScreenKey,
|
|
171
166
|
scrollState
|
|
172
167
|
}) => {
|
|
@@ -192,7 +187,7 @@ export const resolvePanActivationMoveDecision = ({
|
|
|
192
187
|
return createDecision("activate", "already-dragging", null, offset.nextActivationState);
|
|
193
188
|
}
|
|
194
189
|
const swipeDirection = getSwipeDirection(offset);
|
|
195
|
-
const directionGateDecision = resolveDirectionGateDecision(swipeDirection,
|
|
190
|
+
const directionGateDecision = resolveDirectionGateDecision(swipeDirection, offset, gestureOwners, currentScreenKey);
|
|
196
191
|
if (directionGateDecision) return directionGateDecision;
|
|
197
192
|
const activeDirection = swipeDirection;
|
|
198
193
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EPSILON","GestureActivationState","
|
|
1
|
+
{"version":3,"names":["EPSILON","GestureActivationState","getPanSnapAxisConfigForDirection","resolveRuntimeSnapPoints","checkScrollBoundary","resolveOffsetRules","createDecision","action","reason","direction","nextActivationState","getSwipeDirection","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","resolvePreflightDecision","event","runtime","ancestorDismissing","numberOfTouches","FAILED","participation","canTrackGesture","policy","enabled","resolveOffsetFailureDecision","offset","resolveDirectionGateDecision","swipeDirection","gestureOwners","currentScreenKey","PASSED","resolveSnapLockDecision","hasSnapPoints","gestureSnapLocked","isExpandGesture","resolveSnapScrollExpansionDecision","stores","animations","system","hasAutoSnapPoint","snapPoints","minSnapPoint","maxSnapPoint","effectiveSnapPoints","sheetScrollGestureBehavior","resolvedMaxSnapPoint","resolvedAutoSnapPoint","get","canDismiss","canExpandMore","transitionProgress","targetProgress","resolveDismissingDecision","isDismissing","isVerticalDirection","resolveUntouchedScrollDecision","scrollState","axisState","vertical","horizontal","isTouched","resolveScrollBoundaryDecision","activeSnapAxis","atBoundary","config","inverted","resolveScrollDecision","dismissingDecision","Boolean","gestures","dismissing","untouchedScrollDecision","activeScrollState","boundaryDecision","snapExpandDecision","resolvePanActivationMoveDecision","dimensions","initialTouch","activationState","preflightDecision","touch","changedTouches","directions","panActivationDirections","activationArea","gestureActivationArea","offsetFailureDecision","dragging","directionGateDecision","activeDirection","snapAxisDirections","expand","snapLockDecision"],"sourceRoot":"../../../../../../../src","sources":["providers/screen/gestures/pan/activation/pan-activation-decision.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ import { resolvePanRuntime } from "../../shared/runtime";
|
|
|
10
10
|
import { resolvePanActivationMoveDecision } from "./pan-activation-decision";
|
|
11
11
|
export const usePanActivation = ({
|
|
12
12
|
scrollState,
|
|
13
|
-
|
|
13
|
+
gestureOwners,
|
|
14
14
|
runtime,
|
|
15
15
|
screenOptions,
|
|
16
16
|
dimensions,
|
|
@@ -69,7 +69,7 @@ export const usePanActivation = ({
|
|
|
69
69
|
initialTouch: initialTouch.get(),
|
|
70
70
|
activationState: currentActivationState,
|
|
71
71
|
ancestorDismissing: Boolean(ancestorDismissing?.get()),
|
|
72
|
-
|
|
72
|
+
gestureOwners: gestureOwners.get(),
|
|
73
73
|
currentScreenKey,
|
|
74
74
|
scrollState: scrollState.get()
|
|
75
75
|
});
|
|
@@ -88,7 +88,7 @@ export const usePanActivation = ({
|
|
|
88
88
|
pendingDirection.set(decision.direction);
|
|
89
89
|
}
|
|
90
90
|
stateManager.activate();
|
|
91
|
-
}, [ancestorDismissing,
|
|
91
|
+
}, [ancestorDismissing, currentScreenKey, dimensions, gestureActivationState, initialTouch, pendingDirection, gestureOwners, runtime, screenOptions, scrollState, gestureCompositionOwner]);
|
|
92
92
|
return useMemo(() => ({
|
|
93
93
|
onTouchesDown,
|
|
94
94
|
onTouchesMove,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","useSharedValue","GestureStore","GestureActivationState","useDescriptorsStore","useCurrentScreenRelationships","resolvePanRuntime","resolvePanActivationMoveDecision","usePanActivation","scrollState","
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useSharedValue","GestureStore","GestureActivationState","useDescriptorsStore","useCurrentScreenRelationships","resolvePanRuntime","resolvePanActivationMoveDecision","usePanActivation","scrollState","gestureOwners","runtime","screenOptions","dimensions","gestureCompositionOwner","currentScreenKey","store","derivations","parentScreenKey","ancestorDismissing","peekBag","dismissing","initialTouch","x","y","gestureActivationState","PENDING","pendingDirection","onTouchesDown","event","stateManager","participation","get","canTrackGesture","set","FAILED","fail","firstTouch","changedTouches","onTouchesMove","currentActivationState","resolvedRuntime","policy","enabled","activate","decision","activationState","Boolean","nextActivationState","action","direction"],"sourceRoot":"../../../../../../../src","sources":["providers/screen/gestures/pan/activation/use-pan-activation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ import { usePanBehavior } from "./behavior/use-pan-behavior";
|
|
|
10
10
|
export const useBuildPanGesture = ({
|
|
11
11
|
scrollState,
|
|
12
12
|
gestureConfig,
|
|
13
|
-
|
|
13
|
+
gestureOwners,
|
|
14
14
|
gestureCompositionOwner
|
|
15
15
|
}) => {
|
|
16
16
|
const dimensions = useWindowDimensions();
|
|
@@ -25,7 +25,7 @@ export const useBuildPanGesture = ({
|
|
|
25
25
|
});
|
|
26
26
|
const activation = usePanActivation({
|
|
27
27
|
scrollState,
|
|
28
|
-
|
|
28
|
+
gestureOwners,
|
|
29
29
|
runtime,
|
|
30
30
|
screenOptions,
|
|
31
31
|
dimensions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useWindowDimensions","Gesture","useScreenOptionsStore","useStableRuntimeConfig","usePanActivation","usePanBehavior","useBuildPanGesture","scrollState","gestureConfig","
|
|
1
|
+
{"version":3,"names":["useMemo","useWindowDimensions","Gesture","useScreenOptionsStore","useStableRuntimeConfig","usePanActivation","usePanBehavior","useBuildPanGesture","scrollState","gestureConfig","gestureOwners","gestureCompositionOwner","dimensions","participation","pan","policy","screenOptions","runtime","activation","behavior","pendingDirection","panGesture","Pan","enabled","manualActivation","averageTouches","onTouchesDown","onTouchesMove","onStart","onUpdate","onEnd"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/pan/use-build-pan-gesture.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAASC,OAAO,QAAQ,8BAA8B;AAEtD,SAASC,qBAAqB,QAAQ,eAAe;AACrD,SAASC,sBAAsB,QAAQ,oCAAoC;AAQ3E,SAASC,gBAAgB,QAAQ,iCAAiC;AAClE,SAASC,cAAc,QAAQ,6BAA6B;AAS5D,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EAClCC,WAAW;EACXC,aAAa;EACbC,aAAa;EACbC;AACwB,CAAC,KAAiB;EAC1C,MAAMC,UAAU,GAAGX,mBAAmB,CAAC,CAAC;EACxC,MAAM;IAAEY,aAAa;IAAEC,GAAG,EAAEC;EAAO,CAAC,GAAGN,aAAa;EACpD,MAAMO,aAAa,GAAGb,qBAAqB,CAAC,CAAC;EAE7C,MAAMc,OAAO,GAAGb,sBAAsB,CAAC;IACtCS,aAAa;IACbE;EACD,CAAC,CAAC;EAEF,MAAMG,UAAU,GAAGb,gBAAgB,CAAC;IACnCG,WAAW;IACXE,aAAa;IACbO,OAAO;IACPD,aAAa;IACbJ,UAAU;IACVD;EACD,CAAC,CAAC;EAEF,MAAMQ,QAAQ,GAAGb,cAAc,CAC9BW,OAAO,EACPD,aAAa,EACbJ,UAAU,EACVD,uBAAuB,EACvBO,UAAU,CAACE,gBACZ,CAAC;EAED,MAAMC,UAAU,GAAGrB,OAAO,CAAC,MAAM;IAChC,OAAOE,OAAO,CAACoB,GAAG,CAAC,CAAC,CAClBC,OAAO,CAAC,IAAI,CAAC,CACbC,gBAAgB,CAAC,IAAI,CAAC,CACtBC,cAAc,CAAC,IAAI,CAAC,CACpBC,aAAa,CAACR,UAAU,CAACQ,aAAa,CAAC,CACvCC,aAAa,CAACT,UAAU,CAACS,aAAa,CAAC,CACvCC,OAAO,CAACT,QAAQ,CAACS,OAAO,CAAC,CACzBC,QAAQ,CAACV,QAAQ,CAACU,QAAQ,CAAC,CAC3BC,KAAK,CAACX,QAAQ,CAACW,KAAK,CAAC;EACxB,CAAC,EAAE,CAACZ,UAAU,EAAEC,QAAQ,CAAC,CAAC;EAE1B,OAAOE,UAAU;AAClB,CAAC","ignoreList":[]}
|
package/lib/module/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js
CHANGED
|
@@ -8,9 +8,9 @@ import useStableCallback from "../../../../hooks/use-stable-callback";
|
|
|
8
8
|
import { AnimationStore } from "../../../../stores/animation.store";
|
|
9
9
|
import { ScrollStore } from "../../../../stores/scroll.store";
|
|
10
10
|
import { useOptionalScreenGestureStore } from "../gestures.provider";
|
|
11
|
+
import { useGestureScrollCoordination } from "../ownership/use-gesture-scroll-coordination";
|
|
11
12
|
import { useOptionalScrollMetadataOwnerStore, useScrollMetadataOwnerProviderValue } from "./scroll-metadata-owner";
|
|
12
13
|
import { clearScrollMetadataAxisState, updateScrollGestureAxisState, updateScrollMetadataAxisState } from "./update-scroll-gesture-state";
|
|
13
|
-
import { walkUpScrollGestureCoordination } from "./walk-up-scroll-gesture-coordination";
|
|
14
14
|
const modifyScrollGestureAxisState = (scrollState, axis, patch) => {
|
|
15
15
|
"worklet";
|
|
16
16
|
|
|
@@ -51,19 +51,18 @@ const clearScrollMetadataAxis = (scrollState, axis) => {
|
|
|
51
51
|
export const useScrollGestureCoordination = props => {
|
|
52
52
|
const context = useOptionalScreenGestureStore();
|
|
53
53
|
const scrollDirection = props.direction ?? "vertical";
|
|
54
|
-
const
|
|
55
|
-
const metadataOwnerContext = useOptionalScrollMetadataOwnerStore();
|
|
56
|
-
const metadataOwnerProviderValue = useScrollMetadataOwnerProviderValue(scrollDirection);
|
|
57
|
-
const isFirstMetadataWriterInTree = !metadataOwnerContext?.[scrollDirection];
|
|
58
|
-
const [metadataWriterId] = useState(() => ScrollStore.createMetadataWriterId());
|
|
59
|
-
const [writesMetadata, setWritesMetadata] = useState(false);
|
|
54
|
+
const routeKey = context?.routeKey ?? null;
|
|
60
55
|
const {
|
|
61
56
|
scrollStates,
|
|
62
57
|
panGestures,
|
|
63
58
|
pinchGestures,
|
|
64
59
|
ownerRouteKeys
|
|
65
|
-
} =
|
|
66
|
-
const
|
|
60
|
+
} = useGestureScrollCoordination(routeKey, scrollDirection);
|
|
61
|
+
const metadataOwnerContext = useOptionalScrollMetadataOwnerStore();
|
|
62
|
+
const metadataOwnerProviderValue = useScrollMetadataOwnerProviderValue(scrollDirection);
|
|
63
|
+
const isFirstMetadataWriterInTree = !metadataOwnerContext?.[scrollDirection];
|
|
64
|
+
const [metadataWriterId] = useState(() => ScrollStore.createMetadataWriterId());
|
|
65
|
+
const [writesMetadata, setWritesMetadata] = useState(false);
|
|
67
66
|
const metadataState = useMemo(() => routeKey ? ScrollStore.getValue(routeKey, "metadata") : null, [routeKey]);
|
|
68
67
|
useLayoutEffect(() => {
|
|
69
68
|
if (!routeKey || !isFirstMetadataWriterInTree) {
|
|
@@ -94,7 +93,10 @@ export const useScrollGestureCoordination = props => {
|
|
|
94
93
|
return true;
|
|
95
94
|
}));
|
|
96
95
|
const nativeGesture = useMemo(() => {
|
|
97
|
-
|
|
96
|
+
// Ownership registrations disappear while a screen's Activity is paused.
|
|
97
|
+
// Keep its detector mounted through that gap: removing the wrapper remounts
|
|
98
|
+
// scroll children and loses state, including captured boundary measurements.
|
|
99
|
+
if (!routeKey) return null;
|
|
98
100
|
const setIsTouched = () => {
|
|
99
101
|
"worklet";
|
|
100
102
|
|
|
@@ -140,7 +142,7 @@ export const useScrollGestureCoordination = props => {
|
|
|
140
142
|
});
|
|
141
143
|
}
|
|
142
144
|
return gesture;
|
|
143
|
-
}, [panGestures, pinchGestures, scrollStates, scrollDirection, writesMetadata, metadataState]);
|
|
145
|
+
}, [routeKey, panGestures, pinchGestures, scrollStates, scrollDirection, writesMetadata, metadataState]);
|
|
144
146
|
const scrollHandler = useAnimatedScrollHandler({
|
|
145
147
|
onScroll: event => {
|
|
146
148
|
const offset = scrollDirection === "horizontal" ? event.contentOffset.x : event.contentOffset.y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useLayoutEffect","useMemo","useState","Gesture","useAnimatedScrollHandler","useDerivedValue","useSharedValueState","useStableCallback","AnimationStore","ScrollStore","useOptionalScreenGestureStore","useOptionalScrollMetadataOwnerStore","useScrollMetadataOwnerProviderValue","clearScrollMetadataAxisState","updateScrollGestureAxisState","updateScrollMetadataAxisState","
|
|
1
|
+
{"version":3,"names":["useLayoutEffect","useMemo","useState","Gesture","useAnimatedScrollHandler","useDerivedValue","useSharedValueState","useStableCallback","AnimationStore","ScrollStore","useOptionalScreenGestureStore","useGestureScrollCoordination","useOptionalScrollMetadataOwnerStore","useScrollMetadataOwnerProviderValue","clearScrollMetadataAxisState","updateScrollGestureAxisState","updateScrollMetadataAxisState","modifyScrollGestureAxisState","scrollState","axis","patch","modify","state","modifyScrollMetadataAxisState","clearScrollMetadataAxis","useScrollGestureCoordination","props","context","scrollDirection","direction","routeKey","scrollStates","panGestures","pinchGestures","ownerRouteKeys","metadataOwnerContext","metadataOwnerProviderValue","isFirstMetadataWriterInTree","metadataWriterId","createMetadataWriterId","writesMetadata","setWritesMetadata","metadataState","getValue","claimed","claimMetadataWriter","released","releaseMetadataWriter","hasMetadataWriters","set","ownerClosingValues","map","scrollEventsEnabled","i","length","get","nativeGesture","setIsTouched","isTouched","clearIsTouched","gesture","Native","onTouchesDown","onTouchesUp","onTouchesCancelled","panGesture","requireExternalGestureToFail","current","pinchGesture","simultaneousWithExternalGesture","scrollHandler","onScroll","event","offset","contentOffset","x","y","onContentSizeChange","width","height","contentSize","onLayout","nativeEvent","layout","layoutSize"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import { DEFAULT_GESTURE_ACTIVATION_AREA, DEFAULT_GESTURE_DIRECTION, DEFAULT_GESTURE_RELEASE_VELOCITY_SCALE, DEFAULT_GESTURE_SENSITIVITY, DEFAULT_GESTURE_SNAP_LOCKED, DEFAULT_GESTURE_SNAP_VELOCITY_IMPACT, DEFAULT_GESTURE_TRACKING, DEFAULT_GESTURE_VELOCITY_IMPACT, DEFAULT_SHEET_SCROLL_GESTURE_BEHAVIOR, DEFAULT_SHEET_SNAP_BEHAVIOR } from "../../../../constants";
|
|
4
4
|
import { computeClaimedDirections } from "../ownership/compute-claimed-directions";
|
|
5
|
-
import { resolveOwnership } from "../ownership/resolve-ownership";
|
|
6
5
|
import { getGestureDirectionEntries, getGestureDirectionEntryGesture, getPanActivationDirections, getPanGestureDirections, getPanSnapAxisDirections, getPinchGestureDirections, getSnapPinchDirectionConfig } from "./directions";
|
|
7
6
|
import { validateSnapPoints } from "./snap-points";
|
|
8
7
|
const resolveGestureDirection = options => {
|
|
@@ -176,8 +175,7 @@ export const resolvePinchPolicy = (options, hasSnapPoints) => {
|
|
|
176
175
|
};
|
|
177
176
|
const resolveGestureParticipation = ({
|
|
178
177
|
options,
|
|
179
|
-
isFirstKey
|
|
180
|
-
ancestorGestures
|
|
178
|
+
isFirstKey
|
|
181
179
|
}) => {
|
|
182
180
|
const canDismiss = resolveGestureCanDismiss({
|
|
183
181
|
isFirstKey,
|
|
@@ -199,19 +197,16 @@ const resolveGestureParticipation = ({
|
|
|
199
197
|
canDismiss,
|
|
200
198
|
canTrackGesture,
|
|
201
199
|
effectiveSnapPoints,
|
|
202
|
-
claimedDirections
|
|
203
|
-
ownershipStatus: resolveOwnership(claimedDirections, ancestorGestures)
|
|
200
|
+
claimedDirections
|
|
204
201
|
};
|
|
205
202
|
};
|
|
206
203
|
export const resolveScreenGestureConfig = ({
|
|
207
204
|
options,
|
|
208
|
-
isFirstKey
|
|
209
|
-
ancestorGestures
|
|
205
|
+
isFirstKey
|
|
210
206
|
}) => {
|
|
211
207
|
const participation = resolveGestureParticipation({
|
|
212
208
|
options,
|
|
213
|
-
isFirstKey
|
|
214
|
-
ancestorGestures
|
|
209
|
+
isFirstKey
|
|
215
210
|
});
|
|
216
211
|
const hasSnapPoints = participation.effectiveSnapPoints.hasSnapPoints;
|
|
217
212
|
return {
|