react-native-screen-transitions 3.6.0-alpha.0 → 3.6.0-alpha.2
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/component-stack/components/component-screen.js +1 -7
- package/lib/commonjs/component-stack/components/component-screen.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/create-boundary-component.js +35 -45
- package/lib/commonjs/shared/components/create-boundary-component/create-boundary-component.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-presence.js +5 -15
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-presence.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js +20 -11
- 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-initial-source-measurement.js +27 -7
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-source-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js +23 -57
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-refresh-boundary.js +33 -40
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-refresh-boundary.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/index.js +3 -1
- package/lib/commonjs/shared/components/create-boundary-component/index.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/utils/destination-signals.js +75 -0
- package/lib/commonjs/shared/components/create-boundary-component/utils/destination-signals.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/{hooks/helpers/scroll-measurement.js → utils/measured-bounds.js} +15 -2
- package/lib/commonjs/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/utils/refresh-signals.js +103 -0
- package/lib/commonjs/shared/components/create-boundary-component/utils/refresh-signals.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/utils/source-signals.js +52 -0
- package/lib/commonjs/shared/components/create-boundary-component/utils/source-signals.js.map +1 -0
- package/lib/commonjs/shared/components/create-transition-aware-component.js +2 -2
- package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/shared/components/native-screen.js +2 -13
- package/lib/commonjs/shared/components/native-screen.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/helpers/find-collapse-target.js +17 -12
- package/lib/commonjs/shared/components/screen-container/helpers/find-collapse-target.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js +1 -1
- 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 +8 -1
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js +18 -10
- package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/surface-container.js +16 -5
- package/lib/commonjs/shared/components/screen-container/layers/surface-container.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.js +2 -12
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +1 -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-open-transition-intent.js +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
- package/lib/commonjs/shared/configs/presets.js +3 -3
- package/lib/commonjs/shared/configs/presets.js.map +1 -1
- package/lib/commonjs/shared/constants.js +11 -6
- package/lib/commonjs/shared/constants.js.map +1 -1
- package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +35 -0
- package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -0
- package/lib/commonjs/shared/providers/register-bounds.provider.js +50 -65
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +86 -11
- package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +23 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +98 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js +8 -1
- 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 +79 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +90 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js +29 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js +96 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/types.js +6 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/types.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +20 -22
- 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 +51 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +2 -3
- package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +55 -25
- package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +2 -5
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +2 -12
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +5 -5
- package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js +4 -5
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.js +3 -3
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +6 -84
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js +2 -5
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/compute-claimed-directions.js +37 -36
- package/lib/commonjs/shared/providers/screen/gestures/ownership/compute-claimed-directions.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js +13 -0
- package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +69 -56
- package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/{builders/use-build-pan-gesture.js → pan/build-pan-gesture.js} +4 -4
- package/lib/commonjs/shared/providers/screen/gestures/pan/build-pan-gesture.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-decision.js +210 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-decision.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/{helpers/gesture-activation.js → pan/pan-activation-rules.js} +131 -121
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-rules.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation.js +94 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/{helpers/pan-phases.js → pan/pan-lifecycle.js} +40 -32
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-release.js +212 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-release.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-reset.js +54 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/pan-reset.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js +53 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/{builders/use-build-pinch-gesture.js → pinch/build-pinch-gesture.js} +4 -4
- package/lib/commonjs/shared/providers/screen/gestures/pinch/build-pinch-gesture.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/{activation/use-pinch-activation.js → pinch/pinch-activation.js} +6 -6
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-activation.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/{helpers/pinch-phases.js → pinch/pinch-lifecycle.js} +13 -7
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-release.js +133 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-release.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-reset.js +45 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-reset.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +53 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/index.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/use-scroll-gesture-coordination.js +4 -4
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/walk-up-scroll-gesture-coordination.js +20 -9
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/{helpers/walk-gesture-ancestors.js → shared/ancestors.js} +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/{helpers/gesture-directions.js → shared/directions.js} +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/directions.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/{helpers/gesture-physics.js → shared/physics.js} +92 -68
- package/lib/commonjs/shared/providers/screen/gestures/shared/physics.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +227 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/release.js +36 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/release.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js +65 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/runtime.js +43 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/runtime.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js +184 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/targets.js +122 -0
- package/lib/commonjs/shared/providers/screen/gestures/shared/targets.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/types.js +2 -2
- package/lib/commonjs/shared/providers/screen/gestures/types.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/options/helpers.js +69 -19
- package/lib/commonjs/shared/providers/screen/options/helpers.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +26 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +112 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js +45 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +32 -15
- 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 +34 -13
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +9 -3
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
- package/lib/commonjs/shared/stores/animation.store.js +3 -7
- package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +125 -0
- package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/index.js +7 -15
- package/lib/commonjs/shared/stores/bounds/index.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/clear.js +13 -42
- package/lib/commonjs/shared/stores/bounds/internals/clear.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/entries.js +49 -9
- package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/links.js +143 -88
- package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/resolver.js +17 -43
- package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/state.js +26 -3
- package/lib/commonjs/shared/stores/bounds/internals/state.js.map +1 -1
- package/lib/commonjs/shared/stores/gesture.store.js +2 -0
- package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
- package/lib/commonjs/shared/stores/system.store.js +3 -0
- package/lib/commonjs/shared/stores/system.store.js.map +1 -1
- package/lib/commonjs/shared/types/gesture.types.js +2 -2
- package/lib/commonjs/shared/types/gesture.types.js.map +1 -1
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js +19 -18
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js +2 -1
- package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js +6 -5
- package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js +21 -8
- package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/resolve-bounds-pair-key.js +23 -0
- package/lib/commonjs/shared/utils/bounds/helpers/resolve-bounds-pair-key.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/navigation/math.js +1 -15
- package/lib/commonjs/shared/utils/bounds/navigation/math.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +140 -133
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/config.js +21 -17
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/config.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js +155 -14
- package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +80 -18
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js +2 -2
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/math.js +4 -5
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/math.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture-progress-mode.js +50 -0
- package/lib/commonjs/shared/utils/gesture-progress-mode.js.map +1 -0
- package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js +20 -19
- package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
- package/lib/commonjs/shared/utils/resolve-chain-target.js +9 -16
- package/lib/commonjs/shared/utils/resolve-chain-target.js.map +1 -1
- package/lib/commonjs/shared/utils/resolve-screen-transition-options.js +3 -3
- package/lib/commonjs/shared/utils/resolve-screen-transition-options.js.map +1 -1
- package/lib/module/component-stack/components/component-screen.js +2 -8
- package/lib/module/component-stack/components/component-screen.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/create-boundary-component.js +35 -45
- package/lib/module/shared/components/create-boundary-component/create-boundary-component.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-presence.js +5 -15
- package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-presence.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js +21 -12
- 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-initial-source-measurement.js +28 -8
- package/lib/module/shared/components/create-boundary-component/hooks/use-initial-source-measurement.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js +22 -56
- package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/hooks/use-refresh-boundary.js +33 -40
- package/lib/module/shared/components/create-boundary-component/hooks/use-refresh-boundary.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/index.js +3 -1
- package/lib/module/shared/components/create-boundary-component/index.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/utils/destination-signals.js +70 -0
- package/lib/module/shared/components/create-boundary-component/utils/destination-signals.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/{hooks/helpers/scroll-measurement.js → utils/measured-bounds.js} +13 -1
- package/lib/module/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/utils/refresh-signals.js +98 -0
- package/lib/module/shared/components/create-boundary-component/utils/refresh-signals.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/utils/source-signals.js +47 -0
- package/lib/module/shared/components/create-boundary-component/utils/source-signals.js.map +1 -0
- package/lib/module/shared/components/create-transition-aware-component.js +1 -1
- package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/shared/components/native-screen.js +3 -14
- package/lib/module/shared/components/native-screen.js.map +1 -1
- package/lib/module/shared/components/screen-container/helpers/find-collapse-target.js +16 -11
- package/lib/module/shared/components/screen-container/helpers/find-collapse-target.js.map +1 -1
- package/lib/module/shared/components/screen-container/hooks/use-content-layout.js +1 -1
- 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 +8 -1
- package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js +18 -10
- package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/surface-container.js +16 -5
- package/lib/module/shared/components/screen-container/layers/surface-container.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.js +3 -13
- package/lib/module/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +1 -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-open-transition-intent.js +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
- package/lib/module/shared/configs/presets.js +3 -3
- package/lib/module/shared/configs/presets.js.map +1 -1
- package/lib/module/shared/constants.js +10 -5
- package/lib/module/shared/constants.js.map +1 -1
- package/lib/module/shared/providers/helpers/measured-bounds-writes.js +30 -0
- package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -0
- package/lib/module/shared/providers/register-bounds.provider.js +50 -65
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/animation.provider.js +87 -12
- package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +18 -0
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +92 -0
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js +8 -1
- 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 +74 -0
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +85 -0
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js +22 -0
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js +89 -0
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/types.js +4 -0
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/types.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +20 -22
- 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 +46 -0
- package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +2 -3
- package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/use-screen-animation.js +56 -25
- package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +2 -5
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +2 -12
- package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/gestures.provider.js +4 -4
- package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js +4 -5
- package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.js +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +6 -84
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js +1 -4
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/ownership/compute-claimed-directions.js +36 -36
- package/lib/module/shared/providers/screen/gestures/ownership/compute-claimed-directions.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js +12 -0
- package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +69 -56
- package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/{builders/use-build-pan-gesture.js → pan/build-pan-gesture.js} +3 -3
- package/lib/module/shared/providers/screen/gestures/pan/build-pan-gesture.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/pan-activation-decision.js +205 -0
- package/lib/module/shared/providers/screen/gestures/pan/pan-activation-decision.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{helpers/gesture-activation.js → pan/pan-activation-rules.js} +129 -119
- package/lib/module/shared/providers/screen/gestures/pan/pan-activation-rules.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/pan-activation.js +89 -0
- package/lib/module/shared/providers/screen/gestures/pan/pan-activation.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{helpers/pan-phases.js → pan/pan-lifecycle.js} +36 -28
- package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/pan-release.js +204 -0
- package/lib/module/shared/providers/screen/gestures/pan/pan-release.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/pan-reset.js +49 -0
- package/lib/module/shared/providers/screen/gestures/pan/pan-reset.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{behaviors → pan}/use-pan-behavior.js +11 -22
- package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{builders/use-build-pinch-gesture.js → pinch/build-pinch-gesture.js} +3 -3
- package/lib/module/shared/providers/screen/gestures/pinch/build-pinch-gesture.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{activation/use-pinch-activation.js → pinch/pinch-activation.js} +5 -5
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-activation.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{helpers/pinch-phases.js → pinch/pinch-lifecycle.js} +10 -4
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-release.js +126 -0
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-release.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-reset.js +40 -0
- package/lib/module/shared/providers/screen/gestures/pinch/pinch-reset.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{behaviors → pinch}/use-pinch-behavior.js +11 -22
- package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/index.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/use-scroll-gesture-coordination.js +4 -4
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/walk-up-scroll-gesture-coordination.js +20 -9
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{helpers/walk-gesture-ancestors.js → shared/ancestors.js} +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/ancestors.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{helpers/gesture-directions.js → shared/directions.js} +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/directions.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/{helpers/gesture-physics.js → shared/physics.js} +88 -63
- package/lib/module/shared/providers/screen/gestures/shared/physics.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/shared/policy.js +218 -0
- package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/shared/release.js +30 -0
- package/lib/module/shared/providers/screen/gestures/shared/release.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/shared/reset.js +58 -0
- package/lib/module/shared/providers/screen/gestures/shared/reset.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/shared/runtime.js +37 -0
- package/lib/module/shared/providers/screen/gestures/shared/runtime.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/shared/snap-points.js +174 -0
- package/lib/module/shared/providers/screen/gestures/shared/snap-points.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/shared/targets.js +116 -0
- package/lib/module/shared/providers/screen/gestures/shared/targets.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 +70 -20
- package/lib/module/shared/providers/screen/options/helpers.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +21 -0
- package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +110 -0
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js +39 -0
- package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +32 -15
- 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 +35 -14
- package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +10 -4
- package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
- package/lib/module/shared/stores/animation.store.js +3 -7
- package/lib/module/shared/stores/animation.store.js.map +1 -1
- package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +105 -0
- package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -0
- package/lib/module/shared/stores/bounds/index.js +9 -17
- package/lib/module/shared/stores/bounds/index.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/clear.js +15 -42
- package/lib/module/shared/stores/bounds/internals/clear.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/entries.js +49 -9
- package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/links.js +139 -86
- package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/resolver.js +17 -43
- package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/state.js +25 -2
- package/lib/module/shared/stores/bounds/internals/state.js.map +1 -1
- package/lib/module/shared/stores/gesture.store.js +2 -0
- package/lib/module/shared/stores/gesture.store.js.map +1 -1
- package/lib/module/shared/stores/system.store.js +3 -0
- package/lib/module/shared/stores/system.store.js.map +1 -1
- package/lib/module/shared/types/animation.types.js +0 -4
- package/lib/module/shared/types/animation.types.js.map +1 -1
- package/lib/module/shared/types/gesture.types.js +0 -1
- package/lib/module/shared/types/gesture.types.js.map +1 -1
- package/lib/module/shared/utils/animation/animate-to-progress.js +19 -18
- package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js +2 -1
- package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js +6 -5
- package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js +21 -8
- package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/resolve-bounds-pair-key.js +18 -0
- package/lib/module/shared/utils/bounds/helpers/resolve-bounds-pair-key.js.map +1 -0
- package/lib/module/shared/utils/bounds/navigation/math.js +2 -16
- package/lib/module/shared/utils/bounds/navigation/math.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/reveal/build.js +141 -134
- package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/reveal/config.js +20 -16
- package/lib/module/shared/utils/bounds/navigation/reveal/config.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/reveal/math.js +144 -12
- package/lib/module/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js +81 -19
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/config.js +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/config.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/math.js +4 -5
- package/lib/module/shared/utils/bounds/navigation/zoom/math.js.map +1 -1
- package/lib/module/shared/utils/gesture-progress-mode.js +42 -0
- package/lib/module/shared/utils/gesture-progress-mode.js.map +1 -0
- package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js +20 -19
- package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
- package/lib/module/shared/utils/resolve-chain-target.js +9 -16
- package/lib/module/shared/utils/resolve-chain-target.js.map +1 -1
- package/lib/module/shared/utils/resolve-screen-transition-options.js +1 -1
- package/lib/module/shared/utils/resolve-screen-transition-options.js.map +1 -1
- package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/create-boundary-component.d.ts +1 -0
- package/lib/typescript/shared/components/create-boundary-component/create-boundary-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-presence.d.ts +1 -4
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-presence.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.d.ts +6 -4
- 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-initial-source-measurement.d.ts +6 -2
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-source-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-measurer.d.ts +5 -7
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-measurer.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-refresh-boundary.d.ts +7 -7
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-refresh-boundary.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/index.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/types.d.ts +11 -7
- package/lib/typescript/shared/components/create-boundary-component/types.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/utils/destination-signals.d.ts +10 -0
- package/lib/typescript/shared/components/create-boundary-component/utils/destination-signals.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/{hooks/helpers/scroll-measurement.d.ts → utils/measured-bounds.d.ts} +3 -2
- package/lib/typescript/shared/components/create-boundary-component/utils/measured-bounds.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/utils/refresh-signals.d.ts +22 -0
- package/lib/typescript/shared/components/create-boundary-component/utils/refresh-signals.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/utils/source-signals.d.ts +16 -0
- package/lib/typescript/shared/components/create-boundary-component/utils/source-signals.d.ts.map +1 -0
- package/lib/typescript/shared/components/native-screen.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/helpers/find-collapse-target.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.d.ts +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
- package/lib/typescript/shared/constants.d.ts +9 -6
- package/lib/typescript/shared/constants.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +2 -2
- package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts +21 -0
- package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts.map +1 -0
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +4 -1
- package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts +2 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts +6 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -0
- 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 +5 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts +5 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.d.ts +5 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.d.ts +5 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/{hydrate-transition-state.d.ts → hydrate-transition-state/types.d.ts} +15 -16
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts +3 -3
- package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/selected-interpolator-options.d.ts +9 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/selected-interpolator-options.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +2 -3
- package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/types.d.ts +19 -4
- package/lib/typescript/shared/providers/screen/animation/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/use-screen-animation.d.ts +9 -3
- package/lib/typescript/shared/providers/screen/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +1 -6
- package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.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-gesture-builder-state.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-gesture-builder-state.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-stable-runtime-config.d.ts +3 -5
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-stable-runtime-config.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/ownership/compute-claimed-directions.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts +5 -0
- package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/{builders/use-build-pan-gesture.d.ts → pan/build-pan-gesture.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/build-pan-gesture.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation-decision.d.ts +29 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation-decision.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{helpers/gesture-activation.d.ts → pan/pan-activation-rules.d.ts} +12 -11
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation-rules.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{activation/use-pan-activation.d.ts → pan/pan-activation.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{helpers/pan-phases.d.ts → pan/pan-lifecycle.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-release.d.ts +6 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-release.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-reset.d.ts +18 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/pan-reset.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{builders/use-build-pinch-gesture.d.ts → pinch/build-pinch-gesture.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/build-pinch-gesture.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{activation/use-pinch-activation.d.ts → pinch/pinch-activation.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-activation.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{helpers/pinch-phases.d.ts → pinch/pinch-lifecycle.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-release.d.ts +5 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-release.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-reset.d.ts +11 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-reset.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/index.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/update-scroll-gesture-state.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/use-scroll-gesture-coordination.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/walk-up-scroll-gesture-coordination.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{helpers/walk-gesture-ancestors.d.ts → shared/ancestors.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{helpers/gesture-directions.d.ts → shared/directions.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/directions.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{helpers/gesture-physics.d.ts → shared/physics.d.ts} +11 -10
- package/lib/typescript/shared/providers/screen/gestures/shared/physics.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +39 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/release.d.ts +13 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/release.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/reset.d.ts +7 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/reset.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/runtime.d.ts +5 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/runtime.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/snap-points.d.ts +37 -0
- package/lib/typescript/shared/providers/screen/gestures/shared/snap-points.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/{helpers/gesture-targets.d.ts → shared/targets.d.ts} +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/targets.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/types.d.ts +32 -29
- 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 +1 -0
- package/lib/typescript/shared/providers/screen/options/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts +3 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +4 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts +17 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +4 -4
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.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/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts.map +1 -1
- package/lib/typescript/shared/stores/animation.store.d.ts +1 -3
- package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +18 -0
- package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/index.d.ts +7 -15
- package/lib/typescript/shared/stores/bounds/index.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/clear.d.ts +2 -4
- package/lib/typescript/shared/stores/bounds/internals/clear.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts +13 -10
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/state.d.ts +26 -5
- package/lib/typescript/shared/stores/bounds/internals/state.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/types.d.ts +16 -18
- package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
- package/lib/typescript/shared/stores/gesture.store.d.ts +1 -0
- package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/system.store.d.ts +4 -0
- package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +11 -5
- 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/bounds.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/gesture.types.d.ts +9 -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/screen.types.d.ts +8 -1
- 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/bounds/helpers/create-bounds-accessor-core.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/create-interpolators.d.ts +2 -2
- package/lib/typescript/shared/utils/bounds/helpers/create-interpolators.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/create-link-accessor.d.ts +2 -3
- package/lib/typescript/shared/utils/bounds/helpers/create-link-accessor.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/prepare-bound-styles.d.ts +3 -3
- package/lib/typescript/shared/utils/bounds/helpers/prepare-bound-styles.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/resolve-bounds-pair-key.d.ts +4 -0
- package/lib/typescript/shared/utils/bounds/helpers/resolve-bounds-pair-key.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/navigation/math.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/reveal/config.d.ts +20 -16
- package/lib/typescript/shared/utils/bounds/navigation/reveal/config.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts +48 -7
- package/lib/typescript/shared/utils/bounds/navigation/reveal/math.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/navigation/zoom/config.d.ts +1 -1
- package/lib/typescript/shared/utils/bounds/navigation/zoom/config.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/navigation/zoom/math.d.ts +2 -3
- package/lib/typescript/shared/utils/bounds/navigation/zoom/math.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/types/options.d.ts +2 -3
- package/lib/typescript/shared/utils/bounds/types/options.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture-progress-mode.d.ts +14 -0
- package/lib/typescript/shared/utils/gesture-progress-mode.d.ts.map +1 -0
- package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts +3 -2
- package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts.map +1 -1
- package/lib/typescript/shared/utils/resolve-chain-target.d.ts +2 -2
- package/lib/typescript/shared/utils/resolve-chain-target.d.ts.map +1 -1
- package/lib/typescript/shared/utils/resolve-screen-transition-options.d.ts +0 -1
- package/lib/typescript/shared/utils/resolve-screen-transition-options.d.ts.map +1 -1
- package/package.json +5 -2
- package/src/component-stack/components/component-screen.tsx +3 -11
- package/src/shared/components/create-boundary-component/create-boundary-component.tsx +38 -40
- package/src/shared/components/create-boundary-component/hooks/use-boundary-presence.ts +5 -30
- package/src/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.ts +29 -19
- package/src/shared/components/create-boundary-component/hooks/use-initial-source-measurement.ts +41 -11
- package/src/shared/components/create-boundary-component/hooks/use-measurer.ts +49 -76
- package/src/shared/components/create-boundary-component/hooks/use-refresh-boundary.ts +45 -84
- package/src/shared/components/create-boundary-component/index.tsx +3 -1
- package/src/shared/components/create-boundary-component/types.ts +13 -11
- package/src/shared/components/create-boundary-component/utils/destination-signals.ts +129 -0
- package/src/shared/components/create-boundary-component/{hooks/helpers/scroll-measurement.ts → utils/measured-bounds.ts} +25 -1
- package/src/shared/components/create-boundary-component/utils/refresh-signals.ts +164 -0
- package/src/shared/components/create-boundary-component/utils/source-signals.ts +72 -0
- package/src/shared/components/create-transition-aware-component.tsx +1 -1
- package/src/shared/components/native-screen.tsx +3 -12
- package/src/shared/components/screen-container/helpers/find-collapse-target.ts +18 -7
- package/src/shared/components/screen-container/hooks/use-content-layout.ts +1 -1
- package/src/shared/components/screen-container/layers/backdrop.tsx +11 -5
- package/src/shared/components/screen-container/layers/maybe-masked-navigation-container.tsx +30 -15
- package/src/shared/components/screen-container/layers/surface-container.tsx +35 -15
- package/src/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.ts +3 -23
- package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +1 -4
- package/src/shared/components/screen-lifecycle/hooks/use-open-transition-intent.ts +1 -1
- package/src/shared/configs/presets.ts +3 -3
- package/src/shared/constants.ts +15 -6
- package/src/shared/providers/helpers/measured-bounds-writes.ts +67 -0
- package/src/shared/providers/register-bounds.provider.tsx +77 -101
- package/src/shared/providers/screen/animation/animation.provider.tsx +169 -17
- package/src/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.tsx +13 -0
- package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +144 -0
- package/src/shared/providers/screen/animation/helpers/build-screen-transition-options.ts +17 -1
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.ts +164 -0
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +159 -0
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.ts +41 -0
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.ts +188 -0
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +40 -0
- package/src/shared/providers/screen/animation/helpers/pipeline.ts +40 -24
- package/src/shared/providers/screen/animation/helpers/selected-interpolator-options.ts +99 -0
- package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +7 -6
- package/src/shared/providers/screen/animation/types.ts +34 -4
- package/src/shared/providers/screen/animation/use-screen-animation.tsx +88 -33
- package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +1 -7
- package/src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +0 -19
- package/src/shared/providers/screen/gestures/gestures.provider.tsx +5 -4
- package/src/shared/providers/screen/gestures/hooks/use-gesture-builder-state.ts +6 -10
- package/src/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.ts +1 -1
- package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +11 -147
- package/src/shared/providers/screen/gestures/hooks/use-screen-gesture.ts +1 -5
- package/src/shared/providers/screen/gestures/hooks/use-stable-runtime-config.ts +11 -19
- package/src/shared/providers/screen/gestures/ownership/compute-claimed-directions.ts +52 -40
- package/src/shared/providers/screen/gestures/ownership/resolve-ownership.ts +15 -0
- package/src/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts +83 -47
- package/src/shared/providers/screen/gestures/{builders/use-build-pan-gesture.ts → pan/build-pan-gesture.ts} +2 -2
- package/src/shared/providers/screen/gestures/pan/pan-activation-decision.ts +458 -0
- package/src/shared/providers/screen/gestures/{helpers/gesture-activation.ts → pan/pan-activation-rules.ts} +208 -147
- package/src/shared/providers/screen/gestures/pan/pan-activation.ts +135 -0
- package/src/shared/providers/screen/gestures/{helpers/pan-phases.ts → pan/pan-lifecycle.ts} +44 -23
- package/src/shared/providers/screen/gestures/pan/pan-release.ts +279 -0
- package/src/shared/providers/screen/gestures/pan/pan-reset.ts +95 -0
- package/src/shared/providers/screen/gestures/{behaviors → pan}/use-pan-behavior.ts +28 -36
- package/src/shared/providers/screen/gestures/{builders/use-build-pinch-gesture.ts → pinch/build-pinch-gesture.ts} +2 -2
- package/src/shared/providers/screen/gestures/{activation/use-pinch-activation.ts → pinch/pinch-activation.ts} +6 -3
- package/src/shared/providers/screen/gestures/{helpers/pinch-phases.ts → pinch/pinch-lifecycle.ts} +9 -2
- package/src/shared/providers/screen/gestures/pinch/pinch-release.ts +183 -0
- package/src/shared/providers/screen/gestures/pinch/pinch-reset.ts +65 -0
- package/src/shared/providers/screen/gestures/{behaviors → pinch}/use-pinch-behavior.ts +28 -42
- package/src/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/update-scroll-gesture-state.ts +1 -1
- package/src/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/use-scroll-gesture-coordination.ts +5 -5
- package/src/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/walk-up-scroll-gesture-coordination.ts +42 -26
- package/src/shared/providers/screen/gestures/{helpers/gesture-physics.ts → shared/physics.ts} +167 -107
- package/src/shared/providers/screen/gestures/shared/policy.ts +344 -0
- package/src/shared/providers/screen/gestures/shared/release.ts +43 -0
- package/src/shared/providers/screen/gestures/shared/reset.ts +74 -0
- package/src/shared/providers/screen/gestures/shared/runtime.ts +76 -0
- package/src/shared/providers/screen/gestures/shared/snap-points.ts +250 -0
- package/src/shared/providers/screen/gestures/shared/targets.ts +202 -0
- package/src/shared/providers/screen/gestures/types.ts +40 -44
- package/src/shared/providers/screen/options/helpers.ts +169 -58
- package/src/shared/providers/screen/options/types.ts +1 -0
- package/src/shared/providers/screen/styles/helpers/preserve-animated-props-only.ts +22 -0
- package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +154 -0
- package/src/shared/providers/screen/styles/helpers/visibility-gate.ts +57 -0
- package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +45 -18
- package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +36 -17
- package/src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx +11 -3
- package/src/shared/stores/animation.store.ts +3 -9
- package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +161 -0
- package/src/shared/stores/bounds/index.ts +11 -23
- package/src/shared/stores/bounds/internals/clear.ts +18 -81
- package/src/shared/stores/bounds/internals/entries.ts +56 -13
- package/src/shared/stores/bounds/internals/links.ts +222 -125
- package/src/shared/stores/bounds/internals/resolver.ts +23 -87
- package/src/shared/stores/bounds/internals/state.ts +27 -5
- package/src/shared/stores/bounds/types.ts +19 -18
- package/src/shared/stores/gesture.store.ts +3 -0
- package/src/shared/stores/system.store.ts +8 -0
- package/src/shared/types/animation.types.ts +13 -5
- package/src/shared/types/bounds.types.ts +4 -1
- package/src/shared/types/gesture.types.ts +10 -2
- package/src/shared/types/index.ts +0 -1
- package/src/shared/types/screen.types.ts +13 -1
- package/src/shared/utils/animation/animate-to-progress.ts +25 -17
- package/src/shared/utils/bounds/helpers/create-bounds-accessor-core.ts +2 -0
- package/src/shared/utils/bounds/helpers/create-interpolators.ts +2 -2
- package/src/shared/utils/bounds/helpers/create-link-accessor.ts +8 -8
- package/src/shared/utils/bounds/helpers/prepare-bound-styles.ts +23 -14
- package/src/shared/utils/bounds/helpers/resolve-bounds-pair-key.ts +22 -0
- package/src/shared/utils/bounds/navigation/math.ts +2 -18
- package/src/shared/utils/bounds/navigation/reveal/build.ts +288 -193
- package/src/shared/utils/bounds/navigation/reveal/config.ts +24 -16
- package/src/shared/utils/bounds/navigation/reveal/math.ts +234 -18
- package/src/shared/utils/bounds/navigation/zoom/build.ts +124 -20
- package/src/shared/utils/bounds/navigation/zoom/config.ts +1 -1
- package/src/shared/utils/bounds/navigation/zoom/math.ts +5 -7
- package/src/shared/utils/bounds/types/options.ts +2 -3
- package/src/shared/utils/gesture-progress-mode.ts +67 -0
- package/src/shared/utils/navigation/resolve-scene-neighbors.ts +36 -23
- package/src/shared/utils/resolve-chain-target.ts +9 -22
- package/src/shared/utils/resolve-screen-transition-options.ts +1 -3
- package/lib/commonjs/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js +0 -46
- package/lib/commonjs/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js.map +0 -1
- package/lib/commonjs/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js +0 -17
- package/lib/commonjs/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js.map +0 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js +0 -28
- package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js.map +0 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js +0 -64
- package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js.map +0 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement.js +0 -20
- package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement.js.map +0 -1
- package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.js.map +0 -1
- package/lib/commonjs/shared/components/create-boundary-component/utils/build-boundary-match-key.js +0 -16
- package/lib/commonjs/shared/components/create-boundary-component/utils/build-boundary-match-key.js.map +0 -1
- package/lib/commonjs/shared/hooks/reanimated/use-animated-debounce.js +0 -43
- package/lib/commonjs/shared/hooks/reanimated/use-animated-debounce.js.map +0 -1
- package/lib/commonjs/shared/providers/layout-anchor.provider.js +0 -86
- package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state.js +0 -164
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js +0 -33
- package/lib/commonjs/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js +0 -28
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/activation/use-pan-activation.js +0 -182
- package/lib/commonjs/shared/providers/screen/gestures/activation/use-pan-activation.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/activation/use-pinch-activation.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/strategies/pan-snap.strategy.js +0 -161
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/strategies/pan-snap.strategy.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/strategies/pan.strategy.js +0 -78
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/strategies/pan.strategy.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/strategies/pinch-snap.strategy.js +0 -147
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/strategies/pinch-snap.strategy.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/strategies/pinch.strategy.js +0 -52
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/strategies/pinch.strategy.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/use-pan-behavior.js +0 -64
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/use-pan-behavior.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/use-pinch-behavior.js +0 -64
- package/lib/commonjs/shared/providers/screen/gestures/behaviors/use-pinch-behavior.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/builders/use-build-pan-gesture.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/builders/use-build-pinch-gesture.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/gesture-activation.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/gesture-directions.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/gesture-physics.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/gesture-reset.js +0 -99
- package/lib/commonjs/shared/providers/screen/gestures/helpers/gesture-reset.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/gesture-snap-points.js +0 -43
- package/lib/commonjs/shared/providers/screen/gestures/helpers/gesture-snap-points.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/gesture-targets.js +0 -93
- package/lib/commonjs/shared/providers/screen/gestures/helpers/gesture-targets.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/pan-phases.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/pinch-phases.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/resolve-can-track-gesture.js +0 -21
- package/lib/commonjs/shared/providers/screen/gestures/helpers/resolve-can-track-gesture.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/runtime-options.js +0 -134
- package/lib/commonjs/shared/providers/screen/gestures/helpers/runtime-options.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/validate-snap-points.js +0 -56
- package/lib/commonjs/shared/providers/screen/gestures/helpers/validate-snap-points.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/helpers/walk-gesture-ancestors.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/index.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/update-scroll-gesture-state.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/use-scroll-gesture-coordination.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/walk-up-scroll-gesture-coordination.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/should-defer-to-child-claim.js +0 -18
- package/lib/commonjs/shared/providers/screen/gestures/ownership/should-defer-to-child-claim.js.map +0 -1
- package/lib/commonjs/shared/providers/scroll-settle.provider.js +0 -25
- package/lib/commonjs/shared/providers/scroll-settle.provider.js.map +0 -1
- package/lib/commonjs/shared/stores/bounds/helpers/entries.helpers.js +0 -59
- package/lib/commonjs/shared/stores/bounds/helpers/entries.helpers.js.map +0 -1
- package/lib/commonjs/shared/stores/bounds/helpers/find-latest.js +0 -25
- package/lib/commonjs/shared/stores/bounds/helpers/find-latest.js.map +0 -1
- package/lib/commonjs/shared/stores/bounds/helpers/groups.helpers.js +0 -30
- package/lib/commonjs/shared/stores/bounds/helpers/groups.helpers.js.map +0 -1
- package/lib/commonjs/shared/stores/bounds/helpers/link.helpers.js +0 -79
- package/lib/commonjs/shared/stores/bounds/helpers/link.helpers.js.map +0 -1
- package/lib/commonjs/shared/stores/bounds/helpers/matching.js +0 -22
- package/lib/commonjs/shared/stores/bounds/helpers/matching.js.map +0 -1
- package/lib/commonjs/shared/stores/bounds/helpers/tag-state.helpers.js +0 -30
- package/lib/commonjs/shared/stores/bounds/helpers/tag-state.helpers.js.map +0 -1
- package/lib/commonjs/shared/stores/bounds/internals/groups.js +0 -102
- package/lib/commonjs/shared/stores/bounds/internals/groups.js.map +0 -1
- package/lib/commonjs/shared/typecheck/public-api.typecheck.js +0 -227
- package/lib/commonjs/shared/typecheck/public-api.typecheck.js.map +0 -1
- package/lib/module/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js +0 -41
- package/lib/module/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js.map +0 -1
- package/lib/module/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js +0 -12
- package/lib/module/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js.map +0 -1
- package/lib/module/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js +0 -23
- package/lib/module/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js.map +0 -1
- package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js +0 -58
- package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js.map +0 -1
- package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement.js +0 -15
- package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement.js.map +0 -1
- package/lib/module/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.js.map +0 -1
- package/lib/module/shared/components/create-boundary-component/utils/build-boundary-match-key.js +0 -12
- package/lib/module/shared/components/create-boundary-component/utils/build-boundary-match-key.js.map +0 -1
- package/lib/module/shared/hooks/reanimated/use-animated-debounce.js +0 -39
- package/lib/module/shared/hooks/reanimated/use-animated-debounce.js.map +0 -1
- package/lib/module/shared/providers/layout-anchor.provider.js +0 -80
- package/lib/module/shared/providers/layout-anchor.provider.js.map +0 -1
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state.js +0 -158
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state.js.map +0 -1
- package/lib/module/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js +0 -29
- package/lib/module/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js.map +0 -1
- package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js +0 -24
- package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/activation/use-pan-activation.js +0 -177
- package/lib/module/shared/providers/screen/gestures/activation/use-pan-activation.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/activation/use-pinch-activation.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/behaviors/strategies/pan-snap.strategy.js +0 -157
- package/lib/module/shared/providers/screen/gestures/behaviors/strategies/pan-snap.strategy.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/behaviors/strategies/pan.strategy.js +0 -74
- package/lib/module/shared/providers/screen/gestures/behaviors/strategies/pan.strategy.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/behaviors/strategies/pinch-snap.strategy.js +0 -143
- package/lib/module/shared/providers/screen/gestures/behaviors/strategies/pinch-snap.strategy.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/behaviors/strategies/pinch.strategy.js +0 -48
- package/lib/module/shared/providers/screen/gestures/behaviors/strategies/pinch.strategy.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/behaviors/use-pan-behavior.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/behaviors/use-pinch-behavior.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/builders/use-build-pan-gesture.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/builders/use-build-pinch-gesture.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/gesture-activation.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/gesture-directions.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/gesture-physics.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/gesture-reset.js +0 -93
- package/lib/module/shared/providers/screen/gestures/helpers/gesture-reset.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/gesture-snap-points.js +0 -37
- package/lib/module/shared/providers/screen/gestures/helpers/gesture-snap-points.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/gesture-targets.js +0 -87
- package/lib/module/shared/providers/screen/gestures/helpers/gesture-targets.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/pan-phases.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/pinch-phases.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/resolve-can-track-gesture.js +0 -17
- package/lib/module/shared/providers/screen/gestures/helpers/resolve-can-track-gesture.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/runtime-options.js +0 -124
- package/lib/module/shared/providers/screen/gestures/helpers/runtime-options.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/validate-snap-points.js +0 -50
- package/lib/module/shared/providers/screen/gestures/helpers/validate-snap-points.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/helpers/walk-gesture-ancestors.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/index.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/update-scroll-gesture-state.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/use-scroll-gesture-coordination.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/walk-up-scroll-gesture-coordination.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/ownership/should-defer-to-child-claim.js +0 -14
- package/lib/module/shared/providers/screen/gestures/ownership/should-defer-to-child-claim.js.map +0 -1
- package/lib/module/shared/providers/scroll-settle.provider.js +0 -19
- package/lib/module/shared/providers/scroll-settle.provider.js.map +0 -1
- package/lib/module/shared/stores/bounds/helpers/entries.helpers.js +0 -52
- package/lib/module/shared/stores/bounds/helpers/entries.helpers.js.map +0 -1
- package/lib/module/shared/stores/bounds/helpers/find-latest.js +0 -19
- package/lib/module/shared/stores/bounds/helpers/find-latest.js.map +0 -1
- package/lib/module/shared/stores/bounds/helpers/groups.helpers.js +0 -23
- package/lib/module/shared/stores/bounds/helpers/groups.helpers.js.map +0 -1
- package/lib/module/shared/stores/bounds/helpers/link.helpers.js +0 -69
- package/lib/module/shared/stores/bounds/helpers/link.helpers.js.map +0 -1
- package/lib/module/shared/stores/bounds/helpers/matching.js +0 -17
- package/lib/module/shared/stores/bounds/helpers/matching.js.map +0 -1
- package/lib/module/shared/stores/bounds/helpers/tag-state.helpers.js +0 -24
- package/lib/module/shared/stores/bounds/helpers/tag-state.helpers.js.map +0 -1
- package/lib/module/shared/stores/bounds/internals/groups.js +0 -95
- package/lib/module/shared/stores/bounds/internals/groups.js.map +0 -1
- package/lib/module/shared/typecheck/public-api.typecheck.js +0 -227
- package/lib/module/shared/typecheck/public-api.typecheck.js.map +0 -1
- package/lib/typescript/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.d.ts +0 -18
- package/lib/typescript/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.d.ts.map +0 -1
- package/lib/typescript/shared/components/create-boundary-component/helpers/resolve-pending-source-key.d.ts +0 -2
- package/lib/typescript/shared/components/create-boundary-component/helpers/resolve-pending-source-key.d.ts.map +0 -1
- package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.d.ts +0 -22
- package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.d.ts.map +0 -1
- package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement-rules.d.ts +0 -24
- package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement-rules.d.ts.map +0 -1
- package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement.d.ts +0 -3
- package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement.d.ts.map +0 -1
- package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.d.ts.map +0 -1
- package/lib/typescript/shared/components/create-boundary-component/utils/build-boundary-match-key.d.ts +0 -8
- package/lib/typescript/shared/components/create-boundary-component/utils/build-boundary-match-key.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/reanimated/use-animated-debounce.d.ts +0 -13
- package/lib/typescript/shared/hooks/reanimated/use-animated-debounce.d.ts.map +0 -1
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +0 -39
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/resolve-screen-animation-target.d.ts +0 -9
- package/lib/typescript/shared/providers/screen/animation/helpers/resolve-screen-animation-target.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.d.ts +0 -7
- package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/activation/use-pan-activation.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/activation/use-pinch-activation.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/behaviors/strategies/pan-snap.strategy.d.ts +0 -3
- package/lib/typescript/shared/providers/screen/gestures/behaviors/strategies/pan-snap.strategy.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/behaviors/strategies/pan.strategy.d.ts +0 -3
- package/lib/typescript/shared/providers/screen/gestures/behaviors/strategies/pan.strategy.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/behaviors/strategies/pinch-snap.strategy.d.ts +0 -3
- package/lib/typescript/shared/providers/screen/gestures/behaviors/strategies/pinch-snap.strategy.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/behaviors/strategies/pinch.strategy.d.ts +0 -3
- package/lib/typescript/shared/providers/screen/gestures/behaviors/strategies/pinch.strategy.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/behaviors/use-pan-behavior.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/behaviors/use-pinch-behavior.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/builders/use-build-pan-gesture.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/builders/use-build-pinch-gesture.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/gesture-activation.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/gesture-directions.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/gesture-physics.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/gesture-reset.d.ts +0 -20
- package/lib/typescript/shared/providers/screen/gestures/helpers/gesture-reset.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/gesture-snap-points.d.ts +0 -17
- package/lib/typescript/shared/providers/screen/gestures/helpers/gesture-snap-points.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/gesture-targets.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/pan-phases.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/pinch-phases.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/resolve-can-track-gesture.d.ts +0 -8
- package/lib/typescript/shared/providers/screen/gestures/helpers/resolve-can-track-gesture.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/runtime-options.d.ts +0 -9
- package/lib/typescript/shared/providers/screen/gestures/helpers/runtime-options.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/validate-snap-points.d.ts +0 -20
- package/lib/typescript/shared/providers/screen/gestures/helpers/validate-snap-points.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/helpers/walk-gesture-ancestors.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/index.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/update-scroll-gesture-state.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/use-scroll-gesture-coordination.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-scroll-gesture-coordination/walk-up-scroll-gesture-coordination.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/ownership/should-defer-to-child-claim.d.ts +0 -6
- package/lib/typescript/shared/providers/screen/gestures/ownership/should-defer-to-child-claim.d.ts.map +0 -1
- package/lib/typescript/shared/providers/scroll-settle.provider.d.ts +0 -12
- package/lib/typescript/shared/providers/scroll-settle.provider.d.ts.map +0 -1
- package/lib/typescript/shared/stores/bounds/helpers/entries.helpers.d.ts +0 -5
- package/lib/typescript/shared/stores/bounds/helpers/entries.helpers.d.ts.map +0 -1
- package/lib/typescript/shared/stores/bounds/helpers/find-latest.d.ts +0 -3
- package/lib/typescript/shared/stores/bounds/helpers/find-latest.d.ts.map +0 -1
- package/lib/typescript/shared/stores/bounds/helpers/groups.helpers.d.ts +0 -10
- package/lib/typescript/shared/stores/bounds/helpers/groups.helpers.d.ts.map +0 -1
- package/lib/typescript/shared/stores/bounds/helpers/link.helpers.d.ts +0 -16
- package/lib/typescript/shared/stores/bounds/helpers/link.helpers.d.ts.map +0 -1
- package/lib/typescript/shared/stores/bounds/helpers/matching.d.ts +0 -4
- package/lib/typescript/shared/stores/bounds/helpers/matching.d.ts.map +0 -1
- package/lib/typescript/shared/stores/bounds/helpers/tag-state.helpers.d.ts +0 -5
- package/lib/typescript/shared/stores/bounds/helpers/tag-state.helpers.d.ts.map +0 -1
- package/lib/typescript/shared/stores/bounds/internals/groups.d.ts +0 -16
- package/lib/typescript/shared/stores/bounds/internals/groups.d.ts.map +0 -1
- package/src/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.ts +0 -101
- package/src/shared/components/create-boundary-component/helpers/resolve-pending-source-key.ts +0 -20
- package/src/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.ts +0 -48
- package/src/shared/components/create-boundary-component/hooks/helpers/measurement-rules.ts +0 -90
- package/src/shared/components/create-boundary-component/hooks/helpers/measurement.ts +0 -25
- package/src/shared/components/create-boundary-component/utils/build-boundary-match-key.ts +0 -14
- package/src/shared/hooks/reanimated/use-animated-debounce.ts +0 -53
- package/src/shared/providers/layout-anchor.provider.tsx +0 -112
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state.ts +0 -335
- package/src/shared/providers/screen/animation/helpers/resolve-screen-animation-target.ts +0 -42
- package/src/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.ts +0 -29
- package/src/shared/providers/screen/gestures/activation/use-pan-activation.ts +0 -244
- package/src/shared/providers/screen/gestures/behaviors/strategies/pan-snap.strategy.ts +0 -195
- package/src/shared/providers/screen/gestures/behaviors/strategies/pan.strategy.ts +0 -76
- package/src/shared/providers/screen/gestures/behaviors/strategies/pinch-snap.strategy.ts +0 -177
- package/src/shared/providers/screen/gestures/behaviors/strategies/pinch.strategy.ts +0 -73
- package/src/shared/providers/screen/gestures/helpers/gesture-reset.ts +0 -158
- package/src/shared/providers/screen/gestures/helpers/gesture-snap-points.ts +0 -72
- package/src/shared/providers/screen/gestures/helpers/gesture-targets.ts +0 -153
- package/src/shared/providers/screen/gestures/helpers/resolve-can-track-gesture.ts +0 -23
- package/src/shared/providers/screen/gestures/helpers/runtime-options.ts +0 -159
- package/src/shared/providers/screen/gestures/helpers/validate-snap-points.ts +0 -74
- package/src/shared/providers/screen/gestures/ownership/should-defer-to-child-claim.ts +0 -15
- package/src/shared/providers/scroll-settle.provider.tsx +0 -24
- package/src/shared/stores/bounds/helpers/entries.helpers.ts +0 -74
- package/src/shared/stores/bounds/helpers/find-latest.ts +0 -22
- package/src/shared/stores/bounds/helpers/groups.helpers.ts +0 -27
- package/src/shared/stores/bounds/helpers/link.helpers.ts +0 -135
- package/src/shared/stores/bounds/helpers/matching.ts +0 -25
- package/src/shared/stores/bounds/helpers/tag-state.helpers.ts +0 -24
- package/src/shared/stores/bounds/internals/groups.ts +0 -116
- package/src/shared/typecheck/public-api.typecheck.ts +0 -272
- /package/lib/commonjs/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/index.js +0 -0
- /package/lib/commonjs/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/update-scroll-gesture-state.js +0 -0
- /package/lib/module/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/index.js +0 -0
- /package/lib/module/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/update-scroll-gesture-state.js +0 -0
- /package/lib/typescript/shared/providers/screen/gestures/{behaviors → pan}/use-pan-behavior.d.ts +0 -0
- /package/lib/typescript/shared/providers/screen/gestures/{behaviors → pinch}/use-pinch-behavior.d.ts +0 -0
- /package/lib/typescript/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/index.d.ts +0 -0
- /package/src/shared/providers/screen/gestures/{hooks/use-scroll-gesture-coordination → scroll-coordination}/index.ts +0 -0
- /package/src/shared/providers/screen/gestures/{helpers/walk-gesture-ancestors.ts → shared/ancestors.ts} +0 -0
- /package/src/shared/providers/screen/gestures/{helpers/gesture-directions.ts → shared/directions.ts} +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { EPSILON } from "../../../../../constants";
|
|
2
|
+
import type { SnapBounds } from "./types";
|
|
3
|
+
|
|
4
|
+
const getResolvedSnapPointCount = (
|
|
5
|
+
snapPoints: number[],
|
|
6
|
+
resolvedAutoSnap: number | null,
|
|
7
|
+
) => {
|
|
8
|
+
"worklet";
|
|
9
|
+
return snapPoints.length + (resolvedAutoSnap !== null ? 1 : 0);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const getAutoSnapPointIndex = (
|
|
13
|
+
snapPoints: number[],
|
|
14
|
+
resolvedAutoSnap: number,
|
|
15
|
+
) => {
|
|
16
|
+
"worklet";
|
|
17
|
+
let index = 0;
|
|
18
|
+
|
|
19
|
+
while (index < snapPoints.length && snapPoints[index] <= resolvedAutoSnap) {
|
|
20
|
+
index++;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return index;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const getResolvedSnapPointAt = (
|
|
27
|
+
snapPoints: number[],
|
|
28
|
+
resolvedAutoSnap: number | null,
|
|
29
|
+
autoSnapPointIndex: number,
|
|
30
|
+
index: number,
|
|
31
|
+
) => {
|
|
32
|
+
"worklet";
|
|
33
|
+
if (resolvedAutoSnap === null) {
|
|
34
|
+
return snapPoints[index];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (index < autoSnapPointIndex) {
|
|
38
|
+
return snapPoints[index];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (index === autoSnapPointIndex) {
|
|
42
|
+
return resolvedAutoSnap;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return snapPoints[index - 1];
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const getResolvedSnapBounds = (
|
|
49
|
+
snapPoints: number[],
|
|
50
|
+
resolvedAutoSnap: number | null,
|
|
51
|
+
): SnapBounds | null => {
|
|
52
|
+
"worklet";
|
|
53
|
+
const snapPointCount = getResolvedSnapPointCount(
|
|
54
|
+
snapPoints,
|
|
55
|
+
resolvedAutoSnap,
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
if (snapPointCount === 0) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const autoSnapPointIndex =
|
|
63
|
+
resolvedAutoSnap === null
|
|
64
|
+
? -1
|
|
65
|
+
: getAutoSnapPointIndex(snapPoints, resolvedAutoSnap);
|
|
66
|
+
const firstSnapPoint = getResolvedSnapPointAt(
|
|
67
|
+
snapPoints,
|
|
68
|
+
resolvedAutoSnap,
|
|
69
|
+
autoSnapPointIndex,
|
|
70
|
+
0,
|
|
71
|
+
);
|
|
72
|
+
const lastSnapPoint = getResolvedSnapPointAt(
|
|
73
|
+
snapPoints,
|
|
74
|
+
resolvedAutoSnap,
|
|
75
|
+
autoSnapPointIndex,
|
|
76
|
+
snapPointCount - 1,
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
return {
|
|
80
|
+
min: Math.min(0, firstSnapPoint),
|
|
81
|
+
max: lastSnapPoint,
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const computeAnimatedSnapIndex = (
|
|
86
|
+
progress: number,
|
|
87
|
+
snapPoints: number[],
|
|
88
|
+
resolvedAutoSnap: number | null,
|
|
89
|
+
): number => {
|
|
90
|
+
"worklet";
|
|
91
|
+
const snapPointCount = getResolvedSnapPointCount(
|
|
92
|
+
snapPoints,
|
|
93
|
+
resolvedAutoSnap,
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
if (snapPointCount === 0) return -1;
|
|
97
|
+
|
|
98
|
+
const autoSnapPointIndex =
|
|
99
|
+
resolvedAutoSnap === null
|
|
100
|
+
? -1
|
|
101
|
+
: getAutoSnapPointIndex(snapPoints, resolvedAutoSnap);
|
|
102
|
+
const firstSnapPoint = getResolvedSnapPointAt(
|
|
103
|
+
snapPoints,
|
|
104
|
+
resolvedAutoSnap,
|
|
105
|
+
autoSnapPointIndex,
|
|
106
|
+
0,
|
|
107
|
+
);
|
|
108
|
+
const lastSnapPoint = getResolvedSnapPointAt(
|
|
109
|
+
snapPoints,
|
|
110
|
+
resolvedAutoSnap,
|
|
111
|
+
autoSnapPointIndex,
|
|
112
|
+
snapPointCount - 1,
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
if (progress <= firstSnapPoint) return 0;
|
|
116
|
+
if (progress >= lastSnapPoint) return snapPointCount - 1;
|
|
117
|
+
|
|
118
|
+
for (let i = 0; i < snapPointCount - 1; i++) {
|
|
119
|
+
const currentSnapPoint = getResolvedSnapPointAt(
|
|
120
|
+
snapPoints,
|
|
121
|
+
resolvedAutoSnap,
|
|
122
|
+
autoSnapPointIndex,
|
|
123
|
+
i,
|
|
124
|
+
);
|
|
125
|
+
const nextSnapPoint = getResolvedSnapPointAt(
|
|
126
|
+
snapPoints,
|
|
127
|
+
resolvedAutoSnap,
|
|
128
|
+
autoSnapPointIndex,
|
|
129
|
+
i + 1,
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
if (progress <= nextSnapPoint) {
|
|
133
|
+
const t =
|
|
134
|
+
(progress - currentSnapPoint) / (nextSnapPoint - currentSnapPoint);
|
|
135
|
+
return i + t;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return snapPointCount - 1;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
export const computeTargetSnapIndex = (
|
|
142
|
+
targetProgress: number,
|
|
143
|
+
snapPoints: number[],
|
|
144
|
+
resolvedAutoSnap: number | null,
|
|
145
|
+
): number => {
|
|
146
|
+
"worklet";
|
|
147
|
+
const snapPointCount = getResolvedSnapPointCount(
|
|
148
|
+
snapPoints,
|
|
149
|
+
resolvedAutoSnap,
|
|
150
|
+
);
|
|
151
|
+
|
|
152
|
+
if (snapPointCount === 0) return -1;
|
|
153
|
+
|
|
154
|
+
const autoSnapPointIndex =
|
|
155
|
+
resolvedAutoSnap === null
|
|
156
|
+
? -1
|
|
157
|
+
: getAutoSnapPointIndex(snapPoints, resolvedAutoSnap);
|
|
158
|
+
const firstSnapPoint = getResolvedSnapPointAt(
|
|
159
|
+
snapPoints,
|
|
160
|
+
resolvedAutoSnap,
|
|
161
|
+
autoSnapPointIndex,
|
|
162
|
+
0,
|
|
163
|
+
);
|
|
164
|
+
|
|
165
|
+
if (targetProgress <= 0 && Math.abs(firstSnapPoint) > EPSILON) {
|
|
166
|
+
return -1;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
let nearestIndex = 0;
|
|
170
|
+
let smallestDistance = Math.abs(targetProgress - firstSnapPoint);
|
|
171
|
+
|
|
172
|
+
for (let i = 1; i < snapPointCount; i++) {
|
|
173
|
+
const snapPoint = getResolvedSnapPointAt(
|
|
174
|
+
snapPoints,
|
|
175
|
+
resolvedAutoSnap,
|
|
176
|
+
autoSnapPointIndex,
|
|
177
|
+
i,
|
|
178
|
+
);
|
|
179
|
+
const distance = Math.abs(targetProgress - snapPoint);
|
|
180
|
+
|
|
181
|
+
if (distance < smallestDistance) {
|
|
182
|
+
smallestDistance = distance;
|
|
183
|
+
nearestIndex = i;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return nearestIndex;
|
|
188
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { SharedValue } from "react-native-reanimated";
|
|
2
|
+
import type { GestureStoreMap } from "../../../../../stores/gesture.store";
|
|
3
|
+
import type {
|
|
4
|
+
ScreenTransitionOptions,
|
|
5
|
+
ScreenTransitionState,
|
|
6
|
+
} from "../../../../../types/animation.types";
|
|
7
|
+
import type { Layout } from "../../../../../types/screen.types";
|
|
8
|
+
import type { BaseStackRoute } from "../../../../../types/stack.types";
|
|
9
|
+
|
|
10
|
+
export type BuiltState = {
|
|
11
|
+
progress: SharedValue<number>;
|
|
12
|
+
willAnimate: SharedValue<number>;
|
|
13
|
+
closing: SharedValue<number>;
|
|
14
|
+
progressAnimating: SharedValue<number>;
|
|
15
|
+
entering: SharedValue<number>;
|
|
16
|
+
gesture: GestureStoreMap;
|
|
17
|
+
route: BaseStackRoute;
|
|
18
|
+
meta?: Record<string, unknown>;
|
|
19
|
+
options: ScreenTransitionOptions;
|
|
20
|
+
navigationMaskEnabled: boolean;
|
|
21
|
+
targetProgress: SharedValue<number>;
|
|
22
|
+
logicalSettleFrameCount: SharedValue<number>;
|
|
23
|
+
resolvedAutoSnapPoint: SharedValue<number>;
|
|
24
|
+
measuredContentLayout: SharedValue<Layout | null>;
|
|
25
|
+
contentLayoutSlot: Layout;
|
|
26
|
+
hasAutoSnapPoint: boolean;
|
|
27
|
+
sortedNumericSnapPoints: number[];
|
|
28
|
+
unwrapped: ScreenTransitionState;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type ComputeLogicallySettledParams = {
|
|
32
|
+
progress: number;
|
|
33
|
+
targetProgress: number;
|
|
34
|
+
frameCount: number;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export type SnapBounds = {
|
|
38
|
+
min: number;
|
|
39
|
+
max: number;
|
|
40
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { useMemo } from "react";
|
|
2
1
|
import { useWindowDimensions } from "react-native";
|
|
3
2
|
import {
|
|
4
3
|
type DerivedValue,
|
|
@@ -13,23 +12,22 @@ import type {
|
|
|
13
12
|
ScreenInterpolationProps,
|
|
14
13
|
ScreenStyleInterpolator,
|
|
15
14
|
} from "../../../../types/animation.types";
|
|
16
|
-
import type { BoundsAccessor } from "../../../../types/bounds.types";
|
|
17
15
|
|
|
18
|
-
import { createBoundsAccessor } from "../../../../utils/bounds";
|
|
19
16
|
import { useDescriptors } from "../../descriptors";
|
|
20
17
|
import { updateDerivations } from "./derivations";
|
|
21
18
|
import { hasTransitionsEnabled } from "./has-transitions-enabled";
|
|
22
19
|
import { hydrateTransitionState } from "./hydrate-transition-state";
|
|
20
|
+
import type { SelectedInterpolatorOptions } from "./selected-interpolator-options";
|
|
23
21
|
import { useBuildTransitionState } from "./use-build-transition-state";
|
|
24
22
|
|
|
25
23
|
export type ScreenInterpolatorFrame = Omit<ScreenInterpolationProps, "bounds">;
|
|
26
24
|
|
|
27
25
|
interface ScreenAnimationPipeline {
|
|
28
26
|
screenInterpolatorProps: SharedValue<ScreenInterpolatorFrame>;
|
|
29
|
-
|
|
27
|
+
screenInterpolatorPropsRevision: DerivedValue<number>;
|
|
28
|
+
selectedInterpolatorOptions: SharedValue<SelectedInterpolatorOptions>;
|
|
30
29
|
nextInterpolator: ScreenStyleInterpolator | undefined;
|
|
31
30
|
currentInterpolator: ScreenStyleInterpolator | undefined;
|
|
32
|
-
boundsAccessor: BoundsAccessor;
|
|
33
31
|
}
|
|
34
32
|
|
|
35
33
|
const createInitialBaseInterpolatorProps = (
|
|
@@ -83,24 +81,48 @@ export function useScreenAnimationPipeline(): ScreenAnimationPipeline {
|
|
|
83
81
|
const screenInterpolatorProps = useSharedValue(
|
|
84
82
|
createInitialBaseInterpolatorProps(dimensions, insets),
|
|
85
83
|
);
|
|
84
|
+
const selectedInterpolatorOptions =
|
|
85
|
+
useSharedValue<SelectedInterpolatorOptions>({
|
|
86
|
+
owner: "current",
|
|
87
|
+
});
|
|
86
88
|
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
+
const propsRevisionState = useSharedValue({ value: 0 });
|
|
90
|
+
const screenInterpolatorPropsRevision = useDerivedValue<number>(() => {
|
|
89
91
|
"worklet";
|
|
90
92
|
|
|
91
93
|
screenInterpolatorProps.modify((frame) => {
|
|
92
94
|
"worklet";
|
|
95
|
+
const interpolatorOptions = selectedInterpolatorOptions.get();
|
|
96
|
+
const shouldApplyOptionsToCurrent =
|
|
97
|
+
interpolatorOptions.owner === "current";
|
|
98
|
+
const shouldApplyOptionsToNext =
|
|
99
|
+
interpolatorOptions.owner === "next" &&
|
|
100
|
+
!!nextAnimation &&
|
|
101
|
+
nextHasTransitions;
|
|
102
|
+
|
|
93
103
|
frame.previous = prevAnimation
|
|
94
104
|
? hydrateTransitionState(prevAnimation, dimensions)
|
|
95
105
|
: undefined;
|
|
96
106
|
|
|
97
107
|
frame.current = currentAnimation
|
|
98
|
-
? hydrateTransitionState(
|
|
108
|
+
? hydrateTransitionState(
|
|
109
|
+
currentAnimation,
|
|
110
|
+
dimensions,
|
|
111
|
+
shouldApplyOptionsToCurrent
|
|
112
|
+
? interpolatorOptions.options
|
|
113
|
+
: undefined,
|
|
114
|
+
)
|
|
99
115
|
: DEFAULT_SCREEN_TRANSITION_STATE;
|
|
100
116
|
|
|
101
117
|
frame.next =
|
|
102
118
|
nextAnimation && nextHasTransitions
|
|
103
|
-
? hydrateTransitionState(
|
|
119
|
+
? hydrateTransitionState(
|
|
120
|
+
nextAnimation,
|
|
121
|
+
dimensions,
|
|
122
|
+
shouldApplyOptionsToNext
|
|
123
|
+
? interpolatorOptions.options
|
|
124
|
+
: undefined,
|
|
125
|
+
)
|
|
104
126
|
: undefined;
|
|
105
127
|
|
|
106
128
|
frame.layouts = frame.current.layouts;
|
|
@@ -117,35 +139,29 @@ export function useScreenAnimationPipeline(): ScreenAnimationPipeline {
|
|
|
117
139
|
return frame;
|
|
118
140
|
}, false);
|
|
119
141
|
|
|
120
|
-
//
|
|
121
|
-
// new frame object so consumers can subscribe to in-place frame updates.
|
|
142
|
+
// Critical reactive dependency for `screenInterpolatorProps`.
|
|
122
143
|
//
|
|
123
|
-
//
|
|
124
|
-
//
|
|
125
|
-
|
|
144
|
+
// `screenInterpolatorProps` is mutated in place to avoid allocating a large
|
|
145
|
+
// interpolator frame every tick. Consumers must read this revision before
|
|
146
|
+
// reading `screenInterpolatorProps`, otherwise Reanimated may not subscribe
|
|
147
|
+
// to frame updates and can observe stale transition state.
|
|
148
|
+
propsRevisionState.modify((revision) => {
|
|
126
149
|
"worklet";
|
|
127
150
|
revision.value += 1;
|
|
128
151
|
return revision;
|
|
129
152
|
}, false);
|
|
130
153
|
|
|
131
|
-
return
|
|
154
|
+
return propsRevisionState.get().value;
|
|
132
155
|
});
|
|
133
156
|
|
|
134
|
-
const boundsAccessor = useMemo(() => {
|
|
135
|
-
return createBoundsAccessor(() => {
|
|
136
|
-
"worklet";
|
|
137
|
-
return screenInterpolatorProps.get();
|
|
138
|
-
});
|
|
139
|
-
}, [screenInterpolatorProps]);
|
|
140
|
-
|
|
141
157
|
const nextInterpolator = nextDescriptor?.options.screenStyleInterpolator;
|
|
142
158
|
const currentInterpolator = currDescriptor?.options.screenStyleInterpolator;
|
|
143
159
|
|
|
144
160
|
return {
|
|
145
161
|
screenInterpolatorProps,
|
|
146
|
-
|
|
162
|
+
screenInterpolatorPropsRevision,
|
|
163
|
+
selectedInterpolatorOptions,
|
|
147
164
|
nextInterpolator,
|
|
148
165
|
currentInterpolator,
|
|
149
|
-
boundsAccessor,
|
|
150
166
|
};
|
|
151
167
|
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { SharedValue } from "react-native-reanimated";
|
|
2
|
+
import type { TransitionInterpolatorOptions } from "../../../../types/animation.types";
|
|
3
|
+
|
|
4
|
+
export type SelectedInterpolatorOwner = "current" | "next";
|
|
5
|
+
|
|
6
|
+
export type SelectedInterpolatorOptions = {
|
|
7
|
+
owner: SelectedInterpolatorOwner;
|
|
8
|
+
options?: TransitionInterpolatorOptions;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const areGestureDirectionsEqual = (
|
|
12
|
+
left: TransitionInterpolatorOptions["gestureDirection"],
|
|
13
|
+
right: TransitionInterpolatorOptions["gestureDirection"],
|
|
14
|
+
) => {
|
|
15
|
+
"worklet";
|
|
16
|
+
if (left === right) return true;
|
|
17
|
+
if (!Array.isArray(left) || !Array.isArray(right)) return false;
|
|
18
|
+
if (left.length !== right.length) return false;
|
|
19
|
+
|
|
20
|
+
for (let i = 0; i < left.length; i++) {
|
|
21
|
+
if (left[i] !== right[i]) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return true;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const areGestureActivationAreasEqual = (
|
|
30
|
+
left: TransitionInterpolatorOptions["gestureActivationArea"],
|
|
31
|
+
right: TransitionInterpolatorOptions["gestureActivationArea"],
|
|
32
|
+
) => {
|
|
33
|
+
"worklet";
|
|
34
|
+
if (left === right) return true;
|
|
35
|
+
|
|
36
|
+
if (
|
|
37
|
+
typeof left !== "object" ||
|
|
38
|
+
left === null ||
|
|
39
|
+
typeof right !== "object" ||
|
|
40
|
+
right === null
|
|
41
|
+
) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
left.left === right.left &&
|
|
47
|
+
left.right === right.right &&
|
|
48
|
+
left.top === right.top &&
|
|
49
|
+
left.bottom === right.bottom
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const areInterpolatorOptionsEqual = (
|
|
54
|
+
left?: TransitionInterpolatorOptions,
|
|
55
|
+
right?: TransitionInterpolatorOptions,
|
|
56
|
+
) => {
|
|
57
|
+
"worklet";
|
|
58
|
+
if (left === right) return true;
|
|
59
|
+
if (!left || !right) return false;
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
left.gestureEnabled === right.gestureEnabled &&
|
|
63
|
+
left.experimental_allowDisabledGestureTracking ===
|
|
64
|
+
right.experimental_allowDisabledGestureTracking &&
|
|
65
|
+
areGestureDirectionsEqual(left.gestureDirection, right.gestureDirection) &&
|
|
66
|
+
left.gestureSensitivity === right.gestureSensitivity &&
|
|
67
|
+
left.gestureVelocityImpact === right.gestureVelocityImpact &&
|
|
68
|
+
left.gestureSnapVelocityImpact === right.gestureSnapVelocityImpact &&
|
|
69
|
+
left.gestureReleaseVelocityScale === right.gestureReleaseVelocityScale &&
|
|
70
|
+
left.gestureResponseDistance === right.gestureResponseDistance &&
|
|
71
|
+
left.gestureProgressMode === right.gestureProgressMode &&
|
|
72
|
+
left.gestureDrivesProgress === right.gestureDrivesProgress &&
|
|
73
|
+
areGestureActivationAreasEqual(
|
|
74
|
+
left.gestureActivationArea,
|
|
75
|
+
right.gestureActivationArea,
|
|
76
|
+
) &&
|
|
77
|
+
left.gestureSnapLocked === right.gestureSnapLocked &&
|
|
78
|
+
left.sheetScrollGestureBehavior === right.sheetScrollGestureBehavior &&
|
|
79
|
+
left.backdropBehavior === right.backdropBehavior
|
|
80
|
+
);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export const syncSelectedInterpolatorOptions = (
|
|
84
|
+
state: SharedValue<SelectedInterpolatorOptions>,
|
|
85
|
+
owner: SelectedInterpolatorOwner,
|
|
86
|
+
options?: TransitionInterpolatorOptions,
|
|
87
|
+
) => {
|
|
88
|
+
"worklet";
|
|
89
|
+
const current = state.get();
|
|
90
|
+
|
|
91
|
+
if (
|
|
92
|
+
current.owner === owner &&
|
|
93
|
+
areInterpolatorOptionsEqual(current.options, options)
|
|
94
|
+
) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
state.set(options ? { owner, options } : { owner });
|
|
99
|
+
};
|
|
@@ -21,16 +21,15 @@ type BuiltState = {
|
|
|
21
21
|
progress: SharedValue<number>;
|
|
22
22
|
willAnimate: SharedValue<number>;
|
|
23
23
|
closing: SharedValue<number>;
|
|
24
|
-
|
|
24
|
+
progressAnimating: SharedValue<number>;
|
|
25
25
|
entering: SharedValue<number>;
|
|
26
|
-
settled: SharedValue<number>;
|
|
27
|
-
logicallySettled: SharedValue<number>;
|
|
28
26
|
gesture: GestureStoreMap;
|
|
29
27
|
route: BaseStackRoute;
|
|
30
28
|
meta?: Record<string, unknown>;
|
|
31
29
|
options: ScreenTransitionOptions;
|
|
32
30
|
navigationMaskEnabled: boolean;
|
|
33
31
|
targetProgress: SharedValue<number>;
|
|
32
|
+
logicalSettleFrameCount: SharedValue<number>;
|
|
34
33
|
resolvedAutoSnapPoint: SharedValue<number>;
|
|
35
34
|
measuredContentLayout: SharedValue<Layout | null>;
|
|
36
35
|
contentLayoutSlot: Layout;
|
|
@@ -67,10 +66,12 @@ export const useBuildTransitionState = (
|
|
|
67
66
|
willAnimate: AnimationStore.getValue(key, "willAnimate"),
|
|
68
67
|
closing: AnimationStore.getValue(key, "closing"),
|
|
69
68
|
entering: AnimationStore.getValue(key, "entering"),
|
|
70
|
-
|
|
71
|
-
settled: AnimationStore.getValue(key, "settled"),
|
|
72
|
-
logicallySettled: AnimationStore.getValue(key, "logicallySettled"),
|
|
69
|
+
progressAnimating: AnimationStore.getValue(key, "progressAnimating"),
|
|
73
70
|
targetProgress: SystemStore.getValue(key, "targetProgress"),
|
|
71
|
+
logicalSettleFrameCount: SystemStore.getValue(
|
|
72
|
+
key,
|
|
73
|
+
"logicalSettleFrameCount",
|
|
74
|
+
),
|
|
74
75
|
resolvedAutoSnapPoint: SystemStore.getValue(key, "resolvedAutoSnapPoint"),
|
|
75
76
|
measuredContentLayout: SystemStore.getValue(key, "measuredContentLayout"),
|
|
76
77
|
contentLayoutSlot: { width: 0, height: 0 },
|
|
@@ -1,14 +1,44 @@
|
|
|
1
1
|
import type { SharedValue } from "react-native-reanimated";
|
|
2
|
+
import type { ScreenTransitionTarget } from "../../../types/animation.types";
|
|
2
3
|
import type { BoundsAccessor } from "../../../types/bounds.types";
|
|
3
|
-
import type { ChainTarget } from "../../../utils/resolve-chain-target";
|
|
4
4
|
import type { ScreenInterpolatorFrame } from "./helpers/pipeline";
|
|
5
5
|
|
|
6
|
-
export type
|
|
6
|
+
export type ScreenInterpolatorPropsRevision = Pick<SharedValue<number>, "get">;
|
|
7
7
|
|
|
8
|
-
export type
|
|
8
|
+
export type ScreenAnimationLegacyTarget =
|
|
9
|
+
| "self"
|
|
10
|
+
| "parent"
|
|
11
|
+
| "root"
|
|
12
|
+
| { ancestor: number };
|
|
13
|
+
|
|
14
|
+
export type ScreenAnimationTarget =
|
|
15
|
+
| ScreenTransitionTarget
|
|
16
|
+
| ScreenAnimationLegacyTarget;
|
|
9
17
|
|
|
10
18
|
export type ScreenAnimationSource = {
|
|
11
19
|
screenInterpolatorProps: SharedValue<ScreenInterpolatorFrame>;
|
|
12
|
-
|
|
20
|
+
screenInterpolatorPropsRevision: ScreenInterpolatorPropsRevision;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type ScreenAnimationTransitionSource = ScreenAnimationSource & {
|
|
13
24
|
boundsAccessor: BoundsAccessor;
|
|
14
25
|
};
|
|
26
|
+
|
|
27
|
+
export type ScreenAnimationDescendantSource = {
|
|
28
|
+
source: ScreenAnimationTransitionSource;
|
|
29
|
+
depth: number;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export type ScreenAnimationDescendantSources = SharedValue<
|
|
33
|
+
ScreenAnimationDescendantSource[]
|
|
34
|
+
>;
|
|
35
|
+
|
|
36
|
+
export type RegisterScreenAnimationDescendant = (
|
|
37
|
+
source: ScreenAnimationTransitionSource,
|
|
38
|
+
depth: number,
|
|
39
|
+
) => () => void;
|
|
40
|
+
|
|
41
|
+
export type ScreenAnimationAncestorDescendantRegistrar = {
|
|
42
|
+
register: RegisterScreenAnimationDescendant;
|
|
43
|
+
depth: number;
|
|
44
|
+
};
|
|
@@ -1,56 +1,111 @@
|
|
|
1
1
|
import { type DerivedValue, useDerivedValue } from "react-native-reanimated";
|
|
2
|
-
import type {
|
|
3
|
-
|
|
2
|
+
import type {
|
|
3
|
+
ScreenInterpolationProps,
|
|
4
|
+
ScreenTransitionTarget,
|
|
5
|
+
} from "../../../types/animation.types";
|
|
4
6
|
import { useScreenAnimationContext } from "./animation.provider";
|
|
5
|
-
import
|
|
7
|
+
import { useBuildTransitionAccessor } from "./helpers/accessors/use-build-transition-accessor";
|
|
8
|
+
import type {
|
|
9
|
+
ScreenAnimationDescendantSources,
|
|
10
|
+
ScreenAnimationLegacyTarget,
|
|
11
|
+
ScreenAnimationSource,
|
|
12
|
+
ScreenAnimationTarget,
|
|
13
|
+
} from "./types";
|
|
6
14
|
|
|
7
15
|
export type { ScreenAnimationTarget } from "./types";
|
|
8
16
|
|
|
9
17
|
export function useScreenAnimation(): DerivedValue<ScreenInterpolationProps>;
|
|
18
|
+
export function useScreenAnimation(target: {
|
|
19
|
+
depth: 0;
|
|
20
|
+
}): DerivedValue<ScreenInterpolationProps>;
|
|
21
|
+
/** @deprecated Use `{ depth: 0 }`. */
|
|
10
22
|
export function useScreenAnimation(
|
|
11
23
|
target: "self",
|
|
12
24
|
): DerivedValue<ScreenInterpolationProps>;
|
|
13
25
|
export function useScreenAnimation(
|
|
14
|
-
target:
|
|
15
|
-
): DerivedValue<ScreenInterpolationProps
|
|
26
|
+
target: ScreenTransitionTarget,
|
|
27
|
+
): DerivedValue<ScreenInterpolationProps | null>;
|
|
28
|
+
/** @deprecated Use `{ depth }`. */
|
|
29
|
+
export function useScreenAnimation(
|
|
30
|
+
target: Exclude<ScreenAnimationLegacyTarget, "self">,
|
|
31
|
+
): DerivedValue<ScreenInterpolationProps | null>;
|
|
16
32
|
export function useScreenAnimation(
|
|
17
33
|
target?: ScreenAnimationTarget,
|
|
18
|
-
):
|
|
34
|
+
):
|
|
35
|
+
| DerivedValue<ScreenInterpolationProps>
|
|
36
|
+
| DerivedValue<ScreenInterpolationProps | null> {
|
|
19
37
|
const {
|
|
20
|
-
|
|
21
|
-
screenInterpolatorFrameUpdater,
|
|
22
|
-
boundsAccessor,
|
|
38
|
+
screenInterpolatorPropsRevision,
|
|
23
39
|
ancestorScreenAnimationSources,
|
|
40
|
+
descendantScreenAnimationSources,
|
|
24
41
|
} = useScreenAnimationContext();
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
screenInterpolatorProps,
|
|
28
|
-
screenInterpolatorFrameUpdater,
|
|
29
|
-
boundsAccessor,
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const source = resolveChainTarget<ScreenAnimationSource>({
|
|
42
|
+
const transition = useBuildTransitionAccessor();
|
|
43
|
+
const transitionTarget = normalizeScreenAnimationTarget(
|
|
33
44
|
target,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
});
|
|
37
|
-
const resolvedSource = source ?? selfSource;
|
|
45
|
+
ancestorScreenAnimationSources.length,
|
|
46
|
+
);
|
|
38
47
|
|
|
39
|
-
const animation = useDerivedValue<ScreenInterpolationProps>(() => {
|
|
48
|
+
const animation = useDerivedValue<ScreenInterpolationProps | null>(() => {
|
|
40
49
|
"worklet";
|
|
50
|
+
readScreenAnimationRevisions(
|
|
51
|
+
screenInterpolatorPropsRevision,
|
|
52
|
+
ancestorScreenAnimationSources,
|
|
53
|
+
descendantScreenAnimationSources,
|
|
54
|
+
);
|
|
55
|
+
return transition(transitionTarget);
|
|
56
|
+
});
|
|
41
57
|
|
|
42
|
-
|
|
43
|
-
|
|
58
|
+
return animation;
|
|
59
|
+
}
|
|
44
60
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
61
|
+
const readScreenAnimationRevisions = (
|
|
62
|
+
screenInterpolatorPropsRevision: DerivedValue<number>,
|
|
63
|
+
ancestorScreenAnimationSources: ScreenAnimationSource[],
|
|
64
|
+
descendantScreenAnimationSources: ScreenAnimationDescendantSources,
|
|
65
|
+
) => {
|
|
66
|
+
"worklet";
|
|
67
|
+
screenInterpolatorPropsRevision.get();
|
|
50
68
|
|
|
51
|
-
|
|
52
|
-
|
|
69
|
+
for (let index = 0; index < ancestorScreenAnimationSources.length; index++) {
|
|
70
|
+
ancestorScreenAnimationSources[
|
|
71
|
+
index
|
|
72
|
+
]?.screenInterpolatorPropsRevision.get();
|
|
53
73
|
}
|
|
54
74
|
|
|
55
|
-
|
|
56
|
-
|
|
75
|
+
// The accessor reads descendant sources through this shared value. Reading it
|
|
76
|
+
// here makes this derived value rerun when descendants mount or unmount.
|
|
77
|
+
descendantScreenAnimationSources.get();
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const isTransitionTarget = (
|
|
81
|
+
target: ScreenAnimationTarget,
|
|
82
|
+
): target is ScreenTransitionTarget => {
|
|
83
|
+
return typeof target === "object" && target !== null && "depth" in target;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
const normalizeScreenAnimationTarget = (
|
|
87
|
+
target: ScreenAnimationTarget | undefined,
|
|
88
|
+
ancestorCount: number,
|
|
89
|
+
): ScreenTransitionTarget | undefined => {
|
|
90
|
+
if (target === undefined || isTransitionTarget(target)) {
|
|
91
|
+
return target;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (target === "self") {
|
|
95
|
+
return { depth: 0 };
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (target === "parent") {
|
|
99
|
+
return { depth: -1 };
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (target === "root") {
|
|
103
|
+
return { depth: ancestorCount > 0 ? -ancestorCount : -1 };
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (!Number.isInteger(target.ancestor) || target.ancestor < 1) {
|
|
107
|
+
return { depth: Number.NaN };
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return { depth: -target.ancestor };
|
|
111
|
+
};
|