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
|
@@ -7,12 +7,15 @@ import type {
|
|
|
7
7
|
} from "../../../../types/animation.types";
|
|
8
8
|
import { logger } from "../../../../utils/logger";
|
|
9
9
|
import { useScreenAnimationContext } from "../../animation";
|
|
10
|
+
import { useBuildBoundsAccessor } from "../../animation/helpers/accessors/use-build-bounds-accessor";
|
|
11
|
+
import { syncSelectedInterpolatorOptions } from "../../animation/helpers/selected-interpolator-options";
|
|
10
12
|
import { useDescriptorDerivations } from "../../descriptors";
|
|
11
13
|
import {
|
|
12
14
|
syncScreenOptionsOverrides,
|
|
13
15
|
useScreenOptionsContext,
|
|
14
16
|
} from "../../options";
|
|
15
17
|
import { normalizeSlots } from "../helpers/normalize-slots";
|
|
18
|
+
import { preserveAnimatedPropsOnly } from "../helpers/preserve-animated-props-only";
|
|
16
19
|
import { stripInterpolatorOptions } from "../helpers/strip-interpolator-options";
|
|
17
20
|
|
|
18
21
|
/**
|
|
@@ -31,10 +34,10 @@ import { stripInterpolatorOptions } from "../helpers/strip-interpolator-options"
|
|
|
31
34
|
* normal interpolator selection once the gesture-driven close is no longer in
|
|
32
35
|
* play.
|
|
33
36
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
37
|
+
* Visibility gating happens downstream while lifecycle start is blocked for
|
|
38
|
+
* pending destination measurement. We still run the interpolator during that
|
|
39
|
+
* hidden window so animated props and runtime options stay warm, but defer style
|
|
40
|
+
* buckets so measurement sees the final untransformed layout.
|
|
38
41
|
*
|
|
39
42
|
* The result stays as a single slot map. Resolution happens downstream, where
|
|
40
43
|
* slot ids determine whether a slot may inherit from ancestors or must remain
|
|
@@ -45,12 +48,12 @@ export const useInterpolatedStylesMap = () => {
|
|
|
45
48
|
const screenOptions = useScreenOptionsContext();
|
|
46
49
|
const {
|
|
47
50
|
screenInterpolatorProps,
|
|
48
|
-
|
|
51
|
+
screenInterpolatorPropsRevision,
|
|
52
|
+
selectedInterpolatorOptions,
|
|
49
53
|
nextInterpolator,
|
|
50
54
|
currentInterpolator,
|
|
51
|
-
boundsAccessor,
|
|
52
55
|
} = useScreenAnimationContext();
|
|
53
|
-
|
|
56
|
+
const boundsAccessor = useBuildBoundsAccessor();
|
|
54
57
|
const pendingLifecycleStartBlockCount = SystemStore.getValue(
|
|
55
58
|
currentScreenKey,
|
|
56
59
|
"pendingLifecycleStartBlockCount",
|
|
@@ -60,13 +63,22 @@ export const useInterpolatedStylesMap = () => {
|
|
|
60
63
|
|
|
61
64
|
return useDerivedValue<NormalizedTransitionInterpolatedStyle>(() => {
|
|
62
65
|
"worklet";
|
|
63
|
-
|
|
64
|
-
syncScreenOptionsOverrides(undefined, screenOptions);
|
|
65
|
-
return NO_STYLES;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
screenInterpolatorFrameUpdater.get();
|
|
66
|
+
screenInterpolatorPropsRevision.get();
|
|
69
67
|
const props = screenInterpolatorProps.get();
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* There is a niche case where bounds can be attached to a view that's styles are out of viewport.
|
|
71
|
+
* Due to our blocking mechanism and ensuring accurate measurement, this boundary measurement
|
|
72
|
+
* will be blocked and the screen will never be visible. To mitigate this, we:
|
|
73
|
+
*
|
|
74
|
+
* - Defer the style buckets (props are fine), to ensure we get the correct position of the boundary
|
|
75
|
+
*
|
|
76
|
+
* Again this is very niche, and since we're not marketing ourselves as a proper shared element transition
|
|
77
|
+
* package, we won't spend time finding a better solution for this.
|
|
78
|
+
*
|
|
79
|
+
*/
|
|
80
|
+
const shouldDeferStyleBuckets = pendingLifecycleStartBlockCount.get() > 0;
|
|
81
|
+
|
|
70
82
|
const { current, next, progress } = props;
|
|
71
83
|
const isDragging = current.gesture.dragging;
|
|
72
84
|
const isNextClosing = !!next?.closing;
|
|
@@ -85,11 +97,15 @@ export const useInterpolatedStylesMap = () => {
|
|
|
85
97
|
const isInGestureMode =
|
|
86
98
|
!!isDragging || isGesturingDuringCloseAnimation.get();
|
|
87
99
|
|
|
88
|
-
const
|
|
89
|
-
?
|
|
90
|
-
|
|
100
|
+
const interpolatorOptionsOwner =
|
|
101
|
+
isInGestureMode || !nextInterpolator ? "current" : "next";
|
|
102
|
+
const interpolator =
|
|
103
|
+
interpolatorOptionsOwner === "current"
|
|
104
|
+
? currentInterpolator
|
|
105
|
+
: nextInterpolator;
|
|
91
106
|
|
|
92
107
|
if (!interpolator) {
|
|
108
|
+
syncSelectedInterpolatorOptions(selectedInterpolatorOptions, "current");
|
|
93
109
|
syncScreenOptionsOverrides(undefined, screenOptions);
|
|
94
110
|
return NO_STYLES;
|
|
95
111
|
}
|
|
@@ -113,18 +129,29 @@ export const useInterpolatedStylesMap = () => {
|
|
|
113
129
|
const rawStyleMap: TransitionInterpolatedStyle | undefined =
|
|
114
130
|
typeof raw === "object" && raw != null ? raw : undefined;
|
|
115
131
|
|
|
116
|
-
|
|
132
|
+
syncSelectedInterpolatorOptions(
|
|
133
|
+
selectedInterpolatorOptions,
|
|
134
|
+
interpolatorOptionsOwner,
|
|
135
|
+
rawStyleMap?.options,
|
|
136
|
+
);
|
|
137
|
+
syncScreenOptionsOverrides(
|
|
138
|
+
interpolatorOptionsOwner === "current" ? rawStyleMap : undefined,
|
|
139
|
+
screenOptions,
|
|
140
|
+
);
|
|
117
141
|
|
|
118
142
|
const stylesMap = !rawStyleMap
|
|
119
143
|
? NO_STYLES
|
|
120
144
|
: normalizeSlots(stripInterpolatorOptions(rawStyleMap));
|
|
121
145
|
|
|
122
|
-
return
|
|
146
|
+
return shouldDeferStyleBuckets
|
|
147
|
+
? preserveAnimatedPropsOnly(stylesMap)
|
|
148
|
+
: stylesMap;
|
|
123
149
|
} catch (_) {
|
|
124
150
|
if (__DEV__) {
|
|
125
151
|
logger.warn("screenStyleInterpolator must be a worklet");
|
|
126
152
|
}
|
|
127
153
|
|
|
154
|
+
syncSelectedInterpolatorOptions(selectedInterpolatorOptions, "current");
|
|
128
155
|
syncScreenOptionsOverrides(undefined, screenOptions);
|
|
129
156
|
return NO_STYLES;
|
|
130
157
|
}
|
|
@@ -1,40 +1,59 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useAnimatedProps,
|
|
3
|
+
useAnimatedReaction,
|
|
3
4
|
useAnimatedStyle,
|
|
4
|
-
|
|
5
|
+
useSharedValue,
|
|
5
6
|
} from "react-native-reanimated";
|
|
6
7
|
import { AnimationStore } from "../../../../stores/animation.store";
|
|
7
8
|
import { SystemStore } from "../../../../stores/system.store";
|
|
8
9
|
import { useDescriptorDerivations } from "../../descriptors";
|
|
10
|
+
import { resolveScreenVisibilityGate } from "../helpers/visibility-gate";
|
|
9
11
|
|
|
10
12
|
export const useMaybeBlockVisibility = (isFloatingOverlay?: boolean) => {
|
|
11
13
|
const { currentScreenKey } = useDescriptorDerivations();
|
|
12
|
-
const progress = AnimationStore.
|
|
14
|
+
const { entering, progress } = AnimationStore.getBag(currentScreenKey);
|
|
13
15
|
|
|
14
|
-
const { pendingLifecycleStartBlockCount } =
|
|
16
|
+
const { pendingLifecycleStartBlockCount, pendingLifecycleRequestKind } =
|
|
15
17
|
SystemStore.getBag(currentScreenKey);
|
|
16
18
|
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
+
const hasVisibilityGateOpened = useSharedValue(false);
|
|
20
|
+
const shouldBlockVisibility = useSharedValue(!isFloatingOverlay);
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Visibility has to start blocked before the first animated style pass.
|
|
24
|
+
*
|
|
25
|
+
* `useDerivedValue` can publish its computed value after `useAnimatedStyle`
|
|
26
|
+
* has already read the initial one, which briefly exposes an unhydrated
|
|
27
|
+
* screen. Keep the visible state in an eagerly initialized shared value, then
|
|
28
|
+
* let the reaction open it once the visibility gate allows the first
|
|
29
|
+
* transformed frame to render.
|
|
30
|
+
*/
|
|
31
|
+
useAnimatedReaction(
|
|
32
|
+
() => {
|
|
33
|
+
"worklet";
|
|
23
34
|
|
|
24
|
-
|
|
35
|
+
return resolveScreenVisibilityGate({
|
|
36
|
+
isFloatingOverlay,
|
|
37
|
+
hasVisibilityGateOpened: hasVisibilityGateOpened.get(),
|
|
38
|
+
pendingLifecycleStartBlockCount: pendingLifecycleStartBlockCount.get(),
|
|
39
|
+
pendingLifecycleRequestKind: pendingLifecycleRequestKind.get(),
|
|
40
|
+
progress: progress.get(),
|
|
41
|
+
entering: entering.get(),
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
(gate) => {
|
|
45
|
+
"worklet";
|
|
25
46
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// count turns visible to this provider.
|
|
30
|
-
const isWaitingForOpenToStart = progress.get() <= 0;
|
|
47
|
+
if (gate.shouldOpenGate) {
|
|
48
|
+
hasVisibilityGateOpened.set(true);
|
|
49
|
+
}
|
|
31
50
|
|
|
32
|
-
|
|
33
|
-
|
|
51
|
+
shouldBlockVisibility.set(gate.shouldBlock);
|
|
52
|
+
},
|
|
53
|
+
);
|
|
34
54
|
|
|
35
55
|
const animatedStyle = useAnimatedStyle(() => {
|
|
36
56
|
"worklet";
|
|
37
|
-
|
|
38
57
|
return {
|
|
39
58
|
opacity: shouldBlockVisibility.get() ? 0 : 1,
|
|
40
59
|
};
|
|
@@ -9,6 +9,7 @@ import { useScreenAnimationContext } from "../../animation";
|
|
|
9
9
|
import {
|
|
10
10
|
type ResettableStyleStatesBySlot,
|
|
11
11
|
resolveSlotStyles,
|
|
12
|
+
reuseEqualResolvedSlots,
|
|
12
13
|
} from "../helpers/resolve-slot-styles";
|
|
13
14
|
|
|
14
15
|
interface UseResolvedStylesMapParams {
|
|
@@ -20,15 +21,17 @@ export const useResolvedStylesMap = ({
|
|
|
20
21
|
currentStylesMap,
|
|
21
22
|
ancestorStylesMap,
|
|
22
23
|
}: UseResolvedStylesMapParams) => {
|
|
23
|
-
const { screenInterpolatorProps,
|
|
24
|
+
const { screenInterpolatorProps, screenInterpolatorPropsRevision } =
|
|
24
25
|
useScreenAnimationContext();
|
|
25
26
|
const previousStyleStatesBySlot = useSharedValue<ResettableStyleStatesBySlot>(
|
|
26
27
|
{},
|
|
27
28
|
);
|
|
29
|
+
const previousResolvedStylesMap =
|
|
30
|
+
useSharedValue<NormalizedTransitionInterpolatedStyle>(NO_STYLES);
|
|
28
31
|
|
|
29
32
|
return useDerivedValue(() => {
|
|
30
33
|
"worklet";
|
|
31
|
-
|
|
34
|
+
screenInterpolatorPropsRevision.get();
|
|
32
35
|
|
|
33
36
|
const props = screenInterpolatorProps.get();
|
|
34
37
|
// Keep missing local slots alive while another route drives this screen.
|
|
@@ -44,7 +47,12 @@ export const useResolvedStylesMap = ({
|
|
|
44
47
|
});
|
|
45
48
|
|
|
46
49
|
previousStyleStatesBySlot.set(nextPreviousStyleStatesBySlot);
|
|
50
|
+
const stableResolvedStylesMap = reuseEqualResolvedSlots({
|
|
51
|
+
resolvedStylesMap,
|
|
52
|
+
previousResolvedStylesMap: previousResolvedStylesMap.get(),
|
|
53
|
+
});
|
|
54
|
+
previousResolvedStylesMap.set(stableResolvedStylesMap);
|
|
47
55
|
|
|
48
|
-
return
|
|
56
|
+
return stableResolvedStylesMap;
|
|
49
57
|
});
|
|
50
58
|
};
|
|
@@ -8,11 +8,9 @@ import { createStore } from "../utils/create-store";
|
|
|
8
8
|
export type AnimationStoreMap = {
|
|
9
9
|
progress: SharedValue<number>;
|
|
10
10
|
willAnimate: SharedValue<number>;
|
|
11
|
-
|
|
11
|
+
progressAnimating: SharedValue<number>;
|
|
12
12
|
closing: SharedValue<number>;
|
|
13
13
|
entering: SharedValue<number>;
|
|
14
|
-
settled: SharedValue<number>;
|
|
15
|
-
logicallySettled: SharedValue<number>;
|
|
16
14
|
};
|
|
17
15
|
|
|
18
16
|
function createAnimationBag(): AnimationStoreMap {
|
|
@@ -20,10 +18,8 @@ function createAnimationBag(): AnimationStoreMap {
|
|
|
20
18
|
progress: makeMutable(0),
|
|
21
19
|
willAnimate: makeMutable(0),
|
|
22
20
|
closing: makeMutable(0),
|
|
23
|
-
|
|
21
|
+
progressAnimating: makeMutable(0),
|
|
24
22
|
entering: makeMutable(0),
|
|
25
|
-
settled: makeMutable(1),
|
|
26
|
-
logicallySettled: makeMutable(1),
|
|
27
23
|
};
|
|
28
24
|
}
|
|
29
25
|
|
|
@@ -37,10 +33,8 @@ export const AnimationStore = createStore<AnimationStoreMap>({
|
|
|
37
33
|
disposeBag: (bag) => {
|
|
38
34
|
cancelAnimation(bag.progress);
|
|
39
35
|
cancelAnimation(bag.willAnimate);
|
|
40
|
-
cancelAnimation(bag.
|
|
36
|
+
cancelAnimation(bag.progressAnimating);
|
|
41
37
|
cancelAnimation(bag.closing);
|
|
42
38
|
cancelAnimation(bag.entering);
|
|
43
|
-
cancelAnimation(bag.settled);
|
|
44
|
-
cancelAnimation(bag.logicallySettled);
|
|
45
39
|
},
|
|
46
40
|
});
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
GroupKey,
|
|
3
|
+
LinkGroupState,
|
|
4
|
+
LinkKey,
|
|
5
|
+
LinkPairState,
|
|
6
|
+
LinkPairsState,
|
|
7
|
+
ScreenIdentifier,
|
|
8
|
+
ScreenPairKey,
|
|
9
|
+
TagLink,
|
|
10
|
+
} from "../types";
|
|
11
|
+
|
|
12
|
+
const PAIR_SEPARATOR = "<>";
|
|
13
|
+
|
|
14
|
+
export const createScreenPairKey = (
|
|
15
|
+
sourceScreenKey: ScreenIdentifier["screenKey"],
|
|
16
|
+
destinationScreenKey: ScreenIdentifier["screenKey"] | "",
|
|
17
|
+
): ScreenPairKey => {
|
|
18
|
+
"worklet";
|
|
19
|
+
return `${sourceScreenKey}${PAIR_SEPARATOR}${destinationScreenKey}`;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const createPendingPairKey = (
|
|
23
|
+
sourceScreenKey: ScreenIdentifier["screenKey"],
|
|
24
|
+
): ScreenPairKey => {
|
|
25
|
+
"worklet";
|
|
26
|
+
return createScreenPairKey(sourceScreenKey, "");
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const getSourceScreenKeyFromPairKey = (
|
|
30
|
+
pairKey: ScreenPairKey,
|
|
31
|
+
): ScreenIdentifier["screenKey"] => {
|
|
32
|
+
"worklet";
|
|
33
|
+
const separatorIndex = pairKey.indexOf(PAIR_SEPARATOR);
|
|
34
|
+
if (separatorIndex === -1) return pairKey;
|
|
35
|
+
return pairKey.slice(0, separatorIndex);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export const getDestinationScreenKeyFromPairKey = (
|
|
39
|
+
pairKey: ScreenPairKey,
|
|
40
|
+
): ScreenIdentifier["screenKey"] | "" => {
|
|
41
|
+
"worklet";
|
|
42
|
+
const separatorIndex = pairKey.indexOf(PAIR_SEPARATOR);
|
|
43
|
+
if (separatorIndex === -1) return "";
|
|
44
|
+
return pairKey.slice(separatorIndex + PAIR_SEPARATOR.length);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export const isScreenPairKeyForScreen = (
|
|
48
|
+
pairKey: ScreenPairKey,
|
|
49
|
+
screenKey: ScreenIdentifier["screenKey"],
|
|
50
|
+
): boolean => {
|
|
51
|
+
"worklet";
|
|
52
|
+
return (
|
|
53
|
+
pairKey === createPendingPairKey(screenKey) ||
|
|
54
|
+
pairKey.startsWith(`${screenKey}${PAIR_SEPARATOR}`) ||
|
|
55
|
+
pairKey.endsWith(`${PAIR_SEPARATOR}${screenKey}`)
|
|
56
|
+
);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export const getLinkKeyFromTag = (tag: string): LinkKey => {
|
|
60
|
+
"worklet";
|
|
61
|
+
const separatorIndex = tag.indexOf(":");
|
|
62
|
+
if (separatorIndex === -1) return tag;
|
|
63
|
+
return tag.slice(separatorIndex + 1);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export const getGroupKeyFromTag = (tag: string): GroupKey | null => {
|
|
67
|
+
"worklet";
|
|
68
|
+
const separatorIndex = tag.indexOf(":");
|
|
69
|
+
if (separatorIndex === -1) return null;
|
|
70
|
+
return tag.slice(0, separatorIndex);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export const createGroupTag = (group: GroupKey, linkKey: LinkKey): string => {
|
|
74
|
+
"worklet";
|
|
75
|
+
return `${group}:${linkKey}`;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export const ensurePairState = (
|
|
79
|
+
state: LinkPairsState,
|
|
80
|
+
pairKey: ScreenPairKey,
|
|
81
|
+
): LinkPairState => {
|
|
82
|
+
"worklet";
|
|
83
|
+
if (!state[pairKey]) {
|
|
84
|
+
state[pairKey] = {
|
|
85
|
+
links: {},
|
|
86
|
+
groups: {},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
state[pairKey].groups ??= {};
|
|
90
|
+
return state[pairKey];
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export const ensurePairLinks = (
|
|
94
|
+
state: LinkPairsState,
|
|
95
|
+
pairKey: ScreenPairKey,
|
|
96
|
+
): Record<LinkKey, TagLink> => {
|
|
97
|
+
"worklet";
|
|
98
|
+
return ensurePairState(state, pairKey).links;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
export const ensurePairGroups = (
|
|
102
|
+
state: LinkPairsState,
|
|
103
|
+
pairKey: ScreenPairKey,
|
|
104
|
+
): Record<GroupKey, LinkGroupState> => {
|
|
105
|
+
"worklet";
|
|
106
|
+
return ensurePairState(state, pairKey).groups;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
export const removePairLink = (
|
|
110
|
+
state: LinkPairsState,
|
|
111
|
+
pairKey: ScreenPairKey,
|
|
112
|
+
linkKey: LinkKey,
|
|
113
|
+
) => {
|
|
114
|
+
"worklet";
|
|
115
|
+
const pair = state[pairKey];
|
|
116
|
+
if (!pair) return;
|
|
117
|
+
|
|
118
|
+
delete pair.links[linkKey];
|
|
119
|
+
|
|
120
|
+
for (const key in pair.links) {
|
|
121
|
+
if (pair.links[key]) return;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
delete state[pairKey];
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
export const getLink = (
|
|
128
|
+
state: LinkPairsState,
|
|
129
|
+
pairKey: ScreenPairKey,
|
|
130
|
+
linkKey: LinkKey,
|
|
131
|
+
): TagLink | null => {
|
|
132
|
+
"worklet";
|
|
133
|
+
return state[pairKey]?.links[linkKey] ?? null;
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
export const getSource = (
|
|
137
|
+
state: LinkPairsState,
|
|
138
|
+
pairKey: ScreenPairKey,
|
|
139
|
+
linkKey: LinkKey,
|
|
140
|
+
): TagLink["source"] | null => {
|
|
141
|
+
"worklet";
|
|
142
|
+
return getLink(state, pairKey, linkKey)?.source ?? null;
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
export const getDestination = (
|
|
146
|
+
state: LinkPairsState,
|
|
147
|
+
pairKey: ScreenPairKey,
|
|
148
|
+
linkKey: LinkKey,
|
|
149
|
+
): TagLink["destination"] | null => {
|
|
150
|
+
"worklet";
|
|
151
|
+
return getLink(state, pairKey, linkKey)?.destination ?? null;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export const getActiveGroupId = (
|
|
155
|
+
state: LinkPairsState,
|
|
156
|
+
pairKey: ScreenPairKey,
|
|
157
|
+
group: GroupKey,
|
|
158
|
+
): LinkKey | null => {
|
|
159
|
+
"worklet";
|
|
160
|
+
return state[pairKey]?.groups?.[group]?.activeId ?? null;
|
|
161
|
+
};
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import { clear
|
|
1
|
+
import { clear } from "./internals/clear";
|
|
2
2
|
import { getEntry, removeEntry, setEntry } from "./internals/entries";
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
getMatchedLink,
|
|
11
|
-
getPendingLink,
|
|
12
|
-
hasDestinationLink,
|
|
13
|
-
hasSourceLink,
|
|
4
|
+
getActiveGroupId,
|
|
5
|
+
getDestination,
|
|
6
|
+
getLink,
|
|
7
|
+
getSource,
|
|
8
|
+
setActiveGroupId,
|
|
14
9
|
setDestination,
|
|
15
10
|
setSource,
|
|
16
11
|
} from "./internals/links";
|
|
@@ -37,21 +32,14 @@ export const BoundStore = {
|
|
|
37
32
|
link: {
|
|
38
33
|
setSource,
|
|
39
34
|
setDestination,
|
|
40
|
-
|
|
35
|
+
setActiveGroupId,
|
|
36
|
+
getLink,
|
|
37
|
+
getSource,
|
|
38
|
+
getDestination,
|
|
39
|
+
getActiveGroupId,
|
|
41
40
|
getPair: resolveTransitionPair,
|
|
42
|
-
getPending: getPendingLink,
|
|
43
|
-
hasSource: hasSourceLink,
|
|
44
|
-
hasDestination: hasDestinationLink,
|
|
45
|
-
},
|
|
46
|
-
group: {
|
|
47
|
-
setActiveId: setGroupActiveId,
|
|
48
|
-
setInitialId: setGroupInitialId,
|
|
49
|
-
getActiveId: getGroupActiveId,
|
|
50
|
-
getInitialId: getGroupInitialId,
|
|
51
41
|
},
|
|
52
42
|
cleanup: {
|
|
53
43
|
byScreen: clear,
|
|
54
|
-
byAncestor: clearByAncestor,
|
|
55
|
-
byBranch: clearByBranch,
|
|
56
44
|
},
|
|
57
45
|
};
|
|
@@ -1,98 +1,35 @@
|
|
|
1
1
|
import { hasAnyKeys } from "../helpers/keys";
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
4
|
-
import { type
|
|
2
|
+
import { isScreenPairKeyForScreen } from "../helpers/link-pairs.helpers";
|
|
3
|
+
import type { LinkPairsState, ScreenKey } from "../types";
|
|
4
|
+
import { type BoundaryEntriesState, boundaryRegistry, pairs } from "./state";
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
type ScreenPredicate = (
|
|
9
|
-
screenKey: ScreenKey,
|
|
10
|
-
screenEntry: ScreenEntry,
|
|
11
|
-
) => boolean;
|
|
12
|
-
|
|
13
|
-
const clearRegistry = (
|
|
14
|
-
shouldClearScreen: ScreenPredicate,
|
|
15
|
-
shouldClearLink: LinkPredicate,
|
|
16
|
-
) => {
|
|
6
|
+
function clear(screenKey: ScreenKey) {
|
|
17
7
|
"worklet";
|
|
18
|
-
|
|
8
|
+
|
|
9
|
+
boundaryRegistry.modify(<T extends BoundaryEntriesState>(state: T): T => {
|
|
19
10
|
"worklet";
|
|
20
11
|
for (const tag in state) {
|
|
21
12
|
const tagState = state[tag];
|
|
13
|
+
delete tagState.screens[screenKey];
|
|
22
14
|
|
|
23
|
-
|
|
24
|
-
const screenEntry = tagState.screens[entryScreenKey];
|
|
25
|
-
if (shouldClearScreen(entryScreenKey, screenEntry)) {
|
|
26
|
-
delete tagState.screens[entryScreenKey];
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
for (let i = tagState.linkStack.length - 1; i >= 0; i--) {
|
|
31
|
-
const link = tagState.linkStack[i];
|
|
32
|
-
if (shouldClearLink(link)) {
|
|
33
|
-
tagState.linkStack.splice(i, 1);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (!hasAnyKeys(tagState.screens) && tagState.linkStack.length === 0) {
|
|
15
|
+
if (!hasAnyKeys(tagState.screens)) {
|
|
38
16
|
delete state[tag];
|
|
39
17
|
}
|
|
40
18
|
}
|
|
41
19
|
|
|
42
20
|
return state;
|
|
43
21
|
});
|
|
44
|
-
};
|
|
45
22
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
matchesScreenKey(link.destination, screenKey)
|
|
54
|
-
);
|
|
55
|
-
},
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function clearByAncestor(ancestorKey: ScreenKey) {
|
|
60
|
-
"worklet";
|
|
61
|
-
clearRegistry(
|
|
62
|
-
(entryScreenKey, screenEntry) => {
|
|
63
|
-
return (
|
|
64
|
-
entryScreenKey === ancestorKey ||
|
|
65
|
-
(screenEntry.ancestorKeys?.includes(ancestorKey) ?? false)
|
|
66
|
-
);
|
|
67
|
-
},
|
|
68
|
-
(link) => {
|
|
69
|
-
return (
|
|
70
|
-
matchesScreenKey(link.source, ancestorKey) ||
|
|
71
|
-
matchesScreenKey(link.destination, ancestorKey)
|
|
72
|
-
);
|
|
73
|
-
},
|
|
74
|
-
);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
function clearByBranch(branchNavigatorKey: NavigatorKey) {
|
|
78
|
-
"worklet";
|
|
79
|
-
if (!branchNavigatorKey) return;
|
|
23
|
+
pairs.modify(<T extends LinkPairsState>(state: T): T => {
|
|
24
|
+
"worklet";
|
|
25
|
+
for (const pairKey in state) {
|
|
26
|
+
if (isScreenPairKeyForScreen(pairKey, screenKey)) {
|
|
27
|
+
delete state[pairKey];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
80
30
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
return (
|
|
84
|
-
screenEntry.navigatorKey === branchNavigatorKey ||
|
|
85
|
-
(screenEntry.ancestorNavigatorKeys?.includes(branchNavigatorKey) ??
|
|
86
|
-
false)
|
|
87
|
-
);
|
|
88
|
-
},
|
|
89
|
-
(link) => {
|
|
90
|
-
return (
|
|
91
|
-
matchesNavigatorKey(link.source, branchNavigatorKey) ||
|
|
92
|
-
matchesNavigatorKey(link.destination, branchNavigatorKey)
|
|
93
|
-
);
|
|
94
|
-
},
|
|
95
|
-
);
|
|
31
|
+
return state;
|
|
32
|
+
});
|
|
96
33
|
}
|
|
97
34
|
|
|
98
|
-
export { clear
|
|
35
|
+
export { clear };
|