react-native-screen-transitions 4.0.0-alpha.7 → 4.0.0-alpha.9
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 +1 -1
- package/lib/commonjs/adapters/with-screen-transitions/context.js +0 -4
- package/lib/commonjs/adapters/with-screen-transitions/context.js.map +1 -1
- package/lib/commonjs/adapters/with-screen-transitions/options.js +1 -12
- package/lib/commonjs/adapters/with-screen-transitions/options.js.map +1 -1
- package/lib/commonjs/adapters/with-screen-transitions/stack-layout.js +19 -18
- package/lib/commonjs/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/commonjs/components/activity/activity-view.js +77 -0
- package/lib/commonjs/components/activity/activity-view.js.map +1 -0
- package/lib/commonjs/components/activity/activity-view.web.js +84 -0
- package/lib/commonjs/components/activity/activity-view.web.js.map +1 -0
- package/lib/commonjs/components/activity/variants/activity-container.js +2 -12
- package/lib/commonjs/components/activity/variants/activity-container.js.map +1 -1
- package/lib/commonjs/components/activity/variants/activity-screen.js +20 -71
- package/lib/commonjs/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/commonjs/components/boundary/components/boundary-target.js +1 -2
- package/lib/commonjs/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/commonjs/components/boundary/create-boundary-component.js +5 -2
- package/lib/commonjs/components/boundary/create-boundary-component.js.map +1 -1
- package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +2 -2
- package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/commonjs/components/boundary/hooks/use-measurer.js +1 -3
- package/lib/commonjs/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/commonjs/components/boundary/index.js +1 -7
- package/lib/commonjs/components/boundary/index.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +11 -10
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +19 -5
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +9 -5
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js +6 -9
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/teleport.js +1 -13
- package/lib/commonjs/components/boundary/portal/teleport.js.map +1 -1
- package/lib/commonjs/components/boundary/providers/boundary-root.provider.js +6 -6
- package/lib/commonjs/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/commonjs/components/overlay/helpers/create-overlay-interpolator-frame.js +36 -0
- package/lib/commonjs/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -0
- package/lib/commonjs/components/overlay/helpers/get-active-overlay.js +52 -22
- package/lib/commonjs/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/commonjs/components/overlay/helpers/retain-ready-overlay-resources.js +21 -0
- package/lib/commonjs/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -0
- package/lib/commonjs/components/overlay/helpers/run-overlay-slot-interpolator.js +41 -0
- package/lib/commonjs/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -0
- package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js +90 -0
- package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js.map +1 -0
- package/lib/commonjs/components/overlay/variations/float-overlay.js +17 -69
- package/lib/commonjs/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/commonjs/components/overlay/variations/overlay-host.js +90 -16
- package/lib/commonjs/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/commonjs/components/screen-container/hooks/use-backdrop-pointer-events.js +2 -7
- package/lib/commonjs/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -1
- package/lib/commonjs/components/screen-container/layers/backdrop.js +1 -2
- package/lib/commonjs/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/commonjs/components/screen-container/layers/content.js +7 -13
- package/lib/commonjs/components/screen-container/layers/content.js.map +1 -1
- package/lib/commonjs/components/screen-lifecycle/hooks/helpers/close-interception-rules.js +2 -3
- package/lib/commonjs/components/screen-lifecycle/hooks/helpers/close-interception-rules.js.map +1 -1
- package/lib/commonjs/components/screen-lifecycle/hooks/use-close-transition-intent.js +12 -15
- package/lib/commonjs/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/commonjs/components/stack-view.js +9 -18
- package/lib/commonjs/components/stack-view.js.map +1 -1
- package/lib/commonjs/configs/presets.js +4 -8
- package/lib/commonjs/configs/presets.js.map +1 -1
- package/lib/commonjs/constants.js +4 -20
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/factories/screen-topology/create-screen-topology.js +147 -0
- package/lib/commonjs/factories/screen-topology/create-screen-topology.js.map +1 -0
- package/lib/commonjs/factories/screen-topology/index.js +45 -0
- package/lib/commonjs/factories/screen-topology/index.js.map +1 -0
- package/lib/commonjs/factories/screen-topology/types.js +2 -0
- package/lib/commonjs/factories/screen-topology/types.js.map +1 -0
- package/lib/commonjs/factories/screen-topology/use-screen-relationships.js +15 -0
- package/lib/commonjs/factories/screen-topology/use-screen-relationships.js.map +1 -0
- package/lib/commonjs/factories/screen-topology/worklet.js +55 -0
- package/lib/commonjs/factories/screen-topology/worklet.js.map +1 -0
- package/lib/commonjs/hooks/navigation/use-navigation-helpers.js +7 -11
- package/lib/commonjs/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/commonjs/hooks/navigation/use-screen-state.js +2 -2
- package/lib/commonjs/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/hooks/reanimated/use-shared-value-ref.js +2 -3
- package/lib/commonjs/hooks/reanimated/use-shared-value-ref.js.map +1 -1
- package/lib/commonjs/index.js +0 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/create-blank-stack-navigator.js +1 -5
- package/lib/commonjs/navigators/create-blank-stack-navigator.js.map +1 -1
- package/lib/commonjs/providers/navigation/navigation-host.provider.js +17 -4
- package/lib/commonjs/providers/navigation/navigation-host.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/animation.provider.js +29 -95
- package/lib/commonjs/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +8 -56
- package/lib/commonjs/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/build-screen-transition-options.js +2 -6
- package/lib/commonjs/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js +22 -7
- package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/index.js +18 -15
- package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/pipeline.js +20 -18
- package/lib/commonjs/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/read-screen-animation-revisions.js +4 -13
- package/lib/commonjs/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/selected-interpolator-options.js +1 -10
- package/lib/commonjs/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/stack-progress.js +10 -26
- package/lib/commonjs/providers/screen/animation/helpers/stack-progress.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/use-build-transition-state.js +0 -1
- package/lib/commonjs/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/index.js +6 -0
- package/lib/commonjs/providers/screen/animation/index.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/use-screen-animation.js +13 -42
- package/lib/commonjs/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js +39 -18
- package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -4
- package/lib/commonjs/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/gestures.provider.js +31 -22
- package/lib/commonjs/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -12
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture.js +2 -3
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/index.js +8 -2
- package/lib/commonjs/providers/screen/gestures/index.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.js → gesture-ownership-bridge.js} +36 -59
- package/lib/commonjs/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -0
- package/lib/commonjs/providers/screen/gestures/ownership/resolve-ownership.js +5 -7
- package/lib/commonjs/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/activation/pan-activation-decision.js +1 -2
- package/lib/commonjs/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/activation/pan-activation-rules.js +5 -6
- package/lib/commonjs/providers/screen/gestures/pan/activation/pan-activation-rules.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/activation/use-pan-activation.js +4 -1
- package/lib/commonjs/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-release.js +30 -8
- package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-reset.js +1 -2
- package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/behavior/use-pan-behavior.js +1 -2
- package/lib/commonjs/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +3 -4
- package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-release.js +26 -6
- package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-reset.js +1 -2
- package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +5 -8
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +5 -4
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +1 -3
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/shared/policy.js +12 -24
- package/lib/commonjs/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/shared/snap-points.js +71 -1
- package/lib/commonjs/providers/screen/gestures/shared/snap-points.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/shared/snapshot.js +1 -2
- package/lib/commonjs/providers/screen/gestures/shared/snapshot.js.map +1 -1
- package/lib/commonjs/providers/screen/options/helpers.js +7 -31
- package/lib/commonjs/providers/screen/options/helpers.js.map +1 -1
- package/lib/commonjs/providers/screen/screen-composer.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/constants.js +1 -1
- package/lib/commonjs/providers/screen/styles/constants.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/helpers/select-interpolator-frame.js +2 -4
- package/lib/commonjs/providers/screen/styles/helpers/select-interpolator-frame.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/helpers/transition-visual-state.js +20 -1
- package/lib/commonjs/providers/screen/styles/helpers/transition-visual-state.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/helpers/visibility-block-ownership.js +19 -0
- package/lib/commonjs/providers/screen/styles/helpers/visibility-block-ownership.js.map +1 -0
- package/lib/commonjs/providers/screen/styles/hooks/slot-resolvers.js +16 -15
- package/lib/commonjs/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js +35 -15
- package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/hooks/use-maybe-block-visibility.js +35 -15
- package/lib/commonjs/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/index.js +8 -2
- package/lib/commonjs/providers/screen/styles/index.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/slot.provider.js +35 -39
- package/lib/commonjs/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/use-current-screen-relationships.js +14 -0
- package/lib/commonjs/providers/screen/use-current-screen-relationships.js.map +1 -0
- package/lib/commonjs/providers/stack/blank-stack-state/blank-stack-controller.js +4 -2
- package/lib/commonjs/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/resolve-presented-index.js +18 -0
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/resolve-presented-index.js.map +1 -0
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/index.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack.provider.js +32 -47
- package/lib/commonjs/providers/stack/blank-stack.provider.js.map +1 -1
- package/lib/commonjs/providers/stack/core.provider.js +5 -17
- package/lib/commonjs/providers/stack/core.provider.js.map +1 -1
- package/lib/commonjs/stores/animation.store.js +0 -2
- package/lib/commonjs/stores/animation.store.js.map +1 -1
- package/lib/commonjs/stores/bounds/internals/links.js +9 -3
- package/lib/commonjs/stores/bounds/internals/links.js.map +1 -1
- package/lib/commonjs/stores/gesture.store.js +4 -13
- package/lib/commonjs/stores/gesture.store.js.map +1 -1
- package/lib/commonjs/types/gesture.types.js.map +1 -1
- package/lib/commonjs/types/stack.types.js +0 -35
- package/lib/commonjs/types/stack.types.js.map +1 -1
- package/lib/commonjs/utils/bounds/constants.js.map +1 -1
- package/lib/commonjs/utils/bounds/helpers/create-bounds-accessor-core.js +0 -5
- package/lib/commonjs/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/commonjs/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
- package/lib/commonjs/utils/bounds/helpers/styles/composers.js +2 -2
- package/lib/commonjs/utils/bounds/helpers/styles/composers.js.map +1 -1
- package/lib/commonjs/utils/bounds/helpers/styles/compute.js.map +1 -1
- package/lib/commonjs/utils/bounds/navigation/reveal/build.js +1 -1
- package/lib/commonjs/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/commonjs/utils/create-provider.js +111 -38
- package/lib/commonjs/utils/create-provider.js.map +1 -1
- package/lib/commonjs/utils/normalize-interpolated-style.js +2 -40
- package/lib/commonjs/utils/normalize-interpolated-style.js.map +1 -1
- package/lib/commonjs/utils/resolve-screen-transition-options.js +1 -7
- package/lib/commonjs/utils/resolve-screen-transition-options.js.map +1 -1
- package/lib/module/adapters/with-screen-transitions/context.js +0 -3
- package/lib/module/adapters/with-screen-transitions/context.js.map +1 -1
- package/lib/module/adapters/with-screen-transitions/options.js +1 -12
- package/lib/module/adapters/with-screen-transitions/options.js.map +1 -1
- package/lib/module/adapters/with-screen-transitions/stack-layout.js +20 -19
- package/lib/module/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/module/components/activity/activity-view.js +73 -0
- package/lib/module/components/activity/activity-view.js.map +1 -0
- package/lib/module/components/activity/activity-view.web.js +80 -0
- package/lib/module/components/activity/activity-view.web.js.map +1 -0
- package/lib/module/components/activity/variants/activity-container.js +2 -12
- package/lib/module/components/activity/variants/activity-container.js.map +1 -1
- package/lib/module/components/activity/variants/activity-screen.js +20 -71
- package/lib/module/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/module/components/boundary/components/boundary-target.js +2 -3
- package/lib/module/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/module/components/boundary/create-boundary-component.js +6 -3
- package/lib/module/components/boundary/create-boundary-component.js.map +1 -1
- package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +2 -2
- package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/module/components/boundary/hooks/use-measurer.js +2 -4
- package/lib/module/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/module/components/boundary/index.js +1 -7
- package/lib/module/components/boundary/index.js.map +1 -1
- package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +12 -11
- package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +17 -4
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +10 -6
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/index.js +5 -8
- package/lib/module/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
- package/lib/module/components/boundary/portal/teleport.js +1 -14
- package/lib/module/components/boundary/portal/teleport.js.map +1 -1
- package/lib/module/components/boundary/providers/boundary-root.provider.js +4 -5
- package/lib/module/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/module/components/overlay/helpers/create-overlay-interpolator-frame.js +30 -0
- package/lib/module/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -0
- package/lib/module/components/overlay/helpers/get-active-overlay.js +49 -21
- package/lib/module/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/module/components/overlay/helpers/retain-ready-overlay-resources.js +17 -0
- package/lib/module/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -0
- package/lib/module/components/overlay/helpers/run-overlay-slot-interpolator.js +36 -0
- package/lib/module/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -0
- package/lib/module/components/overlay/hooks/use-overlay-slot.js +85 -0
- package/lib/module/components/overlay/hooks/use-overlay-slot.js.map +1 -0
- package/lib/module/components/overlay/variations/float-overlay.js +18 -70
- package/lib/module/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/module/components/overlay/variations/overlay-host.js +91 -18
- package/lib/module/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/module/components/screen-container/hooks/use-backdrop-pointer-events.js +2 -7
- package/lib/module/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -1
- package/lib/module/components/screen-container/layers/backdrop.js +1 -2
- package/lib/module/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/module/components/screen-container/layers/content.js +8 -13
- package/lib/module/components/screen-container/layers/content.js.map +1 -1
- package/lib/module/components/screen-lifecycle/hooks/helpers/close-interception-rules.js +2 -3
- package/lib/module/components/screen-lifecycle/hooks/helpers/close-interception-rules.js.map +1 -1
- package/lib/module/components/screen-lifecycle/hooks/use-close-transition-intent.js +12 -15
- package/lib/module/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/module/components/stack-view.js +9 -18
- package/lib/module/components/stack-view.js.map +1 -1
- package/lib/module/configs/presets.js +4 -8
- package/lib/module/configs/presets.js.map +1 -1
- package/lib/module/constants.js +3 -19
- package/lib/module/constants.js.map +1 -1
- package/lib/module/factories/screen-topology/create-screen-topology.js +142 -0
- package/lib/module/factories/screen-topology/create-screen-topology.js.map +1 -0
- package/lib/module/factories/screen-topology/index.js +6 -0
- package/lib/module/factories/screen-topology/index.js.map +1 -0
- package/lib/module/factories/screen-topology/types.js +2 -0
- package/lib/module/factories/screen-topology/types.js.map +1 -0
- package/lib/module/factories/screen-topology/use-screen-relationships.js +10 -0
- package/lib/module/factories/screen-topology/use-screen-relationships.js.map +1 -0
- package/lib/module/factories/screen-topology/worklet.js +48 -0
- package/lib/module/factories/screen-topology/worklet.js.map +1 -0
- package/lib/module/hooks/navigation/use-navigation-helpers.js +7 -11
- package/lib/module/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/module/hooks/navigation/use-screen-state.js +2 -2
- package/lib/module/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/hooks/reanimated/use-shared-value-ref.js +3 -4
- package/lib/module/hooks/reanimated/use-shared-value-ref.js.map +1 -1
- package/lib/module/index.js +0 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/create-blank-stack-navigator.js +1 -5
- package/lib/module/navigators/create-blank-stack-navigator.js.map +1 -1
- package/lib/module/providers/navigation/navigation-host.provider.js +16 -4
- package/lib/module/providers/navigation/navigation-host.provider.js.map +1 -1
- package/lib/module/providers/screen/animation/animation.provider.js +28 -95
- package/lib/module/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +8 -56
- package/lib/module/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/build-screen-transition-options.js +2 -6
- package/lib/module/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js +22 -7
- package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/index.js +18 -15
- package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/pipeline.js +21 -19
- package/lib/module/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/read-screen-animation-revisions.js +4 -13
- package/lib/module/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/selected-interpolator-options.js +1 -10
- package/lib/module/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/stack-progress.js +9 -24
- package/lib/module/providers/screen/animation/helpers/stack-progress.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/use-build-transition-state.js +0 -1
- package/lib/module/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
- package/lib/module/providers/screen/animation/index.js +1 -1
- package/lib/module/providers/screen/animation/index.js.map +1 -1
- package/lib/module/providers/screen/animation/use-screen-animation.js +14 -44
- package/lib/module/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/module/providers/screen/descriptors/descriptors.provider.js +42 -20
- package/lib/module/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/module/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -4
- package/lib/module/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
- package/lib/module/providers/screen/gestures/gestures.provider.js +29 -21
- package/lib/module/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -12
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture.js +3 -4
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/module/providers/screen/gestures/index.js +1 -1
- package/lib/module/providers/screen/gestures/index.js.map +1 -1
- package/lib/module/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.js → gesture-ownership-bridge.js} +36 -59
- package/lib/module/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -0
- package/lib/module/providers/screen/gestures/ownership/resolve-ownership.js +5 -7
- package/lib/module/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/activation/pan-activation-decision.js +1 -2
- package/lib/module/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/activation/pan-activation-rules.js +5 -6
- package/lib/module/providers/screen/gestures/pan/activation/pan-activation-rules.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/activation/use-pan-activation.js +4 -1
- package/lib/module/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/behavior/pan-release.js +31 -9
- package/lib/module/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/behavior/pan-reset.js +1 -2
- package/lib/module/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/behavior/use-pan-behavior.js +1 -2
- package/lib/module/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
- package/lib/module/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +3 -4
- package/lib/module/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
- package/lib/module/providers/screen/gestures/pinch/behavior/pinch-release.js +27 -7
- package/lib/module/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
- package/lib/module/providers/screen/gestures/pinch/behavior/pinch-reset.js +1 -2
- package/lib/module/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
- package/lib/module/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +4 -8
- package/lib/module/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
- package/lib/module/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +7 -6
- package/lib/module/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/module/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +1 -3
- package/lib/module/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -1
- package/lib/module/providers/screen/gestures/shared/policy.js +13 -25
- package/lib/module/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/module/providers/screen/gestures/shared/snap-points.js +66 -0
- package/lib/module/providers/screen/gestures/shared/snap-points.js.map +1 -1
- package/lib/module/providers/screen/gestures/shared/snapshot.js +1 -2
- package/lib/module/providers/screen/gestures/shared/snapshot.js.map +1 -1
- package/lib/module/providers/screen/options/helpers.js +8 -32
- package/lib/module/providers/screen/options/helpers.js.map +1 -1
- package/lib/module/providers/screen/screen-composer.js.map +1 -1
- package/lib/module/providers/screen/styles/constants.js +1 -1
- package/lib/module/providers/screen/styles/constants.js.map +1 -1
- package/lib/module/providers/screen/styles/helpers/select-interpolator-frame.js +2 -4
- package/lib/module/providers/screen/styles/helpers/select-interpolator-frame.js.map +1 -1
- package/lib/module/providers/screen/styles/helpers/transition-visual-state.js +18 -0
- package/lib/module/providers/screen/styles/helpers/transition-visual-state.js.map +1 -1
- package/lib/module/providers/screen/styles/helpers/visibility-block-ownership.js +14 -0
- package/lib/module/providers/screen/styles/helpers/visibility-block-ownership.js.map +1 -0
- package/lib/module/providers/screen/styles/hooks/slot-resolvers.js +17 -16
- package/lib/module/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
- package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js +36 -16
- package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/module/providers/screen/styles/hooks/use-maybe-block-visibility.js +35 -15
- package/lib/module/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/module/providers/screen/styles/index.js +1 -1
- package/lib/module/providers/screen/styles/index.js.map +1 -1
- package/lib/module/providers/screen/styles/slot.provider.js +33 -38
- package/lib/module/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/module/providers/screen/use-current-screen-relationships.js +9 -0
- package/lib/module/providers/screen/use-current-screen-relationships.js.map +1 -0
- package/lib/module/providers/stack/blank-stack-state/blank-stack-controller.js +4 -2
- package/lib/module/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.js.map +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/resolve-presented-index.js +14 -0
- package/lib/module/providers/stack/blank-stack-state/helpers/resolve-presented-index.js.map +1 -0
- package/lib/module/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -1
- package/lib/module/providers/stack/blank-stack-state/index.js.map +1 -1
- package/lib/module/providers/stack/blank-stack.provider.js +29 -45
- package/lib/module/providers/stack/blank-stack.provider.js.map +1 -1
- package/lib/module/providers/stack/core.provider.js +5 -17
- package/lib/module/providers/stack/core.provider.js.map +1 -1
- package/lib/module/stores/animation.store.js +0 -2
- package/lib/module/stores/animation.store.js.map +1 -1
- package/lib/module/stores/bounds/internals/links.js +9 -3
- package/lib/module/stores/bounds/internals/links.js.map +1 -1
- package/lib/module/stores/gesture.store.js +4 -13
- package/lib/module/stores/gesture.store.js.map +1 -1
- package/lib/module/types/animation.types.js.map +1 -1
- package/lib/module/types/bounds.types.js +0 -12
- package/lib/module/types/bounds.types.js.map +1 -1
- package/lib/module/types/gesture.types.js.map +1 -1
- package/lib/module/types/stack.types.js +1 -41
- package/lib/module/types/stack.types.js.map +1 -1
- package/lib/module/utils/bounds/constants.js.map +1 -1
- package/lib/module/utils/bounds/helpers/create-bounds-accessor-core.js +0 -5
- package/lib/module/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/module/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
- package/lib/module/utils/bounds/helpers/styles/composers.js +2 -2
- package/lib/module/utils/bounds/helpers/styles/composers.js.map +1 -1
- package/lib/module/utils/bounds/helpers/styles/compute.js.map +1 -1
- package/lib/module/utils/bounds/navigation/reveal/build.js +1 -1
- package/lib/module/utils/bounds/navigation/reveal/build.js.map +1 -1
- package/lib/module/utils/create-provider.js +111 -38
- package/lib/module/utils/create-provider.js.map +1 -1
- package/lib/module/utils/normalize-interpolated-style.js +2 -40
- package/lib/module/utils/normalize-interpolated-style.js.map +1 -1
- package/lib/module/utils/resolve-screen-transition-options.js +1 -7
- package/lib/module/utils/resolve-screen-transition-options.js.map +1 -1
- package/lib/typescript/adapters/with-screen-transitions/context.d.ts +1 -6
- package/lib/typescript/adapters/with-screen-transitions/context.d.ts.map +1 -1
- package/lib/typescript/adapters/with-screen-transitions/options.d.ts.map +1 -1
- package/lib/typescript/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
- package/lib/typescript/components/activity/activity-view.d.ts +17 -0
- package/lib/typescript/components/activity/activity-view.d.ts.map +1 -0
- package/lib/typescript/components/activity/activity-view.web.d.ts +14 -0
- package/lib/typescript/components/activity/activity-view.web.d.ts.map +1 -0
- package/lib/typescript/components/activity/variants/activity-container.d.ts.map +1 -1
- package/lib/typescript/components/activity/variants/activity-screen.d.ts +2 -4
- package/lib/typescript/components/activity/variants/activity-screen.d.ts.map +1 -1
- package/lib/typescript/components/boundary/components/boundary-target.d.ts.map +1 -1
- package/lib/typescript/components/boundary/create-boundary-component.d.ts.map +1 -1
- package/lib/typescript/components/boundary/hooks/use-measurer.d.ts.map +1 -1
- package/lib/typescript/components/boundary/index.d.ts +0 -10
- package/lib/typescript/components/boundary/index.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +6 -0
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts +1 -3
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts +1 -3
- package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/teleport.d.ts +1 -1
- package/lib/typescript/components/boundary/portal/teleport.d.ts.map +1 -1
- package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts +3 -0
- package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
- package/lib/typescript/components/overlay/helpers/create-overlay-interpolator-frame.d.ts +8 -0
- package/lib/typescript/components/overlay/helpers/create-overlay-interpolator-frame.d.ts.map +1 -0
- package/lib/typescript/components/overlay/helpers/get-active-overlay.d.ts +20 -8
- package/lib/typescript/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
- package/lib/typescript/components/overlay/helpers/retain-ready-overlay-resources.d.ts +11 -0
- package/lib/typescript/components/overlay/helpers/retain-ready-overlay-resources.d.ts.map +1 -0
- package/lib/typescript/components/overlay/helpers/run-overlay-slot-interpolator.d.ts +8 -0
- package/lib/typescript/components/overlay/helpers/run-overlay-slot-interpolator.d.ts.map +1 -0
- package/lib/typescript/components/overlay/hooks/use-overlay-slot.d.ts +16 -0
- package/lib/typescript/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -0
- package/lib/typescript/components/overlay/variations/float-overlay.d.ts +1 -1
- package/lib/typescript/components/overlay/variations/float-overlay.d.ts.map +1 -1
- package/lib/typescript/components/overlay/variations/overlay-host.d.ts +7 -6
- package/lib/typescript/components/overlay/variations/overlay-host.d.ts.map +1 -1
- package/lib/typescript/components/screen-container/hooks/use-backdrop-pointer-events.d.ts +1 -2
- package/lib/typescript/components/screen-container/hooks/use-backdrop-pointer-events.d.ts.map +1 -1
- package/lib/typescript/components/screen-container/layers/content.d.ts.map +1 -1
- package/lib/typescript/components/screen-lifecycle/hooks/helpers/close-interception-rules.d.ts +1 -2
- package/lib/typescript/components/screen-lifecycle/hooks/helpers/close-interception-rules.d.ts.map +1 -1
- package/lib/typescript/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +1 -1
- package/lib/typescript/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
- package/lib/typescript/components/stack-view.d.ts +2 -3
- package/lib/typescript/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/configs/presets.d.ts.map +1 -1
- package/lib/typescript/constants.d.ts +2 -7
- package/lib/typescript/constants.d.ts.map +1 -1
- package/lib/typescript/factories/screen-topology/create-screen-topology.d.ts +4 -0
- package/lib/typescript/factories/screen-topology/create-screen-topology.d.ts.map +1 -0
- package/lib/typescript/factories/screen-topology/index.d.ts +5 -0
- package/lib/typescript/factories/screen-topology/index.d.ts.map +1 -0
- package/lib/typescript/factories/screen-topology/types.d.ts +20 -0
- package/lib/typescript/factories/screen-topology/types.d.ts.map +1 -0
- package/lib/typescript/factories/screen-topology/use-screen-relationships.d.ts +5 -0
- package/lib/typescript/factories/screen-topology/use-screen-relationships.d.ts.map +1 -0
- package/lib/typescript/factories/screen-topology/worklet.d.ts +5 -0
- package/lib/typescript/factories/screen-topology/worklet.d.ts.map +1 -0
- package/lib/typescript/hooks/navigation/use-navigation-helpers.d.ts +0 -1
- package/lib/typescript/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
- package/lib/typescript/hooks/navigation/use-screen-state.d.ts.map +1 -1
- package/lib/typescript/hooks/reanimated/use-shared-value-ref.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +14 -20
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/navigators/create-blank-stack-navigator.d.ts.map +1 -1
- package/lib/typescript/providers/navigation/navigation-host.provider.d.ts +1 -0
- package/lib/typescript/providers/navigation/navigation-host.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/animation.provider.d.ts +15 -9
- package/lib/typescript/providers/screen/animation/animation.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts +6 -3
- package/lib/typescript/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/build-screen-transition-options.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts +2 -1
- package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +0 -1
- package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts +2 -2
- package/lib/typescript/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/selected-interpolator-options.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/stack-progress.d.ts +5 -2
- package/lib/typescript/providers/screen/animation/helpers/stack-progress.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/use-build-transition-state.d.ts +0 -1
- package/lib/typescript/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/index.d.ts +1 -1
- package/lib/typescript/providers/screen/animation/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/types.d.ts +2 -17
- package/lib/typescript/providers/screen/animation/types.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/use-screen-animation.d.ts +0 -5
- package/lib/typescript/providers/screen/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/providers/screen/descriptors/descriptors.provider.d.ts +14 -11
- package/lib/typescript/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +1 -4
- package/lib/typescript/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/gestures.provider.d.ts +16 -4
- package/lib/typescript/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts +2 -2
- package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/index.d.ts +1 -1
- package/lib/typescript/providers/screen/gestures/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts +3 -0
- package/lib/typescript/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts.map +1 -0
- package/lib/typescript/providers/screen/gestures/ownership/resolve-ownership.d.ts +2 -3
- package/lib/typescript/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/activation/pan-activation-decision.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/activation/pan-activation-rules.d.ts +2 -3
- package/lib/typescript/providers/screen/gestures/pan/activation/pan-activation-rules.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/behavior/pan-release.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/behavior/pan-reset.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-release.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts +5 -3
- package/lib/typescript/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts +2 -2
- package/lib/typescript/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/shared/policy.d.ts +6 -9
- package/lib/typescript/providers/screen/gestures/shared/policy.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/shared/snap-points.d.ts +11 -0
- package/lib/typescript/providers/screen/gestures/shared/snap-points.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/shared/snapshot.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/types.d.ts +6 -5
- package/lib/typescript/providers/screen/gestures/types.d.ts.map +1 -1
- package/lib/typescript/providers/screen/options/helpers.d.ts.map +1 -1
- package/lib/typescript/providers/screen/options/types.d.ts +1 -2
- package/lib/typescript/providers/screen/options/types.d.ts.map +1 -1
- package/lib/typescript/providers/screen/screen-composer.d.ts +5 -5
- package/lib/typescript/providers/screen/screen-composer.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/helpers/select-interpolator-frame.d.ts +1 -1
- package/lib/typescript/providers/screen/styles/helpers/select-interpolator-frame.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/helpers/transition-visual-state.d.ts +7 -0
- package/lib/typescript/providers/screen/styles/helpers/transition-visual-state.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/helpers/visibility-block-ownership.d.ts +10 -0
- package/lib/typescript/providers/screen/styles/helpers/visibility-block-ownership.d.ts.map +1 -0
- package/lib/typescript/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +1 -1
- package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +8 -2
- package/lib/typescript/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/index.d.ts +1 -1
- package/lib/typescript/providers/screen/styles/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/slot.provider.d.ts +12 -6
- package/lib/typescript/providers/screen/styles/slot.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/use-current-screen-relationships.d.ts +5 -0
- package/lib/typescript/providers/screen/use-current-screen-relationships.d.ts.map +1 -0
- package/lib/typescript/providers/stack/blank-stack-state/blank-stack-controller.d.ts +1 -2
- package/lib/typescript/providers/stack/blank-stack-state/blank-stack-controller.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts +7 -8
- package/lib/typescript/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.d.ts +5 -6
- package/lib/typescript/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts +7 -8
- package/lib/typescript/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/resolve-presented-index.d.ts +3 -0
- package/lib/typescript/providers/stack/blank-stack-state/helpers/resolve-presented-index.d.ts.map +1 -0
- package/lib/typescript/providers/stack/blank-stack-state/helpers/state-equality.d.ts +5 -4
- package/lib/typescript/providers/stack/blank-stack-state/helpers/state-equality.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/types.d.ts +17 -17
- package/lib/typescript/providers/stack/blank-stack-state/helpers/types.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/index.d.ts +2 -3
- package/lib/typescript/providers/stack/blank-stack-state/index.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack.provider.d.ts +12 -7
- package/lib/typescript/providers/stack/blank-stack.provider.d.ts.map +1 -1
- package/lib/typescript/providers/stack/core.provider.d.ts +0 -7
- package/lib/typescript/providers/stack/core.provider.d.ts.map +1 -1
- package/lib/typescript/stores/animation.store.d.ts +0 -1
- package/lib/typescript/stores/animation.store.d.ts.map +1 -1
- package/lib/typescript/stores/bounds/internals/links.d.ts.map +1 -1
- package/lib/typescript/stores/gesture.store.d.ts +2 -21
- package/lib/typescript/stores/gesture.store.d.ts.map +1 -1
- package/lib/typescript/types/animation.types.d.ts +9 -19
- package/lib/typescript/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/types/blank-stack.types.d.ts +1 -17
- package/lib/typescript/types/blank-stack.types.d.ts.map +1 -1
- package/lib/typescript/types/bounds.types.d.ts +0 -96
- package/lib/typescript/types/bounds.types.d.ts.map +1 -1
- package/lib/typescript/types/gesture.types.d.ts +4 -33
- package/lib/typescript/types/gesture.types.d.ts.map +1 -1
- package/lib/typescript/types/index.d.ts +4 -4
- package/lib/typescript/types/index.d.ts.map +1 -1
- package/lib/typescript/types/overlay.types.d.ts +26 -11
- package/lib/typescript/types/overlay.types.d.ts.map +1 -1
- package/lib/typescript/types/providers/blank-stack-provider.types.d.ts +14 -20
- package/lib/typescript/types/providers/blank-stack-provider.types.d.ts.map +1 -1
- package/lib/typescript/types/screen.types.d.ts +20 -91
- package/lib/typescript/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/types/stack.types.d.ts +10 -24
- package/lib/typescript/types/stack.types.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/constants.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/helpers/create-bounds-accessor-core.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/helpers/prepare-bound-styles.d.ts +3 -3
- package/lib/typescript/utils/bounds/helpers/prepare-bound-styles.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/helpers/styles/composers.d.ts +3 -3
- package/lib/typescript/utils/bounds/helpers/styles/composers.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/helpers/styles/compute.d.ts +2 -2
- package/lib/typescript/utils/bounds/helpers/styles/compute.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/types/options.d.ts +4 -21
- package/lib/typescript/utils/bounds/types/options.d.ts.map +1 -1
- package/lib/typescript/utils/create-provider.d.ts +44 -20
- package/lib/typescript/utils/create-provider.d.ts.map +1 -1
- package/lib/typescript/utils/normalize-interpolated-style.d.ts +2 -15
- package/lib/typescript/utils/normalize-interpolated-style.d.ts.map +1 -1
- package/lib/typescript/utils/resolve-screen-transition-options.d.ts +1 -1
- package/lib/typescript/utils/resolve-screen-transition-options.d.ts.map +1 -1
- package/package.json +1 -2
- package/src/adapters/with-screen-transitions/context.tsx +1 -10
- package/src/adapters/with-screen-transitions/options.ts +1 -32
- package/src/adapters/with-screen-transitions/stack-layout.tsx +23 -36
- package/src/components/activity/activity-view.tsx +93 -0
- package/src/components/activity/activity-view.web.tsx +79 -0
- package/src/components/activity/variants/activity-container.tsx +2 -14
- package/src/components/activity/variants/activity-screen.tsx +24 -91
- package/src/components/boundary/components/boundary-target.tsx +2 -3
- package/src/components/boundary/create-boundary-component.tsx +10 -3
- package/src/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +2 -2
- package/src/components/boundary/hooks/use-measurer.ts +4 -2
- package/src/components/boundary/index.tsx +0 -14
- package/src/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +22 -8
- package/src/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +22 -4
- package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +10 -5
- package/src/components/boundary/portal/components/boundary-portal/index.tsx +6 -20
- package/src/components/boundary/portal/teleport.ts +2 -23
- package/src/components/boundary/providers/boundary-root.provider.tsx +9 -5
- package/src/components/overlay/helpers/create-overlay-interpolator-frame.ts +41 -0
- package/src/components/overlay/helpers/get-active-overlay.ts +91 -21
- package/src/components/overlay/helpers/retain-ready-overlay-resources.ts +38 -0
- package/src/components/overlay/helpers/run-overlay-slot-interpolator.ts +48 -0
- package/src/components/overlay/hooks/use-overlay-slot.ts +121 -0
- package/src/components/overlay/variations/float-overlay.tsx +24 -65
- package/src/components/overlay/variations/overlay-host.tsx +140 -28
- package/src/components/screen-container/hooks/use-backdrop-pointer-events.ts +2 -9
- package/src/components/screen-container/layers/backdrop.tsx +2 -2
- package/src/components/screen-container/layers/content.tsx +11 -15
- package/src/components/screen-lifecycle/hooks/helpers/close-interception-rules.ts +1 -3
- package/src/components/screen-lifecycle/hooks/use-close-transition-intent.ts +14 -17
- package/src/components/stack-view.tsx +9 -33
- package/src/configs/presets.ts +4 -7
- package/src/constants.ts +2 -18
- package/src/factories/screen-topology/create-screen-topology.ts +199 -0
- package/src/factories/screen-topology/index.ts +16 -0
- package/src/factories/screen-topology/types.ts +22 -0
- package/src/factories/screen-topology/use-screen-relationships.ts +15 -0
- package/src/factories/screen-topology/worklet.ts +60 -0
- package/src/hooks/navigation/use-navigation-helpers.ts +8 -13
- package/src/hooks/navigation/use-screen-state.ts +4 -10
- package/src/hooks/reanimated/use-shared-value-ref.ts +3 -4
- package/src/index.ts +2 -8
- package/src/navigators/create-blank-stack-navigator.tsx +3 -11
- package/src/providers/navigation/navigation-host.provider.tsx +18 -3
- package/src/providers/screen/animation/animation.provider.tsx +74 -194
- package/src/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +17 -82
- package/src/providers/screen/animation/helpers/build-screen-transition-options.ts +5 -11
- package/src/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.ts +30 -3
- package/src/providers/screen/animation/helpers/hydrate-transition-state/index.ts +22 -21
- package/src/providers/screen/animation/helpers/hydrate-transition-state/types.ts +0 -1
- package/src/providers/screen/animation/helpers/pipeline.ts +28 -29
- package/src/providers/screen/animation/helpers/read-screen-animation-revisions.ts +6 -30
- package/src/providers/screen/animation/helpers/selected-interpolator-options.ts +1 -31
- package/src/providers/screen/animation/helpers/stack-progress.ts +13 -32
- package/src/providers/screen/animation/helpers/use-build-transition-state.ts +0 -2
- package/src/providers/screen/animation/index.tsx +1 -0
- package/src/providers/screen/animation/types.ts +2 -32
- package/src/providers/screen/animation/use-screen-animation.tsx +19 -60
- package/src/providers/screen/descriptors/descriptors.provider.tsx +61 -41
- package/src/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +0 -6
- package/src/providers/screen/gestures/gestures.provider.tsx +97 -75
- package/src/providers/screen/gestures/hooks/use-screen-gesture-config.ts +6 -15
- package/src/providers/screen/gestures/hooks/use-screen-gesture.ts +3 -4
- package/src/providers/screen/gestures/index.tsx +2 -1
- package/src/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.ts → gesture-ownership-bridge.tsx} +42 -67
- package/src/providers/screen/gestures/ownership/resolve-ownership.ts +5 -8
- package/src/providers/screen/gestures/pan/activation/pan-activation-decision.ts +0 -1
- package/src/providers/screen/gestures/pan/activation/pan-activation-rules.ts +3 -6
- package/src/providers/screen/gestures/pan/activation/use-pan-activation.ts +2 -3
- package/src/providers/screen/gestures/pan/behavior/pan-release.ts +48 -9
- package/src/providers/screen/gestures/pan/behavior/pan-reset.ts +1 -2
- package/src/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +1 -2
- package/src/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +3 -4
- package/src/providers/screen/gestures/pinch/behavior/pinch-release.ts +45 -4
- package/src/providers/screen/gestures/pinch/behavior/pinch-reset.ts +1 -2
- package/src/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.tsx +6 -9
- package/src/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +11 -7
- package/src/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.ts +12 -12
- package/src/providers/screen/gestures/shared/policy.ts +20 -43
- package/src/providers/screen/gestures/shared/snap-points.ts +87 -0
- package/src/providers/screen/gestures/shared/snapshot.ts +1 -2
- package/src/providers/screen/gestures/types.ts +7 -5
- package/src/providers/screen/options/helpers.ts +18 -73
- package/src/providers/screen/options/types.ts +1 -2
- package/src/providers/screen/screen-composer.tsx +6 -6
- package/src/providers/screen/styles/constants.ts +1 -1
- package/src/providers/screen/styles/helpers/select-interpolator-frame.ts +1 -9
- package/src/providers/screen/styles/helpers/transition-visual-state.ts +26 -0
- package/src/providers/screen/styles/helpers/visibility-block-ownership.ts +16 -0
- package/src/providers/screen/styles/hooks/slot-resolvers.tsx +25 -6
- package/src/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +50 -21
- package/src/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +40 -15
- package/src/providers/screen/styles/index.tsx +2 -1
- package/src/providers/screen/styles/slot.provider.tsx +56 -80
- package/src/providers/screen/use-current-screen-relationships.ts +10 -0
- package/src/providers/stack/blank-stack-state/blank-stack-controller.ts +10 -21
- package/src/providers/stack/blank-stack-state/helpers/build-blank-stack-state.ts +31 -54
- package/src/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.ts +7 -20
- package/src/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.ts +20 -32
- package/src/providers/stack/blank-stack-state/helpers/resolve-presented-index.ts +22 -0
- package/src/providers/stack/blank-stack-state/helpers/state-equality.ts +9 -16
- package/src/providers/stack/blank-stack-state/helpers/types.ts +16 -29
- package/src/providers/stack/blank-stack-state/index.ts +2 -13
- package/src/providers/stack/blank-stack.provider.tsx +40 -73
- package/src/providers/stack/core.provider.tsx +4 -30
- package/src/stores/animation.store.ts +0 -3
- package/src/stores/bounds/internals/links.ts +14 -6
- package/src/stores/gesture.store.ts +5 -38
- package/src/types/animation.types.ts +9 -24
- package/src/types/blank-stack.types.ts +8 -20
- package/src/types/bounds.types.ts +0 -100
- package/src/types/gesture.types.ts +4 -34
- package/src/types/index.ts +3 -5
- package/src/types/overlay.types.ts +41 -14
- package/src/types/providers/blank-stack-provider.types.ts +17 -27
- package/src/types/screen.types.ts +20 -99
- package/src/types/stack.types.ts +10 -31
- package/src/utils/bounds/constants.ts +2 -2
- package/src/utils/bounds/helpers/create-bounds-accessor-core.ts +0 -6
- package/src/utils/bounds/helpers/prepare-bound-styles.ts +5 -5
- package/src/utils/bounds/helpers/styles/composers.ts +6 -6
- package/src/utils/bounds/helpers/styles/compute.ts +3 -3
- package/src/utils/bounds/navigation/reveal/build.ts +1 -1
- package/src/utils/bounds/types/options.ts +15 -34
- package/src/utils/create-provider.tsx +240 -85
- package/src/utils/normalize-interpolated-style.ts +5 -39
- package/src/utils/resolve-screen-transition-options.ts +4 -13
- package/lib/commonjs/components/masked-view.js +0 -64
- package/lib/commonjs/components/masked-view.js.map +0 -1
- package/lib/commonjs/components/scene-view.js +0 -32
- package/lib/commonjs/components/scene-view.js.map +0 -1
- package/lib/commonjs/components/screen-container/layers/surface-container.js +0 -49
- package/lib/commonjs/components/screen-container/layers/surface-container.js.map +0 -1
- package/lib/commonjs/hooks/navigation/use-previous.js +0 -16
- package/lib/commonjs/hooks/navigation/use-previous.js.map +0 -1
- package/lib/commonjs/hooks/navigation/use-stack.js +0 -90
- package/lib/commonjs/hooks/navigation/use-stack.js.map +0 -1
- package/lib/commonjs/hooks/navigation/use-tab-press-reset.js +0 -31
- package/lib/commonjs/hooks/navigation/use-tab-press-reset.js.map +0 -1
- package/lib/commonjs/providers/screen/descriptors/helpers/get-ancestor-keys.js +0 -29
- package/lib/commonjs/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +0 -1
- package/lib/commonjs/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +0 -1
- package/lib/commonjs/providers/screen/gestures/shared/ancestors.js +0 -23
- package/lib/commonjs/providers/screen/gestures/shared/ancestors.js.map +0 -1
- package/lib/commonjs/providers/screen/styles/components/floating-overlay-layer.js +0 -28
- package/lib/commonjs/providers/screen/styles/components/floating-overlay-layer.js.map +0 -1
- package/lib/commonjs/providers/screen/styles/stores/slot-references.store.js +0 -53
- package/lib/commonjs/providers/screen/styles/stores/slot-references.store.js.map +0 -1
- package/lib/commonjs/providers/stack/direct.provider.js +0 -110
- package/lib/commonjs/providers/stack/direct.provider.js.map +0 -1
- package/lib/commonjs/types/providers/direct-stack.types.js +0 -6
- package/lib/commonjs/types/providers/direct-stack.types.js.map +0 -1
- package/lib/commonjs/utils/bounds/navigation/math.js +0 -134
- package/lib/commonjs/utils/bounds/navigation/math.js.map +0 -1
- package/lib/commonjs/utils/platform.js +0 -14
- package/lib/commonjs/utils/platform.js.map +0 -1
- package/lib/module/components/masked-view.js +0 -60
- package/lib/module/components/masked-view.js.map +0 -1
- package/lib/module/components/scene-view.js +0 -27
- package/lib/module/components/scene-view.js.map +0 -1
- package/lib/module/components/screen-container/layers/surface-container.js +0 -44
- package/lib/module/components/screen-container/layers/surface-container.js.map +0 -1
- package/lib/module/hooks/navigation/use-previous.js +0 -11
- package/lib/module/hooks/navigation/use-previous.js.map +0 -1
- package/lib/module/hooks/navigation/use-stack.js +0 -85
- package/lib/module/hooks/navigation/use-stack.js.map +0 -1
- package/lib/module/hooks/navigation/use-tab-press-reset.js +0 -27
- package/lib/module/hooks/navigation/use-tab-press-reset.js.map +0 -1
- package/lib/module/providers/screen/descriptors/helpers/get-ancestor-keys.js +0 -25
- package/lib/module/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +0 -1
- package/lib/module/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +0 -1
- package/lib/module/providers/screen/gestures/shared/ancestors.js +0 -19
- package/lib/module/providers/screen/gestures/shared/ancestors.js.map +0 -1
- package/lib/module/providers/screen/styles/components/floating-overlay-layer.js +0 -24
- package/lib/module/providers/screen/styles/components/floating-overlay-layer.js.map +0 -1
- package/lib/module/providers/screen/styles/stores/slot-references.store.js +0 -47
- package/lib/module/providers/screen/styles/stores/slot-references.store.js.map +0 -1
- package/lib/module/providers/stack/direct.provider.js +0 -104
- package/lib/module/providers/stack/direct.provider.js.map +0 -1
- package/lib/module/types/providers/direct-stack.types.js +0 -4
- package/lib/module/types/providers/direct-stack.types.js.map +0 -1
- package/lib/module/utils/bounds/navigation/math.js +0 -125
- package/lib/module/utils/bounds/navigation/math.js.map +0 -1
- package/lib/module/utils/platform.js +0 -10
- package/lib/module/utils/platform.js.map +0 -1
- package/lib/typescript/components/masked-view.d.ts +0 -10
- package/lib/typescript/components/masked-view.d.ts.map +0 -1
- package/lib/typescript/components/scene-view.d.ts +0 -13
- package/lib/typescript/components/scene-view.d.ts.map +0 -1
- package/lib/typescript/components/screen-container/layers/surface-container.d.ts +0 -8
- package/lib/typescript/components/screen-container/layers/surface-container.d.ts.map +0 -1
- package/lib/typescript/hooks/navigation/use-previous.d.ts +0 -2
- package/lib/typescript/hooks/navigation/use-previous.d.ts.map +0 -1
- package/lib/typescript/hooks/navigation/use-stack.d.ts +0 -34
- package/lib/typescript/hooks/navigation/use-stack.d.ts.map +0 -1
- package/lib/typescript/hooks/navigation/use-tab-press-reset.d.ts +0 -10
- package/lib/typescript/hooks/navigation/use-tab-press-reset.d.ts.map +0 -1
- package/lib/typescript/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts +0 -6
- package/lib/typescript/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts.map +0 -1
- package/lib/typescript/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts +0 -14
- package/lib/typescript/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts.map +0 -1
- package/lib/typescript/providers/screen/gestures/shared/ancestors.d.ts +0 -11
- package/lib/typescript/providers/screen/gestures/shared/ancestors.d.ts.map +0 -1
- package/lib/typescript/providers/screen/styles/components/floating-overlay-layer.d.ts +0 -7
- package/lib/typescript/providers/screen/styles/components/floating-overlay-layer.d.ts.map +0 -1
- package/lib/typescript/providers/screen/styles/stores/slot-references.store.d.ts +0 -6
- package/lib/typescript/providers/screen/styles/stores/slot-references.store.d.ts.map +0 -1
- package/lib/typescript/providers/stack/direct.provider.d.ts +0 -13
- package/lib/typescript/providers/stack/direct.provider.d.ts.map +0 -1
- package/lib/typescript/types/providers/direct-stack.types.d.ts +0 -32
- package/lib/typescript/types/providers/direct-stack.types.d.ts.map +0 -1
- package/lib/typescript/utils/bounds/navigation/math.d.ts +0 -31
- package/lib/typescript/utils/bounds/navigation/math.d.ts.map +0 -1
- package/lib/typescript/utils/platform.d.ts +0 -2
- package/lib/typescript/utils/platform.d.ts.map +0 -1
- package/src/components/masked-view.tsx +0 -74
- package/src/components/scene-view.tsx +0 -29
- package/src/components/screen-container/layers/surface-container.tsx +0 -63
- package/src/hooks/navigation/use-previous.ts +0 -11
- package/src/hooks/navigation/use-stack.tsx +0 -185
- package/src/hooks/navigation/use-tab-press-reset.ts +0 -36
- package/src/providers/screen/descriptors/helpers/get-ancestor-keys.ts +0 -28
- package/src/providers/screen/gestures/shared/ancestors.ts +0 -27
- package/src/providers/screen/styles/components/floating-overlay-layer.tsx +0 -29
- package/src/providers/screen/styles/stores/slot-references.store.ts +0 -72
- package/src/providers/stack/direct.provider.tsx +0 -148
- package/src/types/providers/direct-stack.types.ts +0 -70
- package/src/utils/bounds/navigation/math.ts +0 -188
- package/src/utils/platform.ts +0 -8
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { type ReactNode,
|
|
2
|
-
import { useSharedValue } from "react-native-reanimated";
|
|
1
|
+
import { type ReactNode, useMemo } from "react";
|
|
3
2
|
import { createBoundsAccessor } from "../../../utils/bounds";
|
|
4
3
|
import createProvider from "../../../utils/create-provider";
|
|
4
|
+
import { useDescriptorsStore } from "../descriptors";
|
|
5
|
+
import { useCurrentScreenRelationships } from "../use-current-screen-relationships";
|
|
5
6
|
import { useScreenAnimationPipeline } from "./helpers/pipeline";
|
|
6
|
-
import type {
|
|
7
|
-
RegisterScreenAnimationDescendant,
|
|
8
|
-
ScreenAnimationAncestorDescendantRegistrar,
|
|
9
|
-
ScreenAnimationDescendantSources,
|
|
10
|
-
ScreenAnimationSource,
|
|
11
|
-
ScreenAnimationTransitionSource,
|
|
12
|
-
} from "./types";
|
|
7
|
+
import type { ScreenAnimationTransitionSource } from "./types";
|
|
13
8
|
|
|
14
9
|
type Props = {
|
|
15
10
|
children: ReactNode;
|
|
@@ -18,191 +13,76 @@ type Props = {
|
|
|
18
13
|
export type ScreenAnimationContextValue = ReturnType<
|
|
19
14
|
typeof useScreenAnimationPipeline
|
|
20
15
|
> & {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
transitionSources: readonly ScreenAnimationTransitionSource[];
|
|
17
|
+
transitionOriginIndex: number;
|
|
18
|
+
transitionSourcesThroughSelf: readonly ScreenAnimationTransitionSource[];
|
|
19
|
+
transitionSourcesFromSelf: readonly ScreenAnimationTransitionSource[];
|
|
25
20
|
};
|
|
26
21
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
currentInterpolator,
|
|
54
|
-
} = useScreenAnimationPipeline();
|
|
55
|
-
|
|
56
|
-
const selfScreenAnimationSource = useMemo<ScreenAnimationSource>(
|
|
57
|
-
() => ({
|
|
58
|
-
screenInterpolatorProps,
|
|
59
|
-
screenInterpolatorPropsRevision,
|
|
22
|
+
const EMPTY_TRANSITION_SOURCES: readonly ScreenAnimationTransitionSource[] = [];
|
|
23
|
+
|
|
24
|
+
const createScreenAnimationProvider = createProvider("ScreenAnimation", {
|
|
25
|
+
global: true,
|
|
26
|
+
})<Props, ScreenAnimationContextValue>;
|
|
27
|
+
|
|
28
|
+
export const {
|
|
29
|
+
ScreenAnimationProvider,
|
|
30
|
+
useOptionalScreenAnimationStore,
|
|
31
|
+
useScreenAnimationStore,
|
|
32
|
+
}: ReturnType<typeof createScreenAnimationProvider> =
|
|
33
|
+
createScreenAnimationProvider((_props) => {
|
|
34
|
+
const currentScreenKey = useDescriptorsStore(
|
|
35
|
+
(store) => store.derivations.currentScreenKey,
|
|
36
|
+
);
|
|
37
|
+
const relationships = useCurrentScreenRelationships();
|
|
38
|
+
const pipeline = useScreenAnimationPipeline();
|
|
39
|
+
|
|
40
|
+
const screenAnimationSource = useMemo<ScreenAnimationTransitionSource>(
|
|
41
|
+
() => ({
|
|
42
|
+
screenInterpolatorProps: pipeline.screenInterpolatorProps,
|
|
43
|
+
screenInterpolatorPropsRevision:
|
|
44
|
+
pipeline.screenInterpolatorPropsRevision,
|
|
45
|
+
boundsAccessor: createBoundsAccessor(() => {
|
|
46
|
+
"worklet";
|
|
47
|
+
return pipeline.screenInterpolatorProps.get();
|
|
60
48
|
}),
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
? [...currentSources, { source, depth }]
|
|
102
|
-
: currentSources.map((currentSource, index) =>
|
|
103
|
-
index === existingIndex
|
|
104
|
-
? { source, depth }
|
|
105
|
-
: currentSource,
|
|
106
|
-
);
|
|
107
|
-
|
|
108
|
-
return nextSources.sort((a, b) => a.depth - b.depth) as T;
|
|
109
|
-
},
|
|
110
|
-
);
|
|
111
|
-
|
|
112
|
-
return () => {
|
|
113
|
-
descendantScreenAnimationSources.modify(
|
|
114
|
-
<T extends ScreenAnimationDescendantSources["value"]>(
|
|
115
|
-
currentSources: T,
|
|
116
|
-
): T => {
|
|
117
|
-
"worklet";
|
|
118
|
-
return currentSources.filter(
|
|
119
|
-
(currentSource) => currentSource.source !== source,
|
|
120
|
-
) as T;
|
|
121
|
-
},
|
|
122
|
-
);
|
|
123
|
-
};
|
|
124
|
-
},
|
|
125
|
-
[descendantScreenAnimationSources],
|
|
126
|
-
);
|
|
127
|
-
|
|
128
|
-
const ancestorScreenAnimationSources = useMemo(() => {
|
|
129
|
-
if (
|
|
130
|
-
!parentScreenInterpolatorProps ||
|
|
131
|
-
!parentScreenInterpolatorPropsRevision ||
|
|
132
|
-
!parentAncestorScreenAnimationSources
|
|
133
|
-
) {
|
|
134
|
-
return [];
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
return [
|
|
138
|
-
{
|
|
139
|
-
screenInterpolatorProps: parentScreenInterpolatorProps,
|
|
140
|
-
screenInterpolatorPropsRevision:
|
|
141
|
-
parentScreenInterpolatorPropsRevision,
|
|
142
|
-
},
|
|
143
|
-
...parentAncestorScreenAnimationSources,
|
|
144
|
-
];
|
|
145
|
-
}, [
|
|
146
|
-
parentScreenInterpolatorProps,
|
|
147
|
-
parentScreenInterpolatorPropsRevision,
|
|
148
|
-
parentAncestorScreenAnimationSources,
|
|
149
|
-
]);
|
|
150
|
-
|
|
151
|
-
const ancestorDescendantScreenAnimationRegistrars = useMemo(() => {
|
|
152
|
-
if (!parentRegisterDescendantScreenAnimationSource) {
|
|
153
|
-
return [];
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
// Each provider exposes its own descendant registrar and forwards ancestor
|
|
157
|
-
// registrars, letting a mounted child register with every ancestor scope.
|
|
158
|
-
return [
|
|
159
|
-
{
|
|
160
|
-
register: parentRegisterDescendantScreenAnimationSource,
|
|
161
|
-
depth: 1,
|
|
162
|
-
},
|
|
163
|
-
...(parentAncestorDescendantScreenAnimationRegistrars ?? []).map(
|
|
164
|
-
(registrar) => ({
|
|
165
|
-
register: registrar.register,
|
|
166
|
-
depth: registrar.depth + 1,
|
|
167
|
-
}),
|
|
168
|
-
),
|
|
169
|
-
];
|
|
170
|
-
}, [
|
|
171
|
-
parentRegisterDescendantScreenAnimationSource,
|
|
172
|
-
parentAncestorDescendantScreenAnimationRegistrars,
|
|
173
|
-
]);
|
|
174
|
-
|
|
175
|
-
useLayoutEffect(() => {
|
|
176
|
-
const cleanups = ancestorDescendantScreenAnimationRegistrars.map(
|
|
177
|
-
(registrar) =>
|
|
178
|
-
registrar.register(
|
|
179
|
-
selfScreenAnimationTransitionSource,
|
|
180
|
-
registrar.depth,
|
|
181
|
-
),
|
|
182
|
-
);
|
|
183
|
-
|
|
184
|
-
return () => {
|
|
185
|
-
for (const cleanup of cleanups) {
|
|
186
|
-
cleanup();
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
}, [
|
|
190
|
-
ancestorDescendantScreenAnimationRegistrars,
|
|
191
|
-
selfScreenAnimationTransitionSource,
|
|
192
|
-
]);
|
|
193
|
-
|
|
194
|
-
return {
|
|
195
|
-
value: {
|
|
196
|
-
screenInterpolatorProps,
|
|
197
|
-
screenInterpolatorPropsRevision,
|
|
198
|
-
selectedInterpolatorOptions,
|
|
199
|
-
nextInterpolator,
|
|
200
|
-
currentInterpolator,
|
|
201
|
-
ancestorScreenAnimationSources,
|
|
202
|
-
descendantScreenAnimationSources,
|
|
203
|
-
registerDescendantScreenAnimationSource,
|
|
204
|
-
ancestorDescendantScreenAnimationRegistrars,
|
|
205
|
-
},
|
|
206
|
-
};
|
|
207
|
-
},
|
|
208
|
-
);
|
|
49
|
+
}),
|
|
50
|
+
[
|
|
51
|
+
pipeline.screenInterpolatorProps,
|
|
52
|
+
pipeline.screenInterpolatorPropsRevision,
|
|
53
|
+
],
|
|
54
|
+
);
|
|
55
|
+
const ancestorSources =
|
|
56
|
+
useOptionalScreenAnimationStore(
|
|
57
|
+
relationships.parentScreenKey,
|
|
58
|
+
(store) => store.transitionSourcesThroughSelf,
|
|
59
|
+
) ?? EMPTY_TRANSITION_SOURCES;
|
|
60
|
+
const descendantSources =
|
|
61
|
+
useOptionalScreenAnimationStore(
|
|
62
|
+
relationships.activeChildScreenKey,
|
|
63
|
+
(store) => store.transitionSourcesFromSelf,
|
|
64
|
+
) ?? EMPTY_TRANSITION_SOURCES;
|
|
65
|
+
const transitionSourcesThroughSelf = useMemo(
|
|
66
|
+
() => [...ancestorSources, screenAnimationSource],
|
|
67
|
+
[ancestorSources, screenAnimationSource],
|
|
68
|
+
);
|
|
69
|
+
const transitionSourcesFromSelf = useMemo(
|
|
70
|
+
() => [screenAnimationSource, ...descendantSources],
|
|
71
|
+
[screenAnimationSource, descendantSources],
|
|
72
|
+
);
|
|
73
|
+
const transitionSources = useMemo(
|
|
74
|
+
() => [...transitionSourcesThroughSelf, ...descendantSources],
|
|
75
|
+
[transitionSourcesThroughSelf, descendantSources],
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
return {
|
|
79
|
+
key: currentScreenKey,
|
|
80
|
+
value: {
|
|
81
|
+
...pipeline,
|
|
82
|
+
transitionSources,
|
|
83
|
+
transitionOriginIndex: ancestorSources.length,
|
|
84
|
+
transitionSourcesThroughSelf,
|
|
85
|
+
transitionSourcesFromSelf,
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
});
|
|
@@ -3,18 +3,18 @@ import type {
|
|
|
3
3
|
ScreenInterpolationProps,
|
|
4
4
|
ScreenTransitionTarget,
|
|
5
5
|
} from "../../../../../types/animation.types";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import type {
|
|
9
|
-
ScreenAnimationDescendantSources,
|
|
10
|
-
ScreenAnimationSource,
|
|
11
|
-
ScreenAnimationTransitionSource,
|
|
12
|
-
} from "../../types";
|
|
6
|
+
import type { ScreenAnimationContextValue } from "../../animation.provider";
|
|
7
|
+
import type { ScreenAnimationTransitionSource } from "../../types";
|
|
13
8
|
|
|
14
9
|
type TransitionSourceIndex = number;
|
|
15
10
|
|
|
16
11
|
export type TransitionAccessorSource = ScreenAnimationTransitionSource;
|
|
17
12
|
|
|
13
|
+
type TransitionAccessorStore = Pick<
|
|
14
|
+
ScreenAnimationContextValue,
|
|
15
|
+
"transitionSources" | "transitionOriginIndex"
|
|
16
|
+
>;
|
|
17
|
+
|
|
18
18
|
const resolveTargetIndex = (
|
|
19
19
|
target: ScreenTransitionTarget | undefined,
|
|
20
20
|
currentIndex: TransitionSourceIndex,
|
|
@@ -40,29 +40,9 @@ const resolveTargetIndex = (
|
|
|
40
40
|
export const createTransitionAccessor = (
|
|
41
41
|
sources: readonly TransitionAccessorSource[],
|
|
42
42
|
originIndex = 0,
|
|
43
|
-
descendantSources?: ScreenAnimationDescendantSources,
|
|
44
43
|
) => {
|
|
45
44
|
"worklet";
|
|
46
45
|
|
|
47
|
-
const getSources = (): readonly TransitionAccessorSource[] => {
|
|
48
|
-
"worklet";
|
|
49
|
-
if (!descendantSources) {
|
|
50
|
-
return sources;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const descendants = descendantSources.get();
|
|
54
|
-
if (descendants.length === 0) {
|
|
55
|
-
return sources;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const currentSources = sources.slice();
|
|
59
|
-
for (let index = 0; index < descendants.length; index++) {
|
|
60
|
-
currentSources.push(descendants[index].source);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return currentSources;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
46
|
const buildScope = (
|
|
67
47
|
sourceIndex: TransitionSourceIndex,
|
|
68
48
|
currentSources: readonly TransitionAccessorSource[],
|
|
@@ -96,66 +76,21 @@ export const createTransitionAccessor = (
|
|
|
96
76
|
|
|
97
77
|
return (target?: ScreenTransitionTarget): ScreenInterpolationProps | null => {
|
|
98
78
|
"worklet";
|
|
99
|
-
const
|
|
100
|
-
const targetIndex = resolveTargetIndex(
|
|
101
|
-
target,
|
|
102
|
-
originIndex,
|
|
103
|
-
currentSources.length,
|
|
104
|
-
);
|
|
79
|
+
const targetIndex = resolveTargetIndex(target, originIndex, sources.length);
|
|
105
80
|
if (targetIndex === -1) {
|
|
106
81
|
return null;
|
|
107
82
|
}
|
|
108
83
|
|
|
109
|
-
return buildScope(targetIndex,
|
|
84
|
+
return buildScope(targetIndex, sources);
|
|
110
85
|
};
|
|
111
86
|
};
|
|
112
87
|
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
export const useBuildTransitionAccessor = () => {
|
|
122
|
-
const {
|
|
123
|
-
screenInterpolatorProps,
|
|
124
|
-
screenInterpolatorPropsRevision,
|
|
125
|
-
ancestorScreenAnimationSources,
|
|
126
|
-
descendantScreenAnimationSources,
|
|
127
|
-
} = useScreenAnimationStore();
|
|
128
|
-
|
|
129
|
-
return useMemo(() => {
|
|
130
|
-
const selfSource = {
|
|
131
|
-
screenInterpolatorProps,
|
|
132
|
-
screenInterpolatorPropsRevision,
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
const transitionSources: TransitionAccessorSource[] =
|
|
136
|
-
ancestorScreenAnimationSources.map((source) => ({
|
|
137
|
-
...source,
|
|
138
|
-
boundsAccessor: buildSourceBoundsAccessor(source),
|
|
139
|
-
}));
|
|
140
|
-
|
|
141
|
-
const selfTransitionSource = {
|
|
142
|
-
...selfSource,
|
|
143
|
-
boundsAccessor: buildSourceBoundsAccessor(selfSource),
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
transitionSources.reverse();
|
|
147
|
-
const originIndex = transitionSources.length;
|
|
148
|
-
transitionSources.push(selfTransitionSource);
|
|
149
|
-
|
|
150
|
-
return createTransitionAccessor(
|
|
151
|
-
transitionSources,
|
|
152
|
-
originIndex,
|
|
153
|
-
descendantScreenAnimationSources,
|
|
154
|
-
);
|
|
155
|
-
}, [
|
|
156
|
-
screenInterpolatorProps,
|
|
157
|
-
screenInterpolatorPropsRevision,
|
|
158
|
-
ancestorScreenAnimationSources,
|
|
159
|
-
descendantScreenAnimationSources,
|
|
160
|
-
]);
|
|
88
|
+
export const useBuildTransitionAccessor = ({
|
|
89
|
+
transitionSources,
|
|
90
|
+
transitionOriginIndex,
|
|
91
|
+
}: TransitionAccessorStore) => {
|
|
92
|
+
return useMemo(
|
|
93
|
+
() => createTransitionAccessor(transitionSources, transitionOriginIndex),
|
|
94
|
+
[transitionSources, transitionOriginIndex],
|
|
95
|
+
);
|
|
161
96
|
};
|
|
@@ -7,10 +7,6 @@ import { resolveSheetScrollGestureBehavior } from "../../../../utils/resolve-scr
|
|
|
7
7
|
export const buildScreenTransitionOptions = (
|
|
8
8
|
options: ScreenTransitionConfig,
|
|
9
9
|
): ScreenTransitionOptions => {
|
|
10
|
-
const hasSheetScrollGestureBehavior =
|
|
11
|
-
options.sheetScrollGestureBehavior !== undefined ||
|
|
12
|
-
options.expandViaScrollView !== undefined;
|
|
13
|
-
|
|
14
10
|
return {
|
|
15
11
|
navigationMaskEnabled: options.navigationMaskEnabled,
|
|
16
12
|
gestureEnabled: options.gestureEnabled,
|
|
@@ -20,14 +16,12 @@ export const buildScreenTransitionOptions = (
|
|
|
20
16
|
gestureVelocityImpact: options.gestureVelocityImpact,
|
|
21
17
|
gestureSnapVelocityImpact: options.gestureSnapVelocityImpact,
|
|
22
18
|
gestureReleaseVelocityScale: options.gestureReleaseVelocityScale,
|
|
23
|
-
gestureResponseDistance: options.gestureResponseDistance,
|
|
24
|
-
gestureProgressMode: options.gestureProgressMode,
|
|
25
|
-
gestureDrivesProgress: options.gestureDrivesProgress,
|
|
26
|
-
gestureActivationArea: options.gestureActivationArea,
|
|
27
19
|
gestureSnapLocked: options.gestureSnapLocked,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
sheetSnapBehavior: options.sheetSnapBehavior,
|
|
21
|
+
sheetScrollGestureBehavior:
|
|
22
|
+
options.sheetScrollGestureBehavior !== undefined
|
|
23
|
+
? resolveSheetScrollGestureBehavior(options)
|
|
24
|
+
: undefined,
|
|
31
25
|
backdropBehavior: options.backdropBehavior,
|
|
32
26
|
};
|
|
33
27
|
};
|
|
@@ -4,6 +4,7 @@ import type {
|
|
|
4
4
|
GestureDirectionOption,
|
|
5
5
|
GestureValues,
|
|
6
6
|
} from "../../../../../types/gesture.types";
|
|
7
|
+
import type { SheetSnapBehavior } from "../../../../../types/screen.types";
|
|
7
8
|
import {
|
|
8
9
|
getPanActivationDirections,
|
|
9
10
|
getPanSnapAxisConfigForDirection,
|
|
@@ -12,6 +13,7 @@ import {
|
|
|
12
13
|
getSnapPinchDirectionConfig,
|
|
13
14
|
isResolvedPanGestureDirection,
|
|
14
15
|
} from "../../../gestures/shared/directions";
|
|
16
|
+
import { resolveStepSnapProgress } from "../../../gestures/shared/snap-points";
|
|
15
17
|
import type { SnapBounds } from "./types";
|
|
16
18
|
|
|
17
19
|
type PanProgressDelta = {
|
|
@@ -26,11 +28,14 @@ const resolvePanGestureAffectedProgress = (
|
|
|
26
28
|
gestureDirection: GestureDirectionOption,
|
|
27
29
|
hasSnapPoints: boolean,
|
|
28
30
|
snapBounds: SnapBounds | null,
|
|
31
|
+
snapPoints: number[],
|
|
32
|
+
sheetSnapBehavior: SheetSnapBehavior,
|
|
29
33
|
) => {
|
|
30
34
|
"worklet";
|
|
31
35
|
|
|
32
36
|
if (hasSnapPoints) {
|
|
33
|
-
const activeGesture =
|
|
37
|
+
const activeGesture =
|
|
38
|
+
gesture.initiator === "none" ? null : gesture.initiator;
|
|
34
39
|
const activeAxis = isResolvedPanGestureDirection(activeGesture)
|
|
35
40
|
? getPanSnapAxisConfigForDirection(
|
|
36
41
|
getPanSnapAxisDirections(gestureDirection),
|
|
@@ -45,6 +50,13 @@ const resolvePanGestureAffectedProgress = (
|
|
|
45
50
|
const axisValue =
|
|
46
51
|
activeAxis.axis === "horizontal" ? progressDelta.x : progressDelta.y;
|
|
47
52
|
const signedProgressDelta = activeAxis.config.progressSign * axisValue;
|
|
53
|
+
if (sheetSnapBehavior === "step") {
|
|
54
|
+
return resolveStepSnapProgress({
|
|
55
|
+
baseline: transitionProgress,
|
|
56
|
+
normalizedDelta: signedProgressDelta,
|
|
57
|
+
snapPoints,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
48
60
|
|
|
49
61
|
return clamp(
|
|
50
62
|
transitionProgress + signedProgressDelta,
|
|
@@ -84,6 +96,8 @@ const resolvePinchGestureAffectedProgress = (
|
|
|
84
96
|
gestureDirection: GestureDirectionOption,
|
|
85
97
|
hasSnapPoints: boolean,
|
|
86
98
|
snapBounds: SnapBounds | null,
|
|
99
|
+
snapPoints: number[],
|
|
100
|
+
sheetSnapBehavior: SheetSnapBehavior,
|
|
87
101
|
) => {
|
|
88
102
|
"worklet";
|
|
89
103
|
const pinchDirection =
|
|
@@ -107,6 +121,13 @@ const resolvePinchGestureAffectedProgress = (
|
|
|
107
121
|
snapDirections.collapse === pinchDirection
|
|
108
122
|
? -Math.abs(gesture.normScale)
|
|
109
123
|
: Math.abs(gesture.normScale);
|
|
124
|
+
if (sheetSnapBehavior === "step") {
|
|
125
|
+
return resolveStepSnapProgress({
|
|
126
|
+
baseline: transitionProgress,
|
|
127
|
+
normalizedDelta: progressDelta,
|
|
128
|
+
snapPoints,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
110
131
|
|
|
111
132
|
return clamp(
|
|
112
133
|
transitionProgress + progressDelta,
|
|
@@ -133,6 +154,8 @@ export const resolveGestureAffectedProgress = (
|
|
|
133
154
|
panProgressDelta: PanProgressDelta,
|
|
134
155
|
gestureDirection: GestureDirectionOption | undefined,
|
|
135
156
|
snapBounds: SnapBounds | null,
|
|
157
|
+
snapPoints: number[] = [],
|
|
158
|
+
sheetSnapBehavior: SheetSnapBehavior = "continuous",
|
|
136
159
|
) => {
|
|
137
160
|
"worklet";
|
|
138
161
|
const resolvedGestureDirection =
|
|
@@ -141,8 +164,8 @@ export const resolveGestureAffectedProgress = (
|
|
|
141
164
|
const hasSnapPoints = snapBounds !== null;
|
|
142
165
|
|
|
143
166
|
if (
|
|
144
|
-
gesture.
|
|
145
|
-
gesture.
|
|
167
|
+
gesture.initiator === "pinch-in" ||
|
|
168
|
+
gesture.initiator === "pinch-out" ||
|
|
146
169
|
Math.abs(gesture.normScale) > EPSILON
|
|
147
170
|
) {
|
|
148
171
|
return resolvePinchGestureAffectedProgress(
|
|
@@ -151,6 +174,8 @@ export const resolveGestureAffectedProgress = (
|
|
|
151
174
|
resolvedGestureDirection,
|
|
152
175
|
hasSnapPoints,
|
|
153
176
|
snapBounds,
|
|
177
|
+
snapPoints,
|
|
178
|
+
sheetSnapBehavior,
|
|
154
179
|
);
|
|
155
180
|
}
|
|
156
181
|
|
|
@@ -161,5 +186,7 @@ export const resolveGestureAffectedProgress = (
|
|
|
161
186
|
resolvedGestureDirection,
|
|
162
187
|
hasSnapPoints,
|
|
163
188
|
snapBounds,
|
|
189
|
+
snapPoints,
|
|
190
|
+
sheetSnapBehavior,
|
|
164
191
|
);
|
|
165
192
|
};
|
|
@@ -33,16 +33,10 @@ const mergeTransitionOptions = (
|
|
|
33
33
|
effective.gestureSnapVelocityImpact ?? base.gestureSnapVelocityImpact;
|
|
34
34
|
slot.gestureReleaseVelocityScale =
|
|
35
35
|
effective.gestureReleaseVelocityScale ?? base.gestureReleaseVelocityScale;
|
|
36
|
-
slot.gestureResponseDistance =
|
|
37
|
-
effective.gestureResponseDistance ?? base.gestureResponseDistance;
|
|
38
|
-
slot.gestureProgressMode =
|
|
39
|
-
effective.gestureProgressMode ?? base.gestureProgressMode;
|
|
40
|
-
slot.gestureDrivesProgress =
|
|
41
|
-
effective.gestureDrivesProgress ?? base.gestureDrivesProgress;
|
|
42
|
-
slot.gestureActivationArea =
|
|
43
|
-
effective.gestureActivationArea ?? base.gestureActivationArea;
|
|
44
36
|
slot.gestureSnapLocked =
|
|
45
37
|
effective.gestureSnapLocked ?? base.gestureSnapLocked;
|
|
38
|
+
slot.sheetSnapBehavior =
|
|
39
|
+
effective.sheetSnapBehavior ?? base.sheetSnapBehavior;
|
|
46
40
|
slot.sheetScrollGestureBehavior =
|
|
47
41
|
effective.sheetScrollGestureBehavior ?? base.sheetScrollGestureBehavior;
|
|
48
42
|
slot.backdropBehavior = effective.backdropBehavior ?? base.backdropBehavior;
|
|
@@ -64,6 +58,22 @@ export const hydrateTransitionState = (
|
|
|
64
58
|
s.optionsSlot,
|
|
65
59
|
);
|
|
66
60
|
const canDismiss = options.gestureEnabled !== false;
|
|
61
|
+
const resolvedSnapPoints = [...s.sortedNumericSnapPoints];
|
|
62
|
+
const resolvedAutoSnapPoint = s.hasAutoSnapPoint
|
|
63
|
+
? s.resolvedAutoSnapPoint.get()
|
|
64
|
+
: null;
|
|
65
|
+
if (resolvedAutoSnapPoint !== null) {
|
|
66
|
+
resolvedSnapPoints.push(resolvedAutoSnapPoint);
|
|
67
|
+
}
|
|
68
|
+
if (canDismiss) {
|
|
69
|
+
resolvedSnapPoints.push(0);
|
|
70
|
+
}
|
|
71
|
+
resolvedSnapPoints.sort((a, b) => a - b);
|
|
72
|
+
for (let index = resolvedSnapPoints.length - 1; index > 0; index--) {
|
|
73
|
+
if (resolvedSnapPoints[index] === resolvedSnapPoints[index - 1]) {
|
|
74
|
+
resolvedSnapPoints.splice(index, 1);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
67
77
|
out.transitionProgress = transitionProgress;
|
|
68
78
|
out.willAnimate = s.willAnimate.get();
|
|
69
79
|
out.closing = s.closing.get();
|
|
@@ -90,9 +100,7 @@ export const hydrateTransitionState = (
|
|
|
90
100
|
out.gesture.dismissing = s.gesture.dismissing.get();
|
|
91
101
|
out.gesture.dragging = s.gesture.dragging.get();
|
|
92
102
|
out.gesture.settling = s.gesture.settling.get();
|
|
93
|
-
out.gesture.
|
|
94
|
-
out.gesture.initiator = out.gesture.active ?? "none";
|
|
95
|
-
out.gesture.direction = s.gesture.direction.get();
|
|
103
|
+
out.gesture.initiator = s.gesture.initiator.get() ?? "none";
|
|
96
104
|
const handoff = out.gesture.handoff;
|
|
97
105
|
const useHandoffSnapshot = out.gesture.dismissing;
|
|
98
106
|
|
|
@@ -155,10 +163,7 @@ export const hydrateTransitionState = (
|
|
|
155
163
|
: out.gesture.raw.rotation;
|
|
156
164
|
handoff.active = useHandoffSnapshot
|
|
157
165
|
? s.gesture.internal.snapshot.active.get()
|
|
158
|
-
:
|
|
159
|
-
handoff.direction = useHandoffSnapshot
|
|
160
|
-
? s.gesture.internal.snapshot.direction.get()
|
|
161
|
-
: out.gesture.direction;
|
|
166
|
+
: s.gesture.initiator.get();
|
|
162
167
|
out.progress = resolveGestureAffectedProgress(
|
|
163
168
|
transitionProgress,
|
|
164
169
|
out.gesture,
|
|
@@ -172,6 +177,8 @@ export const hydrateTransitionState = (
|
|
|
172
177
|
s.hasAutoSnapPoint ? s.resolvedAutoSnapPoint.get() : null,
|
|
173
178
|
canDismiss,
|
|
174
179
|
),
|
|
180
|
+
resolvedSnapPoints,
|
|
181
|
+
options.sheetSnapBehavior,
|
|
175
182
|
);
|
|
176
183
|
|
|
177
184
|
if (s.visualProgress.get() !== out.progress) {
|
|
@@ -180,13 +187,7 @@ export const hydrateTransitionState = (
|
|
|
180
187
|
|
|
181
188
|
out.animating = s.progressAnimating.get();
|
|
182
189
|
|
|
183
|
-
out.gesture.normalizedX = out.gesture.normX;
|
|
184
|
-
out.gesture.normalizedY = out.gesture.normY;
|
|
185
|
-
out.gesture.isDismissing = out.gesture.dismissing;
|
|
186
|
-
out.gesture.isDragging = out.gesture.dragging;
|
|
187
|
-
|
|
188
190
|
out.settled = s.progressSettled.get();
|
|
189
|
-
out.logicallySettled = out.settled;
|
|
190
191
|
|
|
191
192
|
out.meta = s.meta;
|
|
192
193
|
out.options = options;
|
|
@@ -11,7 +11,6 @@ import type { BaseStackRoute } from "../../../../../types/stack.types";
|
|
|
11
11
|
export type BuiltState = {
|
|
12
12
|
transitionProgress: SharedValue<number>;
|
|
13
13
|
visualProgress: SharedValue<number>;
|
|
14
|
-
stackProgress: SharedValue<number>;
|
|
15
14
|
willAnimate: SharedValue<number>;
|
|
16
15
|
closing: SharedValue<number>;
|
|
17
16
|
progressAnimating: SharedValue<number>;
|