react-native-screen-transitions 3.3.0 → 3.4.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +323 -130
- package/lib/commonjs/blank-stack/components/stack-view.js +13 -29
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/blank-stack/components/stack-view.native.js +13 -29
- package/lib/commonjs/blank-stack/components/stack-view.native.js.map +1 -1
- package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js +2 -20
- package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
- package/lib/commonjs/component-stack/components/component-screen.js +1 -1
- package/lib/commonjs/component-stack/components/component-screen.js.map +1 -1
- package/lib/commonjs/component-stack/components/stack-view.js +11 -25
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +2 -20
- package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.native.js +2 -4
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/animation/snap-to.js +1 -1
- package/lib/commonjs/shared/animation/snap-to.js.map +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js +17 -0
- package/lib/commonjs/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-auto-source-measurement.js +45 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-auto-source-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.js +101 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-presence.js +33 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-presence.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-group-active-measurement.js +47 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-group-active-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-layout-handler.js +57 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-layout-handler.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.js +37 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.js +58 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.js +35 -0
- package/lib/commonjs/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/index.js +230 -0
- package/lib/commonjs/shared/components/create-boundary-component/index.js.map +1 -0
- package/lib/commonjs/shared/{utils/bounds/types/builder.js → components/create-boundary-component/types.js} +1 -1
- package/lib/commonjs/shared/components/create-boundary-component/types.js.map +1 -0
- package/lib/commonjs/shared/components/create-boundary-component/utils/build-boundary-match-key.js +21 -0
- package/lib/commonjs/shared/components/create-boundary-component/utils/build-boundary-match-key.js.map +1 -0
- package/lib/commonjs/shared/components/create-transition-aware-component.js +40 -8
- package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/shared/components/native-screen.js +5 -5
- package/lib/commonjs/shared/components/native-screen.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +9 -6
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +2 -2
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js +2 -2
- package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/scene-view.js +34 -0
- package/lib/commonjs/shared/components/scene-view.js.map +1 -0
- package/lib/commonjs/shared/{hooks → components/screen-container/hooks}/use-backdrop-pointer-events.js +7 -5
- package/lib/commonjs/shared/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -0
- package/lib/commonjs/shared/components/screen-container/index.js +32 -0
- package/lib/commonjs/shared/components/screen-container/index.js.map +1 -0
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +101 -0
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -0
- package/lib/commonjs/shared/components/screen-container/layers/content.js +118 -0
- package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -0
- package/lib/commonjs/shared/components/screen-container/layers/surface-container.js +52 -0
- package/lib/commonjs/shared/components/screen-container/layers/surface-container.js.map +1 -0
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/navigator-route-registry.js +42 -0
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/navigator-route-registry.js.map +1 -0
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/reset-stores-for-screen.js +27 -0
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/reset-stores-for-screen.js.map +1 -0
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/use-navigator-history-registry.js +47 -0
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/use-navigator-history-registry.js.map +1 -0
- package/lib/commonjs/shared/{hooks/lifecycle/use-close-transition.js → components/screen-lifecycle/hooks/use-close-transition/index.js} +39 -18
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition/index.js.map +1 -0
- package/lib/commonjs/shared/{hooks/animation → components/screen-lifecycle/hooks}/use-high-refresh-rate.js +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-high-refresh-rate.js.map +1 -0
- package/lib/commonjs/shared/{hooks/lifecycle → components/screen-lifecycle/hooks}/use-open-transition.js +12 -3
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition.js.map +1 -0
- package/lib/commonjs/shared/{hooks/lifecycle → components/screen-lifecycle/hooks}/use-screen-events.js +2 -2
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-screen-events.js.map +1 -0
- package/lib/commonjs/shared/components/screen-lifecycle/index.js +36 -0
- package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -0
- package/lib/commonjs/shared/configs/index.js +3 -1
- package/lib/commonjs/shared/configs/index.js.map +1 -1
- package/lib/commonjs/shared/configs/presets.js +222 -203
- package/lib/commonjs/shared/configs/presets.js.map +1 -1
- package/lib/commonjs/shared/configs/specs.js +8 -1
- package/lib/commonjs/shared/configs/specs.js.map +1 -1
- package/lib/commonjs/shared/constants.js +19 -9
- package/lib/commonjs/shared/constants.js.map +1 -1
- package/lib/commonjs/shared/hooks/animation/use-associated-style.js +219 -28
- package/lib/commonjs/shared/hooks/animation/use-associated-style.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-screen-gesture.js +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-closing-route-keys.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js +30 -0
- package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js.map +1 -0
- package/lib/commonjs/shared/hooks/navigation/use-previous.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +2 -2
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-stack.js +0 -19
- package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-tab-press-reset.js +32 -0
- package/lib/commonjs/shared/hooks/navigation/use-tab-press-reset.js.map +1 -0
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-ref.js +38 -0
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-ref.js.map +1 -0
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js +2 -13
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
- package/lib/commonjs/shared/index.js +12 -2
- package/lib/commonjs/shared/index.js.map +1 -1
- package/lib/commonjs/shared/providers/gestures/gestures.provider.js +94 -0
- package/lib/commonjs/shared/providers/gestures/gestures.provider.js.map +1 -0
- package/lib/commonjs/shared/{hooks/gestures/use-screen-gesture-handlers.js → providers/gestures/handlers/use-handlers.js} +77 -98
- package/lib/commonjs/shared/providers/gestures/handlers/use-handlers.js.map +1 -0
- package/lib/commonjs/shared/{utils/gesture/check-gesture-activation.js → providers/gestures/helpers/gesture-activation.js} +2 -2
- package/lib/commonjs/shared/providers/gestures/helpers/gesture-activation.js.map +1 -0
- package/lib/commonjs/shared/{utils/gesture/should-defer-to-child-claim.js → providers/gestures/helpers/gesture-claims.js} +1 -1
- package/lib/commonjs/shared/providers/gestures/helpers/gesture-claims.js.map +1 -0
- package/lib/commonjs/shared/providers/gestures/helpers/gesture-directions.js +56 -0
- package/lib/commonjs/shared/providers/gestures/helpers/gesture-directions.js.map +1 -0
- package/lib/commonjs/shared/providers/gestures/helpers/gesture-physics.js +143 -0
- package/lib/commonjs/shared/providers/gestures/helpers/gesture-physics.js.map +1 -0
- package/lib/commonjs/shared/providers/gestures/helpers/gesture-reset.js +76 -0
- package/lib/commonjs/shared/providers/gestures/helpers/gesture-reset.js.map +1 -0
- package/lib/commonjs/shared/{utils/gesture/determine-snap-target.js → providers/gestures/helpers/gesture-targets.js} +50 -3
- package/lib/commonjs/shared/providers/gestures/helpers/gesture-targets.js.map +1 -0
- package/lib/commonjs/shared/providers/gestures/helpers/register-direction-claims.js +74 -0
- package/lib/commonjs/shared/providers/gestures/helpers/register-direction-claims.js.map +1 -0
- package/lib/commonjs/shared/providers/gestures/index.js +19 -0
- package/lib/commonjs/shared/providers/gestures/index.js.map +1 -0
- package/lib/commonjs/shared/providers/gestures/types.js +13 -0
- package/lib/commonjs/shared/providers/gestures/types.js.map +1 -0
- package/lib/commonjs/shared/{hooks → providers}/gestures/use-build-gestures.js +25 -32
- package/lib/commonjs/shared/providers/gestures/use-build-gestures.js.map +1 -0
- package/lib/commonjs/shared/providers/layout-anchor.provider.js +19 -6
- package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/register-bounds.provider.js +124 -77
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +46 -0
- package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -0
- package/lib/commonjs/shared/{utils/animation → providers/screen/animation/helpers}/derivations.js +6 -2
- package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js.map +1 -0
- package/lib/commonjs/shared/{hooks/animation/use-screen-animation.js → providers/screen/animation/helpers/pipeline.js} +70 -45
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/helpers/worklet.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/index.js +26 -0
- package/lib/commonjs/shared/providers/screen/animation/index.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +14 -0
- package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +91 -0
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +41 -0
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js +31 -0
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js +28 -0
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/descriptors/index.js +25 -0
- package/lib/commonjs/shared/providers/screen/descriptors/index.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/screen-composer.js +12 -11
- package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles.provider.js +37 -25
- package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/scroll-settle.provider.js +25 -0
- package/lib/commonjs/shared/providers/scroll-settle.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/core.provider.js +14 -8
- package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js +14 -67
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-closing-route-map.js +30 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-closing-route-map.js.map +1 -0
- package/lib/commonjs/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/align-routes-with-latest.js +1 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/index.js +101 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/index.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-processed-routes.js +58 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-processed-routes.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-stack-derived.js +37 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-stack-derived.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/managed.provider.js +36 -124
- package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/viewport.provider.js +33 -0
- package/lib/commonjs/shared/providers/viewport.provider.js.map +1 -0
- package/lib/commonjs/shared/stores/animation.store.js +33 -20
- package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/helpers/apply-measured-bounds-writes.js +43 -0
- package/lib/commonjs/shared/stores/bounds/helpers/apply-measured-bounds-writes.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/helpers/keys.js +23 -0
- package/lib/commonjs/shared/stores/bounds/helpers/keys.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/helpers/matching.js +22 -0
- package/lib/commonjs/shared/stores/bounds/helpers/matching.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/index.js +37 -0
- package/lib/commonjs/shared/stores/bounds/index.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/internals/clear.js +247 -0
- package/lib/commonjs/shared/stores/bounds/internals/clear.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/internals/presence.js +128 -0
- package/lib/commonjs/shared/stores/bounds/internals/presence.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/internals/registry.js +309 -0
- package/lib/commonjs/shared/stores/bounds/internals/registry.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/internals/resolver.js +123 -0
- package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/internals/state.js +102 -0
- package/lib/commonjs/shared/stores/bounds/internals/state.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/types.js +6 -0
- package/lib/commonjs/shared/stores/bounds/types.js.map +1 -0
- package/lib/commonjs/shared/stores/gesture.store.js +36 -16
- package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
- package/lib/commonjs/shared/types/gesture.types.js +4 -0
- package/lib/commonjs/shared/types/gesture.types.js.map +1 -1
- package/lib/commonjs/shared/types/providers/direct-stack.types.js +6 -0
- package/lib/commonjs/shared/types/providers/direct-stack.types.js.map +1 -0
- package/lib/commonjs/shared/types/providers/managed-stack.types.js +6 -0
- package/lib/commonjs/shared/types/providers/managed-stack.types.js.map +1 -0
- package/lib/commonjs/shared/types/stack.types.js +4 -0
- package/lib/commonjs/shared/types/stack.types.js.map +1 -1
- package/lib/commonjs/shared/utils/animation/animate-many.js +32 -0
- package/lib/commonjs/shared/utils/animation/animate-many.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/build-bounds-options.js +41 -0
- package/lib/commonjs/shared/utils/bounds/helpers/build-bounds-options.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/compute-bounds-styles.js +137 -0
- package/lib/commonjs/shared/utils/bounds/helpers/compute-bounds-styles.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/constants.js +15 -0
- package/lib/commonjs/shared/utils/bounds/helpers/constants.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/geometry.js +3 -2
- package/lib/commonjs/shared/utils/bounds/helpers/geometry.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/interpolate-style.js +2 -2
- package/lib/commonjs/shared/utils/bounds/helpers/interpolate-style.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/interpolate.js +20 -0
- package/lib/commonjs/shared/utils/bounds/helpers/interpolate.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/interpolators.js +67 -0
- package/lib/commonjs/shared/utils/bounds/helpers/interpolators.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/link-accessor.js +40 -0
- package/lib/commonjs/shared/utils/bounds/helpers/link-accessor.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/math.js +132 -0
- package/lib/commonjs/shared/utils/bounds/helpers/math.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/navigation-accessor.js +45 -0
- package/lib/commonjs/shared/utils/bounds/helpers/navigation-accessor.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/resolve-bound-tag.js +25 -0
- package/lib/commonjs/shared/utils/bounds/helpers/resolve-bound-tag.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/style-composers.js +154 -21
- package/lib/commonjs/shared/utils/bounds/helpers/style-composers.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/index.js +89 -190
- package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/sugar/navigation/helpers.js +60 -0
- package/lib/commonjs/shared/utils/bounds/sugar/navigation/helpers.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/sugar/navigation/index.js +20 -0
- package/lib/commonjs/shared/utils/bounds/sugar/navigation/index.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/sugar/navigation/types.js +6 -0
- package/lib/commonjs/shared/utils/bounds/sugar/navigation/types.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/sugar/navigation/zoom.js +295 -0
- package/lib/commonjs/shared/utils/bounds/sugar/navigation/zoom.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/types/options.js +6 -0
- package/lib/commonjs/shared/utils/bounds/types/{builder.js.map → options.js.map} +1 -1
- package/lib/commonjs/shared/utils/create-provider.js +1 -23
- package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/find-collapse-target.js +2 -1
- package/lib/commonjs/shared/utils/gesture/find-collapse-target.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/resolve-ownership.js +0 -28
- package/lib/commonjs/shared/utils/gesture/resolve-ownership.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/validate-snap-points.js +11 -1
- package/lib/commonjs/shared/utils/gesture/validate-snap-points.js.map +1 -1
- package/lib/commonjs/shared/utils/logger.js +1 -3
- package/lib/commonjs/shared/utils/logger.js.map +1 -1
- package/lib/commonjs/shared/utils/navigation/compose-descriptors.js.map +1 -1
- package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js +70 -0
- package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -0
- package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
- package/lib/commonjs/shared/utils/normalize-interpolated-style.js +68 -0
- package/lib/commonjs/shared/utils/normalize-interpolated-style.js.map +1 -0
- package/lib/commonjs/shared/utils/overlay/visibility.js +1 -2
- package/lib/commonjs/shared/utils/overlay/visibility.js.map +1 -1
- package/lib/commonjs/shared/utils/platform.js +13 -0
- package/lib/commonjs/shared/utils/platform.js.map +1 -0
- package/lib/module/blank-stack/components/stack-view.js +10 -25
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/blank-stack/components/stack-view.native.js +10 -25
- package/lib/module/blank-stack/components/stack-view.native.js.map +1 -1
- package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js +3 -20
- package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
- package/lib/module/component-stack/components/component-screen.js +1 -1
- package/lib/module/component-stack/components/component-screen.js.map +1 -1
- package/lib/module/component-stack/components/stack-view.js +9 -22
- package/lib/module/component-stack/components/stack-view.js.map +1 -1
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js +3 -20
- package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.native.js +1 -3
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/animation/snap-to.js +1 -1
- package/lib/module/shared/animation/snap-to.js.map +1 -1
- package/lib/module/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js +12 -0
- package/lib/module/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-auto-source-measurement.js +40 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-auto-source-measurement.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.js +95 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-presence.js +28 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-presence.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-group-active-measurement.js +42 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-group-active-measurement.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-initial-layout-handler.js +52 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-initial-layout-handler.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.js +32 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.js +53 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.js +30 -0
- package/lib/module/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/index.js +224 -0
- package/lib/module/shared/components/create-boundary-component/index.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/types.js +4 -0
- package/lib/module/shared/components/create-boundary-component/types.js.map +1 -0
- package/lib/module/shared/components/create-boundary-component/utils/build-boundary-match-key.js +17 -0
- package/lib/module/shared/components/create-boundary-component/utils/build-boundary-match-key.js.map +1 -0
- package/lib/module/shared/components/create-transition-aware-component.js +42 -10
- package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/shared/components/native-screen.js +5 -5
- package/lib/module/shared/components/native-screen.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/float-overlay.js +11 -7
- package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/overlay-host.js +1 -1
- package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/screen-overlay.js +4 -3
- package/lib/module/shared/components/overlay/variations/screen-overlay.js.map +1 -1
- package/lib/module/shared/components/scene-view.js +29 -0
- package/lib/module/shared/components/scene-view.js.map +1 -0
- package/lib/module/shared/{hooks → components/screen-container/hooks}/use-backdrop-pointer-events.js +7 -5
- package/lib/module/shared/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -0
- package/lib/module/shared/components/screen-container/index.js +28 -0
- package/lib/module/shared/components/screen-container/index.js.map +1 -0
- package/lib/module/shared/components/screen-container/layers/backdrop.js +96 -0
- package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -0
- package/lib/module/shared/components/screen-container/layers/content.js +112 -0
- package/lib/module/shared/components/screen-container/layers/content.js.map +1 -0
- package/lib/module/shared/components/screen-container/layers/surface-container.js +47 -0
- package/lib/module/shared/components/screen-container/layers/surface-container.js.map +1 -0
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/navigator-route-registry.js +36 -0
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/navigator-route-registry.js.map +1 -0
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/reset-stores-for-screen.js +22 -0
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/reset-stores-for-screen.js.map +1 -0
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/use-navigator-history-registry.js +42 -0
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/use-navigator-history-registry.js.map +1 -0
- package/lib/module/shared/{hooks/lifecycle/use-close-transition.js → components/screen-lifecycle/hooks/use-close-transition/index.js} +39 -18
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition/index.js.map +1 -0
- package/lib/module/shared/{hooks/animation → components/screen-lifecycle/hooks}/use-high-refresh-rate.js +1 -2
- package/lib/module/shared/components/screen-lifecycle/hooks/use-high-refresh-rate.js.map +1 -0
- package/lib/module/shared/{hooks/lifecycle → components/screen-lifecycle/hooks}/use-open-transition.js +12 -3
- package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition.js.map +1 -0
- package/lib/module/shared/{hooks/lifecycle → components/screen-lifecycle/hooks}/use-screen-events.js +2 -2
- package/lib/module/shared/components/screen-lifecycle/hooks/use-screen-events.js.map +1 -0
- package/lib/module/shared/components/screen-lifecycle/index.js +31 -0
- package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -0
- package/lib/module/shared/configs/index.js +4 -2
- package/lib/module/shared/configs/index.js.map +1 -1
- package/lib/module/shared/configs/presets.js +222 -203
- package/lib/module/shared/configs/presets.js.map +1 -1
- package/lib/module/shared/configs/specs.js +7 -0
- package/lib/module/shared/configs/specs.js.map +1 -1
- package/lib/module/shared/constants.js +18 -8
- package/lib/module/shared/constants.js.map +1 -1
- package/lib/module/shared/hooks/animation/use-associated-style.js +221 -30
- package/lib/module/shared/hooks/animation/use-associated-style.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-screen-gesture.js +1 -1
- package/lib/module/shared/hooks/gestures/use-screen-gesture.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-closing-route-keys.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-navigation-helpers.js +26 -0
- package/lib/module/shared/hooks/navigation/use-navigation-helpers.js.map +1 -0
- package/lib/module/shared/hooks/navigation/use-previous.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-screen-state.js +2 -2
- package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-stack.js +0 -20
- package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-tab-press-reset.js +28 -0
- package/lib/module/shared/hooks/navigation/use-tab-press-reset.js.map +1 -0
- package/lib/module/shared/hooks/reanimated/use-shared-value-ref.js +33 -0
- package/lib/module/shared/hooks/reanimated/use-shared-value-ref.js.map +1 -0
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +3 -14
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
- package/lib/module/shared/index.js +6 -1
- package/lib/module/shared/index.js.map +1 -1
- package/lib/module/shared/providers/gestures/gestures.provider.js +87 -0
- package/lib/module/shared/providers/gestures/gestures.provider.js.map +1 -0
- package/lib/module/shared/{hooks/gestures/use-screen-gesture-handlers.js → providers/gestures/handlers/use-handlers.js} +64 -85
- package/lib/module/shared/providers/gestures/handlers/use-handlers.js.map +1 -0
- package/lib/module/shared/{utils/gesture/check-gesture-activation.js → providers/gestures/helpers/gesture-activation.js} +2 -2
- package/lib/module/shared/providers/gestures/helpers/gesture-activation.js.map +1 -0
- package/lib/module/shared/{utils/gesture/should-defer-to-child-claim.js → providers/gestures/helpers/gesture-claims.js} +1 -1
- package/lib/module/shared/providers/gestures/helpers/gesture-claims.js.map +1 -0
- package/lib/module/shared/providers/gestures/helpers/gesture-directions.js +47 -0
- package/lib/module/shared/providers/gestures/helpers/gesture-directions.js.map +1 -0
- package/lib/module/shared/{utils/gesture/velocity.js → providers/gestures/helpers/gesture-physics.js} +56 -30
- package/lib/module/shared/providers/gestures/helpers/gesture-physics.js.map +1 -0
- package/lib/module/shared/providers/gestures/helpers/gesture-reset.js +71 -0
- package/lib/module/shared/providers/gestures/helpers/gesture-reset.js.map +1 -0
- package/lib/module/shared/{utils/gesture/determine-snap-target.js → providers/gestures/helpers/gesture-targets.js} +48 -3
- package/lib/module/shared/providers/gestures/helpers/gesture-targets.js.map +1 -0
- package/lib/module/shared/providers/gestures/helpers/register-direction-claims.js +70 -0
- package/lib/module/shared/providers/gestures/helpers/register-direction-claims.js.map +1 -0
- package/lib/module/shared/providers/gestures/index.js +4 -0
- package/lib/module/shared/providers/gestures/index.js.map +1 -0
- package/lib/module/shared/providers/gestures/types.js +9 -0
- package/lib/module/shared/providers/gestures/types.js.map +1 -0
- package/lib/module/shared/{hooks → providers}/gestures/use-build-gestures.js +24 -31
- package/lib/module/shared/providers/gestures/use-build-gestures.js.map +1 -0
- package/lib/module/shared/providers/layout-anchor.provider.js +19 -6
- package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -1
- package/lib/module/shared/providers/register-bounds.provider.js +124 -76
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/animation.provider.js +40 -0
- package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -0
- package/lib/module/shared/{utils/animation → providers/screen/animation/helpers}/derivations.js +6 -2
- package/lib/module/shared/providers/screen/animation/helpers/derivations.js.map +1 -0
- package/lib/module/shared/{hooks/animation/use-screen-animation.js → providers/screen/animation/helpers/pipeline.js} +70 -44
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/helpers/worklet.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/index.js +5 -0
- package/lib/module/shared/providers/screen/animation/index.js.map +1 -0
- package/lib/module/shared/providers/screen/animation/use-screen-animation.js +10 -0
- package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -0
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +84 -0
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -0
- package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +37 -0
- package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -0
- package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js +27 -0
- package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +1 -0
- package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js +24 -0
- package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js.map +1 -0
- package/lib/module/shared/providers/screen/descriptors/index.js +4 -0
- package/lib/module/shared/providers/screen/descriptors/index.js.map +1 -0
- package/lib/module/shared/providers/screen/screen-composer.js +12 -11
- package/lib/module/shared/providers/screen/screen-composer.js.map +1 -1
- package/lib/module/shared/providers/screen/styles.provider.js +35 -24
- package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/module/shared/providers/scroll-settle.provider.js +19 -0
- package/lib/module/shared/providers/scroll-settle.provider.js.map +1 -0
- package/lib/module/shared/providers/stack/core.provider.js +14 -8
- package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/direct.provider.js +15 -66
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/helpers/use-closing-route-map.js +25 -0
- package/lib/module/shared/providers/stack/helpers/use-closing-route-map.js.map +1 -0
- package/lib/module/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/align-routes-with-latest.js +2 -1
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/use-local-routes/index.js +95 -0
- package/lib/module/shared/providers/stack/helpers/use-local-routes/index.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/use-processed-routes.js +54 -0
- package/lib/module/shared/providers/stack/helpers/use-processed-routes.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/use-stack-derived.js +33 -0
- package/lib/module/shared/providers/stack/helpers/use-stack-derived.js.map +1 -0
- package/lib/module/shared/providers/stack/managed.provider.js +37 -125
- package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/module/shared/providers/viewport.provider.js +27 -0
- package/lib/module/shared/providers/viewport.provider.js.map +1 -0
- package/lib/module/shared/stores/animation.store.js +34 -21
- package/lib/module/shared/stores/animation.store.js.map +1 -1
- package/lib/module/shared/stores/bounds/helpers/apply-measured-bounds-writes.js +38 -0
- package/lib/module/shared/stores/bounds/helpers/apply-measured-bounds-writes.js.map +1 -0
- package/lib/module/shared/stores/bounds/helpers/keys.js +19 -0
- package/lib/module/shared/stores/bounds/helpers/keys.js.map +1 -0
- package/lib/module/shared/stores/bounds/helpers/matching.js +17 -0
- package/lib/module/shared/stores/bounds/helpers/matching.js.map +1 -0
- package/lib/module/shared/stores/bounds/index.js +33 -0
- package/lib/module/shared/stores/bounds/index.js.map +1 -0
- package/lib/module/shared/stores/bounds/internals/clear.js +242 -0
- package/lib/module/shared/stores/bounds/internals/clear.js.map +1 -0
- package/lib/module/shared/stores/bounds/internals/presence.js +118 -0
- package/lib/module/shared/stores/bounds/internals/presence.js.map +1 -0
- package/lib/module/shared/stores/bounds/internals/registry.js +295 -0
- package/lib/module/shared/stores/bounds/internals/registry.js.map +1 -0
- package/lib/module/shared/stores/bounds/internals/resolver.js +120 -0
- package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -0
- package/lib/module/shared/stores/bounds/internals/state.js +93 -0
- package/lib/module/shared/stores/bounds/internals/state.js.map +1 -0
- package/lib/module/shared/stores/bounds/types.js +4 -0
- package/lib/module/shared/stores/bounds/types.js.map +1 -0
- package/lib/module/shared/stores/gesture.store.js +36 -16
- package/lib/module/shared/stores/gesture.store.js.map +1 -1
- package/lib/module/shared/types/gesture.types.js +5 -0
- package/lib/module/shared/types/gesture.types.js.map +1 -1
- package/lib/module/shared/types/providers/direct-stack.types.js +4 -0
- package/lib/module/shared/types/providers/direct-stack.types.js.map +1 -0
- package/lib/module/shared/types/providers/managed-stack.types.js +4 -0
- package/lib/module/shared/types/providers/managed-stack.types.js.map +1 -0
- package/lib/module/shared/types/stack.types.js +5 -0
- package/lib/module/shared/types/stack.types.js.map +1 -1
- package/lib/module/shared/utils/animation/animate-many.js +27 -0
- package/lib/module/shared/utils/animation/animate-many.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/build-bounds-options.js +36 -0
- package/lib/module/shared/utils/bounds/helpers/build-bounds-options.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/compute-bounds-styles.js +132 -0
- package/lib/module/shared/utils/bounds/helpers/compute-bounds-styles.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/constants.js +11 -0
- package/lib/module/shared/utils/bounds/helpers/constants.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/geometry.js +3 -2
- package/lib/module/shared/utils/bounds/helpers/geometry.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/interpolate-style.js +2 -2
- package/lib/module/shared/utils/bounds/helpers/interpolate-style.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/interpolate.js +16 -0
- package/lib/module/shared/utils/bounds/helpers/interpolate.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/interpolators.js +62 -0
- package/lib/module/shared/utils/bounds/helpers/interpolators.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/link-accessor.js +35 -0
- package/lib/module/shared/utils/bounds/helpers/link-accessor.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/math.js +115 -0
- package/lib/module/shared/utils/bounds/helpers/math.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/navigation-accessor.js +40 -0
- package/lib/module/shared/utils/bounds/helpers/navigation-accessor.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/resolve-bound-tag.js +20 -0
- package/lib/module/shared/utils/bounds/helpers/resolve-bound-tag.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/style-composers.js +154 -21
- package/lib/module/shared/utils/bounds/helpers/style-composers.js.map +1 -1
- package/lib/module/shared/utils/bounds/index.js +86 -187
- package/lib/module/shared/utils/bounds/index.js.map +1 -1
- package/lib/module/shared/utils/bounds/sugar/navigation/helpers.js +54 -0
- package/lib/module/shared/utils/bounds/sugar/navigation/helpers.js.map +1 -0
- package/lib/module/shared/utils/bounds/sugar/navigation/index.js +15 -0
- package/lib/module/shared/utils/bounds/sugar/navigation/index.js.map +1 -0
- package/lib/module/shared/utils/bounds/sugar/navigation/types.js +4 -0
- package/lib/module/shared/utils/bounds/sugar/navigation/types.js.map +1 -0
- package/lib/module/shared/utils/bounds/sugar/navigation/zoom.js +290 -0
- package/lib/module/shared/utils/bounds/sugar/navigation/zoom.js.map +1 -0
- package/lib/module/shared/utils/bounds/types/options.js +4 -0
- package/lib/module/shared/utils/bounds/types/{builder.js.map → options.js.map} +1 -1
- package/lib/module/shared/utils/create-provider.js +1 -23
- package/lib/module/shared/utils/create-provider.js.map +1 -1
- package/lib/module/shared/utils/gesture/find-collapse-target.js +2 -1
- package/lib/module/shared/utils/gesture/find-collapse-target.js.map +1 -1
- package/lib/module/shared/utils/gesture/resolve-ownership.js +0 -27
- package/lib/module/shared/utils/gesture/resolve-ownership.js.map +1 -1
- package/lib/module/shared/utils/gesture/validate-snap-points.js +10 -1
- package/lib/module/shared/utils/gesture/validate-snap-points.js.map +1 -1
- package/lib/module/shared/utils/logger.js +0 -1
- package/lib/module/shared/utils/logger.js.map +1 -1
- package/lib/module/shared/utils/navigation/compose-descriptors.js.map +1 -1
- package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js +66 -0
- package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -0
- package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
- package/lib/module/shared/utils/normalize-interpolated-style.js +64 -0
- package/lib/module/shared/utils/normalize-interpolated-style.js.map +1 -0
- package/lib/module/shared/utils/overlay/visibility.js +1 -1
- package/lib/module/shared/utils/overlay/visibility.js.map +1 -1
- package/lib/module/shared/utils/platform.js +9 -0
- package/lib/module/shared/utils/platform.js.map +1 -0
- package/lib/typescript/blank-stack/components/stack-view.d.ts +1 -2
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/stack-view.native.d.ts +1 -2
- package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +1 -1
- package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/stack-view.d.ts +1 -2
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-boundary-component/helpers/resolve-pending-source-key.d.ts +2 -0
- package/lib/typescript/shared/components/create-boundary-component/helpers/resolve-pending-source-key.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-auto-source-measurement.d.ts +8 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-auto-source-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.d.ts +23 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-presence.d.ts +11 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-presence.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-group-active-measurement.d.ts +18 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-group-active-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-layout-handler.d.ts +10 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-layout-handler.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.d.ts +8 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.d.ts +12 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.d.ts +10 -0
- package/lib/typescript/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/index.d.ts +30 -0
- package/lib/typescript/shared/components/create-boundary-component/index.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/types.d.ts +38 -0
- package/lib/typescript/shared/components/create-boundary-component/types.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-boundary-component/utils/build-boundary-match-key.d.ts +9 -0
- package/lib/typescript/shared/components/create-boundary-component/utils/build-boundary-match-key.d.ts.map +1 -0
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/native-screen.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +3 -7
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/screen-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/scene-view.d.ts +13 -0
- package/lib/typescript/shared/components/scene-view.d.ts.map +1 -0
- package/lib/typescript/shared/{hooks → components/screen-container/hooks}/use-backdrop-pointer-events.d.ts +1 -0
- package/lib/typescript/shared/components/screen-container/hooks/use-backdrop-pointer-events.d.ts.map +1 -0
- package/lib/typescript/shared/components/{screen-container.d.ts → screen-container/index.d.ts} +1 -1
- package/lib/typescript/shared/components/screen-container/index.d.ts.map +1 -0
- package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts +2 -0
- package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -0
- package/lib/typescript/shared/components/screen-container/layers/content.d.ts +6 -0
- package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -0
- package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts +8 -0
- package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts.map +1 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/navigator-route-registry.d.ts +11 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/navigator-route-registry.d.ts.map +1 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/reset-stores-for-screen.d.ts +2 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/reset-stores-for-screen.d.ts.map +1 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/use-navigator-history-registry.d.ts +2 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/use-navigator-history-registry.d.ts.map +1 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition/index.d.ts +7 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition/index.d.ts.map +1 -0
- package/lib/typescript/shared/{hooks/animation → components/screen-lifecycle/hooks}/use-high-refresh-rate.d.ts +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-high-refresh-rate.d.ts.map +1 -0
- package/lib/typescript/shared/{hooks/lifecycle → components/screen-lifecycle/hooks}/use-open-transition.d.ts +3 -3
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-open-transition.d.ts.map +1 -0
- package/lib/typescript/shared/{hooks/lifecycle → components/screen-lifecycle/hooks}/use-screen-events.d.ts +2 -2
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-screen-events.d.ts.map +1 -0
- package/lib/typescript/shared/components/screen-lifecycle/index.d.ts +10 -0
- package/lib/typescript/shared/components/screen-lifecycle/index.d.ts.map +1 -0
- package/lib/typescript/shared/configs/index.d.ts +2 -0
- package/lib/typescript/shared/configs/index.d.ts.map +1 -1
- package/lib/typescript/shared/configs/presets.d.ts.map +1 -1
- package/lib/typescript/shared/configs/specs.d.ts +1 -0
- package/lib/typescript/shared/configs/specs.d.ts.map +1 -1
- package/lib/typescript/shared/constants.d.ts +9 -5
- package/lib/typescript/shared/constants.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/animation/use-associated-style.d.ts +27 -2
- package/lib/typescript/shared/hooks/animation/use-associated-style.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-closing-route-keys.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-history.d.ts +2 -1
- package/lib/typescript/shared/hooks/navigation/use-history.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts +4 -0
- package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/navigation/use-previous.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +1 -41
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-tab-press-reset.d.ts +10 -0
- package/lib/typescript/shared/hooks/navigation/use-tab-press-reset.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/reanimated/use-shared-value-ref.d.ts +8 -0
- package/lib/typescript/shared/hooks/reanimated/use-shared-value-ref.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +27 -16
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/gestures/gestures.provider.d.ts +19 -0
- package/lib/typescript/shared/providers/gestures/gestures.provider.d.ts.map +1 -0
- package/lib/typescript/shared/{hooks/gestures/use-screen-gesture-handlers.d.ts → providers/gestures/handlers/use-handlers.d.ts} +6 -4
- package/lib/typescript/shared/providers/gestures/handlers/use-handlers.d.ts.map +1 -0
- package/lib/typescript/shared/{utils/gesture/check-gesture-activation.d.ts → providers/gestures/helpers/gesture-activation.d.ts} +7 -13
- package/lib/typescript/shared/providers/gestures/helpers/gesture-activation.d.ts.map +1 -0
- package/lib/typescript/shared/{utils/gesture/should-defer-to-child-claim.d.ts → providers/gestures/helpers/gesture-claims.d.ts} +2 -2
- package/lib/typescript/shared/providers/gestures/helpers/gesture-claims.d.ts.map +1 -0
- package/lib/typescript/shared/providers/gestures/helpers/gesture-directions.d.ts +13 -0
- package/lib/typescript/shared/providers/gestures/helpers/gesture-directions.d.ts.map +1 -0
- package/lib/typescript/shared/providers/gestures/helpers/gesture-physics.d.ts +42 -0
- package/lib/typescript/shared/providers/gestures/helpers/gesture-physics.d.ts.map +1 -0
- package/lib/typescript/shared/{utils/gesture/reset-gesture-values.d.ts → providers/gestures/helpers/gesture-reset.d.ts} +6 -4
- package/lib/typescript/shared/providers/gestures/helpers/gesture-reset.d.ts.map +1 -0
- package/lib/typescript/shared/{utils/gesture/determine-snap-target.d.ts → providers/gestures/helpers/gesture-targets.d.ts} +19 -1
- package/lib/typescript/shared/providers/gestures/helpers/gesture-targets.d.ts.map +1 -0
- package/lib/typescript/shared/providers/gestures/helpers/register-direction-claims.d.ts +9 -0
- package/lib/typescript/shared/providers/gestures/helpers/register-direction-claims.d.ts.map +1 -0
- package/lib/typescript/shared/providers/gestures/index.d.ts +3 -0
- package/lib/typescript/shared/providers/gestures/index.d.ts.map +1 -0
- package/lib/typescript/shared/providers/{gestures.provider.d.ts → gestures/types.d.ts} +4 -20
- package/lib/typescript/shared/providers/gestures/types.d.ts.map +1 -0
- package/lib/typescript/shared/{hooks → providers}/gestures/use-build-gestures.d.ts +2 -2
- package/lib/typescript/shared/providers/gestures/use-build-gestures.d.ts.map +1 -0
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +6 -1
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +13 -0
- package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -0
- package/lib/typescript/shared/{utils/animation → providers/screen/animation/helpers}/derivations.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts +11 -0
- package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -0
- package/lib/typescript/shared/{utils/animation → providers/screen/animation/helpers}/worklet.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/worklet.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/animation/index.d.ts +3 -0
- package/lib/typescript/shared/providers/screen/animation/index.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/animation/use-screen-animation.d.ts +2 -0
- package/lib/typescript/shared/providers/screen/animation/use-screen-animation.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +26 -0
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +24 -0
- package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts +8 -0
- package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.d.ts +7 -0
- package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/descriptors/index.d.ts +2 -0
- package/lib/typescript/shared/providers/screen/descriptors/index.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/screen-composer.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/screen-composer.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles.provider.d.ts +7 -7
- package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/scroll-settle.provider.d.ts +12 -0
- package/lib/typescript/shared/providers/scroll-settle.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts +4 -32
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/helpers/use-closing-route-map.d.ts +7 -0
- package/lib/typescript/shared/providers/stack/helpers/use-closing-route-map.d.ts.map +1 -0
- package/lib/typescript/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/align-routes-with-latest.d.ts +1 -4
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.d.ts +3 -0
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.d.ts +3 -0
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/{use-local-routes.d.ts → use-local-routes/index.d.ts} +3 -3
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes/index.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/use-processed-routes.d.ts +17 -0
- package/lib/typescript/shared/providers/stack/helpers/use-processed-routes.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/use-stack-derived.d.ts +18 -0
- package/lib/typescript/shared/providers/stack/helpers/use-stack-derived.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts +5 -37
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/viewport.provider.d.ts +13 -0
- package/lib/typescript/shared/providers/viewport.provider.d.ts.map +1 -0
- package/lib/typescript/shared/stores/animation.store.d.ts +6 -4
- package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/helpers/apply-measured-bounds-writes.d.ts +19 -0
- package/lib/typescript/shared/stores/bounds/helpers/apply-measured-bounds-writes.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/helpers/keys.d.ts +3 -0
- package/lib/typescript/shared/stores/bounds/helpers/keys.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/helpers/matching.d.ts +4 -0
- package/lib/typescript/shared/stores/bounds/helpers/matching.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/index.d.ts +32 -0
- package/lib/typescript/shared/stores/bounds/index.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/internals/clear.d.ts +6 -0
- package/lib/typescript/shared/stores/bounds/internals/clear.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/internals/presence.d.ts +12 -0
- package/lib/typescript/shared/stores/bounds/internals/presence.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/internals/registry.d.ts +16 -0
- package/lib/typescript/shared/stores/bounds/internals/registry.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts +4 -0
- package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/internals/state.d.ts +11 -0
- package/lib/typescript/shared/stores/bounds/internals/state.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/types.d.ts +62 -0
- package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -0
- package/lib/typescript/shared/stores/gesture.store.d.ts +13 -4
- package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +85 -29
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/bounds.types.d.ts +17 -3
- package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/gesture.types.d.ts +27 -8
- package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/index.d.ts +2 -2
- package/lib/typescript/shared/types/index.d.ts.map +1 -1
- package/lib/typescript/shared/types/overlay.types.d.ts +8 -0
- package/lib/typescript/shared/types/overlay.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/providers/direct-stack.types.d.ts +22 -0
- package/lib/typescript/shared/types/providers/direct-stack.types.d.ts.map +1 -0
- package/lib/typescript/shared/types/providers/managed-stack.types.d.ts +45 -0
- package/lib/typescript/shared/types/providers/managed-stack.types.d.ts.map +1 -0
- package/lib/typescript/shared/types/screen.types.d.ts +62 -6
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/stack.types.d.ts +7 -0
- package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/animation/animate-many.d.ts +13 -0
- package/lib/typescript/shared/utils/animation/animate-many.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/build-bounds-options.d.ts +14 -0
- package/lib/typescript/shared/utils/bounds/helpers/build-bounds-options.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/compute-bounds-styles.d.ts +4 -0
- package/lib/typescript/shared/utils/bounds/helpers/compute-bounds-styles.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/constants.d.ts +9 -0
- package/lib/typescript/shared/utils/bounds/helpers/constants.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/geometry.d.ts +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/geometry.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/interpolate-style.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/interpolate.d.ts +2 -0
- package/lib/typescript/shared/utils/bounds/helpers/interpolate.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/interpolators.d.ts +13 -0
- package/lib/typescript/shared/utils/bounds/helpers/interpolators.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/link-accessor.d.ts +11 -0
- package/lib/typescript/shared/utils/bounds/helpers/link-accessor.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/math.d.ts +38 -0
- package/lib/typescript/shared/utils/bounds/helpers/math.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/navigation-accessor.d.ts +16 -0
- package/lib/typescript/shared/utils/bounds/helpers/navigation-accessor.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/resolve-bound-tag.d.ts +6 -0
- package/lib/typescript/shared/utils/bounds/helpers/resolve-bound-tag.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/style-composers.d.ts +4 -4
- package/lib/typescript/shared/utils/bounds/helpers/style-composers.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/index.d.ts +1 -1
- package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/sugar/navigation/helpers.d.ts +17 -0
- package/lib/typescript/shared/utils/bounds/sugar/navigation/helpers.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/sugar/navigation/index.d.ts +3 -0
- package/lib/typescript/shared/utils/bounds/sugar/navigation/index.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/sugar/navigation/types.d.ts +18 -0
- package/lib/typescript/shared/utils/bounds/sugar/navigation/types.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/sugar/navigation/zoom.d.ts +4 -0
- package/lib/typescript/shared/utils/bounds/sugar/navigation/zoom.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/types/{builder.d.ts → options.d.ts} +15 -7
- package/lib/typescript/shared/utils/bounds/types/{builder.d.ts.map → options.d.ts.map} +1 -1
- package/lib/typescript/shared/utils/create-provider.d.ts +2 -2
- package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/find-collapse-target.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/resolve-ownership.d.ts +2 -10
- package/lib/typescript/shared/utils/gesture/resolve-ownership.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts +7 -2
- package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts.map +1 -1
- package/lib/typescript/shared/utils/logger.d.ts +0 -1
- package/lib/typescript/shared/utils/logger.d.ts.map +1 -1
- package/lib/typescript/shared/utils/navigation/compose-descriptors.d.ts +1 -4
- package/lib/typescript/shared/utils/navigation/compose-descriptors.d.ts.map +1 -1
- package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts +25 -0
- package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts.map +1 -0
- package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts +1 -3
- package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -1
- package/lib/typescript/shared/utils/normalize-interpolated-style.d.ts +17 -0
- package/lib/typescript/shared/utils/normalize-interpolated-style.d.ts.map +1 -0
- package/lib/typescript/shared/utils/overlay/visibility.d.ts +0 -1
- package/lib/typescript/shared/utils/overlay/visibility.d.ts.map +1 -1
- package/lib/typescript/shared/utils/platform.d.ts +5 -0
- package/lib/typescript/shared/utils/platform.d.ts.map +1 -0
- package/package.json +3 -1
- package/src/blank-stack/components/stack-view.native.tsx +15 -34
- package/src/blank-stack/components/stack-view.tsx +15 -34
- package/src/blank-stack/navigators/create-blank-stack-navigator.tsx +2 -28
- package/src/component-stack/components/component-screen.tsx +1 -1
- package/src/component-stack/components/stack-view.tsx +8 -30
- package/src/native-stack/navigators/createNativeStackNavigator.tsx +2 -28
- package/src/native-stack/views/NativeStackView.native.tsx +1 -4
- package/src/shared/animation/snap-to.ts +1 -1
- package/src/shared/components/create-boundary-component/helpers/resolve-pending-source-key.ts +16 -0
- package/src/shared/components/create-boundary-component/hooks/use-auto-source-measurement.ts +50 -0
- package/src/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.ts +177 -0
- package/src/shared/components/create-boundary-component/hooks/use-boundary-presence.ts +55 -0
- package/src/shared/components/create-boundary-component/hooks/use-group-active-measurement.ts +59 -0
- package/src/shared/components/create-boundary-component/hooks/use-initial-layout-handler.ts +83 -0
- package/src/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.ts +47 -0
- package/src/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.ts +83 -0
- package/src/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.ts +40 -0
- package/src/shared/components/create-boundary-component/index.tsx +263 -0
- package/src/shared/components/create-boundary-component/types.ts +47 -0
- package/src/shared/components/create-boundary-component/utils/build-boundary-match-key.ts +29 -0
- package/src/shared/components/create-transition-aware-component.tsx +53 -9
- package/src/shared/components/native-screen.tsx +4 -8
- package/src/shared/components/overlay/variations/float-overlay.tsx +25 -28
- package/src/shared/components/overlay/variations/overlay-host.tsx +7 -12
- package/src/shared/components/overlay/variations/screen-overlay.tsx +6 -12
- package/src/shared/components/scene-view.tsx +32 -0
- package/src/shared/{hooks → components/screen-container/hooks}/use-backdrop-pointer-events.ts +9 -5
- package/src/shared/components/screen-container/index.tsx +26 -0
- package/src/shared/components/screen-container/layers/backdrop.tsx +111 -0
- package/src/shared/components/screen-container/layers/content.tsx +133 -0
- package/src/shared/components/screen-container/layers/surface-container.tsx +55 -0
- package/src/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/navigator-route-registry.ts +46 -0
- package/src/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/reset-stores-for-screen.ts +27 -0
- package/src/shared/components/screen-lifecycle/hooks/use-close-transition/helpers/use-navigator-history-registry.ts +58 -0
- package/src/shared/{hooks/lifecycle/use-close-transition.ts → components/screen-lifecycle/hooks/use-close-transition/index.ts} +43 -20
- package/src/shared/{hooks/animation/use-high-refresh-rate.tsx → components/screen-lifecycle/hooks/use-high-refresh-rate.ts} +2 -2
- package/src/shared/{hooks/lifecycle → components/screen-lifecycle/hooks}/use-open-transition.ts +15 -4
- package/src/shared/{hooks/lifecycle → components/screen-lifecycle/hooks}/use-screen-events.ts +4 -4
- package/src/shared/components/screen-lifecycle/index.tsx +36 -0
- package/src/shared/configs/index.ts +3 -1
- package/src/shared/configs/presets.ts +189 -153
- package/src/shared/configs/specs.ts +8 -0
- package/src/shared/constants.ts +18 -6
- package/src/shared/hooks/animation/use-associated-style.ts +347 -0
- package/src/shared/hooks/gestures/use-screen-gesture.ts +1 -1
- package/src/shared/hooks/gestures/{use-scroll-registry.tsx → use-scroll-registry.ts} +1 -1
- package/src/shared/hooks/navigation/use-history.ts +1 -1
- package/src/shared/hooks/navigation/use-navigation-helpers.ts +25 -0
- package/src/shared/hooks/navigation/{use-previous.tsx → use-previous.ts} +1 -1
- package/src/shared/hooks/navigation/{use-screen-state.tsx → use-screen-state.ts} +3 -3
- package/src/shared/hooks/navigation/use-stack.tsx +1 -41
- package/src/shared/hooks/navigation/use-tab-press-reset.ts +41 -0
- package/src/shared/hooks/reanimated/use-shared-value-ref.ts +43 -0
- package/src/shared/hooks/reanimated/use-shared-value-state.ts +2 -13
- package/src/shared/index.ts +20 -1
- package/src/shared/providers/gestures/gestures.provider.tsx +127 -0
- package/src/shared/{hooks/gestures/use-screen-gesture-handlers.ts → providers/gestures/handlers/use-handlers.ts} +109 -126
- package/src/shared/{utils/gesture/check-gesture-activation.ts → providers/gestures/helpers/gesture-activation.ts} +6 -13
- package/src/shared/{utils/gesture/should-defer-to-child-claim.ts → providers/gestures/helpers/gesture-claims.ts} +1 -1
- package/src/shared/providers/gestures/helpers/gesture-directions.ts +97 -0
- package/src/shared/{utils/gesture/velocity.ts → providers/gestures/helpers/gesture-physics.ts} +97 -48
- package/src/shared/providers/gestures/helpers/gesture-reset.ts +108 -0
- package/src/shared/{utils/gesture/determine-snap-target.ts → providers/gestures/helpers/gesture-targets.ts} +81 -4
- package/src/shared/providers/gestures/helpers/register-direction-claims.ts +84 -0
- package/src/shared/providers/gestures/index.tsx +10 -0
- package/src/shared/providers/gestures/types.ts +45 -0
- package/src/shared/{hooks/gestures/use-build-gestures.tsx → providers/gestures/use-build-gestures.ts} +30 -45
- package/src/shared/providers/layout-anchor.provider.tsx +34 -3
- package/src/shared/providers/register-bounds.provider.tsx +169 -113
- package/src/shared/providers/screen/animation/animation.provider.tsx +57 -0
- package/src/shared/{utils/animation → providers/screen/animation/helpers}/derivations.ts +5 -5
- package/src/shared/{hooks/animation/use-screen-animation.tsx → providers/screen/animation/helpers/pipeline.ts} +109 -48
- package/src/shared/{utils/animation → providers/screen/animation/helpers}/worklet.ts +1 -1
- package/src/shared/providers/screen/animation/index.tsx +5 -0
- package/src/shared/providers/screen/animation/use-screen-animation.tsx +6 -0
- package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +113 -0
- package/src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +67 -0
- package/src/shared/providers/screen/descriptors/helpers/get-ancestor-keys.ts +30 -0
- package/src/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.ts +29 -0
- package/src/shared/providers/screen/descriptors/index.tsx +6 -0
- package/src/shared/providers/screen/screen-composer.tsx +12 -9
- package/src/shared/providers/screen/styles.provider.tsx +122 -105
- package/src/shared/providers/scroll-settle.provider.tsx +24 -0
- package/src/shared/providers/stack/core.provider.tsx +13 -8
- package/src/shared/providers/stack/direct.provider.tsx +19 -110
- package/src/shared/providers/stack/helpers/use-closing-route-map.ts +28 -0
- package/src/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/align-routes-with-latest.ts +2 -5
- package/src/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/have-same-route-keys.ts +1 -3
- package/src/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/routes-are-identical.ts +1 -3
- package/src/shared/providers/stack/helpers/use-local-routes/index.ts +147 -0
- package/src/shared/providers/stack/helpers/use-processed-routes.ts +85 -0
- package/src/shared/providers/stack/helpers/use-stack-derived.ts +43 -0
- package/src/shared/providers/stack/managed.provider.tsx +65 -190
- package/src/shared/providers/viewport.provider.tsx +39 -0
- package/src/shared/stores/animation.store.ts +42 -20
- package/src/shared/stores/bounds/helpers/apply-measured-bounds-writes.ts +101 -0
- package/src/shared/stores/bounds/helpers/keys.ts +21 -0
- package/src/shared/stores/bounds/helpers/matching.ts +25 -0
- package/src/shared/stores/bounds/index.ts +60 -0
- package/src/shared/stores/bounds/internals/clear.ts +335 -0
- package/src/shared/stores/bounds/internals/presence.ts +146 -0
- package/src/shared/stores/bounds/internals/registry.ts +408 -0
- package/src/shared/stores/bounds/internals/resolver.ts +213 -0
- package/src/shared/stores/bounds/internals/state.ts +115 -0
- package/src/shared/stores/bounds/types.ts +76 -0
- package/src/shared/stores/gesture.store.ts +52 -27
- package/src/shared/types/animation.types.ts +92 -30
- package/src/shared/types/bounds.types.ts +25 -5
- package/src/shared/types/gesture.types.ts +29 -8
- package/src/shared/types/index.ts +11 -0
- package/src/shared/types/overlay.types.ts +12 -0
- package/src/shared/types/providers/direct-stack.types.ts +35 -0
- package/src/shared/types/providers/managed-stack.types.ts +59 -0
- package/src/shared/types/screen.types.ts +66 -6
- package/src/shared/types/stack.types.ts +8 -0
- package/src/shared/utils/animation/animate-many.ts +40 -0
- package/src/shared/utils/bounds/helpers/build-bounds-options.ts +48 -0
- package/src/shared/utils/bounds/helpers/compute-bounds-styles.ts +180 -0
- package/src/shared/utils/bounds/helpers/constants.ts +10 -0
- package/src/shared/utils/bounds/helpers/geometry.ts +4 -3
- package/src/shared/utils/bounds/helpers/interpolate-style.ts +2 -2
- package/src/shared/utils/bounds/helpers/interpolate.ts +19 -0
- package/src/shared/utils/bounds/helpers/interpolators.ts +108 -0
- package/src/shared/utils/bounds/helpers/link-accessor.ts +40 -0
- package/src/shared/utils/bounds/helpers/math.ts +161 -0
- package/src/shared/utils/bounds/helpers/navigation-accessor.ts +61 -0
- package/src/shared/utils/bounds/helpers/resolve-bound-tag.ts +26 -0
- package/src/shared/utils/bounds/helpers/style-composers.ts +132 -57
- package/src/shared/utils/bounds/index.ts +115 -254
- package/src/shared/utils/bounds/sugar/navigation/helpers.ts +74 -0
- package/src/shared/utils/bounds/sugar/navigation/index.ts +14 -0
- package/src/shared/utils/bounds/sugar/navigation/types.ts +26 -0
- package/src/shared/utils/bounds/sugar/navigation/zoom.ts +348 -0
- package/src/shared/utils/bounds/types/{builder.ts → options.ts} +26 -18
- package/src/shared/utils/create-provider.tsx +0 -27
- package/src/shared/utils/gesture/find-collapse-target.ts +2 -3
- package/src/shared/utils/gesture/resolve-ownership.ts +1 -37
- package/src/shared/utils/gesture/validate-snap-points.ts +17 -5
- package/src/shared/utils/logger.ts +0 -3
- package/src/shared/utils/navigation/compose-descriptors.ts +1 -3
- package/src/shared/utils/navigation/resolve-scene-neighbors.ts +89 -0
- package/src/shared/utils/navigation/sync-routes-with-removed.ts +1 -4
- package/src/shared/utils/normalize-interpolated-style.ts +67 -0
- package/src/shared/utils/overlay/visibility.ts +1 -1
- package/src/shared/utils/platform.ts +6 -0
- package/lib/commonjs/shared/components/screen-container.js +0 -129
- package/lib/commonjs/shared/components/screen-container.js.map +0 -1
- package/lib/commonjs/shared/components/screen-lifecycle.js +0 -29
- package/lib/commonjs/shared/components/screen-lifecycle.js.map +0 -1
- package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js.map +0 -1
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +0 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +0 -1
- package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js.map +0 -1
- package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js.map +0 -1
- package/lib/commonjs/shared/hooks/lifecycle/use-open-transition.js.map +0 -1
- package/lib/commonjs/shared/hooks/lifecycle/use-screen-events.js.map +0 -1
- package/lib/commonjs/shared/hooks/use-backdrop-pointer-events.js.map +0 -1
- package/lib/commonjs/shared/providers/gestures.provider.js +0 -169
- package/lib/commonjs/shared/providers/gestures.provider.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/keys.provider.js +0 -40
- package/lib/commonjs/shared/providers/screen/keys.provider.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/active-screens-limit.js +0 -23
- package/lib/commonjs/shared/providers/stack/helpers/active-screens-limit.js.map +0 -1
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes.js +0 -93
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes.js.map +0 -1
- package/lib/commonjs/shared/stores/bounds.store.js +0 -231
- package/lib/commonjs/shared/stores/bounds.store.js.map +0 -1
- package/lib/commonjs/shared/utils/animation/derivations.js.map +0 -1
- package/lib/commonjs/shared/utils/animation/worklet.js.map +0 -1
- package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js.map +0 -1
- package/lib/commonjs/shared/utils/gesture/determine-dismissal.js +0 -50
- package/lib/commonjs/shared/utils/gesture/determine-dismissal.js.map +0 -1
- package/lib/commonjs/shared/utils/gesture/determine-snap-target.js.map +0 -1
- package/lib/commonjs/shared/utils/gesture/map-gesture-to-progress.js +0 -17
- package/lib/commonjs/shared/utils/gesture/map-gesture-to-progress.js.map +0 -1
- package/lib/commonjs/shared/utils/gesture/reset-gesture-values.js +0 -56
- package/lib/commonjs/shared/utils/gesture/reset-gesture-values.js.map +0 -1
- package/lib/commonjs/shared/utils/gesture/should-defer-to-child-claim.js.map +0 -1
- package/lib/commonjs/shared/utils/gesture/velocity.js +0 -111
- package/lib/commonjs/shared/utils/gesture/velocity.js.map +0 -1
- package/lib/commonjs/shared/utils/navigation/align-routes-with-latest.js.map +0 -1
- package/lib/commonjs/shared/utils/navigation/are-descriptors-equal.js.map +0 -1
- package/lib/commonjs/shared/utils/navigation/have-same-route-keys.js.map +0 -1
- package/lib/commonjs/shared/utils/navigation/routes-are-identical.js.map +0 -1
- package/lib/commonjs/shared/utils/reset-stores-for-screen.js +0 -20
- package/lib/commonjs/shared/utils/reset-stores-for-screen.js.map +0 -1
- package/lib/module/shared/components/screen-container.js +0 -123
- package/lib/module/shared/components/screen-container.js.map +0 -1
- package/lib/module/shared/components/screen-lifecycle.js +0 -24
- package/lib/module/shared/components/screen-lifecycle.js.map +0 -1
- package/lib/module/shared/hooks/animation/use-high-refresh-rate.js.map +0 -1
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +0 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +0 -1
- package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js.map +0 -1
- package/lib/module/shared/hooks/lifecycle/use-close-transition.js.map +0 -1
- package/lib/module/shared/hooks/lifecycle/use-open-transition.js.map +0 -1
- package/lib/module/shared/hooks/lifecycle/use-screen-events.js.map +0 -1
- package/lib/module/shared/hooks/use-backdrop-pointer-events.js.map +0 -1
- package/lib/module/shared/providers/gestures.provider.js +0 -162
- package/lib/module/shared/providers/gestures.provider.js.map +0 -1
- package/lib/module/shared/providers/screen/keys.provider.js +0 -35
- package/lib/module/shared/providers/screen/keys.provider.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/active-screens-limit.js +0 -19
- package/lib/module/shared/providers/stack/helpers/active-screens-limit.js.map +0 -1
- package/lib/module/shared/providers/stack/helpers/use-local-routes.js +0 -87
- package/lib/module/shared/providers/stack/helpers/use-local-routes.js.map +0 -1
- package/lib/module/shared/stores/bounds.store.js +0 -227
- package/lib/module/shared/stores/bounds.store.js.map +0 -1
- package/lib/module/shared/utils/animation/derivations.js.map +0 -1
- package/lib/module/shared/utils/animation/worklet.js.map +0 -1
- package/lib/module/shared/utils/bounds/types/builder.js +0 -4
- package/lib/module/shared/utils/gesture/check-gesture-activation.js.map +0 -1
- package/lib/module/shared/utils/gesture/determine-dismissal.js +0 -45
- package/lib/module/shared/utils/gesture/determine-dismissal.js.map +0 -1
- package/lib/module/shared/utils/gesture/determine-snap-target.js.map +0 -1
- package/lib/module/shared/utils/gesture/map-gesture-to-progress.js +0 -12
- package/lib/module/shared/utils/gesture/map-gesture-to-progress.js.map +0 -1
- package/lib/module/shared/utils/gesture/reset-gesture-values.js +0 -51
- package/lib/module/shared/utils/gesture/reset-gesture-values.js.map +0 -1
- package/lib/module/shared/utils/gesture/should-defer-to-child-claim.js.map +0 -1
- package/lib/module/shared/utils/gesture/velocity.js.map +0 -1
- package/lib/module/shared/utils/navigation/align-routes-with-latest.js.map +0 -1
- package/lib/module/shared/utils/navigation/are-descriptors-equal.js.map +0 -1
- package/lib/module/shared/utils/navigation/have-same-route-keys.js.map +0 -1
- package/lib/module/shared/utils/navigation/routes-are-identical.js.map +0 -1
- package/lib/module/shared/utils/reset-stores-for-screen.js +0 -15
- package/lib/module/shared/utils/reset-stores-for-screen.js.map +0 -1
- package/lib/typescript/shared/components/screen-container.d.ts.map +0 -1
- package/lib/typescript/shared/components/screen-lifecycle.d.ts +0 -12
- package/lib/typescript/shared/components/screen-lifecycle.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts +0 -8
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/lifecycle/use-close-transition.d.ts +0 -13
- package/lib/typescript/shared/hooks/lifecycle/use-close-transition.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/lifecycle/use-open-transition.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/lifecycle/use-screen-events.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/use-backdrop-pointer-events.d.ts.map +0 -1
- package/lib/typescript/shared/providers/gestures.provider.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/keys.provider.d.ts +0 -22
- package/lib/typescript/shared/providers/screen/keys.provider.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/active-screens-limit.d.ts +0 -9
- package/lib/typescript/shared/providers/stack/helpers/active-screens-limit.d.ts.map +0 -1
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes.d.ts.map +0 -1
- package/lib/typescript/shared/stores/bounds.store.d.ts +0 -43
- package/lib/typescript/shared/stores/bounds.store.d.ts.map +0 -1
- package/lib/typescript/shared/utils/animation/derivations.d.ts.map +0 -1
- package/lib/typescript/shared/utils/animation/worklet.d.ts.map +0 -1
- package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts.map +0 -1
- package/lib/typescript/shared/utils/gesture/determine-dismissal.d.ts +0 -24
- package/lib/typescript/shared/utils/gesture/determine-dismissal.d.ts.map +0 -1
- package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts.map +0 -1
- package/lib/typescript/shared/utils/gesture/map-gesture-to-progress.d.ts +0 -5
- package/lib/typescript/shared/utils/gesture/map-gesture-to-progress.d.ts.map +0 -1
- package/lib/typescript/shared/utils/gesture/reset-gesture-values.d.ts.map +0 -1
- package/lib/typescript/shared/utils/gesture/should-defer-to-child-claim.d.ts.map +0 -1
- package/lib/typescript/shared/utils/gesture/velocity.d.ts +0 -26
- package/lib/typescript/shared/utils/gesture/velocity.d.ts.map +0 -1
- package/lib/typescript/shared/utils/navigation/align-routes-with-latest.d.ts.map +0 -1
- package/lib/typescript/shared/utils/navigation/are-descriptors-equal.d.ts.map +0 -1
- package/lib/typescript/shared/utils/navigation/have-same-route-keys.d.ts +0 -6
- package/lib/typescript/shared/utils/navigation/have-same-route-keys.d.ts.map +0 -1
- package/lib/typescript/shared/utils/navigation/routes-are-identical.d.ts +0 -6
- package/lib/typescript/shared/utils/navigation/routes-are-identical.d.ts.map +0 -1
- package/lib/typescript/shared/utils/reset-stores-for-screen.d.ts +0 -7
- package/lib/typescript/shared/utils/reset-stores-for-screen.d.ts.map +0 -1
- package/src/shared/components/screen-container.tsx +0 -138
- package/src/shared/components/screen-lifecycle.tsx +0 -32
- package/src/shared/hooks/animation/use-associated-style.tsx +0 -71
- package/src/shared/providers/gestures.provider.tsx +0 -254
- package/src/shared/providers/screen/keys.provider.tsx +0 -48
- package/src/shared/providers/stack/helpers/active-screens-limit.ts +0 -35
- package/src/shared/providers/stack/helpers/use-local-routes.tsx +0 -133
- package/src/shared/stores/bounds.store.ts +0 -257
- package/src/shared/utils/gesture/determine-dismissal.ts +0 -80
- package/src/shared/utils/gesture/map-gesture-to-progress.ts +0 -11
- package/src/shared/utils/gesture/reset-gesture-values.ts +0 -67
- package/src/shared/utils/reset-stores-for-screen.ts +0 -14
- /package/lib/commonjs/shared/{utils/animation → providers/screen/animation/helpers}/worklet.js +0 -0
- /package/lib/commonjs/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/are-descriptors-equal.js +0 -0
- /package/lib/commonjs/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/have-same-route-keys.js +0 -0
- /package/lib/commonjs/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/routes-are-identical.js +0 -0
- /package/lib/module/shared/{utils/animation → providers/screen/animation/helpers}/worklet.js +0 -0
- /package/lib/module/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/are-descriptors-equal.js +0 -0
- /package/lib/module/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/have-same-route-keys.js +0 -0
- /package/lib/module/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/routes-are-identical.js +0 -0
- /package/lib/typescript/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/are-descriptors-equal.d.ts +0 -0
- /package/src/shared/hooks/navigation/{use-closing-route-keys.tsx → use-closing-route-keys.ts} +0 -0
- /package/src/shared/{utils/navigation → providers/stack/helpers/use-local-routes/helpers}/are-descriptors-equal.ts +0 -0
package/src/shared/{utils/gesture/velocity.ts → providers/gestures/helpers/gesture-physics.ts}
RENAMED
|
@@ -3,42 +3,49 @@ import type {
|
|
|
3
3
|
PanGestureHandlerEventPayload,
|
|
4
4
|
} from "react-native-gesture-handler";
|
|
5
5
|
import { clamp } from "react-native-reanimated";
|
|
6
|
-
import {
|
|
7
|
-
|
|
6
|
+
import {
|
|
7
|
+
ANIMATION_SNAP_THRESHOLD,
|
|
8
|
+
DEFAULT_GESTURE_RELEASE_VELOCITY_MAX,
|
|
9
|
+
EPSILON,
|
|
10
|
+
} from "../../../constants";
|
|
11
|
+
import type { AnimationStoreMap } from "../../../stores/animation.store";
|
|
12
|
+
import type { GestureDirections } from "../../../types/gesture.types";
|
|
8
13
|
|
|
9
14
|
interface CalculateProgressProps {
|
|
10
15
|
animations: AnimationStoreMap;
|
|
11
16
|
shouldDismiss: boolean;
|
|
12
17
|
event: GestureStateChangeEvent<PanGestureHandlerEventPayload>;
|
|
13
18
|
dimensions: { width: number; height: number };
|
|
14
|
-
directions:
|
|
15
|
-
horizontal: boolean;
|
|
16
|
-
horizontalInverted: boolean;
|
|
17
|
-
vertical: boolean;
|
|
18
|
-
verticalInverted: boolean;
|
|
19
|
-
};
|
|
19
|
+
directions: GestureDirections;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
type GestureAxisCandidate = {
|
|
23
|
+
progressContribution: number;
|
|
24
|
+
velocityContribution: number;
|
|
25
|
+
};
|
|
23
26
|
|
|
24
27
|
/**
|
|
25
28
|
* Converts velocity from pixels/second to normalized units/second (0-1 range)
|
|
26
29
|
* and caps the result for stability
|
|
27
30
|
*/
|
|
28
|
-
const
|
|
31
|
+
export const normalizeVelocity = (
|
|
32
|
+
velocityPixelsPerSecond: number,
|
|
33
|
+
screenSize: number,
|
|
34
|
+
maxMagnitude: number = DEFAULT_GESTURE_RELEASE_VELOCITY_MAX,
|
|
35
|
+
) => {
|
|
29
36
|
"worklet";
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
-MAX_VELOCITY_MAGNITUDE,
|
|
33
|
-
MAX_VELOCITY_MAGNITUDE,
|
|
34
|
-
);
|
|
37
|
+
const max = Math.max(0, Math.abs(maxMagnitude));
|
|
38
|
+
return clamp(velocityPixelsPerSecond / Math.max(1, screenSize), -max, max);
|
|
35
39
|
};
|
|
36
40
|
|
|
37
41
|
/**
|
|
38
42
|
* Normalizes translation to -1...1 range (for gesture tracking).
|
|
39
43
|
* Used to convert pixel translation to normalized gesture values.
|
|
40
44
|
*/
|
|
41
|
-
const
|
|
45
|
+
export const normalizeGestureTranslation = (
|
|
46
|
+
translation: number,
|
|
47
|
+
dimension: number,
|
|
48
|
+
) => {
|
|
42
49
|
"worklet";
|
|
43
50
|
return clamp(translation / Math.max(1, dimension), -1, 1);
|
|
44
51
|
};
|
|
@@ -47,7 +54,7 @@ const normalizeTranslation = (translation: number, dimension: number) => {
|
|
|
47
54
|
* Calculates a normalized velocity that moves the current value toward zero.
|
|
48
55
|
* Used for spring-back animations when dismissing gestures.
|
|
49
56
|
*/
|
|
50
|
-
const
|
|
57
|
+
export const calculateRestoreVelocityTowardZero = (
|
|
51
58
|
currentValueNormalized: number,
|
|
52
59
|
baseVelocityNormalized: number,
|
|
53
60
|
) => {
|
|
@@ -61,7 +68,7 @@ const calculateRestoreVelocity = (
|
|
|
61
68
|
return -directionTowardZero * clampedVelocity;
|
|
62
69
|
};
|
|
63
70
|
|
|
64
|
-
const
|
|
71
|
+
export const calculateProgressSpringVelocity = ({
|
|
65
72
|
animations,
|
|
66
73
|
shouldDismiss,
|
|
67
74
|
event,
|
|
@@ -76,34 +83,69 @@ const calculateProgressVelocity = ({
|
|
|
76
83
|
|
|
77
84
|
const progressDirection = progressDelta === 0 ? 0 : Math.sign(progressDelta);
|
|
78
85
|
|
|
79
|
-
const
|
|
80
|
-
const normalizedVelocityY = normalize(event.velocityY, dimensions.height);
|
|
86
|
+
const candidates: GestureAxisCandidate[] = [];
|
|
81
87
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
if (directions.horizontal && event.translationX > 0) {
|
|
89
|
+
candidates.push({
|
|
90
|
+
progressContribution: event.translationX / Math.max(1, dimensions.width),
|
|
91
|
+
velocityContribution: normalizeVelocity(
|
|
92
|
+
event.velocityX,
|
|
93
|
+
dimensions.width,
|
|
94
|
+
),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (directions.horizontalInverted && event.translationX < 0) {
|
|
99
|
+
candidates.push({
|
|
100
|
+
progressContribution: -event.translationX / Math.max(1, dimensions.width),
|
|
101
|
+
velocityContribution: normalizeVelocity(
|
|
102
|
+
-event.velocityX,
|
|
103
|
+
dimensions.width,
|
|
104
|
+
),
|
|
105
|
+
});
|
|
106
|
+
}
|
|
88
107
|
|
|
89
|
-
|
|
90
|
-
|
|
108
|
+
if (directions.vertical && event.translationY > 0) {
|
|
109
|
+
candidates.push({
|
|
110
|
+
progressContribution: event.translationY / Math.max(1, dimensions.height),
|
|
111
|
+
velocityContribution: normalizeVelocity(
|
|
112
|
+
event.velocityY,
|
|
113
|
+
dimensions.height,
|
|
114
|
+
),
|
|
115
|
+
});
|
|
116
|
+
}
|
|
91
117
|
|
|
92
|
-
|
|
93
|
-
|
|
118
|
+
if (directions.verticalInverted && event.translationY < 0) {
|
|
119
|
+
candidates.push({
|
|
120
|
+
progressContribution:
|
|
121
|
+
-event.translationY / Math.max(1, dimensions.height),
|
|
122
|
+
velocityContribution: normalizeVelocity(
|
|
123
|
+
-event.velocityY,
|
|
124
|
+
dimensions.height,
|
|
125
|
+
),
|
|
126
|
+
});
|
|
127
|
+
}
|
|
94
128
|
|
|
95
129
|
let progressVelocityMagnitude = 0;
|
|
96
130
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
progressVelocityMagnitude = Math.abs(
|
|
131
|
+
if (candidates.length > 0) {
|
|
132
|
+
let dominant = candidates[0];
|
|
133
|
+
for (let i = 1; i < candidates.length; i++) {
|
|
134
|
+
const candidate = candidates[i];
|
|
135
|
+
if (candidate.progressContribution > dominant.progressContribution) {
|
|
136
|
+
dominant = candidate;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
progressVelocityMagnitude = Math.abs(dominant.velocityContribution);
|
|
106
140
|
} else {
|
|
141
|
+
const normalizedVelocityX = normalizeVelocity(
|
|
142
|
+
event.velocityX,
|
|
143
|
+
dimensions.width,
|
|
144
|
+
);
|
|
145
|
+
const normalizedVelocityY = normalizeVelocity(
|
|
146
|
+
event.velocityY,
|
|
147
|
+
dimensions.height,
|
|
148
|
+
);
|
|
107
149
|
progressVelocityMagnitude = Math.max(
|
|
108
150
|
Math.abs(normalizedVelocityX),
|
|
109
151
|
Math.abs(normalizedVelocityY),
|
|
@@ -113,7 +155,7 @@ const calculateProgressVelocity = ({
|
|
|
113
155
|
// Apply direction and clamp to prevent overly energetic springs
|
|
114
156
|
return (
|
|
115
157
|
progressDirection *
|
|
116
|
-
clamp(progressVelocityMagnitude, 0,
|
|
158
|
+
clamp(progressVelocityMagnitude, 0, DEFAULT_GESTURE_RELEASE_VELOCITY_MAX)
|
|
117
159
|
);
|
|
118
160
|
};
|
|
119
161
|
|
|
@@ -123,7 +165,7 @@ const calculateProgressVelocity = ({
|
|
|
123
165
|
*
|
|
124
166
|
* Formula: |translation/screen + clamp(velocity/screen, ±1) * velocityWeight| > 0.5
|
|
125
167
|
*/
|
|
126
|
-
const
|
|
168
|
+
export const shouldDismissFromTranslationAndVelocity = (
|
|
127
169
|
translationPixels: number,
|
|
128
170
|
velocityPixelsPerSecond: number,
|
|
129
171
|
screenSize: number,
|
|
@@ -139,7 +181,10 @@ const shouldPassDismissalThreshold = (
|
|
|
139
181
|
return false;
|
|
140
182
|
}
|
|
141
183
|
|
|
142
|
-
const normalizedVelocity =
|
|
184
|
+
const normalizedVelocity = normalizeVelocity(
|
|
185
|
+
velocityPixelsPerSecond,
|
|
186
|
+
screenSize,
|
|
187
|
+
);
|
|
143
188
|
|
|
144
189
|
const projectedNormalizedPosition =
|
|
145
190
|
normalizedTranslation + normalizedVelocity * velocityWeight;
|
|
@@ -154,10 +199,14 @@ const shouldPassDismissalThreshold = (
|
|
|
154
199
|
return exceedsThreshold;
|
|
155
200
|
};
|
|
156
201
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
202
|
+
/**
|
|
203
|
+
* Utility function to map raw gesture translation to a progress value.
|
|
204
|
+
*/
|
|
205
|
+
export const mapGestureToProgress = (
|
|
206
|
+
translation: number,
|
|
207
|
+
dimension: number,
|
|
208
|
+
) => {
|
|
209
|
+
"worklet";
|
|
210
|
+
const rawProgress = translation / dimension;
|
|
211
|
+
return Math.max(0, Math.min(1, rawProgress));
|
|
163
212
|
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
GestureStateChangeEvent,
|
|
3
|
+
PanGestureHandlerEventPayload,
|
|
4
|
+
} from "react-native-gesture-handler";
|
|
5
|
+
import {
|
|
6
|
+
DEFAULT_GESTURE_RELEASE_VELOCITY_MAX,
|
|
7
|
+
DEFAULT_GESTURE_RELEASE_VELOCITY_SCALE,
|
|
8
|
+
FALSE,
|
|
9
|
+
TRUE,
|
|
10
|
+
} from "../../../constants";
|
|
11
|
+
import type { GestureStoreMap } from "../../../stores/gesture.store";
|
|
12
|
+
import type { AnimationConfig } from "../../../types/animation.types";
|
|
13
|
+
import { animateMany } from "../../../utils/animation/animate-many";
|
|
14
|
+
import {
|
|
15
|
+
calculateRestoreVelocityTowardZero,
|
|
16
|
+
normalizeVelocity,
|
|
17
|
+
} from "./gesture-physics";
|
|
18
|
+
|
|
19
|
+
interface ResetGestureValuesProps {
|
|
20
|
+
spec?: AnimationConfig;
|
|
21
|
+
gestures: GestureStoreMap;
|
|
22
|
+
shouldDismiss: boolean;
|
|
23
|
+
event: GestureStateChangeEvent<PanGestureHandlerEventPayload>;
|
|
24
|
+
dimensions: { width: number; height: number };
|
|
25
|
+
gestureReleaseVelocityScale?: number;
|
|
26
|
+
gestureReleaseVelocityMax?: number;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export const resetGestureValues = ({
|
|
30
|
+
spec,
|
|
31
|
+
gestures,
|
|
32
|
+
shouldDismiss,
|
|
33
|
+
event,
|
|
34
|
+
dimensions,
|
|
35
|
+
gestureReleaseVelocityScale = DEFAULT_GESTURE_RELEASE_VELOCITY_SCALE,
|
|
36
|
+
gestureReleaseVelocityMax = DEFAULT_GESTURE_RELEASE_VELOCITY_MAX,
|
|
37
|
+
}: ResetGestureValuesProps) => {
|
|
38
|
+
"worklet";
|
|
39
|
+
|
|
40
|
+
const effectiveReleaseVelocityMax = Math.max(
|
|
41
|
+
0,
|
|
42
|
+
Math.abs(gestureReleaseVelocityMax),
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
const vxNorm = normalizeVelocity(
|
|
46
|
+
event.velocityX,
|
|
47
|
+
dimensions.width,
|
|
48
|
+
effectiveReleaseVelocityMax,
|
|
49
|
+
);
|
|
50
|
+
const vyNorm = normalizeVelocity(
|
|
51
|
+
event.velocityY,
|
|
52
|
+
dimensions.height,
|
|
53
|
+
effectiveReleaseVelocityMax,
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
// Ensure spring starts moving toward zero using normalized gesture values for direction.
|
|
57
|
+
const nx =
|
|
58
|
+
gestures.normX.value || event.translationX / Math.max(1, dimensions.width);
|
|
59
|
+
|
|
60
|
+
const ny =
|
|
61
|
+
gestures.normY.value || event.translationY / Math.max(1, dimensions.height);
|
|
62
|
+
|
|
63
|
+
const vxTowardZero = calculateRestoreVelocityTowardZero(nx, vxNorm);
|
|
64
|
+
const vyTowardZero = calculateRestoreVelocityTowardZero(ny, vyNorm);
|
|
65
|
+
|
|
66
|
+
// When dismissing, use raw fling velocity (scaled by gestureReleaseVelocityScale)
|
|
67
|
+
// so the spring carries the gesture's momentum. The spec controls the
|
|
68
|
+
// spring character — use an underdamped spec (e.g. FlingSpec) for orbit/fling.
|
|
69
|
+
const resetVX = shouldDismiss
|
|
70
|
+
? vxNorm * gestureReleaseVelocityScale
|
|
71
|
+
: vxTowardZero;
|
|
72
|
+
|
|
73
|
+
const resetVY = shouldDismiss
|
|
74
|
+
? vyNorm * gestureReleaseVelocityScale
|
|
75
|
+
: vyTowardZero;
|
|
76
|
+
|
|
77
|
+
animateMany({
|
|
78
|
+
items: [
|
|
79
|
+
{
|
|
80
|
+
value: gestures.x,
|
|
81
|
+
toValue: 0,
|
|
82
|
+
config: { ...spec, velocity: resetVX },
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
value: gestures.y,
|
|
86
|
+
toValue: 0,
|
|
87
|
+
config: { ...spec, velocity: resetVY },
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
value: gestures.normX,
|
|
91
|
+
toValue: 0,
|
|
92
|
+
config: { ...spec, velocity: resetVX },
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
value: gestures.normY,
|
|
96
|
+
toValue: 0,
|
|
97
|
+
config: { ...spec, velocity: resetVY },
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
onAllFinished: () => {
|
|
101
|
+
"worklet";
|
|
102
|
+
gestures.direction.value = null;
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
gestures.dragging.value = FALSE;
|
|
107
|
+
gestures.dismissing.value = shouldDismiss ? TRUE : FALSE;
|
|
108
|
+
};
|
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
import { DEFAULT_GESTURE_SNAP_VELOCITY_IMPACT } from "../../../constants";
|
|
2
|
+
import type { GestureDirections } from "../../../types/gesture.types";
|
|
3
|
+
import { sanitizeSnapPoints } from "../../../utils/gesture/validate-snap-points";
|
|
4
|
+
import { shouldDismissFromTranslationAndVelocity } from "./gesture-physics";
|
|
5
|
+
|
|
6
|
+
interface GetAxisThresholdProps {
|
|
7
|
+
translation: number;
|
|
8
|
+
velocity: number;
|
|
9
|
+
screenSize: number;
|
|
10
|
+
gestureVelocityImpact: number;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
interface DetermineDismissalProps {
|
|
14
|
+
event: {
|
|
15
|
+
translationX: number;
|
|
16
|
+
translationY: number;
|
|
17
|
+
velocityX: number;
|
|
18
|
+
velocityY: number;
|
|
19
|
+
};
|
|
20
|
+
directions: GestureDirections;
|
|
21
|
+
dimensions: { width: number; height: number };
|
|
22
|
+
gestureVelocityImpact: number;
|
|
23
|
+
}
|
|
24
|
+
|
|
1
25
|
interface DetermineSnapTargetProps {
|
|
2
26
|
currentProgress: number;
|
|
3
27
|
snapPoints: number[];
|
|
@@ -20,6 +44,61 @@ interface DetermineSnapTargetResult {
|
|
|
20
44
|
shouldDismiss: boolean;
|
|
21
45
|
}
|
|
22
46
|
|
|
47
|
+
const getAxisThreshold = ({
|
|
48
|
+
translation,
|
|
49
|
+
velocity,
|
|
50
|
+
screenSize,
|
|
51
|
+
gestureVelocityImpact,
|
|
52
|
+
}: GetAxisThresholdProps) => {
|
|
53
|
+
"worklet";
|
|
54
|
+
return shouldDismissFromTranslationAndVelocity(
|
|
55
|
+
translation,
|
|
56
|
+
velocity,
|
|
57
|
+
screenSize,
|
|
58
|
+
gestureVelocityImpact,
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const determineDismissal = ({
|
|
63
|
+
event,
|
|
64
|
+
directions,
|
|
65
|
+
dimensions,
|
|
66
|
+
gestureVelocityImpact,
|
|
67
|
+
}: DetermineDismissalProps) => {
|
|
68
|
+
"worklet";
|
|
69
|
+
|
|
70
|
+
let shouldDismiss: boolean = false;
|
|
71
|
+
|
|
72
|
+
if (
|
|
73
|
+
(directions.vertical && event.translationY > 0) ||
|
|
74
|
+
(directions.verticalInverted && event.translationY < 0)
|
|
75
|
+
) {
|
|
76
|
+
const dismiss = getAxisThreshold({
|
|
77
|
+
translation: event.translationY,
|
|
78
|
+
velocity: event.velocityY,
|
|
79
|
+
screenSize: dimensions.height,
|
|
80
|
+
gestureVelocityImpact,
|
|
81
|
+
});
|
|
82
|
+
if (dismiss) shouldDismiss = true;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (
|
|
86
|
+
(directions.horizontal && event.translationX > 0) ||
|
|
87
|
+
(directions.horizontalInverted && event.translationX < 0)
|
|
88
|
+
) {
|
|
89
|
+
const dismiss = getAxisThreshold({
|
|
90
|
+
translation: event.translationX,
|
|
91
|
+
velocity: event.velocityX,
|
|
92
|
+
screenSize: dimensions.width,
|
|
93
|
+
gestureVelocityImpact,
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
if (dismiss) shouldDismiss = true;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return { shouldDismiss };
|
|
100
|
+
};
|
|
101
|
+
|
|
23
102
|
/**
|
|
24
103
|
* Determines which snap point to animate to based on current progress and velocity.
|
|
25
104
|
*
|
|
@@ -32,7 +111,7 @@ export function determineSnapTarget({
|
|
|
32
111
|
snapPoints,
|
|
33
112
|
velocity,
|
|
34
113
|
dimension,
|
|
35
|
-
velocityFactor =
|
|
114
|
+
velocityFactor = DEFAULT_GESTURE_SNAP_VELOCITY_IMPACT,
|
|
36
115
|
canDismiss = true,
|
|
37
116
|
}: DetermineSnapTargetProps): DetermineSnapTargetResult {
|
|
38
117
|
"worklet";
|
|
@@ -43,9 +122,7 @@ export function determineSnapTarget({
|
|
|
43
122
|
// Project where we'd end up with velocity
|
|
44
123
|
const projectedProgress = currentProgress - velocityInProgress;
|
|
45
124
|
|
|
46
|
-
const sanitizedSnapPoints = snapPoints
|
|
47
|
-
canDismiss ? Number.isFinite(point) : Number.isFinite(point) && point > 0,
|
|
48
|
-
);
|
|
125
|
+
const sanitizedSnapPoints = sanitizeSnapPoints(snapPoints, canDismiss);
|
|
49
126
|
|
|
50
127
|
// Build all possible targets: dismiss (0) only if allowed, plus all snap points
|
|
51
128
|
const allTargets = Array.from(
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { GestureStore } from "../../../stores/gesture.store";
|
|
3
|
+
import {
|
|
4
|
+
type ClaimedDirections,
|
|
5
|
+
DIRECTIONS,
|
|
6
|
+
type Direction,
|
|
7
|
+
} from "../../../types/ownership.types";
|
|
8
|
+
import type { GestureContextType } from "../types";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Registers direction claims on ancestors that this screen shadows.
|
|
12
|
+
* Only registers claims when this screen is the current (topmost) route
|
|
13
|
+
* in its navigator, preventing unfocused screens from blocking gestures.
|
|
14
|
+
*/
|
|
15
|
+
export function useRegisterDirectionClaims(
|
|
16
|
+
ancestorContext: GestureContextType | null | undefined,
|
|
17
|
+
claimedDirections: ClaimedDirections,
|
|
18
|
+
routeKey: string,
|
|
19
|
+
isIsolated: boolean,
|
|
20
|
+
isCurrentRoute: boolean,
|
|
21
|
+
) {
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
// Only register claims when this screen is the current route
|
|
24
|
+
if (!isCurrentRoute || !ancestorContext) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const gestureValues = GestureStore.getRouteGestures(routeKey);
|
|
29
|
+
const isDismissing = gestureValues.dismissing;
|
|
30
|
+
|
|
31
|
+
const claimedAncestors: Array<{
|
|
32
|
+
ancestor: GestureContextType;
|
|
33
|
+
directions: Direction[];
|
|
34
|
+
}> = [];
|
|
35
|
+
|
|
36
|
+
let ancestor: GestureContextType | null = ancestorContext;
|
|
37
|
+
while (ancestor) {
|
|
38
|
+
if (ancestor.isIsolated !== isIsolated) break;
|
|
39
|
+
|
|
40
|
+
const shadowedDirections: Direction[] = [];
|
|
41
|
+
for (const dir of DIRECTIONS) {
|
|
42
|
+
if (claimedDirections[dir] && ancestor.claimedDirections?.[dir]) {
|
|
43
|
+
shadowedDirections.push(dir);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (shadowedDirections.length > 0) {
|
|
48
|
+
claimedAncestors.push({ ancestor, directions: shadowedDirections });
|
|
49
|
+
const newClaims = { ...ancestor.childDirectionClaims.value };
|
|
50
|
+
for (const dir of shadowedDirections) {
|
|
51
|
+
newClaims[dir] = { routeKey, isDismissing };
|
|
52
|
+
}
|
|
53
|
+
ancestor.childDirectionClaims.value = newClaims;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
ancestor = ancestor.ancestorContext;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return () => {
|
|
60
|
+
for (const { ancestor, directions } of claimedAncestors) {
|
|
61
|
+
const currentClaims = ancestor.childDirectionClaims.value;
|
|
62
|
+
const newClaims = { ...currentClaims };
|
|
63
|
+
let needsUpdate = false;
|
|
64
|
+
|
|
65
|
+
for (const dir of directions) {
|
|
66
|
+
if (currentClaims[dir]?.routeKey === routeKey) {
|
|
67
|
+
newClaims[dir] = null;
|
|
68
|
+
needsUpdate = true;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (needsUpdate) {
|
|
73
|
+
ancestor.childDirectionClaims.value = newClaims;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}, [
|
|
78
|
+
ancestorContext,
|
|
79
|
+
claimedDirections,
|
|
80
|
+
routeKey,
|
|
81
|
+
isIsolated,
|
|
82
|
+
isCurrentRoute,
|
|
83
|
+
]);
|
|
84
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { GestureType } from "react-native-gesture-handler";
|
|
2
|
+
import type { SharedValue } from "react-native-reanimated";
|
|
3
|
+
import type { GestureStoreMap } from "../../stores/gesture.store";
|
|
4
|
+
import type { ClaimedDirections } from "../../types/ownership.types";
|
|
5
|
+
|
|
6
|
+
export type ScrollConfig = {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
contentHeight: number;
|
|
10
|
+
contentWidth: number;
|
|
11
|
+
layoutHeight: number;
|
|
12
|
+
layoutWidth: number;
|
|
13
|
+
isTouched: boolean;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export type DirectionClaim = {
|
|
17
|
+
routeKey: string;
|
|
18
|
+
isDismissing: SharedValue<number>;
|
|
19
|
+
} | null;
|
|
20
|
+
|
|
21
|
+
export type DirectionClaimMap = {
|
|
22
|
+
vertical: DirectionClaim;
|
|
23
|
+
"vertical-inverted": DirectionClaim;
|
|
24
|
+
horizontal: DirectionClaim;
|
|
25
|
+
"horizontal-inverted": DirectionClaim;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export const NO_CLAIMS: DirectionClaimMap = {
|
|
29
|
+
vertical: null,
|
|
30
|
+
"vertical-inverted": null,
|
|
31
|
+
horizontal: null,
|
|
32
|
+
"horizontal-inverted": null,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export interface GestureContextType {
|
|
36
|
+
panGesture: GestureType;
|
|
37
|
+
panGestureRef: React.MutableRefObject<GestureType | undefined>;
|
|
38
|
+
scrollConfig: SharedValue<ScrollConfig | null>;
|
|
39
|
+
gestureAnimationValues: GestureStoreMap;
|
|
40
|
+
ancestorContext: GestureContextType | null;
|
|
41
|
+
gestureEnabled: boolean;
|
|
42
|
+
isIsolated: boolean;
|
|
43
|
+
claimedDirections: ClaimedDirections;
|
|
44
|
+
childDirectionClaims: SharedValue<DirectionClaimMap>;
|
|
45
|
+
}
|