react-native-screen-transitions 4.0.0-alpha.7 → 4.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/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 +0 -1
- 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/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 +3 -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 +1 -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 +2 -2
- 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 +2 -14
- 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 +2 -2
- 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-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 +11 -24
- package/lib/commonjs/providers/screen/gestures/shared/policy.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 +1 -32
- 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 -0
- 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 +0 -1
- 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/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 +2 -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 +1 -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 +2 -2
- 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 +2 -14
- 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 +2 -2
- 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-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 +11 -24
- package/lib/module/providers/screen/gestures/shared/policy.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 +2 -33
- 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 -0
- 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/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 +0 -6
- 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.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-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-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 +4 -8
- package/lib/typescript/providers/screen/gestures/shared/policy.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 +4 -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 +0 -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/constants.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 -15
- 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 +3 -3
- 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 +4 -94
- 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 +0 -1
- 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/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 +0 -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 +1 -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 +4 -11
- package/src/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.ts +4 -3
- package/src/providers/screen/animation/helpers/hydrate-transition-state/index.ts +2 -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 +0 -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 +2 -2
- 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-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 +16 -43
- package/src/providers/screen/gestures/shared/snapshot.ts +1 -2
- package/src/providers/screen/gestures/types.ts +5 -5
- package/src/providers/screen/options/helpers.ts +0 -73
- package/src/providers/screen/options/types.ts +0 -2
- package/src/providers/screen/screen-composer.tsx +6 -6
- package/src/providers/screen/styles/constants.ts +1 -0
- 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 -79
- 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 +8 -20
- 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 +2 -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 +3 -103
- 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,11 @@ 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
|
-
sheetScrollGestureBehavior:
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
sheetScrollGestureBehavior:
|
|
21
|
+
options.sheetScrollGestureBehavior !== undefined
|
|
22
|
+
? resolveSheetScrollGestureBehavior(options)
|
|
23
|
+
: undefined,
|
|
31
24
|
backdropBehavior: options.backdropBehavior,
|
|
32
25
|
};
|
|
33
26
|
};
|
|
@@ -30,7 +30,8 @@ const resolvePanGestureAffectedProgress = (
|
|
|
30
30
|
"worklet";
|
|
31
31
|
|
|
32
32
|
if (hasSnapPoints) {
|
|
33
|
-
const activeGesture =
|
|
33
|
+
const activeGesture =
|
|
34
|
+
gesture.initiator === "none" ? null : gesture.initiator;
|
|
34
35
|
const activeAxis = isResolvedPanGestureDirection(activeGesture)
|
|
35
36
|
? getPanSnapAxisConfigForDirection(
|
|
36
37
|
getPanSnapAxisDirections(gestureDirection),
|
|
@@ -141,8 +142,8 @@ export const resolveGestureAffectedProgress = (
|
|
|
141
142
|
const hasSnapPoints = snapBounds !== null;
|
|
142
143
|
|
|
143
144
|
if (
|
|
144
|
-
gesture.
|
|
145
|
-
gesture.
|
|
145
|
+
gesture.initiator === "pinch-in" ||
|
|
146
|
+
gesture.initiator === "pinch-out" ||
|
|
146
147
|
Math.abs(gesture.normScale) > EPSILON
|
|
147
148
|
) {
|
|
148
149
|
return resolvePinchGestureAffectedProgress(
|
|
@@ -33,14 +33,6 @@ 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;
|
|
46
38
|
slot.sheetScrollGestureBehavior =
|
|
@@ -90,9 +82,7 @@ export const hydrateTransitionState = (
|
|
|
90
82
|
out.gesture.dismissing = s.gesture.dismissing.get();
|
|
91
83
|
out.gesture.dragging = s.gesture.dragging.get();
|
|
92
84
|
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();
|
|
85
|
+
out.gesture.initiator = s.gesture.initiator.get() ?? "none";
|
|
96
86
|
const handoff = out.gesture.handoff;
|
|
97
87
|
const useHandoffSnapshot = out.gesture.dismissing;
|
|
98
88
|
|
|
@@ -155,10 +145,7 @@ export const hydrateTransitionState = (
|
|
|
155
145
|
: out.gesture.raw.rotation;
|
|
156
146
|
handoff.active = useHandoffSnapshot
|
|
157
147
|
? s.gesture.internal.snapshot.active.get()
|
|
158
|
-
:
|
|
159
|
-
handoff.direction = useHandoffSnapshot
|
|
160
|
-
? s.gesture.internal.snapshot.direction.get()
|
|
161
|
-
: out.gesture.direction;
|
|
148
|
+
: s.gesture.initiator.get();
|
|
162
149
|
out.progress = resolveGestureAffectedProgress(
|
|
163
150
|
transitionProgress,
|
|
164
151
|
out.gesture,
|
|
@@ -180,13 +167,7 @@ export const hydrateTransitionState = (
|
|
|
180
167
|
|
|
181
168
|
out.animating = s.progressAnimating.get();
|
|
182
169
|
|
|
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
170
|
out.settled = s.progressSettled.get();
|
|
189
|
-
out.logicallySettled = out.settled;
|
|
190
171
|
|
|
191
172
|
out.meta = s.meta;
|
|
192
173
|
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>;
|
|
@@ -11,20 +11,21 @@ import {
|
|
|
11
11
|
createScreenTransitionState,
|
|
12
12
|
DEFAULT_SCREEN_TRANSITION_STATE,
|
|
13
13
|
} from "../../../../constants";
|
|
14
|
-
import {
|
|
14
|
+
import { AnimationStore } from "../../../../stores/animation.store";
|
|
15
15
|
import type {
|
|
16
16
|
ScreenInterpolationProps,
|
|
17
17
|
ScreenStyleInterpolator,
|
|
18
18
|
ScreenTransitionState,
|
|
19
19
|
} from "../../../../types/animation.types";
|
|
20
|
-
|
|
20
|
+
import { useBlankStackStore } from "../../../stack/blank-stack.provider";
|
|
21
|
+
import { useStackCoreStore } from "../../../stack/core.provider";
|
|
21
22
|
import { type BaseDescriptor, useDescriptorsStore } from "../../descriptors";
|
|
22
23
|
import { buildScreenTransitionOptions } from "./build-screen-transition-options";
|
|
23
24
|
import { updateDerivations } from "./derivations";
|
|
24
25
|
import { hasTransitionsEnabled } from "./has-transitions-enabled";
|
|
25
26
|
import { hydrateTransitionState } from "./hydrate-transition-state";
|
|
26
27
|
import type { SelectedInterpolatorOptions } from "./selected-interpolator-options";
|
|
27
|
-
import {
|
|
28
|
+
import { readStackProgress, type StackProgressEntry } from "./stack-progress";
|
|
28
29
|
import { useBuildTransitionState } from "./use-build-transition-state";
|
|
29
30
|
import { toPlainRoute, toPlainValue } from "./worklet";
|
|
30
31
|
|
|
@@ -83,7 +84,6 @@ const applyInitialProgress = ({
|
|
|
83
84
|
state.animating = animating;
|
|
84
85
|
state.willAnimate = willAnimate;
|
|
85
86
|
state.settled = settled;
|
|
86
|
-
state.logicallySettled = settled;
|
|
87
87
|
state.layouts.screen = dimensions;
|
|
88
88
|
|
|
89
89
|
return state;
|
|
@@ -186,7 +186,6 @@ const createInitialInterpolatorProps = ({
|
|
|
186
186
|
progress: 0,
|
|
187
187
|
transitionProgress: 0,
|
|
188
188
|
stackProgress: 0,
|
|
189
|
-
logicallySettled: 1,
|
|
190
189
|
focused: true,
|
|
191
190
|
active: current,
|
|
192
191
|
inactive: undefined,
|
|
@@ -194,7 +193,6 @@ const createInitialInterpolatorProps = ({
|
|
|
194
193
|
|
|
195
194
|
updateDerivations(frame);
|
|
196
195
|
frame.stackProgress = frame.progress;
|
|
197
|
-
frame.logicallySettled = frame.active.settled;
|
|
198
196
|
|
|
199
197
|
return frame;
|
|
200
198
|
};
|
|
@@ -212,6 +210,8 @@ const hydrateInterpolatorFrame = <TFrame extends ScreenInterpolatorFrame>({
|
|
|
212
210
|
prevAnimation,
|
|
213
211
|
nextHasTransitions,
|
|
214
212
|
interpolatorOptions,
|
|
213
|
+
stackProgressEntries,
|
|
214
|
+
currentRouteKey,
|
|
215
215
|
}: {
|
|
216
216
|
frame: TFrame;
|
|
217
217
|
dimensions: ScreenInterpolatorFrame["layouts"]["screen"];
|
|
@@ -221,6 +221,8 @@ const hydrateInterpolatorFrame = <TFrame extends ScreenInterpolatorFrame>({
|
|
|
221
221
|
prevAnimation: BuiltTransitionState | undefined;
|
|
222
222
|
nextHasTransitions: boolean;
|
|
223
223
|
interpolatorOptions: SelectedInterpolatorOptions;
|
|
224
|
+
stackProgressEntries: readonly StackProgressEntry[];
|
|
225
|
+
currentRouteKey: string;
|
|
224
226
|
}): TFrame => {
|
|
225
227
|
"worklet";
|
|
226
228
|
const shouldApplyOptionsToCurrent = interpolatorOptions.owner === "current";
|
|
@@ -228,12 +230,6 @@ const hydrateInterpolatorFrame = <TFrame extends ScreenInterpolatorFrame>({
|
|
|
228
230
|
interpolatorOptions.owner === "next" &&
|
|
229
231
|
!!nextAnimation &&
|
|
230
232
|
nextHasTransitions;
|
|
231
|
-
const previousCurrentProgress = currentAnimation?.visualProgress.get();
|
|
232
|
-
const previousNextProgress =
|
|
233
|
-
nextAnimation && nextHasTransitions
|
|
234
|
-
? nextAnimation.visualProgress.get()
|
|
235
|
-
: undefined;
|
|
236
|
-
|
|
237
233
|
frame.previous = prevAnimation
|
|
238
234
|
? hydrateTransitionState(prevAnimation, dimensions)
|
|
239
235
|
: undefined;
|
|
@@ -260,33 +256,38 @@ const hydrateInterpolatorFrame = <TFrame extends ScreenInterpolatorFrame>({
|
|
|
260
256
|
|
|
261
257
|
updateDerivations(frame);
|
|
262
258
|
|
|
263
|
-
frame.stackProgress =
|
|
264
|
-
|
|
259
|
+
frame.stackProgress = readStackProgress(
|
|
260
|
+
stackProgressEntries,
|
|
261
|
+
currentRouteKey,
|
|
265
262
|
frame.progress,
|
|
266
|
-
frame.current.progress,
|
|
267
|
-
previousCurrentProgress,
|
|
268
|
-
frame.next?.progress,
|
|
269
|
-
previousNextProgress,
|
|
270
263
|
);
|
|
271
|
-
frame.logicallySettled = frame.active.settled;
|
|
272
264
|
|
|
273
265
|
return frame;
|
|
274
266
|
};
|
|
275
267
|
|
|
276
268
|
export function useScreenAnimationPipeline(): ScreenAnimationPipeline {
|
|
277
|
-
const transitionsAlwaysOn =
|
|
278
|
-
(
|
|
269
|
+
const transitionsAlwaysOn = useStackCoreStore(
|
|
270
|
+
(store) => store.flags.TRANSITIONS_ALWAYS_ON,
|
|
279
271
|
);
|
|
272
|
+
const routeKeys = useBlankStackStore((store) => store.routeKeys);
|
|
280
273
|
const dimensions = useWindowDimensions();
|
|
281
274
|
const insets = useSafeAreaInsets();
|
|
275
|
+
const stackProgressEntries = useMemo(
|
|
276
|
+
() =>
|
|
277
|
+
routeKeys.map((routeKey) => ({
|
|
278
|
+
routeKey,
|
|
279
|
+
visualProgress: AnimationStore.getValue(routeKey, "visualProgress"),
|
|
280
|
+
})),
|
|
281
|
+
[routeKeys],
|
|
282
|
+
);
|
|
282
283
|
|
|
283
284
|
const currDescriptor = useDescriptorsStore((store) => store.current);
|
|
284
285
|
const nextDescriptor = useDescriptorsStore((store) => store.next);
|
|
285
286
|
const prevDescriptor = useDescriptorsStore((store) => store.previous);
|
|
286
|
-
|
|
287
287
|
const currentAnimation = useBuildTransitionState(currDescriptor);
|
|
288
288
|
const nextAnimation = useBuildTransitionState(nextDescriptor);
|
|
289
289
|
const prevAnimation = useBuildTransitionState(prevDescriptor);
|
|
290
|
+
const currentRouteKey = currDescriptor.route.key;
|
|
290
291
|
|
|
291
292
|
const nextRouteKey = nextDescriptor?.route?.key;
|
|
292
293
|
const nextHasTransitions =
|
|
@@ -326,15 +327,13 @@ export function useScreenAnimationPipeline(): ScreenAnimationPipeline {
|
|
|
326
327
|
prevAnimation,
|
|
327
328
|
nextHasTransitions,
|
|
328
329
|
interpolatorOptions,
|
|
330
|
+
stackProgressEntries,
|
|
331
|
+
currentRouteKey,
|
|
329
332
|
});
|
|
330
333
|
}, false);
|
|
331
334
|
|
|
332
|
-
//
|
|
333
|
-
//
|
|
334
|
-
// `screenInterpolatorProps` is mutated in place to avoid allocating a large
|
|
335
|
-
// interpolator frame every tick. Consumers must read this revision before
|
|
336
|
-
// reading `screenInterpolatorProps`, otherwise Reanimated may not subscribe
|
|
337
|
-
// to frame updates and can observe stale transition state.
|
|
335
|
+
// `screenInterpolatorProps` is mutated in place. Consumers read this
|
|
336
|
+
// revision first so Reanimated subscribes to the hydrated frame.
|
|
338
337
|
propsRevisionState.modify((revision) => {
|
|
339
338
|
"worklet";
|
|
340
339
|
revision.value += 1;
|
|
@@ -345,7 +344,7 @@ export function useScreenAnimationPipeline(): ScreenAnimationPipeline {
|
|
|
345
344
|
});
|
|
346
345
|
|
|
347
346
|
const nextInterpolator = nextDescriptor?.options.screenStyleInterpolator;
|
|
348
|
-
const currentInterpolator = currDescriptor
|
|
347
|
+
const currentInterpolator = currDescriptor.options.screenStyleInterpolator;
|
|
349
348
|
|
|
350
349
|
return {
|
|
351
350
|
screenInterpolatorProps,
|