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
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
/** biome-ignore-all lint/style/noNonNullAssertion: <This helper is usually being used inside a transitionable stack> */
|
|
2
2
|
import type React from "react";
|
|
3
|
-
import { type ComponentType, forwardRef, memo } from "react";
|
|
3
|
+
import { type ComponentType, forwardRef, memo, useCallback } from "react";
|
|
4
4
|
import type { View } from "react-native";
|
|
5
5
|
import { GestureDetector } from "react-native-gesture-handler";
|
|
6
6
|
import Animated, {
|
|
7
7
|
runOnUI,
|
|
8
8
|
useAnimatedRef,
|
|
9
9
|
useComposedEventHandler,
|
|
10
|
+
useSharedValue,
|
|
10
11
|
} from "react-native-reanimated";
|
|
11
12
|
import { useAssociatedStyles } from "../hooks/animation/use-associated-style";
|
|
12
13
|
import { useScrollRegistry } from "../hooks/gestures/use-scroll-registry";
|
|
13
14
|
import { RegisterBoundsProvider } from "../providers/register-bounds.provider";
|
|
15
|
+
import { ScrollSettleProvider } from "../providers/scroll-settle.provider";
|
|
14
16
|
import type { TransitionAwareProps } from "../types/screen.types";
|
|
15
17
|
|
|
16
18
|
interface CreateTransitionAwareComponentOptions {
|
|
@@ -32,9 +34,20 @@ export function createTransitionAwareComponent<P extends object>(
|
|
|
32
34
|
const {
|
|
33
35
|
remeasureOnFocus: _remeasureOnFocus,
|
|
34
36
|
onScroll: userOnScroll,
|
|
37
|
+
onMomentumScrollEnd: userOnMomentumScrollEnd,
|
|
38
|
+
onScrollEndDrag: userOnScrollEndDrag,
|
|
35
39
|
...scrollableProps
|
|
36
40
|
} = props;
|
|
37
41
|
|
|
42
|
+
const settledSignal = useSharedValue(0);
|
|
43
|
+
|
|
44
|
+
const emitScrollSettled = useCallback(() => {
|
|
45
|
+
runOnUI(() => {
|
|
46
|
+
"worklet";
|
|
47
|
+
settledSignal.value = settledSignal.value + 1;
|
|
48
|
+
})();
|
|
49
|
+
}, [settledSignal]);
|
|
50
|
+
|
|
38
51
|
// Determine scroll direction from the horizontal prop (standard ScrollView API)
|
|
39
52
|
const scrollDirection = scrollableProps.horizontal
|
|
40
53
|
? "horizontal"
|
|
@@ -53,11 +66,37 @@ export function createTransitionAwareComponent<P extends object>(
|
|
|
53
66
|
userOnScroll ?? null,
|
|
54
67
|
]);
|
|
55
68
|
|
|
69
|
+
const handleMomentumScrollEnd = useCallback(
|
|
70
|
+
(event: unknown) => {
|
|
71
|
+
userOnMomentumScrollEnd?.(event);
|
|
72
|
+
emitScrollSettled();
|
|
73
|
+
},
|
|
74
|
+
[userOnMomentumScrollEnd, emitScrollSettled],
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
const handleScrollEndDrag = useCallback(
|
|
78
|
+
(event: any) => {
|
|
79
|
+
userOnScrollEndDrag?.(event);
|
|
80
|
+
|
|
81
|
+
const velocityX = Math.abs(event?.nativeEvent?.velocity?.x ?? 0);
|
|
82
|
+
const velocityY = Math.abs(event?.nativeEvent?.velocity?.y ?? 0);
|
|
83
|
+
|
|
84
|
+
// If there is no momentum, onMomentumScrollEnd may not fire.
|
|
85
|
+
// Emit settled signal here only when velocity is effectively zero.
|
|
86
|
+
if (velocityX < 0.01 && velocityY < 0.01) {
|
|
87
|
+
emitScrollSettled();
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
[userOnScrollEndDrag, emitScrollSettled],
|
|
91
|
+
);
|
|
92
|
+
|
|
56
93
|
const scrollableComponent = (
|
|
57
94
|
<AnimatedComponent
|
|
58
95
|
{...(scrollableProps as any)}
|
|
59
96
|
ref={ref}
|
|
60
97
|
onScroll={composedScrollHandler}
|
|
98
|
+
onMomentumScrollEnd={handleMomentumScrollEnd}
|
|
99
|
+
onScrollEndDrag={handleScrollEndDrag}
|
|
61
100
|
onContentSizeChange={onContentSizeChange}
|
|
62
101
|
onLayout={onLayout}
|
|
63
102
|
scrollEventThrottle={scrollableProps.scrollEventThrottle || 16}
|
|
@@ -65,14 +104,16 @@ export function createTransitionAwareComponent<P extends object>(
|
|
|
65
104
|
);
|
|
66
105
|
|
|
67
106
|
// If no gesture owner found for this axis, render without GestureDetector
|
|
68
|
-
if (!nativeGesture) {
|
|
69
|
-
return scrollableComponent;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
107
|
return (
|
|
73
|
-
<
|
|
74
|
-
{
|
|
75
|
-
|
|
108
|
+
<ScrollSettleProvider settledSignal={settledSignal}>
|
|
109
|
+
{!nativeGesture ? (
|
|
110
|
+
scrollableComponent
|
|
111
|
+
) : (
|
|
112
|
+
<GestureDetector gesture={nativeGesture}>
|
|
113
|
+
{scrollableComponent}
|
|
114
|
+
</GestureDetector>
|
|
115
|
+
)}
|
|
116
|
+
</ScrollSettleProvider>
|
|
76
117
|
);
|
|
77
118
|
});
|
|
78
119
|
|
|
@@ -92,9 +133,11 @@ export function createTransitionAwareComponent<P extends object>(
|
|
|
92
133
|
|
|
93
134
|
const animatedRef = useAnimatedRef<View>();
|
|
94
135
|
|
|
95
|
-
const { associatedStyles } = useAssociatedStyles({
|
|
136
|
+
const { associatedStyles, associatedProps } = useAssociatedStyles({
|
|
96
137
|
id: sharedBoundTag || styleId,
|
|
97
138
|
style,
|
|
139
|
+
resetTransformOnUnset: !!sharedBoundTag,
|
|
140
|
+
waitForFirstResolvedStyle: false,
|
|
98
141
|
});
|
|
99
142
|
|
|
100
143
|
return (
|
|
@@ -110,6 +153,7 @@ export function createTransitionAwareComponent<P extends object>(
|
|
|
110
153
|
{...(rest as any)}
|
|
111
154
|
ref={animatedRef}
|
|
112
155
|
style={[style, associatedStyles]}
|
|
156
|
+
animatedProps={associatedProps}
|
|
113
157
|
onPress={captureActiveOnPress}
|
|
114
158
|
onLayout={runOnUI(handleInitialLayout)}
|
|
115
159
|
collapsable={!sharedBoundTag}
|
|
@@ -46,20 +46,16 @@ export const NativeScreen = ({
|
|
|
46
46
|
}: ScreenProps) => {
|
|
47
47
|
const {
|
|
48
48
|
flags: { DISABLE_NATIVE_SCREENS = false },
|
|
49
|
-
} = useStack();
|
|
50
|
-
|
|
51
|
-
const {
|
|
52
|
-
activeScreensLimit,
|
|
53
49
|
routes,
|
|
54
50
|
optimisticFocusedIndex,
|
|
55
|
-
|
|
56
|
-
} = useManagedStackContext();
|
|
51
|
+
} = useStack();
|
|
52
|
+
const { activeScreensLimit, backdropBehaviors } = useManagedStackContext();
|
|
57
53
|
|
|
58
54
|
const routesLength = routes.length;
|
|
59
55
|
const screenRef = useAnimatedRef<View>();
|
|
60
56
|
|
|
61
|
-
const sceneProgress = AnimationStore.
|
|
62
|
-
const sceneClosing = AnimationStore.
|
|
57
|
+
const sceneProgress = AnimationStore.getRouteAnimation(routeKey, "progress");
|
|
58
|
+
const sceneClosing = AnimationStore.getRouteAnimation(routeKey, "closing");
|
|
63
59
|
const screenActivity = useSharedValue<ScreenActivity>(
|
|
64
60
|
ScreenActivity.TRANSITIONING_OR_BELOW_TOP,
|
|
65
61
|
);
|
|
@@ -2,21 +2,15 @@ import { useMemo } from "react";
|
|
|
2
2
|
import { snapDescriptorToIndex } from "../../../animation/snap-to";
|
|
3
3
|
import { useOptimisticFocusedIndex } from "../../../hooks/navigation/use-optimistic-focused-index";
|
|
4
4
|
import { useStack } from "../../../hooks/navigation/use-stack";
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
5
|
+
import { ScreenAnimationProvider } from "../../../providers/screen/animation";
|
|
6
|
+
import type { BaseDescriptor } from "../../../providers/screen/descriptors";
|
|
7
|
+
import { DescriptorsProvider } from "../../../providers/screen/descriptors";
|
|
7
8
|
import { ScreenStylesProvider } from "../../../providers/screen/styles.provider";
|
|
8
|
-
import type {
|
|
9
|
+
import type { OverlayScreenState } from "../../../types/overlay.types";
|
|
10
|
+
|
|
9
11
|
import { getActiveFloatOverlay } from "../helpers/get-active-overlay";
|
|
10
12
|
import { OverlayHost } from "./overlay-host";
|
|
11
13
|
|
|
12
|
-
type OverlayScreenState = Omit<
|
|
13
|
-
OverlayProps<BaseDescriptor["navigation"]>,
|
|
14
|
-
"progress" | "overlayAnimation" | "screenAnimation"
|
|
15
|
-
> & {
|
|
16
|
-
index: number;
|
|
17
|
-
snapTo: (index: number) => void;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
14
|
/**
|
|
21
15
|
* Float overlay component that renders above all screens.
|
|
22
16
|
* Gets routes and descriptors from stack context.
|
|
@@ -45,18 +39,19 @@ export function FloatOverlay() {
|
|
|
45
39
|
const focusedScene = scenes[focusedIndex] ?? scenes[scenes.length - 1];
|
|
46
40
|
const focusedDescriptor = focusedScene?.descriptor;
|
|
47
41
|
|
|
48
|
-
const overlayScreenState: OverlayScreenState =
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
42
|
+
const overlayScreenState: OverlayScreenState<BaseDescriptor["navigation"]> =
|
|
43
|
+
{
|
|
44
|
+
index: routeKeys.indexOf(current.route.key),
|
|
45
|
+
options: focusedDescriptor?.options ?? {},
|
|
46
|
+
routes,
|
|
47
|
+
focusedRoute: focusedScene?.route ?? current.route,
|
|
48
|
+
focusedIndex,
|
|
49
|
+
meta: focusedDescriptor?.options?.meta,
|
|
50
|
+
navigation: current.navigation,
|
|
51
|
+
snapTo: (index: number) => {
|
|
52
|
+
snapDescriptorToIndex(current, index);
|
|
53
|
+
},
|
|
54
|
+
};
|
|
60
55
|
|
|
61
56
|
return {
|
|
62
57
|
scene,
|
|
@@ -74,10 +69,12 @@ export function FloatOverlay() {
|
|
|
74
69
|
const { scene, previous, current, next, overlayScreenState } = overlayData;
|
|
75
70
|
|
|
76
71
|
return (
|
|
77
|
-
<
|
|
78
|
-
<
|
|
79
|
-
<
|
|
80
|
-
|
|
81
|
-
|
|
72
|
+
<DescriptorsProvider current={current} previous={previous} next={next}>
|
|
73
|
+
<ScreenAnimationProvider>
|
|
74
|
+
<ScreenStylesProvider>
|
|
75
|
+
<OverlayHost scene={scene} overlayScreenState={overlayScreenState} />
|
|
76
|
+
</ScreenStylesProvider>
|
|
77
|
+
</ScreenAnimationProvider>
|
|
78
|
+
</DescriptorsProvider>
|
|
82
79
|
);
|
|
83
80
|
}
|
|
@@ -6,23 +6,18 @@ import { memo, useMemo } from "react";
|
|
|
6
6
|
import { Animated, StyleSheet, useWindowDimensions, View } from "react-native";
|
|
7
7
|
import { useDerivedValue } from "react-native-reanimated";
|
|
8
8
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
9
|
-
import { useScreenAnimation } from "../../../hooks/animation/use-screen-animation";
|
|
10
9
|
import type { StackScene } from "../../../hooks/navigation/use-stack";
|
|
11
|
-
import
|
|
10
|
+
import { useScreenAnimation } from "../../../providers/screen/animation";
|
|
11
|
+
import type { BaseDescriptor } from "../../../providers/screen/descriptors";
|
|
12
12
|
import type { OverlayInterpolationProps } from "../../../types/animation.types";
|
|
13
|
-
import type {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
"progress" | "overlayAnimation" | "screenAnimation"
|
|
18
|
-
> & {
|
|
19
|
-
index: number;
|
|
20
|
-
snapTo: (index: number) => void;
|
|
21
|
-
};
|
|
13
|
+
import type {
|
|
14
|
+
OverlayProps,
|
|
15
|
+
OverlayScreenState,
|
|
16
|
+
} from "../../../types/overlay.types";
|
|
22
17
|
|
|
23
18
|
type OverlayHostProps = {
|
|
24
19
|
scene: StackScene;
|
|
25
|
-
overlayScreenState: OverlayScreenState
|
|
20
|
+
overlayScreenState: OverlayScreenState<BaseDescriptor["navigation"]>;
|
|
26
21
|
};
|
|
27
22
|
|
|
28
23
|
export const OverlayHost = memo(function OverlayHost({
|
|
@@ -6,19 +6,11 @@ import {
|
|
|
6
6
|
type StackScene,
|
|
7
7
|
useStack,
|
|
8
8
|
} from "../../../hooks/navigation/use-stack";
|
|
9
|
-
import {
|
|
10
|
-
import type {
|
|
9
|
+
import { useDescriptors } from "../../../providers/screen/descriptors";
|
|
10
|
+
import type { OverlayScreenState } from "../../../types/overlay.types";
|
|
11
11
|
import { isScreenOverlayVisible } from "../../../utils/overlay/visibility";
|
|
12
12
|
import { OverlayHost } from "./overlay-host";
|
|
13
13
|
|
|
14
|
-
type OverlayScreenState = Omit<
|
|
15
|
-
OverlayProps<StackDescriptor["navigation"]>,
|
|
16
|
-
"progress" | "overlayAnimation" | "screenAnimation"
|
|
17
|
-
> & {
|
|
18
|
-
index: number;
|
|
19
|
-
snapTo: (index: number) => void;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
14
|
/**
|
|
23
15
|
* Screen overlay component that renders per-screen.
|
|
24
16
|
* Gets current descriptor from keys context.
|
|
@@ -28,7 +20,7 @@ type OverlayScreenState = Omit<
|
|
|
28
20
|
* to access animation values. This component will be removed in a future version.
|
|
29
21
|
*/
|
|
30
22
|
export function ScreenOverlay() {
|
|
31
|
-
const { current } =
|
|
23
|
+
const { current } = useDescriptors<StackDescriptor>();
|
|
32
24
|
const { flags, routes, optimisticFocusedIndex, routeKeys } = useStack();
|
|
33
25
|
const focusedIndex = useOptimisticFocusedIndex(
|
|
34
26
|
optimisticFocusedIndex,
|
|
@@ -45,7 +37,9 @@ export function ScreenOverlay() {
|
|
|
45
37
|
[current],
|
|
46
38
|
);
|
|
47
39
|
|
|
48
|
-
const overlayScreenState = useMemo<
|
|
40
|
+
const overlayScreenState = useMemo<
|
|
41
|
+
OverlayScreenState<StackDescriptor["navigation"]>
|
|
42
|
+
>(
|
|
49
43
|
() => ({
|
|
50
44
|
index: routeKeys.indexOf(current.route.key),
|
|
51
45
|
options: current.options,
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
NavigationContext,
|
|
3
|
+
NavigationRouteContext,
|
|
4
|
+
} from "@react-navigation/native";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import type { BaseStackDescriptor } from "../types/stack.types";
|
|
7
|
+
import { isScreenOverlayVisible } from "../utils/overlay/visibility";
|
|
8
|
+
import { Overlay } from "./overlay";
|
|
9
|
+
|
|
10
|
+
type SceneViewProps = {
|
|
11
|
+
descriptor: BaseStackDescriptor;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Shared scene view for managed stacks (blank-stack, component-stack).
|
|
16
|
+
* Wraps screen render output with navigation context providers
|
|
17
|
+
* and optional screen overlay.
|
|
18
|
+
*/
|
|
19
|
+
export const SceneView = React.memo(function SceneView({
|
|
20
|
+
descriptor,
|
|
21
|
+
}: SceneViewProps) {
|
|
22
|
+
const { route, navigation, render } = descriptor;
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<NavigationContext.Provider value={navigation as any}>
|
|
26
|
+
<NavigationRouteContext.Provider value={route}>
|
|
27
|
+
{isScreenOverlayVisible(descriptor.options) && <Overlay.Screen />}
|
|
28
|
+
{render?.()}
|
|
29
|
+
</NavigationRouteContext.Provider>
|
|
30
|
+
</NavigationContext.Provider>
|
|
31
|
+
);
|
|
32
|
+
});
|
package/src/shared/{hooks → components/screen-container/hooks}/use-backdrop-pointer-events.ts
RENAMED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useStackCoreContext } from "
|
|
3
|
-
import { StackType } from "
|
|
1
|
+
import { useDescriptors } from "../../../providers/screen/descriptors";
|
|
2
|
+
import { useStackCoreContext } from "../../../providers/stack/core.provider";
|
|
3
|
+
import { StackType } from "../../../types/stack.types";
|
|
4
4
|
|
|
5
5
|
type BackdropBehavior = "block" | "passthrough" | "dismiss" | "collapse";
|
|
6
6
|
|
|
7
7
|
interface BackdropPointerEventsResult {
|
|
8
8
|
pointerEvents: "box-none" | undefined;
|
|
9
9
|
backdropBehavior: BackdropBehavior;
|
|
10
|
+
isBackdropActive: boolean;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -17,7 +18,7 @@ interface BackdropPointerEventsResult {
|
|
|
17
18
|
* - Other stacks default to 'block' (undefined = normal touch handling)
|
|
18
19
|
*/
|
|
19
20
|
export function useBackdropPointerEvents(): BackdropPointerEventsResult {
|
|
20
|
-
const { current } =
|
|
21
|
+
const { current } = useDescriptors();
|
|
21
22
|
const { flags } = useStackCoreContext();
|
|
22
23
|
|
|
23
24
|
const isComponentStack = flags.STACK_TYPE === StackType.COMPONENT;
|
|
@@ -28,5 +29,8 @@ export function useBackdropPointerEvents(): BackdropPointerEventsResult {
|
|
|
28
29
|
const pointerEvents =
|
|
29
30
|
backdropBehavior === "passthrough" ? "box-none" : undefined;
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
const isBackdropActive =
|
|
33
|
+
backdropBehavior === "dismiss" || backdropBehavior === "collapse";
|
|
34
|
+
|
|
35
|
+
return { pointerEvents, backdropBehavior, isBackdropActive };
|
|
32
36
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { memo } from "react";
|
|
2
|
+
import { StyleSheet, View } from "react-native";
|
|
3
|
+
import { useBackdropPointerEvents } from "./hooks/use-backdrop-pointer-events";
|
|
4
|
+
import { BackdropLayer } from "./layers/backdrop";
|
|
5
|
+
import { ContentLayer } from "./layers/content";
|
|
6
|
+
|
|
7
|
+
type Props = {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const ScreenContainer = memo(({ children }: Props) => {
|
|
12
|
+
const { pointerEvents } = useBackdropPointerEvents();
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<View style={styles.container} pointerEvents={pointerEvents}>
|
|
16
|
+
<BackdropLayer />
|
|
17
|
+
<ContentLayer>{children}</ContentLayer>
|
|
18
|
+
</View>
|
|
19
|
+
);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const styles = StyleSheet.create({
|
|
23
|
+
container: {
|
|
24
|
+
flex: 1,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { memo, useCallback, useMemo } from "react";
|
|
2
|
+
import { Pressable, StyleSheet } from "react-native";
|
|
3
|
+
import Animated, {
|
|
4
|
+
runOnUI,
|
|
5
|
+
useAnimatedProps,
|
|
6
|
+
useAnimatedStyle,
|
|
7
|
+
} from "react-native-reanimated";
|
|
8
|
+
import { DefaultSnapSpec } from "../../../configs/specs";
|
|
9
|
+
import { NO_PROPS, NO_STYLES } from "../../../constants";
|
|
10
|
+
import { useNavigationHelpers } from "../../../hooks/navigation/use-navigation-helpers";
|
|
11
|
+
import { useDescriptors } from "../../../providers/screen/descriptors";
|
|
12
|
+
import { useScreenStyles } from "../../../providers/screen/styles.provider";
|
|
13
|
+
import { AnimationStore } from "../../../stores/animation.store";
|
|
14
|
+
import { GestureStore } from "../../../stores/gesture.store";
|
|
15
|
+
import { animateToProgress } from "../../../utils/animation/animate-to-progress";
|
|
16
|
+
import { findCollapseTarget } from "../../../utils/gesture/find-collapse-target";
|
|
17
|
+
import { useBackdropPointerEvents } from "../hooks/use-backdrop-pointer-events";
|
|
18
|
+
|
|
19
|
+
export const BackdropLayer = memo(function BackdropLayer() {
|
|
20
|
+
const { stylesMap } = useScreenStyles();
|
|
21
|
+
const { current } = useDescriptors();
|
|
22
|
+
const { dismissScreen } = useNavigationHelpers();
|
|
23
|
+
const { isBackdropActive, backdropBehavior } = useBackdropPointerEvents();
|
|
24
|
+
|
|
25
|
+
const BackdropComponent = current.options.backdropComponent;
|
|
26
|
+
|
|
27
|
+
const AnimatedBackdropComponent = useMemo(
|
|
28
|
+
() =>
|
|
29
|
+
BackdropComponent
|
|
30
|
+
? Animated.createAnimatedComponent(BackdropComponent)
|
|
31
|
+
: null,
|
|
32
|
+
[BackdropComponent],
|
|
33
|
+
);
|
|
34
|
+
const handleBackdropPress = useCallback(() => {
|
|
35
|
+
if (backdropBehavior === "dismiss") {
|
|
36
|
+
dismissScreen();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (backdropBehavior === "collapse") {
|
|
41
|
+
const snapPoints = current.options.snapPoints;
|
|
42
|
+
const canDismiss = current.options.gestureEnabled !== false;
|
|
43
|
+
|
|
44
|
+
// No snap points → fallback to dismiss
|
|
45
|
+
if (!snapPoints || snapPoints.length === 0) {
|
|
46
|
+
dismissScreen();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const animations = AnimationStore.getRouteAnimations(current.route.key);
|
|
51
|
+
const gestures = GestureStore.getRouteGestures(current.route.key);
|
|
52
|
+
const transitionSpec = current.options.transitionSpec;
|
|
53
|
+
|
|
54
|
+
runOnUI(() => {
|
|
55
|
+
"worklet";
|
|
56
|
+
const { target, shouldDismiss } = findCollapseTarget(
|
|
57
|
+
animations.progress.value,
|
|
58
|
+
snapPoints,
|
|
59
|
+
canDismiss,
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
// If already dismissing, skip
|
|
63
|
+
if (gestures.dismissing.value) return;
|
|
64
|
+
|
|
65
|
+
gestures.dismissing.value = shouldDismiss ? 1 : 0;
|
|
66
|
+
|
|
67
|
+
const spec = shouldDismiss
|
|
68
|
+
? transitionSpec
|
|
69
|
+
: {
|
|
70
|
+
open: transitionSpec?.expand ?? DefaultSnapSpec,
|
|
71
|
+
close: transitionSpec?.collapse ?? DefaultSnapSpec,
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
animateToProgress({
|
|
75
|
+
target,
|
|
76
|
+
spec,
|
|
77
|
+
animations,
|
|
78
|
+
onAnimationFinish: shouldDismiss ? dismissScreen : undefined,
|
|
79
|
+
});
|
|
80
|
+
})();
|
|
81
|
+
}
|
|
82
|
+
}, [backdropBehavior, current, dismissScreen]);
|
|
83
|
+
|
|
84
|
+
const animatedBackdropStyle = useAnimatedStyle(() => {
|
|
85
|
+
"worklet";
|
|
86
|
+
return stylesMap.value.backdrop?.style ?? NO_STYLES;
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
const animatedBackdropProps = useAnimatedProps(() => {
|
|
90
|
+
"worklet";
|
|
91
|
+
return stylesMap.value.backdrop?.props ?? NO_PROPS;
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
return (
|
|
95
|
+
<Pressable
|
|
96
|
+
style={StyleSheet.absoluteFillObject}
|
|
97
|
+
pointerEvents={isBackdropActive ? "auto" : "none"}
|
|
98
|
+
onPress={isBackdropActive ? handleBackdropPress : undefined}
|
|
99
|
+
>
|
|
100
|
+
{AnimatedBackdropComponent && (
|
|
101
|
+
<AnimatedBackdropComponent
|
|
102
|
+
style={[StyleSheet.absoluteFillObject]}
|
|
103
|
+
animatedProps={animatedBackdropProps}
|
|
104
|
+
/>
|
|
105
|
+
)}
|
|
106
|
+
<Animated.View
|
|
107
|
+
style={[StyleSheet.absoluteFillObject, animatedBackdropStyle]}
|
|
108
|
+
/>
|
|
109
|
+
</Pressable>
|
|
110
|
+
);
|
|
111
|
+
});
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/** biome-ignore-all lint/style/noNonNullAssertion: <Screen gesture is under the gesture context, so this will always exist.> */
|
|
2
|
+
import { memo, useEffect } from "react";
|
|
3
|
+
import { StyleSheet, View } from "react-native";
|
|
4
|
+
import { GestureDetector } from "react-native-gesture-handler";
|
|
5
|
+
import Animated, {
|
|
6
|
+
useAnimatedProps,
|
|
7
|
+
useAnimatedStyle,
|
|
8
|
+
} from "react-native-reanimated";
|
|
9
|
+
import {
|
|
10
|
+
NAVIGATION_CONTAINER_STYLE_ID,
|
|
11
|
+
NAVIGATION_MASK_STYLE_ID,
|
|
12
|
+
NO_PROPS,
|
|
13
|
+
NO_STYLES,
|
|
14
|
+
} from "../../../constants";
|
|
15
|
+
import { useGestureContext } from "../../../providers/gestures";
|
|
16
|
+
import { useDescriptors } from "../../../providers/screen/descriptors";
|
|
17
|
+
import { useScreenStyles } from "../../../providers/screen/styles.provider";
|
|
18
|
+
import { logger } from "../../../utils/logger";
|
|
19
|
+
import { useBackdropPointerEvents } from "../hooks/use-backdrop-pointer-events";
|
|
20
|
+
import { SurfaceContainer } from "./surface-container";
|
|
21
|
+
|
|
22
|
+
type Props = {
|
|
23
|
+
children: React.ReactNode;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
let LazyMaskedView = View;
|
|
27
|
+
|
|
28
|
+
try {
|
|
29
|
+
LazyMaskedView = require("@react-native-masked-view/masked-view").default;
|
|
30
|
+
} catch (_) {
|
|
31
|
+
// optional peer dependency
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
let hasWarnedMissingMaskedView = false;
|
|
35
|
+
|
|
36
|
+
export const ContentLayer = memo(({ children }: Props) => {
|
|
37
|
+
const { stylesMap } = useScreenStyles();
|
|
38
|
+
const { current } = useDescriptors();
|
|
39
|
+
const { pointerEvents, isBackdropActive } = useBackdropPointerEvents();
|
|
40
|
+
const gestureContext = useGestureContext();
|
|
41
|
+
const isNavigationMaskEnabled = !!current.options.maskEnabled;
|
|
42
|
+
const contentPointerEvents = isBackdropActive ? "box-none" : pointerEvents;
|
|
43
|
+
|
|
44
|
+
// ── Content ──
|
|
45
|
+
const animatedContentStyle = useAnimatedStyle(() => {
|
|
46
|
+
"worklet";
|
|
47
|
+
return stylesMap.value.content?.style || NO_STYLES;
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
const animatedContentProps = useAnimatedProps(() => {
|
|
51
|
+
"worklet";
|
|
52
|
+
return stylesMap.value.content?.props ?? NO_PROPS;
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// ── Navigation mask / container ──
|
|
56
|
+
const animatedNavigationContainerStyle = useAnimatedStyle(() => {
|
|
57
|
+
"worklet";
|
|
58
|
+
return stylesMap.value[NAVIGATION_CONTAINER_STYLE_ID]?.style || NO_STYLES;
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
const animatedNavigationMaskStyle = useAnimatedStyle(() => {
|
|
62
|
+
"worklet";
|
|
63
|
+
return stylesMap.value[NAVIGATION_MASK_STYLE_ID]?.style || NO_STYLES;
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
if (!isNavigationMaskEnabled) return;
|
|
68
|
+
if (LazyMaskedView !== View) return;
|
|
69
|
+
if (hasWarnedMissingMaskedView) return;
|
|
70
|
+
|
|
71
|
+
hasWarnedMissingMaskedView = true;
|
|
72
|
+
logger.warn(
|
|
73
|
+
"maskEnabled requires @react-native-masked-view/masked-view. Install it to enable navigation bounds masking.",
|
|
74
|
+
);
|
|
75
|
+
}, [isNavigationMaskEnabled]);
|
|
76
|
+
|
|
77
|
+
const contentChildren = isNavigationMaskEnabled ? (
|
|
78
|
+
LazyMaskedView !== View ? (
|
|
79
|
+
<LazyMaskedView
|
|
80
|
+
style={styles.navigationMaskedRoot}
|
|
81
|
+
// @ts-expect-error masked-view package types are too strict here
|
|
82
|
+
maskElement={
|
|
83
|
+
<Animated.View
|
|
84
|
+
style={[styles.navigationMaskElement, animatedNavigationMaskStyle]}
|
|
85
|
+
/>
|
|
86
|
+
}
|
|
87
|
+
>
|
|
88
|
+
<Animated.View
|
|
89
|
+
style={[styles.navigationContainer, animatedNavigationContainerStyle]}
|
|
90
|
+
>
|
|
91
|
+
{children}
|
|
92
|
+
</Animated.View>
|
|
93
|
+
</LazyMaskedView>
|
|
94
|
+
) : (
|
|
95
|
+
<Animated.View
|
|
96
|
+
style={[styles.navigationContainer, animatedNavigationContainerStyle]}
|
|
97
|
+
>
|
|
98
|
+
{children}
|
|
99
|
+
</Animated.View>
|
|
100
|
+
)
|
|
101
|
+
) : (
|
|
102
|
+
children
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
return (
|
|
106
|
+
<GestureDetector gesture={gestureContext!.panGesture}>
|
|
107
|
+
<Animated.View
|
|
108
|
+
style={[styles.content, animatedContentStyle]}
|
|
109
|
+
animatedProps={animatedContentProps}
|
|
110
|
+
pointerEvents={contentPointerEvents}
|
|
111
|
+
>
|
|
112
|
+
<SurfaceContainer pointerEvents={contentPointerEvents}>
|
|
113
|
+
{contentChildren}
|
|
114
|
+
</SurfaceContainer>
|
|
115
|
+
</Animated.View>
|
|
116
|
+
</GestureDetector>
|
|
117
|
+
);
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
const styles = StyleSheet.create({
|
|
121
|
+
content: {
|
|
122
|
+
flex: 1,
|
|
123
|
+
},
|
|
124
|
+
navigationMaskedRoot: {
|
|
125
|
+
flex: 1,
|
|
126
|
+
},
|
|
127
|
+
navigationMaskElement: {
|
|
128
|
+
backgroundColor: "white",
|
|
129
|
+
},
|
|
130
|
+
navigationContainer: {
|
|
131
|
+
flex: 1,
|
|
132
|
+
},
|
|
133
|
+
});
|