react-native-screen-transitions 3.7.1 → 3.8.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/blank-stack/components/stack-view.js +2 -2
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/component-stack/components/stack-view.js +2 -2
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +1 -10
- package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
- package/lib/commonjs/shared/components/create-transition-aware-component.js +7 -5
- package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +7 -12
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/scene-view.js +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +7 -7
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +2 -2
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/index.js +2 -2
- package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -1
- package/lib/commonjs/shared/constants.js +3 -13
- package/lib/commonjs/shared/constants.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +1 -3
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +15 -12
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js +2 -6
- package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +7 -23
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js +14 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +3 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +22 -9
- package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/compute-claimed-directions.js +2 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/compute-claimed-directions.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-activation-decision.js → activation/pan-activation-decision.js} +12 -6
- package/lib/commonjs/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-activation-rules.js → activation/pan-activation-rules.js} +12 -9
- package/lib/commonjs/shared/providers/screen/gestures/pan/activation/pan-activation-rules.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-activation.js → activation/use-pan-activation.js} +15 -10
- package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-lifecycle.js → behavior/pan-lifecycle.js} +29 -8
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-release.js → behavior/pan-release.js} +5 -5
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-reset.js → behavior/pan-reset.js} +21 -11
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/{use-pan-behavior.js → behavior/use-pan-behavior.js} +34 -8
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/{build-pan-gesture.js → use-build-pan-gesture.js} +10 -8
- package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/{pinch-activation.js → activation/use-pinch-activation.js} +12 -5
- package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/{pinch-lifecycle.js → behavior/pinch-lifecycle.js} +7 -7
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/{pinch-release.js → behavior/pinch-release.js} +4 -4
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/{pinch-reset.js → behavior/pinch-reset.js} +6 -3
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/{use-pinch-behavior.js → behavior/use-pinch-behavior.js} +6 -5
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/{build-pinch-gesture.js → use-build-pinch-gesture.js} +9 -7
- package/lib/commonjs/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js +62 -0
- package/lib/commonjs/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js +21 -0
- package/lib/commonjs/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js +29 -0
- package/lib/commonjs/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js +45 -0
- package/lib/commonjs/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/index.js +7 -0
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +40 -0
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js +51 -13
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +74 -6
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/directions.js +17 -5
- package/lib/commonjs/shared/providers/screen/gestures/shared/directions.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +67 -2
- package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js +3 -12
- package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/runtime.js +1 -10
- package/lib/commonjs/shared/providers/screen/gestures/shared/runtime.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/types.js +2 -0
- package/lib/commonjs/shared/providers/screen/gestures/types.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/options/helpers.js +60 -24
- package/lib/commonjs/shared/providers/screen/options/helpers.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/components/{maybe-floating-container.js → floating-overlay-layer.js} +5 -5
- package/lib/commonjs/shared/providers/screen/styles/components/floating-overlay-layer.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/styles.provider.js +3 -3
- package/lib/commonjs/shared/providers/screen/styles/styles.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state/managed-stack-controller.js → blank-stack-state/blank-stack-controller.js} +11 -11
- package/lib/commonjs/shared/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state/helpers/build-managed-stack-state.js → blank-stack-state/helpers/build-blank-stack-state.js} +18 -18
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js +58 -0
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/navigation/compose-descriptors.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/navigation/resolve-scene-neighbors.js.map +1 -0
- package/lib/commonjs/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/sync-routes-with-removed.js +6 -23
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/navigation/sync-routes-with-removed.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state/helpers/reconcile-managed-routes.js → blank-stack-state/helpers/reconcile-blank-stack-routes.js} +8 -8
- package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map → blank-stack-state/helpers/reconcile-blank-stack-routes.js.map} +1 -1
- package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state/helpers/helpers.js → blank-stack-state/helpers/state-equality.js} +1 -1
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/types.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/index.js +5 -5
- package/lib/commonjs/shared/providers/stack/blank-stack-state/index.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/{managed.provider.js → blank-stack.provider.js} +20 -27
- package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/direct.provider.js +3 -13
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/shared/stores/animation.store.js +2 -0
- package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
- package/lib/commonjs/shared/stores/gesture.store.js +5 -1
- package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
- package/lib/commonjs/shared/stores/scroll.store.js +49 -5
- package/lib/commonjs/shared/stores/scroll.store.js.map +1 -1
- package/lib/commonjs/shared/stores/system.store.js +1 -4
- package/lib/commonjs/shared/stores/system.store.js.map +1 -1
- package/lib/commonjs/shared/types/animation.types.js.map +1 -1
- package/lib/commonjs/shared/types/gesture.types.js +12 -0
- package/lib/commonjs/shared/types/gesture.types.js.map +1 -1
- package/lib/commonjs/shared/types/providers/blank-stack-provider.types.js +6 -0
- package/lib/commonjs/shared/types/providers/blank-stack-provider.types.js.map +1 -0
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js +10 -4
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/commonjs/shared/utils/animation/animate.js +22 -5
- package/lib/commonjs/shared/utils/animation/animate.js.map +1 -1
- package/lib/commonjs/shared/utils/animation/spring/index.js +13 -0
- package/lib/commonjs/shared/utils/animation/spring/index.js.map +1 -0
- package/lib/commonjs/shared/utils/animation/spring/spring.js +248 -0
- package/lib/commonjs/shared/utils/animation/spring/spring.js.map +1 -0
- package/lib/commonjs/shared/{types/providers/managed-stack.types.js → utils/animation/spring/springConfigs.js} +1 -1
- package/lib/commonjs/shared/utils/animation/spring/springConfigs.js.map +1 -0
- package/lib/commonjs/shared/utils/animation/spring/springUtils.js +313 -0
- package/lib/commonjs/shared/utils/animation/spring/springUtils.js.map +1 -0
- package/lib/commonjs/shared/utils/animation/state.js +2 -0
- package/lib/commonjs/shared/utils/animation/state.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +5 -5
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +4 -4
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/module/blank-stack/components/stack-view.js +2 -2
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/component-stack/components/stack-view.js +2 -2
- package/lib/module/component-stack/components/stack-view.js.map +1 -1
- package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +1 -10
- package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js +1 -1
- package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
- package/lib/module/shared/components/create-transition-aware-component.js +8 -6
- package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/float-overlay.js +7 -12
- package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/module/shared/components/scene-view.js +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +7 -7
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +2 -2
- package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/index.js +2 -2
- package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
- package/lib/module/shared/constants.js +2 -12
- package/lib/module/shared/constants.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-screen-state.js +1 -3
- package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +15 -12
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js +2 -6
- package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +8 -24
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js +14 -1
- package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +3 -1
- package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/gestures.provider.js +20 -7
- package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/ownership/compute-claimed-directions.js +2 -1
- package/lib/module/shared/providers/screen/gestures/ownership/compute-claimed-directions.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/{pan-activation-decision.js → activation/pan-activation-decision.js} +12 -6
- package/lib/module/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/{pan-activation-rules.js → activation/pan-activation-rules.js} +12 -9
- package/lib/module/shared/providers/screen/gestures/pan/activation/pan-activation-rules.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/{pan-activation.js → activation/use-pan-activation.js} +15 -10
- package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/{pan-lifecycle.js → behavior/pan-lifecycle.js} +29 -8
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/{pan-release.js → behavior/pan-release.js} +5 -5
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/{pan-reset.js → behavior/pan-reset.js} +21 -11
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +75 -0
- package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/{build-pan-gesture.js → use-build-pan-gesture.js} +9 -7
- package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pinch/{pinch-activation.js → activation/use-pinch-activation.js} +12 -5
- package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pinch/{pinch-lifecycle.js → behavior/pinch-lifecycle.js} +7 -7
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pinch/{pinch-release.js → behavior/pinch-release.js} +4 -4
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pinch/{pinch-reset.js → behavior/pinch-reset.js} +6 -3
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pinch/{use-pinch-behavior.js → behavior/use-pinch-behavior.js} +6 -5
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pinch/{build-pinch-gesture.js → use-build-pinch-gesture.js} +8 -6
- package/lib/module/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js +57 -0
- package/lib/module/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js +15 -0
- package/lib/module/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js +24 -0
- package/lib/module/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js +40 -0
- package/lib/module/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/index.js +1 -0
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/index.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +33 -0
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js +48 -12
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +76 -8
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/directions.js +14 -4
- package/lib/module/shared/providers/screen/gestures/shared/directions.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/policy.js +68 -3
- package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/reset.js +4 -13
- package/lib/module/shared/providers/screen/gestures/shared/reset.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/runtime.js +1 -10
- package/lib/module/shared/providers/screen/gestures/shared/runtime.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/snap-points.js +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/snap-points.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/types.js +2 -0
- package/lib/module/shared/providers/screen/gestures/types.js.map +1 -1
- package/lib/module/shared/providers/screen/options/helpers.js +60 -24
- package/lib/module/shared/providers/screen/options/helpers.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/components/{maybe-floating-container.js → floating-overlay-layer.js} +4 -4
- package/lib/module/shared/providers/screen/styles/components/floating-overlay-layer.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/styles.provider.js +3 -3
- package/lib/module/shared/providers/screen/styles/styles.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/{helpers/managed-stack-state/managed-stack-controller.js → blank-stack-state/blank-stack-controller.js} +9 -9
- package/lib/module/shared/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -0
- package/lib/module/shared/providers/stack/{helpers/managed-stack-state/helpers/build-managed-stack-state.js → blank-stack-state/helpers/build-blank-stack-state.js} +10 -10
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -0
- package/lib/module/shared/providers/stack/{helpers/managed-stack-state/helpers/derive-managed-stack-state.js → blank-stack-state/helpers/derive-blank-stack-state.js} +7 -7
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -0
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/navigation/compose-descriptors.js.map +1 -0
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/navigation/resolve-scene-neighbors.js.map +1 -0
- package/lib/module/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/sync-routes-with-removed.js +6 -23
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/navigation/sync-routes-with-removed.js.map +1 -0
- package/lib/module/shared/providers/stack/{helpers/managed-stack-state/helpers/reconcile-managed-routes.js → blank-stack-state/helpers/reconcile-blank-stack-routes.js} +5 -5
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.js.map +1 -0
- package/lib/module/shared/providers/stack/{helpers/managed-stack-state/helpers/helpers.js → blank-stack-state/helpers/state-equality.js} +1 -1
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -0
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/types.js.map +1 -0
- package/lib/module/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/index.js +3 -3
- package/lib/module/shared/providers/stack/blank-stack-state/index.js.map +1 -0
- package/lib/module/shared/providers/stack/{managed.provider.js → blank-stack.provider.js} +19 -26
- package/lib/module/shared/providers/stack/blank-stack.provider.js.map +1 -0
- package/lib/module/shared/providers/stack/direct.provider.js +3 -13
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/shared/stores/animation.store.js +2 -0
- package/lib/module/shared/stores/animation.store.js.map +1 -1
- package/lib/module/shared/stores/gesture.store.js +5 -1
- package/lib/module/shared/stores/gesture.store.js.map +1 -1
- package/lib/module/shared/stores/scroll.store.js +49 -5
- package/lib/module/shared/stores/scroll.store.js.map +1 -1
- package/lib/module/shared/stores/system.store.js +1 -4
- package/lib/module/shared/stores/system.store.js.map +1 -1
- package/lib/module/shared/types/animation.types.js.map +1 -1
- package/lib/module/shared/types/gesture.types.js +16 -0
- package/lib/module/shared/types/gesture.types.js.map +1 -1
- package/lib/module/shared/types/providers/blank-stack-provider.types.js +4 -0
- package/lib/module/shared/types/providers/blank-stack-provider.types.js.map +1 -0
- package/lib/module/shared/utils/animation/animate-to-progress.js +11 -5
- package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/module/shared/utils/animation/animate.js +21 -5
- package/lib/module/shared/utils/animation/animate.js.map +1 -1
- package/lib/module/shared/utils/animation/spring/index.js +4 -0
- package/lib/module/shared/utils/animation/spring/index.js.map +1 -0
- package/lib/module/shared/utils/animation/spring/spring.js +243 -0
- package/lib/module/shared/utils/animation/spring/spring.js.map +1 -0
- package/lib/module/shared/utils/animation/spring/springConfigs.js +4 -0
- package/lib/module/shared/utils/animation/spring/springConfigs.js.map +1 -0
- package/lib/module/shared/utils/animation/spring/springUtils.js +300 -0
- package/lib/module/shared/utils/animation/spring/springUtils.js.map +1 -0
- package/lib/module/shared/utils/animation/state.js +2 -0
- package/lib/module/shared/utils/animation/state.js.map +1 -0
- package/lib/module/shared/utils/bounds/navigation/reveal/build.js +5 -5
- package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js +4 -4
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/typescript/blank-stack/components/stack-view.d.ts +1 -1
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/stack-view.d.ts +1 -1
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/scene-view.d.ts +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts +2 -2
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
- package/lib/typescript/shared/constants.d.ts +0 -9
- package/lib/typescript/shared/constants.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +0 -2
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +13 -13
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/build-screen-transition-options.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +3 -6
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/selected-interpolator-options.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +3 -2
- package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/ownership/compute-claimed-directions.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/gestures/ownership/compute-claimed-directions.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/{pan-activation-decision.d.ts → activation/pan-activation-decision.d.ts} +3 -3
- package/lib/typescript/shared/providers/screen/gestures/pan/activation/pan-activation-decision.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/{pan-activation-rules.d.ts → activation/pan-activation-rules.d.ts} +11 -11
- package/lib/typescript/shared/providers/screen/gestures/pan/activation/pan-activation-rules.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/{pan-activation.d.ts → activation/use-pan-activation.d.ts} +5 -4
- package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/{pan-lifecycle.d.ts → behavior/pan-lifecycle.d.ts} +3 -2
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/{pan-release.d.ts → behavior/pan-release.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-release.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/{pan-reset.d.ts → behavior/pan-reset.d.ts} +4 -3
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-reset.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts +5 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts +11 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/{pinch-activation.d.ts → activation/use-pinch-activation.d.ts} +5 -4
- package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/{pinch-lifecycle.d.ts → behavior/pinch-lifecycle.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/{pinch-release.d.ts → behavior/pinch-release.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-release.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/{pinch-reset.d.ts → behavior/pinch-reset.d.ts} +2 -2
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts +5 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.d.ts +9 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts +15 -0
- package/lib/typescript/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.d.ts +4 -0
- package/lib/typescript/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.d.ts +5 -0
- package/lib/typescript/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts +9 -0
- package/lib/typescript/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/index.d.ts +1 -0
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts +12 -0
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.d.ts +5 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts +4 -0
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/directions.d.ts +8 -6
- package/lib/typescript/shared/providers/screen/gestures/shared/directions.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/reset.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/runtime.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/types.d.ts +15 -5
- package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/options/helpers.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/options/helpers.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/options/types.d.ts +4 -3
- package/lib/typescript/shared/providers/screen/options/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts +7 -0
- package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/blank-stack-controller.d.ts +13 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/blank-stack-controller.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts +13 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.d.ts +12 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.d.ts.map +1 -0
- package/lib/typescript/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/compose-descriptors.d.ts +1 -1
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/navigation/compose-descriptors.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/navigation/resolve-scene-neighbors.d.ts.map +1 -0
- package/lib/typescript/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/sync-routes-with-removed.d.ts +2 -4
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/navigation/sync-routes-with-removed.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts +12 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/{helpers/managed-stack-state/helpers/helpers.d.ts → blank-stack-state/helpers/state-equality.d.ts} +4 -4
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/state-equality.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/types.d.ts +39 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/types.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/index.d.ts +12 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/index.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts +8 -0
- package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/shared/stores/animation.store.d.ts +1 -0
- package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/gesture.store.d.ts +2 -0
- package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/scroll.store.d.ts +15 -8
- package/lib/typescript/shared/stores/scroll.store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/system.store.d.ts +1 -5
- package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +12 -10
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/bounds.types.d.ts +1 -1
- package/lib/typescript/shared/types/gesture.types.d.ts +41 -1
- package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/index.d.ts +1 -1
- package/lib/typescript/shared/types/index.d.ts.map +1 -1
- package/lib/typescript/shared/types/providers/{managed-stack.types.d.ts → blank-stack-provider.types.d.ts} +11 -11
- package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts.map +1 -0
- package/lib/typescript/shared/types/screen.types.d.ts +14 -2
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
- package/lib/typescript/shared/utils/animation/animate.d.ts +8 -3
- package/lib/typescript/shared/utils/animation/animate.d.ts.map +1 -1
- package/lib/typescript/shared/utils/animation/spring/index.d.ts +3 -0
- package/lib/typescript/shared/utils/animation/spring/index.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/spring/spring.d.ts +24 -0
- package/lib/typescript/shared/utils/animation/spring/spring.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/spring/springConfigs.d.ts +46 -0
- package/lib/typescript/shared/utils/animation/spring/springConfigs.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/spring/springUtils.d.ts +68 -0
- package/lib/typescript/shared/utils/animation/spring/springUtils.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/state.d.ts +6 -0
- package/lib/typescript/shared/utils/animation/state.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/navigation/reveal/build.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/blank-stack/components/stack-view.tsx +2 -2
- package/src/component-stack/components/stack-view.tsx +2 -2
- package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +0 -14
- package/src/shared/components/create-boundary-component/hooks/use-measurer.ts +1 -1
- package/src/shared/components/create-transition-aware-component.tsx +14 -6
- package/src/shared/components/overlay/variations/float-overlay.tsx +6 -18
- package/src/shared/components/scene-view.tsx +1 -1
- package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +11 -8
- package/src/shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts +4 -4
- package/src/shared/components/screen-lifecycle/index.tsx +2 -2
- package/src/shared/constants.ts +1 -11
- package/src/shared/hooks/navigation/use-screen-state.ts +1 -7
- package/src/shared/hooks/navigation/use-stack.tsx +0 -2
- package/src/shared/index.ts +4 -0
- package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +19 -16
- package/src/shared/providers/screen/animation/helpers/build-screen-transition-options.ts +2 -17
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.ts +3 -3
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +11 -51
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +3 -7
- package/src/shared/providers/screen/animation/helpers/pipeline.ts +1 -1
- package/src/shared/providers/screen/animation/helpers/selected-interpolator-options.ts +24 -1
- package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +6 -5
- package/src/shared/providers/screen/gestures/gestures.provider.tsx +22 -5
- package/src/shared/providers/screen/gestures/ownership/compute-claimed-directions.ts +6 -9
- package/src/shared/providers/screen/gestures/pan/{pan-activation-decision.ts → activation/pan-activation-decision.ts} +17 -8
- package/src/shared/providers/screen/gestures/pan/{pan-activation-rules.ts → activation/pan-activation-rules.ts} +32 -25
- package/src/shared/providers/screen/gestures/pan/{pan-activation.ts → activation/use-pan-activation.ts} +23 -12
- package/src/shared/providers/screen/gestures/pan/{pan-lifecycle.ts → behavior/pan-lifecycle.ts} +46 -8
- package/src/shared/providers/screen/gestures/pan/{pan-release.ts → behavior/pan-release.ts} +6 -6
- package/src/shared/providers/screen/gestures/pan/{pan-reset.ts → behavior/pan-reset.ts} +22 -12
- package/src/shared/providers/screen/gestures/pan/{use-pan-behavior.ts → behavior/use-pan-behavior.ts} +43 -10
- package/src/shared/providers/screen/gestures/pan/{build-pan-gesture.ts → use-build-pan-gesture.ts} +15 -6
- package/src/shared/providers/screen/gestures/pinch/{pinch-activation.ts → activation/use-pinch-activation.ts} +17 -5
- package/src/shared/providers/screen/gestures/pinch/{pinch-lifecycle.ts → behavior/pinch-lifecycle.ts} +10 -8
- package/src/shared/providers/screen/gestures/pinch/{pinch-release.ts → behavior/pinch-release.ts} +5 -5
- package/src/shared/providers/screen/gestures/pinch/{pinch-reset.ts → behavior/pinch-reset.ts} +11 -5
- package/src/shared/providers/screen/gestures/pinch/{use-pinch-behavior.ts → behavior/use-pinch-behavior.ts} +16 -6
- package/src/shared/providers/screen/gestures/pinch/{build-pinch-gesture.ts → use-build-pinch-gesture.ts} +18 -6
- package/src/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.ts +87 -0
- package/src/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.ts +19 -0
- package/src/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.ts +47 -0
- package/src/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.ts +55 -0
- package/src/shared/providers/screen/gestures/scroll-coordination/index.ts +1 -0
- package/src/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.tsx +43 -0
- package/src/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.ts +59 -4
- package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +130 -8
- package/src/shared/providers/screen/gestures/shared/directions.ts +27 -13
- package/src/shared/providers/screen/gestures/shared/policy.ts +99 -5
- package/src/shared/providers/screen/gestures/shared/reset.ts +9 -17
- package/src/shared/providers/screen/gestures/shared/runtime.ts +1 -14
- package/src/shared/providers/screen/gestures/shared/snap-points.ts +1 -1
- package/src/shared/providers/screen/gestures/types.ts +22 -3
- package/src/shared/providers/screen/options/helpers.ts +85 -30
- package/src/shared/providers/screen/options/types.ts +6 -5
- package/src/shared/providers/screen/styles/components/{maybe-floating-container.tsx → floating-overlay-layer.tsx} +6 -6
- package/src/shared/providers/screen/styles/styles.provider.tsx +3 -3
- package/src/shared/providers/stack/{helpers/managed-stack-state/managed-stack-controller.ts → blank-stack-state/blank-stack-controller.ts} +22 -20
- package/src/shared/providers/stack/{helpers/managed-stack-state/helpers/build-managed-stack-state.ts → blank-stack-state/helpers/build-blank-stack-state.ts} +28 -25
- package/src/shared/providers/stack/{helpers/managed-stack-state/helpers/derive-managed-stack-state.ts → blank-stack-state/helpers/derive-blank-stack-state.ts} +13 -13
- package/src/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/compose-descriptors.ts +1 -1
- package/src/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/sync-routes-with-removed.ts +8 -40
- package/src/shared/providers/stack/{helpers/managed-stack-state/helpers/reconcile-managed-routes.ts → blank-stack-state/helpers/reconcile-blank-stack-routes.ts} +26 -22
- package/src/shared/providers/stack/{helpers/managed-stack-state/helpers/helpers.ts → blank-stack-state/helpers/state-equality.ts} +4 -4
- package/src/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/helpers/types.ts +16 -15
- package/src/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/index.ts +9 -9
- package/src/shared/providers/stack/blank-stack.provider.tsx +118 -0
- package/src/shared/providers/stack/direct.provider.tsx +38 -54
- package/src/shared/stores/animation.store.ts +3 -0
- package/src/shared/stores/gesture.store.ts +6 -0
- package/src/shared/stores/scroll.store.ts +80 -7
- package/src/shared/stores/system.store.ts +1 -9
- package/src/shared/types/animation.types.ts +12 -14
- package/src/shared/types/bounds.types.ts +1 -1
- package/src/shared/types/gesture.types.ts +51 -1
- package/src/shared/types/index.ts +8 -0
- package/src/shared/types/providers/{managed-stack.types.ts → blank-stack-provider.types.ts} +10 -10
- package/src/shared/types/screen.types.ts +15 -2
- package/src/shared/utils/animation/animate-to-progress.ts +18 -7
- package/src/shared/utils/animation/animate.ts +44 -21
- package/src/shared/utils/animation/spring/index.ts +2 -0
- package/src/shared/utils/animation/spring/spring.ts +347 -0
- package/src/shared/utils/animation/spring/springConfigs.ts +46 -0
- package/src/shared/utils/animation/spring/springUtils.ts +418 -0
- package/src/shared/utils/animation/state.ts +6 -0
- package/src/shared/utils/bounds/navigation/reveal/build.ts +5 -9
- package/src/shared/utils/bounds/navigation/zoom/build.ts +4 -6
- package/lib/commonjs/shared/hooks/navigation/use-closing-route-keys.js +0 -61
- package/lib/commonjs/shared/hooks/navigation/use-closing-route-keys.js.map +0 -1
- package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js +0 -20
- package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js +0 -29
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/build-pan-gesture.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-decision.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-rules.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-release.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-reset.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/build-pinch-gesture.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-activation.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-release.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-reset.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/styles/components/maybe-floating-container.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js +0 -58
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/index.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-closing-route-map.js +0 -30
- package/lib/commonjs/shared/providers/stack/helpers/use-closing-route-map.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-processed-routes.js +0 -58
- package/lib/commonjs/shared/providers/stack/helpers/use-processed-routes.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-stack-derived.js +0 -27
- package/lib/commonjs/shared/providers/stack/helpers/use-stack-derived.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/managed.provider.js.map +0 -1
- package/lib/commonjs/shared/types/providers/managed-stack.types.js.map +0 -1
- package/lib/commonjs/shared/utils/navigation/compose-descriptors.js.map +0 -1
- package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js.map +0 -1
- package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +0 -1
- package/lib/module/shared/hooks/navigation/use-closing-route-keys.js +0 -55
- package/lib/module/shared/hooks/navigation/use-closing-route-keys.js.map +0 -1
- package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js +0 -17
- package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js.map +0 -1
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js +0 -22
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pan/build-pan-gesture.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pan/pan-activation-decision.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pan/pan-activation-rules.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pan/pan-activation.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pan/pan-release.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pan/pan-reset.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js +0 -49
- package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pinch/build-pinch-gesture.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-activation.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-release.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-reset.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +0 -1
- package/lib/module/shared/providers/screen/styles/components/maybe-floating-container.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/index.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/use-closing-route-map.js +0 -25
- package/lib/module/shared/providers/stack/helpers/use-closing-route-map.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/use-processed-routes.js +0 -54
- package/lib/module/shared/providers/stack/helpers/use-processed-routes.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/use-stack-derived.js +0 -23
- package/lib/module/shared/providers/stack/helpers/use-stack-derived.js.map +0 -1
- package/lib/module/shared/providers/stack/managed.provider.js.map +0 -1
- package/lib/module/shared/types/providers/managed-stack.types.js +0 -4
- package/lib/module/shared/types/providers/managed-stack.types.js.map +0 -1
- package/lib/module/shared/utils/navigation/compose-descriptors.js.map +0 -1
- package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js.map +0 -1
- package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +0 -1
- package/lib/typescript/shared/hooks/navigation/use-closing-route-keys.d.ts +0 -8
- package/lib/typescript/shared/hooks/navigation/use-closing-route-keys.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts +0 -7
- package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.d.ts +0 -5
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/build-pan-gesture.d.ts +0 -10
- package/lib/typescript/shared/providers/screen/gestures/pan/build-pan-gesture.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation-decision.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation-rules.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-release.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-reset.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts +0 -5
- package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/build-pinch-gesture.d.ts +0 -7
- package/lib/typescript/shared/providers/screen/gestures/pinch/build-pinch-gesture.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-activation.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-release.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-reset.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts +0 -5
- package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/styles/components/maybe-floating-container.d.ts +0 -7
- package/lib/typescript/shared/providers/screen/styles/components/maybe-floating-container.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts +0 -13
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts +0 -12
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts +0 -12
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts +0 -39
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts +0 -12
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts +0 -13
- package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/use-closing-route-map.d.ts +0 -7
- package/lib/typescript/shared/providers/stack/helpers/use-closing-route-map.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/use-processed-routes.d.ts +0 -17
- package/lib/typescript/shared/providers/stack/helpers/use-processed-routes.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/use-stack-derived.d.ts +0 -18
- package/lib/typescript/shared/providers/stack/helpers/use-stack-derived.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts +0 -8
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +0 -1
- package/lib/typescript/shared/types/providers/managed-stack.types.d.ts.map +0 -1
- package/lib/typescript/shared/utils/navigation/compose-descriptors.d.ts.map +0 -1
- package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts.map +0 -1
- package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +0 -1
- package/src/shared/hooks/navigation/use-closing-route-keys.ts +0 -60
- package/src/shared/hooks/navigation/use-optimistic-focused-index.ts +0 -19
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.ts +0 -41
- package/src/shared/providers/stack/helpers/use-closing-route-map.ts +0 -28
- package/src/shared/providers/stack/helpers/use-processed-routes.ts +0 -85
- package/src/shared/providers/stack/helpers/use-stack-derived.ts +0 -34
- package/src/shared/providers/stack/managed.provider.tsx +0 -126
- /package/lib/commonjs/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/compose-descriptors.js +0 -0
- /package/lib/commonjs/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/resolve-scene-neighbors.js +0 -0
- /package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/helpers/types.js +0 -0
- /package/lib/module/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/compose-descriptors.js +0 -0
- /package/lib/module/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/resolve-scene-neighbors.js +0 -0
- /package/lib/module/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/helpers/types.js +0 -0
- /package/lib/typescript/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/resolve-scene-neighbors.d.ts +0 -0
- /package/src/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/resolve-scene-neighbors.ts +0 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { Route } from "@react-navigation/native";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import {
|
|
5
|
+
type StackContextValue,
|
|
6
|
+
StackProvider,
|
|
7
|
+
} from "../../hooks/navigation/use-stack";
|
|
8
|
+
import type {
|
|
9
|
+
BlankStackProviderContextValue,
|
|
10
|
+
BlankStackProviderProps,
|
|
11
|
+
BlankStackProviderRenderProps,
|
|
12
|
+
BlankStackProviderResult,
|
|
13
|
+
} from "../../types/providers/blank-stack-provider.types";
|
|
14
|
+
import type {
|
|
15
|
+
BaseStackDescriptor,
|
|
16
|
+
BaseStackNavigation,
|
|
17
|
+
BaseStackScene,
|
|
18
|
+
} from "../../types/stack.types";
|
|
19
|
+
import { useBlankStackState } from "./blank-stack-state";
|
|
20
|
+
import { useStackCoreContext } from "./core.provider";
|
|
21
|
+
|
|
22
|
+
const BlankStackProviderContext =
|
|
23
|
+
React.createContext<BlankStackProviderContextValue | null>(null);
|
|
24
|
+
BlankStackProviderContext.displayName = "BlankStackProvider";
|
|
25
|
+
|
|
26
|
+
function useBlankStackContext(): BlankStackProviderContextValue {
|
|
27
|
+
const context = React.useContext(BlankStackProviderContext);
|
|
28
|
+
if (!context) {
|
|
29
|
+
throw new Error(
|
|
30
|
+
"useBlankStackContext must be used within BlankStackProvider",
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
return context;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function useBlankStackProviderValue<
|
|
37
|
+
TDescriptor extends BaseStackDescriptor,
|
|
38
|
+
TNavigation extends BaseStackNavigation,
|
|
39
|
+
>(
|
|
40
|
+
props: BlankStackProviderProps<TDescriptor, TNavigation>,
|
|
41
|
+
): BlankStackProviderResult<TDescriptor> {
|
|
42
|
+
const { flags } = useStackCoreContext();
|
|
43
|
+
const { state, handleCloseRoute, requestDismiss } = useBlankStackState(props);
|
|
44
|
+
const navigatorKey = props.state.key;
|
|
45
|
+
|
|
46
|
+
const focusedIndex = props.state.index;
|
|
47
|
+
|
|
48
|
+
const stackContextValue = useMemo<StackContextValue>(
|
|
49
|
+
() => ({
|
|
50
|
+
flags,
|
|
51
|
+
navigatorKey,
|
|
52
|
+
routeKeys: state.routeKeys,
|
|
53
|
+
routes: state.routes as Route<string>[],
|
|
54
|
+
scenes: state.scenes as BaseStackScene[],
|
|
55
|
+
focusedIndex,
|
|
56
|
+
requestDismiss,
|
|
57
|
+
}),
|
|
58
|
+
[
|
|
59
|
+
flags,
|
|
60
|
+
navigatorKey,
|
|
61
|
+
state.routeKeys,
|
|
62
|
+
state.routes,
|
|
63
|
+
state.scenes,
|
|
64
|
+
focusedIndex,
|
|
65
|
+
requestDismiss,
|
|
66
|
+
],
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
const blankStackProviderContextValue =
|
|
70
|
+
useMemo<BlankStackProviderContextValue>(
|
|
71
|
+
() => ({
|
|
72
|
+
handleCloseRoute,
|
|
73
|
+
}),
|
|
74
|
+
[handleCloseRoute],
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
const renderProps = useMemo<BlankStackProviderRenderProps<TDescriptor>>(
|
|
78
|
+
() => ({
|
|
79
|
+
scenes: state.scenes,
|
|
80
|
+
focusedIndex,
|
|
81
|
+
shouldShowFloatOverlay: state.shouldShowFloatOverlay,
|
|
82
|
+
}),
|
|
83
|
+
[state.scenes, focusedIndex, state.shouldShowFloatOverlay],
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
return { stackContextValue, blankStackProviderContextValue, renderProps };
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function withBlankStack<
|
|
90
|
+
TDescriptor extends BaseStackDescriptor = BaseStackDescriptor,
|
|
91
|
+
TNavigation extends BaseStackNavigation = BaseStackNavigation,
|
|
92
|
+
>(
|
|
93
|
+
Component: React.ComponentType<BlankStackProviderRenderProps<TDescriptor>>,
|
|
94
|
+
): React.FC<BlankStackProviderProps<TDescriptor, TNavigation>> {
|
|
95
|
+
return function BlankStackProvider(
|
|
96
|
+
props: BlankStackProviderProps<TDescriptor, TNavigation>,
|
|
97
|
+
) {
|
|
98
|
+
const { stackContextValue, blankStackProviderContextValue, renderProps } =
|
|
99
|
+
useBlankStackProviderValue<TDescriptor, TNavigation>(props);
|
|
100
|
+
|
|
101
|
+
return (
|
|
102
|
+
<StackProvider value={stackContextValue}>
|
|
103
|
+
<BlankStackProviderContext.Provider
|
|
104
|
+
value={blankStackProviderContextValue}
|
|
105
|
+
>
|
|
106
|
+
<Component {...renderProps} />
|
|
107
|
+
</BlankStackProviderContext.Provider>
|
|
108
|
+
</StackProvider>
|
|
109
|
+
);
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export type {
|
|
114
|
+
BlankStackProviderContextValue,
|
|
115
|
+
BlankStackProviderProps,
|
|
116
|
+
BlankStackProviderRenderProps,
|
|
117
|
+
};
|
|
118
|
+
export { useBlankStackContext, withBlankStack };
|
|
@@ -5,10 +5,6 @@ import {
|
|
|
5
5
|
type StackContextValue,
|
|
6
6
|
StackProvider,
|
|
7
7
|
} from "../../hooks/navigation/use-stack";
|
|
8
|
-
import {
|
|
9
|
-
AnimationStore,
|
|
10
|
-
type AnimationStoreMap,
|
|
11
|
-
} from "../../stores/animation.store";
|
|
12
8
|
import type {
|
|
13
9
|
DirectStackContextValue,
|
|
14
10
|
DirectStackProps,
|
|
@@ -16,7 +12,6 @@ import type {
|
|
|
16
12
|
} from "../../types/providers/direct-stack.types";
|
|
17
13
|
import { isOverlayVisible } from "../../utils/overlay/visibility";
|
|
18
14
|
import { useStackCoreContext } from "./core.provider";
|
|
19
|
-
import { useStackDerived } from "./helpers/use-stack-derived";
|
|
20
15
|
|
|
21
16
|
function useDirectStackValue(
|
|
22
17
|
props: DirectStackProps,
|
|
@@ -35,51 +30,49 @@ function useDirectStackValue(
|
|
|
35
30
|
);
|
|
36
31
|
}, [state.preloadedRoutes, describe]);
|
|
37
32
|
|
|
38
|
-
const {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const animationMaps: AnimationStoreMap[] = [];
|
|
49
|
-
const allDescriptors: NativeStackDescriptorMap = {
|
|
50
|
-
...preloadedDescriptors,
|
|
51
|
-
...descriptors,
|
|
52
|
-
};
|
|
53
|
-
let shouldShowFloatOverlay = false;
|
|
33
|
+
const { scenes, shouldShowFloatOverlay, routeKeys, allRoutes } =
|
|
34
|
+
useMemo(() => {
|
|
35
|
+
const allRoutes = state.routes.concat(state.preloadedRoutes);
|
|
36
|
+
const scenes: DirectStackScene[] = [];
|
|
37
|
+
const routeKeys: string[] = [];
|
|
38
|
+
const allDescriptors: NativeStackDescriptorMap = {
|
|
39
|
+
...preloadedDescriptors,
|
|
40
|
+
...descriptors,
|
|
41
|
+
};
|
|
42
|
+
let shouldShowFloatOverlay = false;
|
|
54
43
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
44
|
+
for (const route of allRoutes) {
|
|
45
|
+
const descriptor = allDescriptors[route.key];
|
|
46
|
+
const isPreloaded =
|
|
47
|
+
preloadedDescriptors[route.key] !== undefined &&
|
|
48
|
+
descriptors[route.key] === undefined;
|
|
60
49
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
animationMaps.push(AnimationStore.getBag(route.key));
|
|
50
|
+
scenes.push({ route, descriptor, isPreloaded });
|
|
51
|
+
routeKeys.push(route.key);
|
|
64
52
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
53
|
+
if (!shouldShowFloatOverlay && descriptor) {
|
|
54
|
+
const options = descriptor.options;
|
|
55
|
+
if (
|
|
56
|
+
options?.enableTransitions === true &&
|
|
57
|
+
isOverlayVisible(options)
|
|
58
|
+
) {
|
|
59
|
+
shouldShowFloatOverlay = true;
|
|
60
|
+
}
|
|
69
61
|
}
|
|
70
62
|
}
|
|
71
|
-
}
|
|
72
63
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
64
|
+
return {
|
|
65
|
+
scenes,
|
|
66
|
+
shouldShowFloatOverlay,
|
|
67
|
+
routeKeys,
|
|
68
|
+
allRoutes,
|
|
69
|
+
};
|
|
70
|
+
}, [
|
|
71
|
+
state.routes,
|
|
72
|
+
state.preloadedRoutes,
|
|
73
|
+
preloadedDescriptors,
|
|
74
|
+
descriptors,
|
|
75
|
+
]);
|
|
83
76
|
|
|
84
77
|
const focusedIndex = state.index;
|
|
85
78
|
|
|
@@ -90,18 +83,9 @@ function useDirectStackValue(
|
|
|
90
83
|
routeKeys,
|
|
91
84
|
routes: allRoutes,
|
|
92
85
|
scenes,
|
|
93
|
-
optimisticFocusedIndex,
|
|
94
86
|
focusedIndex,
|
|
95
87
|
}),
|
|
96
|
-
[
|
|
97
|
-
flags,
|
|
98
|
-
navigatorKey,
|
|
99
|
-
routeKeys,
|
|
100
|
-
allRoutes,
|
|
101
|
-
scenes,
|
|
102
|
-
optimisticFocusedIndex,
|
|
103
|
-
focusedIndex,
|
|
104
|
-
],
|
|
88
|
+
[flags, navigatorKey, routeKeys, allRoutes, scenes, focusedIndex],
|
|
105
89
|
);
|
|
106
90
|
|
|
107
91
|
// DirectStack context value
|
|
@@ -10,6 +10,7 @@ export type AnimationStoreMap = {
|
|
|
10
10
|
effectiveProgress: SharedValue<number>;
|
|
11
11
|
willAnimate: SharedValue<number>;
|
|
12
12
|
progressAnimating: SharedValue<number>;
|
|
13
|
+
progressSettled: SharedValue<number>;
|
|
13
14
|
closing: SharedValue<number>;
|
|
14
15
|
entering: SharedValue<number>;
|
|
15
16
|
};
|
|
@@ -21,6 +22,7 @@ function createAnimationBag(): AnimationStoreMap {
|
|
|
21
22
|
willAnimate: makeMutable(0),
|
|
22
23
|
closing: makeMutable(0),
|
|
23
24
|
progressAnimating: makeMutable(0),
|
|
25
|
+
progressSettled: makeMutable(1),
|
|
24
26
|
entering: makeMutable(0),
|
|
25
27
|
};
|
|
26
28
|
}
|
|
@@ -37,6 +39,7 @@ export const AnimationStore = createStore<AnimationStoreMap>({
|
|
|
37
39
|
cancelAnimation(bag.effectiveProgress);
|
|
38
40
|
cancelAnimation(bag.willAnimate);
|
|
39
41
|
cancelAnimation(bag.progressAnimating);
|
|
42
|
+
cancelAnimation(bag.progressSettled);
|
|
40
43
|
cancelAnimation(bag.closing);
|
|
41
44
|
cancelAnimation(bag.entering);
|
|
42
45
|
},
|
|
@@ -16,6 +16,7 @@ type GestureRawStoreMap = {
|
|
|
16
16
|
normY: SharedValue<number>;
|
|
17
17
|
scale: SharedValue<number>;
|
|
18
18
|
normScale: SharedValue<number>;
|
|
19
|
+
rotation: SharedValue<number>;
|
|
19
20
|
};
|
|
20
21
|
|
|
21
22
|
export type GestureStoreMap = {
|
|
@@ -28,6 +29,7 @@ export type GestureStoreMap = {
|
|
|
28
29
|
normScale: SharedValue<number>;
|
|
29
30
|
focalX: SharedValue<number>;
|
|
30
31
|
focalY: SharedValue<number>;
|
|
32
|
+
rotation: SharedValue<number>;
|
|
31
33
|
raw: GestureRawStoreMap;
|
|
32
34
|
dismissing: SharedValue<number>;
|
|
33
35
|
dragging: SharedValue<number>;
|
|
@@ -74,6 +76,7 @@ function createGestureBag(): GestureStoreMap {
|
|
|
74
76
|
normScale,
|
|
75
77
|
focalX: makeMutable(0),
|
|
76
78
|
focalY: makeMutable(0),
|
|
79
|
+
rotation: makeMutable(0),
|
|
77
80
|
raw: {
|
|
78
81
|
x: makeMutable(0),
|
|
79
82
|
y: makeMutable(0),
|
|
@@ -81,6 +84,7 @@ function createGestureBag(): GestureStoreMap {
|
|
|
81
84
|
normY: makeMutable(0),
|
|
82
85
|
scale: makeMutable(1),
|
|
83
86
|
normScale: makeMutable(0),
|
|
87
|
+
rotation: makeMutable(0),
|
|
84
88
|
},
|
|
85
89
|
dismissing,
|
|
86
90
|
dragging,
|
|
@@ -115,12 +119,14 @@ export const GestureStore = createStore<GestureStoreMap>({
|
|
|
115
119
|
cancelAnimation(bag.normScale);
|
|
116
120
|
cancelAnimation(bag.focalX);
|
|
117
121
|
cancelAnimation(bag.focalY);
|
|
122
|
+
cancelAnimation(bag.rotation);
|
|
118
123
|
cancelAnimation(bag.raw.x);
|
|
119
124
|
cancelAnimation(bag.raw.y);
|
|
120
125
|
cancelAnimation(bag.raw.normX);
|
|
121
126
|
cancelAnimation(bag.raw.normY);
|
|
122
127
|
cancelAnimation(bag.raw.scale);
|
|
123
128
|
cancelAnimation(bag.raw.normScale);
|
|
129
|
+
cancelAnimation(bag.raw.rotation);
|
|
124
130
|
cancelAnimation(bag.dismissing);
|
|
125
131
|
cancelAnimation(bag.dragging);
|
|
126
132
|
cancelAnimation(bag.settling);
|
|
@@ -3,23 +3,96 @@ import {
|
|
|
3
3
|
makeMutable,
|
|
4
4
|
type SharedValue,
|
|
5
5
|
} from "react-native-reanimated";
|
|
6
|
-
import type {
|
|
6
|
+
import type {
|
|
7
|
+
ScrollGestureAxis,
|
|
8
|
+
ScrollGestureState,
|
|
9
|
+
ScrollMetadataState,
|
|
10
|
+
} from "../types/gesture.types";
|
|
11
|
+
import type { ScreenKey } from "../types/screen.types";
|
|
7
12
|
import { createStore } from "../utils/create-store";
|
|
8
13
|
|
|
9
14
|
export type ScrollStoreMap = {
|
|
10
|
-
|
|
15
|
+
coordination: SharedValue<ScrollGestureState | null>;
|
|
16
|
+
metadata: SharedValue<ScrollMetadataState | null>;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const metadataWriters: Record<
|
|
20
|
+
ScreenKey,
|
|
21
|
+
Partial<Record<ScrollGestureAxis, string>>
|
|
22
|
+
> = {};
|
|
23
|
+
|
|
24
|
+
let nextMetadataWriterId = 0;
|
|
25
|
+
|
|
26
|
+
const createMetadataWriterId = () => {
|
|
27
|
+
nextMetadataWriterId += 1;
|
|
28
|
+
return `scroll-metadata-${nextMetadataWriterId}`;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const claimMetadataWriter = (
|
|
32
|
+
routeKey: ScreenKey,
|
|
33
|
+
axis: ScrollGestureAxis,
|
|
34
|
+
writerId: string,
|
|
35
|
+
): boolean => {
|
|
36
|
+
const writers = metadataWriters[routeKey] ?? {};
|
|
37
|
+
metadataWriters[routeKey] = writers;
|
|
38
|
+
|
|
39
|
+
if (!writers[axis]) {
|
|
40
|
+
writers[axis] = writerId;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return writers[axis] === writerId;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const releaseMetadataWriter = (
|
|
47
|
+
routeKey: ScreenKey,
|
|
48
|
+
axis: ScrollGestureAxis,
|
|
49
|
+
writerId: string,
|
|
50
|
+
): boolean => {
|
|
51
|
+
const writers = metadataWriters[routeKey];
|
|
52
|
+
if (!writers || writers[axis] !== writerId) return false;
|
|
53
|
+
|
|
54
|
+
delete writers[axis];
|
|
55
|
+
|
|
56
|
+
if (!writers.vertical && !writers.horizontal) {
|
|
57
|
+
delete metadataWriters[routeKey];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return true;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const hasMetadataWriters = (routeKey: ScreenKey): boolean => {
|
|
64
|
+
const writers = metadataWriters[routeKey];
|
|
65
|
+
return Boolean(writers?.vertical || writers?.horizontal);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const clearMetadataWriters = (routeKey: ScreenKey) => {
|
|
69
|
+
delete metadataWriters[routeKey];
|
|
11
70
|
};
|
|
12
71
|
|
|
13
72
|
/**
|
|
14
73
|
* Route-keyed scroll geometry used by gesture activation and bounds measurement.
|
|
15
|
-
*
|
|
16
|
-
*
|
|
74
|
+
* Coordination tracks gesture-owner scoped ScrollView offsets and dimensions;
|
|
75
|
+
* metadata tracks screen-scoped scroll values exposed to animation consumers.
|
|
17
76
|
*/
|
|
18
|
-
|
|
77
|
+
const scrollStore = createStore<ScrollStoreMap>({
|
|
19
78
|
createBag: () => ({
|
|
20
|
-
|
|
79
|
+
coordination: makeMutable<ScrollGestureState | null>(null),
|
|
80
|
+
metadata: makeMutable<ScrollMetadataState | null>(null),
|
|
21
81
|
}),
|
|
22
82
|
disposeBag: (bag) => {
|
|
23
|
-
cancelAnimation(bag.
|
|
83
|
+
cancelAnimation(bag.coordination);
|
|
84
|
+
cancelAnimation(bag.metadata);
|
|
24
85
|
},
|
|
25
86
|
});
|
|
87
|
+
|
|
88
|
+
export const ScrollStore = {
|
|
89
|
+
...scrollStore,
|
|
90
|
+
createMetadataWriterId,
|
|
91
|
+
claimMetadataWriter,
|
|
92
|
+
releaseMetadataWriter,
|
|
93
|
+
hasMetadataWriters,
|
|
94
|
+
clearBag(routeKey: ScreenKey) {
|
|
95
|
+
clearMetadataWriters(routeKey);
|
|
96
|
+
scrollStore.clearBag(routeKey);
|
|
97
|
+
},
|
|
98
|
+
};
|
|
@@ -3,14 +3,13 @@ import {
|
|
|
3
3
|
makeMutable,
|
|
4
4
|
type SharedValue,
|
|
5
5
|
} from "react-native-reanimated";
|
|
6
|
-
import { LOGICAL_SETTLE_REQUIRED_FRAMES } from "../constants";
|
|
7
6
|
import type { Layout } from "../types/screen.types";
|
|
8
7
|
import { createStore } from "../utils/create-store";
|
|
9
8
|
|
|
10
9
|
export enum LifecycleTransitionRequestKind {
|
|
11
10
|
None = 0,
|
|
12
11
|
Open = 1,
|
|
13
|
-
|
|
12
|
+
BlankStackClose = 2,
|
|
14
13
|
NativeClose = 3,
|
|
15
14
|
}
|
|
16
15
|
|
|
@@ -37,11 +36,6 @@ type SystemStoreState = {
|
|
|
37
36
|
*/
|
|
38
37
|
pendingLifecycleRequestTarget: SharedValue<number>;
|
|
39
38
|
|
|
40
|
-
/**
|
|
41
|
-
* Number of consecutive frames progress has stayed near its target.
|
|
42
|
-
*/
|
|
43
|
-
logicalSettleFrameCount: SharedValue<number>;
|
|
44
|
-
|
|
45
39
|
/**
|
|
46
40
|
* Number of active blockers preventing a pending lifecycle request from
|
|
47
41
|
* starting immediately.
|
|
@@ -78,7 +72,6 @@ export const SystemStore = createStore<SystemStoreState, SystemStoreActions>({
|
|
|
78
72
|
LifecycleTransitionRequestKind.None,
|
|
79
73
|
),
|
|
80
74
|
pendingLifecycleRequestTarget: makeMutable<number>(0),
|
|
81
|
-
logicalSettleFrameCount: makeMutable(LOGICAL_SETTLE_REQUIRED_FRAMES),
|
|
82
75
|
pendingLifecycleStartBlockCount: makeMutable<number>(0),
|
|
83
76
|
}),
|
|
84
77
|
disposeBag: (bag) => {
|
|
@@ -87,7 +80,6 @@ export const SystemStore = createStore<SystemStoreState, SystemStoreActions>({
|
|
|
87
80
|
cancelAnimation(bag.measuredContentLayout);
|
|
88
81
|
cancelAnimation(bag.pendingLifecycleRequestKind);
|
|
89
82
|
cancelAnimation(bag.pendingLifecycleRequestTarget);
|
|
90
|
-
cancelAnimation(bag.logicalSettleFrameCount);
|
|
91
83
|
cancelAnimation(bag.pendingLifecycleStartBlockCount);
|
|
92
84
|
},
|
|
93
85
|
actions: (bag) => ({
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import type { TextStyle, ViewStyle } from "react-native";
|
|
2
|
-
import type {
|
|
3
|
-
StyleProps,
|
|
4
|
-
WithSpringConfig,
|
|
5
|
-
WithTimingConfig,
|
|
6
|
-
} from "react-native-reanimated";
|
|
2
|
+
import type { StyleProps } from "react-native-reanimated";
|
|
7
3
|
import type { EdgeInsets } from "react-native-safe-area-context";
|
|
8
4
|
import {
|
|
9
5
|
NAVIGATION_MASK_CONTAINER_STYLE_ID,
|
|
10
6
|
NAVIGATION_MASK_ELEMENT_STYLE_ID,
|
|
11
7
|
} from "../constants";
|
|
8
|
+
import type { ScreenAnimationConfig } from "../utils/animation/animate";
|
|
12
9
|
import type { BoundsAccessor } from "./bounds.types";
|
|
13
10
|
import type { GestureValues } from "./gesture.types";
|
|
14
11
|
import type { ScreenLayouts, ScreenTransitionConfig } from "./screen.types";
|
|
@@ -90,18 +87,19 @@ export type ScreenTransitionState = {
|
|
|
90
87
|
animating: number;
|
|
91
88
|
|
|
92
89
|
/**
|
|
93
|
-
* Whether this screen is
|
|
94
|
-
* - `0`:
|
|
95
|
-
* - `1`:
|
|
90
|
+
* Whether this screen is visually settled for choreography purposes.
|
|
91
|
+
* - `0`: The screen is still meaningfully away from its animation target
|
|
92
|
+
* - `1`: The screen is close enough to its target to be treated as done
|
|
93
|
+
*
|
|
94
|
+
* This may become `1` while `animating` is still `1`, since the animation
|
|
95
|
+
* driver can keep physically settling after the transition is visually done.
|
|
96
96
|
*/
|
|
97
97
|
settled: number;
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
|
-
*
|
|
101
|
-
* - `0`: The screen is still meaningfully away from its animation target
|
|
102
|
-
* - `1`: The screen is visually close enough to its target to be treated as done
|
|
100
|
+
* Deprecated alias for `settled`.
|
|
103
101
|
*
|
|
104
|
-
*
|
|
102
|
+
* @deprecated Use `settled` instead.
|
|
105
103
|
*/
|
|
106
104
|
logicallySettled: number;
|
|
107
105
|
|
|
@@ -233,7 +231,7 @@ export interface ScreenInterpolationProps {
|
|
|
233
231
|
* Whether the active transition is visually close enough to its target to be
|
|
234
232
|
* treated as complete, even if the animation is still physically settling.
|
|
235
233
|
*
|
|
236
|
-
* @deprecated Use `active.
|
|
234
|
+
* @deprecated Use `active.settled` instead. Screen settlement state
|
|
237
235
|
* belongs on the screen state object.
|
|
238
236
|
*/
|
|
239
237
|
logicallySettled: number;
|
|
@@ -372,7 +370,7 @@ export type TransitionInterpolatedStyle = {
|
|
|
372
370
|
/**
|
|
373
371
|
* A Reanimated animation configuration object.
|
|
374
372
|
*/
|
|
375
|
-
export type AnimationConfig =
|
|
373
|
+
export type AnimationConfig = ScreenAnimationConfig;
|
|
376
374
|
|
|
377
375
|
/**
|
|
378
376
|
* Defines separate animation configurations for screen transitions and snap point changes.
|
|
@@ -240,7 +240,7 @@ export type BoundsNavigationRevealOptions = {
|
|
|
240
240
|
backgroundScale?: number;
|
|
241
241
|
/**
|
|
242
242
|
* Whether reveal should reset the unfocused background content scale once the
|
|
243
|
-
* transition is
|
|
243
|
+
* transition is visually settled.
|
|
244
244
|
*
|
|
245
245
|
* By default, reveal restores the background to scale `1` after settle so the
|
|
246
246
|
* next drag or programmatic dismiss starts from a fresh, unmodified layout
|
|
@@ -20,18 +20,35 @@ export type GestureProgressMode = "progress-driven" | "freeform";
|
|
|
20
20
|
|
|
21
21
|
export type SnapPanAxis = "horizontal" | "vertical";
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Axis reported by a transition-aware scrollable.
|
|
25
|
+
*/
|
|
23
26
|
export type ScrollGestureAxis = "vertical" | "horizontal";
|
|
24
27
|
|
|
28
|
+
/**
|
|
29
|
+
* Scroll geometry for one axis of a transition-aware scrollable.
|
|
30
|
+
*/
|
|
25
31
|
export type ScrollGestureAxisState = {
|
|
26
32
|
offset: number;
|
|
27
33
|
contentSize: number;
|
|
28
34
|
layoutSize: number;
|
|
35
|
+
isTouched: boolean;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Scroll metadata exposed through screen transition layouts.
|
|
40
|
+
*/
|
|
41
|
+
export type ScrollMetadataState = {
|
|
42
|
+
vertical: ScrollGestureAxisState | null;
|
|
43
|
+
horizontal: ScrollGestureAxisState | null;
|
|
29
44
|
};
|
|
30
45
|
|
|
46
|
+
/**
|
|
47
|
+
* Scroll geometry used by gesture coordination.
|
|
48
|
+
*/
|
|
31
49
|
export type ScrollGestureState = {
|
|
32
50
|
vertical: ScrollGestureAxisState;
|
|
33
51
|
horizontal: ScrollGestureAxisState;
|
|
34
|
-
isTouched: boolean;
|
|
35
52
|
};
|
|
36
53
|
|
|
37
54
|
export type SnapPanAxisConfig = {
|
|
@@ -60,12 +77,40 @@ export type SideActivation = {
|
|
|
60
77
|
bottom?: ActivationArea;
|
|
61
78
|
};
|
|
62
79
|
|
|
80
|
+
export type GestureDirectionActivationArea = ActivationArea | number;
|
|
81
|
+
|
|
82
|
+
export type GestureDirectionConfig = {
|
|
83
|
+
gesture: GestureDirection;
|
|
84
|
+
/**
|
|
85
|
+
* Pan-only activation area for this gesture direction. Pinch directions
|
|
86
|
+
* ignore this field.
|
|
87
|
+
*
|
|
88
|
+
* A number means an edge distance in points.
|
|
89
|
+
*/
|
|
90
|
+
area?: GestureDirectionActivationArea;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export type GestureDirectionEntry = GestureDirection | GestureDirectionConfig;
|
|
94
|
+
|
|
95
|
+
export type GestureDirectionOption =
|
|
96
|
+
| GestureDirectionEntry
|
|
97
|
+
| GestureDirectionEntry[];
|
|
98
|
+
|
|
63
99
|
export enum GestureActivationState {
|
|
64
100
|
PENDING,
|
|
65
101
|
PASSED,
|
|
66
102
|
FAILED,
|
|
67
103
|
}
|
|
68
104
|
|
|
105
|
+
export type ResolvedGestureActivationArea =
|
|
106
|
+
| GestureDirectionActivationArea
|
|
107
|
+
| {
|
|
108
|
+
left?: GestureDirectionActivationArea;
|
|
109
|
+
right?: GestureDirectionActivationArea;
|
|
110
|
+
top?: GestureDirectionActivationArea;
|
|
111
|
+
bottom?: GestureDirectionActivationArea;
|
|
112
|
+
};
|
|
113
|
+
|
|
69
114
|
export type GestureActivationArea = ActivationArea | SideActivation;
|
|
70
115
|
|
|
71
116
|
/**
|
|
@@ -86,6 +131,7 @@ export type RawGestureValues = {
|
|
|
86
131
|
normY: number;
|
|
87
132
|
scale: number;
|
|
88
133
|
normScale: number;
|
|
134
|
+
rotation: number;
|
|
89
135
|
};
|
|
90
136
|
|
|
91
137
|
export type GestureValues = {
|
|
@@ -129,6 +175,10 @@ export type GestureValues = {
|
|
|
129
175
|
* The live pinch focal point y-position in screen coordinates.
|
|
130
176
|
*/
|
|
131
177
|
focalY: number;
|
|
178
|
+
/**
|
|
179
|
+
* The live two-finger rotation in radians.
|
|
180
|
+
*/
|
|
181
|
+
rotation: number;
|
|
132
182
|
/**
|
|
133
183
|
* Physical gesture values before `gestureSensitivity` is applied.
|
|
134
184
|
*/
|
|
@@ -29,9 +29,17 @@ export type {
|
|
|
29
29
|
ActivationArea,
|
|
30
30
|
GestureActivationArea,
|
|
31
31
|
GestureDirection,
|
|
32
|
+
GestureDirectionActivationArea,
|
|
33
|
+
GestureDirectionConfig,
|
|
34
|
+
GestureDirectionEntry,
|
|
35
|
+
GestureDirectionOption,
|
|
32
36
|
GestureValues,
|
|
33
37
|
PanGestureDirection,
|
|
34
38
|
PinchGestureDirection,
|
|
39
|
+
ScrollGestureAxis,
|
|
40
|
+
ScrollGestureAxisState,
|
|
41
|
+
ScrollGestureState,
|
|
42
|
+
ScrollMetadataState,
|
|
35
43
|
SideActivation,
|
|
36
44
|
} from "./gesture.types";
|
|
37
45
|
export type { OverlayProps } from "./overlay.types";
|