react-native-screen-transitions 3.8.0-beta.0 → 3.8.0-beta.1
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/shared/animation/snap-to.js +1 -1
- package/lib/commonjs/shared/animation/snap-to.js.map +1 -1
- package/lib/commonjs/shared/components/activity/variants/activity-screen.js +10 -2
- package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js +2 -2
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-refresh-boundary.js +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-refresh-boundary.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +9 -6
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js +2 -2
- package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js +2 -2
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
- package/lib/commonjs/shared/configs/presets.js +5 -8
- package/lib/commonjs/shared/configs/presets.js.map +1 -1
- package/lib/commonjs/shared/constants.js +18 -2
- package/lib/commonjs/shared/constants.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js +2 -8
- 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 +26 -31
- 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 +29 -4
- 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 +3 -3
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js +3 -3
- package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +2 -2
- 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 +6 -7
- package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js +3 -7
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +7 -4
- package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +20 -36
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-release.js +12 -21
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-reset.js +40 -39
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +11 -21
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +4 -11
- package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js +12 -10
- package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +13 -10
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-release.js +15 -11
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js +28 -23
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +3 -3
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js +4 -11
- package/lib/commonjs/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js +12 -10
- package/lib/commonjs/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js +3 -10
- package/lib/commonjs/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/physics.js +23 -23
- package/lib/commonjs/shared/providers/screen/gestures/shared/physics.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +0 -11
- package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js +17 -10
- package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js +6 -7
- package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/snapshot.js +32 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/snapshot.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/values.js +65 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/values.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/types.js +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/types.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/options/helpers.js +1 -19
- package/lib/commonjs/shared/providers/screen/options/helpers.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +8 -8
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +2 -2
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/commonjs/shared/stores/animation.store.js +6 -6
- package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
- package/lib/commonjs/shared/stores/gesture.store.js +56 -0
- package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
- package/lib/commonjs/shared/types/gesture.types.js +6 -0
- package/lib/commonjs/shared/types/gesture.types.js.map +1 -1
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js +3 -3
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +39 -34
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +37 -28
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/module/shared/animation/snap-to.js +1 -1
- package/lib/module/shared/animation/snap-to.js.map +1 -1
- package/lib/module/shared/components/activity/variants/activity-screen.js +10 -2
- package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js +2 -2
- package/lib/module/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/hooks/use-refresh-boundary.js +1 -1
- package/lib/module/shared/components/create-boundary-component/hooks/use-refresh-boundary.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/float-overlay.js +9 -6
- package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/module/shared/components/screen-container/hooks/use-content-layout.js +2 -2
- package/lib/module/shared/components/screen-container/hooks/use-content-layout.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/backdrop.js +1 -1
- package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js +2 -2
- package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
- package/lib/module/shared/configs/presets.js +5 -8
- package/lib/module/shared/configs/presets.js.map +1 -1
- package/lib/module/shared/constants.js +17 -1
- package/lib/module/shared/constants.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js +2 -8
- 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 +25 -30
- 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 +30 -5
- 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 +3 -3
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js +3 -3
- package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +2 -2
- 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 +6 -7
- package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js +3 -7
- package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +7 -4
- package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +20 -36
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-release.js +12 -21
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-reset.js +42 -41
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +11 -21
- package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +4 -11
- package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js +12 -10
- package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +13 -10
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-release.js +16 -12
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js +30 -25
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +3 -3
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js +4 -11
- package/lib/module/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js +12 -10
- package/lib/module/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js +3 -10
- package/lib/module/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/physics.js +21 -22
- package/lib/module/shared/providers/screen/gestures/shared/physics.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/policy.js +1 -12
- package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/reset.js +17 -8
- package/lib/module/shared/providers/screen/gestures/shared/reset.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/snap-points.js +6 -7
- package/lib/module/shared/providers/screen/gestures/shared/snap-points.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/snapshot.js +27 -0
- package/lib/module/shared/providers/screen/gestures/shared/snapshot.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/shared/values.js +54 -0
- package/lib/module/shared/providers/screen/gestures/shared/values.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/types.js +1 -1
- package/lib/module/shared/providers/screen/gestures/types.js.map +1 -1
- package/lib/module/shared/providers/screen/options/helpers.js +2 -20
- package/lib/module/shared/providers/screen/options/helpers.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +8 -8
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +2 -2
- package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/module/shared/stores/animation.store.js +6 -6
- package/lib/module/shared/stores/animation.store.js.map +1 -1
- package/lib/module/shared/stores/gesture.store.js +56 -0
- package/lib/module/shared/stores/gesture.store.js.map +1 -1
- package/lib/module/shared/types/animation.types.js.map +1 -1
- package/lib/module/shared/types/gesture.types.js +7 -0
- package/lib/module/shared/types/gesture.types.js.map +1 -1
- package/lib/module/shared/utils/animation/animate-to-progress.js +3 -3
- package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js +1 -1
- package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/reveal/build.js +39 -34
- package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js +37 -28
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-refresh-boundary.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/configs/presets.d.ts.map +1 -1
- package/lib/typescript/shared/constants.d.ts +1 -2
- package/lib/typescript/shared/constants.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +1 -1
- package/lib/typescript/shared/index.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/gesture-progress.d.ts +7 -3
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.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 +2 -2
- 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/stack-progress.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +2 -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/hooks/use-stable-runtime-config.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts +3 -3
- package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-release.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-reset.d.ts +3 -12
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-reset.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts +3 -3
- package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts +3 -3
- package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-release.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.d.ts +3 -3
- package/lib/typescript/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts +3 -3
- package/lib/typescript/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts +3 -3
- package/lib/typescript/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/physics.d.ts +3 -3
- package/lib/typescript/shared/providers/screen/gestures/shared/physics.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +1 -3
- 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 +7 -4
- package/lib/typescript/shared/providers/screen/gestures/shared/reset.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/snap-points.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/snapshot.d.ts +7 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/snapshot.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/values.d.ts +9 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/values.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/types.d.ts +6 -13
- package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/options/helpers.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/options/types.d.ts +0 -2
- package/lib/typescript/shared/providers/screen/options/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
- package/lib/typescript/shared/stores/animation.store.d.ts +4 -4
- package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/gesture.store.d.ts +23 -0
- package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +8 -0
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/bounds.types.d.ts +12 -8
- package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/gesture.types.d.ts +47 -13
- 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/screen.types.d.ts +25 -8
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- 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/lib/typescript/shared/utils/bounds/types/options.d.ts +8 -0
- package/lib/typescript/shared/utils/bounds/types/options.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/shared/animation/snap-to.ts +1 -1
- package/src/shared/components/activity/variants/activity-screen.tsx +8 -2
- package/src/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.ts +5 -2
- package/src/shared/components/create-boundary-component/hooks/use-refresh-boundary.ts +4 -1
- package/src/shared/components/overlay/variations/float-overlay.tsx +11 -5
- package/src/shared/components/screen-container/hooks/use-content-layout.ts +2 -2
- package/src/shared/components/screen-container/layers/backdrop.tsx +1 -1
- package/src/shared/components/screen-lifecycle/hooks/use-open-transition-intent.ts +2 -2
- package/src/shared/configs/presets.ts +6 -8
- package/src/shared/constants.ts +16 -6
- package/src/shared/index.ts +2 -0
- 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 +54 -53
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +72 -8
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +2 -2
- package/src/shared/providers/screen/animation/helpers/pipeline.ts +3 -3
- package/src/shared/providers/screen/animation/helpers/stack-progress.ts +3 -3
- package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +4 -4
- package/src/shared/providers/screen/gestures/gestures.provider.tsx +7 -9
- package/src/shared/providers/screen/gestures/hooks/use-stable-runtime-config.ts +2 -5
- package/src/shared/providers/screen/gestures/pan/activation/pan-activation-decision.ts +1 -1
- package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +9 -7
- package/src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +25 -38
- package/src/shared/providers/screen/gestures/pan/behavior/pan-release.ts +23 -25
- package/src/shared/providers/screen/gestures/pan/behavior/pan-reset.ts +45 -77
- package/src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +12 -20
- package/src/shared/providers/screen/gestures/pan/use-build-pan-gesture.ts +5 -11
- package/src/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.ts +14 -16
- package/src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +13 -9
- package/src/shared/providers/screen/gestures/pinch/behavior/pinch-release.ts +31 -16
- package/src/shared/providers/screen/gestures/pinch/behavior/pinch-reset.ts +32 -41
- package/src/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts +4 -4
- package/src/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.ts +5 -10
- package/src/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.ts +14 -13
- package/src/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.ts +4 -9
- package/src/shared/providers/screen/gestures/shared/physics.ts +15 -32
- package/src/shared/providers/screen/gestures/shared/policy.ts +0 -15
- package/src/shared/providers/screen/gestures/shared/reset.ts +33 -11
- package/src/shared/providers/screen/gestures/shared/snap-points.ts +8 -7
- package/src/shared/providers/screen/gestures/shared/snapshot.ts +33 -0
- package/src/shared/providers/screen/gestures/shared/values.ts +52 -0
- package/src/shared/providers/screen/gestures/types.ts +4 -13
- package/src/shared/providers/screen/options/helpers.ts +0 -44
- package/src/shared/providers/screen/options/types.ts +0 -2
- package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +8 -8
- package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +3 -2
- package/src/shared/stores/animation.store.ts +8 -8
- package/src/shared/stores/gesture.store.ts +81 -0
- package/src/shared/types/animation.types.ts +9 -0
- package/src/shared/types/bounds.types.ts +12 -8
- package/src/shared/types/gesture.types.ts +48 -14
- package/src/shared/types/index.ts +2 -0
- package/src/shared/types/screen.types.ts +25 -8
- package/src/shared/utils/animation/animate-to-progress.ts +3 -3
- package/src/shared/utils/bounds/helpers/prepare-bound-styles.ts +1 -1
- package/src/shared/utils/bounds/navigation/reveal/build.ts +42 -46
- package/src/shared/utils/bounds/navigation/zoom/build.ts +36 -33
- package/src/shared/utils/bounds/types/options.ts +9 -0
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js +0 -32
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js.map +0 -1
- package/lib/commonjs/shared/utils/gesture-progress-mode.js +0 -50
- package/lib/commonjs/shared/utils/gesture-progress-mode.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js +0 -27
- package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js.map +0 -1
- package/lib/module/shared/utils/gesture-progress-mode.js +0 -42
- package/lib/module/shared/utils/gesture-progress-mode.js.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-gesture-builder-state.d.ts +0 -21
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-gesture-builder-state.d.ts.map +0 -1
- package/lib/typescript/shared/utils/gesture-progress-mode.d.ts +0 -14
- package/lib/typescript/shared/utils/gesture-progress-mode.d.ts.map +0 -1
- package/src/shared/providers/screen/gestures/hooks/use-gesture-builder-state.ts +0 -31
- package/src/shared/utils/gesture-progress-mode.ts +0 -67
|
@@ -10,7 +10,6 @@ interface CalculateProgressProps {
|
|
|
10
10
|
event: PanGestureEvent;
|
|
11
11
|
dimensions: { width: number; height: number };
|
|
12
12
|
directions: GestureDirections;
|
|
13
|
-
gestureReleaseVelocityScale?: number;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
type GestureAxisCandidate = {
|
|
@@ -32,25 +31,28 @@ export const toProgressVelocity = (
|
|
|
32
31
|
};
|
|
33
32
|
|
|
34
33
|
/**
|
|
35
|
-
* Converts normalized
|
|
34
|
+
* Converts normalized gesture velocity into a 0-1 scalar for interpolators.
|
|
36
35
|
*
|
|
37
36
|
* `1` means the velocity reached or exceeded the library's full-velocity
|
|
38
37
|
* threshold, not a physical maximum for the device.
|
|
39
38
|
*/
|
|
39
|
+
export const resolveGestureVelocityMagnitude = (velocity: number) => {
|
|
40
|
+
"worklet";
|
|
41
|
+
|
|
42
|
+
return Math.min(
|
|
43
|
+
1,
|
|
44
|
+
Math.abs(velocity) / FULL_GESTURE_VELOCITY_PROGRESS_PER_SECOND,
|
|
45
|
+
);
|
|
46
|
+
};
|
|
47
|
+
|
|
40
48
|
export const resolveGestureVelocity = (
|
|
41
49
|
velocityNormX: number,
|
|
42
50
|
velocityNormY: number,
|
|
43
51
|
) => {
|
|
44
52
|
"worklet";
|
|
45
53
|
|
|
46
|
-
|
|
47
|
-
Math.abs(velocityNormX),
|
|
48
|
-
Math.abs(velocityNormY),
|
|
49
|
-
);
|
|
50
|
-
|
|
51
|
-
return Math.min(
|
|
52
|
-
1,
|
|
53
|
-
dominantVelocity / FULL_GESTURE_VELOCITY_PROGRESS_PER_SECOND,
|
|
54
|
+
return resolveGestureVelocityMagnitude(
|
|
55
|
+
Math.max(Math.abs(velocityNormX), Math.abs(velocityNormY)),
|
|
54
56
|
);
|
|
55
57
|
};
|
|
56
58
|
|
|
@@ -85,7 +87,6 @@ const getPanAxisCandidate = (
|
|
|
85
87
|
translationTowardDismiss: number,
|
|
86
88
|
velocityTowardDismiss: number,
|
|
87
89
|
screenSize: number,
|
|
88
|
-
gestureReleaseVelocityScale?: number,
|
|
89
90
|
): GestureAxisCandidate | null => {
|
|
90
91
|
"worklet";
|
|
91
92
|
if (!isEnabled || translationTowardDismiss <= 0) {
|
|
@@ -97,7 +98,6 @@ const getPanAxisCandidate = (
|
|
|
97
98
|
velocityContribution: getPanReleaseHandoffVelocity(
|
|
98
99
|
velocityTowardDismiss,
|
|
99
100
|
screenSize,
|
|
100
|
-
gestureReleaseVelocityScale,
|
|
101
101
|
),
|
|
102
102
|
};
|
|
103
103
|
};
|
|
@@ -116,11 +116,7 @@ const collectPanAxisCandidates = ({
|
|
|
116
116
|
event,
|
|
117
117
|
dimensions,
|
|
118
118
|
directions,
|
|
119
|
-
|
|
120
|
-
}: Pick<
|
|
121
|
-
CalculateProgressProps,
|
|
122
|
-
"event" | "dimensions" | "directions" | "gestureReleaseVelocityScale"
|
|
123
|
-
>) => {
|
|
119
|
+
}: Pick<CalculateProgressProps, "event" | "dimensions" | "directions">) => {
|
|
124
120
|
"worklet";
|
|
125
121
|
const candidates: GestureAxisCandidate[] = [];
|
|
126
122
|
|
|
@@ -131,7 +127,6 @@ const collectPanAxisCandidates = ({
|
|
|
131
127
|
event.translationX,
|
|
132
128
|
event.velocityX,
|
|
133
129
|
dimensions.width,
|
|
134
|
-
gestureReleaseVelocityScale,
|
|
135
130
|
),
|
|
136
131
|
);
|
|
137
132
|
pushPanAxisCandidate(
|
|
@@ -141,7 +136,6 @@ const collectPanAxisCandidates = ({
|
|
|
141
136
|
-event.translationX,
|
|
142
137
|
-event.velocityX,
|
|
143
138
|
dimensions.width,
|
|
144
|
-
gestureReleaseVelocityScale,
|
|
145
139
|
),
|
|
146
140
|
);
|
|
147
141
|
pushPanAxisCandidate(
|
|
@@ -151,7 +145,6 @@ const collectPanAxisCandidates = ({
|
|
|
151
145
|
event.translationY,
|
|
152
146
|
event.velocityY,
|
|
153
147
|
dimensions.height,
|
|
154
|
-
gestureReleaseVelocityScale,
|
|
155
148
|
),
|
|
156
149
|
);
|
|
157
150
|
pushPanAxisCandidate(
|
|
@@ -161,7 +154,6 @@ const collectPanAxisCandidates = ({
|
|
|
161
154
|
-event.translationY,
|
|
162
155
|
-event.velocityY,
|
|
163
156
|
dimensions.height,
|
|
164
|
-
gestureReleaseVelocityScale,
|
|
165
157
|
),
|
|
166
158
|
);
|
|
167
159
|
|
|
@@ -190,21 +182,15 @@ const getDominantPanCandidateVelocity = (
|
|
|
190
182
|
const getFallbackPanReleaseVelocityMagnitude = ({
|
|
191
183
|
event,
|
|
192
184
|
dimensions,
|
|
193
|
-
|
|
194
|
-
}: Pick<
|
|
195
|
-
CalculateProgressProps,
|
|
196
|
-
"event" | "dimensions" | "gestureReleaseVelocityScale"
|
|
197
|
-
>) => {
|
|
185
|
+
}: Pick<CalculateProgressProps, "event" | "dimensions">) => {
|
|
198
186
|
"worklet";
|
|
199
187
|
const normalizedVelocityX = getPanReleaseHandoffVelocity(
|
|
200
188
|
event.velocityX,
|
|
201
189
|
dimensions.width,
|
|
202
|
-
gestureReleaseVelocityScale,
|
|
203
190
|
);
|
|
204
191
|
const normalizedVelocityY = getPanReleaseHandoffVelocity(
|
|
205
192
|
event.velocityY,
|
|
206
193
|
dimensions.height,
|
|
207
|
-
gestureReleaseVelocityScale,
|
|
208
194
|
);
|
|
209
195
|
|
|
210
196
|
return Math.max(Math.abs(normalizedVelocityX), Math.abs(normalizedVelocityY));
|
|
@@ -232,11 +218,10 @@ export const getPanReleaseProgressVelocity = ({
|
|
|
232
218
|
event,
|
|
233
219
|
dimensions,
|
|
234
220
|
directions,
|
|
235
|
-
gestureReleaseVelocityScale,
|
|
236
221
|
}: CalculateProgressProps) => {
|
|
237
222
|
"worklet";
|
|
238
223
|
|
|
239
|
-
const currentProgress = animations.
|
|
224
|
+
const currentProgress = animations.transitionProgress.get();
|
|
240
225
|
const targetProgress = shouldDismiss ? 0 : 1;
|
|
241
226
|
const progressDelta = targetProgress - currentProgress;
|
|
242
227
|
|
|
@@ -247,7 +232,6 @@ export const getPanReleaseProgressVelocity = ({
|
|
|
247
232
|
event,
|
|
248
233
|
dimensions,
|
|
249
234
|
directions,
|
|
250
|
-
gestureReleaseVelocityScale,
|
|
251
235
|
}),
|
|
252
236
|
);
|
|
253
237
|
const progressVelocityMagnitude =
|
|
@@ -255,7 +239,6 @@ export const getPanReleaseProgressVelocity = ({
|
|
|
255
239
|
getFallbackPanReleaseVelocityMagnitude({
|
|
256
240
|
event,
|
|
257
241
|
dimensions,
|
|
258
|
-
gestureReleaseVelocityScale,
|
|
259
242
|
});
|
|
260
243
|
|
|
261
244
|
return progressDirection * progressVelocityMagnitude;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_GESTURE_ACTIVATION_AREA,
|
|
3
3
|
DEFAULT_GESTURE_DIRECTION,
|
|
4
|
-
DEFAULT_GESTURE_PROGRESS_MODE,
|
|
5
4
|
DEFAULT_GESTURE_RELEASE_VELOCITY_SCALE,
|
|
6
5
|
DEFAULT_GESTURE_SENSITIVITY,
|
|
7
6
|
DEFAULT_GESTURE_SNAP_LOCKED,
|
|
@@ -15,7 +14,6 @@ import type {
|
|
|
15
14
|
GestureDirectionActivationArea,
|
|
16
15
|
GestureDirectionEntry,
|
|
17
16
|
GestureDirectionOption,
|
|
18
|
-
GestureProgressMode,
|
|
19
17
|
ResolvedGestureActivationArea,
|
|
20
18
|
} from "../../../../types/gesture.types";
|
|
21
19
|
import type {
|
|
@@ -24,7 +22,6 @@ import type {
|
|
|
24
22
|
SheetScrollGestureBehavior,
|
|
25
23
|
SnapPoint,
|
|
26
24
|
} from "../../../../types/screen.types";
|
|
27
|
-
import { resolveGestureProgressMode } from "../../../../utils/gesture-progress-mode";
|
|
28
25
|
import { computeClaimedDirections } from "../ownership/compute-claimed-directions";
|
|
29
26
|
import { resolveOwnership } from "../ownership/resolve-ownership";
|
|
30
27
|
import type {
|
|
@@ -49,9 +46,7 @@ export type GesturePolicyOptions = {
|
|
|
49
46
|
expandViaScrollView?: boolean;
|
|
50
47
|
gestureActivationArea?: GestureActivationArea;
|
|
51
48
|
gestureDirection?: GestureDirectionOption;
|
|
52
|
-
gestureDrivesProgress?: boolean;
|
|
53
49
|
gestureEnabled?: boolean;
|
|
54
|
-
gestureProgressMode?: GestureProgressMode;
|
|
55
50
|
gestureTracking?: GestureTracking;
|
|
56
51
|
gestureReleaseVelocityScale?: number;
|
|
57
52
|
gestureResponseDistance?: number;
|
|
@@ -155,19 +150,9 @@ const resolveGestureActivationArea = (
|
|
|
155
150
|
);
|
|
156
151
|
};
|
|
157
152
|
|
|
158
|
-
function resolveGestureProgressModePolicy(options: GesturePolicyOptions) {
|
|
159
|
-
"worklet";
|
|
160
|
-
return resolveGestureProgressMode({
|
|
161
|
-
gestureProgressMode: options.gestureProgressMode,
|
|
162
|
-
gestureDrivesProgress: options.gestureDrivesProgress,
|
|
163
|
-
fallback: DEFAULT_GESTURE_PROGRESS_MODE,
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
|
|
167
153
|
const resolveCommonGesturePolicy = (options: GesturePolicyOptions) => {
|
|
168
154
|
"worklet";
|
|
169
155
|
return {
|
|
170
|
-
gestureProgressMode: resolveGestureProgressModePolicy(options),
|
|
171
156
|
gestureSensitivity:
|
|
172
157
|
options.gestureSensitivity ?? DEFAULT_GESTURE_SENSITIVITY,
|
|
173
158
|
gestureSnapVelocityImpact:
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import type { SharedValue } from "react-native-reanimated";
|
|
2
|
-
import { FALSE } from "../../../../constants";
|
|
3
|
-
import type { GestureStoreMap } from "../../../../stores/gesture.store";
|
|
4
2
|
import type { AnimationConfig } from "../../../../types/animation.types";
|
|
5
3
|
import {
|
|
6
4
|
animate,
|
|
@@ -10,12 +8,18 @@ import {
|
|
|
10
8
|
|
|
11
9
|
type ResetSpringSpec = SpringAnimationConfig & { velocity?: number };
|
|
12
10
|
|
|
11
|
+
type AnimateManyJob = {
|
|
12
|
+
value: SharedValue<number>;
|
|
13
|
+
toValue: number;
|
|
14
|
+
velocity?: number;
|
|
15
|
+
};
|
|
16
|
+
|
|
13
17
|
const isResetSpringSpec = (spec?: AnimationConfig): spec is ResetSpringSpec => {
|
|
14
18
|
"worklet";
|
|
15
19
|
return isSpringAnimationConfig(spec);
|
|
16
20
|
};
|
|
17
21
|
|
|
18
|
-
|
|
22
|
+
const getGestureResetSpec = (
|
|
19
23
|
spec?: AnimationConfig,
|
|
20
24
|
velocity?: number,
|
|
21
25
|
): AnimationConfig | undefined => {
|
|
@@ -34,7 +38,7 @@ export const getGestureResetSpec = (
|
|
|
34
38
|
return { ...resetSpec, velocity };
|
|
35
39
|
};
|
|
36
40
|
|
|
37
|
-
|
|
41
|
+
const animateResetValue = (
|
|
38
42
|
value: SharedValue<number>,
|
|
39
43
|
toValue: number,
|
|
40
44
|
config: AnimationConfig | undefined,
|
|
@@ -51,16 +55,34 @@ export const animateResetValue = (
|
|
|
51
55
|
);
|
|
52
56
|
};
|
|
53
57
|
|
|
54
|
-
export const
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
export const animateMany = (
|
|
59
|
+
jobs: AnimateManyJob[],
|
|
60
|
+
spec: AnimationConfig | undefined,
|
|
61
|
+
onFinished: () => void,
|
|
57
62
|
) => {
|
|
58
63
|
"worklet";
|
|
59
|
-
|
|
64
|
+
let pendingJobs = jobs.length;
|
|
65
|
+
|
|
66
|
+
if (pendingJobs === 0) {
|
|
67
|
+
onFinished();
|
|
60
68
|
return;
|
|
61
69
|
}
|
|
62
70
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
71
|
+
const finishJob = () => {
|
|
72
|
+
"worklet";
|
|
73
|
+
pendingJobs -= 1;
|
|
74
|
+
|
|
75
|
+
if (pendingJobs === 0) {
|
|
76
|
+
onFinished();
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
for (const job of jobs) {
|
|
81
|
+
animateResetValue(
|
|
82
|
+
job.value,
|
|
83
|
+
job.toValue,
|
|
84
|
+
getGestureResetSpec(spec, job.velocity),
|
|
85
|
+
finishJob,
|
|
86
|
+
);
|
|
87
|
+
}
|
|
66
88
|
};
|
|
@@ -232,19 +232,20 @@ export const primeRuntimeSnapPoint = (
|
|
|
232
232
|
"worklet";
|
|
233
233
|
const {
|
|
234
234
|
policy,
|
|
235
|
-
stores: { animations },
|
|
236
|
-
lockedSnapPoint,
|
|
235
|
+
stores: { animations, gestures },
|
|
237
236
|
} = runtime;
|
|
238
237
|
|
|
239
|
-
const { resolvedSnapPoints
|
|
240
|
-
resolveRuntimeGestureSnapPoints(runtime);
|
|
238
|
+
const { resolvedSnapPoints } = resolveRuntimeGestureSnapPoints(runtime);
|
|
241
239
|
|
|
242
240
|
if (policy.gestureSnapLocked) {
|
|
243
|
-
lockedSnapPoint.set(
|
|
244
|
-
findNearestSnapPoint(
|
|
241
|
+
gestures.internal.lockedSnapPoint.set(
|
|
242
|
+
findNearestSnapPoint(
|
|
243
|
+
animations.transitionProgress.get(),
|
|
244
|
+
resolvedSnapPoints,
|
|
245
|
+
),
|
|
245
246
|
);
|
|
246
247
|
return;
|
|
247
248
|
}
|
|
248
249
|
|
|
249
|
-
lockedSnapPoint.set(
|
|
250
|
+
gestures.internal.lockedSnapPoint.set(null);
|
|
250
251
|
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { GestureStoreMap } from "../../../../stores/gesture.store";
|
|
2
|
+
|
|
3
|
+
type SnapshotGestureHandoffOptions = {
|
|
4
|
+
velocity?: number;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export const snapshotGestureHandoff = (
|
|
8
|
+
gestures: GestureStoreMap,
|
|
9
|
+
options?: SnapshotGestureHandoffOptions,
|
|
10
|
+
) => {
|
|
11
|
+
"worklet";
|
|
12
|
+
const snapshot = gestures.internal.snapshot;
|
|
13
|
+
|
|
14
|
+
snapshot.x.set(gestures.x.get());
|
|
15
|
+
snapshot.y.set(gestures.y.get());
|
|
16
|
+
snapshot.normX.set(gestures.normX.get());
|
|
17
|
+
snapshot.normY.set(gestures.normY.get());
|
|
18
|
+
snapshot.velocity.set(options?.velocity ?? gestures.velocity.get());
|
|
19
|
+
snapshot.scale.set(gestures.scale.get());
|
|
20
|
+
snapshot.normScale.set(gestures.normScale.get());
|
|
21
|
+
snapshot.focalX.set(gestures.focalX.get());
|
|
22
|
+
snapshot.focalY.set(gestures.focalY.get());
|
|
23
|
+
snapshot.rotation.set(gestures.rotation.get());
|
|
24
|
+
snapshot.raw.x.set(gestures.raw.x.get());
|
|
25
|
+
snapshot.raw.y.set(gestures.raw.y.get());
|
|
26
|
+
snapshot.raw.normX.set(gestures.raw.normX.get());
|
|
27
|
+
snapshot.raw.normY.set(gestures.raw.normY.get());
|
|
28
|
+
snapshot.raw.scale.set(gestures.raw.scale.get());
|
|
29
|
+
snapshot.raw.normScale.set(gestures.raw.normScale.get());
|
|
30
|
+
snapshot.raw.rotation.set(gestures.raw.rotation.get());
|
|
31
|
+
snapshot.active.set(gestures.active.get());
|
|
32
|
+
snapshot.direction.set(gestures.direction.get());
|
|
33
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { GestureStoreMap } from "../../../../stores/gesture.store";
|
|
2
|
+
|
|
3
|
+
export const clearRawPanValues = (gestures: GestureStoreMap) => {
|
|
4
|
+
"worklet";
|
|
5
|
+
gestures.raw.x.set(0);
|
|
6
|
+
gestures.raw.y.set(0);
|
|
7
|
+
gestures.raw.normX.set(0);
|
|
8
|
+
gestures.raw.normY.set(0);
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const clearPanProgressDeltaValues = (gestures: GestureStoreMap) => {
|
|
12
|
+
"worklet";
|
|
13
|
+
gestures.internal.progressDeltaX.set(0);
|
|
14
|
+
gestures.internal.progressDeltaY.set(0);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const clearPanProgressValues = (gestures: GestureStoreMap) => {
|
|
18
|
+
"worklet";
|
|
19
|
+
gestures.x.set(0);
|
|
20
|
+
gestures.y.set(0);
|
|
21
|
+
gestures.normX.set(0);
|
|
22
|
+
gestures.normY.set(0);
|
|
23
|
+
clearPanProgressDeltaValues(gestures);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const clearPanTrackingValues = (gestures: GestureStoreMap) => {
|
|
27
|
+
"worklet";
|
|
28
|
+
clearPanProgressValues(gestures);
|
|
29
|
+
clearRawPanValues(gestures);
|
|
30
|
+
gestures.velocity.set(0);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export const clearFocalPoint = (gestures: GestureStoreMap) => {
|
|
34
|
+
"worklet";
|
|
35
|
+
gestures.focalX.set(0);
|
|
36
|
+
gestures.focalY.set(0);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export const clearRawTransformValues = (gestures: GestureStoreMap) => {
|
|
40
|
+
"worklet";
|
|
41
|
+
gestures.raw.scale.set(1);
|
|
42
|
+
gestures.raw.normScale.set(0);
|
|
43
|
+
gestures.raw.rotation.set(0);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export const clearTransformTrackingValues = (gestures: GestureStoreMap) => {
|
|
47
|
+
"worklet";
|
|
48
|
+
gestures.scale.set(1);
|
|
49
|
+
gestures.normScale.set(0);
|
|
50
|
+
gestures.rotation.set(0);
|
|
51
|
+
clearRawTransformValues(gestures);
|
|
52
|
+
};
|
|
@@ -16,7 +16,6 @@ import type {
|
|
|
16
16
|
} from "../../../types/animation.types";
|
|
17
17
|
import type {
|
|
18
18
|
GestureDirections,
|
|
19
|
-
GestureProgressMode,
|
|
20
19
|
ResolvedGestureActivationArea,
|
|
21
20
|
ScrollGestureAxis,
|
|
22
21
|
ScrollGestureAxisState,
|
|
@@ -49,11 +48,10 @@ export type RotationGestureEvent =
|
|
|
49
48
|
| GestureUpdateEvent<RotationGestureHandlerEventPayload>
|
|
50
49
|
| GestureStateChangeEvent<RotationGestureHandlerEventPayload>;
|
|
51
50
|
|
|
52
|
-
/** Gesture that
|
|
53
|
-
export type
|
|
51
|
+
/** Gesture that owns navigation release for the current simultaneous composition. */
|
|
52
|
+
export type GestureCompositionOwner = "pan" | "pinch" | null;
|
|
54
53
|
|
|
55
54
|
export type {
|
|
56
|
-
GestureProgressMode,
|
|
57
55
|
ScrollGestureAxis,
|
|
58
56
|
ScrollGestureAxisState,
|
|
59
57
|
ScrollGestureState,
|
|
@@ -114,7 +112,6 @@ export interface PanGesturePolicy {
|
|
|
114
112
|
gestureDirection: NonNullable<ScreenTransitionConfig["gestureDirection"]>;
|
|
115
113
|
panActivationDirections: GestureDirections;
|
|
116
114
|
snapAxisDirections: SnapPanDirectionConfig;
|
|
117
|
-
gestureProgressMode: GestureProgressMode;
|
|
118
115
|
gestureSensitivity: NonNullable<ScreenTransitionConfig["gestureSensitivity"]>;
|
|
119
116
|
gestureVelocityImpact: number;
|
|
120
117
|
gestureSnapVelocityImpact: number;
|
|
@@ -134,7 +131,6 @@ export interface PinchGesturePolicy {
|
|
|
134
131
|
snapDirections: SnapPinchDirectionConfig;
|
|
135
132
|
pinchInEnabled: boolean;
|
|
136
133
|
pinchOutEnabled: boolean;
|
|
137
|
-
gestureProgressMode: GestureProgressMode;
|
|
138
134
|
gestureSensitivity: NonNullable<ScreenTransitionConfig["gestureSensitivity"]>;
|
|
139
135
|
gestureSnapVelocityImpact: number;
|
|
140
136
|
gestureSnapLocked: boolean;
|
|
@@ -154,8 +150,6 @@ export interface GestureRuntime<TPolicy extends GesturePolicy> {
|
|
|
154
150
|
participation: ScreenGestureParticipation;
|
|
155
151
|
policy: TPolicy;
|
|
156
152
|
stores: GestureRuntimeStores;
|
|
157
|
-
gestureProgressBaseline: SharedValue<number>;
|
|
158
|
-
lockedSnapPoint: SharedValue<number>;
|
|
159
153
|
}
|
|
160
154
|
|
|
161
155
|
export type PanGestureRuntime = GestureRuntime<PanGesturePolicy>;
|
|
@@ -187,7 +181,6 @@ export interface PanReleaseResult {
|
|
|
187
181
|
shouldDismiss: boolean;
|
|
188
182
|
initialVelocity: number;
|
|
189
183
|
commitProgress?: number;
|
|
190
|
-
resetNormalizedValuesImmediately?: boolean;
|
|
191
184
|
transitionSpec: TransitionSpec | undefined;
|
|
192
185
|
resetSpec: AnimationConfig | undefined;
|
|
193
186
|
}
|
|
@@ -200,10 +193,7 @@ export interface PanReleasePlan {
|
|
|
200
193
|
resetVelocityY: number;
|
|
201
194
|
resetVelocityNormX: number;
|
|
202
195
|
resetVelocityNormY: number;
|
|
203
|
-
|
|
204
|
-
resetNormalizedValues: boolean;
|
|
205
|
-
resetNormalizedValuesImmediately: boolean;
|
|
206
|
-
preserveRawValues: boolean;
|
|
196
|
+
handoffVelocity: number;
|
|
207
197
|
commitProgress?: number;
|
|
208
198
|
transitionSpec: TransitionSpec | undefined;
|
|
209
199
|
resetSpec: AnimationConfig | undefined;
|
|
@@ -213,6 +203,7 @@ export interface PinchReleaseResult {
|
|
|
213
203
|
target: number;
|
|
214
204
|
shouldDismiss: boolean;
|
|
215
205
|
initialVelocity: number;
|
|
206
|
+
handoffVelocity: number;
|
|
216
207
|
commitProgress?: number;
|
|
217
208
|
resetValuesImmediately?: boolean;
|
|
218
209
|
transitionSpec: TransitionSpec | undefined;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_GESTURE_ACTIVATION_AREA,
|
|
3
3
|
DEFAULT_GESTURE_DIRECTION,
|
|
4
|
-
DEFAULT_GESTURE_PROGRESS_MODE,
|
|
5
4
|
DEFAULT_GESTURE_RELEASE_VELOCITY_SCALE,
|
|
6
5
|
DEFAULT_GESTURE_SENSITIVITY,
|
|
7
6
|
DEFAULT_GESTURE_SNAP_LOCKED,
|
|
@@ -20,11 +19,6 @@ import type {
|
|
|
20
19
|
TransitionInterpolatedStyle,
|
|
21
20
|
} from "../../../types";
|
|
22
21
|
import type { BackdropBehavior } from "../../../types/screen.types";
|
|
23
|
-
import {
|
|
24
|
-
gestureProgressModeDrivesProgress,
|
|
25
|
-
isGestureProgressMode,
|
|
26
|
-
resolveGestureProgressMode,
|
|
27
|
-
} from "../../../utils/gesture-progress-mode";
|
|
28
22
|
import { resolveSheetScrollGestureBehavior } from "../../../utils/resolve-screen-transition-options";
|
|
29
23
|
import type {
|
|
30
24
|
RequiredScreenOption,
|
|
@@ -186,25 +180,6 @@ const resolveBackdropBehaviorOption = (
|
|
|
186
180
|
: fallback;
|
|
187
181
|
};
|
|
188
182
|
|
|
189
|
-
const resolveGestureProgressModeOption = (
|
|
190
|
-
gestureProgressMode: unknown,
|
|
191
|
-
gestureDrivesProgress: unknown,
|
|
192
|
-
fallback: RequiredScreenOption<"gestureProgressMode">,
|
|
193
|
-
): RequiredScreenOption<"gestureProgressMode"> => {
|
|
194
|
-
"worklet";
|
|
195
|
-
if (isGestureProgressMode(gestureProgressMode)) {
|
|
196
|
-
return gestureProgressMode;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
return resolveGestureProgressMode({
|
|
200
|
-
gestureDrivesProgress:
|
|
201
|
-
typeof gestureDrivesProgress === "boolean"
|
|
202
|
-
? gestureDrivesProgress
|
|
203
|
-
: undefined,
|
|
204
|
-
fallback,
|
|
205
|
-
});
|
|
206
|
-
};
|
|
207
|
-
|
|
208
183
|
const areGestureActivationAreasEqual = (
|
|
209
184
|
left: RequiredScreenOption<"gestureActivationArea">,
|
|
210
185
|
right: RequiredScreenOption<"gestureActivationArea">,
|
|
@@ -282,8 +257,6 @@ const areScreenOptionsEqual = (
|
|
|
282
257
|
left.gestureSnapVelocityImpact === right.gestureSnapVelocityImpact &&
|
|
283
258
|
left.gestureReleaseVelocityScale === right.gestureReleaseVelocityScale &&
|
|
284
259
|
left.gestureResponseDistance === right.gestureResponseDistance &&
|
|
285
|
-
left.gestureProgressMode === right.gestureProgressMode &&
|
|
286
|
-
left.gestureDrivesProgress === right.gestureDrivesProgress &&
|
|
287
260
|
areGestureActivationAreasEqual(
|
|
288
261
|
left.gestureActivationArea,
|
|
289
262
|
right.gestureActivationArea,
|
|
@@ -299,12 +272,6 @@ const areScreenOptionsEqual = (
|
|
|
299
272
|
export const resolveBaseScreenOptions = (
|
|
300
273
|
options: ScreenTransitionConfig,
|
|
301
274
|
): ScreenOptionsSnapshot => {
|
|
302
|
-
const gestureProgressMode = resolveGestureProgressModeOption(
|
|
303
|
-
options.gestureProgressMode,
|
|
304
|
-
options.gestureDrivesProgress,
|
|
305
|
-
DEFAULT_GESTURE_PROGRESS_MODE,
|
|
306
|
-
);
|
|
307
|
-
|
|
308
275
|
return {
|
|
309
276
|
navigationMaskEnabled: resolveBooleanOption(
|
|
310
277
|
options.navigationMaskEnabled,
|
|
@@ -339,9 +306,6 @@ export const resolveBaseScreenOptions = (
|
|
|
339
306
|
options.gestureResponseDistance,
|
|
340
307
|
undefined,
|
|
341
308
|
),
|
|
342
|
-
gestureProgressMode,
|
|
343
|
-
gestureDrivesProgress:
|
|
344
|
-
gestureProgressModeDrivesProgress(gestureProgressMode),
|
|
345
309
|
gestureActivationArea: resolveGestureActivationAreaOption(
|
|
346
310
|
options.gestureActivationArea,
|
|
347
311
|
DEFAULT_GESTURE_ACTIVATION_AREA,
|
|
@@ -384,11 +348,6 @@ export const syncScreenOptionsOverrides = (
|
|
|
384
348
|
"worklet";
|
|
385
349
|
const options = raw?.options;
|
|
386
350
|
const base = screenOptions.get().baseOptions;
|
|
387
|
-
const gestureProgressMode = resolveGestureProgressModeOption(
|
|
388
|
-
options?.gestureProgressMode,
|
|
389
|
-
options?.gestureDrivesProgress,
|
|
390
|
-
base.gestureProgressMode,
|
|
391
|
-
);
|
|
392
351
|
|
|
393
352
|
const next: ScreenOptionsState = {
|
|
394
353
|
navigationMaskEnabled: base.navigationMaskEnabled,
|
|
@@ -421,9 +380,6 @@ export const syncScreenOptionsOverrides = (
|
|
|
421
380
|
options?.gestureResponseDistance,
|
|
422
381
|
base.gestureResponseDistance,
|
|
423
382
|
),
|
|
424
|
-
gestureProgressMode,
|
|
425
|
-
gestureDrivesProgress:
|
|
426
|
-
gestureProgressModeDrivesProgress(gestureProgressMode),
|
|
427
383
|
gestureActivationArea: resolveGestureActivationAreaOption(
|
|
428
384
|
options?.gestureActivationArea,
|
|
429
385
|
base.gestureActivationArea,
|
|
@@ -18,8 +18,6 @@ export type ScreenOptionsSnapshot = {
|
|
|
18
18
|
gestureSnapVelocityImpact: RequiredScreenOption<"gestureSnapVelocityImpact">;
|
|
19
19
|
gestureReleaseVelocityScale: RequiredScreenOption<"gestureReleaseVelocityScale">;
|
|
20
20
|
gestureResponseDistance: OptionalScreenOption<"gestureResponseDistance">;
|
|
21
|
-
gestureProgressMode: RequiredScreenOption<"gestureProgressMode">;
|
|
22
|
-
gestureDrivesProgress: RequiredScreenOption<"gestureDrivesProgress">;
|
|
23
21
|
gestureActivationArea: RequiredScreenOption<"gestureActivationArea">;
|
|
24
22
|
gestureSnapLocked: RequiredScreenOption<"gestureSnapLocked">;
|
|
25
23
|
sheetScrollGestureBehavior: RequiredScreenOption<"sheetScrollGestureBehavior">;
|
|
@@ -197,19 +197,19 @@ export const useInterpolatedStylesMap = () => {
|
|
|
197
197
|
const interpolatorOptionsOwner =
|
|
198
198
|
isInGestureMode || !nextInterpolator ? "current" : "next";
|
|
199
199
|
|
|
200
|
-
let
|
|
201
|
-
let
|
|
200
|
+
let selectedProgress = progress;
|
|
201
|
+
let selectedNext = next;
|
|
202
202
|
|
|
203
203
|
if (isInGestureMode) {
|
|
204
|
-
|
|
205
|
-
|
|
204
|
+
selectedProgress = current.progress;
|
|
205
|
+
selectedNext = undefined;
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
const currentResult = runInterpolator({
|
|
209
209
|
interpolator: currentInterpolator,
|
|
210
210
|
props,
|
|
211
|
-
progress:
|
|
212
|
-
next:
|
|
211
|
+
progress: selectedProgress,
|
|
212
|
+
next: selectedNext,
|
|
213
213
|
bounds: boundsAccessor,
|
|
214
214
|
transition,
|
|
215
215
|
shouldDeferStyleBuckets,
|
|
@@ -233,8 +233,8 @@ export const useInterpolatedStylesMap = () => {
|
|
|
233
233
|
const nextResult = runInterpolator({
|
|
234
234
|
interpolator: nextInterpolator,
|
|
235
235
|
props,
|
|
236
|
-
progress:
|
|
237
|
-
next:
|
|
236
|
+
progress: selectedProgress,
|
|
237
|
+
next: selectedNext,
|
|
238
238
|
bounds: boundsAccessor,
|
|
239
239
|
transition,
|
|
240
240
|
shouldDeferStyleBuckets,
|
|
@@ -14,7 +14,8 @@ import { resolveScreenVisibilityGate } from "../helpers/visibility-gate";
|
|
|
14
14
|
export const useMaybeBlockVisibility = (isFloatingOverlay?: boolean) => {
|
|
15
15
|
const { height } = useWindowDimensions();
|
|
16
16
|
const { currentScreenKey } = useDescriptorDerivations();
|
|
17
|
-
const { entering,
|
|
17
|
+
const { entering, transitionProgress } =
|
|
18
|
+
AnimationStore.getBag(currentScreenKey);
|
|
18
19
|
|
|
19
20
|
const { pendingLifecycleStartBlockCount, pendingLifecycleRequestKind } =
|
|
20
21
|
SystemStore.getBag(currentScreenKey);
|
|
@@ -40,7 +41,7 @@ export const useMaybeBlockVisibility = (isFloatingOverlay?: boolean) => {
|
|
|
40
41
|
hasVisibilityGateOpened: hasVisibilityGateOpened.get(),
|
|
41
42
|
pendingLifecycleStartBlockCount: pendingLifecycleStartBlockCount.get(),
|
|
42
43
|
pendingLifecycleRequestKind: pendingLifecycleRequestKind.get(),
|
|
43
|
-
progress:
|
|
44
|
+
progress: transitionProgress.get(),
|
|
44
45
|
entering: entering.get(),
|
|
45
46
|
});
|
|
46
47
|
},
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
import { createStore } from "../utils/create-store";
|
|
7
7
|
|
|
8
8
|
export type AnimationStoreMap = {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
transitionProgress: SharedValue<number>;
|
|
10
|
+
visualProgress: SharedValue<number>;
|
|
11
11
|
willAnimate: SharedValue<number>;
|
|
12
12
|
progressAnimating: SharedValue<number>;
|
|
13
13
|
progressSettled: SharedValue<number>;
|
|
@@ -17,8 +17,8 @@ export type AnimationStoreMap = {
|
|
|
17
17
|
|
|
18
18
|
function createAnimationBag(): AnimationStoreMap {
|
|
19
19
|
return {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
transitionProgress: makeMutable(0),
|
|
21
|
+
visualProgress: makeMutable(0),
|
|
22
22
|
willAnimate: makeMutable(0),
|
|
23
23
|
closing: makeMutable(0),
|
|
24
24
|
progressAnimating: makeMutable(0),
|
|
@@ -29,14 +29,14 @@ function createAnimationBag(): AnimationStoreMap {
|
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Route-keyed screen transition state for the public animation lifecycle.
|
|
32
|
-
* `
|
|
33
|
-
*
|
|
32
|
+
* `transitionProgress` tracks committed transition progress; `visualProgress`
|
|
33
|
+
* tracks hydrated progress after live gestures are applied.
|
|
34
34
|
*/
|
|
35
35
|
export const AnimationStore = createStore<AnimationStoreMap>({
|
|
36
36
|
createBag: createAnimationBag,
|
|
37
37
|
disposeBag: (bag) => {
|
|
38
|
-
cancelAnimation(bag.
|
|
39
|
-
cancelAnimation(bag.
|
|
38
|
+
cancelAnimation(bag.transitionProgress);
|
|
39
|
+
cancelAnimation(bag.visualProgress);
|
|
40
40
|
cancelAnimation(bag.willAnimate);
|
|
41
41
|
cancelAnimation(bag.progressAnimating);
|
|
42
42
|
cancelAnimation(bag.progressSettled);
|